TSTP Solution File: SET715+4 by ET---2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : ET---2.0
% Problem  : SET715+4 : TPTP v8.1.0. Bugfixed v2.2.1.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_ET %s %d

% Computer : n026.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  : 600s
% DateTime : Tue Jul 19 00:53:19 EDT 2022

% Result   : Theorem 0.38s 24.56s
% Output   : CNFRefutation 0.38s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   24
%            Number of leaves      :    8
% Syntax   : Number of formulae    :   69 (   6 unt;   0 def)
%            Number of atoms       :  451 (  20 equ)
%            Maximal formula atoms :   55 (   6 avg)
%            Number of connectives :  675 ( 293   ~; 315   |;  49   &)
%                                         (   7 <=>;  11  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   30 (   8 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    9 (   7 usr;   1 prp; 0-3 aty)
%            Number of functors    :   17 (  17 usr;   3 con; 0-7 aty)
%            Number of variables   :  380 (  23 sgn  93   !;   3   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(thII06,conjecture,
    ! [X6,X1,X2] :
      ( ( maps(X6,X1,X2)
        & one_to_one(X6,X1,X2) )
     => identity(compose_function(X6,inverse_function(X6,X1,X2),X2,X1,X2),X2) ),
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p',thII06) ).

fof(one_to_one,axiom,
    ! [X6,X1,X2] :
      ( one_to_one(X6,X1,X2)
    <=> ( injective(X6,X1,X2)
        & surjective(X6,X1,X2) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',one_to_one) ).

fof(maps,axiom,
    ! [X6,X1,X2] :
      ( maps(X6,X1,X2)
    <=> ( ! [X3] :
            ( member(X3,X1)
           => ? [X5] :
                ( member(X5,X2)
                & apply(X6,X3,X5) ) )
        & ! [X3,X7,X8] :
            ( ( member(X3,X1)
              & member(X7,X2)
              & member(X8,X2) )
           => ( ( apply(X6,X3,X7)
                & apply(X6,X3,X8) )
             => X7 = X8 ) ) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',maps) ).

fof(injective,axiom,
    ! [X6,X1,X2] :
      ( injective(X6,X1,X2)
    <=> ! [X13,X14,X5] :
          ( ( member(X13,X1)
            & member(X14,X1)
            & member(X5,X2) )
         => ( ( apply(X6,X13,X5)
              & apply(X6,X14,X5) )
           => X13 = X14 ) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',injective) ).

fof(compose_function,axiom,
    ! [X10,X6,X1,X2,X11,X3,X12] :
      ( ( member(X3,X1)
        & member(X12,X11) )
     => ( apply(compose_function(X10,X6,X1,X2,X11),X3,X12)
      <=> ? [X5] :
            ( member(X5,X2)
            & apply(X6,X3,X5)
            & apply(X10,X5,X12) ) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',compose_function) ).

fof(inverse_function,axiom,
    ! [X6,X1,X2,X3,X5] :
      ( ( member(X3,X1)
        & member(X5,X2) )
     => ( apply(X6,X3,X5)
      <=> apply(inverse_function(X6,X1,X2),X5,X3) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',inverse_function) ).

fof(surjective,axiom,
    ! [X6,X1,X2] :
      ( surjective(X6,X1,X2)
    <=> ! [X5] :
          ( member(X5,X2)
         => ? [X4] :
              ( member(X4,X1)
              & apply(X6,X4,X5) ) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',surjective) ).

fof(identity,axiom,
    ! [X6,X1] :
      ( identity(X6,X1)
    <=> ! [X3] :
          ( member(X3,X1)
         => apply(X6,X3,X3) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/SET006+1.ax',identity) ).

fof(c_0_8,negated_conjecture,
    ~ ! [X6,X1,X2] :
        ( ( maps(X6,X1,X2)
          & one_to_one(X6,X1,X2) )
       => identity(compose_function(X6,inverse_function(X6,X1,X2),X2,X1,X2),X2) ),
    inference(assume_negation,[status(cth)],[thII06]) ).

fof(c_0_9,plain,
    ! [X7,X8,X9,X7,X8,X9] :
      ( ( injective(X7,X8,X9)
        | ~ one_to_one(X7,X8,X9) )
      & ( surjective(X7,X8,X9)
        | ~ one_to_one(X7,X8,X9) )
      & ( ~ injective(X7,X8,X9)
        | ~ surjective(X7,X8,X9)
        | one_to_one(X7,X8,X9) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[one_to_one])])])])]) ).

fof(c_0_10,negated_conjecture,
    ( maps(esk1_0,esk2_0,esk3_0)
    & one_to_one(esk1_0,esk2_0,esk3_0)
    & ~ identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,esk3_0),esk3_0,esk2_0,esk3_0),esk3_0) ),
    inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_8])])]) ).

fof(c_0_11,plain,
    ! [X9,X10,X11,X12,X14,X15,X16,X9,X10,X11,X18] :
      ( ( member(esk6_4(X9,X10,X11,X12),X11)
        | ~ member(X12,X10)
        | ~ maps(X9,X10,X11) )
      & ( apply(X9,X12,esk6_4(X9,X10,X11,X12))
        | ~ member(X12,X10)
        | ~ maps(X9,X10,X11) )
      & ( ~ member(X14,X10)
        | ~ member(X15,X11)
        | ~ member(X16,X11)
        | ~ apply(X9,X14,X15)
        | ~ apply(X9,X14,X16)
        | X15 = X16
        | ~ maps(X9,X10,X11) )
      & ( member(esk8_3(X9,X10,X11),X10)
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( member(esk9_3(X9,X10,X11),X11)
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( member(esk10_3(X9,X10,X11),X11)
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( apply(X9,esk8_3(X9,X10,X11),esk9_3(X9,X10,X11))
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( apply(X9,esk8_3(X9,X10,X11),esk10_3(X9,X10,X11))
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( esk9_3(X9,X10,X11) != esk10_3(X9,X10,X11)
        | member(esk7_3(X9,X10,X11),X10)
        | maps(X9,X10,X11) )
      & ( member(esk8_3(X9,X10,X11),X10)
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) )
      & ( member(esk9_3(X9,X10,X11),X11)
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) )
      & ( member(esk10_3(X9,X10,X11),X11)
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) )
      & ( apply(X9,esk8_3(X9,X10,X11),esk9_3(X9,X10,X11))
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) )
      & ( apply(X9,esk8_3(X9,X10,X11),esk10_3(X9,X10,X11))
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) )
      & ( esk9_3(X9,X10,X11) != esk10_3(X9,X10,X11)
        | ~ member(X18,X11)
        | ~ apply(X9,esk7_3(X9,X10,X11),X18)
        | maps(X9,X10,X11) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[maps])])])])])])]) ).

fof(c_0_12,plain,
    ! [X15,X16,X17,X18,X19,X20,X15,X16,X17] :
      ( ( ~ injective(X15,X16,X17)
        | ~ member(X18,X16)
        | ~ member(X19,X16)
        | ~ member(X20,X17)
        | ~ apply(X15,X18,X20)
        | ~ apply(X15,X19,X20)
        | X18 = X19 )
      & ( member(esk13_3(X15,X16,X17),X16)
        | injective(X15,X16,X17) )
      & ( member(esk14_3(X15,X16,X17),X16)
        | injective(X15,X16,X17) )
      & ( member(esk15_3(X15,X16,X17),X17)
        | injective(X15,X16,X17) )
      & ( apply(X15,esk13_3(X15,X16,X17),esk15_3(X15,X16,X17))
        | injective(X15,X16,X17) )
      & ( apply(X15,esk14_3(X15,X16,X17),esk15_3(X15,X16,X17))
        | injective(X15,X16,X17) )
      & ( esk13_3(X15,X16,X17) != esk14_3(X15,X16,X17)
        | injective(X15,X16,X17) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[injective])])])])])])]) ).

cnf(c_0_13,plain,
    ( injective(X1,X2,X3)
    | ~ one_to_one(X1,X2,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_9]) ).

cnf(c_0_14,negated_conjecture,
    one_to_one(esk1_0,esk2_0,esk3_0),
    inference(split_conjunct,[status(thm)],[c_0_10]) ).

cnf(c_0_15,plain,
    ( X4 = X5
    | ~ maps(X1,X2,X3)
    | ~ apply(X1,X6,X5)
    | ~ apply(X1,X6,X4)
    | ~ member(X5,X3)
    | ~ member(X4,X3)
    | ~ member(X6,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_11]) ).

cnf(c_0_16,plain,
    ( apply(X1,X4,esk6_4(X1,X2,X3,X4))
    | ~ maps(X1,X2,X3)
    | ~ member(X4,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_11]) ).

cnf(c_0_17,plain,
    ( X1 = X2
    | ~ apply(X3,X2,X4)
    | ~ apply(X3,X1,X4)
    | ~ member(X4,X5)
    | ~ member(X2,X6)
    | ~ member(X1,X6)
    | ~ injective(X3,X6,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_12]) ).

cnf(c_0_18,negated_conjecture,
    injective(esk1_0,esk2_0,esk3_0),
    inference(spm,[status(thm)],[c_0_13,c_0_14]) ).

fof(c_0_19,plain,
    ! [X13,X14,X15,X16,X17,X18,X19,X21] :
      ( ( member(esk5_7(X13,X14,X15,X16,X17,X18,X19),X16)
        | ~ apply(compose_function(X13,X14,X15,X16,X17),X18,X19)
        | ~ member(X18,X15)
        | ~ member(X19,X17) )
      & ( apply(X14,X18,esk5_7(X13,X14,X15,X16,X17,X18,X19))
        | ~ apply(compose_function(X13,X14,X15,X16,X17),X18,X19)
        | ~ member(X18,X15)
        | ~ member(X19,X17) )
      & ( apply(X13,esk5_7(X13,X14,X15,X16,X17,X18,X19),X19)
        | ~ apply(compose_function(X13,X14,X15,X16,X17),X18,X19)
        | ~ member(X18,X15)
        | ~ member(X19,X17) )
      & ( ~ member(X21,X16)
        | ~ apply(X14,X18,X21)
        | ~ apply(X13,X21,X19)
        | apply(compose_function(X13,X14,X15,X16,X17),X18,X19)
        | ~ member(X18,X15)
        | ~ member(X19,X17) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[compose_function])])])])])])]) ).

cnf(c_0_20,plain,
    ( X1 = esk6_4(X2,X3,X4,X5)
    | ~ apply(X2,X5,X1)
    | ~ maps(X2,X6,X7)
    | ~ maps(X2,X3,X4)
    | ~ member(esk6_4(X2,X3,X4,X5),X7)
    | ~ member(X5,X6)
    | ~ member(X1,X7)
    | ~ member(X5,X3) ),
    inference(spm,[status(thm)],[c_0_15,c_0_16]) ).

cnf(c_0_21,plain,
    ( member(esk6_4(X1,X2,X3,X4),X3)
    | ~ maps(X1,X2,X3)
    | ~ member(X4,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_11]) ).

cnf(c_0_22,negated_conjecture,
    ( X1 = X2
    | ~ apply(esk1_0,X2,X3)
    | ~ apply(esk1_0,X1,X3)
    | ~ member(X3,esk3_0)
    | ~ member(X2,esk2_0)
    | ~ member(X1,esk2_0) ),
    inference(spm,[status(thm)],[c_0_17,c_0_18]) ).

cnf(c_0_23,plain,
    ( apply(X5,esk5_7(X5,X6,X4,X7,X2,X3,X1),X1)
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(compose_function(X5,X6,X4,X7,X2),X3,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_19]) ).

cnf(c_0_24,plain,
    ( X1 = esk6_4(X2,X3,X4,X5)
    | ~ apply(X2,X5,X1)
    | ~ maps(X2,X6,X4)
    | ~ maps(X2,X3,X4)
    | ~ member(X5,X6)
    | ~ member(X1,X4)
    | ~ member(X5,X3) ),
    inference(spm,[status(thm)],[c_0_20,c_0_21]) ).

fof(c_0_25,plain,
    ! [X7,X8,X9,X10,X11] :
      ( ( ~ apply(X7,X10,X11)
        | apply(inverse_function(X7,X8,X9),X11,X10)
        | ~ member(X10,X8)
        | ~ member(X11,X9) )
      & ( ~ apply(inverse_function(X7,X8,X9),X11,X10)
        | apply(X7,X10,X11)
        | ~ member(X10,X8)
        | ~ member(X11,X9) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[inverse_function])])]) ).

cnf(c_0_26,negated_conjecture,
    ( X1 = esk5_7(esk1_0,X2,X3,X4,X5,X6,X7)
    | ~ apply(compose_function(esk1_0,X2,X3,X4,X5),X6,X7)
    | ~ apply(esk1_0,X1,X7)
    | ~ member(esk5_7(esk1_0,X2,X3,X4,X5,X6,X7),esk2_0)
    | ~ member(X7,esk3_0)
    | ~ member(X1,esk2_0)
    | ~ member(X6,X3)
    | ~ member(X7,X5) ),
    inference(spm,[status(thm)],[c_0_22,c_0_23]) ).

cnf(c_0_27,plain,
    ( member(esk5_7(X5,X6,X4,X7,X2,X3,X1),X7)
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(compose_function(X5,X6,X4,X7,X2),X3,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_19]) ).

cnf(c_0_28,plain,
    ( esk6_4(X1,X2,X3,X4) = esk6_4(X1,X5,X6,X4)
    | ~ maps(X1,X7,X6)
    | ~ maps(X1,X5,X6)
    | ~ maps(X1,X2,X3)
    | ~ member(esk6_4(X1,X2,X3,X4),X6)
    | ~ member(X4,X7)
    | ~ member(X4,X5)
    | ~ member(X4,X2) ),
    inference(spm,[status(thm)],[c_0_24,c_0_16]) ).

cnf(c_0_29,plain,
    ( apply(X5,X3,X1)
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(inverse_function(X5,X4,X2),X1,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

cnf(c_0_30,plain,
    ( apply(X6,X3,esk5_7(X5,X6,X4,X7,X2,X3,X1))
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(compose_function(X5,X6,X4,X7,X2),X3,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_19]) ).

cnf(c_0_31,negated_conjecture,
    ( X1 = esk5_7(esk1_0,X2,X3,esk2_0,X4,X5,X6)
    | ~ apply(compose_function(esk1_0,X2,X3,esk2_0,X4),X5,X6)
    | ~ apply(esk1_0,X1,X6)
    | ~ member(X6,esk3_0)
    | ~ member(X1,esk2_0)
    | ~ member(X5,X3)
    | ~ member(X6,X4) ),
    inference(spm,[status(thm)],[c_0_26,c_0_27]) ).

cnf(c_0_32,plain,
    ( esk6_4(X1,X2,X3,X4) = esk6_4(X1,X5,X3,X4)
    | ~ maps(X1,X6,X3)
    | ~ maps(X1,X5,X3)
    | ~ maps(X1,X2,X3)
    | ~ member(X4,X6)
    | ~ member(X4,X5)
    | ~ member(X4,X2) ),
    inference(spm,[status(thm)],[c_0_28,c_0_21]) ).

cnf(c_0_33,negated_conjecture,
    maps(esk1_0,esk2_0,esk3_0),
    inference(split_conjunct,[status(thm)],[c_0_10]) ).

cnf(c_0_34,plain,
    ( apply(compose_function(X5,X6,X4,X7,X2),X3,X1)
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(X5,X8,X1)
    | ~ apply(X6,X3,X8)
    | ~ member(X8,X7) ),
    inference(split_conjunct,[status(thm)],[c_0_19]) ).

cnf(c_0_35,plain,
    ( apply(X1,esk5_7(X2,inverse_function(X1,X3,X4),X5,X6,X7,X8,X9),X8)
    | ~ apply(compose_function(X2,inverse_function(X1,X3,X4),X5,X6,X7),X8,X9)
    | ~ member(esk5_7(X2,inverse_function(X1,X3,X4),X5,X6,X7,X8,X9),X3)
    | ~ member(X8,X4)
    | ~ member(X8,X5)
    | ~ member(X9,X7) ),
    inference(spm,[status(thm)],[c_0_29,c_0_30]) ).

cnf(c_0_36,negated_conjecture,
    ( esk5_7(esk1_0,X1,X2,esk2_0,X3,X4,esk6_4(esk1_0,X5,X6,X7)) = X7
    | ~ apply(compose_function(esk1_0,X1,X2,esk2_0,X3),X4,esk6_4(esk1_0,X5,X6,X7))
    | ~ maps(esk1_0,X5,X6)
    | ~ member(esk6_4(esk1_0,X5,X6,X7),esk3_0)
    | ~ member(esk6_4(esk1_0,X5,X6,X7),X3)
    | ~ member(X7,esk2_0)
    | ~ member(X4,X2)
    | ~ member(X7,X5) ),
    inference(spm,[status(thm)],[c_0_31,c_0_16]) ).

cnf(c_0_37,negated_conjecture,
    ( esk6_4(esk1_0,X1,esk3_0,X2) = esk6_4(esk1_0,X3,esk3_0,X2)
    | ~ maps(esk1_0,X3,esk3_0)
    | ~ maps(esk1_0,X1,esk3_0)
    | ~ member(X2,esk2_0)
    | ~ member(X2,X3)
    | ~ member(X2,X1) ),
    inference(spm,[status(thm)],[c_0_32,c_0_33]) ).

cnf(c_0_38,plain,
    ( apply(compose_function(X1,X2,X3,X4,X5),X6,X7)
    | ~ apply(X1,esk5_7(X8,X2,X9,X10,X11,X6,X12),X7)
    | ~ apply(compose_function(X8,X2,X9,X10,X11),X6,X12)
    | ~ member(esk5_7(X8,X2,X9,X10,X11,X6,X12),X4)
    | ~ member(X6,X3)
    | ~ member(X7,X5)
    | ~ member(X6,X9)
    | ~ member(X12,X11) ),
    inference(spm,[status(thm)],[c_0_34,c_0_30]) ).

cnf(c_0_39,plain,
    ( apply(X1,esk5_7(X2,inverse_function(X1,X3,X4),X5,X3,X6,X7,X8),X7)
    | ~ apply(compose_function(X2,inverse_function(X1,X3,X4),X5,X3,X6),X7,X8)
    | ~ member(X7,X4)
    | ~ member(X7,X5)
    | ~ member(X8,X6) ),
    inference(spm,[status(thm)],[c_0_35,c_0_27]) ).

cnf(c_0_40,negated_conjecture,
    ( esk5_7(esk1_0,X1,X2,esk2_0,X3,X4,esk6_4(esk1_0,X5,esk3_0,X6)) = X6
    | ~ apply(compose_function(esk1_0,X1,X2,esk2_0,X3),X4,esk6_4(esk1_0,X5,esk3_0,X6))
    | ~ maps(esk1_0,X7,esk3_0)
    | ~ maps(esk1_0,X5,esk3_0)
    | ~ member(esk6_4(esk1_0,X5,esk3_0,X6),X3)
    | ~ member(X6,esk2_0)
    | ~ member(X4,X2)
    | ~ member(X6,X5) ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_36,c_0_37]),c_0_36]),c_0_21]) ).

cnf(c_0_41,plain,
    ( apply(inverse_function(X5,X4,X2),X1,X3)
    | ~ member(X1,X2)
    | ~ member(X3,X4)
    | ~ apply(X5,X3,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

cnf(c_0_42,plain,
    ( apply(compose_function(X1,inverse_function(X1,X2,X3),X4,X5,X6),X7,X7)
    | ~ apply(compose_function(X8,inverse_function(X1,X2,X3),X9,X2,X10),X7,X11)
    | ~ member(esk5_7(X8,inverse_function(X1,X2,X3),X9,X2,X10,X7,X11),X5)
    | ~ member(X7,X4)
    | ~ member(X7,X6)
    | ~ member(X7,X9)
    | ~ member(X11,X10)
    | ~ member(X7,X3) ),
    inference(spm,[status(thm)],[c_0_38,c_0_39]) ).

cnf(c_0_43,negated_conjecture,
    ( esk5_7(esk1_0,X1,X2,esk2_0,X3,X4,esk6_4(esk1_0,X5,esk3_0,X6)) = X6
    | ~ apply(compose_function(esk1_0,X1,X2,esk2_0,X3),X4,esk6_4(esk1_0,X5,esk3_0,X6))
    | ~ maps(esk1_0,X5,esk3_0)
    | ~ member(esk6_4(esk1_0,X5,esk3_0,X6),X3)
    | ~ member(X6,esk2_0)
    | ~ member(X4,X2)
    | ~ member(X6,X5) ),
    inference(spm,[status(thm)],[c_0_40,c_0_33]) ).

cnf(c_0_44,plain,
    ( apply(compose_function(X1,inverse_function(X2,X3,X4),X5,X6,X7),X8,X9)
    | ~ apply(X1,X10,X9)
    | ~ apply(X2,X10,X8)
    | ~ member(X10,X6)
    | ~ member(X8,X5)
    | ~ member(X9,X7)
    | ~ member(X10,X3)
    | ~ member(X8,X4) ),
    inference(spm,[status(thm)],[c_0_34,c_0_41]) ).

cnf(c_0_45,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ apply(compose_function(esk1_0,inverse_function(X1,esk2_0,X2),X7,esk2_0,X8),X6,esk6_4(esk1_0,X9,esk3_0,X10))
    | ~ maps(esk1_0,X9,esk3_0)
    | ~ member(esk6_4(esk1_0,X9,esk3_0,X10),X8)
    | ~ member(X10,esk2_0)
    | ~ member(X10,X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X7)
    | ~ member(X6,X2)
    | ~ member(X10,X9) ),
    inference(spm,[status(thm)],[c_0_42,c_0_43]) ).

cnf(c_0_46,plain,
    ( apply(compose_function(X1,inverse_function(X2,X3,X4),X5,X6,X7),X8,esk6_4(X1,X9,X10,X11))
    | ~ apply(X2,X11,X8)
    | ~ maps(X1,X9,X10)
    | ~ member(esk6_4(X1,X9,X10,X11),X7)
    | ~ member(X11,X6)
    | ~ member(X8,X5)
    | ~ member(X11,X3)
    | ~ member(X8,X4)
    | ~ member(X11,X9) ),
    inference(spm,[status(thm)],[c_0_44,c_0_16]) ).

cnf(c_0_47,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ apply(X1,X7,X6)
    | ~ maps(esk1_0,X8,esk3_0)
    | ~ member(esk6_4(esk1_0,X8,esk3_0,X7),X9)
    | ~ member(X7,esk2_0)
    | ~ member(X7,X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X10)
    | ~ member(X6,X2)
    | ~ member(X7,X8) ),
    inference(spm,[status(thm)],[c_0_45,c_0_46]) ).

cnf(c_0_48,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ apply(X1,X7,X6)
    | ~ maps(esk1_0,X8,esk3_0)
    | ~ member(X7,esk2_0)
    | ~ member(X7,X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X9)
    | ~ member(X6,X2)
    | ~ member(X7,X8) ),
    inference(spm,[status(thm)],[c_0_47,c_0_21]) ).

fof(c_0_49,plain,
    ! [X7,X8,X9,X10,X7,X8,X9,X13] :
      ( ( member(esk11_4(X7,X8,X9,X10),X8)
        | ~ member(X10,X9)
        | ~ surjective(X7,X8,X9) )
      & ( apply(X7,esk11_4(X7,X8,X9,X10),X10)
        | ~ member(X10,X9)
        | ~ surjective(X7,X8,X9) )
      & ( member(esk12_3(X7,X8,X9),X9)
        | surjective(X7,X8,X9) )
      & ( ~ member(X13,X8)
        | ~ apply(X7,X13,esk12_3(X7,X8,X9))
        | surjective(X7,X8,X9) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[surjective])])])])])])]) ).

cnf(c_0_50,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ apply(X1,X7,X6)
    | ~ member(X7,esk2_0)
    | ~ member(X7,X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X8)
    | ~ member(X6,X2) ),
    inference(spm,[status(thm)],[c_0_48,c_0_33]) ).

cnf(c_0_51,plain,
    ( apply(X1,esk11_4(X1,X2,X3,X4),X4)
    | ~ surjective(X1,X2,X3)
    | ~ member(X4,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_49]) ).

cnf(c_0_52,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ surjective(X1,X7,X8)
    | ~ member(esk11_4(X1,X7,X8,X6),esk2_0)
    | ~ member(esk11_4(X1,X7,X8,X6),X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X9)
    | ~ member(X6,X2)
    | ~ member(X6,X8) ),
    inference(spm,[status(thm)],[c_0_50,c_0_51]) ).

cnf(c_0_53,plain,
    ( member(esk11_4(X1,X2,X3,X4),X2)
    | ~ surjective(X1,X2,X3)
    | ~ member(X4,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_49]) ).

cnf(c_0_54,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,X4,X5),X6,X6)
    | ~ surjective(X1,esk2_0,X7)
    | ~ member(esk11_4(X1,esk2_0,X7,X6),X4)
    | ~ member(X6,X3)
    | ~ member(X6,X5)
    | ~ member(X6,X8)
    | ~ member(X6,X2)
    | ~ member(X6,X7) ),
    inference(spm,[status(thm)],[c_0_52,c_0_53]) ).

cnf(c_0_55,plain,
    ( surjective(X1,X2,X3)
    | ~ one_to_one(X1,X2,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_9]) ).

cnf(c_0_56,negated_conjecture,
    ( apply(compose_function(X1,inverse_function(X1,esk2_0,X2),X3,esk2_0,X4),X5,X5)
    | ~ surjective(X1,esk2_0,X6)
    | ~ member(X5,X3)
    | ~ member(X5,X4)
    | ~ member(X5,X7)
    | ~ member(X5,X2)
    | ~ member(X5,X6) ),
    inference(spm,[status(thm)],[c_0_54,c_0_53]) ).

cnf(c_0_57,negated_conjecture,
    surjective(esk1_0,esk2_0,esk3_0),
    inference(spm,[status(thm)],[c_0_55,c_0_14]) ).

fof(c_0_58,plain,
    ! [X7,X8,X9,X7,X8] :
      ( ( ~ identity(X7,X8)
        | ~ member(X9,X8)
        | apply(X7,X9,X9) )
      & ( member(esk4_2(X7,X8),X8)
        | identity(X7,X8) )
      & ( ~ apply(X7,esk4_2(X7,X8),esk4_2(X7,X8))
        | identity(X7,X8) ) ),
    inference(distribute,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[identity])])])])])])]) ).

cnf(c_0_59,negated_conjecture,
    ( apply(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4,X4)
    | ~ member(X4,esk3_0)
    | ~ member(X4,X2)
    | ~ member(X4,X3)
    | ~ member(X4,X5)
    | ~ member(X4,X1) ),
    inference(spm,[status(thm)],[c_0_56,c_0_57]) ).

cnf(c_0_60,plain,
    ( identity(X1,X2)
    | member(esk4_2(X1,X2),X2) ),
    inference(split_conjunct,[status(thm)],[c_0_58]) ).

cnf(c_0_61,plain,
    ( identity(X1,X2)
    | ~ apply(X1,esk4_2(X1,X2),esk4_2(X1,X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_58]) ).

cnf(c_0_62,negated_conjecture,
    ( identity(X1,X2)
    | apply(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X3),X4,esk2_0,X5),esk4_2(X1,X2),esk4_2(X1,X2))
    | ~ member(esk4_2(X1,X2),esk3_0)
    | ~ member(esk4_2(X1,X2),X4)
    | ~ member(esk4_2(X1,X2),X5)
    | ~ member(esk4_2(X1,X2),X3) ),
    inference(spm,[status(thm)],[c_0_59,c_0_60]) ).

cnf(c_0_63,negated_conjecture,
    ( identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4),esk3_0)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4),X2)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4),X3)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),X4),X1) ),
    inference(spm,[status(thm)],[c_0_61,c_0_62]) ).

cnf(c_0_64,negated_conjecture,
    ( identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),esk3_0)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),esk3_0),X2)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),esk3_0),X3)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),X2,esk2_0,X3),esk3_0),X1) ),
    inference(spm,[status(thm)],[c_0_63,c_0_60]) ).

cnf(c_0_65,negated_conjecture,
    ( identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),esk3_0,esk2_0,X2),esk3_0)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),esk3_0,esk2_0,X2),esk3_0),X2)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),esk3_0,esk2_0,X2),esk3_0),X1) ),
    inference(spm,[status(thm)],[c_0_64,c_0_60]) ).

cnf(c_0_66,negated_conjecture,
    ( identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),esk3_0,esk2_0,esk3_0),esk3_0)
    | ~ member(esk4_2(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,X1),esk3_0,esk2_0,esk3_0),esk3_0),X1) ),
    inference(spm,[status(thm)],[c_0_65,c_0_60]) ).

cnf(c_0_67,negated_conjecture,
    ~ identity(compose_function(esk1_0,inverse_function(esk1_0,esk2_0,esk3_0),esk3_0,esk2_0,esk3_0),esk3_0),
    inference(split_conjunct,[status(thm)],[c_0_10]) ).

cnf(c_0_68,negated_conjecture,
    $false,
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_66,c_0_60]),c_0_67]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SET715+4 : TPTP v8.1.0. Bugfixed v2.2.1.
% 0.03/0.13  % Command  : run_ET %s %d
% 0.13/0.34  % Computer : n026.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  : 600
% 0.13/0.34  % DateTime : Mon Jul 11 01:29:41 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.36/23.41  eprover: CPU time limit exceeded, terminating
% 0.36/23.41  eprover: CPU time limit exceeded, terminating
% 0.36/23.41  eprover: CPU time limit exceeded, terminating
% 0.36/23.42  eprover: CPU time limit exceeded, terminating
% 0.38/24.56  # Running protocol protocol_eprover_63dc1b1eb7d762c2f3686774d32795976f981b97 for 23 seconds:
% 0.38/24.56  
% 0.38/24.56  # Failure: Resource limit exceeded (time)
% 0.38/24.56  # OLD status Res
% 0.38/24.56  # Preprocessing time       : 0.028 s
% 0.38/24.56  # Running protocol protocol_eprover_f6eb5f7f05126ea361481ae651a4823314e3d740 for 23 seconds:
% 0.38/24.56  # SinE strategy is GSinE(CountFormulas,hypos,1.5,,02,20000,1.0)
% 0.38/24.56  # Preprocessing time       : 0.009 s
% 0.38/24.56  
% 0.38/24.56  # Proof found!
% 0.38/24.56  # SZS status Theorem
% 0.38/24.56  # SZS output start CNFRefutation
% See solution above
% 0.38/24.56  # Proof object total steps             : 69
% 0.38/24.56  # Proof object clause steps            : 52
% 0.38/24.56  # Proof object formula steps           : 17
% 0.38/24.56  # Proof object conjectures             : 29
% 0.38/24.56  # Proof object clause conjectures      : 26
% 0.38/24.56  # Proof object formula conjectures     : 3
% 0.38/24.56  # Proof object initial clauses used    : 19
% 0.38/24.56  # Proof object initial formulas used   : 8
% 0.38/24.56  # Proof object generating inferences   : 33
% 0.38/24.56  # Proof object simplifying inferences  : 3
% 0.38/24.56  # Training examples: 0 positive, 0 negative
% 0.38/24.56  # Parsed axioms                        : 29
% 0.38/24.56  # Removed by relevancy pruning/SinE    : 21
% 0.38/24.56  # Initial clauses                      : 41
% 0.38/24.56  # Removed in clause preprocessing      : 0
% 0.38/24.56  # Initial clauses in saturation        : 41
% 0.38/24.56  # Processed clauses                    : 1032
% 0.38/24.56  # ...of these trivial                  : 0
% 0.38/24.56  # ...subsumed                          : 566
% 0.38/24.56  # ...remaining for further processing  : 466
% 0.38/24.56  # Other redundant clauses eliminated   : 0
% 0.38/24.56  # Clauses deleted for lack of memory   : 0
% 0.38/24.56  # Backward-subsumed                    : 30
% 0.38/24.56  # Backward-rewritten                   : 0
% 0.38/24.56  # Generated clauses                    : 4309
% 0.38/24.56  # ...of the previous two non-trivial   : 4264
% 0.38/24.56  # Contextual simplify-reflections      : 1989
% 0.38/24.56  # Paramodulations                      : 4309
% 0.38/24.56  # Factorizations                       : 0
% 0.38/24.56  # Equation resolutions                 : 0
% 0.38/24.56  # Current number of processed clauses  : 436
% 0.38/24.56  #    Positive orientable unit clauses  : 4
% 0.38/24.56  #    Positive unorientable unit clauses: 0
% 0.38/24.56  #    Negative unit clauses             : 1
% 0.38/24.56  #    Non-unit-clauses                  : 431
% 0.38/24.56  # Current number of unprocessed clauses: 3049
% 0.38/24.56  # ...number of literals in the above   : 40191
% 0.38/24.56  # Current number of archived formulas  : 0
% 0.38/24.56  # Current number of archived clauses   : 30
% 0.38/24.56  # Clause-clause subsumption calls (NU) : 207574
% 0.38/24.56  # Rec. Clause-clause subsumption calls : 13994
% 0.38/24.56  # Non-unit clause-clause subsumptions  : 2585
% 0.38/24.56  # Unit Clause-clause subsumption calls : 9
% 0.38/24.56  # Rewrite failures with RHS unbound    : 0
% 0.38/24.56  # BW rewrite match attempts            : 0
% 0.38/24.56  # BW rewrite match successes           : 0
% 0.38/24.56  # Condensation attempts                : 0
% 0.38/24.56  # Condensation successes               : 0
% 0.38/24.56  # Termbank termtop insertions          : 228925
% 0.38/24.56  
% 0.38/24.56  # -------------------------------------------------
% 0.38/24.56  # User time                : 0.305 s
% 0.38/24.56  # System time              : 0.006 s
% 0.38/24.56  # Total time               : 0.311 s
% 0.38/24.56  # Maximum resident set size: 10088 pages
% 0.38/46.43  eprover: CPU time limit exceeded, terminating
% 0.38/46.43  eprover: CPU time limit exceeded, terminating
% 0.38/46.43  eprover: CPU time limit exceeded, terminating
% 0.38/46.44  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.44  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.45  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.45  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.46  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.46  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.47  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.47  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.48  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.48  eprover: No such file or directory
% 0.38/46.49  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.49  eprover: No such file or directory
% 0.38/46.49  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.49  eprover: No such file or directory
% 0.38/46.49  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.49  eprover: No such file or directory
% 0.38/46.49  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 0.38/46.49  eprover: No such file or directory
% 0.38/46.50  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 0.38/46.50  eprover: No such file or directory
%------------------------------------------------------------------------------