TSTP Solution File: PUZ035-4 by Metis---2.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Metis---2.4
% Problem : PUZ035-4 : 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:51 EDT 2022
% Result : Unsatisfiable 0.12s 0.35s
% Output : CNFRefutation 0.12s
% Verified :
% SZS Type : Refutation
% Derivation depth : 25
% Number of leaves : 5
% Syntax : Number of clauses : 45 ( 9 unt; 17 nHn; 45 RR)
% Number of literals : 105 ( 0 equ; 52 neg)
% Maximal clause size : 3 ( 2 avg)
% Maximal term depth : 4 ( 1 avg)
% Number of predicates : 4 ( 3 usr; 1 prp; 0-2 aty)
% Number of functors : 7 ( 7 usr; 4 con; 0-2 aty)
% Number of variables : 32 ( 31 sgn)
% Comments :
%------------------------------------------------------------------------------
cnf(everyone_a_knight_or_knave,axiom,
( ~ person(P)
| truth(isa(P,knight))
| truth(isa(P,knave)) ) ).
cnf(one_is_knight_answer,axiom,
( says(asked,or(isa(asked,knight),isa(other,knight)))
| says(asked,not(or(isa(asked,knight),isa(other,knight)))) ) ).
cnf(asked_person,axiom,
person(asked) ).
cnf(other_person,axiom,
person(other) ).
cnf(prove_answer,negated_conjecture,
( ~ truth(isa(asked,P1))
| ~ truth(isa(other,P2))
| ~ says(asked,S) ) ).
cnf(refute_0_0,plain,
( ~ person(asked)
| truth(isa(asked,knave))
| truth(isa(asked,knight)) ),
inference(subst,[],[everyone_a_knight_or_knave:[bind(P,$fot(asked))]]) ).
cnf(refute_0_1,plain,
( truth(isa(asked,knave))
| truth(isa(asked,knight)) ),
inference(resolve,[$cnf( person(asked) )],[asked_person,refute_0_0]) ).
cnf(refute_0_2,plain,
( ~ person(other)
| truth(isa(other,knave))
| truth(isa(other,knight)) ),
inference(subst,[],[everyone_a_knight_or_knave:[bind(P,$fot(other))]]) ).
cnf(refute_0_3,plain,
( truth(isa(other,knave))
| truth(isa(other,knight)) ),
inference(resolve,[$cnf( person(other) )],[other_person,refute_0_2]) ).
cnf(refute_0_4,plain,
( ~ says(asked,X_21)
| ~ truth(isa(asked,X_19))
| ~ truth(isa(other,knight)) ),
inference(subst,[],[prove_answer:[bind(P1,$fot(X_19)),bind(P2,$fot(knight)),bind(S,$fot(X_21))]]) ).
cnf(refute_0_5,plain,
( ~ says(asked,X_21)
| ~ truth(isa(asked,X_19))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( truth(isa(other,knight)) )],[refute_0_3,refute_0_4]) ).
cnf(refute_0_6,plain,
( ~ says(asked,X_23)
| ~ truth(isa(asked,knight))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_19,$fot(knight)),bind(X_21,$fot(X_23))]]) ).
cnf(refute_0_7,plain,
( ~ says(asked,X_23)
| truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_6]) ).
cnf(refute_0_8,plain,
( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_7:[bind(X_23,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).
cnf(refute_0_9,plain,
( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
| truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_7:[bind(X_23,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_10,plain,
( says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_9]) ).
cnf(refute_0_11,plain,
( truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_10,refute_0_8]) ).
cnf(refute_0_12,plain,
( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
| ~ truth(isa(asked,P1))
| ~ truth(isa(other,P2)) ),
inference(subst,[],[prove_answer:[bind(S,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).
cnf(refute_0_13,plain,
( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
| ~ truth(isa(asked,X_19))
| ~ truth(isa(other,X_20)) ),
inference(subst,[],[prove_answer:[bind(P1,$fot(X_19)),bind(P2,$fot(X_20)),bind(S,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_14,plain,
( ~ truth(isa(asked,X_19))
| ~ truth(isa(other,X_20))
| says(asked,or(isa(asked,knight),isa(other,knight))) ),
inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_13]) ).
cnf(refute_0_15,plain,
( ~ truth(isa(asked,X_26))
| ~ truth(isa(other,knave))
| says(asked,or(isa(asked,knight),isa(other,knight))) ),
inference(subst,[],[refute_0_14:[bind(X_19,$fot(X_26)),bind(X_20,$fot(knave))]]) ).
cnf(refute_0_16,plain,
( ~ truth(isa(asked,X_26))
| says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(asked,knave)) ),
inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_11,refute_0_15]) ).
cnf(refute_0_17,plain,
( ~ truth(isa(asked,knight))
| says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_16:[bind(X_26,$fot(knight))]]) ).
cnf(refute_0_18,plain,
( says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(asked,knave)) ),
inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_17]) ).
cnf(refute_0_19,plain,
( ~ truth(isa(asked,P1))
| ~ truth(isa(other,P2))
| truth(isa(asked,knave)) ),
inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_18,refute_0_12]) ).
cnf(refute_0_20,plain,
( ~ truth(isa(asked,X_29))
| ~ truth(isa(other,knave))
| truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_19:[bind(P1,$fot(X_29)),bind(P2,$fot(knave))]]) ).
cnf(refute_0_21,plain,
( ~ truth(isa(asked,X_29))
| truth(isa(asked,knave)) ),
inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_11,refute_0_20]) ).
cnf(refute_0_22,plain,
( ~ truth(isa(asked,knight))
| truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_21:[bind(X_29,$fot(knight))]]) ).
cnf(refute_0_23,plain,
truth(isa(asked,knave)),
inference(resolve,[$cnf( truth(isa(asked,knight)) )],[refute_0_1,refute_0_22]) ).
cnf(refute_0_24,plain,
( ~ says(asked,S)
| ~ truth(isa(asked,P1))
| ~ truth(isa(other,knave)) ),
inference(subst,[],[prove_answer:[bind(P2,$fot(knave))]]) ).
cnf(refute_0_25,plain,
( ~ says(asked,not(or(isa(asked,knight),isa(other,knight))))
| ~ truth(isa(asked,X_22))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_19,$fot(X_22)),bind(X_21,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_26,plain,
( ~ truth(isa(asked,X_22))
| says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_25]) ).
cnf(refute_0_27,plain,
( ~ truth(isa(asked,knave))
| says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_26:[bind(X_22,$fot(knave))]]) ).
cnf(refute_0_28,plain,
( says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_27]) ).
cnf(refute_0_29,plain,
( ~ says(asked,X_21)
| ~ truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_19,$fot(knave))]]) ).
cnf(refute_0_30,plain,
( ~ says(asked,X_21)
| truth(isa(other,knave)) ),
inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_29]) ).
cnf(refute_0_31,plain,
( ~ says(asked,or(isa(asked,knight),isa(other,knight)))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_30:[bind(X_21,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).
cnf(refute_0_32,plain,
truth(isa(other,knave)),
inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_28,refute_0_31]) ).
cnf(refute_0_33,plain,
( ~ says(asked,S)
| ~ truth(isa(asked,P1)) ),
inference(resolve,[$cnf( truth(isa(other,knave)) )],[refute_0_32,refute_0_24]) ).
cnf(refute_0_34,plain,
( ~ says(asked,X_34)
| ~ truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_33:[bind(P1,$fot(knave)),bind(S,$fot(X_34))]]) ).
cnf(refute_0_35,plain,
~ says(asked,X_34),
inference(resolve,[$cnf( truth(isa(asked,knave)) )],[refute_0_23,refute_0_34]) ).
cnf(refute_0_36,plain,
~ says(asked,not(or(isa(asked,knight),isa(other,knight)))),
inference(subst,[],[refute_0_35:[bind(X_34,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_37,plain,
says(asked,or(isa(asked,knight),isa(other,knight))),
inference(resolve,[$cnf( says(asked,not(or(isa(asked,knight),isa(other,knight)))) )],[one_is_knight_answer,refute_0_36]) ).
cnf(refute_0_38,plain,
~ says(asked,or(isa(asked,knight),isa(other,knight))),
inference(subst,[],[refute_0_35:[bind(X_34,$fot(or(isa(asked,knight),isa(other,knight))))]]) ).
cnf(refute_0_39,plain,
$false,
inference(resolve,[$cnf( says(asked,or(isa(asked,knight),isa(other,knight))) )],[refute_0_37,refute_0_38]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.11 % Problem : PUZ035-4 : TPTP v8.1.0. Released v2.0.0.
% 0.07/0.12 % Command : metis --show proof --show saturation %s
% 0.12/0.33 % Computer : n025.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 600
% 0.12/0.33 % DateTime : Sat May 28 23:07:11 EDT 2022
% 0.12/0.33 % CPUTime :
% 0.12/0.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.12/0.35 % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.12/0.35
% 0.12/0.35 % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 0.12/0.35
%------------------------------------------------------------------------------