why [Macro]


Purpose

The why macro generates a top-level explanation (in English) of the support for the truth of a given premise.

Syntax

why premise

Arguments

The why macro is syntactically identical to ask. Its premise argument is a restricted query-forming expression (see ask Remarks), which currently must have the form \mbox{(conceptName instanceId)}.

Value

The why macro returns nil.

Remarks

The Loom explanation facility will be substantially expanded in the future. It is currently limited to queries about the type of an instance. It prints ``Sorry, I should know but I don't'' if the query goes beyond the implemented explanation capability.

Examples

(why (Woman Sue)) --> 

  SUE is an instance of the concept WOMAN because:

    SUE fills the role WIFE attached to the instance FRED; and 
    The range of relation WIFE is WOMAN.

  NIL

See Also

Last modified: Jun 1 1995