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

View Problem - Process Solution

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

% Computer : n005.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:44 EDT 2022

% Result   : Unsatisfiable 1.68s 1.90s
% Output   : Refutation 1.68s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :    5
% Syntax   : Number of clauses     :   10 (   7 unt;   0 nHn;   7 RR)
%            Number of literals    :   16 (  15 equ;   8 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    2 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :    5 (   5 usr;   4 con; 0-2 aty)
%            Number of variables   :   16 (   1 sgn)

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

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

cnf(17,axiom,
    A = A,
    file('CAT001-3.p',unknown),
    [] ).

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

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

cnf(30,axiom,
    compose(b,h) = compose(b,g),
    file('CAT001-3.p',unknown),
    [] ).

cnf(32,plain,
    ( compose(a,compose(b,A)) != B
    | compose(a,compose(b,C)) != B
    | A = C ),
    inference(demod,[status(thm),theory(equality)],[inference(back_demod,[status(thm)],[13]),20,20]),
    [iquote('back_demod,13,demod,20,20')] ).

cnf(487,plain,
    ( compose(a,compose(b,g)) != A
    | compose(a,compose(b,B)) != A
    | h = B ),
    inference(para_into,[status(thm),theory(equality)],[32,30]),
    [iquote('para_into,32.1.1.2,30.1.1')] ).

cnf(532,plain,
    compose(a,compose(b,g)) != A,
    inference(unit_del,[status(thm)],[inference(factor,[status(thm)],[487]),14]),
    [iquote('factor,487.1.2,unit_del,14')] ).

cnf(533,plain,
    $false,
    inference(binary,[status(thm)],[532,17]),
    [iquote('binary,532.1,17.1')] ).

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