Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!ji.Berkeley.EDU!vanroy From: vanroy@ji.Berkeley.EDU (Peter Van Roy) Newsgroups: comp.lang.prolog Subject: A question on semantics and program transformation Message-ID: <26045@ucbvax.BERKELEY.EDU> Date: 11 Sep 88 17:31:20 GMT Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: vanroy@ji.Berkeley.EDU (Peter Van Roy) Organization: University of California, Berkeley Lines: 28 Is it allowable for a program transformation to change the procedural semantics of a program while retaining the declarative semantics? For example, consider the predicate defined by the following two clauses: :-mode(max(input,input,output)). max(A, B, A) :- A>=B. max(A, B, B) :- A=B. max(A, B, B) :- A=B, !. max(A, B, B) :- A=