Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!bradley From: bradley@cs.utexas.edu (Bradley L. Richards) Newsgroups: comp.lang.prolog Subject: '->' operator Message-ID: <291@valverde.cs.utexas.edu> Date: 3 Jan 91 22:26:08 GMT Organization: Dept of Computer Sciences, UTexas, Austin Lines: 21 I have a (probably silly) question regarding the '->' operator in Quintus. Suppose I say Condition -> Predicate If the condition is true, the predicate will execute. Fine. If the condition is true and the predicate fails, the whole conditional fails. This makes sense since logically (true -> false) is false. If the condition is true and the predicate is true, the whole thing succeeds. This makes sense since (true -> true) is true. BUT if the conditional is false, the ugly little beastie fails--this doesn't make sense since logically (false -> anything) is *true*. Why is this implemented the way it is? Thanks, Bradley bradley@cs.utexas.edu