TSTP Solution File: PUZ021-1 by Metis---2.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Metis---2.4
% Problem : PUZ021-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm : none
% Format : tptp:raw
% Command : metis --show proof --show saturation %s
% Computer : n017.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:38 EDT 2022
% Result : Unsatisfiable 48.16s 48.35s
% Output : CNFRefutation 48.16s
% Verified :
% SZS Type : Refutation
% Derivation depth : 15
% Number of leaves : 9
% Syntax : Number of clauses : 63 ( 10 unt; 28 nHn; 35 RR)
% Number of literals : 128 ( 0 equ; 48 neg)
% Maximal clause size : 3 ( 2 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 3 ( 2 usr; 1 prp; 0-2 aty)
% Number of functors : 6 ( 6 usr; 1 con; 0-2 aty)
% Number of variables : 79 ( 8 sgn)
% Comments :
%------------------------------------------------------------------------------
cnf(knight_or_knave,axiom,
( a_truth(knight(X),Y)
| a_truth(knave(X),Y) ) ).
cnf(not_rich_and_poor,axiom,
( ~ a_truth(rich(X),Y)
| ~ a_truth(poor(X),Y) ) ).
cnf(knights_tell_truth1,axiom,
( ~ a_truth(knight(X),Z)
| ~ says(X,Y)
| a_truth(Y,Z) ) ).
cnf(knaves_lie1,axiom,
( ~ a_truth(knave(X),Z)
| ~ says(X,Y)
| ~ a_truth(Y,Z) ) ).
cnf(knaves_lie2,axiom,
( ~ a_truth(knave(X),Z)
| says(X,Y)
| a_truth(Y,Z) ) ).
cnf(conjunction1,axiom,
( ~ a_truth(and(X,Y),Z)
| a_truth(X,Z) ) ).
cnf(conjunction2,axiom,
( ~ a_truth(and(X,Y),Z)
| a_truth(Y,Z) ) ).
cnf(prove_statement_exists1,negated_conjecture,
( ~ says(me,X)
| ~ a_truth(and(knave(me),rich(me)),X) ) ).
cnf(prove_statement_exists2,negated_conjecture,
( says(me,X)
| a_truth(and(knave(me),rich(me)),X) ) ).
cnf(refute_0_0,plain,
( ~ a_truth(poor(me),X_28)
| ~ a_truth(rich(me),X_28) ),
inference(subst,[],[not_rich_and_poor:[bind(X,$fot(me)),bind(Y,$fot(X_28))]]) ).
cnf(refute_0_1,plain,
( a_truth(and(knave(me),rich(me)),X_27)
| says(me,X_27) ),
inference(subst,[],[prove_statement_exists2:[bind(X,$fot(X_27))]]) ).
cnf(refute_0_2,plain,
( ~ a_truth(and(knave(me),rich(me)),X_27)
| a_truth(rich(me),X_27) ),
inference(subst,[],[conjunction2:[bind(X,$fot(knave(me))),bind(Y,$fot(rich(me))),bind(Z,$fot(X_27))]]) ).
cnf(refute_0_3,plain,
( a_truth(rich(me),X_27)
| says(me,X_27) ),
inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),X_27) )],[refute_0_1,refute_0_2]) ).
cnf(refute_0_4,plain,
( a_truth(rich(me),X_28)
| says(me,X_28) ),
inference(subst,[],[refute_0_3:[bind(X_27,$fot(X_28))]]) ).
cnf(refute_0_5,plain,
( ~ a_truth(poor(me),X_28)
| says(me,X_28) ),
inference(resolve,[$cnf( a_truth(rich(me),X_28) )],[refute_0_4,refute_0_0]) ).
cnf(refute_0_6,plain,
( ~ a_truth(poor(me),and(knight(me),X_122))
| says(me,and(knight(me),X_122)) ),
inference(subst,[],[refute_0_5:[bind(X_28,$fot(and(knight(me),X_122)))]]) ).
cnf(refute_0_7,plain,
( ~ a_truth(and(X,Y),and(X,Y))
| a_truth(X,and(X,Y)) ),
inference(subst,[],[conjunction1:[bind(Z,$fot(and(X,Y)))]]) ).
cnf(refute_0_8,plain,
( a_truth(and(knave(me),rich(me)),X_21)
| says(me,X_21) ),
inference(subst,[],[prove_statement_exists2:[bind(X,$fot(X_21))]]) ).
cnf(refute_0_9,plain,
( ~ a_truth(and(knave(me),rich(me)),X_21)
| a_truth(knave(me),X_21) ),
inference(subst,[],[conjunction1:[bind(X,$fot(knave(me))),bind(Y,$fot(rich(me))),bind(Z,$fot(X_21))]]) ).
cnf(refute_0_10,plain,
( a_truth(knave(me),X_21)
| says(me,X_21) ),
inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),X_21) )],[refute_0_8,refute_0_9]) ).
cnf(refute_0_11,plain,
( a_truth(knave(me),X_58)
| says(me,X_58) ),
inference(subst,[],[refute_0_10:[bind(X_21,$fot(X_58))]]) ).
cnf(refute_0_12,plain,
( ~ a_truth(knave(me),X_58)
| a_truth(X_57,X_58)
| says(me,X_57) ),
inference(subst,[],[knaves_lie2:[bind(X,$fot(me)),bind(Y,$fot(X_57)),bind(Z,$fot(X_58))]]) ).
cnf(refute_0_13,plain,
( a_truth(X_57,X_58)
| says(me,X_57)
| says(me,X_58) ),
inference(resolve,[$cnf( a_truth(knave(me),X_58) )],[refute_0_11,refute_0_12]) ).
cnf(refute_0_14,plain,
( a_truth(and(X,Y),and(X,Y))
| says(me,and(X,Y)) ),
inference(subst,[],[refute_0_13:[bind(X_57,$fot(and(X,Y))),bind(X_58,$fot(and(X,Y)))]]) ).
cnf(refute_0_15,plain,
( a_truth(X,and(X,Y))
| says(me,and(X,Y)) ),
inference(resolve,[$cnf( a_truth(and(X,Y),and(X,Y)) )],[refute_0_14,refute_0_7]) ).
cnf(refute_0_16,plain,
( a_truth(knight(me),and(knight(me),Y))
| says(me,and(knight(me),Y)) ),
inference(subst,[],[refute_0_15:[bind(X,$fot(knight(me)))]]) ).
cnf(refute_0_17,plain,
( ~ a_truth(knight(me),Z)
| ~ says(me,poor(me))
| a_truth(poor(me),Z) ),
inference(subst,[],[knights_tell_truth1:[bind(X,$fot(me)),bind(Y,$fot(poor(me)))]]) ).
cnf(refute_0_18,plain,
( ~ a_truth(poor(me),poor(me))
| says(me,poor(me)) ),
inference(subst,[],[refute_0_5:[bind(X_28,$fot(poor(me)))]]) ).
cnf(refute_0_19,plain,
( a_truth(poor(me),poor(me))
| says(me,poor(me)) ),
inference(subst,[],[refute_0_13:[bind(X_57,$fot(poor(me))),bind(X_58,$fot(poor(me)))]]) ).
cnf(refute_0_20,plain,
says(me,poor(me)),
inference(resolve,[$cnf( a_truth(poor(me),poor(me)) )],[refute_0_19,refute_0_18]) ).
cnf(refute_0_21,plain,
( ~ a_truth(knight(me),Z)
| a_truth(poor(me),Z) ),
inference(resolve,[$cnf( says(me,poor(me)) )],[refute_0_20,refute_0_17]) ).
cnf(refute_0_22,plain,
( ~ a_truth(knight(me),and(knight(me),Y))
| a_truth(poor(me),and(knight(me),Y)) ),
inference(subst,[],[refute_0_21:[bind(Z,$fot(and(knight(me),Y)))]]) ).
cnf(refute_0_23,plain,
( a_truth(poor(me),and(knight(me),Y))
| says(me,and(knight(me),Y)) ),
inference(resolve,[$cnf( a_truth(knight(me),and(knight(me),Y)) )],[refute_0_16,refute_0_22]) ).
cnf(refute_0_24,plain,
( a_truth(poor(me),and(knight(me),X_122))
| says(me,and(knight(me),X_122)) ),
inference(subst,[],[refute_0_23:[bind(Y,$fot(X_122))]]) ).
cnf(refute_0_25,plain,
says(me,and(knight(me),X_122)),
inference(resolve,[$cnf( a_truth(poor(me),and(knight(me),X_122)) )],[refute_0_24,refute_0_6]) ).
cnf(refute_0_26,plain,
says(me,and(knight(me),knave(me))),
inference(subst,[],[refute_0_25:[bind(X_122,$fot(knave(me)))]]) ).
cnf(refute_0_27,plain,
( ~ a_truth(and(knave(me),rich(me)),and(X_206,knave(me)))
| ~ says(me,and(X_206,knave(me))) ),
inference(subst,[],[prove_statement_exists1:[bind(X,$fot(and(X_206,knave(me))))]]) ).
cnf(refute_0_28,plain,
( ~ a_truth(knave(me),and(X_62,knave(me)))
| a_truth(Y,and(X_62,knave(me)))
| says(me,Y) ),
inference(subst,[],[knaves_lie2:[bind(X,$fot(me)),bind(Z,$fot(and(X_62,knave(me))))]]) ).
cnf(refute_0_29,plain,
( ~ a_truth(and(X,Y),and(X,Y))
| a_truth(Y,and(X,Y)) ),
inference(subst,[],[conjunction2:[bind(Z,$fot(and(X,Y)))]]) ).
cnf(refute_0_30,plain,
( a_truth(knave(X_44),X_46)
| a_truth(knight(X_44),X_46) ),
inference(subst,[],[knight_or_knave:[bind(X,$fot(X_44)),bind(Y,$fot(X_46))]]) ).
cnf(refute_0_31,plain,
( ~ a_truth(knight(X_44),X_46)
| ~ says(X_44,X_45)
| a_truth(X_45,X_46) ),
inference(subst,[],[knights_tell_truth1:[bind(X,$fot(X_44)),bind(Y,$fot(X_45)),bind(Z,$fot(X_46))]]) ).
cnf(refute_0_32,plain,
( ~ says(X_44,X_45)
| a_truth(X_45,X_46)
| a_truth(knave(X_44),X_46) ),
inference(resolve,[$cnf( a_truth(knight(X_44),X_46) )],[refute_0_30,refute_0_31]) ).
cnf(refute_0_33,plain,
( ~ says(me,X_59)
| a_truth(X_59,X_46)
| a_truth(knave(me),X_46) ),
inference(subst,[],[refute_0_32:[bind(X_44,$fot(me)),bind(X_45,$fot(X_59))]]) ).
cnf(refute_0_34,plain,
( a_truth(X_59,X_59)
| says(me,X_59) ),
inference(subst,[],[refute_0_13:[bind(X_57,$fot(X_59)),bind(X_58,$fot(X_59))]]) ).
cnf(refute_0_35,plain,
( a_truth(X_59,X_46)
| a_truth(X_59,X_59)
| a_truth(knave(me),X_46) ),
inference(resolve,[$cnf( says(me,X_59) )],[refute_0_34,refute_0_33]) ).
cnf(refute_0_36,plain,
( a_truth(and(X,Y),and(X,Y))
| a_truth(knave(me),and(X,Y)) ),
inference(subst,[],[refute_0_35:[bind(X_46,$fot(and(X,Y))),bind(X_59,$fot(and(X,Y)))]]) ).
cnf(refute_0_37,plain,
( a_truth(Y,and(X,Y))
| a_truth(knave(me),and(X,Y)) ),
inference(resolve,[$cnf( a_truth(and(X,Y),and(X,Y)) )],[refute_0_36,refute_0_29]) ).
cnf(refute_0_38,plain,
a_truth(knave(me),and(X_62,knave(me))),
inference(subst,[],[refute_0_37:[bind(X,$fot(X_62)),bind(Y,$fot(knave(me)))]]) ).
cnf(refute_0_39,plain,
( a_truth(Y,and(X_62,knave(me)))
| says(me,Y) ),
inference(resolve,[$cnf( a_truth(knave(me),and(X_62,knave(me))) )],[refute_0_38,refute_0_28]) ).
cnf(refute_0_40,plain,
( a_truth(and(knave(me),rich(me)),and(X_206,knave(me)))
| says(me,and(knave(me),rich(me))) ),
inference(subst,[],[refute_0_39:[bind(Y,$fot(and(knave(me),rich(me)))),bind(X_62,$fot(X_206))]]) ).
cnf(refute_0_41,plain,
( ~ says(me,and(X_206,knave(me)))
| says(me,and(knave(me),rich(me))) ),
inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),and(X_206,knave(me))) )],[refute_0_40,refute_0_27]) ).
cnf(refute_0_42,plain,
( a_truth(and(knave(me),rich(me)),knave(me))
| says(me,knave(me)) ),
inference(subst,[],[prove_statement_exists2:[bind(X,$fot(knave(me)))]]) ).
cnf(refute_0_43,plain,
( ~ a_truth(Y,knave(me))
| ~ a_truth(knave(me),knave(me))
| ~ says(me,Y) ),
inference(subst,[],[knaves_lie1:[bind(X,$fot(me)),bind(Z,$fot(knave(me)))]]) ).
cnf(refute_0_44,plain,
a_truth(knave(me),knave(me)),
inference(subst,[],[refute_0_35:[bind(X_46,$fot(knave(me))),bind(X_59,$fot(knave(me)))]]) ).
cnf(refute_0_45,plain,
( ~ a_truth(Y,knave(me))
| ~ says(me,Y) ),
inference(resolve,[$cnf( a_truth(knave(me),knave(me)) )],[refute_0_44,refute_0_43]) ).
cnf(refute_0_46,plain,
( ~ a_truth(and(knave(me),rich(me)),knave(me))
| ~ says(me,and(knave(me),rich(me))) ),
inference(subst,[],[refute_0_45:[bind(Y,$fot(and(knave(me),rich(me))))]]) ).
cnf(refute_0_47,plain,
( ~ says(me,and(knave(me),rich(me)))
| says(me,knave(me)) ),
inference(resolve,[$cnf( a_truth(and(knave(me),rich(me)),knave(me)) )],[refute_0_42,refute_0_46]) ).
cnf(refute_0_48,plain,
( ~ a_truth(knave(me),knave(me))
| ~ says(me,knave(me)) ),
inference(subst,[],[knaves_lie1:[bind(X,$fot(me)),bind(Y,$fot(knave(me))),bind(Z,$fot(knave(me)))]]) ).
cnf(refute_0_49,plain,
~ says(me,knave(me)),
inference(resolve,[$cnf( a_truth(knave(me),knave(me)) )],[refute_0_44,refute_0_48]) ).
cnf(refute_0_50,plain,
~ says(me,and(knave(me),rich(me))),
inference(resolve,[$cnf( says(me,knave(me)) )],[refute_0_47,refute_0_49]) ).
cnf(refute_0_51,plain,
~ says(me,and(X_206,knave(me))),
inference(resolve,[$cnf( says(me,and(knave(me),rich(me))) )],[refute_0_41,refute_0_50]) ).
cnf(refute_0_52,plain,
~ says(me,and(knight(me),knave(me))),
inference(subst,[],[refute_0_51:[bind(X_206,$fot(knight(me)))]]) ).
cnf(refute_0_53,plain,
$false,
inference(resolve,[$cnf( says(me,and(knight(me),knave(me))) )],[refute_0_26,refute_0_52]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12 % Problem : PUZ021-1 : TPTP v8.1.0. Released v1.0.0.
% 0.03/0.13 % Command : metis --show proof --show saturation %s
% 0.14/0.34 % Computer : n017.cluster.edu
% 0.14/0.34 % Model : x86_64 x86_64
% 0.14/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34 % Memory : 8042.1875MB
% 0.14/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34 % CPULimit : 300
% 0.14/0.34 % WCLimit : 600
% 0.14/0.34 % DateTime : Sat May 28 21:07:38 EDT 2022
% 0.14/0.34 % CPUTime :
% 0.14/0.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 48.16/48.35 % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 48.16/48.35
% 48.16/48.35 % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 48.16/48.35
%------------------------------------------------------------------------------