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