TSTP Solution File: LCL513+1 by Beagle---0.9.51

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Beagle---0.9.51
% Problem  : LCL513+1 : TPTP v8.1.2. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s

% Computer : n011.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 : Tue Aug 22 10:48:16 EDT 2023

% Result   : Theorem 23.96s 13.67s
% Output   : CNFRefutation 24.23s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   23
%            Number of leaves      :  110
% Syntax   : Number of formulae    :  243 (  79 unt;  92 typ;   0 def)
%            Number of atoms       :  237 (  18 equ)
%            Maximal formula atoms :    4 (   1 avg)
%            Number of connectives :  169 (  83   ~;  74   |;   1   &)
%                                         (   7 <=>;   4  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   4 avg)
%            Maximal term depth    :    5 (   2 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   10 (   6   >;   4   *;   0   +;   0  <<)
%            Number of predicates  :   34 (  32 usr;  32 prp; 0-2 aty)
%            Number of functors    :   60 (  60 usr;  55 con; 0-2 aty)
%            Number of variables   :  252 (; 252   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
%$ is_a_theorem > or > implies > equiv > and > #nlpp > not > substitution_of_equivalents > r5 > r4 > r3 > r2 > r1 > or_3 > or_2 > or_1 > op_or > op_implies_or > op_implies_and > op_equiv > op_and > modus_tollens > modus_ponens > kn3 > kn2 > kn1 > implies_3 > implies_2 > implies_1 > equivalence_3 > equivalence_2 > equivalence_1 > cn3 > cn2 > cn1 > and_3 > and_2 > and_1 > #skF_33 > #skF_41 > #skF_52 > #skF_49 > #skF_20 > #skF_18 > #skF_17 > #skF_11 > #skF_31 > #skF_15 > #skF_25 > #skF_55 > #skF_38 > #skF_36 > #skF_54 > #skF_43 > #skF_19 > #skF_40 > #skF_48 > #skF_7 > #skF_37 > #skF_10 > #skF_16 > #skF_47 > #skF_26 > #skF_53 > #skF_14 > #skF_51 > #skF_5 > #skF_45 > #skF_46 > #skF_39 > #skF_6 > #skF_13 > #skF_2 > #skF_3 > #skF_1 > #skF_21 > #skF_9 > #skF_32 > #skF_50 > #skF_8 > #skF_30 > #skF_42 > #skF_4 > #skF_22 > #skF_29 > #skF_28 > #skF_35 > #skF_24 > #skF_27 > #skF_23 > #skF_44 > #skF_12 > #skF_34

%Foreground sorts:

%Background operators:

%Foreground operators:
tff(implies_2,type,
    implies_2: $o ).

tff(r1,type,
    r1: $o ).

tff(equiv,type,
    equiv: ( $i * $i ) > $i ).

tff('#skF_33',type,
    '#skF_33': $i ).

tff('#skF_41',type,
    '#skF_41': $i ).

tff(r3,type,
    r3: $o ).

tff('#skF_52',type,
    '#skF_52': $i ).

tff(equivalence_2,type,
    equivalence_2: $o ).

tff('#skF_49',type,
    '#skF_49': $i ).

tff(and_2,type,
    and_2: $o ).

tff('#skF_20',type,
    '#skF_20': $i ).

tff(op_implies_or,type,
    op_implies_or: $o ).

tff('#skF_18',type,
    '#skF_18': $i ).

tff('#skF_17',type,
    '#skF_17': $i ).

tff(r5,type,
    r5: $o ).

tff('#skF_11',type,
    '#skF_11': $i ).

tff(kn3,type,
    kn3: $o ).

tff('#skF_31',type,
    '#skF_31': $i ).

tff('#skF_15',type,
    '#skF_15': $i ).

tff('#skF_25',type,
    '#skF_25': $i ).

tff(cn2,type,
    cn2: $o ).

tff('#skF_55',type,
    '#skF_55': $i ).

tff(r4,type,
    r4: $o ).

tff('#skF_38',type,
    '#skF_38': $i ).

tff('#skF_36',type,
    '#skF_36': $i ).

tff('#skF_54',type,
    '#skF_54': $i ).

tff('#skF_43',type,
    '#skF_43': $i ).

tff(op_and,type,
    op_and: $o ).

tff('#skF_19',type,
    '#skF_19': $i ).

tff('#skF_40',type,
    '#skF_40': $i ).

tff('#skF_48',type,
    '#skF_48': $i ).

tff('#skF_7',type,
    '#skF_7': $i ).

tff('#skF_37',type,
    '#skF_37': $i ).

tff(and_3,type,
    and_3: $o ).

tff(is_a_theorem,type,
    is_a_theorem: $i > $o ).

tff(op_implies_and,type,
    op_implies_and: $o ).

tff(equivalence_1,type,
    equivalence_1: $o ).

tff('#skF_10',type,
    '#skF_10': $i ).

tff(kn2,type,
    kn2: $o ).

tff('#skF_16',type,
    '#skF_16': $i ).

tff(equivalence_3,type,
    equivalence_3: $o ).

tff(and_1,type,
    and_1: $o ).

tff('#skF_47',type,
    '#skF_47': $i ).

tff(cn1,type,
    cn1: $o ).

tff('#skF_26',type,
    '#skF_26': $i ).

tff('#skF_53',type,
    '#skF_53': $i ).

tff('#skF_14',type,
    '#skF_14': $i ).

tff('#skF_51',type,
    '#skF_51': $i ).

tff(or_1,type,
    or_1: $o ).

tff(implies_3,type,
    implies_3: $o ).

tff('#skF_5',type,
    '#skF_5': $i ).

tff('#skF_45',type,
    '#skF_45': $i ).

tff('#skF_46',type,
    '#skF_46': $i ).

tff('#skF_39',type,
    '#skF_39': $i ).

tff(or,type,
    or: ( $i * $i ) > $i ).

tff(modus_tollens,type,
    modus_tollens: $o ).

tff(r2,type,
    r2: $o ).

tff('#skF_6',type,
    '#skF_6': $i ).

tff('#skF_13',type,
    '#skF_13': $i ).

tff(not,type,
    not: $i > $i ).

tff('#skF_2',type,
    '#skF_2': $i ).

tff(modus_ponens,type,
    modus_ponens: $o ).

tff(op_or,type,
    op_or: $o ).

tff('#skF_3',type,
    '#skF_3': $i ).

tff(substitution_of_equivalents,type,
    substitution_of_equivalents: $o ).

tff('#skF_1',type,
    '#skF_1': $i ).

tff('#skF_21',type,
    '#skF_21': $i ).

tff('#skF_9',type,
    '#skF_9': $i ).

tff('#skF_32',type,
    '#skF_32': $i ).

tff(op_equiv,type,
    op_equiv: $o ).

tff('#skF_50',type,
    '#skF_50': $i ).

tff('#skF_8',type,
    '#skF_8': $i ).

tff('#skF_30',type,
    '#skF_30': $i ).

tff('#skF_42',type,
    '#skF_42': $i ).

tff(or_3,type,
    or_3: $o ).

tff('#skF_4',type,
    '#skF_4': $i ).

tff('#skF_22',type,
    '#skF_22': $i ).

tff(kn1,type,
    kn1: $o ).

tff('#skF_29',type,
    '#skF_29': $i ).

tff('#skF_28',type,
    '#skF_28': $i ).

tff('#skF_35',type,
    '#skF_35': $i ).

tff('#skF_24',type,
    '#skF_24': $i ).

tff('#skF_27',type,
    '#skF_27': $i ).

tff('#skF_23',type,
    '#skF_23': $i ).

tff(and,type,
    and: ( $i * $i ) > $i ).

tff(implies_1,type,
    implies_1: $o ).

tff('#skF_44',type,
    '#skF_44': $i ).

tff(implies,type,
    implies: ( $i * $i ) > $i ).

tff(cn3,type,
    cn3: $o ).

tff(or_2,type,
    or_2: $o ).

tff('#skF_12',type,
    '#skF_12': $i ).

tff('#skF_34',type,
    '#skF_34': $i ).

tff(f_259,axiom,
    op_implies_and,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hilbert_op_implies_and) ).

tff(f_206,axiom,
    ( op_implies_and
   => ! [X,Y] : ( implies(X,Y) = not(and(X,not(Y))) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+1.ax',op_implies_and) ).

tff(f_258,axiom,
    op_or,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hilbert_op_or) ).

tff(f_198,axiom,
    ( op_or
   => ! [X,Y] : ( or(X,Y) = not(and(not(X),not(Y))) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+1.ax',op_or) ).

tff(f_249,axiom,
    kn1,
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+5.ax',rosser_kn1) ).

tff(f_125,axiom,
    ( kn1
  <=> ! [P] : is_a_theorem(implies(P,and(P,P))) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',kn1) ).

tff(f_250,axiom,
    kn2,
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+5.ax',rosser_kn2) ).

tff(f_129,axiom,
    ( kn2
  <=> ! [P,Q] : is_a_theorem(implies(and(P,Q),P)) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',kn2) ).

tff(f_251,axiom,
    kn3,
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+5.ax',rosser_kn3) ).

tff(f_133,axiom,
    ( kn3
  <=> ! [P,Q,R] : is_a_theorem(implies(implies(P,Q),implies(not(and(Q,R)),not(and(R,P))))) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',kn3) ).

tff(f_247,axiom,
    modus_ponens,
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+5.ax',rosser_modus_ponens) ).

tff(f_60,axiom,
    ( modus_ponens
  <=> ! [X,Y] :
        ( ( is_a_theorem(X)
          & is_a_theorem(implies(X,Y)) )
       => is_a_theorem(Y) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',modus_ponens) ).

tff(f_260,axiom,
    op_equiv,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hilbert_op_equiv) ).

tff(f_214,axiom,
    ( op_equiv
   => ! [X,Y] : ( equiv(X,Y) = and(implies(X,Y),implies(Y,X)) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+1.ax',op_equiv) ).

tff(f_112,axiom,
    ( equivalence_1
  <=> ! [X,Y] : is_a_theorem(implies(equiv(X,Y),implies(X,Y))) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',equivalence_1) ).

tff(f_146,axiom,
    ( cn3
  <=> ! [P] : is_a_theorem(implies(implies(not(P),P),P)) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',cn3) ).

tff(f_262,negated_conjecture,
    ~ equivalence_2,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hilbert_equivalence_2) ).

tff(f_116,axiom,
    ( equivalence_2
  <=> ! [X,Y] : is_a_theorem(implies(equiv(X,Y),implies(Y,X))) ),
    file('/export/starexec/sandbox/benchmark/Axioms/LCL006+0.ax',equivalence_2) ).

tff(c_140,plain,
    op_implies_and,
    inference(cnfTransformation,[status(thm)],[f_259]) ).

tff(c_116,plain,
    ! [X_60,Y_61] :
      ( ( not(and(X_60,not(Y_61))) = implies(X_60,Y_61) )
      | ~ op_implies_and ),
    inference(cnfTransformation,[status(thm)],[f_206]) ).

tff(c_29633,plain,
    ! [X_1671,Y_1672] : ( not(and(X_1671,not(Y_1672))) = implies(X_1671,Y_1672) ),
    inference(demodulation,[status(thm),theory(equality)],[c_140,c_116]) ).

tff(c_138,plain,
    op_or,
    inference(cnfTransformation,[status(thm)],[f_258]) ).

tff(c_151,plain,
    ! [X_60,Y_61] : ( not(and(X_60,not(Y_61))) = implies(X_60,Y_61) ),
    inference(demodulation,[status(thm),theory(equality)],[c_140,c_116]) ).

tff(c_112,plain,
    ! [X_56,Y_57] :
      ( ( not(and(not(X_56),not(Y_57))) = or(X_56,Y_57) )
      | ~ op_or ),
    inference(cnfTransformation,[status(thm)],[f_198]) ).

tff(c_153,plain,
    ! [X_56,Y_57] : ( implies(not(X_56),Y_57) = or(X_56,Y_57) ),
    inference(demodulation,[status(thm),theory(equality)],[c_138,c_151,c_112]) ).

tff(c_29645,plain,
    ! [X_1671,Y_1672,Y_57] : ( or(and(X_1671,not(Y_1672)),Y_57) = implies(implies(X_1671,Y_1672),Y_57) ),
    inference(superposition,[status(thm),theory(equality)],[c_29633,c_153]) ).

tff(c_29578,plain,
    ! [X_1659,Y_1660] : ( implies(not(X_1659),Y_1660) = or(X_1659,Y_1660) ),
    inference(demodulation,[status(thm),theory(equality)],[c_138,c_151,c_112]) ).

tff(c_130,plain,
    kn1,
    inference(cnfTransformation,[status(thm)],[f_249]) ).

tff(c_70,plain,
    ! [P_33] :
      ( is_a_theorem(implies(P_33,and(P_33,P_33)))
      | ~ kn1 ),
    inference(cnfTransformation,[status(thm)],[f_125]) ).

tff(c_167,plain,
    ! [P_33] : is_a_theorem(implies(P_33,and(P_33,P_33))),
    inference(demodulation,[status(thm),theory(equality)],[c_130,c_70]) ).

tff(c_29589,plain,
    ! [X_1659] : is_a_theorem(or(X_1659,and(not(X_1659),not(X_1659)))),
    inference(superposition,[status(thm),theory(equality)],[c_29578,c_167]) ).

tff(c_132,plain,
    kn2,
    inference(cnfTransformation,[status(thm)],[f_250]) ).

tff(c_74,plain,
    ! [P_34,Q_35] :
      ( is_a_theorem(implies(and(P_34,Q_35),P_34))
      | ~ kn2 ),
    inference(cnfTransformation,[status(thm)],[f_129]) ).

tff(c_163,plain,
    ! [P_34,Q_35] : is_a_theorem(implies(and(P_34,Q_35),P_34)),
    inference(demodulation,[status(thm),theory(equality)],[c_132,c_74]) ).

tff(c_134,plain,
    kn3,
    inference(cnfTransformation,[status(thm)],[f_251]) ).

tff(c_78,plain,
    ! [P_36,Q_37,R_38] :
      ( is_a_theorem(implies(implies(P_36,Q_37),implies(not(and(Q_37,R_38)),not(and(R_38,P_36)))))
      | ~ kn3 ),
    inference(cnfTransformation,[status(thm)],[f_133]) ).

tff(c_30400,plain,
    ! [P_1755,Q_1756,R_1757] : is_a_theorem(implies(implies(P_1755,Q_1756),or(and(Q_1756,R_1757),not(and(R_1757,P_1755))))),
    inference(demodulation,[status(thm),theory(equality)],[c_134,c_153,c_78]) ).

tff(c_30431,plain,
    ! [Y_61,Q_1756,X_60] : is_a_theorem(implies(implies(not(Y_61),Q_1756),or(and(Q_1756,X_60),implies(X_60,Y_61)))),
    inference(superposition,[status(thm),theory(equality)],[c_151,c_30400]) ).

tff(c_30439,plain,
    ! [Y_1758,Q_1759,X_1760] : is_a_theorem(implies(or(Y_1758,Q_1759),or(and(Q_1759,X_1760),implies(X_1760,Y_1758)))),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_30431]) ).

tff(c_128,plain,
    modus_ponens,
    inference(cnfTransformation,[status(thm)],[f_247]) ).

tff(c_2,plain,
    ! [Y_2,X_1] :
      ( is_a_theorem(Y_2)
      | ~ is_a_theorem(implies(X_1,Y_2))
      | ~ is_a_theorem(X_1)
      | ~ modus_ponens ),
    inference(cnfTransformation,[status(thm)],[f_60]) ).

tff(c_184,plain,
    ! [Y_2,X_1] :
      ( is_a_theorem(Y_2)
      | ~ is_a_theorem(implies(X_1,Y_2))
      | ~ is_a_theorem(X_1) ),
    inference(demodulation,[status(thm),theory(equality)],[c_128,c_2]) ).

tff(c_30471,plain,
    ! [Q_1761,X_1762,Y_1763] :
      ( is_a_theorem(or(and(Q_1761,X_1762),implies(X_1762,Y_1763)))
      | ~ is_a_theorem(or(Y_1763,Q_1761)) ),
    inference(resolution,[status(thm)],[c_30439,c_184]) ).

tff(c_30493,plain,
    ! [Q_1761,X_56,Y_57] :
      ( is_a_theorem(or(and(Q_1761,not(X_56)),or(X_56,Y_57)))
      | ~ is_a_theorem(or(Y_57,Q_1761)) ),
    inference(superposition,[status(thm),theory(equality)],[c_153,c_30471]) ).

tff(c_30527,plain,
    ! [Q_1767,X_1768,Y_1769] :
      ( is_a_theorem(implies(implies(Q_1767,X_1768),or(X_1768,Y_1769)))
      | ~ is_a_theorem(or(Y_1769,Q_1767)) ),
    inference(demodulation,[status(thm),theory(equality)],[c_29645,c_30493]) ).

tff(c_30544,plain,
    ! [X_1770,Y_1771,Q_1772] :
      ( is_a_theorem(or(X_1770,Y_1771))
      | ~ is_a_theorem(implies(Q_1772,X_1770))
      | ~ is_a_theorem(or(Y_1771,Q_1772)) ),
    inference(resolution,[status(thm)],[c_30527,c_184]) ).

tff(c_30602,plain,
    ! [P_1773,Y_1774,Q_1775] :
      ( is_a_theorem(or(P_1773,Y_1774))
      | ~ is_a_theorem(or(Y_1774,and(P_1773,Q_1775))) ),
    inference(resolution,[status(thm)],[c_163,c_30544]) ).

tff(c_30625,plain,
    ! [X_1776] : is_a_theorem(or(not(X_1776),X_1776)),
    inference(resolution,[status(thm)],[c_29589,c_30602]) ).

tff(c_30600,plain,
    ! [P_34,Y_1771,Q_35] :
      ( is_a_theorem(or(P_34,Y_1771))
      | ~ is_a_theorem(or(Y_1771,and(P_34,Q_35))) ),
    inference(resolution,[status(thm)],[c_163,c_30544]) ).

tff(c_30673,plain,
    ! [P_1780,Q_1781] : is_a_theorem(or(P_1780,not(and(P_1780,Q_1781)))),
    inference(resolution,[status(thm)],[c_30625,c_30600]) ).

tff(c_30694,plain,
    ! [X_1782,Y_1783] : is_a_theorem(or(X_1782,implies(X_1782,Y_1783))),
    inference(superposition,[status(thm),theory(equality)],[c_151,c_30673]) ).

tff(c_30707,plain,
    ! [X_56,Y_57] : is_a_theorem(or(not(X_56),or(X_56,Y_57))),
    inference(superposition,[status(thm),theory(equality)],[c_153,c_30694]) ).

tff(c_230,plain,
    ! [X_75,Y_76] : ( not(and(X_75,not(Y_76))) = implies(X_75,Y_76) ),
    inference(demodulation,[status(thm),theory(equality)],[c_140,c_116]) ).

tff(c_233,plain,
    ! [X_60,X_75,Y_76] : ( implies(X_60,and(X_75,not(Y_76))) = not(and(X_60,implies(X_75,Y_76))) ),
    inference(superposition,[status(thm),theory(equality)],[c_230,c_151]) ).

tff(c_239,plain,
    ! [X_75,Y_76,Y_57] : ( or(and(X_75,not(Y_76)),Y_57) = implies(implies(X_75,Y_76),Y_57) ),
    inference(superposition,[status(thm),theory(equality)],[c_230,c_153]) ).

tff(c_202,plain,
    ! [X_71,Y_72] : ( implies(not(X_71),Y_72) = or(X_71,Y_72) ),
    inference(demodulation,[status(thm),theory(equality)],[c_138,c_151,c_112]) ).

tff(c_209,plain,
    ! [X_71] : is_a_theorem(or(X_71,and(not(X_71),not(X_71)))),
    inference(superposition,[status(thm),theory(equality)],[c_202,c_167]) ).

tff(c_509,plain,
    ! [P_106,Q_107,R_108] : is_a_theorem(implies(implies(P_106,Q_107),or(and(Q_107,R_108),not(and(R_108,P_106))))),
    inference(demodulation,[status(thm),theory(equality)],[c_134,c_153,c_78]) ).

tff(c_525,plain,
    ! [Y_61,Q_107,X_60] : is_a_theorem(implies(implies(not(Y_61),Q_107),or(and(Q_107,X_60),implies(X_60,Y_61)))),
    inference(superposition,[status(thm),theory(equality)],[c_151,c_509]) ).

tff(c_661,plain,
    ! [Y_116,Q_117,X_118] : is_a_theorem(implies(or(Y_116,Q_117),or(and(Q_117,X_118),implies(X_118,Y_116)))),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_525]) ).

tff(c_734,plain,
    ! [Q_121,X_122,Y_123] :
      ( is_a_theorem(or(and(Q_121,X_122),implies(X_122,Y_123)))
      | ~ is_a_theorem(or(Y_123,Q_121)) ),
    inference(resolution,[status(thm)],[c_661,c_184]) ).

tff(c_750,plain,
    ! [X_75,Y_76,Y_123] :
      ( is_a_theorem(implies(implies(X_75,Y_76),implies(not(Y_76),Y_123)))
      | ~ is_a_theorem(or(Y_123,X_75)) ),
    inference(superposition,[status(thm),theory(equality)],[c_239,c_734]) ).

tff(c_799,plain,
    ! [X_130,Y_131,Y_132] :
      ( is_a_theorem(implies(implies(X_130,Y_131),or(Y_131,Y_132)))
      | ~ is_a_theorem(or(Y_132,X_130)) ),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_750]) ).

tff(c_820,plain,
    ! [Y_133,Y_134,X_135] :
      ( is_a_theorem(or(Y_133,Y_134))
      | ~ is_a_theorem(implies(X_135,Y_133))
      | ~ is_a_theorem(or(Y_134,X_135)) ),
    inference(resolution,[status(thm)],[c_799,c_184]) ).

tff(c_874,plain,
    ! [P_138,Y_139,Q_140] :
      ( is_a_theorem(or(P_138,Y_139))
      | ~ is_a_theorem(or(Y_139,and(P_138,Q_140))) ),
    inference(resolution,[status(thm)],[c_163,c_820]) ).

tff(c_897,plain,
    ! [X_141] : is_a_theorem(or(not(X_141),X_141)),
    inference(resolution,[status(thm)],[c_209,c_874]) ).

tff(c_858,plain,
    ! [P_34,Y_134,Q_35] :
      ( is_a_theorem(or(P_34,Y_134))
      | ~ is_a_theorem(or(Y_134,and(P_34,Q_35))) ),
    inference(resolution,[status(thm)],[c_163,c_820]) ).

tff(c_908,plain,
    ! [P_34,Q_35] : is_a_theorem(or(P_34,not(and(P_34,Q_35)))),
    inference(resolution,[status(thm)],[c_897,c_858]) ).

tff(c_860,plain,
    ! [P_136,Y_137] :
      ( is_a_theorem(or(and(P_136,P_136),Y_137))
      | ~ is_a_theorem(or(Y_137,P_136)) ),
    inference(resolution,[status(thm)],[c_167,c_820]) ).

tff(c_867,plain,
    ! [Y_76,Y_57] :
      ( is_a_theorem(implies(implies(not(Y_76),Y_76),Y_57))
      | ~ is_a_theorem(or(Y_57,not(Y_76))) ),
    inference(superposition,[status(thm),theory(equality)],[c_239,c_860]) ).

tff(c_1444,plain,
    ! [Y_205,Y_206] :
      ( is_a_theorem(implies(or(Y_205,Y_205),Y_206))
      | ~ is_a_theorem(or(Y_206,not(Y_205))) ),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_867]) ).

tff(c_1644,plain,
    ! [P_212,Q_213] : is_a_theorem(implies(or(and(P_212,Q_213),and(P_212,Q_213)),P_212)),
    inference(resolution,[status(thm)],[c_908,c_1444]) ).

tff(c_1669,plain,
    ! [X_75,Y_76] : is_a_theorem(implies(implies(implies(X_75,Y_76),and(X_75,not(Y_76))),X_75)),
    inference(superposition,[status(thm),theory(equality)],[c_239,c_1644]) ).

tff(c_1682,plain,
    ! [X_75,Y_76] : is_a_theorem(or(and(implies(X_75,Y_76),implies(X_75,Y_76)),X_75)),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_233,c_1669]) ).

tff(c_857,plain,
    ! [P_33,Y_134] :
      ( is_a_theorem(or(and(P_33,P_33),Y_134))
      | ~ is_a_theorem(or(Y_134,P_33)) ),
    inference(resolution,[status(thm)],[c_167,c_820]) ).

tff(c_5987,plain,
    ! [P_487,P_488,Q_489] :
      ( is_a_theorem(or(P_487,and(P_488,P_488)))
      | ~ is_a_theorem(or(and(P_487,Q_489),P_488)) ),
    inference(resolution,[status(thm)],[c_857,c_874]) ).

tff(c_6067,plain,
    ! [X_75,Y_76] : is_a_theorem(or(implies(X_75,Y_76),and(X_75,X_75))),
    inference(resolution,[status(thm)],[c_1682,c_5987]) ).

tff(c_142,plain,
    op_equiv,
    inference(cnfTransformation,[status(thm)],[f_260]) ).

tff(c_120,plain,
    ! [X_64,Y_65] :
      ( ( and(implies(X_64,Y_65),implies(Y_65,X_64)) = equiv(X_64,Y_65) )
      | ~ op_equiv ),
    inference(cnfTransformation,[status(thm)],[f_214]) ).

tff(c_149,plain,
    ! [X_64,Y_65] : ( and(implies(X_64,Y_65),implies(Y_65,X_64)) = equiv(X_64,Y_65) ),
    inference(demodulation,[status(thm),theory(equality)],[c_142,c_120]) ).

tff(c_6216,plain,
    ! [P_498,Y_499] :
      ( is_a_theorem(or(P_498,and(Y_499,Y_499)))
      | ~ is_a_theorem(or(Y_499,P_498)) ),
    inference(resolution,[status(thm)],[c_857,c_5987]) ).

tff(c_8487,plain,
    ! [P_589,Y_590] :
      ( is_a_theorem(or(P_589,equiv(Y_590,Y_590)))
      | ~ is_a_theorem(or(implies(Y_590,Y_590),P_589)) ),
    inference(superposition,[status(thm),theory(equality)],[c_149,c_6216]) ).

tff(c_8598,plain,
    ! [Y_591] : is_a_theorem(or(and(Y_591,Y_591),equiv(Y_591,Y_591))),
    inference(resolution,[status(thm)],[c_6067,c_8487]) ).

tff(c_895,plain,
    ! [P_138,P_33,Q_140] :
      ( is_a_theorem(or(P_138,and(P_33,P_33)))
      | ~ is_a_theorem(or(and(P_138,Q_140),P_33)) ),
    inference(resolution,[status(thm)],[c_857,c_874]) ).

tff(c_8630,plain,
    ! [Y_591] : is_a_theorem(or(Y_591,and(equiv(Y_591,Y_591),equiv(Y_591,Y_591)))),
    inference(resolution,[status(thm)],[c_8598,c_895]) ).

tff(c_684,plain,
    ! [Q_117,X_118,Y_116] :
      ( is_a_theorem(or(and(Q_117,X_118),implies(X_118,Y_116)))
      | ~ is_a_theorem(or(Y_116,Q_117)) ),
    inference(resolution,[status(thm)],[c_661,c_184]) ).

tff(c_4156,plain,
    ! [Y_367,Y_368] :
      ( is_a_theorem(or(equiv(Y_367,Y_367),Y_368))
      | ~ is_a_theorem(or(Y_368,implies(Y_367,Y_367))) ),
    inference(superposition,[status(thm),theory(equality)],[c_149,c_860]) ).

tff(c_11044,plain,
    ! [Y_706,Q_707] :
      ( is_a_theorem(or(equiv(Y_706,Y_706),and(Q_707,Y_706)))
      | ~ is_a_theorem(or(Y_706,Q_707)) ),
    inference(resolution,[status(thm)],[c_684,c_4156]) ).

tff(c_11081,plain,
    ! [Q_708,Y_709] :
      ( is_a_theorem(or(Q_708,equiv(Y_709,Y_709)))
      | ~ is_a_theorem(or(Y_709,Q_708)) ),
    inference(resolution,[status(thm)],[c_11044,c_858]) ).

tff(c_1685,plain,
    ! [P_214,Q_215] :
      ( is_a_theorem(P_214)
      | ~ is_a_theorem(or(and(P_214,Q_215),and(P_214,Q_215))) ),
    inference(resolution,[status(thm)],[c_1644,c_184]) ).

tff(c_1712,plain,
    ! [P_33] :
      ( is_a_theorem(P_33)
      | ~ is_a_theorem(or(and(P_33,P_33),P_33)) ),
    inference(resolution,[status(thm)],[c_857,c_1685]) ).

tff(c_11150,plain,
    ! [Y_709] :
      ( is_a_theorem(equiv(Y_709,Y_709))
      | ~ is_a_theorem(or(Y_709,and(equiv(Y_709,Y_709),equiv(Y_709,Y_709)))) ),
    inference(resolution,[status(thm)],[c_11081,c_1712]) ).

tff(c_11194,plain,
    ! [Y_709] : is_a_theorem(equiv(Y_709,Y_709)),
    inference(demodulation,[status(thm),theory(equality)],[c_8630,c_11150]) ).

tff(c_896,plain,
    ! [X_71] : is_a_theorem(or(not(X_71),X_71)),
    inference(resolution,[status(thm)],[c_209,c_874]) ).

tff(c_275,plain,
    ! [X_83,Y_84] : ( and(implies(X_83,Y_84),implies(Y_84,X_83)) = equiv(X_83,Y_84) ),
    inference(demodulation,[status(thm),theory(equality)],[c_142,c_120]) ).

tff(c_292,plain,
    ! [X_83,Y_84] : is_a_theorem(implies(equiv(X_83,Y_84),implies(X_83,Y_84))),
    inference(superposition,[status(thm),theory(equality)],[c_275,c_163]) ).

tff(c_58,plain,
    ! [X_27,Y_28] :
      ( is_a_theorem(implies(equiv(X_27,Y_28),implies(X_27,Y_28)))
      | ~ equivalence_1 ),
    inference(cnfTransformation,[status(thm)],[f_112]) ).

tff(c_265,plain,
    ~ equivalence_1,
    inference(splitLeft,[status(thm)],[c_58]) ).

tff(c_56,plain,
    ( equivalence_1
    | ~ is_a_theorem(implies(equiv('#skF_27','#skF_28'),implies('#skF_27','#skF_28'))) ),
    inference(cnfTransformation,[status(thm)],[f_112]) ).

tff(c_266,plain,
    ~ is_a_theorem(implies(equiv('#skF_27','#skF_28'),implies('#skF_27','#skF_28'))),
    inference(negUnitSimplification,[status(thm)],[c_265,c_56]) ).

tff(c_315,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_292,c_266]) ).

tff(c_318,plain,
    ! [X_86,Y_87] : is_a_theorem(implies(equiv(X_86,Y_87),implies(X_86,Y_87))),
    inference(splitRight,[status(thm)],[c_58]) ).

tff(c_325,plain,
    ! [X_86,Y_87] :
      ( is_a_theorem(implies(X_86,Y_87))
      | ~ is_a_theorem(equiv(X_86,Y_87)) ),
    inference(resolution,[status(thm)],[c_318,c_184]) ).

tff(c_5018,plain,
    ! [Y_420,Y_421,X_422] :
      ( is_a_theorem(or(Y_420,Y_421))
      | ~ is_a_theorem(or(Y_421,X_422))
      | ~ is_a_theorem(equiv(X_422,Y_420)) ),
    inference(resolution,[status(thm)],[c_325,c_820]) ).

tff(c_5123,plain,
    ! [Y_423,X_424] :
      ( is_a_theorem(or(Y_423,not(X_424)))
      | ~ is_a_theorem(equiv(X_424,Y_423)) ),
    inference(resolution,[status(thm)],[c_896,c_5018]) ).

tff(c_873,plain,
    ! [Y_76,Y_57] :
      ( is_a_theorem(implies(or(Y_76,Y_76),Y_57))
      | ~ is_a_theorem(or(Y_57,not(Y_76))) ),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_867]) ).

tff(c_5293,plain,
    ! [X_433,Y_434] :
      ( is_a_theorem(implies(or(X_433,X_433),Y_434))
      | ~ is_a_theorem(equiv(X_433,Y_434)) ),
    inference(resolution,[status(thm)],[c_5123,c_873]) ).

tff(c_90,plain,
    ! [P_44] :
      ( is_a_theorem(implies(implies(not(P_44),P_44),P_44))
      | ~ cn3 ),
    inference(cnfTransformation,[status(thm)],[f_146]) ).

tff(c_154,plain,
    ! [P_44] :
      ( is_a_theorem(implies(or(P_44,P_44),P_44))
      | ~ cn3 ),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_90]) ).

tff(c_189,plain,
    ~ cn3,
    inference(splitLeft,[status(thm)],[c_154]) ).

tff(c_88,plain,
    ( cn3
    | ~ is_a_theorem(implies(implies(not('#skF_44'),'#skF_44'),'#skF_44')) ),
    inference(cnfTransformation,[status(thm)],[f_146]) ).

tff(c_155,plain,
    ( cn3
    | ~ is_a_theorem(implies(or('#skF_44','#skF_44'),'#skF_44')) ),
    inference(demodulation,[status(thm),theory(equality)],[c_153,c_88]) ).

tff(c_192,plain,
    ~ is_a_theorem(implies(or('#skF_44','#skF_44'),'#skF_44')),
    inference(negUnitSimplification,[status(thm)],[c_189,c_155]) ).

tff(c_5331,plain,
    ~ is_a_theorem(equiv('#skF_44','#skF_44')),
    inference(resolution,[status(thm)],[c_5293,c_192]) ).

tff(c_11362,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_11194,c_5331]) ).

tff(c_11363,plain,
    ! [P_44] : is_a_theorem(implies(or(P_44,P_44),P_44)),
    inference(splitRight,[status(thm)],[c_154]) ).

tff(c_31368,plain,
    ! [P_1822,Y_1823] :
      ( is_a_theorem(or(P_1822,Y_1823))
      | ~ is_a_theorem(or(Y_1823,or(P_1822,P_1822))) ),
    inference(resolution,[status(thm)],[c_11363,c_30544]) ).

tff(c_31406,plain,
    ! [Y_1824] : is_a_theorem(or(Y_1824,not(Y_1824))),
    inference(resolution,[status(thm)],[c_30707,c_31368]) ).

tff(c_31419,plain,
    ! [X_60,Y_61] : is_a_theorem(or(and(X_60,not(Y_61)),implies(X_60,Y_61))),
    inference(superposition,[status(thm),theory(equality)],[c_151,c_31406]) ).

tff(c_31422,plain,
    ! [X_60,Y_61] : is_a_theorem(implies(implies(X_60,Y_61),implies(X_60,Y_61))),
    inference(demodulation,[status(thm),theory(equality)],[c_29645,c_31419]) ).

tff(c_30802,plain,
    ! [Q_1788,R_1789,P_1790] :
      ( is_a_theorem(or(and(Q_1788,R_1789),not(and(R_1789,P_1790))))
      | ~ is_a_theorem(implies(P_1790,Q_1788)) ),
    inference(resolution,[status(thm)],[c_30400,c_184]) ).

tff(c_34787,plain,
    ! [X_2072,Y_2073,P_2074] :
      ( is_a_theorem(or(equiv(X_2072,Y_2073),not(and(implies(Y_2073,X_2072),P_2074))))
      | ~ is_a_theorem(implies(P_2074,implies(X_2072,Y_2073))) ),
    inference(superposition,[status(thm),theory(equality)],[c_149,c_30802]) ).

tff(c_34807,plain,
    ! [Y_65,X_64] :
      ( is_a_theorem(or(equiv(Y_65,X_64),not(equiv(X_64,Y_65))))
      | ~ is_a_theorem(implies(implies(Y_65,X_64),implies(Y_65,X_64))) ),
    inference(superposition,[status(thm),theory(equality)],[c_149,c_34787]) ).

tff(c_34822,plain,
    ! [Y_65,X_64] : is_a_theorem(or(equiv(Y_65,X_64),not(equiv(X_64,Y_65)))),
    inference(demodulation,[status(thm),theory(equality)],[c_31422,c_34807]) ).

tff(c_31397,plain,
    ! [Y_57] : is_a_theorem(or(Y_57,not(Y_57))),
    inference(resolution,[status(thm)],[c_30707,c_31368]) ).

tff(c_29599,plain,
    ! [Y_1663,X_1664] :
      ( is_a_theorem(Y_1663)
      | ~ is_a_theorem(implies(X_1664,Y_1663))
      | ~ is_a_theorem(X_1664) ),
    inference(demodulation,[status(thm),theory(equality)],[c_128,c_2]) ).

tff(c_29602,plain,
    ! [Y_57,X_56] :
      ( is_a_theorem(Y_57)
      | ~ is_a_theorem(or(X_56,Y_57))
      | ~ is_a_theorem(not(X_56)) ),
    inference(superposition,[status(thm),theory(equality)],[c_153,c_29599]) ).

tff(c_31584,plain,
    ! [R_1836,P_1837,Q_1838] :
      ( is_a_theorem(not(and(R_1836,P_1837)))
      | ~ is_a_theorem(not(and(Q_1838,R_1836)))
      | ~ is_a_theorem(implies(P_1837,Q_1838)) ),
    inference(resolution,[status(thm)],[c_30802,c_29602]) ).

tff(c_49466,plain,
    ! [Y_2727,P_2728,X_2729] :
      ( is_a_theorem(not(and(not(Y_2727),P_2728)))
      | ~ is_a_theorem(implies(X_2729,Y_2727))
      | ~ is_a_theorem(implies(P_2728,X_2729)) ),
    inference(superposition,[status(thm),theory(equality)],[c_151,c_31584]) ).

tff(c_52190,plain,
    ! [P_2828,P_2829,Q_2830] :
      ( is_a_theorem(not(and(not(P_2828),P_2829)))
      | ~ is_a_theorem(implies(P_2829,and(P_2828,Q_2830))) ),
    inference(resolution,[status(thm)],[c_163,c_49466]) ).

tff(c_52288,plain,
    ! [P_2831] : is_a_theorem(not(and(not(P_2831),P_2831))),
    inference(resolution,[status(thm)],[c_167,c_52190]) ).

tff(c_30494,plain,
    ! [X_1762,Y_1763,Q_1761] :
      ( is_a_theorem(implies(X_1762,Y_1763))
      | ~ is_a_theorem(not(and(Q_1761,X_1762)))
      | ~ is_a_theorem(or(Y_1763,Q_1761)) ),
    inference(resolution,[status(thm)],[c_30471,c_29602]) ).

tff(c_52355,plain,
    ! [P_2834,Y_2835] :
      ( is_a_theorem(implies(P_2834,Y_2835))
      | ~ is_a_theorem(or(Y_2835,not(P_2834))) ),
    inference(resolution,[status(thm)],[c_52288,c_30494]) ).

tff(c_52720,plain,
    ! [Y_2836] : is_a_theorem(implies(Y_2836,Y_2836)),
    inference(resolution,[status(thm)],[c_31397,c_52355]) ).

tff(c_30540,plain,
    ! [X_1768,Y_1769,Q_1767] :
      ( is_a_theorem(or(X_1768,Y_1769))
      | ~ is_a_theorem(implies(Q_1767,X_1768))
      | ~ is_a_theorem(or(Y_1769,Q_1767)) ),
    inference(resolution,[status(thm)],[c_30527,c_184]) ).

tff(c_54835,plain,
    ! [Y_2908,Y_2909] :
      ( is_a_theorem(or(Y_2908,Y_2909))
      | ~ is_a_theorem(or(Y_2909,Y_2908)) ),
    inference(resolution,[status(thm)],[c_52720,c_30540]) ).

tff(c_61470,plain,
    ! [X_3032,Y_3033] : is_a_theorem(or(not(equiv(X_3032,Y_3033)),equiv(Y_3033,X_3032))),
    inference(resolution,[status(thm)],[c_34822,c_54835]) ).

tff(c_29705,plain,
    ! [X_1680,Y_1681] : ( and(implies(X_1680,Y_1681),implies(Y_1681,X_1680)) = equiv(X_1680,Y_1681) ),
    inference(demodulation,[status(thm),theory(equality)],[c_142,c_120]) ).

tff(c_29722,plain,
    ! [X_1680,Y_1681] : is_a_theorem(implies(equiv(X_1680,Y_1681),implies(X_1680,Y_1681))),
    inference(superposition,[status(thm),theory(equality)],[c_29705,c_163]) ).

tff(c_29666,plain,
    ~ is_a_theorem(implies(equiv('#skF_27','#skF_28'),implies('#skF_27','#skF_28'))),
    inference(splitLeft,[status(thm)],[c_56]) ).

tff(c_29745,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_29722,c_29666]) ).

tff(c_29746,plain,
    equivalence_1,
    inference(splitRight,[status(thm)],[c_56]) ).

tff(c_29749,plain,
    ! [X_27,Y_28] : is_a_theorem(implies(equiv(X_27,Y_28),implies(X_27,Y_28))),
    inference(demodulation,[status(thm),theory(equality)],[c_29746,c_58]) ).

tff(c_30596,plain,
    ! [X_27,Y_28,Y_1771] :
      ( is_a_theorem(or(implies(X_27,Y_28),Y_1771))
      | ~ is_a_theorem(or(Y_1771,equiv(X_27,Y_28))) ),
    inference(resolution,[status(thm)],[c_29749,c_30544]) ).

tff(c_63120,plain,
    ! [Y_3071,X_3072] : is_a_theorem(or(implies(Y_3071,X_3072),not(equiv(X_3072,Y_3071)))),
    inference(resolution,[status(thm)],[c_61470,c_30596]) ).

tff(c_52314,plain,
    ! [P_2831,Y_1763] :
      ( is_a_theorem(implies(P_2831,Y_1763))
      | ~ is_a_theorem(or(Y_1763,not(P_2831))) ),
    inference(resolution,[status(thm)],[c_52288,c_30494]) ).

tff(c_63158,plain,
    ! [X_3072,Y_3071] : is_a_theorem(implies(equiv(X_3072,Y_3071),implies(Y_3071,X_3072))),
    inference(resolution,[status(thm)],[c_63120,c_52314]) ).

tff(c_144,plain,
    ~ equivalence_2,
    inference(cnfTransformation,[status(thm)],[f_262]) ).

tff(c_60,plain,
    ( equivalence_2
    | ~ is_a_theorem(implies(equiv('#skF_29','#skF_30'),implies('#skF_30','#skF_29'))) ),
    inference(cnfTransformation,[status(thm)],[f_116]) ).

tff(c_170,plain,
    ~ is_a_theorem(implies(equiv('#skF_29','#skF_30'),implies('#skF_30','#skF_29'))),
    inference(negUnitSimplification,[status(thm)],[c_144,c_60]) ).

tff(c_63169,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_63158,c_170]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.13/0.14  % Problem  : LCL513+1 : TPTP v8.1.2. Released v3.3.0.
% 0.13/0.15  % Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% 0.14/0.37  % Computer : n011.cluster.edu
% 0.14/0.37  % Model    : x86_64 x86_64
% 0.14/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.37  % Memory   : 8042.1875MB
% 0.14/0.37  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.37  % CPULimit : 300
% 0.14/0.37  % WCLimit  : 300
% 0.14/0.37  % DateTime : Thu Aug  3 13:55:05 EDT 2023
% 0.14/0.37  % CPUTime  : 
% 23.96/13.67  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 24.07/13.69  
% 24.07/13.69  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 24.23/13.74  
% 24.23/13.74  Inference rules
% 24.23/13.74  ----------------------
% 24.23/13.74  #Ref     : 0
% 24.23/13.74  #Sup     : 15467
% 24.23/13.74  #Fact    : 0
% 24.23/13.74  #Define  : 0
% 24.23/13.74  #Split   : 108
% 24.23/13.74  #Chain   : 0
% 24.23/13.74  #Close   : 0
% 24.23/13.74  
% 24.23/13.74  Ordering : KBO
% 24.23/13.74  
% 24.23/13.74  Simplification rules
% 24.23/13.74  ----------------------
% 24.23/13.74  #Subsume      : 4407
% 24.23/13.74  #Demod        : 7339
% 24.23/13.74  #Tautology    : 2103
% 24.23/13.74  #SimpNegUnit  : 32
% 24.23/13.74  #BackRed      : 34
% 24.23/13.74  
% 24.23/13.74  #Partial instantiations: 0
% 24.23/13.74  #Strategies tried      : 1
% 24.23/13.74  
% 24.23/13.74  Timing (in seconds)
% 24.23/13.74  ----------------------
% 24.23/13.74  Preprocessing        : 0.61
% 24.23/13.74  Parsing              : 0.31
% 24.23/13.74  CNF conversion       : 0.05
% 24.23/13.74  Main loop            : 11.92
% 24.23/13.74  Inferencing          : 2.41
% 24.23/13.74  Reduction            : 4.94
% 24.23/13.74  Demodulation         : 3.60
% 24.23/13.74  BG Simplification    : 0.12
% 24.23/13.74  Subsumption          : 3.84
% 24.23/13.74  Abstraction          : 0.14
% 24.23/13.74  MUC search           : 0.00
% 24.23/13.74  Cooper               : 0.00
% 24.23/13.74  Total                : 12.61
% 24.23/13.74  Index Insertion      : 0.00
% 24.23/13.74  Index Deletion       : 0.00
% 24.23/13.74  Index Matching       : 0.00
% 24.23/13.74  BG Taut test         : 0.00
%------------------------------------------------------------------------------