TPTP Axioms File: PUZ002-0.ax


%--------------------------------------------------------------------------
% File     : PUZ002-0 : TPTP v9.0.0. Released v1.0.0.
% Domain   : Puzzles (Truthtellers and Liars)
% Axioms   : Truthtellers and Liars axioms for two types of people
% Version  : [LO85] axioms.
% English  : Axioms for two types of people; truthtellers and liars.

% Refs     : [Smu78] Smullyan (1978), What is the name of this book?-The ri
%          : [LO85]  Lusk & Overbeek (1985), Non-Horn Problems
% Source   : [LO85]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of clauses     :    6 (   0 unt;   2 nHn;   5 RR)
%            Number of literals    :   16 (   0 equ;  10 neg)
%            Maximal clause size   :    3 (   2 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :    1 (   1 usr;   0 prp; 1-1 aty)
%            Number of functors    :    3 (   3 usr;   0 con; 1-2 aty)
%            Number of variables   :   10 (   0 sgn)
% SPC      : 

% Comments :
%--------------------------------------------------------------------------
cnf(truthteller_or_liar,axiom,
    ( a_truth(truthteller(X))
    | a_truth(liar(X)) ) ).

cnf(not_both,axiom,
    ( ~ a_truth(truthteller(X))
    | ~ a_truth(liar(X)) ) ).

cnf(truthtellers_tell_truth,axiom,
    ( ~ a_truth(truthteller(Truthteller))
    | ~ a_truth(says(Truthteller,Statement))
    | a_truth(Statement) ) ).

cnf(liars_lie,axiom,
    ( ~ a_truth(liar(Liar))
    | ~ a_truth(says(Liar,Statement))
    | ~ a_truth(Statement) ) ).

cnf(truths_are_told_by_truthtellers,axiom,
    ( ~ a_truth(Statement)
    | ~ a_truth(says(Truthteller,Statement))
    | a_truth(truthteller(Truthteller)) ) ).

cnf(liars_are_told_by_liars,axiom,
    ( a_truth(Statement)
    | ~ a_truth(says(Liar,Statement))
    | a_truth(liar(Liar)) ) ).

%--------------------------------------------------------------------------