TSTP Solution File: LCL309-3 by E---3.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : E---3.1
% Problem  : LCL309-3 : TPTP v8.1.2. Released v2.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E %s %d THM

% Computer : n009.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 : 2400s
% WCLimit  : 300s
% DateTime : Tue Oct 10 18:12:22 EDT 2023

% Result   : Unsatisfiable 13.25s 2.14s
% Output   : CNFRefutation 13.25s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   14
%            Number of leaves      :   11
% Syntax   : Number of clauses     :   65 (  30 unt;   0 nHn;  31 RR)
%            Number of literals    :  112 (   7 equ;  54 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    9 (   2 avg)
%            Number of predicates  :    4 (   2 usr;   1 prp; 0-2 aty)
%            Number of functors    :    8 (   8 usr;   3 con; 0-2 aty)
%            Number of variables   :  140 (  10 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(rule_2,axiom,
    ( theorem(X1)
    | ~ theorem(implies(X2,X1))
    | ~ theorem(X2) ),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',rule_2) ).

cnf(implies_definition,axiom,
    implies(X1,X2) = or(not(X1),X2),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',implies_definition) ).

cnf(rule_1,axiom,
    ( theorem(X1)
    | ~ axiom(X1) ),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',rule_1) ).

cnf(axiom_1_5,axiom,
    axiom(implies(or(X1,or(X2,X3)),or(X2,or(X1,X3)))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',axiom_1_5) ).

cnf(axiom_1_3,axiom,
    axiom(implies(X1,or(X2,X1))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',axiom_1_3) ).

cnf(axiom_1_2,axiom,
    axiom(implies(or(X1,X1),X1)),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',axiom_1_2) ).

cnf(axiom_1_6,axiom,
    axiom(implies(implies(X1,X2),implies(or(X3,X1),or(X3,X2)))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',axiom_1_6) ).

cnf(axiom_1_4,axiom,
    axiom(implies(or(X1,X2),or(X2,X1))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',axiom_1_4) ).

cnf(equivalent_defn,axiom,
    equivalent(X1,X2) = and(implies(X1,X2),implies(X2,X1)),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',equivalent_defn) ).

cnf(and_defn,axiom,
    and(X1,X2) = not(or(not(X1),not(X2))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',and_defn) ).

cnf(prove_this,negated_conjecture,
    ~ theorem(equivalent(or(implies(p,q),implies(p,r)),implies(p,or(q,r)))),
    file('/export/starexec/sandbox2/tmp/tmp.HdFWzin009/E---3.1_15330.p',prove_this) ).

cnf(c_0_11,axiom,
    ( theorem(X1)
    | ~ theorem(implies(X2,X1))
    | ~ theorem(X2) ),
    rule_2 ).

cnf(c_0_12,axiom,
    implies(X1,X2) = or(not(X1),X2),
    implies_definition ).

cnf(c_0_13,plain,
    ( theorem(X1)
    | ~ theorem(X2)
    | ~ theorem(or(not(X2),X1)) ),
    inference(rw,[status(thm)],[c_0_11,c_0_12]) ).

cnf(c_0_14,axiom,
    ( theorem(X1)
    | ~ axiom(X1) ),
    rule_1 ).

cnf(c_0_15,axiom,
    axiom(implies(or(X1,or(X2,X3)),or(X2,or(X1,X3)))),
    axiom_1_5 ).

cnf(c_0_16,axiom,
    axiom(implies(X1,or(X2,X1))),
    axiom_1_3 ).

cnf(c_0_17,plain,
    ( theorem(X1)
    | ~ theorem(X2)
    | ~ axiom(or(not(X2),X1)) ),
    inference(spm,[status(thm)],[c_0_13,c_0_14]) ).

cnf(c_0_18,plain,
    axiom(or(not(or(X1,or(X2,X3))),or(X2,or(X1,X3)))),
    inference(rw,[status(thm)],[c_0_15,c_0_12]) ).

cnf(c_0_19,axiom,
    axiom(implies(or(X1,X1),X1)),
    axiom_1_2 ).

cnf(c_0_20,plain,
    axiom(or(not(X1),or(X2,X1))),
    inference(rw,[status(thm)],[c_0_16,c_0_12]) ).

cnf(c_0_21,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ theorem(or(X2,or(X1,X3))) ),
    inference(spm,[status(thm)],[c_0_17,c_0_18]) ).

cnf(c_0_22,axiom,
    axiom(implies(implies(X1,X2),implies(or(X3,X1),or(X3,X2)))),
    axiom_1_6 ).

cnf(c_0_23,plain,
    axiom(or(not(or(X1,X1)),X1)),
    inference(rw,[status(thm)],[c_0_19,c_0_12]) ).

cnf(c_0_24,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(X2) ),
    inference(spm,[status(thm)],[c_0_17,c_0_20]) ).

cnf(c_0_25,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ axiom(or(X2,or(X1,X3))) ),
    inference(spm,[status(thm)],[c_0_21,c_0_14]) ).

cnf(c_0_26,axiom,
    axiom(implies(or(X1,X2),or(X2,X1))),
    axiom_1_4 ).

cnf(c_0_27,plain,
    axiom(or(not(or(not(X1),X2)),or(not(or(X3,X1)),or(X3,X2)))),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_22,c_0_12]),c_0_12]),c_0_12]) ).

cnf(c_0_28,plain,
    ( theorem(X1)
    | ~ theorem(or(X1,X1)) ),
    inference(spm,[status(thm)],[c_0_17,c_0_23]) ).

cnf(c_0_29,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ theorem(or(X1,X3)) ),
    inference(spm,[status(thm)],[c_0_21,c_0_24]) ).

cnf(c_0_30,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(X3)
    | ~ axiom(or(X1,or(not(X3),X2))) ),
    inference(spm,[status(thm)],[c_0_13,c_0_25]) ).

cnf(c_0_31,plain,
    axiom(or(not(or(X1,X2)),or(X2,X1))),
    inference(rw,[status(thm)],[c_0_26,c_0_12]) ).

cnf(c_0_32,plain,
    ( theorem(or(not(or(X1,X2)),or(X1,X3)))
    | ~ theorem(or(not(X2),X3)) ),
    inference(spm,[status(thm)],[c_0_17,c_0_27]) ).

cnf(c_0_33,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(or(or(X1,X2),X2)) ),
    inference(spm,[status(thm)],[c_0_28,c_0_29]) ).

cnf(c_0_34,axiom,
    equivalent(X1,X2) = and(implies(X1,X2),implies(X2,X1)),
    equivalent_defn ).

cnf(c_0_35,axiom,
    and(X1,X2) = not(or(not(X1),not(X2))),
    and_defn ).

cnf(c_0_36,plain,
    ( theorem(or(not(or(X1,not(X2))),X1))
    | ~ theorem(X2) ),
    inference(spm,[status(thm)],[c_0_30,c_0_31]) ).

cnf(c_0_37,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(or(not(X3),X2))
    | ~ theorem(or(X1,X3)) ),
    inference(spm,[status(thm)],[c_0_13,c_0_32]) ).

cnf(c_0_38,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(or(X2,X1)) ),
    inference(spm,[status(thm)],[c_0_17,c_0_31]) ).

cnf(c_0_39,plain,
    ( theorem(or(X1,or(not(or(X1,X2)),X3)))
    | ~ theorem(or(not(X2),X3)) ),
    inference(spm,[status(thm)],[c_0_21,c_0_32]) ).

cnf(c_0_40,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ axiom(or(X2,or(or(X1,or(X2,X3)),X3))) ),
    inference(spm,[status(thm)],[c_0_33,c_0_25]) ).

cnf(c_0_41,negated_conjecture,
    ~ theorem(equivalent(or(implies(p,q),implies(p,r)),implies(p,or(q,r)))),
    prove_this ).

cnf(c_0_42,plain,
    equivalent(X1,X2) = not(or(not(or(not(X1),X2)),not(or(not(X2),X1)))),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_34,c_0_12]),c_0_12]),c_0_35]) ).

cnf(c_0_43,plain,
    ( theorem(X1)
    | ~ theorem(or(X1,not(X2)))
    | ~ theorem(X2) ),
    inference(spm,[status(thm)],[c_0_13,c_0_36]) ).

cnf(c_0_44,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ theorem(or(X1,or(X2,X4)))
    | ~ theorem(or(not(X4),X3)) ),
    inference(spm,[status(thm)],[c_0_37,c_0_32]) ).

cnf(c_0_45,plain,
    ( theorem(or(or(not(or(X1,X2)),X3),X1))
    | ~ theorem(or(not(X2),X3)) ),
    inference(spm,[status(thm)],[c_0_38,c_0_39]) ).

cnf(c_0_46,plain,
    ( theorem(or(X1,X2))
    | ~ theorem(or(X1,X3))
    | ~ axiom(or(not(X3),X2)) ),
    inference(spm,[status(thm)],[c_0_37,c_0_14]) ).

cnf(c_0_47,plain,
    theorem(or(X1,or(not(X2),X2))),
    inference(spm,[status(thm)],[c_0_40,c_0_20]) ).

cnf(c_0_48,negated_conjecture,
    ~ theorem(not(or(not(or(not(or(or(not(p),q),or(not(p),r))),or(not(p),or(q,r)))),not(or(not(or(not(p),or(q,r))),or(or(not(p),q),or(not(p),r))))))),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_41,c_0_12]),c_0_12]),c_0_12]),c_0_42]) ).

cnf(c_0_49,plain,
    ( theorem(not(or(not(X1),not(X2))))
    | ~ theorem(X1)
    | ~ theorem(X2) ),
    inference(spm,[status(thm)],[c_0_43,c_0_36]) ).

cnf(c_0_50,plain,
    ( theorem(or(or(not(or(or(X1,X2),X3)),X4),or(X1,X5)))
    | ~ theorem(or(not(X2),X5))
    | ~ theorem(or(not(X3),X4)) ),
    inference(spm,[status(thm)],[c_0_44,c_0_45]) ).

cnf(c_0_51,plain,
    ( theorem(or(X1,or(X2,X3)))
    | ~ theorem(or(X1,or(X3,X2))) ),
    inference(spm,[status(thm)],[c_0_46,c_0_31]) ).

cnf(c_0_52,plain,
    theorem(or(not(X1),or(X2,X1))),
    inference(spm,[status(thm)],[c_0_21,c_0_47]) ).

cnf(c_0_53,negated_conjecture,
    ( ~ theorem(or(not(or(or(not(p),q),or(not(p),r))),or(not(p),or(q,r))))
    | ~ theorem(or(not(or(not(p),or(q,r))),or(or(not(p),q),or(not(p),r)))) ),
    inference(spm,[status(thm)],[c_0_48,c_0_49]) ).

cnf(c_0_54,plain,
    ( theorem(or(not(or(or(X1,X2),X3)),or(X1,X4)))
    | ~ theorem(or(not(X3),or(X1,X4)))
    | ~ theorem(or(not(X2),X4)) ),
    inference(spm,[status(thm)],[c_0_33,c_0_50]) ).

cnf(c_0_55,plain,
    theorem(or(not(X1),or(X1,X2))),
    inference(spm,[status(thm)],[c_0_51,c_0_52]) ).

cnf(c_0_56,plain,
    ( theorem(or(or(X1,X2),X3))
    | ~ theorem(or(X3,X2)) ),
    inference(spm,[status(thm)],[c_0_38,c_0_29]) ).

cnf(c_0_57,negated_conjecture,
    ( ~ theorem(or(not(or(not(p),or(q,r))),or(or(not(p),q),or(not(p),r))))
    | ~ theorem(or(not(or(not(p),r)),or(not(p),or(q,r)))) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_53,c_0_54]),c_0_55])]) ).

cnf(c_0_58,plain,
    ( theorem(or(X1,or(or(X2,X3),X4)))
    | ~ theorem(or(or(X1,X4),X3)) ),
    inference(spm,[status(thm)],[c_0_21,c_0_56]) ).

cnf(c_0_59,negated_conjecture,
    ( ~ theorem(or(or(not(or(not(p),or(q,r))),or(not(p),r)),q))
    | ~ theorem(or(not(or(not(p),r)),or(not(p),or(q,r)))) ),
    inference(spm,[status(thm)],[c_0_57,c_0_58]) ).

cnf(c_0_60,plain,
    ( theorem(or(or(X1,X2),X3))
    | ~ axiom(or(X1,or(X3,X2))) ),
    inference(spm,[status(thm)],[c_0_38,c_0_25]) ).

cnf(c_0_61,plain,
    ( theorem(or(X1,or(X2,or(X3,X4))))
    | ~ theorem(or(X1,or(X3,or(X2,X4)))) ),
    inference(spm,[status(thm)],[c_0_46,c_0_18]) ).

cnf(c_0_62,negated_conjecture,
    ~ theorem(or(not(or(not(p),r)),or(not(p),or(q,r)))),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_59,c_0_60]),c_0_18])]) ).

cnf(c_0_63,plain,
    ( theorem(or(X1,or(X2,or(X3,X4))))
    | ~ axiom(or(X1,or(X3,or(X2,X4)))) ),
    inference(spm,[status(thm)],[c_0_61,c_0_14]) ).

cnf(c_0_64,negated_conjecture,
    $false,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_62,c_0_63]),c_0_20])]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.13  % Problem    : LCL309-3 : TPTP v8.1.2. Released v2.3.0.
% 0.14/0.14  % Command    : run_E %s %d THM
% 0.14/0.35  % Computer : n009.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit   : 2400
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Mon Oct  2 12:52:45 EDT 2023
% 0.14/0.35  % CPUTime    : 
% 0.20/0.48  Running first-order theorem proving
% 0.20/0.48  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/tmp/tmp.HdFWzin009/E---3.1_15330.p
% 13.25/2.14  # Version: 3.1pre001
% 13.25/2.14  # Preprocessing class: FSMSSMSSSSSNFFN.
% 13.25/2.14  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 13.25/2.14  # Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 13.25/2.14  # Starting new_bool_3 with 300s (1) cores
% 13.25/2.14  # Starting new_bool_1 with 300s (1) cores
% 13.25/2.14  # Starting sh5l with 300s (1) cores
% 13.25/2.14  # G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with pid 15435 completed with status 0
% 13.25/2.14  # Result found by G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN
% 13.25/2.14  # Preprocessing class: FSMSSMSSSSSNFFN.
% 13.25/2.14  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 13.25/2.14  # Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 13.25/2.14  # No SInE strategy applied
% 13.25/2.14  # Search class: FHUNM-FFSF21-DFFFFFNN
% 13.25/2.14  # Scheduled 6 strats onto 5 cores with 1500 seconds (1500 total)
% 13.25/2.14  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 355s (1) cores
% 13.25/2.14  # Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 151s (1) cores
% 13.25/2.14  # Starting new_bool_3 with 296s (1) cores
% 13.25/2.14  # Starting new_bool_1 with 291s (1) cores
% 13.25/2.14  # Starting G-E--_208_C12_11_nc_F1_SE_CS_SP_PS_S5PRR_RG_S04AN with 136s (1) cores
% 13.25/2.14  # G-E--_302_C18_F1_URBAN_RG_S04BN with pid 15440 completed with status 0
% 13.25/2.14  # Result found by G-E--_302_C18_F1_URBAN_RG_S04BN
% 13.25/2.14  # Preprocessing class: FSMSSMSSSSSNFFN.
% 13.25/2.14  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 13.25/2.14  # Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 13.25/2.14  # No SInE strategy applied
% 13.25/2.14  # Search class: FHUNM-FFSF21-DFFFFFNN
% 13.25/2.14  # Scheduled 6 strats onto 5 cores with 1500 seconds (1500 total)
% 13.25/2.14  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 355s (1) cores
% 13.25/2.14  # Preprocessing time       : 0.054 s
% 13.25/2.14  
% 13.25/2.14  # Proof found!
% 13.25/2.14  # SZS status Unsatisfiable
% 13.25/2.14  # SZS output start CNFRefutation
% See solution above
% 13.25/2.14  # Parsed axioms                        : 11
% 13.25/2.14  # Removed by relevancy pruning/SinE    : 0
% 13.25/2.14  # Initial clauses                      : 11
% 13.25/2.14  # Removed in clause preprocessing      : 3
% 13.25/2.14  # Initial clauses in saturation        : 8
% 13.25/2.14  # Processed clauses                    : 6219
% 13.25/2.14  # ...of these trivial                  : 17
% 13.25/2.14  # ...subsumed                          : 3294
% 13.25/2.14  # ...remaining for further processing  : 2908
% 13.25/2.14  # Other redundant clauses eliminated   : 0
% 13.25/2.14  # Clauses deleted for lack of memory   : 0
% 13.25/2.14  # Backward-subsumed                    : 1027
% 13.25/2.14  # Backward-rewritten                   : 12
% 13.25/2.14  # Generated clauses                    : 89063
% 13.25/2.14  # ...of the previous two non-redundant : 88536
% 13.25/2.14  # ...aggressively subsumed             : 0
% 13.25/2.14  # Contextual simplify-reflections      : 21
% 13.25/2.14  # Paramodulations                      : 89063
% 13.25/2.14  # Factorizations                       : 0
% 13.25/2.14  # NegExts                              : 0
% 13.25/2.14  # Equation resolutions                 : 0
% 13.25/2.14  # Total rewrite steps                  : 590
% 13.25/2.14  # Propositional unsat checks           : 0
% 13.25/2.14  #    Propositional check models        : 0
% 13.25/2.14  #    Propositional check unsatisfiable : 0
% 13.25/2.14  #    Propositional clauses             : 0
% 13.25/2.14  #    Propositional clauses after purity: 0
% 13.25/2.14  #    Propositional unsat core size     : 0
% 13.25/2.14  #    Propositional preprocessing time  : 0.000
% 13.25/2.14  #    Propositional encoding time       : 0.000
% 13.25/2.14  #    Propositional solver time         : 0.000
% 13.25/2.14  #    Success case prop preproc time    : 0.000
% 13.25/2.14  #    Success case prop encoding time   : 0.000
% 13.25/2.14  #    Success case prop solver time     : 0.000
% 13.25/2.14  # Current number of processed clauses  : 1869
% 13.25/2.14  #    Positive orientable unit clauses  : 30
% 13.25/2.14  #    Positive unorientable unit clauses: 0
% 13.25/2.14  #    Negative unit clauses             : 147
% 13.25/2.14  #    Non-unit-clauses                  : 1692
% 13.25/2.14  # Current number of unprocessed clauses: 80854
% 13.25/2.14  # ...number of literals in the above   : 321511
% 13.25/2.14  # Current number of archived formulas  : 0
% 13.25/2.14  # Current number of archived clauses   : 1042
% 13.25/2.14  # Clause-clause subsumption calls (NU) : 805774
% 13.25/2.14  # Rec. Clause-clause subsumption calls : 568280
% 13.25/2.14  # Non-unit clause-clause subsumptions  : 1892
% 13.25/2.14  # Unit Clause-clause subsumption calls : 55223
% 13.25/2.14  # Rewrite failures with RHS unbound    : 0
% 13.25/2.14  # BW rewrite match attempts            : 2301
% 13.25/2.14  # BW rewrite match successes           : 11
% 13.25/2.14  # Condensation attempts                : 0
% 13.25/2.14  # Condensation successes               : 0
% 13.25/2.14  # Termbank termtop insertions          : 1918472
% 13.25/2.14  
% 13.25/2.14  # -------------------------------------------------
% 13.25/2.14  # User time                : 1.555 s
% 13.25/2.14  # System time              : 0.061 s
% 13.25/2.14  # Total time               : 1.616 s
% 13.25/2.14  # Maximum resident set size: 1652 pages
% 13.25/2.14  
% 13.25/2.14  # -------------------------------------------------
% 13.25/2.14  # User time                : 7.889 s
% 13.25/2.14  # System time              : 0.173 s
% 13.25/2.14  # Total time               : 8.062 s
% 13.25/2.14  # Maximum resident set size: 1680 pages
% 13.25/2.14  % E---3.1 exiting
% 13.25/2.14  % E---3.1 exiting
%------------------------------------------------------------------------------