%------------------------------------------------------------------------------ % 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 %------------------------------------------------------------------------------