Subject: Need help in a not unifyable

From: "Marcos Rebelo" <[email-masked]>
Date: Tue, 16 May 2000 08:20:12 +0100

This is part of a code that I´m doing, when i try check(A,B) prolog gives
no answer, the problem must be in the \== but I have alredy tried \=@=, \=,
=\= and none worked.

For example if I try to do "c \== _ cf _" gives NO but "c == _ cf _" also
gives no. What is the problem here?

:-op(950, xfx, cf).
:-op(900, xfx, =>).

:-dynamic(cf / 2).
:-dynamic(=> / 2).

fact(a cf 0.4).
fact(b cf 0.3).
fact(c).
fact(d(b)).
fact(d(a) cf 0.8).
fact(d(e) cf 0.4).
fact(c => d(c)).
fact(d(a) => d(d) cf 0.9).

:-dynamic(fact / 1).

check(A, 1.0):-
	fact(A),
	A \== _ cf _,
	A \== _ => _.

check(A,B):-
	fact(A cf B),
	A \== _ => _.

check(A,X):-
	fact(B => A cf Xc),
	check(B,Xb),
	Xb>0,
	X is Xb * Xc.

thanks
MArcos