↑ Up

E---3.5.1.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : E---3.5.1
% Problem  : NUM545+2 : TPTP v9.3.1. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM

% Computer : n012.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Thu Sep 24 01:49:30 PM UTC 2026

% Result   : Theorem 0.08s 0.38s
% Output   : CNFRefutation 0.08s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :    7
% Syntax   : Number of formulae    :   32 (  11 unt;   0 def)
%            Number of atoms       :  143 (  17 equ)
%            Maximal formula atoms :   44 (   4 avg)
%            Number of connectives :  165 (  54   ~;  54   |;  43   &)
%                                         (   3 <=>;  11  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (   4 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    7 (   5 usr;   1 prp; 0-2 aty)
%            Number of functors    :    8 (   8 usr;   4 con; 0-1 aty)
%            Number of variables   :   31 (   2 sgn  21   !;   3   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(m__,conjecture,
    ? [X1] :
      ( ( ( ! [X2] :
              ( aElementOf0(X2,slbdtrb0(X1))
            <=> ( sdtlseqdt0(szszuzczcdt0(X2),X1)
                & aElementOf0(X2,szNzAzT0) ) )
          & aSet0(slbdtrb0(X1)) )
       => ( aSubsetOf0(xS,slbdtrb0(X1))
          | ! [X2] :
              ( aElementOf0(X2,xS)
             => aElementOf0(X2,slbdtrb0(X1)) ) ) )
      & aElementOf0(X1,szNzAzT0) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__) ).

fof(m__2035,hypothesis,
    ( ~ ( xS = slcrc0
        & ~ ? [X1] : aElementOf0(X1,xS) )
   => ( aSubsetOf0(xS,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
      & ! [X1] :
          ( aElementOf0(X1,xS)
         => aElementOf0(X1,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) )
      & ! [X1] :
          ( aElementOf0(X1,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        <=> ( sdtlseqdt0(szszuzczcdt0(X1),szszuzczcdt0(szmzazxdt0(xS)))
            & aElementOf0(X1,szNzAzT0) ) )
      & aSet0(slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
      & ! [X1] :
          ( aElementOf0(X1,xS)
         => sdtlseqdt0(X1,szmzazxdt0(xS)) )
      & aElementOf0(szmzazxdt0(xS),xS) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__2035) ).

fof(mSuccNum,axiom,
    ! [X1] :
      ( aElementOf0(X1,szNzAzT0)
     => ( szszuzczcdt0(X1) != sz00
        & aElementOf0(szszuzczcdt0(X1),szNzAzT0) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSuccNum) ).

fof(m__1986,hypothesis,
    ( isFinite0(xS)
    & aSubsetOf0(xS,szNzAzT0)
    & ! [X1] :
        ( aElementOf0(X1,xS)
       => aElementOf0(X1,szNzAzT0) )
    & aSet0(xS) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1986) ).

fof(mZeroNum,axiom,
    aElementOf0(sz00,szNzAzT0),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mZeroNum) ).

fof(mSegZero,axiom,
    slbdtrb0(sz00) = slcrc0,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSegZero) ).

fof(mSubRefl,axiom,
    ! [X1] :
      ( aSet0(X1)
     => aSubsetOf0(X1,X1) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSubRefl) ).

fof(c_0_7,negated_conjecture,
    ~ ? [X1] :
        ( ( ( ! [X2] :
                ( aElementOf0(X2,slbdtrb0(X1))
              <=> ( sdtlseqdt0(szszuzczcdt0(X2),X1)
                  & aElementOf0(X2,szNzAzT0) ) )
            & aSet0(slbdtrb0(X1)) )
         => ( aSubsetOf0(xS,slbdtrb0(X1))
            | ! [X2] :
                ( aElementOf0(X2,xS)
               => aElementOf0(X2,slbdtrb0(X1)) ) ) )
        & aElementOf0(X1,szNzAzT0) ),
    inference(assume_negation,[status(cth)],[m__]) ).

fof(c_0_8,hypothesis,
    ! [X6,X7,X8,X9] :
      ( ( xS = slcrc0
        | aSubsetOf0(xS,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) )
      & ( xS = slcrc0
        | aElementOf0(X9,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | ~ aElementOf0(X9,xS) )
      & ( xS = slcrc0
        | aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | ~ sdtlseqdt0(szszuzczcdt0(X8),szszuzczcdt0(szmzazxdt0(xS)))
        | ~ aElementOf0(X8,szNzAzT0) )
      & ( xS = slcrc0
        | ~ aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | sdtlseqdt0(szszuzczcdt0(X8),szszuzczcdt0(szmzazxdt0(xS))) )
      & ( xS = slcrc0
        | ~ aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | aElementOf0(X8,szNzAzT0) )
      & ( xS = slcrc0
        | aSet0(slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) )
      & ( xS = slcrc0
        | sdtlseqdt0(X7,szmzazxdt0(xS))
        | ~ aElementOf0(X7,xS) )
      & ( xS = slcrc0
        | aElementOf0(szmzazxdt0(xS),xS) )
      & ( ~ aElementOf0(X6,xS)
        | aSubsetOf0(xS,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) )
      & ( ~ aElementOf0(X6,xS)
        | aElementOf0(X9,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | ~ aElementOf0(X9,xS) )
      & ( ~ aElementOf0(X6,xS)
        | aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | ~ sdtlseqdt0(szszuzczcdt0(X8),szszuzczcdt0(szmzazxdt0(xS)))
        | ~ aElementOf0(X8,szNzAzT0) )
      & ( ~ aElementOf0(X6,xS)
        | ~ aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | sdtlseqdt0(szszuzczcdt0(X8),szszuzczcdt0(szmzazxdt0(xS))) )
      & ( ~ aElementOf0(X6,xS)
        | ~ aElementOf0(X8,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS))))
        | aElementOf0(X8,szNzAzT0) )
      & ( ~ aElementOf0(X6,xS)
        | aSet0(slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) )
      & ( ~ aElementOf0(X6,xS)
        | sdtlseqdt0(X7,szmzazxdt0(xS))
        | ~ aElementOf0(X7,xS) )
      & ( ~ aElementOf0(X6,xS)
        | aElementOf0(szmzazxdt0(xS),xS) ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[m__2035])])])])]) ).

fof(c_0_9,negated_conjecture,
    ! [X10,X11,X12] :
      ( ( ~ aElementOf0(X10,szNzAzT0)
        | ~ aSubsetOf0(xS,slbdtrb0(X10)) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | ~ aElementOf0(esk1_1(X10),slbdtrb0(X10)) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | aElementOf0(esk1_1(X10),xS) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | aElementOf0(X12,slbdtrb0(X10))
        | ~ sdtlseqdt0(szszuzczcdt0(X12),X10)
        | ~ aElementOf0(X12,szNzAzT0) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | ~ aElementOf0(X11,slbdtrb0(X10))
        | sdtlseqdt0(szszuzczcdt0(X11),X10) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | ~ aElementOf0(X11,slbdtrb0(X10))
        | aElementOf0(X11,szNzAzT0) )
      & ( ~ aElementOf0(X10,szNzAzT0)
        | aSet0(slbdtrb0(X10)) ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_7])])])])])])]) ).

cnf(c_0_10,hypothesis,
    ( ~ aElementOf0(X1,xS)
    | aElementOf0(szmzazxdt0(xS),xS) ),
    inference(split_conjunct,[status(thm)],[c_0_8]) ).

cnf(c_0_11,negated_conjecture,
    ( ~ aElementOf0(X1,szNzAzT0)
    | aElementOf0(esk1_1(X1),xS) ),
    inference(split_conjunct,[status(thm)],[c_0_9]) ).

fof(c_0_12,plain,
    ! [X1] :
      ( aElementOf0(X1,szNzAzT0)
     => ( szszuzczcdt0(X1) != sz00
        & aElementOf0(szszuzczcdt0(X1),szNzAzT0) ) ),
    inference(fof_simplification,[status(thm)],[mSuccNum]) ).

fof(c_0_13,hypothesis,
    ! [X5] :
      ( isFinite0(xS)
      & aSubsetOf0(xS,szNzAzT0)
      & ( aElementOf0(X5,szNzAzT0)
        | ~ aElementOf0(X5,xS) )
      & aSet0(xS) ),
    inference(fof_nnf,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[m__1986])])])]) ).

cnf(c_0_14,hypothesis,
    ( ~ aElementOf0(X1,szNzAzT0)
    | aElementOf0(szmzazxdt0(xS),xS) ),
    inference(spm,[status(thm)],[c_0_10,c_0_11]) ).

cnf(c_0_15,plain,
    aElementOf0(sz00,szNzAzT0),
    inference(split_conjunct,[status(thm)],[mZeroNum]) ).

cnf(c_0_16,negated_conjecture,
    ( ~ aElementOf0(X1,szNzAzT0)
    | ~ aSubsetOf0(xS,slbdtrb0(X1)) ),
    inference(split_conjunct,[status(thm)],[c_0_9]) ).

cnf(c_0_17,hypothesis,
    ( xS = slcrc0
    | aSubsetOf0(xS,slbdtrb0(szszuzczcdt0(szmzazxdt0(xS)))) ),
    inference(split_conjunct,[status(thm)],[c_0_8]) ).

fof(c_0_18,plain,
    ! [X67] :
      ( ( ~ aElementOf0(X67,szNzAzT0)
        | szszuzczcdt0(X67) != sz00 )
      & ( ~ aElementOf0(X67,szNzAzT0)
        | aElementOf0(szszuzczcdt0(X67),szNzAzT0) ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_12])])])]) ).

cnf(c_0_19,hypothesis,
    ( ~ aElementOf0(X1,xS)
    | aElementOf0(X1,szNzAzT0) ),
    inference(split_conjunct,[status(thm)],[c_0_13]) ).

cnf(c_0_20,hypothesis,
    aElementOf0(szmzazxdt0(xS),xS),
    inference(spm,[status(thm)],[c_0_14,c_0_15]) ).

cnf(c_0_21,plain,
    slbdtrb0(sz00) = slcrc0,
    inference(split_conjunct,[status(thm)],[mSegZero]) ).

cnf(c_0_22,negated_conjecture,
    ( ~ aElementOf0(szszuzczcdt0(szmzazxdt0(xS)),szNzAzT0)
    | slcrc0 = xS ),
    inference(spm,[status(thm)],[c_0_16,c_0_17]) ).

cnf(c_0_23,plain,
    ( ~ aElementOf0(X1,szNzAzT0)
    | aElementOf0(szszuzczcdt0(X1),szNzAzT0) ),
    inference(split_conjunct,[status(thm)],[c_0_18]) ).

cnf(c_0_24,hypothesis,
    aElementOf0(szmzazxdt0(xS),szNzAzT0),
    inference(spm,[status(thm)],[c_0_19,c_0_20]) ).

cnf(c_0_25,negated_conjecture,
    ~ aSubsetOf0(xS,slcrc0),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_16,c_0_21]),c_0_15])]) ).

cnf(c_0_26,negated_conjecture,
    slcrc0 = xS,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_22,c_0_23]),c_0_24])]) ).

fof(c_0_27,plain,
    ! [X22] :
      ( aSubsetOf0(X22,X22)
      | ~ aSet0(X22) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[mSubRefl])])]) ).

cnf(c_0_28,negated_conjecture,
    ~ aSubsetOf0(xS,xS),
    inference(rw,[status(thm)],[c_0_25,c_0_26]) ).

cnf(c_0_29,plain,
    ( ~ aSet0(X1)
    | aSubsetOf0(X1,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_27]) ).

cnf(c_0_30,hypothesis,
    aSet0(xS),
    inference(split_conjunct,[status(thm)],[c_0_13]) ).

cnf(c_0_31,negated_conjecture,
    $false,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_28,c_0_29]),c_0_30])]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.01  % Problem  : NUM545+2 : TPTP v9.3.1. Released v4.0.0.
% 0.00/0.02  % Command  : run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.03/0.30  % Computer : n012.cluster.edu
% 0.03/0.30  % Model    : x86_64 x86_64
% 0.03/0.30  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.03/0.30  % Memory   : 8046.5625MB
% 0.03/0.30  % OS       : Linux 6.8.0-71-generic
% 0.03/0.30  % CPULimit : 300
% 0.03/0.30  % WCLimit  : 300
% 0.03/0.30  % DateTime : Mon Sep 21 02:39:07 UTC 2026
% 0.03/0.31  % CPUTime  : 
% 0.03/0.31  Running run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.08/0.34  Running first-order theorem proving
% 0.08/0.34  Running: /export/starexec/sandbox2/solver/bin/eprover --delete-bad-limit=2000000000 --definitional-cnf=24 -s --print-statistics -R --print-version --proof-object --auto-schedule=8 --cpu-limit=300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.08/0.38  % Version: 3.5.1
% 0.08/0.38  % Preprocessing class: FSLSSMSSSSSNFFN.
% 0.08/0.38  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.08/0.38  % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.08/0.38  % Starting new_bool_3 with 300s (1) cores
% 0.08/0.38  % Starting new_bool_1 with 300s (1) cores
% 0.08/0.38  % Starting sh5l with 300s (1) cores
% 0.08/0.38  % new_bool_3 with pid 1393370 completed with status 0
% 0.08/0.38  % Result found by new_bool_3
% 0.08/0.38  % Preprocessing class: FSLSSMSSSSSNFFN.
% 0.08/0.38  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.08/0.38  % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.08/0.38  % Starting new_bool_3 with 300s (1) cores
% 0.08/0.38  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.08/0.38  % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.08/0.38  % Search class: FGHSF-FSMM31-MFFFFFNN
% 0.08/0.38  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.08/0.38  % Starting SubtermCWHack with 31s (1) cores
% 0.08/0.38  % SubtermCWHack with pid 1393373 completed with status 0
% 0.08/0.38  % Result found by SubtermCWHack
% 0.08/0.38  % Preprocessing class: FSLSSMSSSSSNFFN.
% 0.08/0.38  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.08/0.38  % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.08/0.38  % Starting new_bool_3 with 300s (1) cores
% 0.08/0.38  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.08/0.38  % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.08/0.38  % Search class: FGHSF-FSMM31-MFFFFFNN
% 0.08/0.38  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.08/0.38  % Starting SubtermCWHack with 31s (1) cores
% 0.08/0.38  % Preprocessing time       : 0.002 s
% 0.08/0.38  
% 0.08/0.38  % Proof found!
% 0.08/0.38  % SZS status Theorem
% 0.08/0.38  % SZS output start CNFRefutation
% See solution above
% 0.08/0.38  % Parsed axioms                        : 57
% 0.08/0.38  % Removed by relevancy pruning/SinE    : 4
% 0.08/0.38  % Initial clauses                      : 117
% 0.08/0.38  % Removed in clause preprocessing      : 5
% 0.08/0.38  % Initial clauses in saturation        : 112
% 0.08/0.38  % Processed clauses                    : 74
% 0.08/0.38  % ...of these trivial                  : 0
% 0.08/0.38  % ...subsumed                          : 7
% 0.08/0.38  % ...remaining for further processing  : 67
% 0.08/0.38  % Other redundant clauses eliminated   : 5
% 0.08/0.38  % Clauses deleted for lack of memory   : 0
% 0.08/0.38  % Backward-subsumed                    : 4
% 0.08/0.38  % Backward-rewritten                   : 18
% 0.08/0.38  % Generated clauses                    : 56
% 0.08/0.38  % ...of the previous two non-redundant : 48
% 0.08/0.38  % ...aggressively subsumed             : 0
% 0.08/0.38  % Contextual simplify-reflections      : 0
% 0.08/0.38  % Paramodulations                      : 51
% 0.08/0.38  % Factorizations                       : 0
% 0.08/0.38  % NegExts                              : 0
% 0.08/0.38  % Equation resolutions                 : 5
% 0.08/0.38  % Disequality decompositions           : 0
% 0.08/0.38  % Total rewrite steps                  : 62
% 0.08/0.38  % ...of those cached                   : 50
% 0.08/0.38  % Propositional unsat checks           : 0
% 0.08/0.38  %    Propositional check models        : 0
% 0.08/0.38  %    Propositional check unsatisfiable : 0
% 0.08/0.38  %    Propositional clauses             : 0
% 0.08/0.38  %    Propositional clauses after purity: 0
% 0.08/0.38  %    Propositional unsat core size     : 0
% 0.08/0.38  %    Propositional preprocessing time  : 0.000
% 0.08/0.38  %    Propositional encoding time       : 0.000
% 0.08/0.38  %    Propositional solver time         : 0.000
% 0.08/0.38  %    Success case prop preproc time    : 0.000
% 0.08/0.38  %    Success case prop encoding time   : 0.000
% 0.08/0.38  %    Success case prop solver time     : 0.000
% 0.08/0.38  % Current number of processed clauses  : 40
% 0.08/0.38  %    Positive orientable unit clauses  : 12
% 0.08/0.38  %    Positive unorientable unit clauses: 0
% 0.08/0.38  %    Negative unit clauses             : 3
% 0.08/0.38  %    Non-unit-clauses                  : 25
% 0.08/0.38  % Current number of unprocessed clauses: 79
% 0.08/0.38  % ...number of literals in the above   : 347
% 0.08/0.38  % Current number of archived formulas  : 0
% 0.08/0.38  % Current number of archived clauses   : 22
% 0.08/0.38  % Clause-clause subsumption calls (NU) : 79
% 0.08/0.38  % Rec. Clause-clause subsumption calls : 70
% 0.08/0.38  % Non-unit clause-clause subsumptions  : 6
% 0.08/0.38  % Unit Clause-clause subsumption calls : 14
% 0.08/0.38  % Rewrite failures with RHS unbound    : 0
% 0.08/0.38  % BW rewrite match attempts            : 5
% 0.08/0.38  % BW rewrite match successes           : 5
% 0.08/0.38  % Condensation attempts                : 0
% 0.08/0.38  % Condensation successes               : 0
% 0.08/0.38  % Termbank termtop insertions          : 9643
% 0.08/0.38  % Search garbage collected termcells   : 2122
% 0.08/0.38  
% 0.08/0.38  % -------------------------------------------------
% 0.08/0.38  % User time                : 0.011 s
% 0.08/0.38  % System time              : 0.004 s
% 0.08/0.38  % Total time               : 0.015 s
% 0.08/0.38  % Maximum resident set size: 3960 pages
% 0.08/0.38  
% 0.08/0.38  % -------------------------------------------------
% 0.08/0.38  % User time                : 0.014 s
% 0.08/0.38  % System time              : 0.007 s
% 0.08/0.38  % Total time               : 0.021 s
% 0.08/0.38  % Maximum resident set size: 4864 pages
% 0.08/0.38  % E exiting
%------------------------------------------------------------------------------