TSTP Solution File: CSR015+1 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------