%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : CSR015+1 : TPTP v8.1.2. Bugfixed v3.1.0. % Transfm : none % Format : tptp % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % Computer : n008.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 21:36:24 EDT 2023 % Result : Theorem 11.18s 2.29s % Output : Proof 14.33s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.13 % Problem : CSR015+1 : TPTP v8.1.2. Bugfixed v3.1.0. % 0.00/0.13 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.13/0.34 % Computer : n008.cluster.edu % 0.13/0.34 % Model : x86_64 x86_64 % 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.34 % Memory : 8042.1875MB % 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.34 % CPULimit : 300 % 0.13/0.34 % WCLimit : 300 % 0.13/0.34 % DateTime : Mon Aug 28 07:13:02 EDT 2023 % 0.13/0.34 % CPUTime : % 0.20/0.61 ________ _____ % 0.20/0.61 ___ __ \_________(_)________________________________ % 0.20/0.61 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.20/0.61 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.20/0.61 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.20/0.61 % 0.20/0.61 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.20/0.61 (2023-06-19) % 0.20/0.61 % 0.20/0.61 (c) Philipp Rümmer, 2009-2023 % 0.20/0.61 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.20/0.61 Amanda Stjerna. % 0.20/0.61 Free software under BSD-3-Clause. % 0.20/0.61 % 0.20/0.61 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.20/0.61 % 0.20/0.62 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ... % 0.20/0.63 Running up to 7 provers in parallel. % 0.20/0.65 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.20/0.65 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.20/0.65 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.20/0.65 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.20/0.65 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.20/0.65 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 0.20/0.65 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 3.57/1.18 Prover 1: Preprocessing ... % 3.57/1.21 Prover 4: Preprocessing ... % 3.57/1.23 Prover 3: Preprocessing ... % 3.57/1.23 Prover 2: Preprocessing ... % 3.57/1.23 Prover 6: Preprocessing ... % 3.57/1.23 Prover 0: Preprocessing ... % 3.57/1.23 Prover 5: Preprocessing ... % 8.13/1.81 Prover 5: Proving ... % 8.54/1.87 Prover 1: Constructing countermodel ... % 8.54/1.92 Prover 3: Constructing countermodel ... % 8.54/1.92 Prover 6: Proving ... % 9.54/2.00 Prover 4: Constructing countermodel ... % 9.90/2.08 Prover 3: gave up % 9.90/2.09 Prover 1: gave up % 9.90/2.09 Prover 0: Proving ... % 9.90/2.09 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 9.90/2.10 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 9.90/2.12 Prover 6: gave up % 9.90/2.13 Prover 9: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allMinimal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1423531889 % 9.90/2.15 Prover 8: Preprocessing ... % 9.90/2.16 Prover 7: Preprocessing ... % 9.90/2.20 Prover 9: Preprocessing ... % 11.18/2.29 Prover 5: proved (1634ms) % 11.18/2.29 % 11.18/2.29 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 11.18/2.29 % 11.18/2.30 Prover 0: stopped % 11.18/2.30 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 11.80/2.32 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 11.80/2.33 Prover 2: Proving ... % 11.80/2.33 Prover 2: stopped % 11.80/2.35 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 11.80/2.35 Prover 11: Preprocessing ... % 11.80/2.37 Prover 10: Preprocessing ... % 11.80/2.39 Prover 8: Warning: ignoring some quantifiers % 12.58/2.43 Prover 8: Constructing countermodel ... % 12.58/2.44 Prover 13: Preprocessing ... % 12.58/2.48 Prover 4: Found proof (size 43) % 12.58/2.48 Prover 4: proved (1826ms) % 12.58/2.48 Prover 13: stopped % 12.58/2.48 Prover 8: stopped % 12.58/2.49 Prover 9: Constructing countermodel ... % 12.58/2.49 Prover 9: stopped % 13.12/2.52 Prover 7: Warning: ignoring some quantifiers % 13.12/2.55 Prover 7: Constructing countermodel ... % 13.12/2.56 Prover 7: stopped % 13.66/2.60 Prover 11: Constructing countermodel ... % 13.66/2.62 Prover 11: stopped % 13.66/2.63 Prover 10: Warning: ignoring some quantifiers % 13.66/2.64 Prover 10: Constructing countermodel ... % 13.66/2.65 Prover 10: stopped % 13.66/2.65 % 13.66/2.65 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 13.66/2.65 % 13.66/2.66 % SZS output start Proof for theBenchmark % 13.66/2.66 Assumptions after simplification: % 13.66/2.66 --------------------------------- % 13.66/2.66 % 13.66/2.66 (forwards_not_backwards) % 13.66/2.67 ~ (backwards = forwards) & $i(backwards) & $i(forwards) % 13.66/2.67 % 13.66/2.67 (happens_all_defn) % 14.22/2.71 $i(n2) & $i(pull) & $i(push) & $i(n1) & $i(n0) & ! [v0: $i] : ! [v1: $i] : % 14.22/2.71 (v1 = n2 | v1 = n1 | v1 = n0 | v0 = pull | ~ (happens(v0, v1) = 0) | ~ % 14.22/2.71 $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n2 | v1 = n1 | v1 = % 14.22/2.71 n0 | v0 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0)) & ! [v0: % 14.22/2.71 $i] : ! [v1: $i] : (v1 = n2 | v1 = n1 | v1 = n0 | ~ (happens(v0, v1) = 0) % 14.22/2.71 | ~ $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n2 | v1 = n1 | % 14.22/2.71 v0 = pull | v0 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0)) & % 14.22/2.71 ! [v0: $i] : ! [v1: $i] : (v1 = n2 | v1 = n1 | v0 = push | ~ (happens(v0, % 14.22/2.71 v1) = 0) | ~ $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n2 % 14.22/2.71 | v1 = n0 | v0 = pull | v0 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | % 14.22/2.71 ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n2 | v1 = n0 | v0 = pull | ~ % 14.22/2.71 (happens(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : % 14.22/2.71 (v1 = n2 | v0 = pull | v0 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | ~ % 14.22/2.71 $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n1 | v1 = n0 | v0 = pull | v0 = % 14.22/2.71 push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! % 14.22/2.71 [v1: $i] : (v1 = n1 | v0 = pull | v0 = push | ~ (happens(v0, v1) = 0) | ~ % 14.22/2.71 $i(v1) | ~ $i(v0)) & ! [v0: $i] : ! [v1: $i] : (v1 = n0 | v0 = pull | v0 % 14.22/2.71 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0)) & ! [v0: $i] : % 14.22/2.71 ! [v1: $i] : (v0 = pull | v0 = push | ~ (happens(v0, v1) = 0) | ~ $i(v1) | % 14.22/2.71 ~ $i(v0)) & ! [v0: int] : (v0 = 0 | ~ (happens(pull, n2) = v0)) & ! [v0: % 14.22/2.71 int] : (v0 = 0 | ~ (happens(pull, n1) = v0)) & ! [v0: int] : (v0 = 0 | ~ % 14.22/2.71 (happens(push, n2) = v0)) & ! [v0: int] : (v0 = 0 | ~ (happens(push, n0) = % 14.22/2.71 v0)) % 14.22/2.71 % 14.22/2.71 (initiates_all_defn) % 14.31/2.71 $i(spinning) & $i(backwards) & $i(pull) & $i(forwards) & $i(push) & ! [v0: % 14.31/2.71 $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : (v3 = 0 | ~ (initiates(v0, % 14.31/2.71 v1, v2) = v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v4: any] : ? % 14.31/2.71 [v5: any] : (happens(pull, v2) = v4 & happens(push, v2) = v5 & ( ~ (v5 = 0) % 14.31/2.71 | ~ (v1 = spinning) | ~ (v0 = pull)) & ( ~ (v1 = backwards) | ~ (v0 = % 14.31/2.71 pull) | v5 = 0) & ( ~ (v1 = forwards) | ~ (v0 = push) | v4 = 0))) & % 14.31/2.71 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~ (initiates(v0, v1, v2) = 0) | ~ % 14.31/2.71 $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: any] : ? [v4: any] : % 14.31/2.71 (happens(pull, v2) = v3 & happens(push, v2) = v4 & ((v4 = 0 & v1 = spinning % 14.31/2.71 & v0 = pull) | (v1 = backwards & v0 = pull & ~ (v4 = 0)) | (v1 = % 14.31/2.71 forwards & v0 = push & ~ (v3 = 0))))) % 14.31/2.71 % 14.31/2.71 (keep_not_holding) % 14.33/2.72 $i(n1) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: int] : (v3 = 0 | ~ % 14.33/2.72 (releasedAt(v0, v2) = v3) | ~ (plus(v1, n1) = v2) | ~ $i(v1) | ~ $i(v0) | % 14.33/2.72 ? [v4: any] : ? [v5: any] : ? [v6: $i] : ? [v7: int] : ? [v8: int] : % 14.33/2.72 ($i(v6) & ((v8 = 0 & v7 = 0 & initiates(v6, v0, v1) = 0 & happens(v6, v1) = % 14.33/2.72 0) | (holdsAt(v0, v2) = v5 & holdsAt(v0, v1) = v4 & ( ~ (v5 = 0) | v4 % 14.33/2.72 = 0))))) & ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ % 14.33/2.72 (holdsAt(v0, v1) = v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? [v4: any] % 14.33/2.72 : ? [v5: any] : ? [v6: $i] : ? [v7: int] : ? [v8: int] : ($i(v6) & ((v8 % 14.33/2.72 = 0 & v7 = 0 & initiates(v6, v0, v1) = 0 & happens(v6, v1) = 0) | % 14.33/2.72 (releasedAt(v0, v3) = v4 & plus(v1, n1) = v3 & holdsAt(v0, v3) = v5 & % 14.33/2.72 $i(v3) & ( ~ (v5 = 0) | v4 = 0))))) & ! [v0: $i] : ! [v1: $i] : ! % 14.33/2.72 [v2: $i] : ( ~ (plus(v1, n1) = v2) | ~ (holdsAt(v0, v2) = 0) | ~ $i(v1) | ~ % 14.33/2.72 $i(v0) | ? [v3: any] : ? [v4: any] : ? [v5: $i] : ? [v6: int] : ? [v7: % 14.33/2.72 int] : ($i(v5) & ((v7 = 0 & v6 = 0 & initiates(v5, v0, v1) = 0 & % 14.33/2.72 happens(v5, v1) = 0) | (releasedAt(v0, v2) = v4 & holdsAt(v0, v1) = v3 % 14.33/2.72 & (v4 = 0 | v3 = 0))))) % 14.33/2.72 % 14.33/2.72 (not_backwards_0) % 14.33/2.72 $i(backwards) & $i(n0) & ? [v0: int] : ( ~ (v0 = 0) & holdsAt(backwards, n0) % 14.33/2.72 = v0) % 14.33/2.72 % 14.33/2.72 (not_backwards_1) % 14.33/2.72 holdsAt(backwards, n1) = 0 & $i(backwards) & $i(n1) % 14.33/2.72 % 14.33/2.72 (not_releasedAt) % 14.33/2.72 ! [v0: $i] : ! [v1: $i] : ( ~ (releasedAt(v0, v1) = 0) | ~ $i(v1) | ~ % 14.33/2.72 $i(v0)) % 14.33/2.72 % 14.33/2.72 (not_splinning_0) % 14.33/2.72 $i(spinning) & $i(n0) & ? [v0: int] : ( ~ (v0 = 0) & holdsAt(spinning, n0) = % 14.33/2.72 v0) % 14.33/2.72 % 14.33/2.72 (plus0_1) % 14.33/2.72 plus(n0, n1) = n1 & $i(n1) & $i(n0) % 14.33/2.72 % 14.33/2.72 (spinning_not_backwards) % 14.33/2.72 ~ (spinning = backwards) & $i(spinning) & $i(backwards) % 14.33/2.72 % 14.33/2.72 (function-axioms) % 14.33/2.73 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! % 14.33/2.73 [v3: $i] : ! [v4: $i] : ! [v5: $i] : (v1 = v0 | ~ (antitrajectory(v5, v4, % 14.33/2.73 v3, v2) = v1) | ~ (antitrajectory(v5, v4, v3, v2) = v0)) & ! [v0: % 14.33/2.73 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] % 14.33/2.73 : ! [v4: $i] : ! [v5: $i] : (v1 = v0 | ~ (trajectory(v5, v4, v3, v2) = v1) % 14.33/2.73 | ~ (trajectory(v5, v4, v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! % 14.33/2.73 [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (v1 = v0 | % 14.33/2.73 ~ (releases(v4, v3, v2) = v1) | ~ (releases(v4, v3, v2) = v0)) & ! [v0: % 14.33/2.73 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] % 14.33/2.73 : ! [v4: $i] : (v1 = v0 | ~ (startedIn(v4, v3, v2) = v1) | ~ (startedIn(v4, % 14.33/2.73 v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] % 14.33/2.73 : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (v1 = v0 | ~ (initiates(v4, v3, % 14.33/2.73 v2) = v1) | ~ (initiates(v4, v3, v2) = v0)) & ! [v0: % 14.33/2.73 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] % 14.33/2.73 : ! [v4: $i] : (v1 = v0 | ~ (stoppedIn(v4, v3, v2) = v1) | ~ (stoppedIn(v4, % 14.33/2.73 v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] % 14.33/2.73 : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (v1 = v0 | ~ (terminates(v4, v3, % 14.33/2.73 v2) = v1) | ~ (terminates(v4, v3, v2) = v0)) & ! [v0: % 14.33/2.73 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] % 14.33/2.73 : (v1 = v0 | ~ (less_or_equal(v3, v2) = v1) | ~ (less_or_equal(v3, v2) = % 14.33/2.73 v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: % 14.33/2.73 $i] : ! [v3: $i] : (v1 = v0 | ~ (releasedAt(v3, v2) = v1) | ~ % 14.33/2.73 (releasedAt(v3, v2) = v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! % 14.33/2.73 [v3: $i] : (v1 = v0 | ~ (plus(v3, v2) = v1) | ~ (plus(v3, v2) = v0)) & ! % 14.33/2.73 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 14.33/2.73 $i] : (v1 = v0 | ~ (holdsAt(v3, v2) = v1) | ~ (holdsAt(v3, v2) = v0)) & ! % 14.33/2.73 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 14.33/2.73 $i] : (v1 = v0 | ~ (happens(v3, v2) = v1) | ~ (happens(v3, v2) = v0)) & ! % 14.33/2.73 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 14.33/2.73 $i] : (v1 = v0 | ~ (less(v3, v2) = v1) | ~ (less(v3, v2) = v0)) % 14.33/2.73 % 14.33/2.73 Further assumptions not needed in the proof: % 14.33/2.73 -------------------------------------------- % 14.33/2.73 antitrajectory, change_holding, forwards_not_spinning, happens_holds, % 14.33/2.73 happens_not_released, happens_releases, happens_terminates_not_holds, % 14.33/2.73 keep_holding, keep_not_released, keep_released, less0, less1, less2, less3, % 14.33/2.73 less4, less5, less6, less7, less8, less9, less_or_equal, less_property, % 14.33/2.73 not_forwards_0, plus0_0, plus0_2, plus0_3, plus1_1, plus1_2, plus1_3, plus2_2, % 14.33/2.73 plus2_3, plus3_3, push_not_pull, releases_all_defn, startedin_defn, % 14.33/2.73 stoppedin_defn, symmetry_of_plus, terminates_all_defn % 14.33/2.73 % 14.33/2.73 Those formulas are unsatisfiable: % 14.33/2.73 --------------------------------- % 14.33/2.73 % 14.33/2.73 Begin of proof % 14.33/2.73 | % 14.33/2.73 | ALPHA: (keep_not_holding) implies: % 14.33/2.73 | (1) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~ (plus(v1, n1) = v2) | ~ % 14.33/2.73 | (holdsAt(v0, v2) = 0) | ~ $i(v1) | ~ $i(v0) | ? [v3: any] : ? % 14.33/2.73 | [v4: any] : ? [v5: $i] : ? [v6: int] : ? [v7: int] : ($i(v5) & % 14.33/2.73 | ((v7 = 0 & v6 = 0 & initiates(v5, v0, v1) = 0 & happens(v5, v1) = % 14.33/2.73 | 0) | (releasedAt(v0, v2) = v4 & holdsAt(v0, v1) = v3 & (v4 = 0 % 14.33/2.73 | | v3 = 0))))) % 14.33/2.73 | % 14.33/2.73 | ALPHA: (initiates_all_defn) implies: % 14.33/2.73 | (2) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~ (initiates(v0, v1, v2) = % 14.33/2.73 | 0) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: any] : ? [v4: % 14.33/2.73 | any] : (happens(pull, v2) = v3 & happens(push, v2) = v4 & ((v4 = 0 % 14.33/2.73 | & v1 = spinning & v0 = pull) | (v1 = backwards & v0 = pull & ~ % 14.33/2.73 | (v4 = 0)) | (v1 = forwards & v0 = push & ~ (v3 = 0))))) % 14.33/2.73 | % 14.33/2.73 | ALPHA: (happens_all_defn) implies: % 14.33/2.73 | (3) ! [v0: int] : (v0 = 0 | ~ (happens(push, n0) = v0)) % 14.33/2.73 | % 14.33/2.73 | ALPHA: (forwards_not_backwards) implies: % 14.33/2.73 | (4) ~ (backwards = forwards) % 14.33/2.73 | % 14.33/2.73 | ALPHA: (spinning_not_backwards) implies: % 14.33/2.73 | (5) ~ (spinning = backwards) % 14.33/2.73 | % 14.33/2.73 | ALPHA: (plus0_1) implies: % 14.33/2.73 | (6) plus(n0, n1) = n1 % 14.33/2.73 | % 14.33/2.73 | ALPHA: (not_backwards_0) implies: % 14.33/2.73 | (7) ? [v0: int] : ( ~ (v0 = 0) & holdsAt(backwards, n0) = v0) % 14.33/2.74 | % 14.33/2.74 | ALPHA: (not_splinning_0) implies: % 14.33/2.74 | (8) $i(n0) % 14.33/2.74 | % 14.33/2.74 | ALPHA: (not_backwards_1) implies: % 14.33/2.74 | (9) $i(n1) % 14.33/2.74 | (10) $i(backwards) % 14.33/2.74 | (11) holdsAt(backwards, n1) = 0 % 14.33/2.74 | % 14.33/2.74 | ALPHA: (function-axioms) implies: % 14.33/2.74 | (12) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] % 14.33/2.74 | : ! [v3: $i] : (v1 = v0 | ~ (holdsAt(v3, v2) = v1) | ~ (holdsAt(v3, % 14.33/2.74 | v2) = v0)) % 14.33/2.74 | % 14.33/2.74 | DELTA: instantiating (7) with fresh symbol all_38_0 gives: % 14.33/2.74 | (13) ~ (all_38_0 = 0) & holdsAt(backwards, n0) = all_38_0 % 14.33/2.74 | % 14.33/2.74 | ALPHA: (13) implies: % 14.33/2.74 | (14) ~ (all_38_0 = 0) % 14.33/2.74 | (15) holdsAt(backwards, n0) = all_38_0 % 14.33/2.74 | % 14.33/2.74 | GROUND_INST: instantiating (1) with backwards, n0, n1, simplifying with (6), % 14.33/2.74 | (8), (10), (11) gives: % 14.33/2.74 | (16) ? [v0: any] : ? [v1: any] : ? [v2: $i] : ? [v3: int] : ? [v4: % 14.33/2.74 | int] : ($i(v2) & ((v4 = 0 & v3 = 0 & initiates(v2, backwards, n0) = % 14.33/2.74 | 0 & happens(v2, n0) = 0) | (releasedAt(backwards, n1) = v1 & % 14.33/2.74 | holdsAt(backwards, n0) = v0 & (v1 = 0 | v0 = 0)))) % 14.33/2.74 | % 14.33/2.74 | DELTA: instantiating (16) with fresh symbols all_46_0, all_46_1, all_46_2, % 14.33/2.74 | all_46_3, all_46_4 gives: % 14.33/2.74 | (17) $i(all_46_2) & ((all_46_0 = 0 & all_46_1 = 0 & initiates(all_46_2, % 14.33/2.74 | backwards, n0) = 0 & happens(all_46_2, n0) = 0) | % 14.33/2.74 | (releasedAt(backwards, n1) = all_46_3 & holdsAt(backwards, n0) = % 14.33/2.74 | all_46_4 & (all_46_3 = 0 | all_46_4 = 0))) % 14.33/2.74 | % 14.33/2.74 | ALPHA: (17) implies: % 14.33/2.74 | (18) $i(all_46_2) % 14.33/2.74 | (19) (all_46_0 = 0 & all_46_1 = 0 & initiates(all_46_2, backwards, n0) = 0 % 14.33/2.74 | & happens(all_46_2, n0) = 0) | (releasedAt(backwards, n1) = all_46_3 % 14.33/2.74 | & holdsAt(backwards, n0) = all_46_4 & (all_46_3 = 0 | all_46_4 = 0)) % 14.33/2.74 | % 14.33/2.74 | BETA: splitting (19) gives: % 14.33/2.74 | % 14.33/2.74 | Case 1: % 14.33/2.74 | | % 14.33/2.74 | | (20) all_46_0 = 0 & all_46_1 = 0 & initiates(all_46_2, backwards, n0) = 0 % 14.33/2.74 | | & happens(all_46_2, n0) = 0 % 14.33/2.74 | | % 14.33/2.74 | | ALPHA: (20) implies: % 14.33/2.74 | | (21) initiates(all_46_2, backwards, n0) = 0 % 14.33/2.74 | | % 14.33/2.74 | | GROUND_INST: instantiating (2) with all_46_2, backwards, n0, simplifying % 14.33/2.74 | | with (8), (10), (18), (21) gives: % 14.33/2.74 | | (22) ? [v0: any] : ? [v1: any] : (happens(pull, n0) = v0 & % 14.33/2.74 | | happens(push, n0) = v1 & ((v1 = 0 & all_46_2 = pull & spinning = % 14.33/2.74 | | backwards) | (all_46_2 = pull & ~ (v1 = 0)) | (all_46_2 = % 14.33/2.74 | | push & backwards = forwards & ~ (v0 = 0)))) % 14.33/2.74 | | % 14.33/2.75 | | DELTA: instantiating (22) with fresh symbols all_80_0, all_80_1 gives: % 14.33/2.75 | | (23) happens(pull, n0) = all_80_1 & happens(push, n0) = all_80_0 & % 14.33/2.75 | | ((all_80_0 = 0 & all_46_2 = pull & spinning = backwards) | (all_46_2 % 14.33/2.75 | | = pull & ~ (all_80_0 = 0)) | (all_46_2 = push & backwards = % 14.33/2.75 | | forwards & ~ (all_80_1 = 0))) % 14.33/2.75 | | % 14.33/2.75 | | ALPHA: (23) implies: % 14.33/2.75 | | (24) happens(push, n0) = all_80_0 % 14.33/2.75 | | (25) (all_80_0 = 0 & all_46_2 = pull & spinning = backwards) | (all_46_2 % 14.33/2.75 | | = pull & ~ (all_80_0 = 0)) | (all_46_2 = push & backwards = % 14.33/2.75 | | forwards & ~ (all_80_1 = 0)) % 14.33/2.75 | | % 14.33/2.75 | | BETA: splitting (25) gives: % 14.33/2.75 | | % 14.33/2.75 | | Case 1: % 14.33/2.75 | | | % 14.33/2.75 | | | (26) all_80_0 = 0 & all_46_2 = pull & spinning = backwards % 14.33/2.75 | | | % 14.33/2.75 | | | ALPHA: (26) implies: % 14.33/2.75 | | | (27) spinning = backwards % 14.33/2.75 | | | % 14.33/2.75 | | | REDUCE: (5), (27) imply: % 14.33/2.75 | | | (28) $false % 14.33/2.75 | | | % 14.33/2.75 | | | CLOSE: (28) is inconsistent. % 14.33/2.75 | | | % 14.33/2.75 | | Case 2: % 14.33/2.75 | | | % 14.33/2.75 | | | (29) (all_46_2 = pull & ~ (all_80_0 = 0)) | (all_46_2 = push & % 14.33/2.75 | | | backwards = forwards & ~ (all_80_1 = 0)) % 14.33/2.75 | | | % 14.33/2.75 | | | BETA: splitting (29) gives: % 14.33/2.75 | | | % 14.33/2.75 | | | Case 1: % 14.33/2.75 | | | | % 14.33/2.75 | | | | (30) all_46_2 = pull & ~ (all_80_0 = 0) % 14.33/2.75 | | | | % 14.33/2.75 | | | | ALPHA: (30) implies: % 14.33/2.75 | | | | (31) ~ (all_80_0 = 0) % 14.33/2.75 | | | | % 14.33/2.75 | | | | GROUND_INST: instantiating (3) with all_80_0, simplifying with (24) % 14.33/2.75 | | | | gives: % 14.33/2.75 | | | | (32) all_80_0 = 0 % 14.33/2.75 | | | | % 14.33/2.75 | | | | REDUCE: (31), (32) imply: % 14.33/2.75 | | | | (33) $false % 14.33/2.75 | | | | % 14.33/2.75 | | | | CLOSE: (33) is inconsistent. % 14.33/2.75 | | | | % 14.33/2.75 | | | Case 2: % 14.33/2.75 | | | | % 14.33/2.75 | | | | (34) all_46_2 = push & backwards = forwards & ~ (all_80_1 = 0) % 14.33/2.75 | | | | % 14.33/2.75 | | | | ALPHA: (34) implies: % 14.33/2.75 | | | | (35) backwards = forwards % 14.33/2.75 | | | | % 14.33/2.75 | | | | REDUCE: (4), (35) imply: % 14.33/2.75 | | | | (36) $false % 14.33/2.75 | | | | % 14.33/2.75 | | | | CLOSE: (36) is inconsistent. % 14.33/2.75 | | | | % 14.33/2.75 | | | End of split % 14.33/2.75 | | | % 14.33/2.75 | | End of split % 14.33/2.75 | | % 14.33/2.75 | Case 2: % 14.33/2.75 | | % 14.33/2.75 | | (37) releasedAt(backwards, n1) = all_46_3 & holdsAt(backwards, n0) = % 14.33/2.75 | | all_46_4 & (all_46_3 = 0 | all_46_4 = 0) % 14.33/2.75 | | % 14.33/2.75 | | ALPHA: (37) implies: % 14.33/2.75 | | (38) holdsAt(backwards, n0) = all_46_4 % 14.33/2.75 | | (39) releasedAt(backwards, n1) = all_46_3 % 14.33/2.75 | | (40) all_46_3 = 0 | all_46_4 = 0 % 14.33/2.75 | | % 14.33/2.75 | | GROUND_INST: instantiating (12) with all_38_0, all_46_4, n0, backwards, % 14.33/2.75 | | simplifying with (15), (38) gives: % 14.33/2.75 | | (41) all_46_4 = all_38_0 % 14.33/2.75 | | % 14.33/2.75 | | BETA: splitting (40) gives: % 14.33/2.75 | | % 14.33/2.75 | | Case 1: % 14.33/2.75 | | | % 14.33/2.75 | | | (42) all_46_3 = 0 % 14.33/2.75 | | | % 14.33/2.75 | | | REDUCE: (39), (42) imply: % 14.33/2.75 | | | (43) releasedAt(backwards, n1) = 0 % 14.33/2.75 | | | % 14.33/2.75 | | | GROUND_INST: instantiating (not_releasedAt) with backwards, n1, % 14.33/2.75 | | | simplifying with (9), (10), (43) gives: % 14.33/2.75 | | | (44) $false % 14.33/2.75 | | | % 14.33/2.75 | | | CLOSE: (44) is inconsistent. % 14.33/2.75 | | | % 14.33/2.75 | | Case 2: % 14.33/2.75 | | | % 14.33/2.75 | | | (45) all_46_4 = 0 % 14.33/2.75 | | | % 14.33/2.75 | | | COMBINE_EQS: (41), (45) imply: % 14.33/2.75 | | | (46) all_38_0 = 0 % 14.33/2.75 | | | % 14.33/2.75 | | | REDUCE: (14), (46) imply: % 14.33/2.75 | | | (47) $false % 14.33/2.75 | | | % 14.33/2.75 | | | CLOSE: (47) is inconsistent. % 14.33/2.75 | | | % 14.33/2.75 | | End of split % 14.33/2.75 | | % 14.33/2.75 | End of split % 14.33/2.75 | % 14.33/2.75 End of proof % 14.33/2.75 % SZS output end Proof for theBenchmark % 14.33/2.75 % 14.33/2.75 2138ms %------------------------------------------------------------------------------