Deleting an Assertion

To remove an assertion, display it and simply click on [Unassert]. An FI-UNASSERT operation is immediately added to the local queue and the interface displays a page confirming the action.

Try deleting (#$isa <your constant> #$Zoologist), then reload your constant and verify that the deletion occured.

You will also see the command [Blast], which will queue an operation calling FI-BLAST on the assertion. FI-BLAST is typically used only by experienced cyclists, but it is documented here for completeness.

For an assertion which was directly entered into the KB (by FI-ASSERT or some comparable operation), FI-BLAST achieves the same result as FI-UNASSERT: the assertion is removed from the KB.

But FI-BLAST can also remove propositions which result from inference. (FI-BLAST P), where P is some proposition, removes both P and its supports, the internal structures describing the logical arguments which conclude P. In short, "blasting" an assertion P is guaranteed to change the KB to a state where P is not known to be true. It does not, however, remove any other propositions from the KB, so P may still be implicit in the KB. For example, consider the following situation


     (#$citizenOf #$Fred #$France)
     (#$implies (#$citizenOf ?X #$France) 
                       (#$feelsTowardObject ?X #$EiffelTower #$Pride))

from which

     (#$feelsTowardObject #$Fred #$EiffelTower #$Pride)

was concluded. If we blast that conclusion, it does not remove either of the two propositions which led to it. An appropriate query, such as asking


     (#$feelsTowardsObject #$Fred #$EiffelTower ?X)

should draw the same conclusion again.

[Blast] should be used with caution. It is sometimes useful in recovering from invalid states. Or you might want to undo the conclusions resulting from asking a query that invoked backwards inference.