TSTP Solution File: PUZ035-3 by Metis---2.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Metis---2.4
% Problem : PUZ035-3 : TPTP v8.1.0. Released v2.0.0.
% Transfm : none
% Format : tptp:raw
% Command : metis --show proof --show saturation %s
% Computer : n021.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.18s 0.36s
% Output : CNFRefutation 0.18s
% 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_25)
| ~ truth(isa(asked,X_23))
| ~ truth(isa(other,knight)) ),
inference(subst,[],[prove_answer:[bind(P1,$fot(X_23)),bind(P2,$fot(knight)),bind(S,$fot(X_25))]]) ).
cnf(refute_0_5,plain,
( ~ says(asked,X_25)
| ~ truth(isa(asked,X_23))
| 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_27)
| ~ truth(isa(asked,knight))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_23,$fot(knight)),bind(X_25,$fot(X_27))]]) ).
cnf(refute_0_7,plain,
( ~ says(asked,X_27)
| 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_27,$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_27,$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_23))
| ~ truth(isa(other,X_24)) ),
inference(subst,[],[prove_answer:[bind(P1,$fot(X_23)),bind(P2,$fot(X_24)),bind(S,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_14,plain,
( ~ truth(isa(asked,X_23))
| ~ truth(isa(other,X_24))
| 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_31))
| ~ truth(isa(other,knave))
| says(asked,or(isa(asked,knight),isa(other,knight))) ),
inference(subst,[],[refute_0_14:[bind(X_23,$fot(X_31)),bind(X_24,$fot(knave))]]) ).
cnf(refute_0_16,plain,
( ~ truth(isa(asked,X_31))
| 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_31,$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_34))
| ~ truth(isa(other,knave))
| truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_19:[bind(P1,$fot(X_34)),bind(P2,$fot(knave))]]) ).
cnf(refute_0_21,plain,
( ~ truth(isa(asked,X_34))
| 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_34,$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_26))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_23,$fot(X_26)),bind(X_25,$fot(not(or(isa(asked,knight),isa(other,knight)))))]]) ).
cnf(refute_0_26,plain,
( ~ truth(isa(asked,X_26))
| 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_26,$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_25)
| ~ truth(isa(asked,knave))
| truth(isa(other,knave)) ),
inference(subst,[],[refute_0_5:[bind(X_23,$fot(knave))]]) ).
cnf(refute_0_30,plain,
( ~ says(asked,X_25)
| 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_25,$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_41)
| ~ truth(isa(asked,knave)) ),
inference(subst,[],[refute_0_33:[bind(P1,$fot(knave)),bind(S,$fot(X_41))]]) ).
cnf(refute_0_35,plain,
~ says(asked,X_41),
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_41,$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_41,$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.03/0.12 % Problem : PUZ035-3 : TPTP v8.1.0. Released v2.0.0.
% 0.03/0.12 % Command : metis --show proof --show saturation %s
% 0.12/0.33 % Computer : n021.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 19:50:12 EDT 2022
% 0.12/0.33 % CPUTime :
% 0.12/0.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.18/0.36 % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.18/0.36
% 0.18/0.36 % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 0.18/0.36
%------------------------------------------------------------------------------