%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : GEO182+2 : TPTP v8.1.2. Released v3.3.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 23:21:57 EDT 2023 % Result : Theorem 13.76s 2.56s % Output : Proof 14.27s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.08/0.13 % Problem : GEO182+2 : TPTP v8.1.2. Released v3.3.0. % 0.08/0.14 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.14/0.36 % Computer : n021.cluster.edu % 0.14/0.36 % Model : x86_64 x86_64 % 0.14/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.14/0.36 % Memory : 8042.1875MB % 0.14/0.36 % OS : Linux 3.10.0-693.el7.x86_64 % 0.14/0.36 % CPULimit : 300 % 0.14/0.36 % WCLimit : 300 % 0.14/0.36 % DateTime : Tue Aug 29 20:48:29 EDT 2023 % 0.14/0.36 % CPUTime : % 0.55/0.63 ________ _____ % 0.55/0.63 ___ __ \_________(_)________________________________ % 0.55/0.63 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.55/0.63 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.55/0.63 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.55/0.63 % 0.55/0.63 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.55/0.63 (2023-06-19) % 0.55/0.63 % 0.55/0.63 (c) Philipp Rümmer, 2009-2023 % 0.55/0.63 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.55/0.63 Amanda Stjerna. % 0.55/0.63 Free software under BSD-3-Clause. % 0.55/0.63 % 0.55/0.63 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.55/0.63 % 0.55/0.63 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ... % 0.55/0.64 Running up to 7 provers in parallel. % 0.55/0.66 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.55/0.66 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.55/0.66 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.55/0.66 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.55/0.66 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.55/0.66 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 0.55/0.66 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 2.25/1.02 Prover 1: Preprocessing ... % 2.25/1.03 Prover 4: Preprocessing ... % 2.25/1.06 Prover 0: Preprocessing ... % 2.25/1.06 Prover 2: Preprocessing ... % 2.25/1.06 Prover 5: Preprocessing ... % 2.25/1.07 Prover 6: Preprocessing ... % 2.25/1.07 Prover 3: Preprocessing ... % 3.72/1.28 Prover 5: Proving ... % 4.43/1.30 Prover 2: Proving ... % 4.43/1.32 Prover 1: Constructing countermodel ... % 4.43/1.32 Prover 3: Constructing countermodel ... % 4.43/1.33 Prover 6: Constructing countermodel ... % 5.37/1.43 Prover 4: Constructing countermodel ... % 5.37/1.46 Prover 3: gave up % 5.37/1.47 Prover 6: gave up % 5.37/1.49 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 5.37/1.49 Prover 0: Proving ... % 5.37/1.49 Prover 1: gave up % 5.37/1.49 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 5.37/1.49 Prover 9: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allMinimal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1423531889 % 5.37/1.50 Prover 7: Preprocessing ... % 5.37/1.51 Prover 9: Preprocessing ... % 6.04/1.53 Prover 7: Warning: ignoring some quantifiers % 6.04/1.53 Prover 8: Preprocessing ... % 6.04/1.53 Prover 7: Constructing countermodel ... % 6.57/1.64 Prover 8: Warning: ignoring some quantifiers % 6.57/1.65 Prover 8: Constructing countermodel ... % 7.21/1.70 Prover 9: Constructing countermodel ... % 7.42/1.72 Prover 8: gave up % 7.42/1.72 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 7.42/1.75 Prover 10: Preprocessing ... % 7.42/1.77 Prover 10: Warning: ignoring some quantifiers % 7.42/1.78 Prover 10: Constructing countermodel ... % 7.42/1.78 Prover 7: gave up % 7.42/1.79 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 7.98/1.82 Prover 11: Preprocessing ... % 7.98/1.82 Prover 10: gave up % 7.98/1.82 Prover 12: Options: -triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=2024365391 % 7.98/1.85 Prover 12: Preprocessing ... % 8.72/1.95 Prover 11: Constructing countermodel ... % 9.31/1.97 Prover 12: Proving ... % 13.37/2.54 Prover 11: Found proof (size 78) % 13.37/2.54 Prover 11: proved (751ms) % 13.76/2.56 Prover 9: stopped % 13.76/2.56 Prover 4: stopped % 13.76/2.56 Prover 2: stopped % 13.76/2.56 Prover 5: stopped % 13.76/2.56 Prover 12: stopped % 13.76/2.56 Prover 0: stopped % 13.76/2.56 % 13.76/2.56 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 13.76/2.56 % 13.76/2.57 % SZS output start Proof for theBenchmark % 13.76/2.57 Assumptions after simplification: % 13.76/2.57 --------------------------------- % 13.76/2.58 % 13.76/2.58 (apart1) % 13.76/2.60 ! [v0: $i] : ( ~ (distinct_points(v0, v0) = 0) | ~ $i(v0)) % 13.76/2.60 % 13.76/2.60 (apart4) % 13.76/2.60 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : ! [v4: int] : (v4 = % 13.76/2.60 0 | v3 = 0 | ~ (distinct_points(v1, v2) = v4) | ~ (distinct_points(v0, v2) % 13.76/2.60 = v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v5: int] : ( ~ (v5 = 0) & % 13.76/2.60 distinct_points(v0, v1) = v5)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : % 13.76/2.60 ! [v3: int] : (v3 = 0 | ~ (distinct_points(v1, v2) = v3) | ~ % 13.76/2.60 (distinct_points(v0, v1) = 0) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | % 13.76/2.60 distinct_points(v0, v2) = 0) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! % 13.76/2.60 [v3: int] : (v3 = 0 | ~ (distinct_points(v0, v2) = v3) | ~ % 13.76/2.60 (distinct_points(v0, v1) = 0) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | % 13.76/2.60 distinct_points(v1, v2) = 0) % 13.76/2.60 % 13.76/2.60 (ceq2) % 13.76/2.61 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : ! [v4: int] : (v4 = % 13.76/2.61 0 | v3 = 0 | ~ (apart_point_and_line(v0, v2) = v4) | ~ (distinct_lines(v1, % 13.76/2.61 v2) = v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v5: int] : ( ~ (v5 = % 13.76/2.61 0) & apart_point_and_line(v0, v1) = v5)) & ! [v0: $i] : ! [v1: $i] : % 13.76/2.61 ! [v2: $i] : ! [v3: int] : (v3 = 0 | ~ (apart_point_and_line(v0, v2) = v3) | % 13.76/2.61 ~ (apart_point_and_line(v0, v1) = 0) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | % 13.76/2.61 distinct_lines(v1, v2) = 0) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! % 13.76/2.61 [v3: int] : (v3 = 0 | ~ (apart_point_and_line(v0, v1) = 0) | ~ % 13.76/2.61 (distinct_lines(v1, v2) = v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | % 13.76/2.61 apart_point_and_line(v0, v2) = 0) % 13.76/2.61 % 13.76/2.61 (con) % 13.76/2.61 ? [v0: $i] : ? [v1: $i] : ? [v2: $i] : ? [v3: $i] : ? [v4: $i] : ? [v5: % 13.76/2.61 int] : ( ~ (v5 = 0) & line_connecting(v1, v0) = v4 & line_connecting(v0, v1) % 13.76/2.61 = v3 & apart_point_and_line(v2, v4) = v5 & apart_point_and_line(v2, v3) = 0 % 13.76/2.61 & distinct_points(v0, v1) = 0 & $i(v4) & $i(v3) & $i(v2) & $i(v1) & $i(v0)) % 13.76/2.61 % 13.76/2.61 (con1) % 13.76/2.61 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~ % 13.76/2.61 (line_connecting(v0, v1) = v3) | ~ (apart_point_and_line(v2, v3) = 0) | ~ % 13.76/2.61 $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v4: int] : ? [v5: int] : ? [v6: int] % 13.76/2.61 : ((v6 = 0 & v5 = 0 & distinct_points(v2, v1) = 0 & distinct_points(v2, v0) % 13.76/2.61 = 0) | ( ~ (v4 = 0) & distinct_points(v0, v1) = v4))) % 13.76/2.61 % 13.76/2.61 (cu1) % 13.76/2.63 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: int] : ! [v5: % 13.76/2.63 int] : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v1, v3) = v5) | ~ % 13.76/2.63 (apart_point_and_line(v1, v2) = v4) | ~ (distinct_points(v0, v1) = 0) | ~ % 13.76/2.63 $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v6: int] : ? [v7: int] : % 13.76/2.63 ? [v8: int] : ((v8 = 0 & apart_point_and_line(v0, v3) = 0) | (v7 = 0 & % 13.76/2.63 apart_point_and_line(v0, v2) = 0) | ( ~ (v6 = 0) & distinct_lines(v2, % 13.76/2.63 v3) = v6))) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : % 13.76/2.63 ! [v4: int] : ! [v5: int] : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v1, % 13.76/2.63 v3) = v5) | ~ (apart_point_and_line(v0, v3) = v4) | ~ % 13.76/2.63 (distinct_lines(v2, v3) = 0) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) % 13.76/2.63 | ? [v6: int] : ? [v7: int] : ? [v8: int] : ((v8 = 0 & % 13.76/2.63 apart_point_and_line(v1, v2) = 0) | (v7 = 0 & apart_point_and_line(v0, % 13.76/2.63 v2) = 0) | ( ~ (v6 = 0) & distinct_points(v0, v1) = v6))) & ! [v0: % 13.76/2.63 $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: int] : ! [v5: int] % 13.76/2.63 : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v1, v3) = v5) | ~ % 13.76/2.63 (apart_point_and_line(v0, v2) = v4) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ % 13.76/2.63 $i(v0) | ? [v6: int] : ? [v7: int] : ? [v8: int] : ? [v9: int] : ((v9 = % 13.76/2.63 0 & apart_point_and_line(v1, v2) = 0) | (v8 = 0 & % 13.76/2.63 apart_point_and_line(v0, v3) = 0) | ( ~ (v7 = 0) & distinct_lines(v2, % 13.76/2.63 v3) = v7) | ( ~ (v6 = 0) & distinct_points(v0, v1) = v6))) & ! [v0: % 13.76/2.63 $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: int] : ! [v5: int] % 13.76/2.63 : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v1, v2) = v5) | ~ % 13.76/2.63 (apart_point_and_line(v0, v3) = v4) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ % 13.76/2.63 $i(v0) | ? [v6: int] : ? [v7: int] : ? [v8: int] : ? [v9: int] : ((v9 = % 13.76/2.63 0 & apart_point_and_line(v1, v3) = 0) | (v8 = 0 & % 13.76/2.63 apart_point_and_line(v0, v2) = 0) | ( ~ (v7 = 0) & distinct_lines(v2, % 13.76/2.63 v3) = v7) | ( ~ (v6 = 0) & distinct_points(v0, v1) = v6))) & ! [v0: % 13.76/2.63 $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: int] : ! [v5: int] % 13.76/2.63 : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v1, v2) = v5) | ~ % 13.76/2.63 (apart_point_and_line(v0, v2) = v4) | ~ (distinct_lines(v2, v3) = 0) | ~ % 13.76/2.63 $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v6: int] : ? [v7: int] : % 13.76/2.63 ? [v8: int] : ((v8 = 0 & apart_point_and_line(v1, v3) = 0) | (v7 = 0 & % 13.76/2.63 apart_point_and_line(v0, v3) = 0) | ( ~ (v6 = 0) & distinct_points(v0, % 13.76/2.63 v1) = v6))) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : % 13.76/2.63 ! [v4: int] : ! [v5: int] : (v5 = 0 | v4 = 0 | ~ (apart_point_and_line(v0, % 13.76/2.63 v3) = v5) | ~ (apart_point_and_line(v0, v2) = v4) | ~ % 13.76/2.63 (distinct_points(v0, v1) = 0) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ % 13.76/2.63 $i(v0) | ? [v6: int] : ? [v7: int] : ? [v8: int] : ((v8 = 0 & % 13.76/2.63 apart_point_and_line(v1, v3) = 0) | (v7 = 0 & apart_point_and_line(v1, % 13.76/2.63 v2) = 0) | ( ~ (v6 = 0) & distinct_lines(v2, v3) = v6))) & ! [v0: $i] % 13.76/2.63 : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~ (distinct_lines(v2, v3) = 0) | % 13.76/2.63 ~ (distinct_points(v0, v1) = 0) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ % 13.76/2.63 $i(v0) | ? [v4: int] : ? [v5: int] : ? [v6: int] : ? [v7: int] : ((v7 = % 13.76/2.63 0 & apart_point_and_line(v1, v3) = 0) | (v6 = 0 & % 13.76/2.63 apart_point_and_line(v1, v2) = 0) | (v5 = 0 & apart_point_and_line(v0, % 13.76/2.63 v3) = 0) | (v4 = 0 & apart_point_and_line(v0, v2) = 0))) % 13.76/2.63 % 13.76/2.63 (function-axioms) % 13.76/2.63 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 13.76/2.63 (intersection_point(v3, v2) = v1) | ~ (intersection_point(v3, v2) = v0)) & % 13.76/2.63 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 13.76/2.63 (line_connecting(v3, v2) = v1) | ~ (line_connecting(v3, v2) = v0)) & ! % 13.76/2.63 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 13.76/2.63 $i] : (v1 = v0 | ~ (apart_point_and_line(v3, v2) = v1) | ~ % 13.76/2.63 (apart_point_and_line(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 13.76/2.63 MultipleValueBool] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 13.76/2.63 (convergent_lines(v3, v2) = v1) | ~ (convergent_lines(v3, v2) = v0)) & ! % 13.76/2.63 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 13.76/2.63 $i] : (v1 = v0 | ~ (distinct_lines(v3, v2) = v1) | ~ (distinct_lines(v3, % 13.76/2.63 v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : % 13.76/2.63 ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ (distinct_points(v3, v2) = v1) | ~ % 13.76/2.63 (distinct_points(v3, v2) = v0)) % 13.76/2.63 % 13.76/2.63 Further assumptions not needed in the proof: % 13.76/2.63 -------------------------------------------- % 13.76/2.63 apart2, apart3, apart5, apart6, ceq1, ceq3, con2 % 13.76/2.63 % 13.76/2.63 Those formulas are unsatisfiable: % 13.76/2.63 --------------------------------- % 13.76/2.63 % 13.76/2.63 Begin of proof % 13.76/2.64 | % 13.76/2.64 | ALPHA: (apart4) implies: % 13.76/2.64 | (1) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : (v3 = 0 | ~ % 13.76/2.64 | (distinct_points(v1, v2) = v3) | ~ (distinct_points(v0, v1) = 0) | % 13.76/2.64 | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | distinct_points(v0, v2) = 0) % 13.76/2.64 | % 13.76/2.64 | ALPHA: (cu1) implies: % 13.76/2.64 | (2) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~ % 13.76/2.64 | (distinct_lines(v2, v3) = 0) | ~ (distinct_points(v0, v1) = 0) | ~ % 13.76/2.64 | $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v4: int] : ? [v5: % 13.76/2.64 | int] : ? [v6: int] : ? [v7: int] : ((v7 = 0 & % 13.76/2.64 | apart_point_and_line(v1, v3) = 0) | (v6 = 0 & % 13.76/2.64 | apart_point_and_line(v1, v2) = 0) | (v5 = 0 & % 13.76/2.64 | apart_point_and_line(v0, v3) = 0) | (v4 = 0 & % 13.76/2.64 | apart_point_and_line(v0, v2) = 0))) % 13.76/2.64 | % 13.76/2.64 | ALPHA: (ceq2) implies: % 13.76/2.64 | (3) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : (v3 = 0 | ~ % 13.76/2.64 | (apart_point_and_line(v0, v2) = v3) | ~ (apart_point_and_line(v0, % 13.76/2.64 | v1) = 0) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | distinct_lines(v1, % 13.76/2.64 | v2) = 0) % 13.76/2.64 | % 13.76/2.64 | ALPHA: (function-axioms) implies: % 13.76/2.64 | (4) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : % 13.76/2.64 | ! [v3: $i] : (v1 = v0 | ~ (distinct_points(v3, v2) = v1) | ~ % 13.76/2.64 | (distinct_points(v3, v2) = v0)) % 13.76/2.64 | % 13.76/2.64 | DELTA: instantiating (con) with fresh symbols all_15_0, all_15_1, all_15_2, % 13.76/2.64 | all_15_3, all_15_4, all_15_5 gives: % 13.76/2.64 | (5) ~ (all_15_0 = 0) & line_connecting(all_15_4, all_15_5) = all_15_1 & % 13.76/2.64 | line_connecting(all_15_5, all_15_4) = all_15_2 & % 13.76/2.64 | apart_point_and_line(all_15_3, all_15_1) = all_15_0 & % 13.76/2.64 | apart_point_and_line(all_15_3, all_15_2) = 0 & % 13.76/2.64 | distinct_points(all_15_5, all_15_4) = 0 & $i(all_15_1) & $i(all_15_2) & % 13.76/2.64 | $i(all_15_3) & $i(all_15_4) & $i(all_15_5) % 13.76/2.64 | % 13.76/2.64 | ALPHA: (5) implies: % 13.76/2.64 | (6) ~ (all_15_0 = 0) % 13.76/2.64 | (7) $i(all_15_5) % 13.76/2.64 | (8) $i(all_15_4) % 13.76/2.64 | (9) $i(all_15_3) % 13.76/2.64 | (10) $i(all_15_2) % 13.76/2.64 | (11) $i(all_15_1) % 13.76/2.64 | (12) distinct_points(all_15_5, all_15_4) = 0 % 13.76/2.64 | (13) apart_point_and_line(all_15_3, all_15_2) = 0 % 13.76/2.64 | (14) apart_point_and_line(all_15_3, all_15_1) = all_15_0 % 13.76/2.64 | (15) line_connecting(all_15_5, all_15_4) = all_15_2 % 13.76/2.64 | (16) line_connecting(all_15_4, all_15_5) = all_15_1 % 13.76/2.65 | % 13.76/2.65 | GROUND_INST: instantiating (3) with all_15_3, all_15_2, all_15_1, all_15_0, % 13.76/2.65 | simplifying with (9), (10), (11), (13), (14) gives: % 13.76/2.65 | (17) all_15_0 = 0 | distinct_lines(all_15_2, all_15_1) = 0 % 13.76/2.65 | % 13.76/2.65 | BETA: splitting (17) gives: % 13.76/2.65 | % 13.76/2.65 | Case 1: % 13.76/2.65 | | % 13.76/2.65 | | (18) distinct_lines(all_15_2, all_15_1) = 0 % 13.76/2.65 | | % 13.76/2.65 | | GROUND_INST: instantiating (2) with all_15_5, all_15_4, all_15_2, all_15_1, % 13.76/2.65 | | simplifying with (7), (8), (10), (11), (12), (18) gives: % 13.76/2.65 | | (19) ? [v0: int] : ? [v1: int] : ? [v2: int] : ? [v3: int] : ((v3 = 0 % 13.76/2.65 | | & apart_point_and_line(all_15_4, all_15_1) = 0) | (v2 = 0 & % 13.76/2.65 | | apart_point_and_line(all_15_4, all_15_2) = 0) | (v1 = 0 & % 13.76/2.65 | | apart_point_and_line(all_15_5, all_15_1) = 0) | (v0 = 0 & % 13.76/2.65 | | apart_point_and_line(all_15_5, all_15_2) = 0)) % 13.76/2.65 | | % 13.76/2.65 | | DELTA: instantiating (19) with fresh symbols all_40_0, all_40_1, all_40_2, % 13.76/2.65 | | all_40_3 gives: % 13.76/2.65 | | (20) (all_40_0 = 0 & apart_point_and_line(all_15_4, all_15_1) = 0) | % 13.76/2.65 | | (all_40_1 = 0 & apart_point_and_line(all_15_4, all_15_2) = 0) | % 13.76/2.65 | | (all_40_2 = 0 & apart_point_and_line(all_15_5, all_15_1) = 0) | % 13.76/2.65 | | (all_40_3 = 0 & apart_point_and_line(all_15_5, all_15_2) = 0) % 13.76/2.65 | | % 13.76/2.65 | | BETA: splitting (20) gives: % 13.76/2.65 | | % 13.76/2.65 | | Case 1: % 13.76/2.65 | | | % 13.76/2.65 | | | (21) (all_40_0 = 0 & apart_point_and_line(all_15_4, all_15_1) = 0) | % 13.76/2.65 | | | (all_40_1 = 0 & apart_point_and_line(all_15_4, all_15_2) = 0) % 13.76/2.65 | | | % 13.76/2.65 | | | BETA: splitting (21) gives: % 13.76/2.65 | | | % 13.76/2.65 | | | Case 1: % 13.76/2.65 | | | | % 13.76/2.65 | | | | (22) all_40_0 = 0 & apart_point_and_line(all_15_4, all_15_1) = 0 % 13.76/2.65 | | | | % 13.76/2.65 | | | | ALPHA: (22) implies: % 13.76/2.65 | | | | (23) apart_point_and_line(all_15_4, all_15_1) = 0 % 13.76/2.65 | | | | % 13.76/2.65 | | | | GROUND_INST: instantiating (con1) with all_15_4, all_15_5, all_15_4, % 13.76/2.65 | | | | all_15_1, simplifying with (7), (8), (16), (23) gives: % 13.76/2.65 | | | | (24) ? [v0: int] : ? [v1: int] : ? [v2: int] : ((v2 = 0 & v1 = 0 & % 13.76/2.65 | | | | distinct_points(all_15_4, all_15_4) = 0 & % 13.76/2.65 | | | | distinct_points(all_15_4, all_15_5) = 0) | ( ~ (v0 = 0) & % 13.76/2.65 | | | | distinct_points(all_15_4, all_15_5) = v0)) % 13.76/2.65 | | | | % 13.76/2.65 | | | | DELTA: instantiating (24) with fresh symbols all_99_0, all_99_1, % 13.76/2.65 | | | | all_99_2 gives: % 13.76/2.65 | | | | (25) (all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_4, % 13.76/2.65 | | | | all_15_4) = 0 & distinct_points(all_15_4, all_15_5) = 0) | ( % 13.76/2.65 | | | | ~ (all_99_2 = 0) & distinct_points(all_15_4, all_15_5) = % 13.76/2.65 | | | | all_99_2) % 13.76/2.65 | | | | % 13.76/2.65 | | | | BETA: splitting (25) gives: % 13.76/2.65 | | | | % 13.76/2.65 | | | | Case 1: % 13.76/2.65 | | | | | % 13.76/2.65 | | | | | (26) all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_4, % 13.76/2.65 | | | | | all_15_4) = 0 & distinct_points(all_15_4, all_15_5) = 0 % 13.76/2.65 | | | | | % 13.76/2.65 | | | | | ALPHA: (26) implies: % 13.76/2.65 | | | | | (27) distinct_points(all_15_4, all_15_4) = 0 % 13.76/2.65 | | | | | % 13.76/2.65 | | | | | GROUND_INST: instantiating (apart1) with all_15_4, simplifying with % 13.76/2.65 | | | | | (8), (27) gives: % 13.76/2.65 | | | | | (28) $false % 13.76/2.65 | | | | | % 13.76/2.65 | | | | | CLOSE: (28) is inconsistent. % 13.76/2.65 | | | | | % 13.76/2.65 | | | | Case 2: % 13.76/2.65 | | | | | % 13.76/2.66 | | | | | (29) ~ (all_99_2 = 0) & distinct_points(all_15_4, all_15_5) = % 13.76/2.66 | | | | | all_99_2 % 13.76/2.66 | | | | | % 13.76/2.66 | | | | | ALPHA: (29) implies: % 13.76/2.66 | | | | | (30) ~ (all_99_2 = 0) % 13.76/2.66 | | | | | (31) distinct_points(all_15_4, all_15_5) = all_99_2 % 13.76/2.66 | | | | | % 13.76/2.66 | | | | | GROUND_INST: instantiating (1) with all_15_5, all_15_4, all_15_5, % 13.76/2.66 | | | | | all_99_2, simplifying with (7), (8), (12), (31) gives: % 13.76/2.66 | | | | | (32) all_99_2 = 0 | distinct_points(all_15_5, all_15_5) = 0 % 13.76/2.66 | | | | | % 14.27/2.66 | | | | | BETA: splitting (32) gives: % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | Case 1: % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | (33) distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | GROUND_INST: instantiating (apart1) with all_15_5, simplifying with % 14.27/2.66 | | | | | | (7), (33) gives: % 14.27/2.66 | | | | | | (34) $false % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | CLOSE: (34) is inconsistent. % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | Case 2: % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | (35) all_99_2 = 0 % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | REDUCE: (30), (35) imply: % 14.27/2.66 | | | | | | (36) $false % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | | CLOSE: (36) is inconsistent. % 14.27/2.66 | | | | | | % 14.27/2.66 | | | | | End of split % 14.27/2.66 | | | | | % 14.27/2.66 | | | | End of split % 14.27/2.66 | | | | % 14.27/2.66 | | | Case 2: % 14.27/2.66 | | | | % 14.27/2.66 | | | | (37) all_40_1 = 0 & apart_point_and_line(all_15_4, all_15_2) = 0 % 14.27/2.66 | | | | % 14.27/2.66 | | | | ALPHA: (37) implies: % 14.27/2.66 | | | | (38) apart_point_and_line(all_15_4, all_15_2) = 0 % 14.27/2.66 | | | | % 14.27/2.66 | | | | GROUND_INST: instantiating (con1) with all_15_5, all_15_4, all_15_4, % 14.27/2.66 | | | | all_15_2, simplifying with (7), (8), (15), (38) gives: % 14.27/2.66 | | | | (39) ? [v0: int] : ? [v1: int] : ? [v2: int] : ((v2 = 0 & v1 = 0 & % 14.27/2.66 | | | | distinct_points(all_15_4, all_15_4) = 0 & % 14.27/2.66 | | | | distinct_points(all_15_4, all_15_5) = 0) | ( ~ (v0 = 0) & % 14.27/2.66 | | | | distinct_points(all_15_5, all_15_4) = v0)) % 14.27/2.66 | | | | % 14.27/2.66 | | | | DELTA: instantiating (39) with fresh symbols all_99_0, all_99_1, % 14.27/2.66 | | | | all_99_2 gives: % 14.27/2.66 | | | | (40) (all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_4, % 14.27/2.66 | | | | all_15_4) = 0 & distinct_points(all_15_4, all_15_5) = 0) | ( % 14.27/2.66 | | | | ~ (all_99_2 = 0) & distinct_points(all_15_5, all_15_4) = % 14.27/2.66 | | | | all_99_2) % 14.27/2.66 | | | | % 14.27/2.66 | | | | BETA: splitting (40) gives: % 14.27/2.66 | | | | % 14.27/2.66 | | | | Case 1: % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | (41) all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_4, % 14.27/2.66 | | | | | all_15_4) = 0 & distinct_points(all_15_4, all_15_5) = 0 % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | ALPHA: (41) implies: % 14.27/2.66 | | | | | (42) distinct_points(all_15_4, all_15_4) = 0 % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | GROUND_INST: instantiating (apart1) with all_15_4, simplifying with % 14.27/2.66 | | | | | (8), (42) gives: % 14.27/2.66 | | | | | (43) $false % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | CLOSE: (43) is inconsistent. % 14.27/2.66 | | | | | % 14.27/2.66 | | | | Case 2: % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | (44) ~ (all_99_2 = 0) & distinct_points(all_15_5, all_15_4) = % 14.27/2.66 | | | | | all_99_2 % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | ALPHA: (44) implies: % 14.27/2.66 | | | | | (45) ~ (all_99_2 = 0) % 14.27/2.66 | | | | | (46) distinct_points(all_15_5, all_15_4) = all_99_2 % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | GROUND_INST: instantiating (4) with 0, all_99_2, all_15_4, all_15_5, % 14.27/2.66 | | | | | simplifying with (12), (46) gives: % 14.27/2.66 | | | | | (47) all_99_2 = 0 % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | REDUCE: (45), (47) imply: % 14.27/2.66 | | | | | (48) $false % 14.27/2.66 | | | | | % 14.27/2.66 | | | | | CLOSE: (48) is inconsistent. % 14.27/2.66 | | | | | % 14.27/2.66 | | | | End of split % 14.27/2.66 | | | | % 14.27/2.66 | | | End of split % 14.27/2.66 | | | % 14.27/2.66 | | Case 2: % 14.27/2.66 | | | % 14.27/2.66 | | | (49) (all_40_2 = 0 & apart_point_and_line(all_15_5, all_15_1) = 0) | % 14.27/2.66 | | | (all_40_3 = 0 & apart_point_and_line(all_15_5, all_15_2) = 0) % 14.27/2.66 | | | % 14.27/2.66 | | | BETA: splitting (49) gives: % 14.27/2.66 | | | % 14.27/2.66 | | | Case 1: % 14.27/2.66 | | | | % 14.27/2.66 | | | | (50) all_40_2 = 0 & apart_point_and_line(all_15_5, all_15_1) = 0 % 14.27/2.66 | | | | % 14.27/2.66 | | | | ALPHA: (50) implies: % 14.27/2.66 | | | | (51) apart_point_and_line(all_15_5, all_15_1) = 0 % 14.27/2.66 | | | | % 14.27/2.66 | | | | GROUND_INST: instantiating (con1) with all_15_4, all_15_5, all_15_5, % 14.27/2.66 | | | | all_15_1, simplifying with (7), (8), (16), (51) gives: % 14.27/2.67 | | | | (52) ? [v0: int] : ? [v1: int] : ? [v2: int] : ((v2 = 0 & v1 = 0 & % 14.27/2.67 | | | | distinct_points(all_15_5, all_15_4) = 0 & % 14.27/2.67 | | | | distinct_points(all_15_5, all_15_5) = 0) | ( ~ (v0 = 0) & % 14.27/2.67 | | | | distinct_points(all_15_4, all_15_5) = v0)) % 14.27/2.67 | | | | % 14.27/2.67 | | | | DELTA: instantiating (52) with fresh symbols all_99_0, all_99_1, % 14.27/2.67 | | | | all_99_2 gives: % 14.27/2.67 | | | | (53) (all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_5, % 14.27/2.67 | | | | all_15_4) = 0 & distinct_points(all_15_5, all_15_5) = 0) | ( % 14.27/2.67 | | | | ~ (all_99_2 = 0) & distinct_points(all_15_4, all_15_5) = % 14.27/2.67 | | | | all_99_2) % 14.27/2.67 | | | | % 14.27/2.67 | | | | BETA: splitting (53) gives: % 14.27/2.67 | | | | % 14.27/2.67 | | | | Case 1: % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | (54) all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_5, % 14.27/2.67 | | | | | all_15_4) = 0 & distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | ALPHA: (54) implies: % 14.27/2.67 | | | | | (55) distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | GROUND_INST: instantiating (apart1) with all_15_5, simplifying with % 14.27/2.67 | | | | | (7), (55) gives: % 14.27/2.67 | | | | | (56) $false % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | CLOSE: (56) is inconsistent. % 14.27/2.67 | | | | | % 14.27/2.67 | | | | Case 2: % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | (57) ~ (all_99_2 = 0) & distinct_points(all_15_4, all_15_5) = % 14.27/2.67 | | | | | all_99_2 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | ALPHA: (57) implies: % 14.27/2.67 | | | | | (58) ~ (all_99_2 = 0) % 14.27/2.67 | | | | | (59) distinct_points(all_15_4, all_15_5) = all_99_2 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | GROUND_INST: instantiating (1) with all_15_5, all_15_4, all_15_5, % 14.27/2.67 | | | | | all_99_2, simplifying with (7), (8), (12), (59) gives: % 14.27/2.67 | | | | | (60) all_99_2 = 0 | distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | BETA: splitting (60) gives: % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | Case 1: % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | (61) distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | GROUND_INST: instantiating (apart1) with all_15_5, simplifying with % 14.27/2.67 | | | | | | (7), (61) gives: % 14.27/2.67 | | | | | | (62) $false % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | CLOSE: (62) is inconsistent. % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | Case 2: % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | (63) all_99_2 = 0 % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | REDUCE: (58), (63) imply: % 14.27/2.67 | | | | | | (64) $false % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | | CLOSE: (64) is inconsistent. % 14.27/2.67 | | | | | | % 14.27/2.67 | | | | | End of split % 14.27/2.67 | | | | | % 14.27/2.67 | | | | End of split % 14.27/2.67 | | | | % 14.27/2.67 | | | Case 2: % 14.27/2.67 | | | | % 14.27/2.67 | | | | (65) all_40_3 = 0 & apart_point_and_line(all_15_5, all_15_2) = 0 % 14.27/2.67 | | | | % 14.27/2.67 | | | | ALPHA: (65) implies: % 14.27/2.67 | | | | (66) apart_point_and_line(all_15_5, all_15_2) = 0 % 14.27/2.67 | | | | % 14.27/2.67 | | | | GROUND_INST: instantiating (con1) with all_15_5, all_15_4, all_15_5, % 14.27/2.67 | | | | all_15_2, simplifying with (7), (8), (15), (66) gives: % 14.27/2.67 | | | | (67) ? [v0: int] : ? [v1: int] : ? [v2: int] : ((v2 = 0 & v1 = 0 & % 14.27/2.67 | | | | distinct_points(all_15_5, all_15_4) = 0 & % 14.27/2.67 | | | | distinct_points(all_15_5, all_15_5) = 0) | ( ~ (v0 = 0) & % 14.27/2.67 | | | | distinct_points(all_15_5, all_15_4) = v0)) % 14.27/2.67 | | | | % 14.27/2.67 | | | | DELTA: instantiating (67) with fresh symbols all_99_0, all_99_1, % 14.27/2.67 | | | | all_99_2 gives: % 14.27/2.67 | | | | (68) (all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_5, % 14.27/2.67 | | | | all_15_4) = 0 & distinct_points(all_15_5, all_15_5) = 0) | ( % 14.27/2.67 | | | | ~ (all_99_2 = 0) & distinct_points(all_15_5, all_15_4) = % 14.27/2.67 | | | | all_99_2) % 14.27/2.67 | | | | % 14.27/2.67 | | | | BETA: splitting (68) gives: % 14.27/2.67 | | | | % 14.27/2.67 | | | | Case 1: % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | (69) all_99_0 = 0 & all_99_1 = 0 & distinct_points(all_15_5, % 14.27/2.67 | | | | | all_15_4) = 0 & distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | ALPHA: (69) implies: % 14.27/2.67 | | | | | (70) distinct_points(all_15_5, all_15_5) = 0 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | GROUND_INST: instantiating (apart1) with all_15_5, simplifying with % 14.27/2.67 | | | | | (7), (70) gives: % 14.27/2.67 | | | | | (71) $false % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | CLOSE: (71) is inconsistent. % 14.27/2.67 | | | | | % 14.27/2.67 | | | | Case 2: % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | (72) ~ (all_99_2 = 0) & distinct_points(all_15_5, all_15_4) = % 14.27/2.67 | | | | | all_99_2 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | ALPHA: (72) implies: % 14.27/2.67 | | | | | (73) ~ (all_99_2 = 0) % 14.27/2.67 | | | | | (74) distinct_points(all_15_5, all_15_4) = all_99_2 % 14.27/2.67 | | | | | % 14.27/2.67 | | | | | GROUND_INST: instantiating (4) with 0, all_99_2, all_15_4, all_15_5, % 14.27/2.67 | | | | | simplifying with (12), (74) gives: % 14.27/2.68 | | | | | (75) all_99_2 = 0 % 14.27/2.68 | | | | | % 14.27/2.68 | | | | | REDUCE: (73), (75) imply: % 14.27/2.68 | | | | | (76) $false % 14.27/2.68 | | | | | % 14.27/2.68 | | | | | CLOSE: (76) is inconsistent. % 14.27/2.68 | | | | | % 14.27/2.68 | | | | End of split % 14.27/2.68 | | | | % 14.27/2.68 | | | End of split % 14.27/2.68 | | | % 14.27/2.68 | | End of split % 14.27/2.68 | | % 14.27/2.68 | Case 2: % 14.27/2.68 | | % 14.27/2.68 | | (77) all_15_0 = 0 % 14.27/2.68 | | % 14.27/2.68 | | REDUCE: (6), (77) imply: % 14.27/2.68 | | (78) $false % 14.27/2.68 | | % 14.27/2.68 | | CLOSE: (78) is inconsistent. % 14.27/2.68 | | % 14.27/2.68 | End of split % 14.27/2.68 | % 14.27/2.68 End of proof % 14.27/2.68 % SZS output end Proof for theBenchmark % 14.27/2.68 % 14.27/2.68 2043ms %------------------------------------------------------------------------------