TSTP Solution File: PUZ020-1 by Otter---3.3
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Otter---3.3
% Problem : PUZ020-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm : none
% Format : tptp:raw
% Command : otter-tptp-script %s
% Computer : n024.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 : 300s
% DateTime : Wed Jul 27 13:11:23 EDT 2022
% Result : Unsatisfiable 1.62s 1.80s
% Output : Refutation 1.62s
% Verified :
% SZS Type : Refutation
% Derivation depth : 2
% Number of leaves : 7
% Syntax : Number of clauses : 10 ( 6 unt; 2 nHn; 10 RR)
% Number of literals : 16 ( 0 equ; 6 neg)
% Maximal clause size : 3 ( 1 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of predicates : 6 ( 5 usr; 1 prp; 0-2 aty)
% Number of functors : 3 ( 3 usr; 2 con; 0-1 aty)
% Number of variables : 3 ( 0 sgn)
% Comments :
%------------------------------------------------------------------------------
cnf(1,axiom,
( ~ person(A)
| knight(A)
| knave(A) ),
file('PUZ020-1.p',unknown),
[] ).
cnf(9,axiom,
( ~ knave(A)
| ~ says(A,B)
| ~ a_truth(B) ),
file('PUZ020-1.p',unknown),
[] ).
cnf(14,axiom,
( ~ knight(wife)
| a_truth(statement_by(husband)) ),
file('PUZ020-1.p',unknown),
[] ).
cnf(15,axiom,
~ knight(husband),
file('PUZ020-1.p',unknown),
[] ).
cnf(17,axiom,
person(husband),
file('PUZ020-1.p',unknown),
[] ).
cnf(19,axiom,
says(husband,statement_by(husband)),
file('PUZ020-1.p',unknown),
[] ).
cnf(20,axiom,
( a_truth(statement_by(husband))
| knight(wife) ),
file('PUZ020-1.p',unknown),
[] ).
cnf(22,plain,
knave(husband),
inference(unit_del,[status(thm)],[inference(hyper,[status(thm)],[17,1]),15]),
[iquote('hyper,17,1,unit_del,15')] ).
cnf(31,plain,
a_truth(statement_by(husband)),
inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[20,14])]),
[iquote('hyper,20,14,factor_simp')] ).
cnf(32,plain,
$false,
inference(hyper,[status(thm)],[31,9,22,19]),
[iquote('hyper,31,9,22,19')] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : PUZ020-1 : TPTP v8.1.0. Released v1.0.0.
% 0.00/0.12 % Command : otter-tptp-script %s
% 0.13/0.33 % Computer : n024.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 : 300
% 0.13/0.33 % DateTime : Wed Jul 27 01:49:55 EDT 2022
% 0.13/0.33 % CPUTime :
% 1.62/1.80 ----- Otter 3.3f, August 2004 -----
% 1.62/1.80 The process was started by sandbox2 on n024.cluster.edu,
% 1.62/1.80 Wed Jul 27 01:49:55 2022
% 1.62/1.80 The command was "./otter". The process ID is 20184.
% 1.62/1.80
% 1.62/1.80 set(prolog_style_variables).
% 1.62/1.80 set(auto).
% 1.62/1.80 dependent: set(auto1).
% 1.62/1.80 dependent: set(process_input).
% 1.62/1.80 dependent: clear(print_kept).
% 1.62/1.80 dependent: clear(print_new_demod).
% 1.62/1.80 dependent: clear(print_back_demod).
% 1.62/1.80 dependent: clear(print_back_sub).
% 1.62/1.80 dependent: set(control_memory).
% 1.62/1.80 dependent: assign(max_mem, 12000).
% 1.62/1.80 dependent: assign(pick_given_ratio, 4).
% 1.62/1.80 dependent: assign(stats_level, 1).
% 1.62/1.80 dependent: assign(max_seconds, 10800).
% 1.62/1.80 clear(print_given).
% 1.62/1.80
% 1.62/1.80 list(usable).
% 1.62/1.80 0 [] A=A.
% 1.62/1.80 0 [] -person(X)|knight(X)|knave(X).
% 1.62/1.80 0 [] -person(X)| -knight(X)| -knave(X).
% 1.62/1.80 0 [] -says(X,Y)|a_truth(Y)| -a_truth(Y).
% 1.62/1.80 0 [] -says(X,Y)|X!=Y.
% 1.62/1.80 0 [] -says(X,Y)|Y=statement_by(X).
% 1.62/1.80 0 [] -person(X)|X!=statement_by(Y).
% 1.62/1.80 0 [] -person(X)| -a_truth(statement_by(X))|knight(X).
% 1.62/1.80 0 [] -person(X)|a_truth(statement_by(X))|knave(X).
% 1.62/1.80 0 [] -knight(X)| -says(X,Y)|a_truth(Y).
% 1.62/1.80 0 [] -knave(X)| -says(X,Y)| -a_truth(Y).
% 1.62/1.80 0 [] person(husband).
% 1.62/1.80 0 [] person(wife).
% 1.62/1.80 0 [] husband!=wife.
% 1.62/1.80 0 [] says(husband,statement_by(husband)).
% 1.62/1.80 0 [] -a_truth(statement_by(husband))| -knight(husband)|knight(wife).
% 1.62/1.80 0 [] a_truth(statement_by(husband))| -knight(husband).
% 1.62/1.80 0 [] a_truth(statement_by(husband))|knight(wife).
% 1.62/1.80 0 [] -knight(wife)|a_truth(statement_by(husband)).
% 1.62/1.80 0 [] -knight(husband).
% 1.62/1.80 end_of_list.
% 1.62/1.80
% 1.62/1.80 SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=3.
% 1.62/1.80
% 1.62/1.80 This ia a non-Horn set with equality. The strategy will be
% 1.62/1.80 Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.62/1.80 deletion, with positive clauses in sos and nonpositive
% 1.62/1.80 clauses in usable.
% 1.62/1.80
% 1.62/1.80 dependent: set(knuth_bendix).
% 1.62/1.80 dependent: set(anl_eq).
% 1.62/1.80 dependent: set(para_from).
% 1.62/1.80 dependent: set(para_into).
% 1.62/1.80 dependent: clear(para_from_right).
% 1.62/1.80 dependent: clear(para_into_right).
% 1.62/1.80 dependent: set(para_from_vars).
% 1.62/1.80 dependent: set(eq_units_both_ways).
% 1.62/1.80 dependent: set(dynamic_demod_all).
% 1.62/1.80 dependent: set(dynamic_demod).
% 1.62/1.80 dependent: set(order_eq).
% 1.62/1.80 dependent: set(back_demod).
% 1.62/1.80 dependent: set(lrpo).
% 1.62/1.80 dependent: set(hyper_res).
% 1.62/1.80 dependent: set(unit_deletion).
% 1.62/1.80 dependent: set(factor).
% 1.62/1.80
% 1.62/1.80 ------------> process usable:
% 1.62/1.80 ** KEPT (pick-wt=6): 1 [] -person(A)|knight(A)|knave(A).
% 1.62/1.80 ** KEPT (pick-wt=6): 2 [] -person(A)| -knight(A)| -knave(A).
% 1.62/1.80 ** KEPT (pick-wt=6): 3 [] -says(A,B)|A!=B.
% 1.62/1.80 ** KEPT (pick-wt=7): 4 [] -says(A,B)|B=statement_by(A).
% 1.62/1.80 ** KEPT (pick-wt=6): 5 [] -person(A)|A!=statement_by(B).
% 1.62/1.80 ** KEPT (pick-wt=7): 6 [] -person(A)| -a_truth(statement_by(A))|knight(A).
% 1.62/1.80 ** KEPT (pick-wt=7): 7 [] -person(A)|a_truth(statement_by(A))|knave(A).
% 1.62/1.80 ** KEPT (pick-wt=7): 8 [] -knight(A)| -says(A,B)|a_truth(B).
% 1.62/1.80 ** KEPT (pick-wt=7): 9 [] -knave(A)| -says(A,B)| -a_truth(B).
% 1.62/1.80 ** KEPT (pick-wt=3): 11 [copy,10,flip.1] wife!=husband.
% 1.62/1.80 ** KEPT (pick-wt=7): 12 [] -a_truth(statement_by(husband))| -knight(husband)|knight(wife).
% 1.62/1.80 ** KEPT (pick-wt=5): 13 [] a_truth(statement_by(husband))| -knight(husband).
% 1.62/1.80 ** KEPT (pick-wt=5): 14 [] -knight(wife)|a_truth(statement_by(husband)).
% 1.62/1.80 ** KEPT (pick-wt=2): 15 [] -knight(husband).
% 1.62/1.80 15 back subsumes 13.
% 1.62/1.80 15 back subsumes 12.
% 1.62/1.80
% 1.62/1.80 ------------> process sos:
% 1.62/1.80 ** KEPT (pick-wt=3): 16 [] A=A.
% 1.62/1.80 ** KEPT (pick-wt=2): 17 [] person(husband).
% 1.62/1.80 ** KEPT (pick-wt=2): 18 [] person(wife).
% 1.62/1.80 ** KEPT (pick-wt=4): 19 [] says(husband,statement_by(husband)).
% 1.62/1.80 ** KEPT (pick-wt=5): 20 [] a_truth(statement_by(husband))|knight(wife).
% 1.62/1.80 Following clause subsumed by 16 during input processing: 0 [copy,16,flip.1] A=A.
% 1.62/1.80
% 1.62/1.80 ======= end of input processing =======
% 1.62/1.80
% 1.62/1.80 =========== start of search ===========
% 1.62/1.80
% 1.62/1.80 -------- PROOF --------
% 1.62/1.80
% 1.62/1.80 -----> EMPTY CLAUSE at 0.00 sec ----> 32 [hyper,31,9,22,19] $F.
% 1.62/1.80
% 1.62/1.80 Length of proof is 2. Level of proof is 1.
% 1.62/1.80
% 1.62/1.80 ---------------- PROOF ----------------
% 1.62/1.80 % SZS status Unsatisfiable
% 1.62/1.80 % SZS output start Refutation
% See solution above
% 1.62/1.80 ------------ end of proof -------------
% 1.62/1.80
% 1.62/1.80
% 1.62/1.80 Search stopped by max_proofs option.
% 1.62/1.80
% 1.62/1.80
% 1.62/1.80 Search stopped by max_proofs option.
% 1.62/1.80
% 1.62/1.80 ============ end of search ============
% 1.62/1.80
% 1.62/1.80 -------------- statistics -------------
% 1.62/1.80 clauses given 7
% 1.62/1.80 clauses generated 13
% 1.62/1.80 clauses kept 30
% 1.62/1.80 clauses forward subsumed 2
% 1.62/1.80 clauses back subsumed 5
% 1.62/1.80 Kbytes malloced 976
% 1.62/1.80
% 1.62/1.80 ----------- times (seconds) -----------
% 1.62/1.80 user CPU time 0.00 (0 hr, 0 min, 0 sec)
% 1.62/1.80 system CPU time 0.00 (0 hr, 0 min, 0 sec)
% 1.62/1.80 wall-clock time 1 (0 hr, 0 min, 1 sec)
% 1.62/1.80
% 1.62/1.80 That finishes the proof of the theorem.
% 1.62/1.80
% 1.62/1.80 Process 20184 finished Wed Jul 27 01:49:56 2022
% 1.62/1.80 Otter interrupted
% 1.62/1.80 PROOF FOUND
%------------------------------------------------------------------------------