TPTP Axioms File: PUZ003-0.ax
%--------------------------------------------------------------------------
% File : PUZ003-0 : TPTP v9.0.0. Released v1.0.0.
% Domain : Puzzles (Truthtellers and Liars)
% Axioms : Truthtellers and Liars axioms for three types of people
% Version : [ANL] axioms.
% English : Axioms for three types of people; truthtellers, liars and
% normal people.
% Refs : [Smu78] Smullyan (1978), What is the name of this book?-The ri
% Source : [ANL]
% Names :
% Status : Satisfiable
% Syntax : Number of clauses : 8 ( 0 unt; 3 nHn; 7 RR)
% Number of literals : 23 ( 0 equ; 14 neg)
% Maximal clause size : 4 ( 2 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of predicates : 1 ( 1 usr; 0 prp; 1-1 aty)
% Number of functors : 4 ( 4 usr; 0 con; 1-2 aty)
% Number of variables : 12 ( 0 sgn)
% SPC :
% Comments :
%--------------------------------------------------------------------------
%-----The next 4 clauses says that a person is one thing
cnf(person_is_one_type,axiom,
( a_truth(truthteller(X))
| a_truth(liar(X))
| a_truth(normal(X)) ) ).
cnf(not_truthteller_and_normal,axiom,
( ~ a_truth(truthteller(X))
| ~ a_truth(normal(X)) ) ).
cnf(not_truthteller_and_liar,axiom,
( ~ a_truth(truthteller(X))
| ~ a_truth(liar(X)) ) ).
cnf(not_liar_and_normal,axiom,
( ~ a_truth(liar(X))
| ~ a_truth(normal(X)) ) ).
cnf(truthtellers_tell_truth,axiom,
( ~ a_truth(truthteller(X))
| ~ a_truth(says(X,Y))
| a_truth(Y) ) ).
cnf(liars_lie,axiom,
( ~ a_truth(liar(X))
| ~ a_truth(says(X,Y))
| ~ a_truth(Y) ) ).
cnf(truthtellers_and_normal_tell_truth,axiom,
( ~ a_truth(X)
| ~ a_truth(says(Y,X))
| a_truth(truthteller(Y))
| a_truth(normal(Y)) ) ).
cnf(liars_and_normal_lie,axiom,
( a_truth(X)
| ~ a_truth(says(Y,X))
| a_truth(liar(Y))
| a_truth(normal(Y)) ) ).
%--------------------------------------------------------------------------