%-------------------------------------------------------------------------- % File : PUZ003-0 : TPTP v7.2.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 ( 3 non-Horn; 0 unit; 7 RR) % Number of atoms : 23 ( 0 equality) % Maximal clause size : 4 ( 3 average) % Number of predicates : 1 ( 0 propositional; 1-1 arity) % Number of functors : 4 ( 0 constant; 1-2 arity) % Number of variables : 12 ( 0 singleton) % Maximal term depth : 2 ( 2 average) % 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)) )). %--------------------------------------------------------------------------