TSTP Solution File: CAT004-4 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : CAT004-4 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n019.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 12:47:45 EDT 2022

% Result   : Unsatisfiable 2.91s 3.12s
% Output   : Refutation 2.91s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :   10
% Syntax   : Number of clauses     :   19 (  10 unt;   0 nHn;  15 RR)
%            Number of literals    :   36 (  23 equ;  20 neg)
%            Maximal clause size   :    5 (   1 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    4 (   2 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   4 con; 0-2 aty)
%            Number of variables   :   29 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(2,axiom,
    ( ~ e_quivalent(A,B)
    | A = B ),
    file('CAT004-4.p',unknown),
    [] ).

cnf(3,axiom,
    ( ~ there_exists(A)
    | A != B
    | e_quivalent(A,B) ),
    file('CAT004-4.p',unknown),
    [] ).

cnf(9,axiom,
    ( compose(A,a) != B
    | compose(C,a) != B
    | A = C ),
    file('CAT004-4.p',unknown),
    [] ).

cnf(10,axiom,
    ( compose(A,b) != B
    | compose(C,b) != B
    | A = C ),
    file('CAT004-4.p',unknown),
    [] ).

cnf(11,axiom,
    h != g,
    file('CAT004-4.p',unknown),
    [] ).

cnf(12,axiom,
    A = A,
    file('CAT004-4.p',unknown),
    [] ).

cnf(13,axiom,
    compose(A,compose(B,C)) = compose(compose(A,B),C),
    file('CAT004-4.p',unknown),
    [] ).

cnf(15,plain,
    compose(compose(A,B),C) = compose(A,compose(B,C)),
    inference(flip,[status(thm),theory(equality)],[inference(copy,[status(thm)],[13])]),
    [iquote('copy,13,flip.1')] ).

cnf(17,axiom,
    compose(A,domain(A)) = A,
    file('CAT004-4.p',unknown),
    [] ).

cnf(21,axiom,
    there_exists(h),
    file('CAT004-4.p',unknown),
    [] ).

cnf(23,axiom,
    compose(h,compose(a,b)) = compose(g,compose(a,b)),
    file('CAT004-4.p',unknown),
    [] ).

cnf(24,plain,
    e_quivalent(h,h),
    inference(hyper,[status(thm)],[21,3,12]),
    [iquote('hyper,21,3,12')] ).

cnf(29,plain,
    ( e_quivalent(A,h)
    | compose(h,a) != B
    | compose(A,a) != B ),
    inference(para_into,[status(thm),theory(equality)],[24,9]),
    [iquote('para_into,24.1.1,9.3.1')] ).

cnf(96,plain,
    ( A = B
    | ~ e_quivalent(B,A) ),
    inference(demod,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[17,2]),17]),
    [iquote('para_into,16.1.1,2.2.1,demod,17')] ).

cnf(423,plain,
    ( A != g
    | ~ e_quivalent(A,h) ),
    inference(para_from,[status(thm),theory(equality)],[96,11]),
    [iquote('para_from,96.1.1,11.1.1')] ).

cnf(482,plain,
    ( e_quivalent(A,h)
    | B != C
    | compose(A,a) != C
    | compose(g,compose(a,b)) != D
    | compose(B,b) != D ),
    inference(demod,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[29,10]),15,23]),
    [iquote('para_into,29.2.1,10.3.1,demod,15,23')] ).

cnf(1109,plain,
    ( A != g
    | ~ e_quivalent(A,B)
    | ~ e_quivalent(h,B) ),
    inference(para_into,[status(thm),theory(equality)],[423,2]),
    [iquote('para_into,423.2.2,2.2.1')] ).

cnf(3300,plain,
    e_quivalent(g,h),
    inference(hyper,[status(thm)],[482,12,12,12,15]),
    [iquote('hyper,482,12,12,12,14')] ).

cnf(3302,plain,
    $false,
    inference(hyper,[status(thm)],[3300,1109,12,24]),
    [iquote('hyper,3300,1109,12,24')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12  % Problem  : CAT004-4 : TPTP v8.1.0. Released v1.0.0.
% 0.06/0.12  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n019.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  : 300
% 0.12/0.33  % DateTime : Wed Jul 27 02:05:22 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 2.91/3.12  ----- Otter 3.3f, August 2004 -----
% 2.91/3.12  The process was started by sandbox2 on n019.cluster.edu,
% 2.91/3.12  Wed Jul 27 02:05:22 2022
% 2.91/3.12  The command was "./otter".  The process ID is 2846.
% 2.91/3.12  
% 2.91/3.12  set(prolog_style_variables).
% 2.91/3.12  set(auto).
% 2.91/3.12     dependent: set(auto1).
% 2.91/3.12     dependent: set(process_input).
% 2.91/3.12     dependent: clear(print_kept).
% 2.91/3.12     dependent: clear(print_new_demod).
% 2.91/3.12     dependent: clear(print_back_demod).
% 2.91/3.12     dependent: clear(print_back_sub).
% 2.91/3.12     dependent: set(control_memory).
% 2.91/3.12     dependent: assign(max_mem, 12000).
% 2.91/3.12     dependent: assign(pick_given_ratio, 4).
% 2.91/3.12     dependent: assign(stats_level, 1).
% 2.91/3.12     dependent: assign(max_seconds, 10800).
% 2.91/3.12  clear(print_given).
% 2.91/3.12  
% 2.91/3.12  list(usable).
% 2.91/3.12  0 [] A=A.
% 2.91/3.12  0 [] -e_quivalent(X,Y)|there_exists(X).
% 2.91/3.12  0 [] -e_quivalent(X,Y)|X=Y.
% 2.91/3.12  0 [] -there_exists(X)|X!=Y|e_quivalent(X,Y).
% 2.91/3.12  0 [] -there_exists(domain(X))|there_exists(X).
% 2.91/3.12  0 [] -there_exists(codomain(X))|there_exists(X).
% 2.91/3.12  0 [] -there_exists(compose(X,Y))|there_exists(domain(X)).
% 2.91/3.12  0 [] -there_exists(compose(X,Y))|domain(X)=codomain(Y).
% 2.91/3.12  0 [] -there_exists(domain(X))|domain(X)!=codomain(Y)|there_exists(compose(X,Y)).
% 2.91/3.12  0 [] compose(X,compose(Y,Z))=compose(compose(X,Y),Z).
% 2.91/3.12  0 [] compose(X,domain(X))=X.
% 2.91/3.12  0 [] compose(codomain(X),X)=X.
% 2.91/3.12  0 [] there_exists(compose(a,b)).
% 2.91/3.12  0 [] compose(X,a)!=Y|compose(Z,a)!=Y|X=Z.
% 2.91/3.12  0 [] compose(X,b)!=Y|compose(Z,b)!=Y|X=Z.
% 2.91/3.12  0 [] there_exists(h).
% 2.91/3.12  0 [] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 2.91/3.12  0 [] h!=g.
% 2.91/3.12  end_of_list.
% 2.91/3.12  
% 2.91/3.12  SCAN INPUT: prop=0, horn=1, equality=1, symmetry=0, max_lits=3.
% 2.91/3.12  
% 2.91/3.12  This is a Horn set with equality.  The strategy will be
% 2.91/3.12  Knuth-Bendix and hyper_res, with positive clauses in
% 2.91/3.12  sos and nonpositive clauses in usable.
% 2.91/3.12  
% 2.91/3.12     dependent: set(knuth_bendix).
% 2.91/3.12     dependent: set(anl_eq).
% 2.91/3.12     dependent: set(para_from).
% 2.91/3.12     dependent: set(para_into).
% 2.91/3.12     dependent: clear(para_from_right).
% 2.91/3.12     dependent: clear(para_into_right).
% 2.91/3.12     dependent: set(para_from_vars).
% 2.91/3.12     dependent: set(eq_units_both_ways).
% 2.91/3.12     dependent: set(dynamic_demod_all).
% 2.91/3.12     dependent: set(dynamic_demod).
% 2.91/3.12     dependent: set(order_eq).
% 2.91/3.12     dependent: set(back_demod).
% 2.91/3.12     dependent: set(lrpo).
% 2.91/3.12     dependent: set(hyper_res).
% 2.91/3.12     dependent: clear(order_hyper).
% 2.91/3.12  
% 2.91/3.12  ------------> process usable:
% 2.91/3.12  ** KEPT (pick-wt=5): 1 [] -e_quivalent(A,B)|there_exists(A).
% 2.91/3.12  ** KEPT (pick-wt=6): 2 [] -e_quivalent(A,B)|A=B.
% 2.91/3.12  ** KEPT (pick-wt=8): 3 [] -there_exists(A)|A!=B|e_quivalent(A,B).
% 2.91/3.12  ** KEPT (pick-wt=5): 4 [] -there_exists(domain(A))|there_exists(A).
% 2.91/3.12  ** KEPT (pick-wt=5): 5 [] -there_exists(codomain(A))|there_exists(A).
% 2.91/3.12  ** KEPT (pick-wt=7): 6 [] -there_exists(compose(A,B))|there_exists(domain(A)).
% 2.91/3.12  ** KEPT (pick-wt=9): 7 [] -there_exists(compose(A,B))|domain(A)=codomain(B).
% 2.91/3.12  ** KEPT (pick-wt=12): 8 [] -there_exists(domain(A))|domain(A)!=codomain(B)|there_exists(compose(A,B)).
% 2.91/3.12  ** KEPT (pick-wt=13): 9 [] compose(A,a)!=B|compose(C,a)!=B|A=C.
% 2.91/3.12  ** KEPT (pick-wt=13): 10 [] compose(A,b)!=B|compose(C,b)!=B|A=C.
% 2.91/3.12  ** KEPT (pick-wt=3): 11 [] h!=g.
% 2.91/3.12  
% 2.91/3.12  ------------> process sos:
% 2.91/3.12  ** KEPT (pick-wt=3): 12 [] A=A.
% 2.91/3.12  ** KEPT (pick-wt=11): 14 [copy,13,flip.1] compose(compose(A,B),C)=compose(A,compose(B,C)).
% 2.91/3.12  ---> New Demodulator: 15 [new_demod,14] compose(compose(A,B),C)=compose(A,compose(B,C)).
% 2.91/3.12  ** KEPT (pick-wt=6): 16 [] compose(A,domain(A))=A.
% 2.91/3.12  ---> New Demodulator: 17 [new_demod,16] compose(A,domain(A))=A.
% 2.91/3.12  ** KEPT (pick-wt=6): 18 [] compose(codomain(A),A)=A.
% 2.91/3.12  ---> New Demodulator: 19 [new_demod,18] compose(codomain(A),A)=A.
% 2.91/3.12  ** KEPT (pick-wt=4): 20 [] there_exists(compose(a,b)).
% 2.91/3.12  ** KEPT (pick-wt=2): 21 [] there_exists(h).
% 2.91/3.12  ** KEPT (pick-wt=11): 22 [] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 2.91/3.12  ---> New Demodulator: 23 [new_demod,22] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 2.91/3.12    Following clause subsumed by 12 during input processing: 0 [copy,12,flip.1] A=A.
% 2.91/3.12  >>>> Starting back demodulation with 15.
% 2.91/3.12  >>>> Starting back demodulation with 17.
% 2.91/3.12  >>>> Starting back demodulation with 19.
% 2.91/3.12  >>>> Starting back demodulation with 23.
% 2.91/3.12  
% 2.91/3.12  ======= end of input processing =======
% 2.91/3.12  
% 2.91/3.12  =========== start of search ===========
% 2.91/3.12  
% 2.91/3.12  
% 2.91/3.12  Resetting weight limit to 8.
% 2.91/3.12  
% 2.91/3.12  
% 2.91/3.12  Resetting weight limit to 8.
% 2.91/3.12  
% 2.91/3.12  sos_size=2349
% 2.91/3.12  
% 2.91/3.12  -------- PROOF -------- 
% 2.91/3.12  
% 2.91/3.12  -----> EMPTY CLAUSE at   1.20 sec ----> 3302 [hyper,3300,1109,12,24] $F.
% 2.91/3.12  
% 2.91/3.12  Length of proof is 8.  Level of proof is 4.
% 2.91/3.12  
% 2.91/3.12  ---------------- PROOF ----------------
% 2.91/3.12  % SZS status Unsatisfiable
% 2.91/3.12  % SZS output start Refutation
% See solution above
% 2.91/3.12  ------------ end of proof -------------
% 2.91/3.12  
% 2.91/3.12  
% 2.91/3.12  Search stopped by max_proofs option.
% 2.91/3.12  
% 2.91/3.12  
% 2.91/3.12  Search stopped by max_proofs option.
% 2.91/3.12  
% 2.91/3.12  ============ end of search ============
% 2.91/3.12  
% 2.91/3.12  -------------- statistics -------------
% 2.91/3.12  clauses given               1227
% 2.91/3.12  clauses generated         137241
% 2.91/3.12  clauses kept                3215
% 2.91/3.12  clauses forward subsumed   10169
% 2.91/3.12  clauses back subsumed         25
% 2.91/3.12  Kbytes malloced             5859
% 2.91/3.12  
% 2.91/3.12  ----------- times (seconds) -----------
% 2.91/3.12  user CPU time          1.20          (0 hr, 0 min, 1 sec)
% 2.91/3.12  system CPU time        0.01          (0 hr, 0 min, 0 sec)
% 2.91/3.12  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 2.91/3.12  
% 2.91/3.12  That finishes the proof of the theorem.
% 2.91/3.12  
% 2.91/3.12  Process 2846 finished Wed Jul 27 02:05:24 2022
% 2.91/3.12  Otter interrupted
% 2.91/3.12  PROOF FOUND
%------------------------------------------------------------------------------