From ok@atlas.otago.ac.nz Wed May  9 23:00:21 2001
Received: from atlas.otago.ac.nz (atlas.otago.ac.nz [139.80.32.250])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f49L0J317393
	for <prolog@swi.psy.uva.nl>; Wed, 9 May 2001 23:00:19 +0200 (MET DST)
Received: (from ok@localhost)
	by atlas.otago.ac.nz (8.9.3/8.9.3) id JAA268531;
	Thu, 10 May 2001 09:00:08 +1200 (NZST)
Date: Thu, 10 May 2001 09:00:08 +1200 (NZST)
From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
Message-Id: <200105092100.JAA268531@atlas.otago.ac.nz>
To: joao.mariz@mail.ineti.pt, prolog@swi.psy.uva.nl
Subject: Re:  [SWIPL] That must be because of a Standard

	?- assert(my_predicate_with_zero('Yes sure', 0.0)).
	

	?- my_predicate_with_zero(X,  0).
	
=> no

The reason is simple:  SWI Prolog ***correctly*** regards 0.0 and 0
as different objects.  They do not behave the same, so it would be
very VERY wrong to unify them.  For more information on how numbers
behave, see the IEEE 754 standard, or better the LIA-1 standard.
Amongst other things, -0.0 is not the same object as 0.0,
but -0 IS the same object as 0.

