-
Notifications
You must be signed in to change notification settings - Fork 74
/
Copy pathTQG39.kif.tq
32 lines (24 loc) · 1.15 KB
/
TQG39.kif.tq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(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.