TSTP Solution File: PUZ035-1 by Metis---2.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Metis---2.4
% Problem : PUZ035-1 : TPTP v8.1.0. Released v2.0.0.
% Transfm : none
% Format : tptp:raw
% Command : metis --show proof --show saturation %s
% Computer : n018.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.36s
% Output : CNFRefutation 0.12s
% Verified :
% SZS Type : Refutation
% Derivation depth : 24
% Number of leaves : 10
% Syntax : Number of clauses : 75 ( 8 unt; 42 nHn; 75 RR)
% Number of literals : 185 ( 0 equ; 65 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 : 27 ( 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(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_9)
| ~ isa(other,knave)
| ~ response(X_8) ),
inference(subst,[],[prove_answer:[bind(A,$fot(X_8)),bind(X,$fot(X_9)),bind(Y,$fot(knave))]]) ).
cnf(refute_0_11,plain,
( ~ isa(asked,X_9)
| ~ response(X_8)
| 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_11)
| tell_the_truth(other) ),
inference(subst,[],[refute_0_11:[bind(X_8,$fot(X_11)),bind(X_9,$fot(knave))]]) ).
cnf(refute_0_13,plain,
( ~ response(X_11)
| 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_11,$fot(no))]]) ).
cnf(refute_0_15,plain,
( ~ isa(asked,knave)
| ~ response(X_8)
| tell_the_truth(other) ),
inference(subst,[],[refute_0_11:[bind(X_9,$fot(knave))]]) ).
cnf(refute_0_16,plain,
( ~ isa(asked,knight)
| ~ response(X_11)
| tell_the_truth(other) ),
inference(subst,[],[refute_0_11:[bind(X_8,$fot(X_11)),bind(X_9,$fot(knight))]]) ).
cnf(refute_0_17,plain,
( ~ response(X_11)
| 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_11,$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_8)
| 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_8,$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_9)
| ~ isa(other,knight)
| ~ response(X_8) ),
inference(subst,[],[prove_answer:[bind(A,$fot(X_8)),bind(X,$fot(X_9)),bind(Y,$fot(knight))]]) ).
cnf(refute_0_26,plain,
( ~ isa(asked,X_9)
| ~ response(X_8)
| 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_17)
| isa(other,knave) ),
inference(subst,[],[refute_0_26:[bind(X_8,$fot(X_17)),bind(X_9,$fot(knave))]]) ).
cnf(refute_0_28,plain,
( ~ response(X_17)
| 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_17,$fot(no))]]) ).
cnf(refute_0_30,plain,
( ~ response(yes)
| isa(other,knave)
| tell_the_truth(asked) ),
inference(subst,[],[refute_0_28:[bind(X_17,$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,
( lies(asked)
| tell_the_truth(asked) ),
inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_5,refute_0_34]) ).
cnf(refute_0_36,plain,
( ~ isa(asked,knight)
| ~ tell_the_truth(asked)
| response(yes) ),
inference(subst,[],[knight_answers3:[bind(Anyone,$fot(asked))]]) ).
cnf(refute_0_37,plain,
( ~ tell_the_truth(asked)
| isa(asked,knave)
| response(yes) ),
inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_36]) ).
cnf(refute_0_38,plain,
( isa(asked,knave)
| lies(asked)
| response(yes) ),
inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_35,refute_0_37]) ).
cnf(refute_0_39,plain,
( lies(asked)
| response(yes) ),
inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_38,refute_0_34]) ).
cnf(refute_0_40,plain,
( ~ response(yes)
| isa(asked,knight)
| isa(other,knight)
| lies(asked) ),
inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_35,true_one_is_a_knight]) ).
cnf(refute_0_41,plain,
( isa(asked,knight)
| isa(other,knight)
| lies(asked) ),
inference(resolve,[$cnf( response(yes) )],[refute_0_39,refute_0_40]) ).
cnf(refute_0_42,plain,
( isa(asked,knight)
| lies(asked)
| tell_the_truth(other) ),
inference(resolve,[$cnf( isa(other,knight) )],[refute_0_41,refute_0_6]) ).
cnf(refute_0_43,plain,
( ~ response(X_11)
| lies(asked)
| tell_the_truth(other) ),
inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_42,refute_0_16]) ).
cnf(refute_0_44,plain,
( ~ response(yes)
| lies(asked)
| tell_the_truth(other) ),
inference(subst,[],[refute_0_43:[bind(X_11,$fot(yes))]]) ).
cnf(refute_0_45,plain,
( lies(asked)
| tell_the_truth(other) ),
inference(resolve,[$cnf( response(yes) )],[refute_0_39,refute_0_44]) ).
cnf(refute_0_46,plain,
( ~ lies(other)
| lies(asked) ),
inference(resolve,[$cnf( tell_the_truth(other) )],[refute_0_45,refute_0_1]) ).
cnf(refute_0_47,plain,
( ~ isa(asked,knight)
| ~ response(X_17)
| isa(other,knave) ),
inference(subst,[],[refute_0_26:[bind(X_8,$fot(X_17)),bind(X_9,$fot(knight))]]) ).
cnf(refute_0_48,plain,
( ~ response(X_17)
| isa(asked,knave)
| isa(other,knave) ),
inference(resolve,[$cnf( isa(asked,knight) )],[refute_0_4,refute_0_47]) ).
cnf(refute_0_49,plain,
( ~ response(yes)
| isa(asked,knave)
| isa(other,knave) ),
inference(subst,[],[refute_0_48:[bind(X_17,$fot(yes))]]) ).
cnf(refute_0_50,plain,
( isa(asked,knave)
| isa(other,knave)
| lies(asked) ),
inference(resolve,[$cnf( response(yes) )],[refute_0_39,refute_0_49]) ).
cnf(refute_0_51,plain,
( isa(asked,knave)
| lies(asked)
| lies(other) ),
inference(resolve,[$cnf( isa(other,knave) )],[refute_0_50,refute_0_24]) ).
cnf(refute_0_52,plain,
( lies(asked)
| lies(other) ),
inference(resolve,[$cnf( isa(asked,knave) )],[refute_0_51,refute_0_34]) ).
cnf(refute_0_53,plain,
lies(asked),
inference(resolve,[$cnf( lies(other) )],[refute_0_52,refute_0_46]) ).
cnf(refute_0_54,plain,
( lies(other)
| response(no) ),
inference(resolve,[$cnf( lies(asked) )],[refute_0_53,refute_0_33]) ).
cnf(refute_0_55,plain,
( isa(other,knave)
| lies(other)
| tell_the_truth(asked) ),
inference(resolve,[$cnf( response(no) )],[refute_0_54,refute_0_29]) ).
cnf(refute_0_56,plain,
( lies(other)
| tell_the_truth(asked) ),
inference(resolve,[$cnf( isa(other,knave) )],[refute_0_55,refute_0_24]) ).
cnf(refute_0_57,plain,
( ~ lies(asked)
| lies(other) ),
inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_56,refute_0_0]) ).
cnf(refute_0_58,plain,
lies(other),
inference(resolve,[$cnf( lies(asked) )],[refute_0_53,refute_0_57]) ).
cnf(refute_0_59,plain,
response(no),
inference(resolve,[$cnf( lies(other) )],[refute_0_58,refute_0_23]) ).
cnf(refute_0_60,plain,
( tell_the_truth(asked)
| tell_the_truth(other) ),
inference(resolve,[$cnf( response(no) )],[refute_0_59,refute_0_14]) ).
cnf(refute_0_61,plain,
( ~ lies(other)
| tell_the_truth(asked) ),
inference(resolve,[$cnf( tell_the_truth(other) )],[refute_0_60,refute_0_1]) ).
cnf(refute_0_62,plain,
tell_the_truth(asked),
inference(resolve,[$cnf( lies(other) )],[refute_0_58,refute_0_61]) ).
cnf(refute_0_63,plain,
~ lies(asked),
inference(resolve,[$cnf( tell_the_truth(asked) )],[refute_0_62,refute_0_0]) ).
cnf(refute_0_64,plain,
$false,
inference(resolve,[$cnf( lies(asked) )],[refute_0_53,refute_0_63]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : PUZ035-1 : TPTP v8.1.0. Released v2.0.0.
% 0.07/0.12 % Command : metis --show proof --show saturation %s
% 0.12/0.34 % Computer : n018.cluster.edu
% 0.12/0.34 % Model : x86_64 x86_64
% 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34 % Memory : 8042.1875MB
% 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34 % CPULimit : 300
% 0.12/0.34 % WCLimit : 600
% 0.12/0.34 % DateTime : Sat May 28 22:08:55 EDT 2022
% 0.12/0.34 % CPUTime :
% 0.12/0.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.12/0.36 % SZS status Unsatisfiable for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.12/0.36
% 0.12/0.36 % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 0.12/0.36
%------------------------------------------------------------------------------