TSTP Solution File: SWW576_2 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Princess---230619
% Problem : SWW576_2 : TPTP v8.1.2. Released v6.1.0.
% Transfm : none
% Format : tptp
% Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% Computer : n032.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:50:46 EDT 2023
% Result : Theorem 14.33s 2.84s
% Output : Proof 20.64s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.09/0.15 % Problem : SWW576_2 : TPTP v8.1.2. Released v6.1.0.
% 0.09/0.16 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.11/0.35 % Computer : n032.cluster.edu
% 0.11/0.35 % Model : x86_64 x86_64
% 0.11/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.35 % Memory : 8042.1875MB
% 0.11/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.11/0.35 % CPULimit : 300
% 0.11/0.35 % WCLimit : 300
% 0.11/0.35 % DateTime : Sun Aug 27 21:17:30 EDT 2023
% 0.11/0.35 % CPUTime :
% 0.15/0.62 ________ _____
% 0.15/0.62 ___ __ \_________(_)________________________________
% 0.15/0.62 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/
% 0.15/0.62 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ )
% 0.15/0.62 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/
% 0.15/0.62
% 0.15/0.62 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.15/0.62 (2023-06-19)
% 0.15/0.62
% 0.15/0.62 (c) Philipp Rümmer, 2009-2023
% 0.15/0.62 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.15/0.62 Amanda Stjerna.
% 0.15/0.62 Free software under BSD-3-Clause.
% 0.15/0.62
% 0.15/0.62 For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.15/0.62
% 0.15/0.62 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ...
% 0.15/0.64 Running up to 7 provers in parallel.
% 0.15/0.66 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.15/0.66 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.15/0.66 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.15/0.66 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.15/0.66 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.15/0.66 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 0.15/0.66 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 3.31/1.29 Prover 4: Preprocessing ...
% 3.31/1.29 Prover 0: Preprocessing ...
% 3.31/1.29 Prover 2: Preprocessing ...
% 3.31/1.29 Prover 1: Preprocessing ...
% 3.31/1.29 Prover 6: Preprocessing ...
% 3.31/1.29 Prover 5: Preprocessing ...
% 3.31/1.29 Prover 3: Preprocessing ...
% 7.41/1.91 Prover 1: Warning: ignoring some quantifiers
% 7.41/1.93 Prover 4: Warning: ignoring some quantifiers
% 8.16/1.98 Prover 3: Warning: ignoring some quantifiers
% 8.16/1.98 Prover 6: Proving ...
% 8.16/1.99 Prover 4: Constructing countermodel ...
% 8.57/2.01 Prover 1: Constructing countermodel ...
% 8.57/2.02 Prover 3: Constructing countermodel ...
% 8.57/2.04 Prover 5: Proving ...
% 8.57/2.05 Prover 0: Proving ...
% 9.65/2.17 Prover 2: Proving ...
% 14.33/2.84 Prover 3: proved (2181ms)
% 14.33/2.84
% 14.33/2.84 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 14.33/2.84
% 14.33/2.84 Prover 2: stopped
% 14.33/2.85 Prover 5: stopped
% 14.33/2.85 Prover 6: stopped
% 14.33/2.85 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125
% 14.33/2.85 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470
% 14.33/2.85 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089
% 14.33/2.85 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984
% 14.33/2.86 Prover 0: stopped
% 14.33/2.87 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443
% 15.04/2.94 Prover 8: Preprocessing ...
% 15.04/2.94 Prover 11: Preprocessing ...
% 15.04/2.99 Prover 7: Preprocessing ...
% 15.75/3.00 Prover 13: Preprocessing ...
% 15.77/3.02 Prover 10: Preprocessing ...
% 15.77/3.16 Prover 8: Warning: ignoring some quantifiers
% 15.77/3.17 Prover 7: Warning: ignoring some quantifiers
% 15.77/3.18 Prover 10: Warning: ignoring some quantifiers
% 15.77/3.18 Prover 7: Constructing countermodel ...
% 15.77/3.20 Prover 8: Constructing countermodel ...
% 15.77/3.20 Prover 13: Warning: ignoring some quantifiers
% 15.77/3.22 Prover 10: Constructing countermodel ...
% 15.77/3.23 Prover 11: Warning: ignoring some quantifiers
% 15.77/3.24 Prover 11: Constructing countermodel ...
% 15.77/3.24 Prover 13: Constructing countermodel ...
% 16.87/3.36 Prover 10: gave up
% 16.87/3.38 Prover 16: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=completeFrugal -randomSeed=-2043353683
% 16.87/3.42 Prover 16: Preprocessing ...
% 19.53/3.56 Prover 1: Found proof (size 88)
% 19.53/3.56 Prover 1: proved (2914ms)
% 19.53/3.56 Prover 11: stopped
% 19.53/3.56 Prover 13: stopped
% 19.53/3.59 Prover 8: stopped
% 19.98/3.60 Prover 4: stopped
% 19.98/3.60 Prover 7: stopped
% 19.98/3.62 Prover 16: Warning: ignoring some quantifiers
% 19.98/3.63 Prover 16: Constructing countermodel ...
% 19.98/3.65 Prover 16: stopped
% 19.98/3.65
% 19.98/3.65 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 19.98/3.65
% 19.98/3.66 % SZS output start Proof for theBenchmark
% 19.98/3.66 Assumptions after simplification:
% 19.98/3.66 ---------------------------------
% 19.98/3.66
% 19.98/3.66 (inv_def)
% 20.37/3.68 ty(int) & ? [v0: uni] : (t2tb1(a1) = v0 & uni(v0) & ! [v1: map_int_int] : !
% 20.37/3.69 [v2: int] : (v2 = 0 | ~ (inv1(v1) = v2) | ~ map_int_int(v1) | ? [v3: uni]
% 20.37/3.69 : ? [v4: uni] : ? [v5: int] : (tb2t1(v4) = v5 & t2tb(v1) = v3 & get(int,
% 20.37/3.69 int, v3, v0) = v4 & uni(v4) & uni(v3) & ( ~ (v5 = 0) | ? [v6: int] :
% 20.37/3.69 ? [v7: uni] : ? [v8: uni] : ? [v9: int] : ($lesseq(v9, 0)$lesseq(v6,
% 20.37/3.69 10) & $lesseq(1, v6) & tb2t1(v8) = v9 & t2tb1($sum(v6, a1)) = v7 &
% 20.37/3.69 get(int, int, v3, v7) = v8 & uni(v8) & uni(v7))))) & ! [v1:
% 20.37/3.69 map_int_int] : ( ~ (inv1(v1) = 0) | ~ map_int_int(v1) | ? [v2: uni] : ?
% 20.37/3.69 [v3: uni] : (tb2t1(v3) = 0 & t2tb(v1) = v2 & get(int, int, v2, v0) = v3 &
% 20.37/3.69 uni(v3) & uni(v2) & ! [v4: int] : ! [v5: uni] : ! [v6: uni] : ( ~
% 20.37/3.69 ($lesseq(v4, 10)) | ~ ($lesseq(1, v4)) | ~ (t2tb1($sum(v4, a1)) =
% 20.37/3.69 v5) | ~ (get(int, int, v2, v5) = v6) | ? [v7: int] : ($lesseq(1,
% 20.37/3.69 v7) & tb2t1(v6) = v7)))))
% 20.37/3.69
% 20.37/3.69 (inv_l2_def)
% 20.37/3.69 ty(int) & ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] :
% 20.37/3.69 (v3 = 0 | ~ (inv_l21(v0, v1, v2) = v3) | ~ map_int_int(v0) | ? [v4: uni] :
% 20.37/3.69 ? [v5: uni] : ? [v6: uni] : ? [v7: int] : ? [v8: any] : (inv1(v0) = v8 &
% 20.37/3.70 tb2t1(v6) = v7 & t2tb1($sum(v1, -16)) = v5 & t2tb(v0) = v4 & get(int, int,
% 20.37/3.70 v4, v5) = v6 & uni(v6) & uni(v5) & uni(v4) & ( ~ (v8 = 0) | ~
% 20.37/3.70 ($difference(v7, v2) = 2) | ~ ($lesseq(v2, 9)) | ~ ($lesseq(0, v2)))))
% 20.37/3.70 & ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ( ~ (inv_l21(v0, v1,
% 20.37/3.70 v2) = 0) | ~ map_int_int(v0) | ? [v3: uni] : ? [v4: uni] : ? [v5:
% 20.37/3.70 uni] : ($lesseq(v2, 9) & $lesseq(0, v2) & inv1(v0) = 0 & tb2t1(v5) =
% 20.37/3.70 $sum(v2, 2) & t2tb1($sum(v1, -16)) = v4 & t2tb(v0) = v3 & get(int, int,
% 20.37/3.70 v3, v4) = v5 & uni(v5) & uni(v4) & uni(v3)))
% 20.37/3.70
% 20.37/3.70 (select_eq)
% 20.51/3.70 ty(int) & ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3:
% 20.51/3.70 map_int_int] : ! [v4: uni] : ! [v5: uni] : ! [v6: uni] : ( ~ (set2(v0,
% 20.51/3.70 v1, v2) = v3) | ~ (t2tb1(v1) = v5) | ~ (t2tb(v3) = v4) | ~ (get(int,
% 20.51/3.70 int, v4, v5) = v6) | ~ map_int_int(v0) | tb2t1(v6) = v2)
% 20.51/3.70
% 20.51/3.70 (select_neq)
% 20.51/3.70 ty(int) & ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] :
% 20.51/3.70 ! [v4: map_int_int] : ! [v5: uni] : ! [v6: uni] : ! [v7: uni] : (v2 = v1 |
% 20.51/3.70 ~ (set2(v0, v1, v3) = v4) | ~ (t2tb1(v2) = v6) | ~ (t2tb(v4) = v5) | ~
% 20.51/3.70 (get(int, int, v5, v6) = v7) | ~ map_int_int(v0) | ? [v8: int] : ? [v9:
% 20.51/3.70 uni] : ? [v10: uni] : (tb2t1(v10) = v8 & tb2t1(v7) = v8 & t2tb(v0) = v9 &
% 20.51/3.70 get(int, int, v9, v6) = v10 & uni(v10) & uni(v9)))
% 20.51/3.70
% 20.51/3.70 (separation_def)
% 20.51/3.70 ! [v0: int] : ! [v1: int] : (v1 = 0 | ~ ($lesseq(35, $difference(v0, a1)))
% 20.51/3.70 | ~ (separation1(v0) = v1)) & ! [v0: int] : ( ~ ($lesseq(-34,
% 20.51/3.70 $difference(a1, v0))) | ~ (separation1(v0) = 0))
% 20.51/3.70
% 20.51/3.70 (wP_parameter_path_init_l2)
% 20.51/3.71 ? [v0: int] : ? [v1: map_int_int] : (inv1(v1) = 0 & separation1(v0) = 0 &
% 20.51/3.71 map_int_int(v1) & ? [v2: map_int_int] : (set2(v1, $sum(v0, -16), 2) = v2 &
% 20.51/3.71 map_int_int(v2) & ? [v3: int] : ( ~ (v3 = 0) & inv_l21(v2, v0, 0) = v3)))
% 20.51/3.71
% 20.51/3.71 (function-axioms)
% 20.51/3.72 ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : ! [v3: uni] : ! [v4: uni] : !
% 20.51/3.72 [v5: ty] : ! [v6: ty] : (v1 = v0 | ~ (set(v6, v5, v4, v3, v2) = v1) | ~
% 20.51/3.72 (set(v6, v5, v4, v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni]
% 20.51/3.72 : ! [v3: uni] : ! [v4: ty] : ! [v5: ty] : (v1 = v0 | ~ (get(v5, v4, v3,
% 20.51/3.72 v2) = v1) | ~ (get(v5, v4, v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni]
% 20.51/3.72 : ! [v2: uni] : ! [v3: uni] : ! [v4: bool1] : ! [v5: ty] : (v1 = v0 | ~
% 20.51/3.72 (match_bool1(v5, v4, v3, v2) = v1) | ~ (match_bool1(v5, v4, v3, v2) = v0))
% 20.51/3.72 & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: int] : !
% 20.51/3.72 [v3: int] : ! [v4: map_int_int] : (v1 = v0 | ~ (inv_l21(v4, v3, v2) = v1) |
% 20.51/3.72 ~ (inv_l21(v4, v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni] :
% 20.51/3.72 ! [v3: ty] : ! [v4: ty] : (v1 = v0 | ~ (const(v4, v3, v2) = v1) | ~
% 20.51/3.72 (const(v4, v3, v2) = v0)) & ! [v0: map_int_int] : ! [v1: map_int_int] : !
% 20.51/3.72 [v2: int] : ! [v3: int] : ! [v4: map_int_int] : (v1 = v0 | ~ (set2(v4, v3,
% 20.51/3.72 v2) = v1) | ~ (set2(v4, v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] :
% 20.51/3.72 ! [v2: uni] : ! [v3: ty] : (v1 = v0 | ~ (contents(v3, v2) = v1) | ~
% 20.51/3.72 (contents(v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : !
% 20.51/3.72 [v3: ty] : (v1 = v0 | ~ (mk_ref(v3, v2) = v1) | ~ (mk_ref(v3, v2) = v0)) &
% 20.51/3.72 ! [v0: ty] : ! [v1: ty] : ! [v2: ty] : ! [v3: ty] : (v1 = v0 | ~ (map(v3,
% 20.51/3.72 v2) = v1) | ~ (map(v3, v2) = v0)) & ! [v0: MultipleValueBool] : !
% 20.51/3.72 [v1: MultipleValueBool] : ! [v2: uni] : ! [v3: ty] : (v1 = v0 | ~
% 20.51/3.72 (sort1(v3, v2) = v1) | ~ (sort1(v3, v2) = v0)) & ! [v0: MultipleValueBool]
% 20.51/3.72 : ! [v1: MultipleValueBool] : ! [v2: map_int_int] : (v1 = v0 | ~ (inv1(v2)
% 20.51/3.72 = v1) | ~ (inv1(v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1:
% 20.51/3.72 MultipleValueBool] : ! [v2: int] : (v1 = v0 | ~ (separation1(v2) = v1) |
% 20.51/3.72 ~ (separation1(v2) = v0)) & ! [v0: ty] : ! [v1: ty] : ! [v2: ty] : (v1 =
% 20.51/3.72 v0 | ~ (ref(v2) = v1) | ~ (ref(v2) = v0)) & ! [v0: int] : ! [v1: int] :
% 20.51/3.72 ! [v2: uni] : (v1 = v0 | ~ (tb2t1(v2) = v1) | ~ (tb2t1(v2) = v0)) & ! [v0:
% 20.51/3.72 uni] : ! [v1: uni] : ! [v2: int] : (v1 = v0 | ~ (t2tb1(v2) = v1) | ~
% 20.51/3.72 (t2tb1(v2) = v0)) & ! [v0: map_int_int] : ! [v1: map_int_int] : ! [v2:
% 20.51/3.72 uni] : (v1 = v0 | ~ (tb2t(v2) = v1) | ~ (tb2t(v2) = v0)) & ! [v0: uni] :
% 20.51/3.72 ! [v1: uni] : ! [v2: map_int_int] : (v1 = v0 | ~ (t2tb(v2) = v1) | ~
% 20.51/3.72 (t2tb(v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: ty] : (v1 = v0 | ~
% 20.51/3.72 (witness1(v2) = v1) | ~ (witness1(v2) = v0))
% 20.51/3.72
% 20.51/3.72 Further assumptions not needed in the proof:
% 20.51/3.72 --------------------------------------------
% 20.51/3.72 bool_inversion, bridgeL, bridgeL1, bridgeR, bridgeR1, compatOrderMult, const,
% 20.51/3.72 const_sort1, contents_def1, contents_sort1, get_sort2, match_bool_False,
% 20.51/3.72 match_bool_True, match_bool_sort1, mk_ref_sort1, ref_inversion1, select_eq1,
% 20.51/3.72 select_neq1, set_sort2, t2tb_sort, t2tb_sort1, true_False, tuple0_inversion,
% 20.51/3.72 witness_sort1
% 20.51/3.72
% 20.51/3.72 Those formulas are unsatisfiable:
% 20.51/3.72 ---------------------------------
% 20.51/3.72
% 20.51/3.72 Begin of proof
% 20.51/3.72 |
% 20.51/3.72 | ALPHA: (select_eq) implies:
% 20.51/3.72 | (1) ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3:
% 20.51/3.72 | map_int_int] : ! [v4: uni] : ! [v5: uni] : ! [v6: uni] : ( ~
% 20.51/3.72 | (set2(v0, v1, v2) = v3) | ~ (t2tb1(v1) = v5) | ~ (t2tb(v3) = v4) |
% 20.51/3.72 | ~ (get(int, int, v4, v5) = v6) | ~ map_int_int(v0) | tb2t1(v6) = v2)
% 20.51/3.72 |
% 20.51/3.72 | ALPHA: (select_neq) implies:
% 20.64/3.73 | (2) ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 20.64/3.73 | [v4: map_int_int] : ! [v5: uni] : ! [v6: uni] : ! [v7: uni] : (v2 =
% 20.64/3.73 | v1 | ~ (set2(v0, v1, v3) = v4) | ~ (t2tb1(v2) = v6) | ~ (t2tb(v4)
% 20.64/3.73 | = v5) | ~ (get(int, int, v5, v6) = v7) | ~ map_int_int(v0) | ?
% 20.64/3.73 | [v8: int] : ? [v9: uni] : ? [v10: uni] : (tb2t1(v10) = v8 &
% 20.64/3.73 | tb2t1(v7) = v8 & t2tb(v0) = v9 & get(int, int, v9, v6) = v10 &
% 20.64/3.73 | uni(v10) & uni(v9)))
% 20.64/3.73 |
% 20.64/3.73 | ALPHA: (separation_def) implies:
% 20.64/3.73 | (3) ! [v0: int] : ( ~ ($lesseq(-34, $difference(a1, v0))) | ~
% 20.64/3.73 | (separation1(v0) = 0))
% 20.64/3.73 |
% 20.64/3.73 | ALPHA: (inv_def) implies:
% 20.64/3.73 | (4) ? [v0: uni] : (t2tb1(a1) = v0 & uni(v0) & ! [v1: map_int_int] : !
% 20.64/3.73 | [v2: int] : (v2 = 0 | ~ (inv1(v1) = v2) | ~ map_int_int(v1) | ?
% 20.64/3.73 | [v3: uni] : ? [v4: uni] : ? [v5: int] : (tb2t1(v4) = v5 &
% 20.64/3.73 | t2tb(v1) = v3 & get(int, int, v3, v0) = v4 & uni(v4) & uni(v3) &
% 20.64/3.73 | ( ~ (v5 = 0) | ? [v6: int] : ? [v7: uni] : ? [v8: uni] : ?
% 20.64/3.73 | [v9: int] : ($lesseq(v9, 0)$lesseq(v6, 10) & $lesseq(1, v6) &
% 20.64/3.73 | tb2t1(v8) = v9 & t2tb1($sum(v6, a1)) = v7 & get(int, int, v3,
% 20.64/3.73 | v7) = v8 & uni(v8) & uni(v7))))) & ! [v1: map_int_int] : (
% 20.64/3.73 | ~ (inv1(v1) = 0) | ~ map_int_int(v1) | ? [v2: uni] : ? [v3: uni]
% 20.64/3.73 | : (tb2t1(v3) = 0 & t2tb(v1) = v2 & get(int, int, v2, v0) = v3 &
% 20.64/3.73 | uni(v3) & uni(v2) & ! [v4: int] : ! [v5: uni] : ! [v6: uni] :
% 20.64/3.73 | ( ~ ($lesseq(v4, 10)) | ~ ($lesseq(1, v4)) | ~ (t2tb1($sum(v4,
% 20.64/3.73 | a1)) = v5) | ~ (get(int, int, v2, v5) = v6) | ? [v7:
% 20.64/3.73 | int] : ($lesseq(1, v7) & tb2t1(v6) = v7)))))
% 20.64/3.73 |
% 20.64/3.73 | ALPHA: (inv_l2_def) implies:
% 20.64/3.73 | (5) ! [v0: map_int_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : (v3
% 20.64/3.73 | = 0 | ~ (inv_l21(v0, v1, v2) = v3) | ~ map_int_int(v0) | ? [v4:
% 20.64/3.73 | uni] : ? [v5: uni] : ? [v6: uni] : ? [v7: int] : ? [v8: any] :
% 20.64/3.73 | (inv1(v0) = v8 & tb2t1(v6) = v7 & t2tb1($sum(v1, -16)) = v5 &
% 20.64/3.73 | t2tb(v0) = v4 & get(int, int, v4, v5) = v6 & uni(v6) & uni(v5) &
% 20.64/3.73 | uni(v4) & ( ~ (v8 = 0) | ~ ($difference(v7, v2) = 2) | ~
% 20.64/3.73 | ($lesseq(v2, 9)) | ~ ($lesseq(0, v2)))))
% 20.64/3.73 |
% 20.64/3.73 | ALPHA: (function-axioms) implies:
% 20.64/3.74 | (6) ! [v0: uni] : ! [v1: uni] : ! [v2: map_int_int] : (v1 = v0 | ~
% 20.64/3.74 | (t2tb(v2) = v1) | ~ (t2tb(v2) = v0))
% 20.64/3.74 | (7) ! [v0: int] : ! [v1: int] : ! [v2: uni] : (v1 = v0 | ~ (tb2t1(v2) =
% 20.64/3.74 | v1) | ~ (tb2t1(v2) = v0))
% 20.64/3.74 | (8) ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : ! [v3: uni] : ! [v4: ty]
% 20.64/3.74 | : ! [v5: ty] : (v1 = v0 | ~ (get(v5, v4, v3, v2) = v1) | ~ (get(v5,
% 20.64/3.74 | v4, v3, v2) = v0))
% 20.64/3.74 |
% 20.64/3.74 | DELTA: instantiating (wP_parameter_path_init_l2) with fresh symbols all_43_0,
% 20.64/3.74 | all_43_1 gives:
% 20.64/3.74 | (9) inv1(all_43_0) = 0 & separation1(all_43_1) = 0 & map_int_int(all_43_0)
% 20.64/3.74 | & ? [v0: map_int_int] : (set2(all_43_0, $sum(all_43_1, -16), 2) = v0 &
% 20.64/3.74 | map_int_int(v0) & ? [v1: int] : ( ~ (v1 = 0) & inv_l21(v0, all_43_1,
% 20.64/3.74 | 0) = v1))
% 20.64/3.74 |
% 20.64/3.74 | ALPHA: (9) implies:
% 20.64/3.74 | (10) map_int_int(all_43_0)
% 20.64/3.74 | (11) separation1(all_43_1) = 0
% 20.64/3.74 | (12) inv1(all_43_0) = 0
% 20.64/3.74 | (13) ? [v0: map_int_int] : (set2(all_43_0, $sum(all_43_1, -16), 2) = v0 &
% 20.64/3.74 | map_int_int(v0) & ? [v1: int] : ( ~ (v1 = 0) & inv_l21(v0,
% 20.64/3.74 | all_43_1, 0) = v1))
% 20.64/3.74 |
% 20.64/3.74 | DELTA: instantiating (4) with fresh symbol all_45_0 gives:
% 20.64/3.74 | (14) t2tb1(a1) = all_45_0 & uni(all_45_0) & ! [v0: map_int_int] : ! [v1:
% 20.64/3.74 | int] : (v1 = 0 | ~ (inv1(v0) = v1) | ~ map_int_int(v0) | ? [v2:
% 20.64/3.74 | uni] : ? [v3: uni] : ? [v4: int] : (tb2t1(v3) = v4 & t2tb(v0) =
% 20.64/3.74 | v2 & get(int, int, v2, all_45_0) = v3 & uni(v3) & uni(v2) & ( ~
% 20.64/3.74 | (v4 = 0) | ? [v5: int] : ? [v6: uni] : ? [v7: uni] : ? [v8:
% 20.64/3.74 | int] : ($lesseq(v8, 0)$lesseq(v5, 10) & $lesseq(1, v5) &
% 20.64/3.74 | tb2t1(v7) = v8 & t2tb1($sum(v5, a1)) = v6 & get(int, int, v2,
% 20.64/3.74 | v6) = v7 & uni(v7) & uni(v6))))) & ! [v0: map_int_int] : (
% 20.64/3.74 | ~ (inv1(v0) = 0) | ~ map_int_int(v0) | ? [v1: uni] : ? [v2: uni]
% 20.64/3.74 | : (tb2t1(v2) = 0 & t2tb(v0) = v1 & get(int, int, v1, all_45_0) = v2
% 20.64/3.74 | & uni(v2) & uni(v1) & ! [v3: int] : ! [v4: uni] : ! [v5: uni] :
% 20.64/3.74 | ( ~ ($lesseq(v3, 10)) | ~ ($lesseq(1, v3)) | ~ (t2tb1($sum(v3,
% 20.64/3.74 | a1)) = v4) | ~ (get(int, int, v1, v4) = v5) | ? [v6:
% 20.64/3.74 | int] : ($lesseq(1, v6) & tb2t1(v5) = v6))))
% 20.64/3.74 |
% 20.64/3.74 | ALPHA: (14) implies:
% 20.64/3.74 | (15) t2tb1(a1) = all_45_0
% 20.64/3.75 | (16) ! [v0: map_int_int] : ( ~ (inv1(v0) = 0) | ~ map_int_int(v0) | ?
% 20.64/3.75 | [v1: uni] : ? [v2: uni] : (tb2t1(v2) = 0 & t2tb(v0) = v1 & get(int,
% 20.64/3.75 | int, v1, all_45_0) = v2 & uni(v2) & uni(v1) & ! [v3: int] : !
% 20.64/3.75 | [v4: uni] : ! [v5: uni] : ( ~ ($lesseq(v3, 10)) | ~ ($lesseq(1,
% 20.64/3.75 | v3)) | ~ (t2tb1($sum(v3, a1)) = v4) | ~ (get(int, int, v1,
% 20.64/3.75 | v4) = v5) | ? [v6: int] : ($lesseq(1, v6) & tb2t1(v5) =
% 20.64/3.75 | v6))))
% 20.64/3.75 | (17) ! [v0: map_int_int] : ! [v1: int] : (v1 = 0 | ~ (inv1(v0) = v1) |
% 20.64/3.75 | ~ map_int_int(v0) | ? [v2: uni] : ? [v3: uni] : ? [v4: int] :
% 20.64/3.75 | (tb2t1(v3) = v4 & t2tb(v0) = v2 & get(int, int, v2, all_45_0) = v3 &
% 20.64/3.75 | uni(v3) & uni(v2) & ( ~ (v4 = 0) | ? [v5: int] : ? [v6: uni] :
% 20.64/3.75 | ? [v7: uni] : ? [v8: int] : ($lesseq(v8, 0)$lesseq(v5, 10) &
% 20.64/3.75 | $lesseq(1, v5) & tb2t1(v7) = v8 & t2tb1($sum(v5, a1)) = v6 &
% 20.64/3.75 | get(int, int, v2, v6) = v7 & uni(v7) & uni(v6)))))
% 20.64/3.75 |
% 20.64/3.75 | DELTA: instantiating (13) with fresh symbol all_48_0 gives:
% 20.64/3.75 | (18) set2(all_43_0, $sum(all_43_1, -16), 2) = all_48_0 &
% 20.64/3.75 | map_int_int(all_48_0) & ? [v0: int] : ( ~ (v0 = 0) &
% 20.64/3.75 | inv_l21(all_48_0, all_43_1, 0) = v0)
% 20.64/3.75 |
% 20.64/3.75 | ALPHA: (18) implies:
% 20.64/3.75 | (19) map_int_int(all_48_0)
% 20.64/3.75 | (20) set2(all_43_0, $sum(all_43_1, -16), 2) = all_48_0
% 20.64/3.75 | (21) ? [v0: int] : ( ~ (v0 = 0) & inv_l21(all_48_0, all_43_1, 0) = v0)
% 20.64/3.75 |
% 20.64/3.75 | DELTA: instantiating (21) with fresh symbol all_50_0 gives:
% 20.64/3.75 | (22) ~ (all_50_0 = 0) & inv_l21(all_48_0, all_43_1, 0) = all_50_0
% 20.64/3.75 |
% 20.64/3.75 | ALPHA: (22) implies:
% 20.64/3.75 | (23) ~ (all_50_0 = 0)
% 20.64/3.75 | (24) inv_l21(all_48_0, all_43_1, 0) = all_50_0
% 20.64/3.75 |
% 20.64/3.75 | GROUND_INST: instantiating (3) with all_43_1, simplifying with (11) gives:
% 20.64/3.75 | (25) $lesseq(35, $difference(all_43_1, a1))
% 20.64/3.75 |
% 20.64/3.75 | GROUND_INST: instantiating (16) with all_43_0, simplifying with (10), (12)
% 20.64/3.75 | gives:
% 20.64/3.75 | (26) ? [v0: uni] : ? [v1: uni] : (tb2t1(v1) = 0 & t2tb(all_43_0) = v0 &
% 20.64/3.75 | get(int, int, v0, all_45_0) = v1 & uni(v1) & uni(v0) & ! [v2: int]
% 20.64/3.75 | : ! [v3: uni] : ! [v4: uni] : ( ~ ($lesseq(v2, 10)) | ~
% 20.64/3.75 | ($lesseq(1, v2)) | ~ (t2tb1($sum(v2, a1)) = v3) | ~ (get(int,
% 20.64/3.75 | int, v0, v3) = v4) | ? [v5: int] : ($lesseq(1, v5) &
% 20.64/3.75 | tb2t1(v4) = v5)))
% 20.64/3.75 |
% 20.64/3.75 | GROUND_INST: instantiating (5) with all_48_0, all_43_1, 0, all_50_0,
% 20.64/3.75 | simplifying with (19), (24) gives:
% 20.64/3.75 | (27) all_50_0 = 0 | ? [v0: uni] : ? [v1: uni] : ? [v2: uni] : ? [v3:
% 20.64/3.75 | int] : ? [v4: any] : (inv1(all_48_0) = v4 & tb2t1(v2) = v3 &
% 20.64/3.75 | t2tb1($sum(all_43_1, -16)) = v1 & t2tb(all_48_0) = v0 & get(int,
% 20.64/3.75 | int, v0, v1) = v2 & uni(v2) & uni(v1) & uni(v0) & ( ~ (v4 = 0) |
% 20.64/3.75 | ~ (v3 = 2)))
% 20.64/3.75 |
% 20.64/3.75 | DELTA: instantiating (26) with fresh symbols all_70_0, all_70_1 gives:
% 20.64/3.75 | (28) tb2t1(all_70_0) = 0 & t2tb(all_43_0) = all_70_1 & get(int, int,
% 20.64/3.75 | all_70_1, all_45_0) = all_70_0 & uni(all_70_0) & uni(all_70_1) & !
% 20.64/3.75 | [v0: int] : ! [v1: uni] : ! [v2: uni] : ( ~ ($lesseq(v0, 10)) | ~
% 20.64/3.75 | ($lesseq(1, v0)) | ~ (t2tb1($sum(v0, a1)) = v1) | ~ (get(int, int,
% 20.64/3.75 | all_70_1, v1) = v2) | ? [v3: int] : ($lesseq(1, v3) & tb2t1(v2)
% 20.64/3.75 | = v3))
% 20.64/3.75 |
% 20.64/3.75 | ALPHA: (28) implies:
% 20.64/3.75 | (29) get(int, int, all_70_1, all_45_0) = all_70_0
% 20.64/3.75 | (30) t2tb(all_43_0) = all_70_1
% 20.64/3.75 | (31) tb2t1(all_70_0) = 0
% 20.64/3.76 | (32) ! [v0: int] : ! [v1: uni] : ! [v2: uni] : ( ~ ($lesseq(v0, 10)) |
% 20.64/3.76 | ~ ($lesseq(1, v0)) | ~ (t2tb1($sum(v0, a1)) = v1) | ~ (get(int,
% 20.64/3.76 | int, all_70_1, v1) = v2) | ? [v3: int] : ($lesseq(1, v3) &
% 20.64/3.76 | tb2t1(v2) = v3))
% 20.64/3.76 |
% 20.64/3.76 | BETA: splitting (27) gives:
% 20.64/3.76 |
% 20.64/3.76 | Case 1:
% 20.64/3.76 | |
% 20.64/3.76 | | (33) all_50_0 = 0
% 20.64/3.76 | |
% 20.64/3.76 | | REDUCE: (23), (33) imply:
% 20.64/3.76 | | (34) $false
% 20.64/3.76 | |
% 20.64/3.76 | | CLOSE: (34) is inconsistent.
% 20.64/3.76 | |
% 20.64/3.76 | Case 2:
% 20.64/3.76 | |
% 20.64/3.76 | | (35) ? [v0: uni] : ? [v1: uni] : ? [v2: uni] : ? [v3: int] : ? [v4:
% 20.64/3.76 | | any] : (inv1(all_48_0) = v4 & tb2t1(v2) = v3 &
% 20.64/3.76 | | t2tb1($sum(all_43_1, -16)) = v1 & t2tb(all_48_0) = v0 & get(int,
% 20.64/3.76 | | int, v0, v1) = v2 & uni(v2) & uni(v1) & uni(v0) & ( ~ (v4 = 0) |
% 20.64/3.76 | | ~ (v3 = 2)))
% 20.64/3.76 | |
% 20.64/3.76 | | DELTA: instantiating (35) with fresh symbols all_78_0, all_78_1, all_78_2,
% 20.64/3.76 | | all_78_3, all_78_4 gives:
% 20.64/3.76 | | (36) inv1(all_48_0) = all_78_0 & tb2t1(all_78_2) = all_78_1 &
% 20.64/3.76 | | t2tb1($sum(all_43_1, -16)) = all_78_3 & t2tb(all_48_0) = all_78_4 &
% 20.64/3.76 | | get(int, int, all_78_4, all_78_3) = all_78_2 & uni(all_78_2) &
% 20.64/3.76 | | uni(all_78_3) & uni(all_78_4) & ( ~ (all_78_0 = 0) | ~ (all_78_1 =
% 20.64/3.76 | | 2))
% 20.64/3.76 | |
% 20.64/3.76 | | ALPHA: (36) implies:
% 20.64/3.76 | | (37) get(int, int, all_78_4, all_78_3) = all_78_2
% 20.64/3.76 | | (38) t2tb(all_48_0) = all_78_4
% 20.64/3.76 | | (39) t2tb1($sum(all_43_1, -16)) = all_78_3
% 20.64/3.76 | | (40) tb2t1(all_78_2) = all_78_1
% 20.64/3.76 | | (41) inv1(all_48_0) = all_78_0
% 20.64/3.76 | | (42) ~ (all_78_0 = 0) | ~ (all_78_1 = 2)
% 20.64/3.76 | |
% 20.64/3.76 | | GROUND_INST: instantiating (1) with all_43_0, $sum(all_43_1, -16), 2,
% 20.64/3.76 | | all_48_0, all_78_4, all_78_3, all_78_2, simplifying with (10),
% 20.64/3.76 | | (20), (37), (38), (39) gives:
% 20.64/3.76 | | (43) tb2t1(all_78_2) = 2
% 20.64/3.76 | |
% 20.64/3.76 | | GROUND_INST: instantiating (17) with all_48_0, all_78_0, simplifying with
% 20.64/3.76 | | (19), (41) gives:
% 20.64/3.76 | | (44) all_78_0 = 0 | ? [v0: uni] : ? [v1: uni] : ? [v2: int] :
% 20.64/3.76 | | (tb2t1(v1) = v2 & t2tb(all_48_0) = v0 & get(int, int, v0, all_45_0)
% 20.64/3.76 | | = v1 & uni(v1) & uni(v0) & ( ~ (v2 = 0) | ? [v3: int] : ? [v4:
% 20.64/3.76 | | uni] : ? [v5: uni] : ? [v6: int] : ($lesseq(v6,
% 20.64/3.76 | | 0)$lesseq(v3, 10) & $lesseq(1, v3) & tb2t1(v5) = v6 &
% 20.64/3.76 | | t2tb1($sum(v3, a1)) = v4 & get(int, int, v0, v4) = v5 &
% 20.64/3.76 | | uni(v5) & uni(v4))))
% 20.64/3.76 | |
% 20.64/3.76 | | GROUND_INST: instantiating (7) with all_78_1, 2, all_78_2, simplifying with
% 20.64/3.76 | | (40), (43) gives:
% 20.64/3.76 | | (45) all_78_1 = 2
% 20.64/3.76 | |
% 20.64/3.76 | | BETA: splitting (42) gives:
% 20.64/3.76 | |
% 20.64/3.76 | | Case 1:
% 20.64/3.76 | | |
% 20.64/3.76 | | | (46) ~ (all_78_0 = 0)
% 20.64/3.76 | | |
% 20.64/3.76 | | | BETA: splitting (44) gives:
% 20.64/3.76 | | |
% 20.64/3.76 | | | Case 1:
% 20.64/3.76 | | | |
% 20.64/3.76 | | | | (47) all_78_0 = 0
% 20.64/3.76 | | | |
% 20.64/3.76 | | | | REDUCE: (46), (47) imply:
% 20.64/3.76 | | | | (48) $false
% 20.64/3.76 | | | |
% 20.64/3.76 | | | | CLOSE: (48) is inconsistent.
% 20.64/3.76 | | | |
% 20.64/3.76 | | | Case 2:
% 20.64/3.76 | | | |
% 20.64/3.77 | | | | (49) ? [v0: uni] : ? [v1: uni] : ? [v2: int] : (tb2t1(v1) = v2 &
% 20.64/3.77 | | | | t2tb(all_48_0) = v0 & get(int, int, v0, all_45_0) = v1 &
% 20.64/3.77 | | | | uni(v1) & uni(v0) & ( ~ (v2 = 0) | ? [v3: int] : ? [v4: uni]
% 20.64/3.77 | | | | : ? [v5: uni] : ? [v6: int] : ($lesseq(v6, 0)$lesseq(v3,
% 20.64/3.77 | | | | 10) & $lesseq(1, v3) & tb2t1(v5) = v6 & t2tb1($sum(v3,
% 20.64/3.77 | | | | a1)) = v4 & get(int, int, v0, v4) = v5 & uni(v5) &
% 20.64/3.77 | | | | uni(v4))))
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | DELTA: instantiating (49) with fresh symbols all_106_0, all_106_1,
% 20.64/3.77 | | | | all_106_2 gives:
% 20.64/3.77 | | | | (50) tb2t1(all_106_1) = all_106_0 & t2tb(all_48_0) = all_106_2 &
% 20.64/3.77 | | | | get(int, int, all_106_2, all_45_0) = all_106_1 & uni(all_106_1)
% 20.64/3.77 | | | | & uni(all_106_2) & ( ~ (all_106_0 = 0) | ? [v0: int] : ? [v1:
% 20.64/3.77 | | | | uni] : ? [v2: uni] : ? [v3: int] : ($lesseq(v3,
% 20.64/3.77 | | | | 0)$lesseq(v0, 10) & $lesseq(1, v0) & tb2t1(v2) = v3 &
% 20.64/3.77 | | | | t2tb1($sum(v0, a1)) = v1 & get(int, int, all_106_2, v1) = v2
% 20.64/3.77 | | | | & uni(v2) & uni(v1)))
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | ALPHA: (50) implies:
% 20.64/3.77 | | | | (51) get(int, int, all_106_2, all_45_0) = all_106_1
% 20.64/3.77 | | | | (52) t2tb(all_48_0) = all_106_2
% 20.64/3.77 | | | | (53) tb2t1(all_106_1) = all_106_0
% 20.64/3.77 | | | | (54) ~ (all_106_0 = 0) | ? [v0: int] : ? [v1: uni] : ? [v2: uni]
% 20.64/3.77 | | | | : ? [v3: int] : ($lesseq(v3, 0)$lesseq(v0, 10) & $lesseq(1, v0)
% 20.64/3.77 | | | | & tb2t1(v2) = v3 & t2tb1($sum(v0, a1)) = v1 & get(int, int,
% 20.64/3.77 | | | | all_106_2, v1) = v2 & uni(v2) & uni(v1))
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | GROUND_INST: instantiating (6) with all_78_4, all_106_2, all_48_0,
% 20.64/3.77 | | | | simplifying with (38), (52) gives:
% 20.64/3.77 | | | | (55) all_106_2 = all_78_4
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | REDUCE: (51), (55) imply:
% 20.64/3.77 | | | | (56) get(int, int, all_78_4, all_45_0) = all_106_1
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | GROUND_INST: instantiating (2) with all_43_0, $sum(all_43_1, -16), a1,
% 20.64/3.77 | | | | 2, all_48_0, all_78_4, all_45_0, all_106_1, simplifying
% 20.64/3.77 | | | | with (10), (15), (20), (38), (56) gives:
% 20.64/3.77 | | | | (57) $difference(all_43_1, a1) = 16 | ? [v0: int] : ? [v1: uni] :
% 20.64/3.77 | | | | ? [v2: uni] : (tb2t1(v2) = v0 & tb2t1(all_106_1) = v0 &
% 20.64/3.77 | | | | t2tb(all_43_0) = v1 & get(int, int, v1, all_45_0) = v2 &
% 20.64/3.77 | | | | uni(v2) & uni(v1))
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | BETA: splitting (57) gives:
% 20.64/3.77 | | | |
% 20.64/3.77 | | | | Case 1:
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | (58) $difference(all_43_1, a1) = 16
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | REDUCE: (25), (58) imply:
% 20.64/3.77 | | | | | (59) $false
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | CLOSE: (59) is inconsistent.
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | Case 2:
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | (60) ? [v0: int] : ? [v1: uni] : ? [v2: uni] : (tb2t1(v2) = v0 &
% 20.64/3.77 | | | | | tb2t1(all_106_1) = v0 & t2tb(all_43_0) = v1 & get(int, int,
% 20.64/3.77 | | | | | v1, all_45_0) = v2 & uni(v2) & uni(v1))
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | DELTA: instantiating (60) with fresh symbols all_126_0, all_126_1,
% 20.64/3.77 | | | | | all_126_2 gives:
% 20.64/3.77 | | | | | (61) tb2t1(all_126_0) = all_126_2 & tb2t1(all_106_1) = all_126_2 &
% 20.64/3.77 | | | | | t2tb(all_43_0) = all_126_1 & get(int, int, all_126_1,
% 20.64/3.77 | | | | | all_45_0) = all_126_0 & uni(all_126_0) & uni(all_126_1)
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | ALPHA: (61) implies:
% 20.64/3.77 | | | | | (62) get(int, int, all_126_1, all_45_0) = all_126_0
% 20.64/3.77 | | | | | (63) t2tb(all_43_0) = all_126_1
% 20.64/3.77 | | | | | (64) tb2t1(all_106_1) = all_126_2
% 20.64/3.77 | | | | | (65) tb2t1(all_126_0) = all_126_2
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | GROUND_INST: instantiating (6) with all_70_1, all_126_1, all_43_0,
% 20.64/3.77 | | | | | simplifying with (30), (63) gives:
% 20.64/3.77 | | | | | (66) all_126_1 = all_70_1
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | GROUND_INST: instantiating (7) with all_106_0, all_126_2, all_106_1,
% 20.64/3.77 | | | | | simplifying with (53), (64) gives:
% 20.64/3.77 | | | | | (67) all_126_2 = all_106_0
% 20.64/3.77 | | | | |
% 20.64/3.77 | | | | | REDUCE: (65), (67) imply:
% 20.64/3.77 | | | | | (68) tb2t1(all_126_0) = all_106_0
% 20.64/3.77 | | | | |
% 20.64/3.78 | | | | | REDUCE: (62), (66) imply:
% 20.64/3.78 | | | | | (69) get(int, int, all_70_1, all_45_0) = all_126_0
% 20.64/3.78 | | | | |
% 20.64/3.78 | | | | | GROUND_INST: instantiating (8) with all_70_0, all_126_0, all_45_0,
% 20.64/3.78 | | | | | all_70_1, int, int, simplifying with (29), (69) gives:
% 20.64/3.78 | | | | | (70) all_126_0 = all_70_0
% 20.64/3.78 | | | | |
% 20.64/3.78 | | | | | REDUCE: (68), (70) imply:
% 20.64/3.78 | | | | | (71) tb2t1(all_70_0) = all_106_0
% 20.64/3.78 | | | | |
% 20.64/3.78 | | | | | GROUND_INST: instantiating (7) with 0, all_106_0, all_70_0,
% 20.64/3.78 | | | | | simplifying with (31), (71) gives:
% 20.64/3.78 | | | | | (72) all_106_0 = 0
% 20.64/3.78 | | | | |
% 20.64/3.78 | | | | | BETA: splitting (54) gives:
% 20.64/3.78 | | | | |
% 20.64/3.78 | | | | | Case 1:
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | (73) ~ (all_106_0 = 0)
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | REDUCE: (72), (73) imply:
% 20.64/3.78 | | | | | | (74) $false
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | CLOSE: (74) is inconsistent.
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | Case 2:
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | (75) ? [v0: int] : ? [v1: uni] : ? [v2: uni] : ? [v3: int] :
% 20.64/3.78 | | | | | | ($lesseq(v3, 0)$lesseq(v0, 10) & $lesseq(1, v0) & tb2t1(v2)
% 20.64/3.78 | | | | | | = v3 & t2tb1($sum(v0, a1)) = v1 & get(int, int, all_106_2,
% 20.64/3.78 | | | | | | v1) = v2 & uni(v2) & uni(v1))
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | DELTA: instantiating (75) with fresh symbols all_153_0, all_153_1,
% 20.64/3.78 | | | | | | all_153_2, all_153_3 gives:
% 20.64/3.78 | | | | | | (76) $lesseq(all_153_0, 0)$lesseq(all_153_3, 10) & $lesseq(1,
% 20.64/3.78 | | | | | | all_153_3) & tb2t1(all_153_1) = all_153_0 &
% 20.64/3.78 | | | | | | t2tb1($sum(all_153_3, a1)) = all_153_2 & get(int, int,
% 20.64/3.78 | | | | | | all_106_2, all_153_2) = all_153_1 & uni(all_153_1) &
% 20.64/3.78 | | | | | | uni(all_153_2)
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | ALPHA: (76) implies:
% 20.64/3.78 | | | | | | (77) $lesseq(1, all_153_3)
% 20.64/3.78 | | | | | | (78) $lesseq(all_153_3, 10)
% 20.64/3.78 | | | | | | (79) $lesseq(all_153_0, 0)
% 20.64/3.78 | | | | | | (80) get(int, int, all_106_2, all_153_2) = all_153_1
% 20.64/3.78 | | | | | | (81) t2tb1($sum(all_153_3, a1)) = all_153_2
% 20.64/3.78 | | | | | | (82) tb2t1(all_153_1) = all_153_0
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | REDUCE: (55), (80) imply:
% 20.64/3.78 | | | | | | (83) get(int, int, all_78_4, all_153_2) = all_153_1
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | GROUND_INST: instantiating (2) with all_43_0, $sum(all_43_1, -16),
% 20.64/3.78 | | | | | | $sum(all_153_3, a1), 2, all_48_0, all_78_4, all_153_2,
% 20.64/3.78 | | | | | | all_153_1, simplifying with (10), (20), (38), (81),
% 20.64/3.78 | | | | | | (83) gives:
% 20.64/3.78 | | | | | | (84) $sum($difference(all_153_3, all_43_1), a1) = -16 | ? [v0:
% 20.64/3.78 | | | | | | int] : ? [v1: uni] : ? [v2: uni] : (tb2t1(v2) = v0 &
% 20.64/3.78 | | | | | | tb2t1(all_153_1) = v0 & t2tb(all_43_0) = v1 & get(int,
% 20.64/3.78 | | | | | | int, v1, all_153_2) = v2 & uni(v2) & uni(v1))
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | BETA: splitting (84) gives:
% 20.64/3.78 | | | | | |
% 20.64/3.78 | | | | | | Case 1:
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | (85) $sum($difference(all_153_3, all_43_1), a1) = -16
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | REDUCE: (78), (85) imply:
% 20.64/3.78 | | | | | | | (86) $lesseq(-26, $difference(a1, all_43_1))
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | COMBINE_INEQS: (25), (86) imply:
% 20.64/3.78 | | | | | | | (87) $false
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | CLOSE: (87) is inconsistent.
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | Case 2:
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | (88) ? [v0: int] : ? [v1: uni] : ? [v2: uni] : (tb2t1(v2) =
% 20.64/3.78 | | | | | | | v0 & tb2t1(all_153_1) = v0 & t2tb(all_43_0) = v1 &
% 20.64/3.78 | | | | | | | get(int, int, v1, all_153_2) = v2 & uni(v2) & uni(v1))
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | DELTA: instantiating (88) with fresh symbols all_204_0, all_204_1,
% 20.64/3.78 | | | | | | | all_204_2 gives:
% 20.64/3.78 | | | | | | | (89) tb2t1(all_204_0) = all_204_2 & tb2t1(all_153_1) =
% 20.64/3.78 | | | | | | | all_204_2 & t2tb(all_43_0) = all_204_1 & get(int, int,
% 20.64/3.78 | | | | | | | all_204_1, all_153_2) = all_204_0 & uni(all_204_0) &
% 20.64/3.78 | | | | | | | uni(all_204_1)
% 20.64/3.78 | | | | | | |
% 20.64/3.78 | | | | | | | ALPHA: (89) implies:
% 20.64/3.79 | | | | | | | (90) get(int, int, all_204_1, all_153_2) = all_204_0
% 20.64/3.79 | | | | | | | (91) t2tb(all_43_0) = all_204_1
% 20.64/3.79 | | | | | | | (92) tb2t1(all_153_1) = all_204_2
% 20.64/3.79 | | | | | | | (93) tb2t1(all_204_0) = all_204_2
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | GROUND_INST: instantiating (6) with all_70_1, all_204_1, all_43_0,
% 20.64/3.79 | | | | | | | simplifying with (30), (91) gives:
% 20.64/3.79 | | | | | | | (94) all_204_1 = all_70_1
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | GROUND_INST: instantiating (7) with all_153_0, all_204_2,
% 20.64/3.79 | | | | | | | all_153_1, simplifying with (82), (92) gives:
% 20.64/3.79 | | | | | | | (95) all_204_2 = all_153_0
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | REDUCE: (93), (95) imply:
% 20.64/3.79 | | | | | | | (96) tb2t1(all_204_0) = all_153_0
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | REDUCE: (90), (94) imply:
% 20.64/3.79 | | | | | | | (97) get(int, int, all_70_1, all_153_2) = all_204_0
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | GROUND_INST: instantiating (32) with all_153_3, all_153_2,
% 20.64/3.79 | | | | | | | all_204_0, simplifying with (81), (97) gives:
% 20.64/3.79 | | | | | | | (98) ~ ($lesseq(all_153_3, 10)) | ~ ($lesseq(1, all_153_3)) |
% 20.64/3.79 | | | | | | | ? [v0: int] : ($lesseq(1, v0) & tb2t1(all_204_0) = v0)
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | BETA: splitting (98) gives:
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | | Case 1:
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | (99) $lesseq(11, all_153_3)
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | COMBINE_INEQS: (78), (99) imply:
% 20.64/3.79 | | | | | | | | (100) $false
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | CLOSE: (100) is inconsistent.
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | Case 2:
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | (101) ~ ($lesseq(1, all_153_3)) | ? [v0: int] : ($lesseq(1,
% 20.64/3.79 | | | | | | | | v0) & tb2t1(all_204_0) = v0)
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | BETA: splitting (101) gives:
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | | Case 1:
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | (102) $lesseq(all_153_3, 0)
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | COMBINE_INEQS: (77), (102) imply:
% 20.64/3.79 | | | | | | | | | (103) $false
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | CLOSE: (103) is inconsistent.
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | Case 2:
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | (104) ? [v0: int] : ($lesseq(1, v0) & tb2t1(all_204_0) =
% 20.64/3.79 | | | | | | | | | v0)
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | DELTA: instantiating (104) with fresh symbol all_266_0 gives:
% 20.64/3.79 | | | | | | | | | (105) $lesseq(1, all_266_0) & tb2t1(all_204_0) = all_266_0
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | ALPHA: (105) implies:
% 20.64/3.79 | | | | | | | | | (106) $lesseq(1, all_266_0)
% 20.64/3.79 | | | | | | | | | (107) tb2t1(all_204_0) = all_266_0
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | GROUND_INST: instantiating (7) with all_153_0, all_266_0,
% 20.64/3.79 | | | | | | | | | all_204_0, simplifying with (96), (107) gives:
% 20.64/3.79 | | | | | | | | | (108) all_266_0 = all_153_0
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | REDUCE: (106), (108) imply:
% 20.64/3.79 | | | | | | | | | (109) $lesseq(1, all_153_0)
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | COMBINE_INEQS: (79), (109) imply:
% 20.64/3.79 | | | | | | | | | (110) $false
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | | CLOSE: (110) is inconsistent.
% 20.64/3.79 | | | | | | | | |
% 20.64/3.79 | | | | | | | | End of split
% 20.64/3.79 | | | | | | | |
% 20.64/3.79 | | | | | | | End of split
% 20.64/3.79 | | | | | | |
% 20.64/3.79 | | | | | | End of split
% 20.64/3.79 | | | | | |
% 20.64/3.79 | | | | | End of split
% 20.64/3.79 | | | | |
% 20.64/3.79 | | | | End of split
% 20.64/3.79 | | | |
% 20.64/3.79 | | | End of split
% 20.64/3.79 | | |
% 20.64/3.79 | | Case 2:
% 20.64/3.79 | | |
% 20.64/3.79 | | | (111) ~ (all_78_1 = 2)
% 20.64/3.79 | | |
% 20.64/3.79 | | | REDUCE: (45), (111) imply:
% 20.64/3.79 | | | (112) $false
% 20.64/3.79 | | |
% 20.64/3.79 | | | CLOSE: (112) is inconsistent.
% 20.64/3.79 | | |
% 20.64/3.79 | | End of split
% 20.64/3.79 | |
% 20.64/3.79 | End of split
% 20.64/3.79 |
% 20.64/3.79 End of proof
% 20.64/3.79 % SZS output end Proof for theBenchmark
% 20.64/3.79
% 20.64/3.79 3167ms
%------------------------------------------------------------------------------