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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Metis---2.4
% Problem  : PUZ035-7 : 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:52 EDT 2022

% Result   : Unsatisfiable 0.19s 0.46s
% Output   : CNFRefutation 0.19s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   34
%            Number of leaves      :    7
% Syntax   : Number of clauses     :   54 (   6 unt;  26 nHn;  50 RR)
%            Number of literals    :  130 (   0 equ;  56 neg)
%            Maximal clause size   :    4 (   2 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    3 (   2 usr;   1 prp; 0-3 aty)
%            Number of functors    :    8 (   8 usr;   6 con; 0-2 aty)
%            Number of variables   :   42 (  26 sgn)

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

cnf(not_both_a_knight_and_knave,axiom,
    ( ~ truth(isa(P,knight))
    | ~ truth(isa(P,knave)) ) ).

cnf(knights_make_true_statements4,axiom,
    ( truth(Q)
    | truth(isa(P,knight))
    | reply(P,Q,yes) ) ).

cnf(yes_or_no,axiom,
    ( reply(P,Q,yes)
    | reply(P,Q,no) ) ).

cnf(not_yes_and_no,axiom,
    ( ~ reply(P,Q,yes)
    | ~ reply(P,Q,no) ) ).

cnf(or1,axiom,
    ( truth(A)
    | truth(B)
    | ~ truth(or(A,B)) ) ).

cnf(prove_answer,negated_conjecture,
    ( ~ reply(asked,or(isa(asked,knight),isa(other,knight)),R)
    | ~ truth(isa(asked,X))
    | ~ truth(isa(other,Y)) ) ).

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

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

cnf(refute_0_2,plain,
    ( ~ truth(or(isa(asked,knight),isa(other,knight)))
    | truth(isa(asked,knight))
    | truth(isa(other,knight)) ),
    inference(subst,[],[or1:[bind(A,$fot(isa(asked,knight))),bind(B,$fot(isa(other,knight)))]]) ).

cnf(refute_0_3,plain,
    ( ~ reply(X_33,X_34,no)
    | ~ reply(X_33,X_34,yes) ),
    inference(subst,[],[not_yes_and_no:[bind(P,$fot(X_33)),bind(Q,$fot(X_34))]]) ).

cnf(refute_0_4,plain,
    ( reply(X_33,X_34,yes)
    | truth(X_34)
    | truth(isa(X_33,knight)) ),
    inference(subst,[],[knights_make_true_statements4:[bind(P,$fot(X_33)),bind(Q,$fot(X_34))]]) ).

cnf(refute_0_5,plain,
    ( ~ reply(X_33,X_34,no)
    | truth(X_34)
    | truth(isa(X_33,knight)) ),
    inference(resolve,[$cnf( reply(X_33,X_34,yes) )],[refute_0_4,refute_0_3]) ).

cnf(refute_0_6,plain,
    ( ~ reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(asked,knight))
    | truth(or(isa(asked,knight),isa(other,knight))) ),
    inference(subst,[],[refute_0_5:[bind(X_33,$fot(asked)),bind(X_34,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

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

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

cnf(refute_0_9,plain,
    ( ~ reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | ~ truth(isa(asked,X))
    | ~ truth(isa(other,Y)) ),
    inference(subst,[],[prove_answer:[bind(R,$fot(no))]]) ).

cnf(refute_0_10,plain,
    ( reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | reply(asked,or(isa(asked,knight),isa(other,knight)),yes) ),
    inference(subst,[],[yes_or_no:[bind(P,$fot(asked)),bind(Q,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).

cnf(refute_0_11,plain,
    ( ~ reply(asked,or(isa(asked,knight),isa(other,knight)),yes)
    | ~ truth(isa(asked,X_90))
    | ~ truth(isa(other,X_91)) ),
    inference(subst,[],[prove_answer:[bind(R,$fot(yes)),bind(X,$fot(X_90)),bind(Y,$fot(X_91))]]) ).

cnf(refute_0_12,plain,
    ( ~ truth(isa(asked,X_90))
    | ~ truth(isa(other,X_91))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no) ),
    inference(resolve,[$cnf( reply(asked,or(isa(asked,knight),isa(other,knight)),yes) )],[refute_0_10,refute_0_11]) ).

cnf(refute_0_13,plain,
    ( ~ truth(isa(asked,X_92))
    | ~ truth(isa(other,knight))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no) ),
    inference(subst,[],[refute_0_12:[bind(X_90,$fot(X_92)),bind(X_91,$fot(knight))]]) ).

cnf(refute_0_14,plain,
    ( ~ truth(isa(asked,X_92))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_8,refute_0_13]) ).

cnf(refute_0_15,plain,
    ( ~ truth(isa(asked,knight))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_14:[bind(X_92,$fot(knight))]]) ).

cnf(refute_0_16,plain,
    ( reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_7,refute_0_15]) ).

cnf(refute_0_17,plain,
    ( ~ truth(isa(asked,X))
    | ~ truth(isa(other,Y))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( reply(asked,or(isa(asked,knight),isa(other,knight)),no) )],[refute_0_16,refute_0_9]) ).

cnf(refute_0_18,plain,
    ( ~ truth(isa(asked,X_132))
    | ~ truth(isa(other,knight))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_17:[bind(X,$fot(X_132)),bind(Y,$fot(knight))]]) ).

cnf(refute_0_19,plain,
    ( ~ truth(isa(asked,X_132))
    | truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_8,refute_0_18]) ).

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

cnf(refute_0_21,plain,
    ( truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_7,refute_0_20]) ).

cnf(refute_0_22,plain,
    ( ~ truth(isa(asked,X_90))
    | ~ truth(isa(other,knave))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no) ),
    inference(subst,[],[refute_0_12:[bind(X_91,$fot(knave))]]) ).

cnf(refute_0_23,plain,
    ( ~ truth(isa(asked,X_90))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_21,refute_0_22]) ).

cnf(refute_0_24,plain,
    ( ~ truth(isa(asked,knight))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_23:[bind(X_90,$fot(knight))]]) ).

cnf(refute_0_25,plain,
    ( reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_7,refute_0_24]) ).

cnf(refute_0_26,plain,
    ( ~ truth(isa(asked,X))
    | ~ truth(isa(other,Y))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( reply(asked,or(isa(asked,knight),isa(other,knight)),no) )],[refute_0_25,refute_0_9]) ).

cnf(refute_0_27,plain,
    ( ~ truth(isa(asked,X_150))
    | ~ truth(isa(other,knave))
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_26:[bind(X,$fot(X_150)),bind(Y,$fot(knave))]]) ).

cnf(refute_0_28,plain,
    ( ~ truth(isa(asked,X_150))
    | truth(isa(asked,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_21,refute_0_27]) ).

cnf(refute_0_29,plain,
    ( ~ truth(isa(asked,knight))
    | truth(isa(asked,knave)) ),
    inference(subst,[],[refute_0_28:[bind(X_150,$fot(knight))]]) ).

cnf(refute_0_30,plain,
    truth(isa(asked,knave)),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_7,refute_0_29]) ).

cnf(refute_0_31,plain,
    ( ~ truth(isa(asked,knave))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_14:[bind(X_92,$fot(knave))]]) ).

cnf(refute_0_32,plain,
    ( reply(asked,or(isa(asked,knight),isa(other,knight)),no)
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_30,refute_0_31]) ).

cnf(refute_0_33,plain,
    ( ~ truth(isa(asked,X))
    | ~ truth(isa(other,Y))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( reply(asked,or(isa(asked,knight),isa(other,knight)),no) )],[refute_0_32,refute_0_9]) ).

cnf(refute_0_34,plain,
    ( ~ truth(isa(asked,X_330))
    | ~ truth(isa(other,knight))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_33:[bind(X,$fot(X_330)),bind(Y,$fot(knight))]]) ).

cnf(refute_0_35,plain,
    ( ~ truth(isa(asked,X_330))
    | truth(isa(other,knave)) ),
    inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_8,refute_0_34]) ).

cnf(refute_0_36,plain,
    ( ~ truth(isa(asked,knave))
    | truth(isa(other,knave)) ),
    inference(subst,[],[refute_0_35:[bind(X_330,$fot(knave))]]) ).

cnf(refute_0_37,plain,
    truth(isa(other,knave)),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_30,refute_0_36]) ).

cnf(refute_0_38,plain,
    ( ~ truth(isa(asked,X_90))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no) ),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_37,refute_0_22]) ).

cnf(refute_0_39,plain,
    ( ~ truth(isa(asked,knave))
    | reply(asked,or(isa(asked,knight),isa(other,knight)),no) ),
    inference(subst,[],[refute_0_38:[bind(X_90,$fot(knave))]]) ).

cnf(refute_0_40,plain,
    reply(asked,or(isa(asked,knight),isa(other,knight)),no),
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_30,refute_0_39]) ).

cnf(refute_0_41,plain,
    ( truth(isa(asked,knight))
    | truth(or(isa(asked,knight),isa(other,knight))) ),
    inference(resolve,[$cnf( reply(asked,or(isa(asked,knight),isa(other,knight)),no) )],[refute_0_40,refute_0_6]) ).

cnf(refute_0_42,plain,
    ( truth(isa(asked,knight))
    | truth(isa(other,knight)) ),
    inference(resolve,[$cnf( truth(or(isa(asked,knight),isa(other,knight))) )],[refute_0_41,refute_0_2]) ).

cnf(refute_0_43,plain,
    ( ~ truth(isa(other,knave))
    | truth(isa(asked,knight)) ),
    inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_42,refute_0_1]) ).

cnf(refute_0_44,plain,
    truth(isa(asked,knight)),
    inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_37,refute_0_43]) ).

cnf(refute_0_45,plain,
    ~ truth(isa(asked,knave)),
    inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_44,refute_0_0]) ).

cnf(refute_0_46,plain,
    $false,
    inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_30,refute_0_45]) ).

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