TSTP Solution File: HAL003+3 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : HAL003+3 : TPTP v8.1.0. Released v2.6.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n018.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:57:52 EDT 2022

% Result   : Theorem 2.01s 2.15s
% Output   : Refutation 2.01s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :    8
% Syntax   : Number of clauses     :   15 (   9 unt;   1 nHn;  15 RR)
%            Number of literals    :   25 (   3 equ;  10 neg)
%            Maximal clause size   :    4 (   1 avg)
%            Maximal term depth    :    5 (   1 avg)
%            Number of predicates  :    5 (   3 usr;   1 prp; 0-3 aty)
%            Number of functors    :    8 (   8 usr;   3 con; 0-3 aty)
%            Number of variables   :   13 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(10,axiom,
    ( ~ morphism(A,B,C)
    | element(dollar_f4(A,B,C),C)
    | surjection(A) ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(11,axiom,
    ( ~ morphism(A,B,C)
    | ~ element(D,B)
    | apply(A,D) != dollar_f4(A,B,C)
    | surjection(A) ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(24,axiom,
    ( ~ element(A,B)
    | ~ element(C,B)
    | element(subtract(B,A,C),B) ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(42,axiom,
    ( ~ element(A,e)
    | element(dollar_f15(A),b) ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(43,axiom,
    ( ~ element(A,e)
    | element(dollar_f14(A),b) ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(44,axiom,
    ( ~ element(A,e)
    | apply(g,subtract(b,dollar_f15(A),dollar_f14(A))) = A ),
    file('HAL003+3.p',unknown),
    [] ).

cnf(45,axiom,
    ~ surjection(g),
    file('HAL003+3.p',unknown),
    [] ).

cnf(109,axiom,
    morphism(g,b,e),
    file('HAL003+3.p',unknown),
    [] ).

cnf(199,plain,
    element(dollar_f4(g,b,e),e),
    inference(unit_del,[status(thm)],[inference(hyper,[status(thm)],[109,10]),45]),
    [iquote('hyper,109,10,unit_del,45')] ).

cnf(335,plain,
    apply(g,subtract(b,dollar_f15(dollar_f4(g,b,e)),dollar_f14(dollar_f4(g,b,e)))) = dollar_f4(g,b,e),
    inference(hyper,[status(thm)],[199,44]),
    [iquote('hyper,199,44')] ).

cnf(337,plain,
    element(dollar_f14(dollar_f4(g,b,e)),b),
    inference(hyper,[status(thm)],[199,43]),
    [iquote('hyper,199,43')] ).

cnf(338,plain,
    element(dollar_f15(dollar_f4(g,b,e)),b),
    inference(hyper,[status(thm)],[199,42]),
    [iquote('hyper,199,42')] ).

cnf(477,plain,
    element(subtract(b,dollar_f15(dollar_f4(g,b,e)),dollar_f14(dollar_f4(g,b,e))),b),
    inference(hyper,[status(thm)],[338,24,337]),
    [iquote('hyper,338,24,337')] ).

cnf(494,plain,
    surjection(g),
    inference(hyper,[status(thm)],[335,11,109,477]),
    [iquote('hyper,335,11,109,477')] ).

cnf(495,plain,
    $false,
    inference(binary,[status(thm)],[494,45]),
    [iquote('binary,494.1,45.1')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : HAL003+3 : TPTP v8.1.0. Released v2.6.0.
% 0.07/0.13  % Command  : otter-tptp-script %s
% 0.14/0.34  % Computer : n018.cluster.edu
% 0.14/0.34  % Model    : x86_64 x86_64
% 0.14/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34  % Memory   : 8042.1875MB
% 0.14/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34  % CPULimit : 300
% 0.14/0.34  % WCLimit  : 300
% 0.14/0.34  % DateTime : Wed Jul 27 03:37:31 EDT 2022
% 0.14/0.34  % CPUTime  : 
% 1.84/2.01  ----- Otter 3.3f, August 2004 -----
% 1.84/2.01  The process was started by sandbox on n018.cluster.edu,
% 1.84/2.01  Wed Jul 27 03:37:31 2022
% 1.84/2.01  The command was "./otter".  The process ID is 24594.
% 1.84/2.01  
% 1.84/2.01  set(prolog_style_variables).
% 1.84/2.01  set(auto).
% 1.84/2.01     dependent: set(auto1).
% 1.84/2.01     dependent: set(process_input).
% 1.84/2.01     dependent: clear(print_kept).
% 1.84/2.01     dependent: clear(print_new_demod).
% 1.84/2.01     dependent: clear(print_back_demod).
% 1.84/2.01     dependent: clear(print_back_sub).
% 1.84/2.01     dependent: set(control_memory).
% 1.84/2.01     dependent: assign(max_mem, 12000).
% 1.84/2.01     dependent: assign(pick_given_ratio, 4).
% 1.84/2.01     dependent: assign(stats_level, 1).
% 1.84/2.01     dependent: assign(max_seconds, 10800).
% 1.84/2.01  clear(print_given).
% 1.84/2.01  
% 1.84/2.01  formula_list(usable).
% 1.84/2.01  all A (A=A).
% 1.84/2.01  all Morphism Dom Cod (morphism(Morphism,Dom,Cod)-> (all El (element(El,Dom)->element(apply(Morphism,El),Cod)))&apply(Morphism,zero(Dom))=zero(Cod)).
% 1.84/2.01  all Morphism Dom Cod (injection(Morphism)&morphism(Morphism,Dom,Cod)-> (all El1 El2 (element(El1,Dom)&element(El2,Dom)&apply(Morphism,El1)=apply(Morphism,El2)->El1=El2))).
% 1.84/2.01  all Morphism Dom Cod (morphism(Morphism,Dom,Cod)& (all El1 El2 (element(El1,Dom)&element(El2,Dom)&apply(Morphism,El1)=apply(Morphism,El2)->El1=El2))->injection(Morphism)).
% 1.84/2.01  all Morphism Dom Cod (surjection(Morphism)&morphism(Morphism,Dom,Cod)-> (all ElCod (element(ElCod,Cod)-> (exists ElDom (element(ElDom,Dom)&apply(Morphism,ElDom)=ElCod))))).
% 1.84/2.01  all Morphism Dom Cod (morphism(Morphism,Dom,Cod)& (all ElCod (element(ElCod,Cod)-> (exists ElDom (element(ElDom,Dom)&apply(Morphism,ElDom)=ElCod))))->surjection(Morphism)).
% 1.84/2.01  all Morphism1 Morphism2 Dom CodDom Cod (exact(Morphism1,Morphism2)&morphism(Morphism1,Dom,CodDom)&morphism(Morphism2,CodDom,Cod)-> (all ElCodDom (element(ElCodDom,CodDom)&apply(Morphism2,ElCodDom)=zero(Cod)<-> (exists ElDom (element(ElDom,Dom)&apply(Morphism1,ElDom)=ElCodDom))))).
% 1.84/2.01  all Morphism1 Morphism2 Dom CodDom Cod (morphism(Morphism1,Dom,CodDom)&morphism(Morphism2,CodDom,Cod)& (all ElCodDom (element(ElCodDom,CodDom)&apply(Morphism2,ElCodDom)=zero(Cod)<-> (exists ElDom (element(ElDom,Dom)&apply(Morphism1,ElDom)=ElCodDom))))->exact(Morphism1,Morphism2)).
% 1.84/2.01  all M1 M2 M3 M4 Dom DomCod1 DomCod2 Cod (commute(M1,M2,M3,M4)&morphism(M1,Dom,DomCod1)&morphism(M2,DomCod1,Cod)&morphism(M3,Dom,DomCod2)&morphism(M4,DomCod2,Cod)-> (all ElDom (element(ElDom,Dom)->apply(M2,apply(M1,ElDom))=apply(M4,apply(M3,ElDom))))).
% 1.84/2.01  all M1 M2 M3 M4 Dom DomCod1 DomCod2 Cod (morphism(M1,Dom,DomCod1)&morphism(M2,DomCod1,Cod)&morphism(M3,Dom,DomCod2)&morphism(M4,DomCod2,Cod)& (all ElDom (element(ElDom,Dom)->apply(M2,apply(M1,ElDom))=apply(M4,apply(M3,ElDom))))->commute(M1,M2,M3,M4)).
% 1.84/2.01  all Dom El1 El2 (element(El1,Dom)&element(El2,Dom)->element(subtract(Dom,El1,El2),Dom)).
% 1.84/2.01  all Dom El (element(El,Dom)->subtract(Dom,El,El)=zero(Dom)).
% 1.84/2.01  all Dom El1 El2 (element(El1,Dom)&element(El2,Dom)->subtract(Dom,El1,subtract(Dom,El1,El2))=El2).
% 1.84/2.01  all Morphism Dom Cod (morphism(Morphism,Dom,Cod)-> (all El1 El2 (element(El1,Dom)&element(El2,Dom)->apply(Morphism,subtract(Dom,El1,El2))=subtract(Cod,apply(Morphism,El1),apply(Morphism,El2))))).
% 1.84/2.01  morphism(alpha,a,b).
% 1.84/2.01  morphism(beta,b,c).
% 1.84/2.01  morphism(gamma,d,e).
% 1.84/2.01  morphism(delta,e,r).
% 1.84/2.01  morphism(f,a,d).
% 1.84/2.01  morphism(g,b,e).
% 1.84/2.01  morphism(h,c,r).
% 1.84/2.01  injection(alpha).
% 1.84/2.01  injection(gamma).
% 1.84/2.01  surjection(beta).
% 1.84/2.01  surjection(delta).
% 1.84/2.01  exact(alpha,beta).
% 1.84/2.01  exact(gammma,delta).
% 1.84/2.01  commute(alpha,g,f,gamma).
% 1.84/2.01  commute(beta,h,g,delta).
% 1.84/2.01  surjection(f).
% 1.84/2.01  surjection(h).
% 1.84/2.01  all E (element(E,e)-> (exists R B1 (element(R,r)&apply(delta,E)=R&element(B1,b)&apply(h,apply(beta,B1))=R&apply(delta,apply(g,B1))=R))).
% 1.84/2.01  all E (element(E,e)-> (exists B1 E1 A (element(B1,b)&element(E1,e)&subtract(e,apply(g,B1),E)=E1&element(A,a)&apply(gamma,apply(f,A))=E1&apply(g,apply(alpha,A))=E1))).
% 1.84/2.01  all E (element(E,e)-> (exists B1 B2 (element(B1,b)&element(B2,b)&apply(g,subtract(b,B1,B2))=E))).
% 1.84/2.01  -surjection(g).
% 1.84/2.01  end_of_list.
% 1.84/2.01  
% 1.84/2.01  -------> usable clausifies to:
% 1.84/2.01  
% 1.84/2.01  list(usable).
% 1.84/2.01  0 [] A=A.
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)| -element(El,Dom)|element(apply(Morphism,El),Cod).
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|apply(Morphism,zero(Dom))=zero(Cod).
% 1.84/2.01  0 [] -injection(Morphism)| -morphism(Morphism,Dom,Cod)| -element(El1,Dom)| -element(El2,Dom)|apply(Morphism,El1)!=apply(Morphism,El2)|El1=El2.
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|element($f2(Morphism,Dom,Cod),Dom)|injection(Morphism).
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|element($f1(Morphism,Dom,Cod),Dom)|injection(Morphism).
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|apply(Morphism,$f2(Morphism,Dom,Cod))=apply(Morphism,$f1(Morphism,Dom,Cod))|injection(Morphism).
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|$f2(Morphism,Dom,Cod)!=$f1(Morphism,Dom,Cod)|injection(Morphism).
% 1.84/2.01  0 [] -surjection(Morphism)| -morphism(Morphism,Dom,Cod)| -element(ElCod,Cod)|element($f3(Morphism,Dom,Cod,ElCod),Dom).
% 1.84/2.01  0 [] -surjection(Morphism)| -morphism(Morphism,Dom,Cod)| -element(ElCod,Cod)|apply(Morphism,$f3(Morphism,Dom,Cod,ElCod))=ElCod.
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)|element($f4(Morphism,Dom,Cod),Cod)|surjection(Morphism).
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)| -element(ElDom,Dom)|apply(Morphism,ElDom)!=$f4(Morphism,Dom,Cod)|surjection(Morphism).
% 1.84/2.01  0 [] -exact(Morphism1,Morphism2)| -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)| -element(ElCodDom,CodDom)|apply(Morphism2,ElCodDom)!=zero(Cod)|element($f5(Morphism1,Morphism2,Dom,CodDom,Cod,ElCodDom),Dom).
% 1.84/2.01  0 [] -exact(Morphism1,Morphism2)| -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)| -element(ElCodDom,CodDom)|apply(Morphism2,ElCodDom)!=zero(Cod)|apply(Morphism1,$f5(Morphism1,Morphism2,Dom,CodDom,Cod,ElCodDom))=ElCodDom.
% 1.84/2.01  0 [] -exact(Morphism1,Morphism2)| -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|element(ElCodDom,CodDom)| -element(ElDom,Dom)|apply(Morphism1,ElDom)!=ElCodDom.
% 1.84/2.01  0 [] -exact(Morphism1,Morphism2)| -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|apply(Morphism2,ElCodDom)=zero(Cod)| -element(ElDom,Dom)|apply(Morphism1,ElDom)!=ElCodDom.
% 1.84/2.01  0 [] -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|element($f7(Morphism1,Morphism2,Dom,CodDom,Cod),CodDom)|element($f6(Morphism1,Morphism2,Dom,CodDom,Cod),Dom)|exact(Morphism1,Morphism2).
% 1.84/2.01  0 [] -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|element($f7(Morphism1,Morphism2,Dom,CodDom,Cod),CodDom)|apply(Morphism1,$f6(Morphism1,Morphism2,Dom,CodDom,Cod))=$f7(Morphism1,Morphism2,Dom,CodDom,Cod)|exact(Morphism1,Morphism2).
% 1.84/2.01  0 [] -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|apply(Morphism2,$f7(Morphism1,Morphism2,Dom,CodDom,Cod))=zero(Cod)|element($f6(Morphism1,Morphism2,Dom,CodDom,Cod),Dom)|exact(Morphism1,Morphism2).
% 1.84/2.01  0 [] -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)|apply(Morphism2,$f7(Morphism1,Morphism2,Dom,CodDom,Cod))=zero(Cod)|apply(Morphism1,$f6(Morphism1,Morphism2,Dom,CodDom,Cod))=$f7(Morphism1,Morphism2,Dom,CodDom,Cod)|exact(Morphism1,Morphism2).
% 1.84/2.01  0 [] -morphism(Morphism1,Dom,CodDom)| -morphism(Morphism2,CodDom,Cod)| -element($f7(Morphism1,Morphism2,Dom,CodDom,Cod),CodDom)|apply(Morphism2,$f7(Morphism1,Morphism2,Dom,CodDom,Cod))!=zero(Cod)| -element(ElDom,Dom)|apply(Morphism1,ElDom)!=$f7(Morphism1,Morphism2,Dom,CodDom,Cod)|exact(Morphism1,Morphism2).
% 1.84/2.01  0 [] -commute(M1,M2,M3,M4)| -morphism(M1,Dom,DomCod1)| -morphism(M2,DomCod1,Cod)| -morphism(M3,Dom,DomCod2)| -morphism(M4,DomCod2,Cod)| -element(ElDom,Dom)|apply(M2,apply(M1,ElDom))=apply(M4,apply(M3,ElDom)).
% 1.84/2.01  0 [] -morphism(M1,Dom,DomCod1)| -morphism(M2,DomCod1,Cod)| -morphism(M3,Dom,DomCod2)| -morphism(M4,DomCod2,Cod)|element($f8(M1,M2,M3,M4,Dom,DomCod1,DomCod2,Cod),Dom)|commute(M1,M2,M3,M4).
% 1.84/2.01  0 [] -morphism(M1,Dom,DomCod1)| -morphism(M2,DomCod1,Cod)| -morphism(M3,Dom,DomCod2)| -morphism(M4,DomCod2,Cod)|apply(M2,apply(M1,$f8(M1,M2,M3,M4,Dom,DomCod1,DomCod2,Cod)))!=apply(M4,apply(M3,$f8(M1,M2,M3,M4,Dom,DomCod1,DomCod2,Cod)))|commute(M1,M2,M3,M4).
% 1.84/2.01  0 [] -element(El1,Dom)| -element(El2,Dom)|element(subtract(Dom,El1,El2),Dom).
% 1.84/2.01  0 [] -element(El,Dom)|subtract(Dom,El,El)=zero(Dom).
% 1.84/2.01  0 [] -element(El1,Dom)| -element(El2,Dom)|subtract(Dom,El1,subtract(Dom,El1,El2))=El2.
% 1.84/2.01  0 [] -morphism(Morphism,Dom,Cod)| -element(El1,Dom)| -element(El2,Dom)|apply(Morphism,subtract(Dom,El1,El2))=subtract(Cod,apply(Morphism,El1),apply(Morphism,El2)).
% 1.84/2.01  0 [] morphism(alpha,a,b).
% 1.84/2.01  0 [] morphism(beta,b,c).
% 1.84/2.01  0 [] morphism(gamma,d,e).
% 1.84/2.02  0 [] morphism(delta,e,r).
% 1.84/2.02  0 [] morphism(f,a,d).
% 1.84/2.02  0 [] morphism(g,b,e).
% 1.84/2.02  0 [] morphism(h,c,r).
% 1.84/2.02  0 [] injection(alpha).
% 1.84/2.02  0 [] injection(gamma).
% 1.84/2.02  0 [] surjection(beta).
% 1.84/2.02  0 [] surjection(delta).
% 1.84/2.02  0 [] exact(alpha,beta).
% 1.84/2.02  0 [] exact(gammma,delta).
% 1.84/2.02  0 [] commute(alpha,g,f,gamma).
% 1.84/2.02  0 [] commute(beta,h,g,delta).
% 1.84/2.02  0 [] surjection(f).
% 1.84/2.02  0 [] surjection(h).
% 1.84/2.02  0 [] -element(E,e)|element($f10(E),r).
% 1.84/2.02  0 [] -element(E,e)|apply(delta,E)=$f10(E).
% 1.84/2.02  0 [] -element(E,e)|element($f9(E),b).
% 1.84/2.02  0 [] -element(E,e)|apply(h,apply(beta,$f9(E)))=$f10(E).
% 1.84/2.02  0 [] -element(E,e)|apply(delta,apply(g,$f9(E)))=$f10(E).
% 1.84/2.02  0 [] -element(E,e)|element($f13(E),b).
% 1.84/2.02  0 [] -element(E,e)|element($f12(E),e).
% 1.84/2.02  0 [] -element(E,e)|subtract(e,apply(g,$f13(E)),E)=$f12(E).
% 1.84/2.02  0 [] -element(E,e)|element($f11(E),a).
% 1.84/2.02  0 [] -element(E,e)|apply(gamma,apply(f,$f11(E)))=$f12(E).
% 1.84/2.02  0 [] -element(E,e)|apply(g,apply(alpha,$f11(E)))=$f12(E).
% 1.84/2.02  0 [] -element(E,e)|element($f15(E),b).
% 1.84/2.02  0 [] -element(E,e)|element($f14(E),b).
% 1.84/2.02  0 [] -element(E,e)|apply(g,subtract(b,$f15(E),$f14(E)))=E.
% 1.84/2.02  0 [] -surjection(g).
% 1.84/2.02  end_of_list.
% 1.84/2.02  
% 1.84/2.02  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=7.
% 1.84/2.02  
% 1.84/2.02  This ia a non-Horn set with equality.  The strategy will be
% 1.84/2.02  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.84/2.02  deletion, with positive clauses in sos and nonpositive
% 1.84/2.02  clauses in usable.
% 1.84/2.02  
% 1.84/2.02     dependent: set(knuth_bendix).
% 1.84/2.02     dependent: set(anl_eq).
% 1.84/2.02     dependent: set(para_from).
% 1.84/2.02     dependent: set(para_into).
% 1.84/2.02     dependent: clear(para_from_right).
% 1.84/2.02     dependent: clear(para_into_right).
% 1.84/2.02     dependent: set(para_from_vars).
% 1.84/2.02     dependent: set(eq_units_both_ways).
% 1.84/2.02     dependent: set(dynamic_demod_all).
% 1.84/2.02     dependent: set(dynamic_demod).
% 1.84/2.02     dependent: set(order_eq).
% 1.84/2.02     dependent: set(back_demod).
% 1.84/2.02     dependent: set(lrpo).
% 1.84/2.02     dependent: set(hyper_res).
% 1.84/2.02     dependent: set(unit_deletion).
% 1.84/2.02     dependent: set(factor).
% 1.84/2.02  
% 1.84/2.02  ------------> process usable:
% 1.84/2.02  ** KEPT (pick-wt=12): 1 [] -morphism(A,B,C)| -element(D,B)|element(apply(A,D),C).
% 1.84/2.02  ** KEPT (pick-wt=11): 2 [] -morphism(A,B,C)|apply(A,zero(B))=zero(C).
% 1.84/2.02  ** KEPT (pick-wt=22): 3 [] -injection(A)| -morphism(A,B,C)| -element(D,B)| -element(E,B)|apply(A,D)!=apply(A,E)|D=E.
% 1.84/2.02  ** KEPT (pick-wt=12): 4 [] -morphism(A,B,C)|element($f2(A,B,C),B)|injection(A).
% 1.84/2.02  ** KEPT (pick-wt=12): 5 [] -morphism(A,B,C)|element($f1(A,B,C),B)|injection(A).
% 1.84/2.02  ** KEPT (pick-wt=19): 6 [] -morphism(A,B,C)|apply(A,$f2(A,B,C))=apply(A,$f1(A,B,C))|injection(A).
% 1.84/2.02  ** KEPT (pick-wt=15): 7 [] -morphism(A,B,C)|$f2(A,B,C)!=$f1(A,B,C)|injection(A).
% 1.84/2.02  ** KEPT (pick-wt=16): 8 [] -surjection(A)| -morphism(A,B,C)| -element(D,C)|element($f3(A,B,C,D),B).
% 1.84/2.02  ** KEPT (pick-wt=18): 9 [] -surjection(A)| -morphism(A,B,C)| -element(D,C)|apply(A,$f3(A,B,C,D))=D.
% 1.84/2.02  ** KEPT (pick-wt=12): 10 [] -morphism(A,B,C)|element($f4(A,B,C),C)|surjection(A).
% 1.84/2.02  ** KEPT (pick-wt=17): 11 [] -morphism(A,B,C)| -element(D,B)|apply(A,D)!=$f4(A,B,C)|surjection(A).
% 1.84/2.02  ** KEPT (pick-wt=29): 12 [] -exact(A,B)| -morphism(A,C,D)| -morphism(B,D,E)| -element(F,D)|apply(B,F)!=zero(E)|element($f5(A,B,C,D,E,F),C).
% 1.84/2.02  ** KEPT (pick-wt=31): 13 [] -exact(A,B)| -morphism(A,C,D)| -morphism(B,D,E)| -element(F,D)|apply(B,F)!=zero(E)|apply(A,$f5(A,B,C,D,E,F))=F.
% 1.84/2.02  ** KEPT (pick-wt=22): 14 [] -exact(A,B)| -morphism(A,C,D)| -morphism(B,D,E)|element(F,D)| -element(G,C)|apply(A,G)!=F.
% 1.84/2.02  ** KEPT (pick-wt=25): 15 [] -exact(A,B)| -morphism(A,C,D)| -morphism(B,D,E)|apply(B,F)=zero(E)| -element(G,C)|apply(A,G)!=F.
% 1.84/2.02  ** KEPT (pick-wt=27): 16 [] -morphism(A,B,C)| -morphism(D,C,E)|element($f7(A,D,B,C,E),C)|element($f6(A,D,B,C,E),B)|exact(A,D).
% 1.84/2.02  ** KEPT (pick-wt=34): 17 [] -morphism(A,B,C)| -morphism(D,C,E)|element($f7(A,D,B,C,E),C)|apply(A,$f6(A,D,B,C,E))=$f7(A,D,B,C,E)|exact(A,D).
% 1.84/2.02  ** KEPT (pick-wt=30): 18 [] -morphism(A,B,C)| -morphism(D,C,E)|apply(D,$f7(A,D,B,C,E))=zero(E)|element($f6(A,D,B,C,E),B)|exact(A,D).
% 1.84/2.02  ** KEPT (pick-wt=37): 19 [] -morphism(A,B,C)| -morphism(D,C,E)|apply(D,$f7(A,D,B,C,E))=zero(E)|apply(A,$f6(A,D,B,C,E))=$f7(A,D,B,C,E)|exact(A,D).
% 1.84/2.02  ** KEPT (pick-wt=43): 20 [] -morphism(A,B,C)| -morphism(D,C,E)| -element($f7(A,D,B,C,E),C)|apply(D,$f7(A,D,B,C,E))!=zero(E)| -element(F,B)|apply(A,F)!=$f7(A,D,B,C,E)|exact(A,D).
% 1.84/2.02  ** KEPT (pick-wt=35): 21 [] -commute(A,B,C,D)| -morphism(A,E,F)| -morphism(B,F,G)| -morphism(C,E,H)| -morphism(D,H,G)| -element(I,E)|apply(B,apply(A,I))=apply(D,apply(C,I)).
% 2.01/2.15  ** KEPT (pick-wt=32): 22 [] -morphism(A,B,C)| -morphism(D,C,E)| -morphism(F,B,G)| -morphism(H,G,E)|element($f8(A,D,F,H,B,C,G,E),B)|commute(A,D,F,H).
% 2.01/2.15  ** KEPT (pick-wt=48): 23 [] -morphism(A,B,C)| -morphism(D,C,E)| -morphism(F,B,G)| -morphism(H,G,E)|apply(D,apply(A,$f8(A,D,F,H,B,C,G,E)))!=apply(H,apply(F,$f8(A,D,F,H,B,C,G,E)))|commute(A,D,F,H).
% 2.01/2.15  ** KEPT (pick-wt=12): 24 [] -element(A,B)| -element(C,B)|element(subtract(B,A,C),B).
% 2.01/2.15  ** KEPT (pick-wt=10): 25 [] -element(A,B)|subtract(B,A,A)=zero(B).
% 2.01/2.15  ** KEPT (pick-wt=15): 26 [] -element(A,B)| -element(C,B)|subtract(B,A,subtract(B,A,C))=C.
% 2.01/2.15  ** KEPT (pick-wt=25): 27 [] -morphism(A,B,C)| -element(D,B)| -element(E,B)|apply(A,subtract(B,D,E))=subtract(C,apply(A,D),apply(A,E)).
% 2.01/2.15  ** KEPT (pick-wt=7): 28 [] -element(A,e)|element($f10(A),r).
% 2.01/2.15  ** KEPT (pick-wt=9): 30 [copy,29,flip.2] -element(A,e)|$f10(A)=apply(delta,A).
% 2.01/2.15  ** KEPT (pick-wt=7): 31 [] -element(A,e)|element($f9(A),b).
% 2.01/2.15  ** KEPT (pick-wt=12): 32 [] -element(A,e)|apply(h,apply(beta,$f9(A)))=$f10(A).
% 2.01/2.15  ** KEPT (pick-wt=12): 33 [] -element(A,e)|apply(delta,apply(g,$f9(A)))=$f10(A).
% 2.01/2.15  ** KEPT (pick-wt=7): 34 [] -element(A,e)|element($f13(A),b).
% 2.01/2.15  ** KEPT (pick-wt=7): 35 [] -element(A,e)|element($f12(A),e).
% 2.01/2.15  ** KEPT (pick-wt=13): 36 [] -element(A,e)|subtract(e,apply(g,$f13(A)),A)=$f12(A).
% 2.01/2.15  ** KEPT (pick-wt=7): 37 [] -element(A,e)|element($f11(A),a).
% 2.01/2.15  ** KEPT (pick-wt=12): 39 [copy,38,flip.2] -element(A,e)|$f12(A)=apply(gamma,apply(f,$f11(A))).
% 2.01/2.15  ** KEPT (pick-wt=12): 41 [copy,40,flip.2] -element(A,e)|$f12(A)=apply(g,apply(alpha,$f11(A))).
% 2.01/2.15  ** KEPT (pick-wt=7): 42 [] -element(A,e)|element($f15(A),b).
% 2.01/2.15  ** KEPT (pick-wt=7): 43 [] -element(A,e)|element($f14(A),b).
% 2.01/2.15  ** KEPT (pick-wt=13): 44 [] -element(A,e)|apply(g,subtract(b,$f15(A),$f14(A)))=A.
% 2.01/2.15  ** KEPT (pick-wt=2): 45 [] -surjection(g).
% 2.01/2.15  
% 2.01/2.15  ------------> process sos:
% 2.01/2.15  ** KEPT (pick-wt=3): 103 [] A=A.
% 2.01/2.15  ** KEPT (pick-wt=4): 104 [] morphism(alpha,a,b).
% 2.01/2.15  ** KEPT (pick-wt=4): 105 [] morphism(beta,b,c).
% 2.01/2.15  ** KEPT (pick-wt=4): 106 [] morphism(gamma,d,e).
% 2.01/2.15  ** KEPT (pick-wt=4): 107 [] morphism(delta,e,r).
% 2.01/2.15  ** KEPT (pick-wt=4): 108 [] morphism(f,a,d).
% 2.01/2.15  ** KEPT (pick-wt=4): 109 [] morphism(g,b,e).
% 2.01/2.15  ** KEPT (pick-wt=4): 110 [] morphism(h,c,r).
% 2.01/2.15  ** KEPT (pick-wt=2): 111 [] injection(alpha).
% 2.01/2.15  ** KEPT (pick-wt=2): 112 [] injection(gamma).
% 2.01/2.15  ** KEPT (pick-wt=2): 113 [] surjection(beta).
% 2.01/2.15  ** KEPT (pick-wt=2): 114 [] surjection(delta).
% 2.01/2.15  ** KEPT (pick-wt=3): 115 [] exact(alpha,beta).
% 2.01/2.15  ** KEPT (pick-wt=3): 116 [] exact(gammma,delta).
% 2.01/2.15  ** KEPT (pick-wt=5): 117 [] commute(alpha,g,f,gamma).
% 2.01/2.15  ** KEPT (pick-wt=5): 118 [] commute(beta,h,g,delta).
% 2.01/2.15  ** KEPT (pick-wt=2): 119 [] surjection(f).
% 2.01/2.15  ** KEPT (pick-wt=2): 120 [] surjection(h).
% 2.01/2.15    Following clause subsumed by 103 during input processing: 0 [copy,103,flip.1] A=A.
% 2.01/2.15  103 back subsumes 100.
% 2.01/2.15  103 back subsumes 83.
% 2.01/2.15  103 back subsumes 46.
% 2.01/2.15  
% 2.01/2.15  ======= end of input processing =======
% 2.01/2.15  
% 2.01/2.15  =========== start of search ===========
% 2.01/2.15  
% 2.01/2.15  
% 2.01/2.15  Resetting weight limit to 8.
% 2.01/2.15  
% 2.01/2.15  
% 2.01/2.15  Resetting weight limit to 8.
% 2.01/2.15  
% 2.01/2.15  sos_size=262
% 2.01/2.15  
% 2.01/2.15  -------- PROOF -------- 
% 2.01/2.15  
% 2.01/2.15  ----> UNIT CONFLICT at   0.14 sec ----> 495 [binary,494.1,45.1] $F.
% 2.01/2.15  
% 2.01/2.15  Length of proof is 6.  Level of proof is 4.
% 2.01/2.15  
% 2.01/2.15  ---------------- PROOF ----------------
% 2.01/2.15  % SZS status Theorem
% 2.01/2.15  % SZS output start Refutation
% See solution above
% 2.01/2.15  ------------ end of proof -------------
% 2.01/2.15  
% 2.01/2.15  
% 2.01/2.15  Search stopped by max_proofs option.
% 2.01/2.15  
% 2.01/2.15  
% 2.01/2.15  Search stopped by max_proofs option.
% 2.01/2.15  
% 2.01/2.15  ============ end of search ============
% 2.01/2.15  
% 2.01/2.15  -------------- statistics -------------
% 2.01/2.15  clauses given                 92
% 2.01/2.15  clauses generated           2615
% 2.01/2.15  clauses kept                 440
% 2.01/2.15  clauses forward subsumed     566
% 2.01/2.15  clauses back subsumed          3
% 2.01/2.15  Kbytes malloced             4882
% 2.01/2.15  
% 2.01/2.15  ----------- times (seconds) -----------
% 2.01/2.15  user CPU time          0.14          (0 hr, 0 min, 0 sec)
% 2.01/2.15  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 2.01/2.15  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 2.01/2.15  
% 2.01/2.15  That finishes the proof of the theorem.
% 2.01/2.15  
% 2.01/2.15  Process 24594 finished Wed Jul 27 03:37:33 2022
% 2.01/2.15  Otter interrupted
% 2.01/2.15  PROOF FOUND
%------------------------------------------------------------------------------