retract/1

retract(Fact)

Remove facts from the internal database.

Remarks

retract/1 deletes the first Fact in the database that matches the given Fact. During backtracking, the rest of the matching facts are deleted. The Fact is matched with the facts in the database, which means that any free variables will be bound in the call to retract.

Fail

When there are no more matches.

Example

fact1(1,"fact1",[1,2,3]).

fact1(2,"fact2",[1,3]).

fact1(3,"fact2",[3,2,1]).

fact2(1,"one").

fact2(1,"one once more").

fact2(2,"two").

-------- Dialog --------

fact1(X,Y,Z)

X=1, Y=fact1, Z=[1,2,3]

X=2, Y=fact2, Z=[1,3]

X=3, Y=fact2, Z=[3,2,1]

3 Solutions

retract(fact1(X,Y,[_,2|Z]))

X=1, Y=fact1, Z=[3]

X=3, Y=fact2, Z=[1]

2 Solutions

retract(fact1(X,Y,Z))

X=2, Y=fact2, Z=[1,3]

1 Solution

fact1(X,Y,Z)

No Solution

retract(fact2(1,X))

X=one

X=one once more

2 Solutions