TSTP Solution File: SWW614_2 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Princess---230619
% Problem : SWW614_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 : n029.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:54 EDT 2023
% Result : Theorem 10.88s 2.30s
% Output : Proof 13.53s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : SWW614_2 : TPTP v8.1.2. Released v6.1.0.
% 0.00/0.13 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.16/0.34 % Computer : n029.cluster.edu
% 0.16/0.34 % Model : x86_64 x86_64
% 0.16/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.34 % Memory : 8042.1875MB
% 0.16/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.16/0.34 % CPULimit : 300
% 0.16/0.34 % WCLimit : 300
% 0.16/0.34 % DateTime : Sun Aug 27 20:30:55 EDT 2023
% 0.16/0.34 % CPUTime :
% 0.20/0.60 ________ _____
% 0.20/0.60 ___ __ \_________(_)________________________________
% 0.20/0.60 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/
% 0.20/0.60 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ )
% 0.20/0.60 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/
% 0.20/0.60
% 0.20/0.60 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.20/0.60 (2023-06-19)
% 0.20/0.60
% 0.20/0.60 (c) Philipp Rümmer, 2009-2023
% 0.20/0.60 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.20/0.60 Amanda Stjerna.
% 0.20/0.60 Free software under BSD-3-Clause.
% 0.20/0.60
% 0.20/0.60 For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.20/0.60
% 0.20/0.60 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ...
% 0.20/0.62 Running up to 7 provers in parallel.
% 0.20/0.63 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.20/0.63 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.20/0.63 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.20/0.63 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.20/0.63 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.20/0.63 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 0.20/0.63 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 3.33/1.22 Prover 2: Preprocessing ...
% 3.33/1.22 Prover 1: Preprocessing ...
% 3.33/1.23 Prover 4: Preprocessing ...
% 3.33/1.23 Prover 0: Preprocessing ...
% 3.33/1.24 Prover 5: Preprocessing ...
% 3.33/1.24 Prover 3: Preprocessing ...
% 3.33/1.26 Prover 6: Preprocessing ...
% 7.41/1.79 Prover 1: Warning: ignoring some quantifiers
% 7.41/1.80 Prover 4: Warning: ignoring some quantifiers
% 7.41/1.84 Prover 3: Warning: ignoring some quantifiers
% 7.41/1.85 Prover 4: Constructing countermodel ...
% 7.41/1.86 Prover 3: Constructing countermodel ...
% 8.12/1.86 Prover 5: Proving ...
% 8.12/1.86 Prover 1: Constructing countermodel ...
% 8.12/1.87 Prover 6: Proving ...
% 8.12/1.89 Prover 0: Proving ...
% 8.59/2.01 Prover 2: Proving ...
% 10.88/2.30 Prover 0: proved (1676ms)
% 10.88/2.30
% 10.88/2.30 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 10.88/2.30
% 10.88/2.31 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470
% 10.88/2.31 Prover 3: stopped
% 10.88/2.31 Prover 6: stopped
% 10.88/2.31 Prover 2: stopped
% 10.88/2.32 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089
% 10.88/2.32 Prover 5: stopped
% 10.88/2.32 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125
% 10.88/2.32 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984
% 10.88/2.32 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443
% 11.83/2.42 Prover 10: Preprocessing ...
% 11.83/2.43 Prover 4: Found proof (size 89)
% 11.83/2.43 Prover 4: proved (1802ms)
% 11.83/2.43 Prover 1: stopped
% 12.23/2.44 Prover 7: Preprocessing ...
% 12.33/2.46 Prover 8: Preprocessing ...
% 12.33/2.47 Prover 10: stopped
% 12.33/2.48 Prover 13: Preprocessing ...
% 12.33/2.48 Prover 7: stopped
% 12.33/2.49 Prover 11: Preprocessing ...
% 12.81/2.53 Prover 11: stopped
% 12.81/2.54 Prover 13: stopped
% 13.11/2.56 Prover 8: Warning: ignoring some quantifiers
% 13.11/2.58 Prover 8: Constructing countermodel ...
% 13.11/2.58 Prover 8: stopped
% 13.11/2.58
% 13.11/2.59 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 13.11/2.59
% 13.11/2.60 % SZS output start Proof for theBenchmark
% 13.11/2.60 Assumptions after simplification:
% 13.11/2.60 ---------------------------------
% 13.11/2.60
% 13.11/2.60 (bridgeR)
% 13.11/2.62 ! [v0: uni] : ! [v1: int] : ( ~ (tb2t(v0) = v1) | ~ uni(v0) | t2tb(v1) =
% 13.11/2.62 v0)
% 13.11/2.62
% 13.11/2.62 (bridgeR1)
% 13.11/2.62 ! [v0: uni] : ! [v1: array_int] : ( ~ (tb2t1(v0) = v1) | ~ uni(v0) |
% 13.11/2.62 t2tb1(v1) = v0)
% 13.11/2.62
% 13.11/2.62 (elts_def)
% 13.11/2.62 ty(int) & ! [v0: ty] : ! [v1: int] : ! [v2: uni] : ! [v3: uni] : ( ~
% 13.11/2.62 (mk_array(v0, v1, v2) = v3) | ~ ty(v0) | ~ uni(v2) | ? [v4: ty] : ? [v5:
% 13.11/2.62 any] : ? [v6: uni] : (elts(v0, v3) = v6 & map(int, v0) = v4 & sort(v4,
% 13.11/2.62 v2) = v5 & ty(v4) & uni(v6) & ( ~ (v5 = 0) | v6 = v2)))
% 13.11/2.62
% 13.11/2.62 (eqseq_def)
% 13.11/2.63 ty(int) & ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 13.11/2.63 [v4: int] : (v4 = 0 | ~ ($lesseq(0, v3)) | ~ (eqseq(v0, v1, v2, v3) = v4) |
% 13.11/2.63 ~ array_int(v0) | ? [v5: uni] : ? [v6: int] : ? [v7: int] : ? [v8: uni]
% 13.11/2.63 : ? [v9: int] : ? [v10: uni] : ? [v11: int] : (t2tb1(v0) = v5 &
% 13.11/2.63 length(int, v5) = v6 & uni(v5) & ( ~ ($lesseq(v2, $difference(v6, v3))) |
% 13.11/2.63 ~ ($lesseq(v1, $difference(v6, v3))) | ( ~ (v11 = v9) & $lesseq(1,
% 13.11/2.63 $difference(v3, v7)) & $lesseq(0, v7) & tb2t(v10) = v11 & tb2t(v8) =
% 13.11/2.63 v9 & get1(int, v5, $sum(v7, v2)) = v10 & get1(int, v5, $sum(v7, v1)) =
% 13.11/2.63 v8 & uni(v10) & uni(v8))))) & ! [v0: array_int] : ! [v1: int] : !
% 13.11/2.63 [v2: int] : ! [v3: int] : ( ~ ($lesseq(v3, -1)) | ~ (eqseq(v0, v1, v2, v3) =
% 13.11/2.63 0) | ~ array_int(v0)) & ! [v0: array_int] : ! [v1: int] : ! [v2: int]
% 13.11/2.63 : ! [v3: int] : ( ~ (eqseq(v0, v1, v2, v3) = 0) | ~ array_int(v0) | ? [v4:
% 13.11/2.63 uni] : ? [v5: int] : ($lesseq(v2, $difference(v5, v3)) & $lesseq(v1,
% 13.11/2.63 $difference(v5, v3)) & t2tb1(v0) = v4 & length(int, v4) = v5 & uni(v4) &
% 13.11/2.63 ! [v6: int] : ! [v7: uni] : ( ~ ($lesseq(1, $difference(v3, v6))) | ~
% 13.11/2.63 ($lesseq(0, v6)) | ~ (get1(int, v4, $sum(v6, v2)) = v7) | ? [v8: uni]
% 13.11/2.63 : ? [v9: int] : (tb2t(v8) = v9 & tb2t(v7) = v9 & get1(int, v4, $sum(v6,
% 13.11/2.63 v1)) = v8 & uni(v8))) & ! [v6: int] : ! [v7: uni] : ( ~
% 13.11/2.63 ($lesseq(1, $difference(v3, v6))) | ~ ($lesseq(0, v6)) | ~ (get1(int,
% 13.11/2.63 v4, $sum(v6, v1)) = v7) | ? [v8: int] : ? [v9: uni] : (tb2t(v9) =
% 13.11/2.63 v8 & tb2t(v7) = v8 & get1(int, v4, $sum(v6, v2)) = v9 & uni(v9)))))
% 13.11/2.63
% 13.11/2.63 (get_def)
% 13.11/2.63 ty(int) & ! [v0: ty] : ! [v1: uni] : ! [v2: int] : ! [v3: uni] : ! [v4:
% 13.11/2.63 uni] : ! [v5: uni] : ( ~ (t2tb(v2) = v4) | ~ (elts(v0, v1) = v3) | ~
% 13.11/2.63 (get(v0, int, v3, v4) = v5) | ~ ty(v0) | ~ uni(v1) | (get1(v0, v1, v2) =
% 13.11/2.63 v5 & uni(v5))) & ! [v0: ty] : ! [v1: uni] : ! [v2: int] : ! [v3: uni]
% 13.11/2.63 : ( ~ (get1(v0, v1, v2) = v3) | ~ ty(v0) | ~ uni(v1) | ? [v4: uni] : ?
% 13.11/2.63 [v5: uni] : (t2tb(v2) = v5 & elts(v0, v1) = v4 & get(v0, int, v4, v5) = v3 &
% 13.11/2.63 uni(v5) & uni(v4) & uni(v3)))
% 13.11/2.63
% 13.11/2.63 (length_def)
% 13.11/2.64 ! [v0: ty] : ! [v1: int] : ! [v2: uni] : ! [v3: uni] : ( ~ (mk_array(v0,
% 13.11/2.64 v1, v2) = v3) | ~ ty(v0) | ~ uni(v2) | length(v0, v3) = v1)
% 13.11/2.64
% 13.11/2.64 (not_eqseq)
% 13.11/2.64 ty(int) & ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 13.11/2.64 [v4: uni] : ! [v5: uni] : ! [v6: int] : ! [v7: uni] : ! [v8: int] : !
% 13.11/2.64 [v9: int] : (v8 = v6 | ~ ($lesseq(1, $difference(v9, v3))) | ~ ($lesseq(0,
% 13.11/2.64 v3)) | ~ (eqseq(v0, v1, v2, v9) = 0) | ~ (t2tb1(v0) = v4) | ~
% 13.11/2.64 (tb2t(v7) = v8) | ~ (tb2t(v5) = v6) | ~ (get1(int, v4, $sum(v3, v2)) = v7)
% 13.11/2.64 | ~ (get1(int, v4, $sum(v3, v1)) = v5) | ~ array_int(v0))
% 13.11/2.64
% 13.11/2.64 (t2tb_sort2)
% 13.11/2.64 ty(int) & ? [v0: ty] : (map(int, int) = v0 & ty(v0) & ! [v1: map_int_int] :
% 13.11/2.64 ! [v2: uni] : ( ~ (t2tb2(v1) = v2) | ~ map_int_int(v1) | sort(v0, v2) = 0))
% 13.11/2.64
% 13.11/2.64 (wP_parameter_lcp)
% 13.11/2.64 ty(int) & ? [v0: int] : ? [v1: map_int_int] : ? [v2: int] : ? [v3: int] :
% 13.11/2.64 ? [v4: uni] : ? [v5: uni] : ? [v6: array_int] : ? [v7: int] : ? [v8: uni]
% 13.11/2.64 : ? [v9: uni] : ? [v10: int] : ? [v11: uni] : ? [v12: uni] : ? [v13: int]
% 13.11/2.64 : ( ~ (v13 = 0) & $lesseq(1, $sum($difference($product(-1, v7), v3), v0)) &
% 13.11/2.64 $lesseq(1, $sum($difference($product(-1, v7), v2), v0)) & $lesseq(0,
% 13.11/2.64 $sum(v7, v3)) & $lesseq(0, $sum(v7, v2)) & $lesseq(1, $difference(v0, v3))
% 13.11/2.64 & $lesseq(0, v3) & $lesseq(1, $difference(v0, v2)) & $lesseq(0, v2) &
% 13.11/2.64 t2tb2(v1) = v4 & eqseq(v6, v2, v3, $sum(v7, 1)) = v13 & eqseq(v6, v2, v3,
% 13.11/2.64 v7) = 0 & tb2t1(v5) = v6 & tb2t(v12) = v10 & tb2t(v9) = v10 &
% 13.11/2.64 t2tb($sum(v7, v3)) = v11 & t2tb($sum(v7, v2)) = v8 & mk_array(int, v0, v4) =
% 13.11/2.64 v5 & get(int, int, v4, v11) = v12 & get(int, int, v4, v8) = v9 &
% 13.11/2.64 map_int_int(v1) & array_int(v6) & uni(v12) & uni(v11) & uni(v9) & uni(v8) &
% 13.11/2.64 uni(v5) & uni(v4))
% 13.11/2.64
% 13.11/2.64 (function-axioms)
% 13.53/2.65 ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : ! [v3: uni] : ! [v4: uni] : !
% 13.53/2.65 [v5: ty] : ! [v6: ty] : (v1 = v0 | ~ (set(v6, v5, v4, v3, v2) = v1) | ~
% 13.53/2.65 (set(v6, v5, v4, v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1:
% 13.53/2.65 MultipleValueBool] : ! [v2: int] : ! [v3: int] : ! [v4: int] : ! [v5:
% 13.53/2.65 array_int] : (v1 = v0 | ~ (eqseq(v5, v4, v3, v2) = v1) | ~ (eqseq(v5, v4,
% 13.53/2.65 v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : ! [v3:
% 13.53/2.65 int] : ! [v4: uni] : ! [v5: ty] : (v1 = v0 | ~ (set1(v5, v4, v3, v2) =
% 13.53/2.65 v1) | ~ (set1(v5, v4, v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : !
% 13.53/2.65 [v2: uni] : ! [v3: uni] : ! [v4: ty] : ! [v5: ty] : (v1 = v0 | ~ (get(v5,
% 13.53/2.65 v4, v3, v2) = v1) | ~ (get(v5, v4, v3, v2) = v0)) & ! [v0: uni] : !
% 13.53/2.65 [v1: uni] : ! [v2: uni] : ! [v3: uni] : ! [v4: bool] : ! [v5: ty] : (v1 =
% 13.53/2.65 v0 | ~ (match_bool(v5, v4, v3, v2) = v1) | ~ (match_bool(v5, v4, v3, v2) =
% 13.53/2.65 v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : ! [v3: int] : ! [v4:
% 13.53/2.65 ty] : (v1 = v0 | ~ (make(v4, v3, v2) = v1) | ~ (make(v4, v3, v2) = v0)) &
% 13.53/2.65 ! [v0: uni] : ! [v1: uni] : ! [v2: int] : ! [v3: uni] : ! [v4: ty] : (v1 =
% 13.53/2.65 v0 | ~ (get1(v4, v3, v2) = v1) | ~ (get1(v4, v3, v2) = v0)) & ! [v0: uni]
% 13.53/2.65 : ! [v1: uni] : ! [v2: uni] : ! [v3: int] : ! [v4: ty] : (v1 = v0 | ~
% 13.53/2.65 (mk_array(v4, v3, v2) = v1) | ~ (mk_array(v4, v3, v2) = v0)) & ! [v0: uni]
% 13.53/2.65 : ! [v1: uni] : ! [v2: uni] : ! [v3: ty] : ! [v4: ty] : (v1 = v0 | ~
% 13.53/2.65 (const(v4, v3, v2) = v1) | ~ (const(v4, v3, v2) = v0)) & ! [v0: uni] : !
% 13.53/2.65 [v1: uni] : ! [v2: uni] : ! [v3: ty] : (v1 = v0 | ~ (elts(v3, v2) = v1) |
% 13.53/2.65 ~ (elts(v3, v2) = v0)) & ! [v0: int] : ! [v1: int] : ! [v2: uni] : !
% 13.53/2.65 [v3: ty] : (v1 = v0 | ~ (length(v3, v2) = v1) | ~ (length(v3, v2) = v0)) &
% 13.53/2.65 ! [v0: ty] : ! [v1: ty] : ! [v2: ty] : ! [v3: ty] : (v1 = v0 | ~ (map(v3,
% 13.53/2.65 v2) = v1) | ~ (map(v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : !
% 13.53/2.65 [v2: uni] : ! [v3: ty] : (v1 = v0 | ~ (contents(v3, v2) = v1) | ~
% 13.53/2.65 (contents(v3, v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: uni] : !
% 13.53/2.65 [v3: ty] : (v1 = v0 | ~ (mk_ref(v3, v2) = v1) | ~ (mk_ref(v3, v2) = v0)) &
% 13.53/2.65 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: uni] : !
% 13.53/2.65 [v3: ty] : (v1 = v0 | ~ (sort(v3, v2) = v1) | ~ (sort(v3, v2) = v0)) & !
% 13.53/2.65 [v0: map_int_int] : ! [v1: map_int_int] : ! [v2: uni] : (v1 = v0 | ~
% 13.53/2.65 (tb2t2(v2) = v1) | ~ (tb2t2(v2) = v0)) & ! [v0: uni] : ! [v1: uni] : !
% 13.53/2.65 [v2: map_int_int] : (v1 = v0 | ~ (t2tb2(v2) = v1) | ~ (t2tb2(v2) = v0)) & !
% 13.53/2.65 [v0: array_int] : ! [v1: array_int] : ! [v2: uni] : (v1 = v0 | ~ (tb2t1(v2)
% 13.53/2.65 = v1) | ~ (tb2t1(v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2:
% 13.53/2.65 array_int] : (v1 = v0 | ~ (t2tb1(v2) = v1) | ~ (t2tb1(v2) = v0)) & ! [v0:
% 13.53/2.65 int] : ! [v1: int] : ! [v2: uni] : (v1 = v0 | ~ (tb2t(v2) = v1) | ~
% 13.53/2.65 (tb2t(v2) = v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: int] : (v1 = v0 |
% 13.53/2.65 ~ (t2tb(v2) = v1) | ~ (t2tb(v2) = v0)) & ! [v0: ty] : ! [v1: ty] : !
% 13.53/2.65 [v2: ty] : (v1 = v0 | ~ (array(v2) = v1) | ~ (array(v2) = v0)) & ! [v0: ty]
% 13.53/2.65 : ! [v1: ty] : ! [v2: ty] : (v1 = v0 | ~ (ref(v2) = v1) | ~ (ref(v2) =
% 13.53/2.65 v0)) & ! [v0: uni] : ! [v1: uni] : ! [v2: ty] : (v1 = v0 | ~
% 13.53/2.65 (witness(v2) = v1) | ~ (witness(v2) = v0))
% 13.53/2.65
% 13.53/2.65 Further assumptions not needed in the proof:
% 13.53/2.65 --------------------------------------------
% 13.53/2.65 array_inversion, bool_inversion, bridgeL, bridgeL1, bridgeL2, bridgeR2,
% 13.53/2.65 compatOrderMult, const1, const_sort, contents_def, contents_sort, elts_sort,
% 13.53/2.65 get_sort, get_sort1, make_def, make_sort, match_bool_False, match_bool_True,
% 13.53/2.65 match_bool_sort, mk_array_sort, mk_ref_sort, ref_inversion, select_eq,
% 13.53/2.65 select_neq, set_def, set_sort, set_sort1, t2tb_sort, t2tb_sort1, true_False,
% 13.53/2.65 tuple0_inversion, witness_sort
% 13.53/2.65
% 13.53/2.65 Those formulas are unsatisfiable:
% 13.53/2.65 ---------------------------------
% 13.53/2.65
% 13.53/2.65 Begin of proof
% 13.53/2.65 |
% 13.53/2.65 | ALPHA: (elts_def) implies:
% 13.53/2.65 | (1) ! [v0: ty] : ! [v1: int] : ! [v2: uni] : ! [v3: uni] : ( ~
% 13.53/2.65 | (mk_array(v0, v1, v2) = v3) | ~ ty(v0) | ~ uni(v2) | ? [v4: ty] :
% 13.53/2.65 | ? [v5: any] : ? [v6: uni] : (elts(v0, v3) = v6 & map(int, v0) = v4 &
% 13.53/2.65 | sort(v4, v2) = v5 & ty(v4) & uni(v6) & ( ~ (v5 = 0) | v6 = v2)))
% 13.53/2.65 |
% 13.53/2.65 | ALPHA: (get_def) implies:
% 13.53/2.65 | (2) ! [v0: ty] : ! [v1: uni] : ! [v2: int] : ! [v3: uni] : ! [v4: uni]
% 13.53/2.65 | : ! [v5: uni] : ( ~ (t2tb(v2) = v4) | ~ (elts(v0, v1) = v3) | ~
% 13.53/2.65 | (get(v0, int, v3, v4) = v5) | ~ ty(v0) | ~ uni(v1) | (get1(v0, v1,
% 13.53/2.65 | v2) = v5 & uni(v5)))
% 13.53/2.65 |
% 13.53/2.65 | ALPHA: (eqseq_def) implies:
% 13.53/2.66 | (3) ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : ( ~
% 13.53/2.66 | (eqseq(v0, v1, v2, v3) = 0) | ~ array_int(v0) | ? [v4: uni] : ?
% 13.53/2.66 | [v5: int] : ($lesseq(v2, $difference(v5, v3)) & $lesseq(v1,
% 13.53/2.66 | $difference(v5, v3)) & t2tb1(v0) = v4 & length(int, v4) = v5 &
% 13.53/2.66 | uni(v4) & ! [v6: int] : ! [v7: uni] : ( ~ ($lesseq(1,
% 13.53/2.66 | $difference(v3, v6))) | ~ ($lesseq(0, v6)) | ~ (get1(int,
% 13.53/2.66 | v4, $sum(v6, v2)) = v7) | ? [v8: uni] : ? [v9: int] :
% 13.53/2.66 | (tb2t(v8) = v9 & tb2t(v7) = v9 & get1(int, v4, $sum(v6, v1)) = v8
% 13.53/2.66 | & uni(v8))) & ! [v6: int] : ! [v7: uni] : ( ~ ($lesseq(1,
% 13.53/2.66 | $difference(v3, v6))) | ~ ($lesseq(0, v6)) | ~ (get1(int,
% 13.53/2.66 | v4, $sum(v6, v1)) = v7) | ? [v8: int] : ? [v9: uni] :
% 13.53/2.66 | (tb2t(v9) = v8 & tb2t(v7) = v8 & get1(int, v4, $sum(v6, v2)) = v9
% 13.53/2.66 | & uni(v9)))))
% 13.53/2.66 | (4) ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : ( ~
% 13.53/2.66 | ($lesseq(v3, -1)) | ~ (eqseq(v0, v1, v2, v3) = 0) | ~
% 13.53/2.66 | array_int(v0))
% 13.53/2.66 | (5) ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 13.53/2.66 | [v4: int] : (v4 = 0 | ~ ($lesseq(0, v3)) | ~ (eqseq(v0, v1, v2, v3) =
% 13.53/2.66 | v4) | ~ array_int(v0) | ? [v5: uni] : ? [v6: int] : ? [v7: int]
% 13.53/2.66 | : ? [v8: uni] : ? [v9: int] : ? [v10: uni] : ? [v11: int] :
% 13.53/2.66 | (t2tb1(v0) = v5 & length(int, v5) = v6 & uni(v5) & ( ~ ($lesseq(v2,
% 13.53/2.66 | $difference(v6, v3))) | ~ ($lesseq(v1, $difference(v6, v3)))
% 13.53/2.66 | | ( ~ (v11 = v9) & $lesseq(1, $difference(v3, v7)) & $lesseq(0,
% 13.53/2.66 | v7) & tb2t(v10) = v11 & tb2t(v8) = v9 & get1(int, v5,
% 13.53/2.66 | $sum(v7, v2)) = v10 & get1(int, v5, $sum(v7, v1)) = v8 &
% 13.53/2.66 | uni(v10) & uni(v8)))))
% 13.53/2.66 |
% 13.53/2.66 | ALPHA: (not_eqseq) implies:
% 13.53/2.66 | (6) ! [v0: array_int] : ! [v1: int] : ! [v2: int] : ! [v3: int] : !
% 13.53/2.66 | [v4: uni] : ! [v5: uni] : ! [v6: int] : ! [v7: uni] : ! [v8: int] :
% 13.53/2.66 | ! [v9: int] : (v8 = v6 | ~ ($lesseq(1, $difference(v9, v3))) | ~
% 13.53/2.66 | ($lesseq(0, v3)) | ~ (eqseq(v0, v1, v2, v9) = 0) | ~ (t2tb1(v0) =
% 13.53/2.66 | v4) | ~ (tb2t(v7) = v8) | ~ (tb2t(v5) = v6) | ~ (get1(int, v4,
% 13.53/2.66 | $sum(v3, v2)) = v7) | ~ (get1(int, v4, $sum(v3, v1)) = v5) | ~
% 13.53/2.66 | array_int(v0))
% 13.53/2.66 |
% 13.53/2.66 | ALPHA: (t2tb_sort2) implies:
% 13.53/2.66 | (7) ? [v0: ty] : (map(int, int) = v0 & ty(v0) & ! [v1: map_int_int] : !
% 13.53/2.66 | [v2: uni] : ( ~ (t2tb2(v1) = v2) | ~ map_int_int(v1) | sort(v0, v2)
% 13.53/2.66 | = 0))
% 13.53/2.66 |
% 13.53/2.66 | ALPHA: (wP_parameter_lcp) implies:
% 13.53/2.66 | (8) ty(int)
% 13.53/2.66 | (9) ? [v0: int] : ? [v1: map_int_int] : ? [v2: int] : ? [v3: int] : ?
% 13.53/2.66 | [v4: uni] : ? [v5: uni] : ? [v6: array_int] : ? [v7: int] : ? [v8:
% 13.53/2.66 | uni] : ? [v9: uni] : ? [v10: int] : ? [v11: uni] : ? [v12: uni] :
% 13.53/2.66 | ? [v13: int] : ( ~ (v13 = 0) & $lesseq(1,
% 13.53/2.66 | $sum($difference($product(-1, v7), v3), v0)) & $lesseq(1,
% 13.53/2.66 | $sum($difference($product(-1, v7), v2), v0)) & $lesseq(0, $sum(v7,
% 13.53/2.66 | v3)) & $lesseq(0, $sum(v7, v2)) & $lesseq(1, $difference(v0, v3))
% 13.53/2.66 | & $lesseq(0, v3) & $lesseq(1, $difference(v0, v2)) & $lesseq(0, v2) &
% 13.53/2.66 | t2tb2(v1) = v4 & eqseq(v6, v2, v3, $sum(v7, 1)) = v13 & eqseq(v6, v2,
% 13.53/2.66 | v3, v7) = 0 & tb2t1(v5) = v6 & tb2t(v12) = v10 & tb2t(v9) = v10 &
% 13.53/2.66 | t2tb($sum(v7, v3)) = v11 & t2tb($sum(v7, v2)) = v8 & mk_array(int,
% 13.53/2.66 | v0, v4) = v5 & get(int, int, v4, v11) = v12 & get(int, int, v4, v8)
% 13.53/2.66 | = v9 & map_int_int(v1) & array_int(v6) & uni(v12) & uni(v11) &
% 13.53/2.66 | uni(v9) & uni(v8) & uni(v5) & uni(v4))
% 13.53/2.66 |
% 13.53/2.66 | ALPHA: (function-axioms) implies:
% 13.53/2.66 | (10) ! [v0: uni] : ! [v1: uni] : ! [v2: int] : (v1 = v0 | ~ (t2tb(v2) =
% 13.53/2.66 | v1) | ~ (t2tb(v2) = v0))
% 13.53/2.67 | (11) ! [v0: int] : ! [v1: int] : ! [v2: uni] : (v1 = v0 | ~ (tb2t(v2) =
% 13.53/2.67 | v1) | ~ (tb2t(v2) = v0))
% 13.53/2.67 | (12) ! [v0: uni] : ! [v1: uni] : ! [v2: array_int] : (v1 = v0 | ~
% 13.53/2.67 | (t2tb1(v2) = v1) | ~ (t2tb1(v2) = v0))
% 13.53/2.67 | (13) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: uni]
% 13.53/2.67 | : ! [v3: ty] : (v1 = v0 | ~ (sort(v3, v2) = v1) | ~ (sort(v3, v2) =
% 13.53/2.67 | v0))
% 13.53/2.67 | (14) ! [v0: ty] : ! [v1: ty] : ! [v2: ty] : ! [v3: ty] : (v1 = v0 | ~
% 13.53/2.67 | (map(v3, v2) = v1) | ~ (map(v3, v2) = v0))
% 13.53/2.67 | (15) ! [v0: int] : ! [v1: int] : ! [v2: uni] : ! [v3: ty] : (v1 = v0 |
% 13.53/2.67 | ~ (length(v3, v2) = v1) | ~ (length(v3, v2) = v0))
% 13.53/2.67 | (16) ! [v0: uni] : ! [v1: uni] : ! [v2: int] : ! [v3: uni] : ! [v4:
% 13.53/2.67 | ty] : (v1 = v0 | ~ (get1(v4, v3, v2) = v1) | ~ (get1(v4, v3, v2) =
% 13.53/2.67 | v0))
% 13.53/2.67 |
% 13.53/2.67 | DELTA: instantiating (7) with fresh symbol all_52_0 gives:
% 13.53/2.67 | (17) map(int, int) = all_52_0 & ty(all_52_0) & ! [v0: map_int_int] : !
% 13.53/2.67 | [v1: uni] : ( ~ (t2tb2(v0) = v1) | ~ map_int_int(v0) | sort(all_52_0,
% 13.53/2.67 | v1) = 0)
% 13.53/2.67 |
% 13.53/2.67 | ALPHA: (17) implies:
% 13.53/2.67 | (18) map(int, int) = all_52_0
% 13.53/2.67 | (19) ! [v0: map_int_int] : ! [v1: uni] : ( ~ (t2tb2(v0) = v1) | ~
% 13.53/2.67 | map_int_int(v0) | sort(all_52_0, v1) = 0)
% 13.53/2.67 |
% 13.53/2.67 | DELTA: instantiating (9) with fresh symbols all_59_0, all_59_1, all_59_2,
% 13.53/2.67 | all_59_3, all_59_4, all_59_5, all_59_6, all_59_7, all_59_8, all_59_9,
% 13.53/2.67 | all_59_10, all_59_11, all_59_12, all_59_13 gives:
% 13.53/2.67 | (20) ~ (all_59_0 = 0) & $lesseq(1, $sum($difference($product(-1,
% 13.53/2.67 | all_59_6), all_59_10), all_59_13)) & $lesseq(1,
% 13.53/2.67 | $sum($difference($product(-1, all_59_6), all_59_11), all_59_13)) &
% 13.53/2.67 | $lesseq(0, $sum(all_59_6, all_59_10)) & $lesseq(0, $sum(all_59_6,
% 13.53/2.67 | all_59_11)) & $lesseq(1, $difference(all_59_13, all_59_10)) &
% 13.53/2.67 | $lesseq(0, all_59_10) & $lesseq(1, $difference(all_59_13, all_59_11))
% 13.53/2.67 | & $lesseq(0, all_59_11) & t2tb2(all_59_12) = all_59_9 &
% 13.53/2.67 | eqseq(all_59_7, all_59_11, all_59_10, $sum(all_59_6, 1)) = all_59_0 &
% 13.53/2.67 | eqseq(all_59_7, all_59_11, all_59_10, all_59_6) = 0 & tb2t1(all_59_8)
% 13.53/2.67 | = all_59_7 & tb2t(all_59_1) = all_59_3 & tb2t(all_59_4) = all_59_3 &
% 13.53/2.67 | t2tb($sum(all_59_6, all_59_10)) = all_59_2 & t2tb($sum(all_59_6,
% 13.53/2.67 | all_59_11)) = all_59_5 & mk_array(int, all_59_13, all_59_9) =
% 13.53/2.67 | all_59_8 & get(int, int, all_59_9, all_59_2) = all_59_1 & get(int,
% 13.53/2.67 | int, all_59_9, all_59_5) = all_59_4 & map_int_int(all_59_12) &
% 13.53/2.67 | array_int(all_59_7) & uni(all_59_1) & uni(all_59_2) & uni(all_59_4) &
% 13.53/2.67 | uni(all_59_5) & uni(all_59_8) & uni(all_59_9)
% 13.53/2.67 |
% 13.53/2.67 | ALPHA: (20) implies:
% 13.53/2.67 | (21) ~ (all_59_0 = 0)
% 13.53/2.67 | (22) $lesseq(1, $sum($difference($product(-1, all_59_6), all_59_11),
% 13.53/2.67 | all_59_13))
% 13.53/2.67 | (23) $lesseq(1, $sum($difference($product(-1, all_59_6), all_59_10),
% 13.53/2.67 | all_59_13))
% 13.53/2.67 | (24) uni(all_59_9)
% 13.53/2.67 | (25) uni(all_59_8)
% 13.53/2.67 | (26) uni(all_59_4)
% 13.53/2.67 | (27) uni(all_59_1)
% 13.53/2.67 | (28) array_int(all_59_7)
% 13.53/2.67 | (29) map_int_int(all_59_12)
% 13.53/2.67 | (30) get(int, int, all_59_9, all_59_5) = all_59_4
% 13.53/2.67 | (31) get(int, int, all_59_9, all_59_2) = all_59_1
% 13.53/2.67 | (32) mk_array(int, all_59_13, all_59_9) = all_59_8
% 13.53/2.67 | (33) t2tb($sum(all_59_6, all_59_11)) = all_59_5
% 13.53/2.67 | (34) t2tb($sum(all_59_6, all_59_10)) = all_59_2
% 13.53/2.67 | (35) tb2t(all_59_4) = all_59_3
% 13.53/2.67 | (36) tb2t(all_59_1) = all_59_3
% 13.53/2.67 | (37) tb2t1(all_59_8) = all_59_7
% 13.53/2.68 | (38) eqseq(all_59_7, all_59_11, all_59_10, all_59_6) = 0
% 13.53/2.68 | (39) eqseq(all_59_7, all_59_11, all_59_10, $sum(all_59_6, 1)) = all_59_0
% 13.53/2.68 | (40) t2tb2(all_59_12) = all_59_9
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (length_def) with int, all_59_13, all_59_9,
% 13.53/2.68 | all_59_8, simplifying with (8), (24), (32) gives:
% 13.53/2.68 | (41) length(int, all_59_8) = all_59_13
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (1) with int, all_59_13, all_59_9, all_59_8,
% 13.53/2.68 | simplifying with (8), (24), (32) gives:
% 13.53/2.68 | (42) ? [v0: ty] : ? [v1: any] : ? [v2: uni] : (elts(int, all_59_8) = v2
% 13.53/2.68 | & map(int, int) = v0 & sort(v0, all_59_9) = v1 & ty(v0) & uni(v2) &
% 13.53/2.68 | ( ~ (v1 = 0) | v2 = all_59_9))
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (bridgeR) with all_59_4, all_59_3, simplifying with
% 13.53/2.68 | (26), (35) gives:
% 13.53/2.68 | (43) t2tb(all_59_3) = all_59_4
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (bridgeR) with all_59_1, all_59_3, simplifying with
% 13.53/2.68 | (27), (36) gives:
% 13.53/2.68 | (44) t2tb(all_59_3) = all_59_1
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (bridgeR1) with all_59_8, all_59_7, simplifying
% 13.53/2.68 | with (25), (37) gives:
% 13.53/2.68 | (45) t2tb1(all_59_7) = all_59_8
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (4) with all_59_7, all_59_11, all_59_10, all_59_6,
% 13.53/2.68 | simplifying with (28), (38) gives:
% 13.53/2.68 | (46) $lesseq(0, all_59_6)
% 13.53/2.68 |
% 13.53/2.68 | GROUND_INST: instantiating (3) with all_59_7, all_59_11, all_59_10, all_59_6,
% 13.53/2.68 | simplifying with (28), (38) gives:
% 13.53/2.69 | (47) ? [v0: uni] : ? [v1: int] : ($lesseq(all_59_10, $difference(v1,
% 13.53/2.69 | all_59_6)) & $lesseq(all_59_11, $difference(v1, all_59_6)) &
% 13.53/2.69 | t2tb1(all_59_7) = v0 & length(int, v0) = v1 & uni(v0) & ! [v2: int]
% 13.53/2.69 | : ! [v3: uni] : ( ~ ($lesseq(1, $difference(all_59_6, v2))) | ~
% 13.53/2.69 | ($lesseq(0, v2)) | ~ (get1(int, v0, $sum(v2, all_59_10)) = v3) |
% 13.53/2.69 | ? [v4: uni] : ? [v5: int] : (tb2t(v4) = v5 & tb2t(v3) = v5 &
% 13.53/2.69 | get1(int, v0, $sum(v2, all_59_11)) = v4 & uni(v4))) & ! [v2:
% 13.53/2.69 | int] : ! [v3: uni] : ( ~ ($lesseq(1, $difference(all_59_6, v2)))
% 13.53/2.69 | | ~ ($lesseq(0, v2)) | ~ (get1(int, v0, $sum(v2, all_59_11)) =
% 13.53/2.69 | v3) | ? [v4: int] : ? [v5: uni] : (tb2t(v5) = v4 & tb2t(v3) =
% 13.53/2.69 | v4 & get1(int, v0, $sum(v2, all_59_10)) = v5 & uni(v5))))
% 13.53/2.69 |
% 13.53/2.69 | GROUND_INST: instantiating (5) with all_59_7, all_59_11, all_59_10,
% 13.53/2.69 | $sum(all_59_6, 1), all_59_0, simplifying with (28), (39) gives:
% 13.53/2.69 | (48) all_59_0 = 0 | ~ ($lesseq(-1, all_59_6)) | ? [v0: uni] : ? [v1:
% 13.53/2.69 | int] : ? [v2: int] : ? [v3: uni] : ? [v4: int] : ? [v5: uni] :
% 13.53/2.69 | ? [v6: int] : (t2tb1(all_59_7) = v0 & length(int, v0) = v1 & uni(v0) &
% 13.53/2.69 | ( ~ ($lesseq(1, $difference($difference(v1, all_59_6), all_59_10)))
% 13.53/2.69 | | ~ ($lesseq(1, $difference($difference(v1, all_59_6),
% 13.53/2.69 | all_59_11))) | ( ~ (v6 = v4) & $lesseq(v2, all_59_6) &
% 13.53/2.69 | $lesseq(0, v2) & tb2t(v5) = v6 & tb2t(v3) = v4 & get1(int, v0,
% 13.53/2.69 | $sum(v2, all_59_10)) = v5 & get1(int, v0, $sum(v2, all_59_11))
% 13.53/2.69 | = v3 & uni(v5) & uni(v3))))
% 13.53/2.69 |
% 13.53/2.69 | GROUND_INST: instantiating (19) with all_59_12, all_59_9, simplifying with
% 13.53/2.69 | (29), (40) gives:
% 13.53/2.69 | (49) sort(all_52_0, all_59_9) = 0
% 13.53/2.69 |
% 13.53/2.69 | DELTA: instantiating (42) with fresh symbols all_72_0, all_72_1, all_72_2
% 13.53/2.69 | gives:
% 13.53/2.69 | (50) elts(int, all_59_8) = all_72_0 & map(int, int) = all_72_2 &
% 13.53/2.69 | sort(all_72_2, all_59_9) = all_72_1 & ty(all_72_2) & uni(all_72_0) & (
% 13.53/2.69 | ~ (all_72_1 = 0) | all_72_0 = all_59_9)
% 13.53/2.69 |
% 13.53/2.69 | ALPHA: (50) implies:
% 13.53/2.69 | (51) sort(all_72_2, all_59_9) = all_72_1
% 13.53/2.69 | (52) map(int, int) = all_72_2
% 13.53/2.69 | (53) elts(int, all_59_8) = all_72_0
% 13.53/2.69 | (54) ~ (all_72_1 = 0) | all_72_0 = all_59_9
% 13.53/2.69 |
% 13.53/2.69 | DELTA: instantiating (47) with fresh symbols all_74_0, all_74_1 gives:
% 13.53/2.69 | (55) $lesseq(all_59_10, $difference(all_74_0, all_59_6)) &
% 13.53/2.69 | $lesseq(all_59_11, $difference(all_74_0, all_59_6)) & t2tb1(all_59_7)
% 13.53/2.69 | = all_74_1 & length(int, all_74_1) = all_74_0 & uni(all_74_1) & !
% 13.53/2.69 | [v0: int] : ! [v1: uni] : ( ~ ($lesseq(1, $difference(all_59_6, v0)))
% 13.53/2.69 | | ~ ($lesseq(0, v0)) | ~ (get1(int, all_74_1, $sum(v0, all_59_10))
% 13.53/2.69 | = v1) | ? [v2: uni] : ? [v3: int] : (tb2t(v2) = v3 & tb2t(v1) =
% 13.53/2.69 | v3 & get1(int, all_74_1, $sum(v0, all_59_11)) = v2 & uni(v2))) &
% 13.53/2.69 | ! [v0: int] : ! [v1: uni] : ( ~ ($lesseq(1, $difference(all_59_6,
% 13.53/2.69 | v0))) | ~ ($lesseq(0, v0)) | ~ (get1(int, all_74_1, $sum(v0,
% 13.53/2.69 | all_59_11)) = v1) | ? [v2: int] : ? [v3: uni] : (tb2t(v3) =
% 13.53/2.69 | v2 & tb2t(v1) = v2 & get1(int, all_74_1, $sum(v0, all_59_10)) = v3
% 13.53/2.69 | & uni(v3)))
% 13.53/2.69 |
% 13.53/2.69 | ALPHA: (55) implies:
% 13.53/2.69 | (56) uni(all_74_1)
% 13.53/2.69 | (57) length(int, all_74_1) = all_74_0
% 13.53/2.69 | (58) t2tb1(all_59_7) = all_74_1
% 13.53/2.69 |
% 13.53/2.69 | BETA: splitting (48) gives:
% 13.53/2.69 |
% 13.53/2.69 | Case 1:
% 13.53/2.69 | |
% 13.53/2.69 | | (59) $lesseq(all_59_6, -2)
% 13.53/2.69 | |
% 13.53/2.69 | | COMBINE_INEQS: (46), (59) imply:
% 13.53/2.69 | | (60) $false
% 13.53/2.69 | |
% 13.53/2.69 | | CLOSE: (60) is inconsistent.
% 13.53/2.69 | |
% 13.53/2.69 | Case 2:
% 13.53/2.69 | |
% 13.53/2.70 | | (61) all_59_0 = 0 | ? [v0: uni] : ? [v1: int] : ? [v2: int] : ? [v3:
% 13.53/2.70 | | uni] : ? [v4: int] : ? [v5: uni] : ? [v6: int] :
% 13.53/2.70 | | (t2tb1(all_59_7) = v0 & length(int, v0) = v1 & uni(v0) & ( ~
% 13.53/2.70 | | ($lesseq(1, $difference($difference(v1, all_59_6), all_59_10)))
% 13.53/2.70 | | | ~ ($lesseq(1, $difference($difference(v1, all_59_6),
% 13.53/2.70 | | all_59_11))) | ( ~ (v6 = v4) & $lesseq(v2, all_59_6) &
% 13.53/2.70 | | $lesseq(0, v2) & tb2t(v5) = v6 & tb2t(v3) = v4 & get1(int, v0,
% 13.53/2.70 | | $sum(v2, all_59_10)) = v5 & get1(int, v0, $sum(v2,
% 13.53/2.70 | | all_59_11)) = v3 & uni(v5) & uni(v3))))
% 13.53/2.70 | |
% 13.53/2.70 | | BETA: splitting (61) gives:
% 13.53/2.70 | |
% 13.53/2.70 | | Case 1:
% 13.53/2.70 | | |
% 13.53/2.70 | | | (62) all_59_0 = 0
% 13.53/2.70 | | |
% 13.53/2.70 | | | REDUCE: (21), (62) imply:
% 13.53/2.70 | | | (63) $false
% 13.53/2.70 | | |
% 13.53/2.70 | | | CLOSE: (63) is inconsistent.
% 13.53/2.70 | | |
% 13.53/2.70 | | Case 2:
% 13.53/2.70 | | |
% 13.53/2.70 | | | (64) ? [v0: uni] : ? [v1: int] : ? [v2: int] : ? [v3: uni] : ?
% 13.53/2.70 | | | [v4: int] : ? [v5: uni] : ? [v6: int] : (t2tb1(all_59_7) = v0 &
% 13.53/2.70 | | | length(int, v0) = v1 & uni(v0) & ( ~ ($lesseq(1,
% 13.53/2.70 | | | $difference($difference(v1, all_59_6), all_59_10))) | ~
% 13.53/2.70 | | | ($lesseq(1, $difference($difference(v1, all_59_6),
% 13.53/2.70 | | | all_59_11))) | ( ~ (v6 = v4) & $lesseq(v2, all_59_6) &
% 13.53/2.70 | | | $lesseq(0, v2) & tb2t(v5) = v6 & tb2t(v3) = v4 & get1(int,
% 13.53/2.70 | | | v0, $sum(v2, all_59_10)) = v5 & get1(int, v0, $sum(v2,
% 13.53/2.70 | | | all_59_11)) = v3 & uni(v5) & uni(v3))))
% 13.53/2.70 | | |
% 13.53/2.70 | | | DELTA: instantiating (64) with fresh symbols all_88_0, all_88_1, all_88_2,
% 13.53/2.70 | | | all_88_3, all_88_4, all_88_5, all_88_6 gives:
% 13.53/2.70 | | | (65) t2tb1(all_59_7) = all_88_6 & length(int, all_88_6) = all_88_5 &
% 13.53/2.70 | | | uni(all_88_6) & ( ~ ($lesseq(1, $difference($difference(all_88_5,
% 13.53/2.70 | | | all_59_6), all_59_10))) | ~ ($lesseq(1,
% 13.53/2.70 | | | $difference($difference(all_88_5, all_59_6), all_59_11))) |
% 13.53/2.70 | | | ( ~ (all_88_0 = all_88_2) & $lesseq(all_88_4, all_59_6) &
% 13.53/2.70 | | | $lesseq(0, all_88_4) & tb2t(all_88_1) = all_88_0 &
% 13.53/2.70 | | | tb2t(all_88_3) = all_88_2 & get1(int, all_88_6, $sum(all_88_4,
% 13.53/2.70 | | | all_59_10)) = all_88_1 & get1(int, all_88_6,
% 13.53/2.70 | | | $sum(all_88_4, all_59_11)) = all_88_3 & uni(all_88_1) &
% 13.53/2.70 | | | uni(all_88_3)))
% 13.53/2.70 | | |
% 13.53/2.70 | | | ALPHA: (65) implies:
% 13.53/2.70 | | | (66) length(int, all_88_6) = all_88_5
% 13.53/2.70 | | | (67) t2tb1(all_59_7) = all_88_6
% 13.53/2.70 | | | (68) ~ ($lesseq(1, $difference($difference(all_88_5, all_59_6),
% 13.53/2.70 | | | all_59_10))) | ~ ($lesseq(1,
% 13.53/2.70 | | | $difference($difference(all_88_5, all_59_6), all_59_11))) | (
% 13.53/2.70 | | | ~ (all_88_0 = all_88_2) & $lesseq(all_88_4, all_59_6) &
% 13.53/2.70 | | | $lesseq(0, all_88_4) & tb2t(all_88_1) = all_88_0 &
% 13.53/2.70 | | | tb2t(all_88_3) = all_88_2 & get1(int, all_88_6, $sum(all_88_4,
% 13.53/2.70 | | | all_59_10)) = all_88_1 & get1(int, all_88_6, $sum(all_88_4,
% 13.53/2.70 | | | all_59_11)) = all_88_3 & uni(all_88_1) & uni(all_88_3))
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (14) with all_52_0, all_72_2, int, int,
% 13.53/2.70 | | | simplifying with (18), (52) gives:
% 13.53/2.70 | | | (69) all_72_2 = all_52_0
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (10) with all_59_4, all_59_1, all_59_3,
% 13.53/2.70 | | | simplifying with (43), (44) gives:
% 13.53/2.70 | | | (70) all_59_1 = all_59_4
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (12) with all_74_1, all_88_6, all_59_7,
% 13.53/2.70 | | | simplifying with (58), (67) gives:
% 13.53/2.70 | | | (71) all_88_6 = all_74_1
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (12) with all_59_8, all_88_6, all_59_7,
% 13.53/2.70 | | | simplifying with (45), (67) gives:
% 13.53/2.70 | | | (72) all_88_6 = all_59_8
% 13.53/2.70 | | |
% 13.53/2.70 | | | COMBINE_EQS: (71), (72) imply:
% 13.53/2.70 | | | (73) all_74_1 = all_59_8
% 13.53/2.70 | | |
% 13.53/2.70 | | | SIMP: (73) implies:
% 13.53/2.70 | | | (74) all_74_1 = all_59_8
% 13.53/2.70 | | |
% 13.53/2.70 | | | REDUCE: (66), (72) imply:
% 13.53/2.70 | | | (75) length(int, all_59_8) = all_88_5
% 13.53/2.70 | | |
% 13.53/2.70 | | | REDUCE: (57), (74) imply:
% 13.53/2.70 | | | (76) length(int, all_59_8) = all_74_0
% 13.53/2.70 | | |
% 13.53/2.70 | | | REDUCE: (31), (70) imply:
% 13.53/2.70 | | | (77) get(int, int, all_59_9, all_59_2) = all_59_4
% 13.53/2.70 | | |
% 13.53/2.70 | | | REDUCE: (51), (69) imply:
% 13.53/2.70 | | | (78) sort(all_52_0, all_59_9) = all_72_1
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (13) with 0, all_72_1, all_59_9, all_52_0,
% 13.53/2.70 | | | simplifying with (49), (78) gives:
% 13.53/2.70 | | | (79) all_72_1 = 0
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (15) with all_59_13, all_88_5, all_59_8, int,
% 13.53/2.70 | | | simplifying with (41), (75) gives:
% 13.53/2.70 | | | (80) all_88_5 = all_59_13
% 13.53/2.70 | | |
% 13.53/2.70 | | | GROUND_INST: instantiating (15) with all_74_0, all_88_5, all_59_8, int,
% 13.53/2.70 | | | simplifying with (75), (76) gives:
% 13.53/2.70 | | | (81) all_88_5 = all_74_0
% 13.53/2.70 | | |
% 13.53/2.70 | | | COMBINE_EQS: (80), (81) imply:
% 13.53/2.70 | | | (82) all_74_0 = all_59_13
% 13.53/2.70 | | |
% 13.53/2.70 | | | BETA: splitting (54) gives:
% 13.53/2.70 | | |
% 13.53/2.70 | | | Case 1:
% 13.53/2.70 | | | |
% 13.53/2.70 | | | | (83) ~ (all_72_1 = 0)
% 13.53/2.70 | | | |
% 13.53/2.70 | | | | REDUCE: (79), (83) imply:
% 13.53/2.70 | | | | (84) $false
% 13.53/2.70 | | | |
% 13.53/2.70 | | | | CLOSE: (84) is inconsistent.
% 13.53/2.70 | | | |
% 13.53/2.70 | | | Case 2:
% 13.53/2.70 | | | |
% 13.53/2.70 | | | | (85) all_72_0 = all_59_9
% 13.53/2.70 | | | |
% 13.53/2.70 | | | | REDUCE: (53), (85) imply:
% 13.53/2.71 | | | | (86) elts(int, all_59_8) = all_59_9
% 13.53/2.71 | | | |
% 13.53/2.71 | | | | BETA: splitting (68) gives:
% 13.53/2.71 | | | |
% 13.53/2.71 | | | | Case 1:
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | (87) $lesseq(0, $sum($difference(all_59_6, all_88_5), all_59_10))
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | REDUCE: (80), (87) imply:
% 13.53/2.71 | | | | | (88) $lesseq(all_59_13, $sum(all_59_6, all_59_10))
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | COMBINE_INEQS: (23), (88) imply:
% 13.53/2.71 | | | | | (89) $false
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | CLOSE: (89) is inconsistent.
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | Case 2:
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | (90) ~ ($lesseq(1, $difference($difference(all_88_5, all_59_6),
% 13.53/2.71 | | | | | all_59_11))) | ( ~ (all_88_0 = all_88_2) &
% 13.53/2.71 | | | | | $lesseq(all_88_4, all_59_6) & $lesseq(0, all_88_4) &
% 13.53/2.71 | | | | | tb2t(all_88_1) = all_88_0 & tb2t(all_88_3) = all_88_2 &
% 13.53/2.71 | | | | | get1(int, all_88_6, $sum(all_88_4, all_59_10)) = all_88_1 &
% 13.53/2.71 | | | | | get1(int, all_88_6, $sum(all_88_4, all_59_11)) = all_88_3 &
% 13.53/2.71 | | | | | uni(all_88_1) & uni(all_88_3))
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | BETA: splitting (90) gives:
% 13.53/2.71 | | | | |
% 13.53/2.71 | | | | | Case 1:
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | (91) $lesseq(0, $sum($difference(all_59_6, all_88_5), all_59_11))
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | REDUCE: (80), (91) imply:
% 13.53/2.71 | | | | | | (92) $lesseq(all_59_13, $sum(all_59_6, all_59_11))
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | COMBINE_INEQS: (22), (92) imply:
% 13.53/2.71 | | | | | | (93) $false
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | CLOSE: (93) is inconsistent.
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | Case 2:
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | (94) ~ (all_88_0 = all_88_2) & $lesseq(all_88_4, all_59_6) &
% 13.53/2.71 | | | | | | $lesseq(0, all_88_4) & tb2t(all_88_1) = all_88_0 &
% 13.53/2.71 | | | | | | tb2t(all_88_3) = all_88_2 & get1(int, all_88_6,
% 13.53/2.71 | | | | | | $sum(all_88_4, all_59_10)) = all_88_1 & get1(int,
% 13.53/2.71 | | | | | | all_88_6, $sum(all_88_4, all_59_11)) = all_88_3 &
% 13.53/2.71 | | | | | | uni(all_88_1) & uni(all_88_3)
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | ALPHA: (94) implies:
% 13.53/2.71 | | | | | | (95) ~ (all_88_0 = all_88_2)
% 13.53/2.71 | | | | | | (96) $lesseq(0, all_88_4)
% 13.53/2.71 | | | | | | (97) $lesseq(all_88_4, all_59_6)
% 13.53/2.71 | | | | | | (98) get1(int, all_88_6, $sum(all_88_4, all_59_11)) = all_88_3
% 13.53/2.71 | | | | | | (99) get1(int, all_88_6, $sum(all_88_4, all_59_10)) = all_88_1
% 13.53/2.71 | | | | | | (100) tb2t(all_88_3) = all_88_2
% 13.53/2.71 | | | | | | (101) tb2t(all_88_1) = all_88_0
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | REDUCE: (72), (99) imply:
% 13.53/2.71 | | | | | | (102) get1(int, all_59_8, $sum(all_88_4, all_59_10)) = all_88_1
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | REDUCE: (72), (98) imply:
% 13.53/2.71 | | | | | | (103) get1(int, all_59_8, $sum(all_88_4, all_59_11)) = all_88_3
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | GROUND_INST: instantiating (2) with int, all_59_8, $sum(all_59_6,
% 13.53/2.71 | | | | | | all_59_10), all_59_9, all_59_2, all_59_4, simplifying
% 13.53/2.71 | | | | | | with (8), (25), (34), (77), (86) gives:
% 13.53/2.71 | | | | | | (104) get1(int, all_59_8, $sum(all_59_6, all_59_10)) = all_59_4 &
% 13.53/2.71 | | | | | | uni(all_59_4)
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | ALPHA: (104) implies:
% 13.53/2.71 | | | | | | (105) get1(int, all_59_8, $sum(all_59_6, all_59_10)) = all_59_4
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | GROUND_INST: instantiating (2) with int, all_59_8, $sum(all_59_6,
% 13.53/2.71 | | | | | | all_59_11), all_59_9, all_59_5, all_59_4, simplifying
% 13.53/2.71 | | | | | | with (8), (25), (30), (33), (86) gives:
% 13.53/2.71 | | | | | | (106) get1(int, all_59_8, $sum(all_59_6, all_59_11)) = all_59_4 &
% 13.53/2.71 | | | | | | uni(all_59_4)
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | ALPHA: (106) implies:
% 13.53/2.71 | | | | | | (107) get1(int, all_59_8, $sum(all_59_6, all_59_11)) = all_59_4
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | GROUND_INST: instantiating (6) with all_59_7, all_59_11, all_59_10,
% 13.53/2.71 | | | | | | all_88_4, all_59_8, all_88_3, all_88_2, all_88_1,
% 13.53/2.71 | | | | | | all_88_0, all_59_6, simplifying with (28), (38), (45),
% 13.53/2.71 | | | | | | (100), (101), (102), (103) gives:
% 13.53/2.71 | | | | | | (108) all_88_0 = all_88_2 | ~ ($lesseq(1, $difference(all_59_6,
% 13.53/2.71 | | | | | | all_88_4))) | ~ ($lesseq(0, all_88_4))
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | BETA: splitting (108) gives:
% 13.53/2.71 | | | | | |
% 13.53/2.71 | | | | | | Case 1:
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | (109) $lesseq(all_88_4, -1)
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | COMBINE_INEQS: (96), (109) imply:
% 13.53/2.71 | | | | | | | (110) $false
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | CLOSE: (110) is inconsistent.
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | Case 2:
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | (111) all_88_0 = all_88_2 | ~ ($lesseq(1,
% 13.53/2.71 | | | | | | | $difference(all_59_6, all_88_4)))
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | BETA: splitting (111) gives:
% 13.53/2.71 | | | | | | |
% 13.53/2.71 | | | | | | | Case 1:
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | (112) $lesseq(all_59_6, all_88_4)
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | ANTI_SYMM: (97), (112) imply:
% 13.53/2.71 | | | | | | | | (113) all_88_4 = all_59_6
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | REDUCE: (102), (113) imply:
% 13.53/2.71 | | | | | | | | (114) get1(int, all_59_8, $sum(all_59_6, all_59_10)) =
% 13.53/2.71 | | | | | | | | all_88_1
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | REDUCE: (103), (113) imply:
% 13.53/2.71 | | | | | | | | (115) get1(int, all_59_8, $sum(all_59_6, all_59_11)) =
% 13.53/2.71 | | | | | | | | all_88_3
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | GROUND_INST: instantiating (16) with all_59_4, all_88_3,
% 13.53/2.71 | | | | | | | | $sum(all_59_6, all_59_11), all_59_8, int,
% 13.53/2.71 | | | | | | | | simplifying with (107), (115) gives:
% 13.53/2.71 | | | | | | | | (116) all_88_3 = all_59_4
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | GROUND_INST: instantiating (16) with all_59_4, all_88_1,
% 13.53/2.71 | | | | | | | | $sum(all_59_6, all_59_10), all_59_8, int,
% 13.53/2.71 | | | | | | | | simplifying with (105), (114) gives:
% 13.53/2.71 | | | | | | | | (117) all_88_1 = all_59_4
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | REDUCE: (101), (117) imply:
% 13.53/2.71 | | | | | | | | (118) tb2t(all_59_4) = all_88_0
% 13.53/2.71 | | | | | | | |
% 13.53/2.71 | | | | | | | | REDUCE: (100), (116) imply:
% 13.53/2.72 | | | | | | | | (119) tb2t(all_59_4) = all_88_2
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | GROUND_INST: instantiating (11) with all_59_3, all_88_0,
% 13.53/2.72 | | | | | | | | all_59_4, simplifying with (35), (118) gives:
% 13.53/2.72 | | | | | | | | (120) all_88_0 = all_59_3
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | GROUND_INST: instantiating (11) with all_88_2, all_88_0,
% 13.53/2.72 | | | | | | | | all_59_4, simplifying with (118), (119) gives:
% 13.53/2.72 | | | | | | | | (121) all_88_0 = all_88_2
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | COMBINE_EQS: (120), (121) imply:
% 13.53/2.72 | | | | | | | | (122) all_88_2 = all_59_3
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | REDUCE: (95), (120), (122) imply:
% 13.53/2.72 | | | | | | | | (123) $false
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | CLOSE: (123) is inconsistent.
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | Case 2:
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | (124) all_88_0 = all_88_2
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | REDUCE: (95), (124) imply:
% 13.53/2.72 | | | | | | | | (125) $false
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | | CLOSE: (125) is inconsistent.
% 13.53/2.72 | | | | | | | |
% 13.53/2.72 | | | | | | | End of split
% 13.53/2.72 | | | | | | |
% 13.53/2.72 | | | | | | End of split
% 13.53/2.72 | | | | | |
% 13.53/2.72 | | | | | End of split
% 13.53/2.72 | | | | |
% 13.53/2.72 | | | | End of split
% 13.53/2.72 | | | |
% 13.53/2.72 | | | End of split
% 13.53/2.72 | | |
% 13.53/2.72 | | End of split
% 13.53/2.72 | |
% 13.53/2.72 | End of split
% 13.53/2.72 |
% 13.53/2.72 End of proof
% 13.53/2.72 % SZS output end Proof for theBenchmark
% 13.53/2.72
% 13.53/2.72 2113ms
%------------------------------------------------------------------------------