summaryrefslogtreecommitdiff
path: root/test/regress/regress0/tptp/tff0.p
blob: 0402687bc940ba8925748718494b7a92f4a0f62c (plain)
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
32
33
34
35
36
37
% example from the TFF0 paper
% see https://sites.google.com/site/polymorphictptptff/relevant-links/tff-tfa
%
% Status : Theorem
%
tff(student_type,type, ( student: $tType )).
tff(professor_type,type,( professor: $tType )).
tff(course_type,type, ( course: $tType )).
tff(michael_type,type, ( michael: student )).
tff(victor_type,type, ( victor: professor )).
tff(csc410_type,type, ( csc410: course )).
tff(enrolled_type,type, ( enrolled: ( student * course ) > $o )).
tff(teaches_type,type, ( teaches: ( professor * course ) > $o )).
tff(taught_by_type,type,( taughtby: ( student * professor ) > $o )).
tff(coordinator_of_type,type,( coordinatorof: course > professor )).

tff(student_enrolled_axiom,axiom,(
    ! [X: student] : ? [Y: course] : enrolled(X,Y) )).
tff(professor_teaches,axiom,(
    ! [X: professor] : ? [Y: course] : teaches(X,Y) )).
tff(course_enrolled,axiom,(
    ! [X: course] : ? [Y: student] : enrolled(Y,X) )).
tff(course_teaches,axiom,(
    ! [X: course] : ? [Y: professor] : teaches(Y,X) )).
tff(coordinator_teaches,axiom,(
    ! [X: course] : teaches(coordinatorof(X),X) )).
tff(student_enrolled_taught,axiom,(
    ! [X: student,Y: course] :
      ( enrolled(X,Y)
     => ! [Z: professor] : ( teaches(Z,Y) => taughtby(X,Z) ) ) )).
tff(michael_enrolled_csc410_axiom,axiom,(
    enrolled(michael,csc410) )).
tff(victor_coordinator_csc410_axiom,axiom,(
    coordinatorof(csc410) = victor )).

tff(teaching_conjecture,conjecture,(
    taughtby(michael,victor) )).
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback