TSTP Solution File: PUZ035-4 by Metis---2.4

View Problem - Process Solution

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

% Computer : n025.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:51 EDT 2022

% Result   : Unsatisfiable 0.12s 0.35s
% Output   : CNFRefutation 0.12s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   25
%            Number of leaves      :    5
% Syntax   : Number of clauses     :   45 (   9 unt;  17 nHn;  45 RR)
%            Number of literals    :  105 (   0 equ;  52 neg)
%            Maximal clause size   :    3 (   2 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    4 (   3 usr;   1 prp; 0-2 aty)
%            Number of functors    :    7 (   7 usr;   4 con; 0-2 aty)
%            Number of variables   :   32 (  31 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(everyone_a_knight_or_knave,axiom,
    ( ~ person(P)
    | truth(isa(P,knight))
    | truth(isa(P,knave)) ) ).

cnf(one_is_knight_answer,axiom,
    ( says(asked,or(isa(asked,knight),isa(other,knight)))
    | says(asked,not(or(isa(asked,knight),isa(other,knight)))) ) ).

cnf(asked_person,axiom,
    person(asked) ).

cnf(other_person,axiom,
    person(other) ).

cnf(prove_answer,negated_conjecture,
    ( ~ truth(isa(asked,P1))
    | ~ truth(isa(other,P2))
    | ~ says(asked,S) ) ).

cnf(refute_0_0,plain,
    ( ~ person(asked)
    | truth(isa(asked,knave))
    | truth(isa(asked,knight)) ),
    inference(subst,[],[everyone_a_knight_or_knave:[bind(P,$fot(asked))]]) ).

cnf(refute_0_1,plain,
    ( truth(isa(asked,knave))
    | truth(isa(asked,knight)) ),
    inference(resolve,[$cnf( person(asked) )],[asked_person,refute_0_0]) ).

cnf(refute_0_2,plain,
    ( ~ person(other)
    | truth(isa(other,knave))
    | truth(isa(other,knight)) ),
    inference(subst,[],[everyone_a_knight_or_knave:[bind(P,$fot(other))]]) ).

cnf(refute_0_3,plain,
    ( truth(isa(other,knave))
    | truth(isa(other,knight)) ),
    inference(resolve,[$cnf( person(other) )],[other_person,refute_0_2]) ).

cnf(refute_0_4,plain,
    ( ~ says(asked,X_21)
    | ~ truth(isa(asked,X_19))
    | ~ truth(isa(other,knight)) ),
    inference(subst,[],[prove_answer:[bind(P1,$fot(X_19)),bind(P2,$fot(knight)),bind(S,$fot(X_21))]]) ).

cnf(refute_0_5,plain,
    ( ~ says(asked,X_21)
    | ~ truth(isa(asked,X_19))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_3,refute_0_4]) ).

cnf(refute_0_6,plain,
    ( ~ says(asked,X_23)
    | ~ truth(isa(asked,knight))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_5:[bind(X_19,$fot(knight)),bind(X_21,$fot(X_23))]]) ).

cnf(refute_0_7,plain,
    ( ~ says(asked,X_23)
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_6]) ).

cnf(refute_0_8,plain,
    ( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_7:[bind(X_23,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

cnf(refute_0_9,plain,
    ( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_7:[bind(X_23,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).

cnf(refute_0_10,plain,
    ( says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_9]) ).

cnf(refute_0_11,plain,
    ( truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_10,refute_0_8]) ).

cnf(refute_0_12,plain,
    ( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
    | ~ truth(isa(asked,P1))
    | ~ truth(isa(other,P2)) ),
    inference(subst,[],[prove_answer:[bind(S,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

cnf(refute_0_13,plain,
    ( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
    | ~ truth(isa(asked,X_19))
    | ~ truth(isa(other,X_20)) ),
    inference(subst,[],[prove_answer:[bind(P1,$fot(X_19)),bind(P2,$fot(X_20)),bind(S,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).

cnf(refute_0_14,plain,
    ( ~ truth(isa(asked,X_19))
    | ~ truth(isa(other,X_20))
    | says(asked,or(isa(asked,knight),isa(other,knight))) ),
    inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_13]) ).

cnf(refute_0_15,plain,
    ( ~ truth(isa(asked,X_26))
    | ~ truth(isa(other,knave))
    | says(asked,or(isa(asked,knight),isa(other,knight))) ),
    inference(subst,[],[refute_0_14:[bind(X_19,$fot(X_26)),bind(X_20,$fot(knave))]]) ).

cnf(refute_0_16,plain,
    ( ~ truth(isa(asked,X_26))
    | says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_11,refute_0_15]) ).

cnf(refute_0_17,plain,
    ( ~ truth(isa(asked,knight))
    | says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_16:[bind(X_26,$fot(knight))]]) ).

cnf(refute_0_18,plain,
    ( says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_17]) ).

cnf(refute_0_19,plain,
    ( ~ truth(isa(asked,P1))
    | ~ truth(isa(other,P2))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_18,refute_0_12]) ).

cnf(refute_0_20,plain,
    ( ~ truth(isa(asked,X_29))
    | ~ truth(isa(other,knave))
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_19:[bind(P1,$fot(X_29)),bind(P2,$fot(knave))]]) ).

cnf(refute_0_21,plain,
    ( ~ truth(isa(asked,X_29))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_11,refute_0_20]) ).

cnf(refute_0_22,plain,
    ( ~ truth(isa(asked,knight))
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_21:[bind(X_29,$fot(knight))]]) ).

cnf(refute_0_23,plain,
    truth(isa(asked,knave)),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_22]) ).

cnf(refute_0_24,plain,
    ( ~ says(asked,S)
    | ~ truth(isa(asked,P1))
    | ~ truth(isa(other,knave)) ),
    inference(subst,[],[prove_answer:[bind(P2,$fot(knave))]]) ).

cnf(refute_0_25,plain,
    ( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
    | ~ truth(isa(asked,X_22))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_5:[bind(X_19,$fot(X_22)),bind(X_21,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).

cnf(refute_0_26,plain,
    ( ~ truth(isa(asked,X_22))
    | says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_25]) ).

cnf(refute_0_27,plain,
    ( ~ truth(isa(asked,knave))
    | says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_26:[bind(X_22,$fot(knave))]]) ).

cnf(refute_0_28,plain,
    ( says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_27]) ).

cnf(refute_0_29,plain,
    ( ~ says(asked,X_21)
    | ~ truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_5:[bind(X_19,$fot(knave))]]) ).

cnf(refute_0_30,plain,
    ( ~ says(asked,X_21)
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_29]) ).

cnf(refute_0_31,plain,
    ( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_30:[bind(X_21,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

cnf(refute_0_32,plain,
    truth(isa(other,knave)),
    inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_28,refute_0_31]) ).

cnf(refute_0_33,plain,
    ( ~ says(asked,S)
    | ~ truth(isa(asked,P1)) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_32,refute_0_24]) ).

cnf(refute_0_34,plain,
    ( ~ says(asked,X_34)
    | ~ truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_33:[bind(P1,$fot(knave)),bind(S,$fot(X_34))]]) ).

cnf(refute_0_35,plain,
    ~ says(asked,X_34),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_34]) ).

cnf(refute_0_36,plain,
    ~ says(asked,not(or(isa(asked,knight),isa(other,knight)))),
    inference(subst,[],[refute_0_35:[bind(X_34,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).

cnf(refute_0_37,plain,
    says(asked,or(isa(asked,knight),isa(other,knight))),
    inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_36]) ).

cnf(refute_0_38,plain,
    ~ says(asked,or(isa(asked,knight),isa(other,knight))),
    inference(subst,[],[refute_0_35:[bind(X_34,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

cnf(refute_0_39,plain,
    $false,
    inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_37,refute_0_38]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.11  % Problem  : PUZ035-4 : TPTP v8.1.0. Released v2.0.0.
% 0.07/0.12  % Command  : metis --show proof --show saturation %s
% 0.12/0.33  % Computer : n025.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 600
% 0.12/0.33  % DateTime : Sat May 28 23:07:11 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 0.12/0.33  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.12/0.35  % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.12/0.35  
% 0.12/0.35  % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 0.12/0.35  
%------------------------------------------------------------------------------