TPTP Axioms File: PUZ002-0.ax


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

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