TSTP Solution File: PUZ021-1 by Metis---2.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Metis---2.4
% Problem  : PUZ021-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : metis --show proof --show saturation %s

% Computer : n017.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Mon Jul 18 18:20:38 EDT 2022

% Result   : Unsatisfiable 48.16s 48.35s
% Output   : CNFRefutation 48.16s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :    9
% Syntax   : Number of clauses     :   63 (  10 unt;  28 nHn;  35 RR)
%            Number of literals    :  128 (   0 equ;  48 neg)
%            Maximal clause size   :    3 (   2 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    3 (   2 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   1 con; 0-2 aty)
%            Number of variables   :   79 (   8 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(knight_or_knave,axiom,
    ( a_truth(knight(X),Y)
    | a_truth(knave(X),Y) ) ).

cnf(not_rich_and_poor,axiom,
    ( ~ a_truth(rich(X),Y)
    | ~ a_truth(poor(X),Y) ) ).

cnf(knights_tell_truth1,axiom,
    ( ~ a_truth(knight(X),Z)
    | ~ says(X,Y)
    | a_truth(Y,Z) ) ).

cnf(knaves_lie1,axiom,
    ( ~ a_truth(knave(X),Z)
    | ~ says(X,Y)
    | ~ a_truth(Y,Z) ) ).

cnf(knaves_lie2,axiom,
    ( ~ a_truth(knave(X),Z)
    | says(X,Y)
    | a_truth(Y,Z) ) ).

cnf(conjunction1,axiom,
    ( ~ a_truth(and(X,Y),Z)
    | a_truth(X,Z) ) ).

cnf(conjunction2,axiom,
    ( ~ a_truth(and(X,Y),Z)
    | a_truth(Y,Z) ) ).

cnf(prove_statement_exists1,negated_conjecture,
    ( ~ says(me,X)
    | ~ a_truth(and(knave(me),rich(me)),X) ) ).

cnf(prove_statement_exists2,negated_conjecture,
    ( says(me,X)
    | a_truth(and(knave(me),rich(me)),X) ) ).

cnf(refute_0_0,plain,
    ( ~ a_truth(poor(me),X_28)
    | ~ a_truth(rich(me),X_28) ),
    inference(subst,[],[not_rich_and_poor:[bind(X,$fot(me)),bind(Y,$fot(X_28))]]) ).

cnf(refute_0_1,plain,
    ( a_truth(and(knave(me),rich(me)),X_27)
    | says(me,X_27) ),
    inference(subst,[],[prove_statement_exists2:[bind(X,$fot(X_27))]]) ).

cnf(refute_0_2,plain,
    ( ~ a_truth(and(knave(me),rich(me)),X_27)
    | a_truth(rich(me),X_27) ),
    inference(subst,[],[conjunction2:[bind(X,$fot(knave(me))),bind(Y,$fot(rich(me))),bind(Z,$fot(X_27))]]) ).

cnf(refute_0_3,plain,
    ( a_truth(rich(me),X_27)
    | says(me,X_27) ),
    inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),X_27) )],[refute_0_1,refute_0_2]) ).

cnf(refute_0_4,plain,
    ( a_truth(rich(me),X_28)
    | says(me,X_28) ),
    inference(subst,[],[refute_0_3:[bind(X_27,$fot(X_28))]]) ).

cnf(refute_0_5,plain,
    ( ~ a_truth(poor(me),X_28)
    | says(me,X_28) ),
    inference(resolve,[$cnf( a_truth(rich(me),X_28) )],[refute_0_4,refute_0_0]) ).

cnf(refute_0_6,plain,
    ( ~ a_truth(poor(me),and(knight(me),X_122))
    | says(me,and(knight(me),X_122)) ),
    inference(subst,[],[refute_0_5:[bind(X_28,$fot(and(knight(me),X_122)))]]) ).

cnf(refute_0_7,plain,
    ( ~ a_truth(and(X,Y),and(X,Y))
    | a_truth(X,and(X,Y)) ),
    inference(subst,[],[conjunction1:[bind(Z,$fot(and(X,Y)))]]) ).

cnf(refute_0_8,plain,
    ( a_truth(and(knave(me),rich(me)),X_21)
    | says(me,X_21) ),
    inference(subst,[],[prove_statement_exists2:[bind(X,$fot(X_21))]]) ).

cnf(refute_0_9,plain,
    ( ~ a_truth(and(knave(me),rich(me)),X_21)
    | a_truth(knave(me),X_21) ),
    inference(subst,[],[conjunction1:[bind(X,$fot(knave(me))),bind(Y,$fot(rich(me))),bind(Z,$fot(X_21))]]) ).

cnf(refute_0_10,plain,
    ( a_truth(knave(me),X_21)
    | says(me,X_21) ),
    inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),X_21) )],[refute_0_8,refute_0_9]) ).

cnf(refute_0_11,plain,
    ( a_truth(knave(me),X_58)
    | says(me,X_58) ),
    inference(subst,[],[refute_0_10:[bind(X_21,$fot(X_58))]]) ).

cnf(refute_0_12,plain,
    ( ~ a_truth(knave(me),X_58)
    | a_truth(X_57,X_58)
    | says(me,X_57) ),
    inference(subst,[],[knaves_lie2:[bind(X,$fot(me)),bind(Y,$fot(X_57)),bind(Z,$fot(X_58))]]) ).

cnf(refute_0_13,plain,
    ( a_truth(X_57,X_58)
    | says(me,X_57)
    | says(me,X_58) ),
    inference(resolve,[$cnf( a_truth(knave(me),X_58) )],[refute_0_11,refute_0_12]) ).

cnf(refute_0_14,plain,
    ( a_truth(and(X,Y),and(X,Y))
    | says(me,and(X,Y)) ),
    inference(subst,[],[refute_0_13:[bind(X_57,$fot(and(X,Y))),bind(X_58,$fot(and(X,Y)))]]) ).

cnf(refute_0_15,plain,
    ( a_truth(X,and(X,Y))
    | says(me,and(X,Y)) ),
    inference(resolve,[$cnf( a_truth(and(X,Y),and(X,Y)) )],[refute_0_14,refute_0_7]) ).

cnf(refute_0_16,plain,
    ( a_truth(knight(me),and(knight(me),Y))
    | says(me,and(knight(me),Y)) ),
    inference(subst,[],[refute_0_15:[bind(X,$fot(knight(me)))]]) ).

cnf(refute_0_17,plain,
    ( ~ a_truth(knight(me),Z)
    | ~ says(me,poor(me))
    | a_truth(poor(me),Z) ),
    inference(subst,[],[knights_tell_truth1:[bind(X,$fot(me)),bind(Y,$fot(poor(me)))]]) ).

cnf(refute_0_18,plain,
    ( ~ a_truth(poor(me),poor(me))
    | says(me,poor(me)) ),
    inference(subst,[],[refute_0_5:[bind(X_28,$fot(poor(me)))]]) ).

cnf(refute_0_19,plain,
    ( a_truth(poor(me),poor(me))
    | says(me,poor(me)) ),
    inference(subst,[],[refute_0_13:[bind(X_57,$fot(poor(me))),bind(X_58,$fot(poor(me)))]]) ).

cnf(refute_0_20,plain,
    says(me,poor(me)),
    inference(resolve,[$cnf( a_truth(poor(me),poor(me)) )],[refute_0_19,refute_0_18]) ).

cnf(refute_0_21,plain,
    ( ~ a_truth(knight(me),Z)
    | a_truth(poor(me),Z) ),
    inference(resolve,[$cnf( says(me,poor(me)) )],[refute_0_20,refute_0_17]) ).

cnf(refute_0_22,plain,
    ( ~ a_truth(knight(me),and(knight(me),Y))
    | a_truth(poor(me),and(knight(me),Y)) ),
    inference(subst,[],[refute_0_21:[bind(Z,$fot(and(knight(me),Y)))]]) ).

cnf(refute_0_23,plain,
    ( a_truth(poor(me),and(knight(me),Y))
    | says(me,and(knight(me),Y)) ),
    inference(resolve,[$cnf( a_truth(knight(me),and(knight(me),Y)) )],[refute_0_16,refute_0_22]) ).

cnf(refute_0_24,plain,
    ( a_truth(poor(me),and(knight(me),X_122))
    | says(me,and(knight(me),X_122)) ),
    inference(subst,[],[refute_0_23:[bind(Y,$fot(X_122))]]) ).

cnf(refute_0_25,plain,
    says(me,and(knight(me),X_122)),
    inference(resolve,[$cnf( a_truth(poor(me),and(knight(me),X_122)) )],[refute_0_24,refute_0_6]) ).

cnf(refute_0_26,plain,
    says(me,and(knight(me),knave(me))),
    inference(subst,[],[refute_0_25:[bind(X_122,$fot(knave(me)))]]) ).

cnf(refute_0_27,plain,
    ( ~ a_truth(and(knave(me),rich(me)),and(X_206,knave(me)))
    | ~ says(me,and(X_206,knave(me))) ),
    inference(subst,[],[prove_statement_exists1:[bind(X,$fot(and(X_206,knave(me))))]]) ).

cnf(refute_0_28,plain,
    ( ~ a_truth(knave(me),and(X_62,knave(me)))
    | a_truth(Y,and(X_62,knave(me)))
    | says(me,Y) ),
    inference(subst,[],[knaves_lie2:[bind(X,$fot(me)),bind(Z,$fot(and(X_62,knave(me))))]]) ).

cnf(refute_0_29,plain,
    ( ~ a_truth(and(X,Y),and(X,Y))
    | a_truth(Y,and(X,Y)) ),
    inference(subst,[],[conjunction2:[bind(Z,$fot(and(X,Y)))]]) ).

cnf(refute_0_30,plain,
    ( a_truth(knave(X_44),X_46)
    | a_truth(knight(X_44),X_46) ),
    inference(subst,[],[knight_or_knave:[bind(X,$fot(X_44)),bind(Y,$fot(X_46))]]) ).

cnf(refute_0_31,plain,
    ( ~ a_truth(knight(X_44),X_46)
    | ~ says(X_44,X_45)
    | a_truth(X_45,X_46) ),
    inference(subst,[],[knights_tell_truth1:[bind(X,$fot(X_44)),bind(Y,$fot(X_45)),bind(Z,$fot(X_46))]]) ).

cnf(refute_0_32,plain,
    ( ~ says(X_44,X_45)
    | a_truth(X_45,X_46)
    | a_truth(knave(X_44),X_46) ),
    inference(resolve,[$cnf( a_truth(knight(X_44),X_46) )],[refute_0_30,refute_0_31]) ).

cnf(refute_0_33,plain,
    ( ~ says(me,X_59)
    | a_truth(X_59,X_46)
    | a_truth(knave(me),X_46) ),
    inference(subst,[],[refute_0_32:[bind(X_44,$fot(me)),bind(X_45,$fot(X_59))]]) ).

cnf(refute_0_34,plain,
    ( a_truth(X_59,X_59)
    | says(me,X_59) ),
    inference(subst,[],[refute_0_13:[bind(X_57,$fot(X_59)),bind(X_58,$fot(X_59))]]) ).

cnf(refute_0_35,plain,
    ( a_truth(X_59,X_46)
    | a_truth(X_59,X_59)
    | a_truth(knave(me),X_46) ),
    inference(resolve,[$cnf( says(me,X_59) )],[refute_0_34,refute_0_33]) ).

cnf(refute_0_36,plain,
    ( a_truth(and(X,Y),and(X,Y))
    | a_truth(knave(me),and(X,Y)) ),
    inference(subst,[],[refute_0_35:[bind(X_46,$fot(and(X,Y))),bind(X_59,$fot(and(X,Y)))]]) ).

cnf(refute_0_37,plain,
    ( a_truth(Y,and(X,Y))
    | a_truth(knave(me),and(X,Y)) ),
    inference(resolve,[$cnf( a_truth(and(X,Y),and(X,Y)) )],[refute_0_36,refute_0_29]) ).

cnf(refute_0_38,plain,
    a_truth(knave(me),and(X_62,knave(me))),
    inference(subst,[],[refute_0_37:[bind(X,$fot(X_62)),bind(Y,$fot(knave(me)))]]) ).

cnf(refute_0_39,plain,
    ( a_truth(Y,and(X_62,knave(me)))
    | says(me,Y) ),
    inference(resolve,[$cnf( a_truth(knave(me),and(X_62,knave(me))) )],[refute_0_38,refute_0_28]) ).

cnf(refute_0_40,plain,
    ( a_truth(and(knave(me),rich(me)),and(X_206,knave(me)))
    | says(me,and(knave(me),rich(me))) ),
    inference(subst,[],[refute_0_39:[bind(Y,$fot(and(knave(me),rich(me)))),bind(X_62,$fot(X_206))]]) ).

cnf(refute_0_41,plain,
    ( ~ says(me,and(X_206,knave(me)))
    | says(me,and(knave(me),rich(me))) ),
    inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),and(X_206,knave(me))) )],[refute_0_40,refute_0_27]) ).

cnf(refute_0_42,plain,
    ( a_truth(and(knave(me),rich(me)),knave(me))
    | says(me,knave(me)) ),
    inference(subst,[],[prove_statement_exists2:[bind(X,$fot(knave(me)))]]) ).

cnf(refute_0_43,plain,
    ( ~ a_truth(Y,knave(me))
    | ~ a_truth(knave(me),knave(me))
    | ~ says(me,Y) ),
    inference(subst,[],[knaves_lie1:[bind(X,$fot(me)),bind(Z,$fot(knave(me)))]]) ).

cnf(refute_0_44,plain,
    a_truth(knave(me),knave(me)),
    inference(subst,[],[refute_0_35:[bind(X_46,$fot(knave(me))),bind(X_59,$fot(knave(me)))]]) ).

cnf(refute_0_45,plain,
    ( ~ a_truth(Y,knave(me))
    | ~ says(me,Y) ),
    inference(resolve,[$cnf( a_truth(knave(me),knave(me)) )],[refute_0_44,refute_0_43]) ).

cnf(refute_0_46,plain,
    ( ~ a_truth(and(knave(me),rich(me)),knave(me))
    | ~ says(me,and(knave(me),rich(me))) ),
    inference(subst,[],[refute_0_45:[bind(Y,$fot(and(knave(me),rich(me))))]]) ).

cnf(refute_0_47,plain,
    ( ~ says(me,and(knave(me),rich(me)))
    | says(me,knave(me)) ),
    inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),knave(me)) )],[refute_0_42,refute_0_46]) ).

cnf(refute_0_48,plain,
    ( ~ a_truth(knave(me),knave(me))
    | ~ says(me,knave(me)) ),
    inference(subst,[],[knaves_lie1:[bind(X,$fot(me)),bind(Y,$fot(knave(me))),bind(Z,$fot(knave(me)))]]) ).

cnf(refute_0_49,plain,
    ~ says(me,knave(me)),
    inference(resolve,[$cnf( a_truth(knave(me),knave(me)) )],[refute_0_44,refute_0_48]) ).

cnf(refute_0_50,plain,
    ~ says(me,and(knave(me),rich(me))),
    inference(resolve,[$cnf( says(me,knave(me)) )],[refute_0_47,refute_0_49]) ).

cnf(refute_0_51,plain,
    ~ says(me,and(X_206,knave(me))),
    inference(resolve,[$cnf( says(me,and(knave(me),rich(me))) )],[refute_0_41,refute_0_50]) ).

cnf(refute_0_52,plain,
    ~ says(me,and(knight(me),knave(me))),
    inference(subst,[],[refute_0_51:[bind(X_206,$fot(knight(me)))]]) ).

cnf(refute_0_53,plain,
    $false,
    inference(resolve,[$cnf( says(me,and(knight(me),knave(me))) )],[refute_0_26,refute_0_52]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : PUZ021-1 : TPTP v8.1.0. Released v1.0.0.
% 0.03/0.13  % Command  : metis --show proof --show saturation %s
% 0.14/0.34  % Computer : n017.cluster.edu
% 0.14/0.34  % Model    : x86_64 x86_64
% 0.14/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34  % Memory   : 8042.1875MB
% 0.14/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34  % CPULimit : 300
% 0.14/0.34  % WCLimit  : 600
% 0.14/0.34  % DateTime : Sat May 28 21:07:38 EDT 2022
% 0.14/0.34  % CPUTime  : 
% 0.14/0.35  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 48.16/48.35  % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 48.16/48.35  
% 48.16/48.35  % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 48.16/48.35  
%------------------------------------------------------------------------------