%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : PHI023+1 : TPTP v9.2.1. Released v7.4.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % Computer : n001.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 : Wed Jun 3 08:43:14 AM UTC 2026 % Result : Theorem 0.38s 0.59s % Output : Proof 0.38s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.13 % Problem : PHI023+1 : TPTP v9.2.1. Released v7.4.0. % 0.12/0.14 % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % 0.18/0.35 % Computer : n001.cluster.edu % 0.18/0.35 % Model : x86_64 x86_64 % 0.18/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.18/0.35 % Memory : 8042.1875MB % 0.18/0.35 % OS : Linux 3.10.0-693.el7.x86_64 % 0.18/0.35 % CPULimit : 300 % 0.18/0.35 % WCLimit : 300 % 0.18/0.35 % DateTime : Tue Jun 2 12:54:35 EDT 2026 % 0.18/0.35 % CPUTime : % 0.28/0.51 %----Proving TF0_NAR, FOF, or CNF % 0.38/0.59 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... % 0.38/0.59 % SZS status Theorem % 0.38/0.59 % SZS output start Proof % 0.38/0.59 ( % 0.38/0.59 (declare-sort $$unsorted 0) % 0.38/0.59 (declare-const tptp.hasEssence (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.objectOf (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.conceptionInvolves (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.definiteCause (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.effectNecessarilyFollowsFrom (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.canBeConceivedAsNonExisting (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.exists (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.eternity (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.existConcFollowFromDefEternal (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.necessary (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.externalTo (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.determinedByFixedMethod (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.substance (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.canBeUnderstoodInTermsOf (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.conceivedThruItself (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.god (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.haveNothingInCommon (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.inItself (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.finiteAfterItsKind (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.canBeLimitedBy (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.sameKind (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.attributeOf (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.isMethodExistence (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.correspondWith (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.existsIn (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.essenceInvExistence (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.expressesEternalEssentiality (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.attribute (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.determinedByDefiniteMethod (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.ideateOf (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.conceivedThru (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.natureConcOnlyByExistence (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.expressesInfiniteEssentiality (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.trueIdea (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.selfCaused (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.modification (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.mode (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.absolutelyInfinite (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.being (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.constInInfAttributes (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.intPercAsConstEssSub (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.isMethodAction (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.determinedByItselfAlone (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.knowledgeOfACause (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.actionOf (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.knowledgeOfEffect (-> $$unsorted $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.existsOnlyByNecessityOfOwnNature (-> $$unsorted Bool)) % 0.38/0.59 (declare-const tptp.free (-> $$unsorted Bool)) % 0.38/0.59 (define @t1 () (@var "X" $$unsorted)) % 0.38/0.59 (define @t2 () (tptp.essenceInvExistence @t1)) % 0.38/0.59 (define @t3 () (tptp.selfCaused @t1)) % 0.38/0.59 (define @t4 () (@list @t1)) % 0.38/0.59 (define @t5 () (@var "Y" $$unsorted)) % 0.38/0.59 (define @t6 () (@list @t1 @t5)) % 0.38/0.59 (define @t7 () (tptp.inItself @t1)) % 0.38/0.59 (define @t8 () (tptp.substance @t1)) % 0.38/0.59 (define @t9 () (@var "Z" $$unsorted)) % 0.38/0.59 (define @t10 () (tptp.absolutelyInfinite @t1)) % 0.38/0.59 (define @t11 () (tptp.being @t1)) % 0.38/0.59 (define @t12 () (tptp.god @t1)) % 0.38/0.59 (define @t13 () (and (tptp.expressesEternalEssentiality @t5) (tptp.expressesInfiniteEssentiality @t5))) % 0.38/0.59 (define @t14 () (tptp.attributeOf @t5 @t1)) % 0.38/0.59 (define @t15 () (tptp.constInInfAttributes @t1)) % 0.38/0.59 (define @t16 () (and @t8 @t15 (=> @t14 @t13))) % 0.38/0.59 (define @t17 () (= @t10 @t16)) % 0.38/0.59 (define @t18 () (forall @t6 @t17)) % 0.38/0.59 (define @t19 () (not (= @t1 @t5))) % 0.38/0.59 (define @t20 () (tptp.exists @t1)) % 0.38/0.59 (define @t21 () (tptp.effectNecessarilyFollowsFrom @t5 @t1)) % 0.38/0.59 (define @t22 () (tptp.definiteCause @t1)) % 0.38/0.59 (define @t23 () (not @t2)) % 0.38/0.59 (define @t24 () (forall @t4 (=> @t7 @t3))) % 0.38/0.59 (define @t25 () (tptp.hasEssence @t1)) % 0.38/0.59 (define @t26 () (forall @t4 (=> @t11 @t25))) % 0.38/0.59 (define @t27 () (and @t2 @t25)) % 0.38/0.59 (define @t28 () (forall @t4 (=> @t27 @t20))) % 0.38/0.59 (define @t29 () (forall @t4 (=> @t12 @t20))) % 0.38/0.59 (define @t30 () (not @t29)) % 0.38/0.59 (define @t31 () (@quantifiers_skolemize (forall @t4 (or (not @t12) @t20)) 0)) % 0.38/0.59 (define @t32 () (@list @t31)) % 0.38/0.59 (define @t33 () (tptp.god @t31)) % 0.38/0.59 (define @t34 () (tptp.exists @t31)) % 0.38/0.59 (define @t35 () (not @t33)) % 0.38/0.59 (define @t36 () (or @t35 @t34)) % 0.38/0.59 (define @t37 () (@list true)) % 0.38/0.59 (define @t38 () (@list @t36)) % 0.38/0.59 (define @t39 () (tptp.absolutelyInfinite @t31)) % 0.38/0.59 (define @t40 () (tptp.being @t31)) % 0.38/0.59 (define @t41 () (and @t40 @t39)) % 0.38/0.59 (define @t42 () (= @t33 @t41)) % 0.38/0.59 (define @t43 () (@list false false)) % 0.38/0.59 (define @t44 () (not @t41)) % 0.38/0.59 (define @t45 () (@list false)) % 0.38/0.59 (define @t46 () (@list @t41)) % 0.38/0.59 (define @t47 () (not @t25)) % 0.38/0.59 (define @t48 () (tptp.hasEssence @t31)) % 0.38/0.59 (define @t49 () (not @t40)) % 0.38/0.59 (define @t50 () (or @t49 @t48)) % 0.38/0.59 (define @t51 () (not @t48)) % 0.38/0.59 (define @t52 () (tptp.essenceInvExistence @t31)) % 0.38/0.59 (define @t53 () (not @t52)) % 0.38/0.59 (define @t54 () (or @t53 @t51 @t34)) % 0.38/0.59 (define @t55 () (and @t52 (tptp.natureConcOnlyByExistence @t31))) % 0.38/0.59 (define @t56 () (not @t55)) % 0.38/0.59 (define @t57 () (tptp.selfCaused @t31)) % 0.38/0.59 (define @t58 () (= @t57 @t55)) % 0.38/0.59 (define @t59 () (not @t57)) % 0.38/0.59 (define @t60 () (@list true false)) % 0.38/0.59 (define @t61 () (tptp.inItself @t31)) % 0.38/0.59 (define @t62 () (not @t61)) % 0.38/0.59 (define @t63 () (or @t62 @t57)) % 0.38/0.59 (define @t64 () (and @t61 (tptp.conceivedThruItself @t31))) % 0.38/0.59 (define @t65 () (not @t64)) % 0.38/0.59 (define @t66 () (tptp.substance @t31)) % 0.38/0.59 (define @t67 () (= @t66 @t64)) % 0.38/0.59 (define @t68 () (not @t66)) % 0.38/0.59 (define @t69 () (and @t66 (tptp.constInInfAttributes @t31) (or (not (tptp.attributeOf @t31 @t31)) (and (tptp.expressesEternalEssentiality @t31) (tptp.expressesInfiniteEssentiality @t31))))) % 0.38/0.59 (define @t70 () (not @t69)) % 0.38/0.59 (define @t71 () (= @t39 @t69)) % 0.38/0.59 (assume @p1 (forall @t4 (= @t3 (and @t2 (tptp.natureConcOnlyByExistence @t1))))) % 0.38/0.59 (assume @p2 (forall @t6 (= (tptp.finiteAfterItsKind @t1) (and (tptp.canBeLimitedBy @t1 @t5) (tptp.sameKind @t1 @t5))))) % 0.38/0.59 (assume @p3 (forall @t4 (= @t8 (and @t7 (tptp.conceivedThruItself @t1))))) % 0.38/0.59 (assume @p4 (forall @t4 (= (tptp.attribute @t1) (tptp.intPercAsConstEssSub @t1)))) % 0.38/0.59 (assume @p5 (forall (@list @t1 @t5 @t9) (= (tptp.mode @t1) (or (and (tptp.modification @t1 @t5) (tptp.substance @t5)) (and (tptp.existsIn @t1 @t9) (tptp.conceivedThru @t1 @t9)))))) % 0.38/0.59 (assume @p6 (forall @t4 (= @t12 (and @t11 @t10)))) % 0.38/0.59 (assume @p7 @t18) % 0.38/0.59 (assume @p8 (forall @t6 (= (tptp.free @t1) (and (tptp.existsOnlyByNecessityOfOwnNature @t1) (=> (tptp.actionOf @t5 @t1) (tptp.determinedByItselfAlone @t5 @t1)))))) % 0.38/0.59 (assume @p9 (forall @t6 (= (tptp.necessary @t1) (and (tptp.externalTo @t5 @t1) (tptp.determinedByFixedMethod @t1 @t5) (tptp.determinedByDefiniteMethod @t1 @t5) (or (tptp.isMethodAction @t5) (tptp.isMethodExistence @t5)))))) % 0.38/0.59 (assume @p10 (forall @t4 (= (tptp.eternity @t1) (tptp.existConcFollowFromDefEternal @t1)))) % 0.38/0.59 (assume @p11 (forall @t6 (= @t20 (or (tptp.existsIn @t1 @t1) (and (tptp.existsIn @t1 @t5) @t19))))) % 0.38/0.59 (assume @p12 (forall @t6 (=> (not (tptp.conceivedThru @t1 @t1)) (and (tptp.conceivedThru @t1 @t5) @t19)))) % 0.38/0.59 (assume @p13 (forall @t6 (=> @t22 (and @t21 (=> (not @t22) (not @t21)))))) % 0.38/0.59 (assume @p14 (forall @t6 (= (tptp.knowledgeOfEffect @t1 @t5) (tptp.knowledgeOfACause @t1)))) % 0.38/0.59 (assume @p15 (forall @t6 (=> (tptp.haveNothingInCommon @t1 @t5) (and (not (tptp.canBeUnderstoodInTermsOf @t1 @t5)) (not (tptp.canBeUnderstoodInTermsOf @t5 @t1)) (not (tptp.conceptionInvolves @t1 @t5)) (not (tptp.conceptionInvolves @t5 @t1)))))) % 0.38/0.59 (assume @p16 (forall @t6 (=> (tptp.trueIdea @t1) (and (tptp.correspondWith @t1 @t5) (or (tptp.ideateOf @t5 @t1) (tptp.objectOf @t5 @t1)))))) % 0.38/0.59 (assume @p17 (forall @t4 (=> (tptp.canBeConceivedAsNonExisting @t1) @t23))) % 0.38/0.59 (assume @p18 @t24) % 0.38/0.59 (assume @p19 @t26) % 0.38/0.59 (assume @p20 @t28) % 0.38/0.59 (assume @p21 @t30) % 0.38/0.59 (assume @p22 true) % 0.38/0.59 (step @p23 :rule instantiate :premises (@p6) :args (@t32)) % 0.38/0.59 (step @p24 :rule bool-impl-elim :args (@t12 @t20)) % 0.38/0.59 (step @p25 :rule cong :premises (@p24) :args (@t29)) % 0.38/0.59 (step @p26 :rule cong :premises (@p25) :args (@t30)) % 0.38/0.59 (step @p27 :rule eq_resolve :premises (@p21 @p26)) % 0.38/0.59 (step @p28 :rule skolemize :premises (@p27)) % 0.38/0.59 (step @p29 :rule bool-double-not-elim :args (@t33)) % 0.38/0.59 (step @p30 :rule refl :args (@t36)) % 0.38/0.59 (step @p31 :rule nary_cong :premises (@p30 @p29) :args ((or @t36 (not @t35)))) % 0.38/0.59 (step @p32 :rule cnf_or_neg :args (@t36 0)) % 0.38/0.59 (step @p33 :rule eq_resolve :premises (@p32 @p31)) % 0.38/0.59 (step @p34 :rule reordering :premises (@p33) :args ((or @t33 @t36))) % 0.38/0.59 (step @p35 :rule chain_m_resolution :premises (@p34 @p28) :args (@t33 @t37 @t38)) % 0.38/0.59 (step @p36 :rule cnf_equiv_pos1 :args (@t42)) % 0.38/0.59 (step @p37 :rule reordering :premises (@p36) :args ((or @t35 @t41 (not @t42)))) % 0.38/0.59 (step @p38 :rule chain_m_resolution :premises (@p37 @p35 @p23) :args (@t41 @t43 (@list @t33 @t42))) % 0.38/0.59 (step @p39 :rule cnf_and_pos :args (@t41 1)) % 0.38/0.59 (step @p40 :rule reordering :premises (@p39) :args ((or @t39 @t44))) % 0.38/0.59 (step @p41 :rule chain_m_resolution :premises (@p40 @p38) :args (@t39 @t45 @t46)) % 0.38/0.59 (step @p42 :rule instantiate :premises (@p3) :args (@t32)) % 0.38/0.59 (step @p43 :rule bool-impl-elim :args (@t7 @t3)) % 0.38/0.59 (step @p44 :rule cong :premises (@p43) :args (@t24)) % 0.38/0.59 (step @p45 :rule eq_resolve :premises (@p18 @p44)) % 0.38/0.59 (step @p46 :rule instantiate :premises (@p45) :args (@t32)) % 0.38/0.59 (step @p47 :rule instantiate :premises (@p1) :args (@t32)) % 0.38/0.59 (step @p48 :rule aci_norm :args ((= (or (or @t23 @t47) @t20) (or @t23 @t47 @t20)))) % 0.38/0.59 (step @p49 :rule refl :args (@t20)) % 0.38/0.59 (step @p50 :rule bool-and-de-morgan :args (@t2 @t25 true)) % 0.38/0.59 (step @p51 :rule nary_cong :premises (@p50 @p49) :args ((or (not @t27) @t20))) % 0.38/0.59 (step @p52 :rule trans :premises (@p51 @p48)) % 0.38/0.59 (step @p53 :rule bool-impl-elim :args (@t27 @t20)) % 0.38/0.59 (step @p54 :rule trans :premises (@p53 @p52)) % 0.38/0.59 (step @p55 :rule cong :premises (@p54) :args (@t28)) % 0.38/0.59 (step @p56 :rule eq_resolve :premises (@p20 @p55)) % 0.38/0.59 (step @p57 :rule instantiate :premises (@p56) :args (@t32)) % 0.38/0.59 (step @p58 :rule bool-impl-elim :args (@t11 @t25)) % 0.38/0.59 (step @p59 :rule cong :premises (@p58) :args (@t26)) % 0.38/0.59 (step @p60 :rule eq_resolve :premises (@p19 @p59)) % 0.38/0.59 (step @p61 :rule instantiate :premises (@p60) :args (@t32)) % 0.38/0.59 (step @p62 :rule cnf_and_pos :args (@t41 0)) % 0.38/0.59 (step @p63 :rule reordering :premises (@p62) :args ((or @t40 @t44))) % 0.38/0.59 (step @p64 :rule chain_m_resolution :premises (@p63 @p38) :args (@t40 @t45 @t46)) % 0.38/0.59 (step @p65 :rule cnf_or_pos :args (@t50)) % 0.38/0.59 (step @p66 :rule reordering :premises (@p65) :args ((or @t48 @t49 (not @t50)))) % 0.38/0.59 (step @p67 :rule chain_m_resolution :premises (@p66 @p64 @p61) :args (@t48 @t43 (@list @t40 @t50))) % 0.38/0.59 (step @p68 :rule cnf_or_neg :args (@t36 1)) % 0.38/0.59 (step @p69 :rule chain_m_resolution :premises (@p68 @p28) :args ((not @t34) @t37 @t38)) % 0.38/0.59 (step @p70 :rule cnf_or_pos :args (@t54)) % 0.38/0.59 (step @p71 :rule reordering :premises (@p70) :args ((or @t34 @t53 @t51 (not @t54)))) % 0.38/0.59 (step @p72 :rule chain_m_resolution :premises (@p71 @p69 @p67 @p57) :args (@t53 (@list true false false) (@list @t34 @t48 @t54))) % 0.38/0.59 (step @p73 :rule cnf_and_pos :args (@t55 0)) % 0.38/0.59 (step @p74 :rule reordering :premises (@p73) :args ((or @t52 @t56))) % 0.38/0.59 (step @p75 :rule chain_m_resolution :premises (@p74 @p72) :args (@t56 @t37 (@list @t52))) % 0.38/0.59 (step @p76 :rule cnf_equiv_pos1 :args (@t58)) % 0.38/0.59 (step @p77 :rule reordering :premises (@p76) :args ((or @t55 @t59 (not @t58)))) % 0.38/0.59 (step @p78 :rule chain_m_resolution :premises (@p77 @p75 @p47) :args (@t59 @t60 (@list @t55 @t58))) % 0.38/0.59 (step @p79 :rule cnf_or_pos :args (@t63)) % 0.38/0.59 (step @p80 :rule reordering :premises (@p79) :args ((or @t57 @t62 (not @t63)))) % 0.38/0.59 (step @p81 :rule chain_m_resolution :premises (@p80 @p78 @p46) :args (@t62 @t60 (@list @t57 @t63))) % 0.38/0.59 (step @p82 :rule cnf_and_pos :args (@t64 0)) % 0.38/0.59 (step @p83 :rule reordering :premises (@p82) :args ((or @t61 @t65))) % 0.38/0.59 (step @p84 :rule chain_m_resolution :premises (@p83 @p81) :args (@t65 @t37 (@list @t61))) % 0.38/0.59 (step @p85 :rule cnf_equiv_pos1 :args (@t67)) % 0.38/0.59 (step @p86 :rule reordering :premises (@p85) :args ((or @t64 @t68 (not @t67)))) % 0.38/0.59 (step @p87 :rule chain_m_resolution :premises (@p86 @p84 @p42) :args (@t68 @t60 (@list @t64 @t67))) % 0.38/0.59 (step @p88 :rule cnf_and_pos :args (@t69 0)) % 0.38/0.59 (step @p89 :rule reordering :premises (@p88) :args ((or @t66 @t70))) % 0.38/0.59 (step @p90 :rule chain_m_resolution :premises (@p89 @p87) :args (@t70 @t37 (@list @t66))) % 0.38/0.59 (step @p91 :rule bool-impl-elim :args (@t14 @t13)) % 0.38/0.59 (step @p92 :rule refl :args (@t15)) % 0.38/0.59 (step @p93 :rule refl :args (@t8)) % 0.38/0.59 (step @p94 :rule nary_cong :premises (@p93 @p92 @p91) :args (@t16)) % 0.38/0.59 (step @p95 :rule refl :args (@t10)) % 0.38/0.59 (step @p96 :rule cong :premises (@p95 @p94) :args (@t17)) % 0.38/0.59 (step @p97 :rule cong :premises (@p96) :args (@t18)) % 0.38/0.59 (step @p98 :rule eq_resolve :premises (@p7 @p97)) % 0.38/0.59 (step @p99 :rule instantiate :premises (@p98) :args ((@list @t31 @t31))) % 0.38/0.59 (step @p100 :rule cnf_equiv_pos1 :args (@t71)) % 0.38/0.59 (step @p101 :rule reordering :premises (@p100) :args ((or (not @t39) @t69 (not @t71)))) % 0.38/0.59 (step @p102 false :rule chain_m_resolution :premises (@p101 @p99 @p90 @p41) :args (false (@list false true false) (@list @t71 @t69 @t39))) % 0.38/0.59 ) % 0.38/0.59 % SZS output end Proof % 0.38/0.59 % cvc5 exiting %------------------------------------------------------------------------------