TSTP Solution File: SEV258^5 by Duper---1.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Duper---1.0
% Problem  : SEV258^5 : TPTP v8.1.2. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : duper %s

% Computer : n023.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 : Thu Aug 31 19:24:36 EDT 2023

% Result   : Theorem 4.58s 4.78s
% Output   : Proof 4.65s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.13/0.12  % Problem    : SEV258^5 : TPTP v8.1.2. Released v4.0.0.
% 0.13/0.13  % Command    : duper %s
% 0.14/0.35  % Computer : n023.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   : 300
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Thu Aug 24 02:09:57 EDT 2023
% 0.14/0.35  % CPUTime    : 
% 4.58/4.78  SZS status Theorem for theBenchmark.p
% 4.58/4.78  SZS output start Proof for theBenchmark.p
% 4.58/4.78  Clause #0 (by assumption #[]): Eq
% 4.58/4.78    (Not
% 4.58/4.78      (And
% 4.58/4.78        (And (And (∀ (R : a → Prop), (Eq R fun Xx => False) → True) (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True))
% 4.58/4.78          (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78            And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True))
% 4.58/4.78        (∀ (Y Z S : a → Prop), And (And True True) (Eq S fun Xx => And (Y Xx) (Z Xx)) → True)))
% 4.58/4.78    True
% 4.58/4.78  Clause #1 (by clausification #[0]): Eq
% 4.58/4.78    (And
% 4.58/4.78      (And (And (∀ (R : a → Prop), (Eq R fun Xx => False) → True) (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True))
% 4.58/4.78        (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78          And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True))
% 4.58/4.78      (∀ (Y Z S : a → Prop), And (And True True) (Eq S fun Xx => And (Y Xx) (Z Xx)) → True))
% 4.58/4.78    False
% 4.58/4.78  Clause #2 (by clausification #[1]): Or
% 4.58/4.78    (Eq
% 4.58/4.78      (And (And (∀ (R : a → Prop), (Eq R fun Xx => False) → True) (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True))
% 4.58/4.78        (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78          And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True))
% 4.58/4.78      False)
% 4.58/4.78    (Eq (∀ (Y Z S : a → Prop), And (And True True) (Eq S fun Xx => And (Y Xx) (Z Xx)) → True) False)
% 4.58/4.78  Clause #3 (by clausification #[2]): Or (Eq (∀ (Y Z S : a → Prop), And (And True True) (Eq S fun Xx => And (Y Xx) (Z Xx)) → True) False)
% 4.58/4.78    (Or
% 4.58/4.78      (Eq (And (∀ (R : a → Prop), (Eq R fun Xx => False) → True) (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True))
% 4.58/4.78        False)
% 4.58/4.78      (Eq
% 4.58/4.78        (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78          And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True)
% 4.58/4.78        False))
% 4.58/4.78  Clause #4 (by clausification #[3]): ∀ (a_1 : a → Prop),
% 4.58/4.78    Or
% 4.58/4.78      (Eq (And (∀ (R : a → Prop), (Eq R fun Xx => False) → True) (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True))
% 4.58/4.78        False)
% 4.58/4.78      (Or
% 4.58/4.78        (Eq
% 4.58/4.78          (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78            And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True)
% 4.58/4.78          False)
% 4.58/4.78        (Eq (Not (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (Z Xx)) → True)) True))
% 4.58/4.78  Clause #5 (by clausification #[4]): ∀ (a_1 : a → Prop),
% 4.58/4.78    Or
% 4.58/4.78      (Eq
% 4.58/4.78        (∀ (K : (a → Prop) → Prop) (R : a → Prop),
% 4.58/4.78          And (∀ (Xx : a → Prop), K Xx → True) (Eq R fun Xx => Exists fun S => And (K S) (S Xx)) → True)
% 4.58/4.78        False)
% 4.58/4.78      (Or (Eq (Not (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (Z Xx)) → True)) True)
% 4.58/4.78        (Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => False) → True) False)
% 4.58/4.78          (Eq (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True) False)))
% 4.58/4.78  Clause #6 (by clausification #[5]): ∀ (a_1 : a → Prop) (a_2 : (a → Prop) → Prop),
% 4.58/4.78    Or (Eq (Not (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (Z Xx)) → True)) True)
% 4.58/4.78      (Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => False) → True) False)
% 4.58/4.78        (Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True) False)
% 4.58/4.78          (Eq
% 4.58/4.78            (Not
% 4.58/4.78              (∀ (R : a → Prop),
% 4.58/4.78                And (∀ (Xx : a → Prop), skS.0 1 a_2 Xx → True)
% 4.58/4.78                    (Eq R fun Xx => Exists fun S => And (skS.0 1 a_2 S) (S Xx)) →
% 4.58/4.78                  True))
% 4.58/4.78            True)))
% 4.58/4.78  Clause #7 (by clausification #[6]): ∀ (a_1 : (a → Prop) → Prop) (a_2 : a → Prop),
% 4.58/4.78    Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => False) → True) False)
% 4.58/4.78      (Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True) False)
% 4.58/4.78        (Or
% 4.58/4.78          (Eq
% 4.58/4.78            (Not
% 4.58/4.78              (∀ (R : a → Prop),
% 4.58/4.78                And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True)
% 4.58/4.78                    (Eq R fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.58/4.78                  True))
% 4.65/4.81            True)
% 4.65/4.81          (Eq (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_2 Xx) (Z Xx)) → True) False)))
% 4.65/4.81  Clause #8 (by clausification #[7]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 : a → Prop),
% 4.65/4.81    Or (Eq (∀ (R : a → Prop), (Eq R fun Xx => Not False) → True) False)
% 4.65/4.81      (Or
% 4.65/4.81        (Eq
% 4.65/4.81          (Not
% 4.65/4.81            (∀ (R : a → Prop),
% 4.65/4.81              And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.81                True))
% 4.65/4.81          True)
% 4.65/4.81        (Or (Eq (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_2 Xx) (Z Xx)) → True) False)
% 4.65/4.81          (Eq (Not ((Eq (skS.0 2 a_3) fun Xx => False) → True)) True)))
% 4.65/4.81  Clause #9 (by clausification #[8]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 : a → Prop),
% 4.65/4.81    Or
% 4.65/4.81      (Eq
% 4.65/4.81        (Not
% 4.65/4.81          (∀ (R : a → Prop),
% 4.65/4.81            And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.81              True))
% 4.65/4.81        True)
% 4.65/4.81      (Or (Eq (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_2 Xx) (Z Xx)) → True) False)
% 4.65/4.81        (Or (Eq (Not ((Eq (skS.0 2 a_3) fun Xx => False) → True)) True)
% 4.65/4.81          (Eq (Not ((Eq (skS.0 3 a_4) fun Xx => Not False) → True)) True)))
% 4.65/4.81  Clause #10 (by clausification #[9]): ∀ (a_1 a_2 a_3 : a → Prop) (a_4 : (a → Prop) → Prop),
% 4.65/4.81    Or (Eq (∀ (Z S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (Z Xx)) → True) False)
% 4.65/4.81      (Or (Eq (Not ((Eq (skS.0 2 a_2) fun Xx => False) → True)) True)
% 4.65/4.81        (Or (Eq (Not ((Eq (skS.0 3 a_3) fun Xx => Not False) → True)) True)
% 4.65/4.81          (Eq
% 4.65/4.81            (∀ (R : a → Prop),
% 4.65/4.81              And (∀ (Xx : a → Prop), skS.0 1 a_4 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_4 S) (S Xx)) →
% 4.65/4.81                True)
% 4.65/4.81            False)))
% 4.65/4.81  Clause #11 (by clausification #[10]): ∀ (a_1 a_2 : a → Prop) (a_3 : (a → Prop) → Prop) (a_4 a_5 : a → Prop),
% 4.65/4.81    Or (Eq (Not ((Eq (skS.0 2 a_1) fun Xx => False) → True)) True)
% 4.65/4.81      (Or (Eq (Not ((Eq (skS.0 3 a_2) fun Xx => Not False) → True)) True)
% 4.65/4.81        (Or
% 4.65/4.81          (Eq
% 4.65/4.81            (∀ (R : a → Prop),
% 4.65/4.81              And (∀ (Xx : a → Prop), skS.0 1 a_3 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_3 S) (S Xx)) →
% 4.65/4.81                True)
% 4.65/4.81            False)
% 4.65/4.81          (Eq
% 4.65/4.81            (Not
% 4.65/4.81              (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_4 Xx) (skS.0 4 a_4 a_5 Xx)) → True))
% 4.65/4.81            True)))
% 4.65/4.81  Clause #12 (by clausification #[11]): ∀ (a_1 : a → Prop) (a_2 : (a → Prop) → Prop) (a_3 a_4 a_5 : a → Prop),
% 4.65/4.81    Or (Eq (Not ((Eq (skS.0 3 a_1) fun Xx => Not False) → True)) True)
% 4.65/4.81      (Or
% 4.65/4.81        (Eq
% 4.65/4.81          (∀ (R : a → Prop),
% 4.65/4.81            And (∀ (Xx : a → Prop), skS.0 1 a_2 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_2 S) (S Xx)) →
% 4.65/4.81              True)
% 4.65/4.81          False)
% 4.65/4.81        (Or
% 4.65/4.81          (Eq
% 4.65/4.81            (Not
% 4.65/4.81              (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_3 Xx) (skS.0 4 a_3 a_4 Xx)) → True))
% 4.65/4.81            True)
% 4.65/4.81          (Eq ((Eq (skS.0 2 a_5) fun Xx => False) → True) False)))
% 4.65/4.81  Clause #13 (by clausification #[12]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 a_5 : a → Prop),
% 4.65/4.81    Or
% 4.65/4.81      (Eq
% 4.65/4.81        (∀ (R : a → Prop),
% 4.65/4.81          And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True) (Eq R fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.81            True)
% 4.65/4.81        False)
% 4.65/4.81      (Or
% 4.65/4.81        (Eq
% 4.65/4.81          (Not (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_2 Xx) (skS.0 4 a_2 a_3 Xx)) → True))
% 4.65/4.81          True)
% 4.65/4.81        (Or (Eq ((Eq (skS.0 2 a_4) fun Xx => False) → True) False)
% 4.65/4.81          (Eq ((Eq (skS.0 3 a_5) fun Xx => Not False) → True) False)))
% 4.65/4.81  Clause #14 (by clausification #[13]): ∀ (a_1 a_2 a_3 a_4 : a → Prop) (a_5 : (a → Prop) → Prop) (a_6 : a → Prop),
% 4.65/4.81    Or
% 4.65/4.81      (Eq (Not (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (skS.0 4 a_1 a_2 Xx)) → True))
% 4.65/4.81        True)
% 4.65/4.81      (Or (Eq ((Eq (skS.0 2 a_3) fun Xx => False) → True) False)
% 4.65/4.83        (Or (Eq ((Eq (skS.0 3 a_4) fun Xx => Not False) → True) False)
% 4.65/4.83          (Eq
% 4.65/4.83            (Not
% 4.65/4.83              (And (∀ (Xx : a → Prop), skS.0 1 a_5 Xx → True)
% 4.65/4.83                  (Eq (skS.0 5 a_5 a_6) fun Xx => Exists fun S => And (skS.0 1 a_5 S) (S Xx)) →
% 4.65/4.83                True))
% 4.65/4.83            True)))
% 4.65/4.83  Clause #15 (by clausification #[14]): ∀ (a_1 a_2 : a → Prop) (a_3 : (a → Prop) → Prop) (a_4 a_5 a_6 : a → Prop),
% 4.65/4.83    Or (Eq ((Eq (skS.0 2 a_1) fun Xx => False) → True) False)
% 4.65/4.83      (Or (Eq ((Eq (skS.0 3 a_2) fun Xx => Not False) → True) False)
% 4.65/4.83        (Or
% 4.65/4.83          (Eq
% 4.65/4.83            (Not
% 4.65/4.83              (And (∀ (Xx : a → Prop), skS.0 1 a_3 Xx → True)
% 4.65/4.83                  (Eq (skS.0 5 a_3 a_4) fun Xx => Exists fun S => And (skS.0 1 a_3 S) (S Xx)) →
% 4.65/4.83                True))
% 4.65/4.83            True)
% 4.65/4.83          (Eq (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_5 Xx) (skS.0 4 a_5 a_6 Xx)) → True)
% 4.65/4.83            False)))
% 4.65/4.83  Clause #17 (by clausification #[15]): ∀ (a_1 : a → Prop) (a_2 : (a → Prop) → Prop) (a_3 a_4 a_5 : a → Prop),
% 4.65/4.83    Or (Eq ((Eq (skS.0 3 a_1) fun Xx => Not False) → True) False)
% 4.65/4.83      (Or
% 4.65/4.83        (Eq
% 4.65/4.83          (Not
% 4.65/4.83            (And (∀ (Xx : a → Prop), skS.0 1 a_2 Xx → True)
% 4.65/4.83                (Eq (skS.0 5 a_2 a_3) fun Xx => Exists fun S => And (skS.0 1 a_2 S) (S Xx)) →
% 4.65/4.83              True))
% 4.65/4.83          True)
% 4.65/4.83        (Or
% 4.65/4.83          (Eq (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_4 Xx) (skS.0 4 a_4 a_5 Xx)) → True)
% 4.65/4.83            False)
% 4.65/4.83          (Eq True False)))
% 4.65/4.83  Clause #58 (by clausification #[17]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 : a → Prop),
% 4.65/4.83    Or
% 4.65/4.83      (Eq
% 4.65/4.83        (Not
% 4.65/4.83          (And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True)
% 4.65/4.83              (Eq (skS.0 5 a_1 a_2) fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.83            True))
% 4.65/4.83        True)
% 4.65/4.83      (Or
% 4.65/4.83        (Eq (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_3 Xx) (skS.0 4 a_3 a_4 Xx)) → True)
% 4.65/4.83          False)
% 4.65/4.83        (Or (Eq True False) (Eq True False)))
% 4.65/4.83  Clause #125 (by clausification #[58]): ∀ (a_1 a_2 : a → Prop) (a_3 : (a → Prop) → Prop) (a_4 : a → Prop),
% 4.65/4.83    Or
% 4.65/4.83      (Eq (∀ (S : a → Prop), And (And True True) (Eq S fun Xx => And (skS.0 0 a_1 Xx) (skS.0 4 a_1 a_2 Xx)) → True) False)
% 4.65/4.83      (Or (Eq True False)
% 4.65/4.83        (Or (Eq True False)
% 4.65/4.83          (Eq
% 4.65/4.83            (And (∀ (Xx : a → Prop), skS.0 1 a_3 Xx → True)
% 4.65/4.83                (Eq (skS.0 5 a_3 a_4) fun Xx => Exists fun S => And (skS.0 1 a_3 S) (S Xx)) →
% 4.65/4.83              True)
% 4.65/4.83            False)))
% 4.65/4.83  Clause #126 (by clausification #[125]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 a_5 : a → Prop),
% 4.65/4.83    Or (Eq True False)
% 4.65/4.83      (Or (Eq True False)
% 4.65/4.83        (Or
% 4.65/4.83          (Eq
% 4.65/4.83            (And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True)
% 4.65/4.83                (Eq (skS.0 5 a_1 a_2) fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.83              True)
% 4.65/4.83            False)
% 4.65/4.83          (Eq
% 4.65/4.83            (Not
% 4.65/4.83              (And (And True True) (Eq (skS.0 8 a_3 a_4 a_5) fun Xx => And (skS.0 0 a_3 Xx) (skS.0 4 a_3 a_4 Xx)) → True))
% 4.65/4.83            True)))
% 4.65/4.83  Clause #127 (by clausification #[126]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 a_5 : a → Prop),
% 4.65/4.83    Or (Eq True False)
% 4.65/4.83      (Or
% 4.65/4.83        (Eq
% 4.65/4.83          (And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True)
% 4.65/4.83              (Eq (skS.0 5 a_1 a_2) fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.83            True)
% 4.65/4.83          False)
% 4.65/4.83        (Eq
% 4.65/4.83          (Not
% 4.65/4.83            (And (And True True) (Eq (skS.0 8 a_3 a_4 a_5) fun Xx => And (skS.0 0 a_3 Xx) (skS.0 4 a_3 a_4 Xx)) → True))
% 4.65/4.83          True))
% 4.65/4.83  Clause #128 (by clausification #[127]): ∀ (a_1 : (a → Prop) → Prop) (a_2 a_3 a_4 a_5 : a → Prop),
% 4.65/4.83    Or
% 4.65/4.83      (Eq
% 4.65/4.83        (And (∀ (Xx : a → Prop), skS.0 1 a_1 Xx → True)
% 4.65/4.83            (Eq (skS.0 5 a_1 a_2) fun Xx => Exists fun S => And (skS.0 1 a_1 S) (S Xx)) →
% 4.65/4.83          True)
% 4.65/4.83        False)
% 4.65/4.83      (Eq
% 4.65/4.83        (Not (And (And True True) (Eq (skS.0 8 a_3 a_4 a_5) fun Xx => And (skS.0 0 a_3 Xx) (skS.0 4 a_3 a_4 Xx)) → True))
% 4.65/4.83        True)
% 4.65/4.83  Clause #130 (by clausification #[128]): ∀ (a_1 a_2 a_3 : a → Prop),
% 4.65/4.83    Or
% 4.65/4.83      (Eq
% 4.65/4.83        (Not (And (And True True) (Eq (skS.0 8 a_1 a_2 a_3) fun Xx => And (skS.0 0 a_1 Xx) (skS.0 4 a_1 a_2 Xx)) → True))
% 4.65/4.84        True)
% 4.65/4.84      (Eq True False)
% 4.65/4.84  Clause #211 (by clausification #[130]): ∀ (a_1 a_2 a_3 : a → Prop),
% 4.65/4.84    Or (Eq True False)
% 4.65/4.84      (Eq (And (And True True) (Eq (skS.0 8 a_1 a_2 a_3) fun Xx => And (skS.0 0 a_1 Xx) (skS.0 4 a_1 a_2 Xx)) → True)
% 4.65/4.84        False)
% 4.65/4.84  Clause #212 (by clausification #[211]): ∀ (a_1 a_2 a_3 : a → Prop),
% 4.65/4.84    Eq (And (And True True) (Eq (skS.0 8 a_1 a_2 a_3) fun Xx => And (skS.0 0 a_1 Xx) (skS.0 4 a_1 a_2 Xx)) → True) False
% 4.65/4.84  Clause #214 (by clausification #[212]): Eq True False
% 4.65/4.84  Clause #257 (by clausification #[214]): False
% 4.65/4.84  SZS output end Proof for theBenchmark.p
%------------------------------------------------------------------------------