TSTP Solution File: SWW803_1 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Princess---230619
% Problem : SWW803_1 : TPTP v8.1.2. Released v7.0.0.
% Transfm : none
% Format : tptp
% Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% Computer : n006.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 : Fri Sep 1 00:51:24 EDT 2023
% Result : Unsatisfiable 37.62s 5.92s
% Output : Proof 37.82s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13 % Problem : SWW803_1 : TPTP v8.1.2. Released v7.0.0.
% 0.00/0.14 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.14/0.35 % Computer : n006.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 : Sun Aug 27 22:50:36 EDT 2023
% 0.14/0.35 % CPUTime :
% 0.20/0.63 ________ _____
% 0.20/0.63 ___ __ \_________(_)________________________________
% 0.20/0.63 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/
% 0.20/0.63 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ )
% 0.20/0.63 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/
% 0.20/0.63
% 0.20/0.63 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.20/0.63 (2023-06-19)
% 0.20/0.63
% 0.20/0.63 (c) Philipp Rümmer, 2009-2023
% 0.20/0.63 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.20/0.63 Amanda Stjerna.
% 0.20/0.63 Free software under BSD-3-Clause.
% 0.20/0.63
% 0.20/0.63 For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.20/0.63
% 0.20/0.63 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ...
% 0.20/0.64 Running up to 7 provers in parallel.
% 0.20/0.66 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.20/0.66 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.20/0.66 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.20/0.66 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.20/0.66 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.20/0.66 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 0.20/0.66 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 14.37/2.69 Prover 1: Preprocessing ...
% 14.37/2.69 Prover 3: Preprocessing ...
% 14.37/2.72 Prover 2: Preprocessing ...
% 14.37/2.75 Prover 6: Preprocessing ...
% 14.37/2.75 Prover 4: Preprocessing ...
% 15.46/2.83 Prover 0: Preprocessing ...
% 15.46/2.86 Prover 5: Preprocessing ...
% 29.49/4.84 Prover 1: Warning: ignoring some quantifiers
% 30.68/4.91 Prover 3: Warning: ignoring some quantifiers
% 30.68/4.91 Prover 1: Constructing countermodel ...
% 30.68/4.93 Prover 3: Constructing countermodel ...
% 31.18/4.95 Prover 6: Proving ...
% 31.96/5.05 Prover 4: Warning: ignoring some quantifiers
% 32.23/5.09 Prover 4: Constructing countermodel ...
% 33.72/5.30 Prover 0: Proving ...
% 36.44/5.63 Prover 4: Found proof (size 21)
% 36.44/5.63 Prover 4: proved (4979ms)
% 36.49/5.64 Prover 3: stopped
% 36.49/5.64 Prover 0: stopped
% 36.49/5.65 Prover 1: stopped
% 36.49/5.65 Prover 6: stopped
% 36.82/5.75 Prover 2: Proving ...
% 36.82/5.75 Prover 2: stopped
% 37.62/5.92 Prover 5: Proving ...
% 37.62/5.92 Prover 5: stopped
% 37.62/5.92
% 37.62/5.92 % SZS status Unsatisfiable for /export/starexec/sandbox/benchmark/theBenchmark.p
% 37.62/5.92
% 37.62/5.93 % SZS output start Proof for theBenchmark
% 37.82/5.94 Assumptions after simplification:
% 37.82/5.94 ---------------------------------
% 37.82/5.94
% 37.82/5.94 (formula_1)
% 37.82/6.00 ~ (true_1 = false_1) & ~ (boolNot(true_1) = true_1) & ! [v0: int] : ! [v1:
% 37.82/6.00 int] : ! [v2: int] : ! [v3: int] : ! [v4: int] : ! [v5: int] : ! [v6:
% 37.82/6.00 int] : ! [v7: int] : (v4 = v2 | ~ (store2(v0, v1, v2, v5) = v6) | ~
% 37.82/6.00 (select2(v6, v3, v4) = v7) | select2(v0, v3, v4) = v7) & ! [v0: int] : !
% 37.82/6.00 [v1: int] : ! [v2: int] : ! [v3: int] : ! [v4: int] : ! [v5: int] : !
% 37.82/6.00 [v6: int] : ! [v7: int] : (v3 = v1 | ~ (store2(v0, v1, v2, v5) = v6) | ~
% 37.82/6.00 (select2(v6, v3, v4) = v7) | select2(v0, v3, v4) = v7) & ! [v0: int] : !
% 37.82/6.00 [v1: int] : ! [v2: int] : ! [v3: int] : ! [v4: int] : ! [v5: int] : (v2 =
% 37.82/6.00 v1 | ~ (store1(v0, v1, v3) = v4) | ~ (select1(v4, v2) = v5) | select1(v0,
% 37.82/6.00 v2) = v5) & ! [v0: int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 37.82/6.00 [v4: int] : ( ~ (store2(v0, v1, v2, v3) = v4) | select2(v4, v1, v2) = v3) & !
% 37.82/6.00 [v0: int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : (v3 = true_1 | ~
% 37.82/6.00 (x(v1, v2) = true_1) | ~ (x(v0, v2) = v3) | ? [v4: int] : ( ~ (v4 =
% 37.82/6.00 true_1) & x(v0, v1) = v4)) & ! [v0: int] : ! [v1: int] : ! [v2: int]
% 37.82/6.00 : ! [v3: int] : (v3 = true_1 | ~ (x(v0, v2) = v3) | ~ (x(v0, v1) = true_1)
% 37.82/6.00 | ? [v4: int] : ( ~ (v4 = true_1) & x(v1, v2) = v4)) & ! [v0: int] : !
% 37.82/6.00 [v1: int] : ! [v2: int] : ! [v3: int] : ( ~ (store1(v0, v1, v2) = v3) |
% 37.82/6.00 select1(v3, v1) = v2) & ! [v0: int] : ! [v1: int] : ! [v2: int] : (v2 =
% 37.82/6.00 true_1 | v1 = v0 | ~ (anyNeq(v0, v1) = v2)) & ! [v0: int] : ! [v1: int] :
% 37.82/6.00 ! [v2: int] : (v2 = true_1 | v1 = true_1 | v0 = true_1 | ~ (boolIff(v0, v1)
% 37.82/6.00 = v2)) & ! [v0: int] : ! [v1: int] : ! [v2: int] : (v2 = true_1 | v0 =
% 37.82/6.00 true_1 | ~ (boolImplies(v0, v1) = v2)) & ! [v0: int] : ! [v1: int] : !
% 37.82/6.00 [v2: int] : (v2 = true_1 | ~ ($lesseq(1, $difference(v0, v1))) | ~
% 37.82/6.00 (intGreater(v0, v1) = v2)) & ! [v0: int] : ! [v1: int] : ! [v2: int] :
% 37.82/6.00 (v2 = true_1 | ~ ($lesseq(v1, v0)) | ~ (intAtLeast(v0, v1) = v2)) & ! [v0:
% 37.82/6.00 int] : ! [v1: int] : ! [v2: int] : (v2 = true_1 | ~ ($lesseq(1,
% 37.82/6.00 $difference(v1, v0))) | ~ (intLess(v0, v1) = v2)) & ! [v0: int] : !
% 37.82/6.00 [v1: int] : ! [v2: int] : (v2 = true_1 | ~ ($lesseq(v0, v1)) | ~
% 37.82/6.00 (intAtMost(v0, v1) = v2)) & ! [v0: int] : ! [v1: int] : ! [v2: int] : ( ~
% 37.82/6.00 (x(v1, v2) = true_1) | ~ (x(v0, v1) = true_1) | x(v0, v2) = true_1) & !
% 37.82/6.00 [v0: int] : ! [v1: int] : (v1 = v0 | ~ (x(v1, v0) = true_1) | ? [v2: int] :
% 37.82/6.00 ( ~ (v2 = true_1) & x(v0, v1) = v2)) & ! [v0: int] : ! [v1: int] : (v1 =
% 37.82/6.00 v0 | ~ (x(v0, v1) = true_1) | ? [v2: int] : ( ~ (v2 = true_1) & x(v1, v0)
% 37.82/6.00 = v2)) & ! [v0: int] : ! [v1: int] : (v1 = v0 | ~ (anyEqual(v0, v1) =
% 37.82/6.00 true_1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 | v0 = true_1 | ~
% 37.82/6.00 (boolNot(v0) = v1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 | v0 =
% 37.82/6.00 true_1 | ~ (boolOr(v0, v1) = true_1)) & ! [v0: int] : ! [v1: int] : (v1 =
% 37.82/6.00 true_1 | ~ (x(v0, v0) = v1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 |
% 37.82/6.00 ~ (anyEqual(v0, v0) = v1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 |
% 37.82/6.00 ~ (boolOr(v0, true_1) = v1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 |
% 37.82/6.00 ~ (boolOr(true_1, v0) = v1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 |
% 37.82/6.00 ~ (boolAnd(v0, v1) = true_1)) & ! [v0: int] : ! [v1: int] : (v1 = true_1 |
% 37.82/6.00 ~ (boolImplies(v0, true_1) = v1)) & ! [v0: int] : ! [v1: int] : (v0 =
% 37.82/6.00 true_1 | ~ (boolAnd(v0, v1) = true_1)) & ! [v0: int] : ! [v1: int] : ( ~
% 37.82/6.00 ($lesseq(1, $difference(v0, v1))) | ~ (intAtMost(v0, v1) = true_1)) & !
% 37.82/6.00 [v0: int] : ! [v1: int] : ( ~ ($lesseq(v1, v0)) | ~ (intLess(v0, v1) =
% 37.82/6.00 true_1)) & ! [v0: int] : ! [v1: int] : ( ~ ($lesseq(1, $difference(v1,
% 37.82/6.00 v0))) | ~ (intAtLeast(v0, v1) = true_1)) & ! [v0: int] : ! [v1:
% 37.82/6.00 int] : ( ~ ($lesseq(v0, v1)) | ~ (intGreater(v0, v1) = true_1)) & ! [v0:
% 37.82/6.00 int] : (v0 = true_1 | ~ (boolAnd(true_1, true_1) = v0)) & ! [v0: int] :
% 37.82/6.00 (v0 = true_1 | ~ (boolImplies(true_1, v0) = true_1)) & ! [v0: int] : (v0 =
% 37.82/6.00 true_1 | ~ (boolIff(v0, true_1) = true_1)) & ! [v0: int] : (v0 = true_1 |
% 37.82/6.00 ~ (boolIff(true_1, v0) = true_1)) & ! [v0: int] : (v0 = true_1 | ~
% 37.82/6.00 (boolIff(true_1, true_1) = v0)) & ! [v0: int] : ~ (anyNeq(v0, v0) =
% 37.82/6.00 true_1)
% 37.82/6.00
% 37.82/6.00 (formula_3)
% 37.82/6.01 ? [v0: int] : ? [v1: int] : ? [v2: int] : (nullObject = BeingConstructed &
% 37.82/6.01 IntStack_get_Top(Heap, this) = v2 & AsPureObject(this) = this &
% 37.82/6.01 IsNotNull(this, IntStack) = true_1 & IsHeap(Heap) = true_1 & select2(Heap,
% 37.82/6.01 this, ownerFrame) = v1 & select2(Heap, this, allocated) = true_1 &
% 37.82/6.01 select2(Heap, this, ownerRef) = v0 & ! [v3: int] : ! [v4: int] : ( ~
% 37.82/6.01 (typeof(v3) = v4) | ? [v5: int] : ? [v6: int] : ? [v7: int] : ? [v8:
% 37.82/6.01 int] : ? [v9: int] : (select2(Heap, v3, ownerFrame) = v7 &
% 37.82/6.01 select2(Heap, v3, inv) = v8 & select2(Heap, v3, allocated) = v5 &
% 37.82/6.01 select2(Heap, v3, localinv) = v9 & select2(Heap, v3, ownerRef) = v6 & (
% 37.82/6.01 ~ (v7 = v1) | ~ (v6 = v0) | ~ (v5 = true_1) | v3 = BeingConstructed
% 37.82/6.01 | (v9 = v4 & v8 = v4)))) & ! [v3: int] : ! [v4: int] : ( ~
% 37.82/6.01 (select2(Heap, v3, ownerFrame) = v4) | ? [v5: int] : ? [v6: int] : ?
% 37.82/6.01 [v7: int] : ? [v8: int] : ? [v9: int] : (typeof(v3) = v5 & select2(Heap,
% 37.82/6.01 v3, inv) = v8 & select2(Heap, v3, allocated) = v6 & select2(Heap, v3,
% 37.82/6.01 localinv) = v9 & select2(Heap, v3, ownerRef) = v7 & ( ~ (v7 = v0) | ~
% 37.82/6.01 (v6 = true_1) | ~ (v4 = v1) | v3 = BeingConstructed | (v9 = v5 & v8 =
% 37.82/6.01 v5)))) & ! [v3: int] : ! [v4: int] : ( ~ (select2(Heap, v3, inv) =
% 37.82/6.01 v4) | ? [v5: int] : ? [v6: int] : ? [v7: int] : ? [v8: int] : ?
% 37.82/6.01 [v9: int] : (typeof(v3) = v5 & select2(Heap, v3, ownerFrame) = v8 &
% 37.82/6.02 select2(Heap, v3, allocated) = v6 & select2(Heap, v3, localinv) = v9 &
% 37.82/6.02 select2(Heap, v3, ownerRef) = v7 & ( ~ (v8 = v1) | ~ (v7 = v0) | ~ (v6
% 37.82/6.02 = true_1) | v3 = BeingConstructed | (v9 = v4 & v5 = v4)))) & ! [v3:
% 37.82/6.02 int] : ! [v4: int] : ( ~ (select2(Heap, v3, allocated) = v4) | ? [v5:
% 37.82/6.02 int] : ? [v6: int] : ? [v7: int] : ? [v8: int] : ? [v9: int] :
% 37.82/6.02 (typeof(v3) = v5 & select2(Heap, v3, ownerFrame) = v7 & select2(Heap, v3,
% 37.82/6.02 inv) = v8 & select2(Heap, v3, localinv) = v9 & select2(Heap, v3,
% 37.82/6.02 ownerRef) = v6 & ( ~ (v7 = v1) | ~ (v6 = v0) | ~ (v4 = true_1) | v3
% 37.82/6.02 = BeingConstructed | (v9 = v5 & v8 = v5)))) & ! [v3: int] : ! [v4:
% 37.82/6.02 int] : ( ~ (select2(Heap, v3, localinv) = v4) | ? [v5: int] : ? [v6:
% 37.82/6.02 int] : ? [v7: int] : ? [v8: int] : ? [v9: int] : (typeof(v3) = v5 &
% 37.82/6.02 select2(Heap, v3, ownerFrame) = v8 & select2(Heap, v3, inv) = v9 &
% 37.82/6.02 select2(Heap, v3, allocated) = v6 & select2(Heap, v3, ownerRef) = v7 & (
% 37.82/6.02 ~ (v8 = v1) | ~ (v7 = v0) | ~ (v6 = true_1) | v3 = BeingConstructed
% 37.82/6.02 | (v9 = v4 & v5 = v4)))) & ! [v3: int] : ! [v4: int] : ( ~
% 37.82/6.02 (select2(Heap, v3, ownerRef) = v4) | ? [v5: int] : ? [v6: int] : ? [v7:
% 37.82/6.02 int] : ? [v8: int] : ? [v9: int] : (typeof(v3) = v5 & select2(Heap,
% 37.82/6.02 v3, ownerFrame) = v7 & select2(Heap, v3, inv) = v8 & select2(Heap, v3,
% 37.82/6.02 allocated) = v6 & select2(Heap, v3, localinv) = v9 & ( ~ (v7 = v1) |
% 37.82/6.02 ~ (v6 = true_1) | ~ (v4 = v0) | v3 = BeingConstructed | (v9 = v5 & v8
% 37.82/6.02 = v5)))) & ((v2 = 0 & result_0 = true_1) | (result_0 = false_1 & ~
% 37.82/6.02 (v2 = 0))) & ((v2 = 0 & ~ (result_0 = true_1)) | (result_0 = true_1 &
% 37.82/6.02 ~ (v2 = 0))))
% 37.82/6.02
% 37.82/6.02 Further assumptions not needed in the proof:
% 37.82/6.02 --------------------------------------------
% 37.82/6.02 formula_2
% 37.82/6.02
% 37.82/6.02 Those formulas are unsatisfiable:
% 37.82/6.02 ---------------------------------
% 37.82/6.02
% 37.82/6.02 Begin of proof
% 37.82/6.02 |
% 37.82/6.02 | ALPHA: (formula_1) implies:
% 37.82/6.02 | (1) ~ (true_1 = false_1)
% 37.82/6.02 |
% 37.82/6.02 | DELTA: instantiating (formula_3) with fresh symbols all_5_0, all_5_1, all_5_2
% 37.82/6.02 | gives:
% 37.82/6.03 | (2) nullObject = BeingConstructed & IntStack_get_Top(Heap, this) = all_5_0
% 37.82/6.03 | & AsPureObject(this) = this & IsNotNull(this, IntStack) = true_1 &
% 37.82/6.03 | IsHeap(Heap) = true_1 & select2(Heap, this, ownerFrame) = all_5_1 &
% 37.82/6.03 | select2(Heap, this, allocated) = true_1 & select2(Heap, this, ownerRef)
% 37.82/6.03 | = all_5_2 & ! [v0: int] : ! [v1: int] : ( ~ (typeof(v0) = v1) | ?
% 37.82/6.03 | [v2: int] : ? [v3: int] : ? [v4: int] : ? [v5: int] : ? [v6: int]
% 37.82/6.03 | : (select2(Heap, v0, ownerFrame) = v4 & select2(Heap, v0, inv) = v5 &
% 37.82/6.03 | select2(Heap, v0, allocated) = v2 & select2(Heap, v0, localinv) =
% 37.82/6.03 | v6 & select2(Heap, v0, ownerRef) = v3 & ( ~ (v4 = all_5_1) | ~ (v3
% 37.82/6.03 | = all_5_2) | ~ (v2 = true_1) | v0 = BeingConstructed | (v6 =
% 37.82/6.03 | v1 & v5 = v1)))) & ! [v0: int] : ! [v1: int] : ( ~
% 37.82/6.03 | (select2(Heap, v0, ownerFrame) = v1) | ? [v2: int] : ? [v3: int] :
% 37.82/6.03 | ? [v4: int] : ? [v5: int] : ? [v6: int] : (typeof(v0) = v2 &
% 37.82/6.03 | select2(Heap, v0, inv) = v5 & select2(Heap, v0, allocated) = v3 &
% 37.82/6.03 | select2(Heap, v0, localinv) = v6 & select2(Heap, v0, ownerRef) = v4
% 37.82/6.03 | & ( ~ (v4 = all_5_2) | ~ (v3 = true_1) | ~ (v1 = all_5_1) | v0 =
% 37.82/6.03 | BeingConstructed | (v6 = v2 & v5 = v2)))) & ! [v0: int] : !
% 37.82/6.03 | [v1: int] : ( ~ (select2(Heap, v0, inv) = v1) | ? [v2: int] : ? [v3:
% 37.82/6.03 | int] : ? [v4: int] : ? [v5: int] : ? [v6: int] : (typeof(v0) =
% 37.82/6.03 | v2 & select2(Heap, v0, ownerFrame) = v5 & select2(Heap, v0,
% 37.82/6.03 | allocated) = v3 & select2(Heap, v0, localinv) = v6 &
% 37.82/6.03 | select2(Heap, v0, ownerRef) = v4 & ( ~ (v5 = all_5_1) | ~ (v4 =
% 37.82/6.03 | all_5_2) | ~ (v3 = true_1) | v0 = BeingConstructed | (v6 = v1
% 37.82/6.03 | & v2 = v1)))) & ! [v0: int] : ! [v1: int] : ( ~
% 37.82/6.03 | (select2(Heap, v0, allocated) = v1) | ? [v2: int] : ? [v3: int] :
% 37.82/6.03 | ? [v4: int] : ? [v5: int] : ? [v6: int] : (typeof(v0) = v2 &
% 37.82/6.03 | select2(Heap, v0, ownerFrame) = v4 & select2(Heap, v0, inv) = v5 &
% 37.82/6.03 | select2(Heap, v0, localinv) = v6 & select2(Heap, v0, ownerRef) = v3
% 37.82/6.03 | & ( ~ (v4 = all_5_1) | ~ (v3 = all_5_2) | ~ (v1 = true_1) | v0 =
% 37.82/6.03 | BeingConstructed | (v6 = v2 & v5 = v2)))) & ! [v0: int] : !
% 37.82/6.03 | [v1: int] : ( ~ (select2(Heap, v0, localinv) = v1) | ? [v2: int] : ?
% 37.82/6.03 | [v3: int] : ? [v4: int] : ? [v5: int] : ? [v6: int] : (typeof(v0)
% 37.82/6.03 | = v2 & select2(Heap, v0, ownerFrame) = v5 & select2(Heap, v0, inv)
% 37.82/6.03 | = v6 & select2(Heap, v0, allocated) = v3 & select2(Heap, v0,
% 37.82/6.03 | ownerRef) = v4 & ( ~ (v5 = all_5_1) | ~ (v4 = all_5_2) | ~ (v3
% 37.82/6.03 | = true_1) | v0 = BeingConstructed | (v6 = v1 & v2 = v1)))) & !
% 37.82/6.03 | [v0: int] : ! [v1: int] : ( ~ (select2(Heap, v0, ownerRef) = v1) | ?
% 37.82/6.03 | [v2: int] : ? [v3: int] : ? [v4: int] : ? [v5: int] : ? [v6: int]
% 37.82/6.03 | : (typeof(v0) = v2 & select2(Heap, v0, ownerFrame) = v4 &
% 37.82/6.03 | select2(Heap, v0, inv) = v5 & select2(Heap, v0, allocated) = v3 &
% 37.82/6.03 | select2(Heap, v0, localinv) = v6 & ( ~ (v4 = all_5_1) | ~ (v3 =
% 37.82/6.03 | true_1) | ~ (v1 = all_5_2) | v0 = BeingConstructed | (v6 = v2
% 37.82/6.03 | & v5 = v2)))) & ((all_5_0 = 0 & result_0 = true_1) | (result_0
% 37.82/6.03 | = false_1 & ~ (all_5_0 = 0))) & ((all_5_0 = 0 & ~ (result_0 =
% 37.82/6.03 | true_1)) | (result_0 = true_1 & ~ (all_5_0 = 0)))
% 37.82/6.03 |
% 37.82/6.03 | ALPHA: (2) implies:
% 37.82/6.03 | (3) (all_5_0 = 0 & ~ (result_0 = true_1)) | (result_0 = true_1 & ~
% 37.82/6.03 | (all_5_0 = 0))
% 37.82/6.03 | (4) (all_5_0 = 0 & result_0 = true_1) | (result_0 = false_1 & ~ (all_5_0 =
% 37.82/6.03 | 0))
% 37.82/6.03 |
% 37.82/6.03 | BETA: splitting (3) gives:
% 37.82/6.03 |
% 37.82/6.03 | Case 1:
% 37.82/6.03 | |
% 37.82/6.03 | | (5) all_5_0 = 0 & ~ (result_0 = true_1)
% 37.82/6.03 | |
% 37.82/6.03 | | ALPHA: (5) implies:
% 37.82/6.03 | | (6) all_5_0 = 0
% 37.82/6.03 | | (7) ~ (result_0 = true_1)
% 37.82/6.03 | |
% 37.82/6.03 | | BETA: splitting (4) gives:
% 37.82/6.03 | |
% 37.82/6.03 | | Case 1:
% 37.82/6.03 | | |
% 37.82/6.03 | | | (8) all_5_0 = 0 & result_0 = true_1
% 37.82/6.04 | | |
% 37.82/6.04 | | | ALPHA: (8) implies:
% 37.82/6.04 | | | (9) result_0 = true_1
% 37.82/6.04 | | |
% 37.82/6.04 | | | REDUCE: (7), (9) imply:
% 37.82/6.04 | | | (10) $false
% 37.82/6.04 | | |
% 37.82/6.04 | | | CLOSE: (10) is inconsistent.
% 37.82/6.04 | | |
% 37.82/6.04 | | Case 2:
% 37.82/6.04 | | |
% 37.82/6.04 | | | (11) result_0 = false_1 & ~ (all_5_0 = 0)
% 37.82/6.04 | | |
% 37.82/6.04 | | | ALPHA: (11) implies:
% 37.82/6.04 | | | (12) ~ (all_5_0 = 0)
% 37.82/6.04 | | |
% 37.82/6.04 | | | REDUCE: (6), (12) imply:
% 37.82/6.04 | | | (13) $false
% 37.82/6.04 | | |
% 37.82/6.04 | | | CLOSE: (13) is inconsistent.
% 37.82/6.04 | | |
% 37.82/6.04 | | End of split
% 37.82/6.04 | |
% 37.82/6.04 | Case 2:
% 37.82/6.04 | |
% 37.82/6.04 | | (14) result_0 = true_1 & ~ (all_5_0 = 0)
% 37.82/6.04 | |
% 37.82/6.04 | | ALPHA: (14) implies:
% 37.82/6.04 | | (15) result_0 = true_1
% 37.82/6.04 | | (16) ~ (all_5_0 = 0)
% 37.82/6.04 | |
% 37.82/6.04 | | BETA: splitting (4) gives:
% 37.82/6.04 | |
% 37.82/6.04 | | Case 1:
% 37.82/6.04 | | |
% 37.82/6.04 | | | (17) all_5_0 = 0 & result_0 = true_1
% 37.82/6.04 | | |
% 37.82/6.04 | | | ALPHA: (17) implies:
% 37.82/6.04 | | | (18) all_5_0 = 0
% 37.82/6.04 | | |
% 37.82/6.04 | | | REDUCE: (16), (18) imply:
% 37.82/6.04 | | | (19) $false
% 37.82/6.04 | | |
% 37.82/6.04 | | | CLOSE: (19) is inconsistent.
% 37.82/6.04 | | |
% 37.82/6.04 | | Case 2:
% 37.82/6.04 | | |
% 37.82/6.04 | | | (20) result_0 = false_1 & ~ (all_5_0 = 0)
% 37.82/6.04 | | |
% 37.82/6.04 | | | ALPHA: (20) implies:
% 37.82/6.04 | | | (21) result_0 = false_1
% 37.82/6.04 | | |
% 37.82/6.04 | | | COMBINE_EQS: (15), (21) imply:
% 37.82/6.04 | | | (22) true_1 = false_1
% 37.82/6.04 | | |
% 37.82/6.04 | | | REDUCE: (1), (22) imply:
% 37.82/6.04 | | | (23) $false
% 37.82/6.04 | | |
% 37.82/6.04 | | | CLOSE: (23) is inconsistent.
% 37.82/6.04 | | |
% 37.82/6.04 | | End of split
% 37.82/6.04 | |
% 37.82/6.04 | End of split
% 37.82/6.04 |
% 37.82/6.04 End of proof
% 37.82/6.04 % SZS output end Proof for theBenchmark
% 37.82/6.04
% 37.82/6.04 5409ms
%------------------------------------------------------------------------------