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

View Problem - Process Solution

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

% Computer : n027.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.66s 2.84s
% Output   : Refutation 2.66s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :    6
% Syntax   : Number of clauses     :   13 (   9 unt;   0 nHn;   9 RR)
%            Number of literals    :   21 (  20 equ;   9 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    2 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   4 con; 0-2 aty)
%            Number of variables   :   23 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(13,axiom,
    ( compose(A,a) != B
    | compose(C,a) != B
    | A = C ),
    file('CAT004-3.p',unknown),
    [] ).

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

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

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

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

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

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

cnf(78,plain,
    ( compose(A,b) != B
    | compose(C,compose(D,b)) != B
    | A = compose(C,D) ),
    inference(para_from,[status(thm),theory(equality)],[21,14]),
    [iquote('para_from,21.1.1,14.2.1')] ).

cnf(81,plain,
    ( compose(A,compose(B,a)) != C
    | compose(D,a) != C
    | compose(A,B) = D ),
    inference(para_from,[status(thm),theory(equality)],[21,13]),
    [iquote('para_from,21.1.1,13.1.1')] ).

cnf(119,plain,
    compose(A,compose(domain(A),B)) = compose(A,B),
    inference(flip,[status(thm),theory(equality)],[inference(para_from,[status(thm),theory(equality)],[24,21])]),
    [iquote('para_from,23.1.1,21.1.1.1,flip.1')] ).

cnf(2212,plain,
    compose(h,a) = compose(g,a),
    inference(flip,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[78,21,32])]),
    [iquote('hyper,78,21,32,flip.1')] ).

cnf(2246,plain,
    h = g,
    inference(flip,[status(thm),theory(equality)],[inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[2212,81,119]),24])]),
    [iquote('hyper,2212,81,119,demod,24,flip.1')] ).

cnf(2248,plain,
    $false,
    inference(binary,[status(thm)],[2246,15]),
    [iquote('binary,2246.1,15.1')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : CAT004-3 : TPTP v8.1.0. Released v1.0.0.
% 0.03/0.13  % Command  : otter-tptp-script %s
% 0.13/0.34  % Computer : n027.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 02:08:06 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 1.71/1.94  ----- Otter 3.3f, August 2004 -----
% 1.71/1.94  The process was started by sandbox2 on n027.cluster.edu,
% 1.71/1.94  Wed Jul 27 02:08:06 2022
% 1.71/1.94  The command was "./otter".  The process ID is 10698.
% 1.71/1.94  
% 1.71/1.94  set(prolog_style_variables).
% 1.71/1.94  set(auto).
% 1.71/1.94     dependent: set(auto1).
% 1.71/1.94     dependent: set(process_input).
% 1.71/1.94     dependent: clear(print_kept).
% 1.71/1.94     dependent: clear(print_new_demod).
% 1.71/1.94     dependent: clear(print_back_demod).
% 1.71/1.94     dependent: clear(print_back_sub).
% 1.71/1.94     dependent: set(control_memory).
% 1.71/1.94     dependent: assign(max_mem, 12000).
% 1.71/1.94     dependent: assign(pick_given_ratio, 4).
% 1.71/1.94     dependent: assign(stats_level, 1).
% 1.71/1.94     dependent: assign(max_seconds, 10800).
% 1.71/1.94  clear(print_given).
% 1.71/1.94  
% 1.71/1.94  list(usable).
% 1.71/1.94  0 [] A=A.
% 1.71/1.94  0 [] -e_quivalent(X,Y)|there_exists(X).
% 1.71/1.94  0 [] -e_quivalent(X,Y)|X=Y.
% 1.71/1.94  0 [] -there_exists(X)|X!=Y|e_quivalent(X,Y).
% 1.71/1.94  0 [] -there_exists(domain(X))|there_exists(X).
% 1.71/1.94  0 [] -there_exists(codomain(X))|there_exists(X).
% 1.71/1.94  0 [] -there_exists(compose(X,Y))|there_exists(domain(X)).
% 1.71/1.94  0 [] -there_exists(compose(X,Y))|domain(X)=codomain(Y).
% 1.71/1.94  0 [] -there_exists(domain(X))|domain(X)!=codomain(Y)|there_exists(compose(X,Y)).
% 1.71/1.94  0 [] compose(X,compose(Y,Z))=compose(compose(X,Y),Z).
% 1.71/1.94  0 [] compose(X,domain(X))=X.
% 1.71/1.94  0 [] compose(codomain(X),X)=X.
% 1.71/1.94  0 [] -e_quivalent(X,Y)|there_exists(Y).
% 1.71/1.94  0 [] -there_exists(X)| -there_exists(Y)|X!=Y|e_quivalent(X,Y).
% 1.71/1.94  0 [] -there_exists(compose(X,Y))|there_exists(codomain(X)).
% 1.71/1.94  0 [] there_exists(f1(X,Y))|X=Y.
% 1.71/1.94  0 [] X=f1(X,Y)|Y=f1(X,Y)|X=Y.
% 1.71/1.94  0 [] X!=f1(X,Y)|Y!=f1(X,Y)|X=Y.
% 1.71/1.94  0 [] there_exists(compose(a,b)).
% 1.71/1.94  0 [] compose(X,a)!=Y|compose(Z,a)!=Y|X=Z.
% 1.71/1.94  0 [] compose(X,b)!=Y|compose(Z,b)!=Y|X=Z.
% 1.71/1.94  0 [] there_exists(h).
% 1.71/1.94  0 [] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 1.71/1.94  0 [] h!=g.
% 1.71/1.94  end_of_list.
% 1.71/1.94  
% 1.71/1.94  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=4.
% 1.71/1.94  
% 1.71/1.94  This ia a non-Horn set with equality.  The strategy will be
% 1.71/1.94  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.71/1.94  deletion, with positive clauses in sos and nonpositive
% 1.71/1.94  clauses in usable.
% 1.71/1.94  
% 1.71/1.94     dependent: set(knuth_bendix).
% 1.71/1.94     dependent: set(anl_eq).
% 1.71/1.94     dependent: set(para_from).
% 1.71/1.94     dependent: set(para_into).
% 1.71/1.94     dependent: clear(para_from_right).
% 1.71/1.94     dependent: clear(para_into_right).
% 1.71/1.94     dependent: set(para_from_vars).
% 1.71/1.94     dependent: set(eq_units_both_ways).
% 1.71/1.94     dependent: set(dynamic_demod_all).
% 1.71/1.94     dependent: set(dynamic_demod).
% 1.71/1.94     dependent: set(order_eq).
% 1.71/1.94     dependent: set(back_demod).
% 1.71/1.94     dependent: set(lrpo).
% 1.71/1.94     dependent: set(hyper_res).
% 1.71/1.94     dependent: set(unit_deletion).
% 1.71/1.94     dependent: set(factor).
% 1.71/1.94  
% 1.71/1.94  ------------> process usable:
% 1.71/1.94  ** KEPT (pick-wt=5): 1 [] -e_quivalent(A,B)|there_exists(A).
% 1.71/1.94  ** KEPT (pick-wt=6): 2 [] -e_quivalent(A,B)|A=B.
% 1.71/1.94  ** KEPT (pick-wt=8): 3 [] -there_exists(A)|A!=B|e_quivalent(A,B).
% 1.71/1.94  ** KEPT (pick-wt=5): 4 [] -there_exists(domain(A))|there_exists(A).
% 1.71/1.94  ** KEPT (pick-wt=5): 5 [] -there_exists(codomain(A))|there_exists(A).
% 1.71/1.94  ** KEPT (pick-wt=7): 6 [] -there_exists(compose(A,B))|there_exists(domain(A)).
% 1.71/1.94  ** KEPT (pick-wt=9): 7 [] -there_exists(compose(A,B))|domain(A)=codomain(B).
% 1.71/1.94  ** KEPT (pick-wt=12): 8 [] -there_exists(domain(A))|domain(A)!=codomain(B)|there_exists(compose(A,B)).
% 1.71/1.94  ** KEPT (pick-wt=5): 9 [] -e_quivalent(A,B)|there_exists(B).
% 1.71/1.94    Following clause subsumed by 3 during input processing: 0 [] -there_exists(A)| -there_exists(B)|A!=B|e_quivalent(A,B).
% 1.71/1.94  ** KEPT (pick-wt=7): 10 [] -there_exists(compose(A,B))|there_exists(codomain(A)).
% 1.71/1.94  ** KEPT (pick-wt=13): 12 [copy,11,flip.1,flip.2] f1(A,B)!=A|f1(A,B)!=B|A=B.
% 1.71/1.94  ** KEPT (pick-wt=13): 13 [] compose(A,a)!=B|compose(C,a)!=B|A=C.
% 1.71/1.94  ** KEPT (pick-wt=13): 14 [] compose(A,b)!=B|compose(C,b)!=B|A=C.
% 1.71/1.94  ** KEPT (pick-wt=3): 15 [] h!=g.
% 1.71/1.94  
% 1.71/1.94  ------------> process sos:
% 1.71/1.94  ** KEPT (pick-wt=3): 19 [] A=A.
% 1.71/1.94  ** KEPT (pick-wt=11): 21 [copy,20,flip.1] compose(compose(A,B),C)=compose(A,compose(B,C)).
% 1.71/1.94  ---> New Demodulator: 22 [new_demod,21] compose(compose(A,B),C)=compose(A,compose(B,C)).
% 1.71/1.94  ** KEPT (pick-wt=6): 23 [] compose(A,domain(A))=A.
% 1.71/1.94  ---> New Demodulator: 24 [new_demod,23] compose(A,domain(A))=A.
% 1.71/1.94  ** KEPT (pick-wt=6): 25 [] compose(codomain(A),A)=A.
% 1.71/1.94  ---> New Demodulator: 26 [new_demod,25] compose(codomain(A),A)=A.
% 1.71/1.94  ** KEPT (pick-wt=7): 27 [] there_exists(f1(A,B))|A=B.
% 1.71/1.94  ** KEPT (pick-wt=13): 29 [copy,28,flip.1,flip.2] f1(A,B)=A|f1(A,B)=B|A=B.
% 2.66/2.84  ** KEPT (pick-wt=4): 30 [] there_exists(compose(a,b)).
% 2.66/2.84  ** KEPT (pick-wt=2): 31 [] there_exists(h).
% 2.66/2.84  ** KEPT (pick-wt=11): 32 [] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 2.66/2.84  ---> New Demodulator: 33 [new_demod,32] compose(h,compose(a,b))=compose(g,compose(a,b)).
% 2.66/2.84    Following clause subsumed by 19 during input processing: 0 [copy,19,flip.1] A=A.
% 2.66/2.84  19 back subsumes 18.
% 2.66/2.84  19 back subsumes 17.
% 2.66/2.84  19 back subsumes 16.
% 2.66/2.84  >>>> Starting back demodulation with 22.
% 2.66/2.84  >>>> Starting back demodulation with 24.
% 2.66/2.84  >>>> Starting back demodulation with 26.
% 2.66/2.84  >>>> Starting back demodulation with 33.
% 2.66/2.84  
% 2.66/2.84  ======= end of input processing =======
% 2.66/2.84  
% 2.66/2.84  =========== start of search ===========
% 2.66/2.84  
% 2.66/2.84  
% 2.66/2.84  Resetting weight limit to 7.
% 2.66/2.84  
% 2.66/2.84  
% 2.66/2.84  Resetting weight limit to 7.
% 2.66/2.84  
% 2.66/2.84  sos_size=1943
% 2.66/2.84  
% 2.66/2.84  -------- PROOF -------- 
% 2.66/2.84  
% 2.66/2.84  ----> UNIT CONFLICT at   0.91 sec ----> 2248 [binary,2246.1,15.1] $F.
% 2.66/2.84  
% 2.66/2.84  Length of proof is 6.  Level of proof is 4.
% 2.66/2.84  
% 2.66/2.84  ---------------- PROOF ----------------
% 2.66/2.84  % SZS status Unsatisfiable
% 2.66/2.84  % SZS output start Refutation
% See solution above
% 2.66/2.84  ------------ end of proof -------------
% 2.66/2.84  
% 2.66/2.84  
% 2.66/2.84  Search stopped by max_proofs option.
% 2.66/2.84  
% 2.66/2.84  
% 2.66/2.84  Search stopped by max_proofs option.
% 2.66/2.84  
% 2.66/2.84  ============ end of search ============
% 2.66/2.84  
% 2.66/2.84  -------------- statistics -------------
% 2.66/2.84  clauses given                443
% 2.66/2.84  clauses generated          37374
% 2.66/2.84  clauses kept                2227
% 2.66/2.84  clauses forward subsumed    2569
% 2.66/2.85  clauses back subsumed          9
% 2.66/2.85  Kbytes malloced             5859
% 2.66/2.85  
% 2.66/2.85  ----------- times (seconds) -----------
% 2.66/2.85  user CPU time          0.91          (0 hr, 0 min, 0 sec)
% 2.66/2.85  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 2.66/2.85  wall-clock time        3             (0 hr, 0 min, 3 sec)
% 2.66/2.85  
% 2.66/2.85  That finishes the proof of the theorem.
% 2.66/2.85  
% 2.66/2.85  Process 10698 finished Wed Jul 27 02:08:09 2022
% 2.66/2.85  Otter interrupted
% 2.66/2.85  PROOF FOUND
%------------------------------------------------------------------------------