(note TQG39) ;; boolean version ;; Predicate introduction. (instance transitiveTestPred39-1 BinaryPredicate) (instance transitiveTestPred39-1 TransitiveRelation) (domain transitiveTestPred39-1 1 Object) (domain transitiveTestPred39-1 2 Object) (instance Entity39-1 Object) (instance Entity39-2 Object) (instance Entity39-3 Object) (transitiveTestPred39-1 Entity39-1 Entity39-2) (transitiveTestPred39-1 Entity39-2 Entity39-3) (transitiveTestPred39-1 Entity39-3 Entity39-4) (query (transitiveTestPred39-1 Entity39-1 Entity39-4)) (answer yes) ;; This test fails when pred var instantiation == yes, because ;; transitiveTestPred39-1 is being defined by entering statements via ;; KB.tell() *after* the rule that defines TransitiveRelation has ;; already been instantiated. We do not preprocess the entire KB with ;; each call to KB.tell(). The test would work if Sigma were ;; restarted (forcing the user assertions file to be reprocessed with ;; the other constituent files, hence including transitiveTestPred39-1 ;; in the pred var instantiation of the transitivity rule), or if the ;; KB were translated with holds prefixing rather than with pred var ;; instantiation.