%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : ARI444_1 : TPTP v8.1.2. Released v5.0.0. % Transfm : none % Format : tptp % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % Computer : n021.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 Aug 30 17:48:04 EDT 2023 % Result : Theorem 9.55s 2.08s % Output : Proof 9.81s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.13/0.13 % Problem : ARI444_1 : TPTP v8.1.2. Released v5.0.0. % 0.14/0.14 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.14/0.35 % Computer : n021.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 : Tue Aug 29 17:51:29 EDT 2023 % 0.14/0.35 % CPUTime : % 0.21/0.63 ________ _____ % 0.21/0.63 ___ __ \_________(_)________________________________ % 0.21/0.63 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.21/0.63 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.21/0.63 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.21/0.63 % 0.21/0.63 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.21/0.63 (2023-06-19) % 0.21/0.63 % 0.21/0.63 (c) Philipp Rümmer, 2009-2023 % 0.21/0.63 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.21/0.63 Amanda Stjerna. % 0.21/0.63 Free software under BSD-3-Clause. % 0.21/0.63 % 0.21/0.63 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.21/0.63 % 0.21/0.63 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ... % 0.21/0.64 Running up to 7 provers in parallel. % 0.21/0.65 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.21/0.65 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.21/0.65 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.21/0.65 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.21/0.65 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.21/0.65 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 0.21/0.65 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 1.66/0.96 Prover 6: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 3: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 5: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 0: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 1: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 4: Warning: Problem contains reals, using incomplete axiomatisation % 1.66/0.96 Prover 2: Warning: Problem contains reals, using incomplete axiomatisation % 2.39/1.06 Prover 4: Preprocessing ... % 2.39/1.07 Prover 1: Preprocessing ... % 2.39/1.12 Prover 6: Preprocessing ... % 2.39/1.12 Prover 0: Preprocessing ... % 2.81/1.15 Prover 2: Preprocessing ... % 2.81/1.16 Prover 5: Preprocessing ... % 2.81/1.16 Prover 3: Preprocessing ... % 6.54/1.67 Prover 6: Proving ... % 6.54/1.69 Prover 1: Constructing countermodel ... % 6.54/1.70 Prover 4: Constructing countermodel ... % 7.11/1.73 Prover 0: Proving ... % 8.36/1.91 Prover 4: Found proof (size 3) % 8.36/1.92 Prover 4: proved (1266ms) % 8.36/1.92 Prover 1: stopped % 8.36/1.92 Prover 0: stopped % 8.36/1.93 Prover 6: stopped % 9.06/2.00 Prover 3: Constructing countermodel ... % 9.06/2.01 Prover 3: stopped % 9.06/2.01 Prover 2: Proving ... % 9.06/2.01 Prover 2: stopped % 9.55/2.08 Prover 5: Proving ... % 9.55/2.08 Prover 5: stopped % 9.55/2.08 % 9.55/2.08 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 9.55/2.08 % 9.55/2.08 % SZS output start Proof for theBenchmark % 9.55/2.09 Assumptions after simplification: % 9.55/2.09 --------------------------------- % 9.55/2.09 % 9.55/2.09 (real_product_problem_9) % 9.70/2.11 ! [v0: $real] : ~ (real_$product(v0, real_11/2) = real_121/4) % 9.70/2.11 % 9.70/2.11 (input) % 9.81/2.14 ~ (real_very_large = real_very_small) & ~ (real_very_large = real_121/4) & % 9.81/2.14 ~ (real_very_large = real_11/2) & ~ (real_very_large = real_0) & ~ % 9.81/2.14 (real_very_small = real_121/4) & ~ (real_very_small = real_11/2) & ~ % 9.81/2.14 (real_very_small = real_0) & ~ (real_121/4 = real_11/2) & ~ (real_121/4 = % 9.81/2.14 real_0) & ~ (real_11/2 = real_0) & real_$is_int(real_121/4) = 1 & % 9.81/2.14 real_$is_int(real_11/2) = 1 & real_$is_int(real_0) = 0 & % 9.81/2.14 real_$is_rat(real_121/4) = 0 & real_$is_rat(real_11/2) = 0 & % 9.81/2.14 real_$is_rat(real_0) = 0 & real_$floor(real_0) = real_0 & % 9.81/2.15 real_$ceiling(real_0) = real_0 & real_$truncate(real_0) = real_0 & % 9.81/2.15 real_$round(real_0) = real_0 & real_$to_int(real_121/4) = 30 & % 9.81/2.15 real_$to_int(real_11/2) = 5 & real_$to_int(real_0) = 0 & % 9.81/2.15 real_$to_rat(real_121/4) = rat_121/4 & real_$to_rat(real_11/2) = rat_11/2 & % 9.81/2.15 real_$to_rat(real_0) = rat_0 & real_$to_real(real_121/4) = real_121/4 & % 9.81/2.15 real_$to_real(real_11/2) = real_11/2 & real_$to_real(real_0) = real_0 & % 9.81/2.15 int_$to_real(0) = real_0 & real_$quotient(real_121/4, real_11/2) = real_11/2 & % 9.81/2.15 real_$quotient(real_0, real_121/4) = real_0 & real_$quotient(real_0, % 9.81/2.15 real_11/2) = real_0 & real_$difference(real_121/4, real_121/4) = real_0 & % 9.81/2.15 real_$difference(real_121/4, real_0) = real_121/4 & % 9.81/2.15 real_$difference(real_11/2, real_11/2) = real_0 & real_$difference(real_11/2, % 9.81/2.15 real_0) = real_11/2 & real_$difference(real_0, real_0) = real_0 & % 9.81/2.15 real_$uminus(real_0) = real_0 & real_$sum(real_121/4, real_0) = real_121/4 & % 9.81/2.15 real_$sum(real_11/2, real_0) = real_11/2 & real_$sum(real_0, real_121/4) = % 9.81/2.15 real_121/4 & real_$sum(real_0, real_11/2) = real_11/2 & real_$sum(real_0, % 9.81/2.15 real_0) = real_0 & real_$greatereq(real_very_small, real_very_large) = 1 & % 9.81/2.15 real_$greatereq(real_121/4, real_121/4) = 0 & real_$greatereq(real_121/4, % 9.81/2.15 real_11/2) = 0 & real_$greatereq(real_121/4, real_0) = 0 & % 9.81/2.15 real_$greatereq(real_11/2, real_121/4) = 1 & real_$greatereq(real_11/2, % 9.81/2.15 real_11/2) = 0 & real_$greatereq(real_11/2, real_0) = 0 & % 9.81/2.15 real_$greatereq(real_0, real_121/4) = 1 & real_$greatereq(real_0, real_11/2) = % 9.81/2.15 1 & real_$greatereq(real_0, real_0) = 0 & real_$lesseq(real_very_small, % 9.81/2.15 real_very_large) = 0 & real_$lesseq(real_121/4, real_121/4) = 0 & % 9.81/2.15 real_$lesseq(real_121/4, real_11/2) = 1 & real_$lesseq(real_121/4, real_0) = 1 % 9.81/2.15 & real_$lesseq(real_11/2, real_121/4) = 0 & real_$lesseq(real_11/2, real_11/2) % 9.81/2.15 = 0 & real_$lesseq(real_11/2, real_0) = 1 & real_$lesseq(real_0, real_121/4) = % 9.81/2.15 0 & real_$lesseq(real_0, real_11/2) = 0 & real_$lesseq(real_0, real_0) = 0 & % 9.81/2.15 real_$greater(real_very_large, real_121/4) = 0 & % 9.81/2.15 real_$greater(real_very_large, real_11/2) = 0 & real_$greater(real_very_large, % 9.81/2.15 real_0) = 0 & real_$greater(real_very_small, real_very_large) = 1 & % 9.81/2.15 real_$greater(real_121/4, real_very_small) = 0 & real_$greater(real_121/4, % 9.81/2.15 real_121/4) = 1 & real_$greater(real_121/4, real_11/2) = 0 & % 9.81/2.15 real_$greater(real_121/4, real_0) = 0 & real_$greater(real_11/2, % 9.81/2.15 real_very_small) = 0 & real_$greater(real_11/2, real_121/4) = 1 & % 9.81/2.15 real_$greater(real_11/2, real_11/2) = 1 & real_$greater(real_11/2, real_0) = 0 % 9.81/2.15 & real_$greater(real_0, real_very_small) = 0 & real_$greater(real_0, % 9.81/2.15 real_121/4) = 1 & real_$greater(real_0, real_11/2) = 1 & % 9.81/2.15 real_$greater(real_0, real_0) = 1 & real_$less(real_very_small, % 9.81/2.15 real_very_large) = 0 & real_$less(real_very_small, real_121/4) = 0 & % 9.81/2.15 real_$less(real_very_small, real_11/2) = 0 & real_$less(real_very_small, % 9.81/2.15 real_0) = 0 & real_$less(real_121/4, real_very_large) = 0 & % 9.81/2.15 real_$less(real_121/4, real_121/4) = 1 & real_$less(real_121/4, real_11/2) = 1 % 9.81/2.15 & real_$less(real_121/4, real_0) = 1 & real_$less(real_11/2, real_very_large) % 9.81/2.15 = 0 & real_$less(real_11/2, real_121/4) = 0 & real_$less(real_11/2, real_11/2) % 9.81/2.15 = 1 & real_$less(real_11/2, real_0) = 1 & real_$less(real_0, real_very_large) % 9.81/2.15 = 0 & real_$less(real_0, real_121/4) = 0 & real_$less(real_0, real_11/2) = 0 & % 9.81/2.15 real_$less(real_0, real_0) = 1 & real_$product(real_121/4, real_0) = real_0 & % 9.81/2.15 real_$product(real_11/2, real_11/2) = real_121/4 & real_$product(real_11/2, % 9.81/2.15 real_0) = real_0 & real_$product(real_0, real_121/4) = real_0 & % 9.81/2.15 real_$product(real_0, real_11/2) = real_0 & real_$product(real_0, real_0) = % 9.81/2.15 real_0 & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : ! [v3: $real] : % 9.81/2.15 ! [v4: $real] : ( ~ (real_$sum(v3, v0) = v4) | ~ (real_$sum(v2, v1) = v3) | % 9.81/2.15 ? [v5: $real] : (real_$sum(v2, v5) = v4 & real_$sum(v1, v0) = v5)) & ! [v0: % 9.81/2.15 $real] : ! [v1: $real] : ! [v2: $real] : ! [v3: $real] : ! [v4: $real] : % 9.81/2.15 ( ~ (real_$sum(v2, v3) = v4) | ~ (real_$sum(v1, v0) = v3) | ? [v5: $real] : % 9.81/2.15 (real_$sum(v5, v0) = v4 & real_$sum(v2, v1) = v5)) & ! [v0: $real] : ! % 9.81/2.15 [v1: $real] : ! [v2: $real] : ! [v3: int] : (v3 = 0 | ~ (real_$lesseq(v2, % 9.81/2.15 v1) = 0) | ~ (real_$lesseq(v2, v0) = v3) | ? [v4: int] : ( ~ (v4 = 0) % 9.81/2.15 & real_$lesseq(v1, v0) = v4)) & ! [v0: $real] : ! [v1: $real] : ! [v2: % 9.81/2.15 $real] : ! [v3: int] : (v3 = 0 | ~ (real_$lesseq(v2, v1) = 0) | ~ % 9.81/2.15 (real_$less(v2, v0) = v3) | ? [v4: int] : ( ~ (v4 = 0) & real_$less(v1, v0) % 9.81/2.15 = v4)) & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : ! [v3: int] : % 9.81/2.15 (v3 = 0 | ~ (real_$lesseq(v2, v0) = v3) | ~ (real_$lesseq(v1, v0) = 0) | ? % 9.81/2.15 [v4: int] : ( ~ (v4 = 0) & real_$lesseq(v2, v1) = v4)) & ! [v0: $real] : ! % 9.81/2.15 [v1: $real] : ! [v2: $real] : ! [v3: int] : (v3 = 0 | ~ (real_$lesseq(v1, % 9.81/2.15 v0) = 0) | ~ (real_$less(v2, v0) = v3) | ? [v4: int] : ( ~ (v4 = 0) & % 9.81/2.15 real_$less(v2, v1) = v4)) & ! [v0: $real] : ! [v1: $real] : ! [v2: % 9.81/2.15 $real] : ! [v3: int] : (v3 = 0 | ~ (real_$less(v2, v1) = 0) | ~ % 9.81/2.15 (real_$less(v2, v0) = v3) | ? [v4: int] : ( ~ (v4 = 0) & real_$lesseq(v1, % 9.81/2.15 v0) = v4)) & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : ! [v3: % 9.81/2.15 int] : (v3 = 0 | ~ (real_$less(v2, v0) = v3) | ~ (real_$less(v1, v0) = 0) % 9.81/2.15 | ? [v4: int] : ( ~ (v4 = 0) & real_$lesseq(v2, v1) = v4)) & ! [v0: $real] % 9.81/2.15 : ! [v1: $real] : ! [v2: $real] : ! [v3: $real] : ( ~ (real_$uminus(v0) = % 9.81/2.15 v2) | ~ (real_$sum(v1, v2) = v3) | real_$difference(v1, v0) = v3) & ! % 9.81/2.15 [v0: $real] : ! [v1: $real] : ! [v2: int] : (v2 = 0 | v1 = v0 | ~ % 9.81/2.15 (real_$less(v1, v0) = v2) | ? [v3: int] : ( ~ (v3 = 0) & real_$lesseq(v1, % 9.81/2.15 v0) = v3)) & ! [v0: $real] : ! [v1: $real] : ! [v2: int] : (v2 = 0 | % 9.81/2.15 ~ (real_$greatereq(v0, v1) = v2) | ? [v3: int] : ( ~ (v3 = 0) & % 9.81/2.15 real_$lesseq(v1, v0) = v3)) & ! [v0: $real] : ! [v1: $real] : ! [v2: % 9.81/2.15 int] : (v2 = 0 | ~ (real_$lesseq(v1, v0) = v2) | ? [v3: int] : ( ~ (v3 = % 9.81/2.15 0) & real_$greatereq(v0, v1) = v3)) & ! [v0: $real] : ! [v1: $real] : % 9.81/2.15 ! [v2: int] : (v2 = 0 | ~ (real_$lesseq(v1, v0) = v2) | ? [v3: int] : ( ~ % 9.81/2.15 (v3 = 0) & real_$less(v1, v0) = v3)) & ! [v0: $real] : ! [v1: $real] : % 9.81/2.15 ! [v2: int] : (v2 = 0 | ~ (real_$greater(v0, v1) = v2) | ? [v3: int] : ( ~ % 9.81/2.15 (v3 = 0) & real_$less(v1, v0) = v3)) & ! [v0: $real] : ! [v1: $real] : % 9.81/2.15 ! [v2: int] : (v2 = 0 | ~ (real_$less(v1, v0) = v2) | ? [v3: int] : ( ~ (v3 % 9.81/2.15 = 0) & real_$greater(v0, v1) = v3)) & ! [v0: $real] : ! [v1: $real] : % 9.81/2.15 ! [v2: $real] : (v0 = real_0 | ~ (real_$product(v1, v0) = v2) | % 9.81/2.15 real_$quotient(v2, v0) = v1) & ! [v0: $real] : ! [v1: $real] : ! [v2: % 9.81/2.15 $real] : ( ~ (real_$difference(v1, v0) = v2) | ? [v3: $real] : % 9.81/2.15 (real_$uminus(v0) = v3 & real_$sum(v1, v3) = v2)) & ! [v0: $real] : ! [v1: % 9.81/2.15 $real] : ! [v2: $real] : ( ~ (real_$sum(v1, v0) = v2) | real_$sum(v0, v1) = % 9.81/2.15 v2) & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : ( ~ (real_$sum(v0, % 9.81/2.15 v1) = v2) | real_$sum(v1, v0) = v2) & ! [v0: $real] : ! [v1: $real] : % 9.81/2.15 ! [v2: $real] : ( ~ (real_$lesseq(v2, v1) = 0) | ~ (real_$lesseq(v1, v0) = 0) % 9.81/2.15 | real_$lesseq(v2, v0) = 0) & ! [v0: $real] : ! [v1: $real] : ! [v2: % 9.81/2.15 $real] : ( ~ (real_$lesseq(v2, v1) = 0) | ~ (real_$less(v1, v0) = 0) | % 9.81/2.15 real_$less(v2, v0) = 0) & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : % 9.81/2.15 ( ~ (real_$lesseq(v1, v0) = 0) | ~ (real_$less(v2, v1) = 0) | real_$less(v2, % 9.81/2.15 v0) = 0) & ! [v0: $real] : ! [v1: $real] : ! [v2: $real] : ( ~ % 9.81/2.15 (real_$product(v1, v0) = v2) | real_$product(v0, v1) = v2) & ! [v0: $real] % 9.81/2.15 : ! [v1: $real] : ! [v2: $real] : ( ~ (real_$product(v0, v1) = v2) | % 9.81/2.15 real_$product(v1, v0) = v2) & ! [v0: $real] : ! [v1: $real] : (v1 = v0 | % 9.81/2.15 ~ (real_$sum(v0, real_0) = v1)) & ! [v0: $real] : ! [v1: $real] : (v1 = v0 % 9.81/2.15 | ~ (real_$lesseq(v1, v0) = 0) | real_$less(v1, v0) = 0) & ! [v0: $real] : % 9.81/2.15 ! [v1: int] : (v1 = 0 | ~ (real_$lesseq(v0, v0) = v1)) & ! [v0: $real] : ! % 9.81/2.15 [v1: $real] : ( ~ (real_$uminus(v0) = v1) | real_$uminus(v1) = v0) & ! [v0: % 9.81/2.15 $real] : ! [v1: $real] : ( ~ (real_$uminus(v0) = v1) | real_$sum(v0, v1) = % 9.81/2.15 real_0) & ! [v0: $real] : ! [v1: $real] : ( ~ (real_$greatereq(v0, v1) = % 9.81/2.15 0) | real_$lesseq(v1, v0) = 0) & ! [v0: $real] : ! [v1: $real] : ( ~ % 9.81/2.15 (real_$lesseq(v1, v0) = 0) | real_$greatereq(v0, v1) = 0) & ! [v0: $real] : % 9.81/2.15 ! [v1: $real] : ( ~ (real_$greater(v0, v1) = 0) | real_$less(v1, v0) = 0) & % 9.81/2.15 ! [v0: $real] : ! [v1: $real] : ( ~ (real_$less(v1, v0) = 0) | % 9.81/2.15 real_$lesseq(v1, v0) = 0) & ! [v0: $real] : ! [v1: $real] : ( ~ % 9.81/2.15 (real_$less(v1, v0) = 0) | real_$greater(v0, v1) = 0) & ! [v0: $real] : ! % 9.81/2.15 [v1: MultipleValueBool] : ( ~ (real_$less(v0, v0) = v1) | real_$lesseq(v0, v0) % 9.81/2.15 = 0) & ! [v0: $real] : (v0 = real_0 | ~ (real_$uminus(v0) = v0)) % 9.81/2.15 % 9.81/2.15 Those formulas are unsatisfiable: % 9.81/2.15 --------------------------------- % 9.81/2.15 % 9.81/2.15 Begin of proof % 9.81/2.16 | % 9.81/2.16 | ALPHA: (input) implies: % 9.81/2.16 | (1) real_$product(real_11/2, real_11/2) = real_121/4 % 9.81/2.16 | % 9.81/2.16 | GROUND_INST: instantiating (real_product_problem_9) with real_11/2, % 9.81/2.16 | simplifying with (1) gives: % 9.81/2.16 | (2) $false % 9.81/2.16 | % 9.81/2.16 | CLOSE: (2) is inconsistent. % 9.81/2.16 | % 9.81/2.16 End of proof % 9.81/2.16 % SZS output end Proof for theBenchmark % 9.81/2.16 % 9.81/2.16 1534ms %------------------------------------------------------------------------------