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

View Problem - Process Solution

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

% Computer : n026.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.14s 0.36s
% Output   : CNFRefutation 0.14s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   23
%            Number of leaves      :   11
% Syntax   : Number of clauses     :   77 (   8 unt;  44 nHn;  77 RR)
%            Number of literals    :  191 (   0 equ;  67 neg)
%            Maximal clause size   :    4 (   2 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    6 (   5 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   6 con; 0-0 aty)
%            Number of variables   :   28 (  23 sgn)

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

cnf(knights_make_true_statements,axiom,
    ( ~ isa(X,knight)
    | tell_the_truth(X) ) ).

cnf(knaves_make_false_statements,axiom,
    ( ~ isa(X,knave)
    | lies(X) ) ).

cnf(statements_are_true_or_false,axiom,
    ( ~ tell_the_truth(X)
    | ~ lies(X) ) ).

cnf(statements_are_true_or_false2,axiom,
    ( ~ person(X)
    | tell_the_truth(X)
    | lies(X) ) ).

cnf(true_one_is_a_knight,axiom,
    ( isa(asked,knight)
    | isa(other,knight)
    | ~ response(yes)
    | ~ tell_the_truth(asked) ) ).

cnf(knight_answers3,axiom,
    ( response(yes)
    | ~ tell_the_truth(asked)
    | ~ isa(Anyone,knight) ) ).

cnf(two_answers,axiom,
    ( response(yes)
    | response(no) ) ).

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

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

cnf(prove_answer,negated_conjecture,
    ( ~ response(A)
    | ~ isa(asked,X)
    | ~ isa(other,Y) ) ).

cnf(refute_0_0,plain,
    ( ~ lies(asked)
    | ~ tell_the_truth(asked) ),
    inference(subst,[],[statements_are_true_or_false:[bind(X,$fot(asked))]]) ).

cnf(refute_0_1,plain,
    ( ~ lies(other)
    | ~ tell_the_truth(other) ),
    inference(subst,[],[statements_are_true_or_false:[bind(X,$fot(other))]]) ).

cnf(refute_0_2,plain,
    ( ~ isa(asked,knight)
    | tell_the_truth(asked) ),
    inference(subst,[],[knights_make_true_statements:[bind(X,$fot(asked))]]) ).

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

cnf(refute_0_4,plain,
    ( isa(asked,knave)
    | isa(asked,knight) ),
    inference(resolve,[$cnf( person(asked) )],[asked_person,refute_0_3]) ).

cnf(refute_0_5,plain,
    ( isa(asked,knave)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_2]) ).

cnf(refute_0_6,plain,
    ( ~ isa(other,knight)
    | tell_the_truth(other) ),
    inference(subst,[],[knights_make_true_statements:[bind(X,$fot(other))]]) ).

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

cnf(refute_0_8,plain,
    ( isa(other,knave)
    | isa(other,knight) ),
    inference(resolve,[$cnf( person(other) )],[other_person,refute_0_7]) ).

cnf(refute_0_9,plain,
    ( isa(other,knave)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(other,knight) )],[refute_0_8,refute_0_6]) ).

cnf(refute_0_10,plain,
    ( ~ isa(asked,X_10)
    | ~ isa(other,knave)
    | ~ response(X_9) ),
    inference(subst,[],[prove_answer:[bind(A,$fot(X_9)),bind(X,$fot(X_10)),bind(Y,$fot(knave))]]) ).

cnf(refute_0_11,plain,
    ( ~ isa(asked,X_10)
    | ~ response(X_9)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(other,knave) )],[refute_0_9,refute_0_10]) ).

cnf(refute_0_12,plain,
    ( ~ isa(asked,knave)
    | ~ response(X_13)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_11:[bind(X_10,$fot(knave)),bind(X_9,$fot(X_13))]]) ).

cnf(refute_0_13,plain,
    ( ~ response(X_13)
    | tell_the_truth(asked)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_5,refute_0_12]) ).

cnf(refute_0_14,plain,
    ( ~ response(no)
    | tell_the_truth(asked)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_13:[bind(X_13,$fot(no))]]) ).

cnf(refute_0_15,plain,
    ( ~ isa(asked,knave)
    | ~ response(X_9)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_11:[bind(X_10,$fot(knave))]]) ).

cnf(refute_0_16,plain,
    ( ~ isa(asked,knight)
    | ~ response(X_13)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_11:[bind(X_10,$fot(knight)),bind(X_9,$fot(X_13))]]) ).

cnf(refute_0_17,plain,
    ( ~ response(X_13)
    | isa(asked,knave)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_16]) ).

cnf(refute_0_18,plain,
    ( ~ response(yes)
    | isa(asked,knave)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_17:[bind(X_13,$fot(yes))]]) ).

cnf(refute_0_19,plain,
    ( isa(asked,knave)
    | response(no)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( response(yes) )],[two_answers,refute_0_18]) ).

cnf(refute_0_20,plain,
    ( ~ response(X_9)
    | response(no)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_19,refute_0_15]) ).

cnf(refute_0_21,plain,
    ( ~ response(yes)
    | response(no)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_20:[bind(X_9,$fot(yes))]]) ).

cnf(refute_0_22,plain,
    ( response(no)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( response(yes) )],[two_answers,refute_0_21]) ).

cnf(refute_0_23,plain,
    ( ~ lies(other)
    | response(no) ),
    inference(resolve,[$cnf( tell_the_truth(other) )],[refute_0_22,refute_0_1]) ).

cnf(refute_0_24,plain,
    ( ~ isa(other,knave)
    | lies(other) ),
    inference(subst,[],[knaves_make_false_statements:[bind(X,$fot(other))]]) ).

cnf(refute_0_25,plain,
    ( ~ isa(asked,X_10)
    | ~ isa(other,knight)
    | ~ response(X_9) ),
    inference(subst,[],[prove_answer:[bind(A,$fot(X_9)),bind(X,$fot(X_10)),bind(Y,$fot(knight))]]) ).

cnf(refute_0_26,plain,
    ( ~ isa(asked,X_10)
    | ~ response(X_9)
    | isa(other,knave) ),
    inference(resolve,[$cnf( isa(other,knight) )],[refute_0_8,refute_0_25]) ).

cnf(refute_0_27,plain,
    ( ~ isa(asked,knave)
    | ~ response(X_19)
    | isa(other,knave) ),
    inference(subst,[],[refute_0_26:[bind(X_10,$fot(knave)),bind(X_9,$fot(X_19))]]) ).

cnf(refute_0_28,plain,
    ( ~ response(X_19)
    | isa(other,knave)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_5,refute_0_27]) ).

cnf(refute_0_29,plain,
    ( ~ response(no)
    | isa(other,knave)
    | tell_the_truth(asked) ),
    inference(subst,[],[refute_0_28:[bind(X_19,$fot(no))]]) ).

cnf(refute_0_30,plain,
    ( ~ response(yes)
    | isa(other,knave)
    | tell_the_truth(asked) ),
    inference(subst,[],[refute_0_28:[bind(X_19,$fot(yes))]]) ).

cnf(refute_0_31,plain,
    ( isa(other,knave)
    | response(no)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( response(yes) )],[two_answers,refute_0_30]) ).

cnf(refute_0_32,plain,
    ( lies(other)
    | response(no)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( isa(other,knave) )],[refute_0_31,refute_0_24]) ).

cnf(refute_0_33,plain,
    ( ~ lies(asked)
    | lies(other)
    | response(no) ),
    inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_32,refute_0_0]) ).

cnf(refute_0_34,plain,
    ( ~ isa(asked,knave)
    | lies(asked) ),
    inference(subst,[],[knaves_make_false_statements:[bind(X,$fot(asked))]]) ).

cnf(refute_0_35,plain,
    ( ~ person(asked)
    | lies(asked)
    | tell_the_truth(asked) ),
    inference(subst,[],[statements_are_true_or_false2:[bind(X,$fot(asked))]]) ).

cnf(refute_0_36,plain,
    ( lies(asked)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( person(asked) )],[asked_person,refute_0_35]) ).

cnf(refute_0_37,plain,
    ( ~ isa(asked,knight)
    | ~ tell_the_truth(asked)
    | response(yes) ),
    inference(subst,[],[knight_answers3:[bind(Anyone,$fot(asked))]]) ).

cnf(refute_0_38,plain,
    ( ~ tell_the_truth(asked)
    | isa(asked,knave)
    | response(yes) ),
    inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_37]) ).

cnf(refute_0_39,plain,
    ( isa(asked,knave)
    | lies(asked)
    | response(yes) ),
    inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_36,refute_0_38]) ).

cnf(refute_0_40,plain,
    ( lies(asked)
    | response(yes) ),
    inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_39,refute_0_34]) ).

cnf(refute_0_41,plain,
    ( ~ response(yes)
    | isa(asked,knight)
    | isa(other,knight)
    | lies(asked) ),
    inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_36,true_one_is_a_knight]) ).

cnf(refute_0_42,plain,
    ( isa(asked,knight)
    | isa(other,knight)
    | lies(asked) ),
    inference(resolve,[$cnf( response(yes) )],[refute_0_40,refute_0_41]) ).

cnf(refute_0_43,plain,
    ( isa(asked,knight)
    | lies(asked)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(other,knight) )],[refute_0_42,refute_0_6]) ).

cnf(refute_0_44,plain,
    ( ~ response(X_13)
    | lies(asked)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_43,refute_0_16]) ).

cnf(refute_0_45,plain,
    ( ~ response(yes)
    | lies(asked)
    | tell_the_truth(other) ),
    inference(subst,[],[refute_0_44:[bind(X_13,$fot(yes))]]) ).

cnf(refute_0_46,plain,
    ( lies(asked)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( response(yes) )],[refute_0_40,refute_0_45]) ).

cnf(refute_0_47,plain,
    ( ~ lies(other)
    | lies(asked) ),
    inference(resolve,[$cnf( tell_the_truth(other) )],[refute_0_46,refute_0_1]) ).

cnf(refute_0_48,plain,
    ( ~ isa(asked,knight)
    | ~ response(X_19)
    | isa(other,knave) ),
    inference(subst,[],[refute_0_26:[bind(X_10,$fot(knight)),bind(X_9,$fot(X_19))]]) ).

cnf(refute_0_49,plain,
    ( ~ response(X_19)
    | isa(asked,knave)
    | isa(other,knave) ),
    inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_48]) ).

cnf(refute_0_50,plain,
    ( ~ response(yes)
    | isa(asked,knave)
    | isa(other,knave) ),
    inference(subst,[],[refute_0_49:[bind(X_19,$fot(yes))]]) ).

cnf(refute_0_51,plain,
    ( isa(asked,knave)
    | isa(other,knave)
    | lies(asked) ),
    inference(resolve,[$cnf( response(yes) )],[refute_0_40,refute_0_50]) ).

cnf(refute_0_52,plain,
    ( isa(asked,knave)
    | lies(asked)
    | lies(other) ),
    inference(resolve,[$cnf( isa(other,knave) )],[refute_0_51,refute_0_24]) ).

cnf(refute_0_53,plain,
    ( lies(asked)
    | lies(other) ),
    inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_52,refute_0_34]) ).

cnf(refute_0_54,plain,
    lies(asked),
    inference(resolve,[$cnf( lies(other) )],[refute_0_53,refute_0_47]) ).

cnf(refute_0_55,plain,
    ( lies(other)
    | response(no) ),
    inference(resolve,[$cnf( lies(asked) )],[refute_0_54,refute_0_33]) ).

cnf(refute_0_56,plain,
    ( isa(other,knave)
    | lies(other)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( response(no) )],[refute_0_55,refute_0_29]) ).

cnf(refute_0_57,plain,
    ( lies(other)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( isa(other,knave) )],[refute_0_56,refute_0_24]) ).

cnf(refute_0_58,plain,
    ( ~ lies(asked)
    | lies(other) ),
    inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_57,refute_0_0]) ).

cnf(refute_0_59,plain,
    lies(other),
    inference(resolve,[$cnf( lies(asked) )],[refute_0_54,refute_0_58]) ).

cnf(refute_0_60,plain,
    response(no),
    inference(resolve,[$cnf( lies(other) )],[refute_0_59,refute_0_23]) ).

cnf(refute_0_61,plain,
    ( tell_the_truth(asked)
    | tell_the_truth(other) ),
    inference(resolve,[$cnf( response(no) )],[refute_0_60,refute_0_14]) ).

cnf(refute_0_62,plain,
    ( ~ lies(other)
    | tell_the_truth(asked) ),
    inference(resolve,[$cnf( tell_the_truth(other) )],[refute_0_61,refute_0_1]) ).

cnf(refute_0_63,plain,
    tell_the_truth(asked),
    inference(resolve,[$cnf( lies(other) )],[refute_0_59,refute_0_62]) ).

cnf(refute_0_64,plain,
    ~ lies(asked),
    inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_63,refute_0_0]) ).

cnf(refute_0_65,plain,
    $false,
    inference(resolve,[$cnf( lies(asked) )],[refute_0_54,refute_0_64]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : PUZ035-2 : TPTP v8.1.0. Released v2.0.0.
% 0.07/0.12  % Command  : metis --show proof --show saturation %s
% 0.14/0.33  % Computer : n026.cluster.edu
% 0.14/0.33  % Model    : x86_64 x86_64
% 0.14/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.33  % Memory   : 8042.1875MB
% 0.14/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.33  % CPULimit : 300
% 0.14/0.33  % WCLimit  : 600
% 0.14/0.33  % DateTime : Sun May 29 02:27:54 EDT 2022
% 0.14/0.34  % CPUTime  : 
% 0.14/0.34  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.14/0.36  % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.14/0.36  
% 0.14/0.36  % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 0.14/0.36  
%------------------------------------------------------------------------------