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
%------------------------------------------------------------------------------