TSTP Solution File: PUZ129+2 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : PUZ129+2 : TPTP v8.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n004.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:39 EDT 2022

% Result   : Theorem 1.80s 1.99s
% Output   : Refutation 1.80s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    8
%            Number of leaves      :   13
% Syntax   : Number of clauses     :   27 (  14 unt;   0 nHn;  26 RR)
%            Number of literals    :   50 (  15 equ;  24 neg)
%            Maximal clause size   :    4 (   1 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :    6 (   4 usr;   1 prp; 0-3 aty)
%            Number of functors    :   10 (  10 usr;   6 con; 0-1 aty)
%            Number of variables   :   15 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(1,axiom,
    ( ~ person(A)
    | ~ property1(A,honest,pos)
    | ~ property1(A,industrious,pos)
    | property1(dollar_f1(A),healthy,pos) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(2,axiom,
    ( ~ person(A)
    | ~ property1(A,honest,pos)
    | ~ property1(A,industrious,pos)
    | A = dollar_f1(A) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(3,plain,
    ( ~ person(A)
    | ~ property1(A,honest,pos)
    | ~ property1(A,industrious,pos)
    | dollar_f1(A) = A ),
    inference(flip,[status(thm),theory(equality)],[inference(copy,[status(thm)],[2])]),
    [iquote('copy,2,flip.4')] ).

cnf(4,axiom,
    ( ~ grocer(A)
    | ~ property1(B,healthy,pos)
    | A != B ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(5,axiom,
    ( ~ grocer(A)
    | ~ property1(A,industrious,pos)
    | property1(dollar_f2(A),honest,pos) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(6,axiom,
    ( ~ grocer(A)
    | ~ property1(A,industrious,pos)
    | A = dollar_f2(A) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(7,plain,
    ( ~ grocer(A)
    | ~ property1(A,industrious,pos)
    | dollar_f2(A) = A ),
    inference(flip,[status(thm),theory(equality)],[inference(copy,[status(thm)],[6])]),
    [iquote('copy,6,flip.3')] ).

cnf(8,axiom,
    ( ~ cyclist(A)
    | property1(dollar_f3(A),industrious,pos) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(9,axiom,
    ( ~ cyclist(A)
    | A = dollar_f3(A) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(10,plain,
    ( ~ cyclist(A)
    | dollar_f3(A) = A ),
    inference(flip,[status(thm),theory(equality)],[inference(copy,[status(thm)],[9])]),
    [iquote('copy,9,flip.2')] ).

cnf(19,axiom,
    ( ~ cyclist(A)
    | person(dollar_f6(A)) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(20,axiom,
    ( ~ cyclist(A)
    | A = dollar_f6(A) ),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(21,plain,
    ( ~ cyclist(A)
    | dollar_f6(A) = A ),
    inference(flip,[status(thm),theory(equality)],[inference(copy,[status(thm)],[20])]),
    [iquote('copy,20,flip.2')] ).

cnf(22,axiom,
    A = A,
    file('PUZ129+2.p',unknown),
    [] ).

cnf(23,axiom,
    grocer(dollar_c2),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(24,axiom,
    cyclist(dollar_c1),
    file('PUZ129+2.p',unknown),
    [] ).

cnf(26,axiom,
    dollar_c2 = dollar_c1,
    file('PUZ129+2.p',unknown),
    [] ).

cnf(27,plain,
    grocer(dollar_c1),
    inference(demod,[status(thm),theory(equality)],[inference(back_demod,[status(thm)],[23]),26]),
    [iquote('back_demod,23,demod,26')] ).

cnf(29,plain,
    dollar_f6(dollar_c1) = dollar_c1,
    inference(hyper,[status(thm)],[24,21]),
    [iquote('hyper,24,21')] ).

cnf(30,plain,
    person(dollar_c1),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[24,19]),29]),
    [iquote('hyper,24,19,demod,29')] ).

cnf(32,plain,
    dollar_f3(dollar_c1) = dollar_c1,
    inference(hyper,[status(thm)],[24,10]),
    [iquote('hyper,24,10')] ).

cnf(33,plain,
    property1(dollar_c1,industrious,pos),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[24,8]),32]),
    [iquote('hyper,24,8,demod,32')] ).

cnf(37,plain,
    dollar_f2(dollar_c1) = dollar_c1,
    inference(hyper,[status(thm)],[33,7,27]),
    [iquote('hyper,33,7,27')] ).

cnf(38,plain,
    property1(dollar_c1,honest,pos),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[33,5,27]),37]),
    [iquote('hyper,33,5,27,demod,37')] ).

cnf(40,plain,
    dollar_f1(dollar_c1) = dollar_c1,
    inference(hyper,[status(thm)],[38,3,30,33]),
    [iquote('hyper,38,3,30,33')] ).

cnf(41,plain,
    property1(dollar_c1,healthy,pos),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[38,1,30,33]),40]),
    [iquote('hyper,38,1,30,33,demod,40')] ).

cnf(42,plain,
    $false,
    inference(hyper,[status(thm)],[41,4,27,22]),
    [iquote('hyper,41,4,27,22')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : PUZ129+2 : TPTP v8.1.0. Released v4.0.0.
% 0.07/0.13  % Command  : otter-tptp-script %s
% 0.13/0.34  % Computer : n004.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Wed Jul 27 01:43:36 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 1.80/1.99  ----- Otter 3.3f, August 2004 -----
% 1.80/1.99  The process was started by sandbox2 on n004.cluster.edu,
% 1.80/1.99  Wed Jul 27 01:43:36 2022
% 1.80/1.99  The command was "./otter".  The process ID is 24280.
% 1.80/1.99  
% 1.80/1.99  set(prolog_style_variables).
% 1.80/1.99  set(auto).
% 1.80/1.99     dependent: set(auto1).
% 1.80/1.99     dependent: set(process_input).
% 1.80/1.99     dependent: clear(print_kept).
% 1.80/1.99     dependent: clear(print_new_demod).
% 1.80/1.99     dependent: clear(print_back_demod).
% 1.80/1.99     dependent: clear(print_back_sub).
% 1.80/1.99     dependent: set(control_memory).
% 1.80/1.99     dependent: assign(max_mem, 12000).
% 1.80/1.99     dependent: assign(pick_given_ratio, 4).
% 1.80/1.99     dependent: assign(stats_level, 1).
% 1.80/1.99     dependent: assign(max_seconds, 10800).
% 1.80/1.99  clear(print_given).
% 1.80/1.99  
% 1.80/1.99  formula_list(usable).
% 1.80/1.99  all A (A=A).
% 1.80/1.99  -((all A (person(A)&property1(A,honest,pos)&property1(A,industrious,pos)-> (exists B (property1(B,healthy,pos)&A=B))))& (all C (grocer(C)-> -(exists D (property1(D,healthy,pos)&C=D))))& (all E (grocer(E)&property1(E,industrious,pos)-> (exists F (property1(F,honest,pos)&E=F))))& (all G (cyclist(G)-> (exists H (property1(H,industrious,pos)&G=H))))& (all I (cyclist(I)&property1(I,unhealthy,pos)-> (exists J (property1(J,dishonest,pos)&I=J))))& (all K (person(K)&property1(K,healthy,pos)-> -(exists L (property1(L,unhealthy,pos)&K=L))))& (all M (person(M)&property1(M,honest,pos)-> -(exists N (property1(N,dishonest,pos)&M=N))))& (all O (grocer(O)-> (exists P (person(P)&O=P))))& (all Q (cyclist(Q)-> (exists R (person(R)&Q=R))))-> (all S (grocer(S)-> -(exists T (cyclist(T)&S=T))))).
% 1.80/1.99  end_of_list.
% 1.80/1.99  
% 1.80/1.99  -------> usable clausifies to:
% 1.80/1.99  
% 1.80/1.99  list(usable).
% 1.80/1.99  0 [] A=A.
% 1.80/1.99  0 [] -person(A)| -property1(A,honest,pos)| -property1(A,industrious,pos)|property1($f1(A),healthy,pos).
% 1.80/1.99  0 [] -person(A)| -property1(A,honest,pos)| -property1(A,industrious,pos)|A=$f1(A).
% 1.80/1.99  0 [] -grocer(C)| -property1(D,healthy,pos)|C!=D.
% 1.80/1.99  0 [] -grocer(E)| -property1(E,industrious,pos)|property1($f2(E),honest,pos).
% 1.80/1.99  0 [] -grocer(E)| -property1(E,industrious,pos)|E=$f2(E).
% 1.80/1.99  0 [] -cyclist(G)|property1($f3(G),industrious,pos).
% 1.80/1.99  0 [] -cyclist(G)|G=$f3(G).
% 1.80/1.99  0 [] -cyclist(I)| -property1(I,unhealthy,pos)|property1($f4(I),dishonest,pos).
% 1.80/1.99  0 [] -cyclist(I)| -property1(I,unhealthy,pos)|I=$f4(I).
% 1.80/1.99  0 [] -person(K)| -property1(K,healthy,pos)| -property1(L,unhealthy,pos)|K!=L.
% 1.80/1.99  0 [] -person(M)| -property1(M,honest,pos)| -property1(N,dishonest,pos)|M!=N.
% 1.80/1.99  0 [] -grocer(O)|person($f5(O)).
% 1.80/1.99  0 [] -grocer(O)|O=$f5(O).
% 1.80/1.99  0 [] -cyclist(Q)|person($f6(Q)).
% 1.80/1.99  0 [] -cyclist(Q)|Q=$f6(Q).
% 1.80/1.99  0 [] grocer($c2).
% 1.80/1.99  0 [] cyclist($c1).
% 1.80/1.99  0 [] $c2=$c1.
% 1.80/1.99  end_of_list.
% 1.80/1.99  
% 1.80/1.99  SCAN INPUT: prop=0, horn=1, equality=1, symmetry=0, max_lits=4.
% 1.80/1.99  
% 1.80/1.99  This is a Horn set with equality.  The strategy will be
% 1.80/1.99  Knuth-Bendix and hyper_res, with positive clauses in
% 1.80/1.99  sos and nonpositive clauses in usable.
% 1.80/1.99  
% 1.80/1.99     dependent: set(knuth_bendix).
% 1.80/1.99     dependent: set(anl_eq).
% 1.80/1.99     dependent: set(para_from).
% 1.80/1.99     dependent: set(para_into).
% 1.80/1.99     dependent: clear(para_from_right).
% 1.80/1.99     dependent: clear(para_into_right).
% 1.80/1.99     dependent: set(para_from_vars).
% 1.80/1.99     dependent: set(eq_units_both_ways).
% 1.80/1.99     dependent: set(dynamic_demod_all).
% 1.80/1.99     dependent: set(dynamic_demod).
% 1.80/1.99     dependent: set(order_eq).
% 1.80/1.99     dependent: set(back_demod).
% 1.80/1.99     dependent: set(lrpo).
% 1.80/1.99     dependent: set(hyper_res).
% 1.80/1.99     dependent: clear(order_hyper).
% 1.80/1.99  
% 1.80/1.99  ------------> process usable:
% 1.80/1.99  ** KEPT (pick-wt=15): 1 [] -person(A)| -property1(A,honest,pos)| -property1(A,industrious,pos)|property1($f1(A),healthy,pos).
% 1.80/1.99  ** KEPT (pick-wt=14): 3 [copy,2,flip.4] -person(A)| -property1(A,honest,pos)| -property1(A,industrious,pos)|$f1(A)=A.
% 1.80/1.99  ** KEPT (pick-wt=9): 4 [] -grocer(A)| -property1(B,healthy,pos)|A!=B.
% 1.80/1.99  ** KEPT (pick-wt=11): 5 [] -grocer(A)| -property1(A,industrious,pos)|property1($f2(A),honest,pos).
% 1.80/1.99  ** KEPT (pick-wt=10): 7 [copy,6,flip.3] -grocer(A)| -property1(A,industrious,pos)|$f2(A)=A.
% 1.80/1.99  ** KEPT (pick-wt=7): 8 [] -cyclist(A)|property1($f3(A),industrious,pos).
% 1.80/1.99  ** KEPT (pick-wt=6): 10 [copy,9,flip.2] -cyclist(A)|$f3(A)=A.
% 1.80/1.99  ** KEPT (pick-wt=11): 11 [] -cyclist(A)| -property1(A,unhealthy,pos)|property1($f4(A),dishonest,pos).
% 1.80/1.99  ** KEPT (pick-wt=10): 13 [copy,12,flip.3] -cyclist(A)| -property1(A,unhealthy,pos)|$f4(A)=A.
% 1.80/1.99  ** KEPT (pick-wt=13): 14 [] -person(A)| -property1(A,healthy,pos)| -property1(B,unhealthy,pos)|A!=B.
% 1.80/1.99  ** KEPT (pick-wt=13): 15 [] -person(A)| -property1(A,honest,pos)| -property1(B,dishonest,pos)|A!=B.
% 1.80/1.99  ** KEPT (pick-wt=5): 16 [] -grocer(A)|person($f5(A)).
% 1.80/1.99  ** KEPT (pick-wt=6): 18 [copy,17,flip.2] -grocer(A)|$f5(A)=A.
% 1.80/1.99  ** KEPT (pick-wt=5): 19 [] -cyclist(A)|person($f6(A)).
% 1.80/1.99  ** KEPT (pick-wt=6): 21 [copy,20,flip.2] -cyclist(A)|$f6(A)=A.
% 1.80/1.99  
% 1.80/1.99  ------------> process sos:
% 1.80/1.99  ** KEPT (pick-wt=3): 22 [] A=A.
% 1.80/1.99  ** KEPT (pick-wt=2): 23 [] grocer($c2).
% 1.80/1.99  ** KEPT (pick-wt=2): 24 [] cyclist($c1).
% 1.80/1.99  ** KEPT (pick-wt=3): 25 [] $c2=$c1.
% 1.80/1.99  ---> New Demodulator: 26 [new_demod,25] $c2=$c1.
% 1.80/1.99    Following clause subsumed by 22 during input processing: 0 [copy,22,flip.1] A=A.
% 1.80/1.99  >>>> Starting back demodulation with 26.
% 1.80/1.99      >> back demodulating 23 with 26.
% 1.80/1.99  
% 1.80/1.99  ======= end of input processing =======
% 1.80/1.99  
% 1.80/1.99  =========== start of search ===========
% 1.80/1.99  
% 1.80/1.99  -------- PROOF -------- 
% 1.80/1.99  
% 1.80/1.99  -----> EMPTY CLAUSE at   0.00 sec ----> 42 [hyper,41,4,27,22] $F.
% 1.80/1.99  
% 1.80/1.99  Length of proof is 13.  Level of proof is 7.
% 1.80/1.99  
% 1.80/1.99  ---------------- PROOF ----------------
% 1.80/1.99  % SZS status Theorem
% 1.80/1.99  % SZS output start Refutation
% See solution above
% 1.80/1.99  ------------ end of proof -------------
% 1.80/1.99  
% 1.80/1.99  
% 1.80/1.99  Search stopped by max_proofs option.
% 1.80/1.99  
% 1.80/1.99  
% 1.80/1.99  Search stopped by max_proofs option.
% 1.80/1.99  
% 1.80/1.99  ============ end of search ============
% 1.80/1.99  
% 1.80/1.99  -------------- statistics -------------
% 1.80/1.99  clauses given                 13
% 1.80/1.99  clauses generated             38
% 1.80/1.99  clauses kept                  29
% 1.80/1.99  clauses forward subsumed      29
% 1.80/1.99  clauses back subsumed          0
% 1.80/1.99  Kbytes malloced              976
% 1.80/1.99  
% 1.80/1.99  ----------- times (seconds) -----------
% 1.80/1.99  user CPU time          0.00          (0 hr, 0 min, 0 sec)
% 1.80/1.99  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 1.80/1.99  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 1.80/1.99  
% 1.80/1.99  That finishes the proof of the theorem.
% 1.80/1.99  
% 1.80/1.99  Process 24280 finished Wed Jul 27 01:43:38 2022
% 1.80/1.99  Otter interrupted
% 1.80/1.99  PROOF FOUND
%------------------------------------------------------------------------------