Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!uunet!newsflash.concordia.ca!news.mcgill.ca!DMI.USherb.CA!clouso.crim.ca!IRO.UMontreal.CA!tarau
From: tarau@IRO.UMontreal.CA (Paul Tarau)
Subject: Re: Otherwise?
Message-ID: <D4H66K.291@IRO.UMontreal.CA>
Sender: news@IRO.UMontreal.CA
Organization: Universite de Moncton, Canada
References: <D3x65E.JED@uceng.uc.edu> <3i1888$q7c@goanna.cs.rmit.edu.au> <9505502.26941@mulga.cs.mu.OZ.AU>
Date: Thu, 23 Feb 1995 22:51:55 GMT
Lines: 34

In article <9505502.26941@mulga.cs.mu.OZ.AU> fjh@munta.cs.mu.OZ.AU (Fergus Henderson) writes:
>ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) writes:
>
>>... NU Prolog ... interprets a solo
>>(a -> b) as (a -> b ; true) -- a truly strange, not to say dangerous, choice --
>
>Well, you can certainly call it dangerous, but I don't think it's
>fair to call it strange.  NU-Prolog's meaning is the one you would
>expect for mathematical implication (except that it doesn't delay).

A->B has little to do with material implication.

It means:

  if you can construct a proof for A
  then you get payed only if you can construct one for B

with the reasonable implicit assumption that if you fail
to do it for A you will not get payed at all.

It's very much subject to `reversal of fortune' to change what
programmers do following their intuitions, for a construct which, at a
first sight, looks closer to logic.  It reminds me the popular
superstition that replacing butter with margarine helps staying in good
health (well, I may be wrong on the example :-)).

Paul Tarau







