%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : DAT043_1 : TPTP v8.1.2. Released v5.0.0. % Transfm : none % Format : tptp % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % Computer : n010.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 300s % DateTime : Wed Aug 30 22:18:59 EDT 2023 % Result : Theorem 10.66s 2.26s % Output : Proof 19.25s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.13 % Problem : DAT043_1 : TPTP v8.1.2. Released v5.0.0. % 0.00/0.13 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.13/0.35 % Computer : n010.cluster.edu % 0.13/0.35 % Model : x86_64 x86_64 % 0.13/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.35 % Memory : 8042.1875MB % 0.13/0.35 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.35 % CPULimit : 300 % 0.13/0.35 % WCLimit : 300 % 0.13/0.35 % DateTime : Thu Aug 24 14:20:50 EDT 2023 % 0.13/0.35 % 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.61 Running up to 7 provers in parallel. % 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 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 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 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 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 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 % 2.60/1.07 Prover 4: Preprocessing ... % 2.60/1.09 Prover 1: Preprocessing ... % 2.98/1.11 Prover 6: Preprocessing ... % 2.98/1.12 Prover 2: Preprocessing ... % 2.98/1.12 Prover 3: Preprocessing ... % 2.98/1.12 Prover 5: Preprocessing ... % 2.98/1.12 Prover 0: Preprocessing ... % 4.40/1.37 Prover 5: Proving ... % 4.40/1.40 Prover 3: Constructing countermodel ... % 4.40/1.42 Prover 1: Constructing countermodel ... % 4.40/1.43 Prover 6: Constructing countermodel ... % 5.44/1.46 Prover 2: Proving ... % 5.44/1.47 Prover 0: Proving ... % 5.44/1.48 Prover 4: Constructing countermodel ... % 6.22/1.56 Prover 6: gave up % 6.22/1.57 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 6.22/1.58 Prover 3: gave up % 6.22/1.58 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 6.22/1.61 Prover 1: gave up % 6.22/1.62 Prover 9: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allMinimal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1423531889 % 6.22/1.63 Prover 7: Preprocessing ... % 6.22/1.64 Prover 8: Preprocessing ... % 6.22/1.65 Prover 9: Preprocessing ... % 7.25/1.73 Prover 7: Constructing countermodel ... % 7.61/1.76 Prover 8: Warning: ignoring some quantifiers % 7.61/1.76 Prover 8: Constructing countermodel ... % 7.61/1.77 Prover 9: Constructing countermodel ... % 7.61/1.80 Prover 7: gave up % 7.61/1.82 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 8.37/1.87 Prover 10: Preprocessing ... % 8.37/1.88 Prover 8: gave up % 8.37/1.88 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 8.79/1.90 Prover 11: Preprocessing ... % 9.17/1.97 Prover 10: Constructing countermodel ... % 9.17/2.01 Prover 11: Constructing countermodel ... % 9.17/2.01 Prover 10: gave up % 9.17/2.02 Prover 12: Options: -triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=2024365391 % 9.17/2.06 Prover 12: Preprocessing ... % 10.66/2.20 Prover 12: Proving ... % 10.66/2.26 Prover 0: proved (1634ms) % 10.66/2.26 % 10.66/2.26 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 10.66/2.26 % 10.66/2.26 Prover 9: stopped % 10.66/2.26 Prover 5: stopped % 10.66/2.26 Prover 12: stopped % 10.66/2.26 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 10.66/2.26 Prover 16: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=completeFrugal -randomSeed=-2043353683 % 10.66/2.26 Prover 19: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=-1780594085 % 11.37/2.27 Prover 2: stopped % 11.37/2.28 Prover 19: Preprocessing ... % 11.37/2.28 Prover 13: Preprocessing ... % 11.37/2.29 Prover 16: Preprocessing ... % 11.83/2.34 Prover 16: Warning: ignoring some quantifiers % 11.83/2.35 Prover 16: Constructing countermodel ... % 11.83/2.35 Prover 19: Warning: ignoring some quantifiers % 11.83/2.35 Prover 13: Warning: ignoring some quantifiers % 11.83/2.36 Prover 19: Constructing countermodel ... % 11.83/2.36 Prover 13: Constructing countermodel ... % 12.55/2.49 Prover 13: gave up % 13.06/2.54 Prover 19: gave up % 14.01/2.75 Prover 16: gave up % 17.88/3.39 Prover 4: Found proof (size 243) % 17.88/3.39 Prover 4: proved (2767ms) % 17.88/3.39 Prover 11: stopped % 17.88/3.39 % 17.88/3.40 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 17.88/3.40 % 18.20/3.46 % SZS output start Proof for theBenchmark % 18.20/3.46 Assumptions after simplification: % 18.20/3.46 --------------------------------- % 18.20/3.46 % 18.20/3.46 (ax1) % 18.20/3.48 collection(empty) & ! [v0: collection] : ! [v1: int] : ( ~ ($lesseq(v1, -1)) % 18.20/3.48 | ~ (count(v0) = v1) | ~ collection(v0)) & ! [v0: int] : ~ (in(v0, % 18.20/3.48 empty) = 0) % 18.20/3.48 % 18.20/3.48 (ax2) % 18.20/3.48 collection(empty) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : % 18.20/3.48 ( ~ (add(v0, v1) = v2) | ~ collection(v1) | in(v0, v2) = 0) & ! [v0: % 18.20/3.48 collection] : (v0 = empty | ~ (count(v0) = 0) | ~ collection(v0)) & ! % 18.20/3.48 [v0: int] : (v0 = 0 | ~ (count(empty) = v0)) % 18.20/3.48 % 18.20/3.48 (ax3) % 18.20/3.49 ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | ~ (in(v0, v1) = % 18.20/3.49 v2) | ~ collection(v1) | ? [v3: collection] : ? [v4: int] : (add(v0, % 18.20/3.49 v1) = v3 & count(v3) = v4 & count(v1) = $sum(v4, -1) & collection(v3))) % 18.20/3.49 & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, % 18.20/3.49 v1) = v2) | ~ collection(v1) | ? [v3: int] : ( ~ (v3 = 0) & in(v0, v2) % 18.20/3.49 = v3)) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 18.20/3.49 (add(v0, v1) = v2) | ~ collection(v1) | ? [v3: any] : ? [v4: int] : ? % 18.20/3.49 [v5: int] : (count(v2) = v4 & count(v1) = v5 & in(v0, v1) = v3 & % 18.20/3.49 ($difference(v5, v4) = -1 | v3 = 0))) & ! [v0: int] : ! [v1: collection] % 18.20/3.49 : ! [v2: collection] : ( ~ (add(v0, v1) = v2) | ~ collection(v1) | ? [v3: % 18.20/3.49 int] : ? [v4: int] : ? [v5: any] : (count(v2) = v3 & count(v1) = v4 & % 18.20/3.49 in(v0, v1) = v5 & ( ~ (v5 = 0) | ~ ($difference(v4, v3) = -1)))) & ! % 18.20/3.49 [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ collection(v1) | % 18.20/3.49 ? [v2: collection] : ? [v3: int] : ? [v4: int] : ( ~ ($difference(v4, v3) % 18.20/3.49 = -1) & add(v0, v1) = v2 & count(v2) = v3 & count(v1) = v4 & % 18.20/3.49 collection(v2))) % 18.20/3.49 % 18.20/3.49 (ax4) % 18.20/3.50 ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : ! % 18.20/3.50 [v4: int] : (v4 = 0 | ~ (add(v2, v1) = v3) | ~ (in(v0, v3) = v4) | ~ % 18.20/3.50 collection(v1) | ? [v5: int] : ( ~ (v5 = 0) & in(v0, v1) = v5)) & ! [v0: % 18.20/3.50 int] : ! [v1: collection] : ! [v2: collection] : ! [v3: int] : (v3 = 0 | % 18.20/3.50 ~ (add(v0, v1) = v2) | ~ (in(v0, v2) = v3) | ~ collection(v1)) & ! [v0: % 18.20/3.50 int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : (v2 = v0 | % 18.20/3.50 ~ (add(v2, v1) = v3) | ~ (in(v0, v3) = 0) | ~ collection(v1) | in(v0, v1) % 18.20/3.50 = 0) & ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | ~ % 18.20/3.50 (in(v0, v1) = v2) | ~ collection(v1) | ? [v3: collection] : ? [v4: int] : % 18.20/3.50 ? [v5: int] : ( ~ (v5 = v4) & add(v0, v1) = v3 & count(v3) = v4 & count(v1) % 18.20/3.50 = v5 & collection(v3))) & ! [v0: int] : ! [v1: collection] : ! [v2: % 18.20/3.50 collection] : ( ~ (add(v0, v1) = v2) | ~ collection(v1) | ? [v3: any] : ? % 18.20/3.50 [v4: int] : ? [v5: int] : (count(v2) = v4 & count(v1) = v5 & in(v0, v1) = % 18.20/3.50 v3 & ( ~ (v3 = 0) | v5 = v4))) & ! [v0: int] : ! [v1: collection] : ! % 18.20/3.50 [v2: collection] : ( ~ (add(v0, v1) = v2) | ~ collection(v1) | ? [v3: int] : % 18.20/3.50 ? [v4: int] : ? [v5: any] : (count(v2) = v3 & count(v1) = v4 & in(v0, v1) % 18.20/3.50 = v5 & ( ~ (v4 = v3) | v5 = 0))) & ! [v0: int] : ! [v1: collection] : ( % 18.20/3.50 ~ (in(v0, v1) = 0) | ~ collection(v1) | ? [v2: collection] : ? [v3: int] % 18.20/3.50 : (add(v0, v1) = v2 & count(v2) = v3 & count(v1) = v3 & collection(v2))) % 18.20/3.50 % 18.20/3.50 (ax5) % 18.91/3.51 ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : ! % 18.91/3.51 [v4: int] : (v4 = 0 | v2 = v0 | ~ (remove(v2, v1) = v3) | ~ (in(v0, v3) = % 18.91/3.51 v4) | ~ collection(v1) | ? [v5: int] : ( ~ (v5 = 0) & in(v0, v1) = v5)) % 18.91/3.51 & ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : ( % 18.91/3.51 ~ (remove(v2, v1) = v3) | ~ (in(v0, v3) = 0) | ~ collection(v1) | in(v0, % 18.91/3.51 v1) = 0) & ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | % 18.91/3.51 ~ (in(v0, v1) = v2) | ~ collection(v1) | ? [v3: collection] : ? [v4: int] % 18.91/3.51 : ? [v5: int] : ( ~ ($difference(v5, v4) = 1) & remove(v0, v1) = v3 & % 18.91/3.51 count(v3) = v4 & count(v1) = v5 & collection(v3))) & ! [v0: int] : ! % 18.91/3.51 [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) = v2) | ~ % 18.91/3.51 (in(v0, v2) = 0) | ~ collection(v1)) & ! [v0: int] : ! [v1: collection] : % 18.91/3.51 ! [v2: collection] : ( ~ (remove(v0, v1) = v2) | ~ collection(v1) | ? [v3: % 18.91/3.52 any] : ? [v4: int] : ? [v5: int] : (count(v2) = v4 & count(v1) = v5 & % 18.91/3.52 in(v0, v1) = v3 & ( ~ (v3 = 0) | $difference(v5, v4) = 1))) & ! [v0: int] % 18.91/3.52 : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) = v2) | ~ % 18.91/3.52 collection(v1) | ? [v3: int] : ? [v4: int] : ? [v5: any] : (count(v2) = % 18.91/3.52 v3 & count(v1) = v4 & in(v0, v1) = v5 & ( ~ ($difference(v4, v3) = 1) | v5 % 18.91/3.52 = 0))) & ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.52 collection(v1) | ? [v2: collection] : ? [v3: int] : (remove(v0, v1) = v2 & % 18.91/3.52 count(v2) = v3 & count(v1) = $sum(v3, 1) & collection(v2))) % 18.91/3.52 % 18.91/3.52 (ax6) % 18.91/3.52 ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | ~ (in(v0, v1) = % 18.91/3.52 v2) | ~ collection(v1) | ? [v3: collection] : ? [v4: int] : (remove(v0, % 18.91/3.52 v1) = v3 & count(v3) = v4 & count(v1) = v4 & collection(v3))) & ! [v0: % 18.91/3.52 int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) = v2) % 18.91/3.52 | ~ collection(v1) | ? [v3: any] : ? [v4: int] : ? [v5: int] : % 18.91/3.52 (count(v2) = v4 & count(v1) = v5 & in(v0, v1) = v3 & (v5 = v4 | v3 = 0))) & % 18.91/3.52 ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) % 18.91/3.52 = v2) | ~ collection(v1) | ? [v3: int] : ? [v4: int] : ? [v5: any] : % 18.91/3.52 (count(v2) = v3 & count(v1) = v4 & in(v0, v1) = v5 & ( ~ (v5 = 0) | ~ (v4 = % 18.91/3.52 v3)))) & ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | % 18.91/3.52 ~ collection(v1) | ? [v2: collection] : ? [v3: int] : ? [v4: int] : ( ~ % 18.91/3.52 (v4 = v3) & remove(v0, v1) = v2 & count(v2) = v3 & count(v1) = v4 & % 18.91/3.52 collection(v2))) % 18.91/3.52 % 18.91/3.52 (ax7) % 18.91/3.52 ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) % 18.91/3.52 = v2) | ~ collection(v1) | ? [v3: any] : ? [v4: collection] : (add(v0, % 18.91/3.52 v2) = v4 & in(v0, v1) = v3 & collection(v4) & ( ~ (v3 = 0) | v4 = v1))) % 18.91/3.52 & ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.52 collection(v1) | ? [v2: collection] : (remove(v0, v1) = v2 & add(v0, v2) = % 18.91/3.52 v1 & collection(v2))) % 18.91/3.52 % 18.91/3.52 (co1) % 18.91/3.52 ? [v0: collection] : ? [v1: int] : ? [v2: int] : ? [v3: int] : ? [v4: % 18.91/3.52 int] : ($lesseq(v4, 2) & $lesseq(1, $difference(v2, v3)) & $lesseq(1, % 18.91/3.52 $difference(v1, v2)) & count(v0) = v4 & in(v3, v0) = 0 & in(v2, v0) = 0 & % 18.91/3.52 in(v1, v0) = 0 & collection(v0)) % 18.91/3.52 % 18.91/3.52 (function-axioms) % 18.91/3.52 ! [v0: collection] : ! [v1: collection] : ! [v2: collection] : ! [v3: int] % 18.91/3.52 : (v1 = v0 | ~ (remove(v3, v2) = v1) | ~ (remove(v3, v2) = v0)) & ! [v0: % 18.91/3.52 collection] : ! [v1: collection] : ! [v2: collection] : ! [v3: int] : (v1 % 18.91/3.52 = v0 | ~ (add(v3, v2) = v1) | ~ (add(v3, v2) = v0)) & ! [v0: % 18.91/3.52 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: collection] : ! % 18.91/3.53 [v3: int] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ (in(v3, v2) = v0)) & ! [v0: % 18.91/3.53 int] : ! [v1: int] : ! [v2: collection] : (v1 = v0 | ~ (count(v2) = v1) | % 18.91/3.53 ~ (count(v2) = v0)) % 18.91/3.53 % 18.91/3.53 Those formulas are unsatisfiable: % 18.91/3.53 --------------------------------- % 18.91/3.53 % 18.91/3.53 Begin of proof % 18.91/3.53 | % 18.91/3.53 | ALPHA: (ax1) implies: % 18.91/3.53 | (1) ! [v0: int] : ~ (in(v0, empty) = 0) % 18.91/3.53 | (2) ! [v0: collection] : ! [v1: int] : ( ~ ($lesseq(v1, -1)) | ~ % 18.91/3.53 | (count(v0) = v1) | ~ collection(v0)) % 18.91/3.53 | % 18.91/3.53 | ALPHA: (ax2) implies: % 18.91/3.53 | (3) ! [v0: collection] : (v0 = empty | ~ (count(v0) = 0) | ~ % 18.91/3.53 | collection(v0)) % 18.91/3.53 | % 18.91/3.53 | ALPHA: (ax3) implies: % 18.91/3.53 | (4) ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.53 | collection(v1) | ? [v2: collection] : ? [v3: int] : ? [v4: int] : % 18.91/3.53 | ( ~ ($difference(v4, v3) = -1) & add(v0, v1) = v2 & count(v2) = v3 & % 18.91/3.53 | count(v1) = v4 & collection(v2))) % 18.91/3.53 | (5) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, % 18.91/3.53 | v1) = v2) | ~ collection(v1) | ? [v3: int] : ? [v4: int] : ? % 18.91/3.53 | [v5: any] : (count(v2) = v3 & count(v1) = v4 & in(v0, v1) = v5 & ( ~ % 18.91/3.53 | (v5 = 0) | ~ ($difference(v4, v3) = -1)))) % 18.91/3.53 | (6) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, % 18.91/3.53 | v1) = v2) | ~ collection(v1) | ? [v3: any] : ? [v4: int] : ? % 18.91/3.53 | [v5: int] : (count(v2) = v4 & count(v1) = v5 & in(v0, v1) = v3 & % 18.91/3.53 | ($difference(v5, v4) = -1 | v3 = 0))) % 18.91/3.53 | (7) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 18.91/3.53 | (remove(v0, v1) = v2) | ~ collection(v1) | ? [v3: int] : ( ~ (v3 = % 18.91/3.53 | 0) & in(v0, v2) = v3)) % 18.91/3.53 | % 18.91/3.53 | ALPHA: (ax4) implies: % 18.91/3.53 | (8) ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.53 | collection(v1) | ? [v2: collection] : ? [v3: int] : (add(v0, v1) = % 18.91/3.53 | v2 & count(v2) = v3 & count(v1) = v3 & collection(v2))) % 18.91/3.53 | (9) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, % 18.91/3.53 | v1) = v2) | ~ collection(v1) | ? [v3: int] : ? [v4: int] : ? % 18.91/3.53 | [v5: any] : (count(v2) = v3 & count(v1) = v4 & in(v0, v1) = v5 & ( ~ % 18.91/3.53 | (v4 = v3) | v5 = 0))) % 18.91/3.54 | (10) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 18.91/3.54 | (add(v0, v1) = v2) | ~ collection(v1) | ? [v3: any] : ? [v4: int] % 18.91/3.54 | : ? [v5: int] : (count(v2) = v4 & count(v1) = v5 & in(v0, v1) = v3 % 18.91/3.54 | & ( ~ (v3 = 0) | v5 = v4))) % 18.91/3.54 | (11) ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: % 18.91/3.54 | collection] : (v2 = v0 | ~ (add(v2, v1) = v3) | ~ (in(v0, v3) = 0) % 18.91/3.54 | | ~ collection(v1) | in(v0, v1) = 0) % 18.91/3.54 | % 18.91/3.54 | ALPHA: (ax5) implies: % 18.91/3.54 | (12) ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.54 | collection(v1) | ? [v2: collection] : ? [v3: int] : (remove(v0, % 18.91/3.54 | v1) = v2 & count(v2) = v3 & count(v1) = $sum(v3, 1) & % 18.91/3.54 | collection(v2))) % 18.91/3.54 | (13) ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | ~ % 18.91/3.54 | (in(v0, v1) = v2) | ~ collection(v1) | ? [v3: collection] : ? % 18.91/3.54 | [v4: int] : ? [v5: int] : ( ~ ($difference(v5, v4) = 1) & % 18.91/3.54 | remove(v0, v1) = v3 & count(v3) = v4 & count(v1) = v5 & % 18.91/3.54 | collection(v3))) % 18.91/3.54 | % 18.91/3.54 | ALPHA: (ax6) implies: % 18.91/3.54 | (14) ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.54 | collection(v1) | ? [v2: collection] : ? [v3: int] : ? [v4: int] : % 18.91/3.54 | ( ~ (v4 = v3) & remove(v0, v1) = v2 & count(v2) = v3 & count(v1) = % 18.91/3.54 | v4 & collection(v2))) % 18.91/3.54 | (15) ! [v0: int] : ! [v1: collection] : ! [v2: int] : (v2 = 0 | ~ % 18.91/3.54 | (in(v0, v1) = v2) | ~ collection(v1) | ? [v3: collection] : ? % 18.91/3.54 | [v4: int] : (remove(v0, v1) = v3 & count(v3) = v4 & count(v1) = v4 & % 18.91/3.54 | collection(v3))) % 18.91/3.54 | % 18.91/3.54 | ALPHA: (ax7) implies: % 18.91/3.54 | (16) ! [v0: int] : ! [v1: collection] : ( ~ (in(v0, v1) = 0) | ~ % 18.91/3.54 | collection(v1) | ? [v2: collection] : (remove(v0, v1) = v2 & % 18.91/3.54 | add(v0, v2) = v1 & collection(v2))) % 18.91/3.54 | % 18.91/3.54 | ALPHA: (function-axioms) implies: % 18.91/3.54 | (17) ! [v0: int] : ! [v1: int] : ! [v2: collection] : (v1 = v0 | ~ % 18.91/3.54 | (count(v2) = v1) | ~ (count(v2) = v0)) % 18.91/3.54 | (18) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: % 18.91/3.54 | collection] : ! [v3: int] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ % 18.91/3.54 | (in(v3, v2) = v0)) % 18.91/3.54 | (19) ! [v0: collection] : ! [v1: collection] : ! [v2: collection] : ! % 18.91/3.54 | [v3: int] : (v1 = v0 | ~ (remove(v3, v2) = v1) | ~ (remove(v3, v2) = % 18.91/3.54 | v0)) % 18.91/3.54 | % 18.91/3.54 | DELTA: instantiating (co1) with fresh symbols all_13_0, all_13_1, all_13_2, % 18.91/3.54 | all_13_3, all_13_4 gives: % 18.91/3.54 | (20) $lesseq(all_13_0, 2) & $lesseq(1, $difference(all_13_2, all_13_1)) & % 18.91/3.54 | $lesseq(1, $difference(all_13_3, all_13_2)) & count(all_13_4) = % 18.91/3.54 | all_13_0 & in(all_13_1, all_13_4) = 0 & in(all_13_2, all_13_4) = 0 & % 18.91/3.54 | in(all_13_3, all_13_4) = 0 & collection(all_13_4) % 18.91/3.54 | % 18.91/3.54 | ALPHA: (20) implies: % 18.91/3.54 | (21) $lesseq(1, $difference(all_13_3, all_13_2)) % 18.91/3.54 | (22) $lesseq(1, $difference(all_13_2, all_13_1)) % 18.91/3.54 | (23) $lesseq(all_13_0, 2) % 18.91/3.54 | (24) collection(all_13_4) % 18.91/3.54 | (25) in(all_13_3, all_13_4) = 0 % 18.91/3.55 | (26) in(all_13_2, all_13_4) = 0 % 18.91/3.55 | (27) in(all_13_1, all_13_4) = 0 % 18.91/3.55 | (28) count(all_13_4) = all_13_0 % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (4) with all_13_3, all_13_4, simplifying with (24), % 18.91/3.55 | (25) gives: % 18.91/3.55 | (29) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 18.91/3.55 | ($difference(v2, v1) = -1) & add(all_13_3, all_13_4) = v0 & % 18.91/3.55 | count(v0) = v1 & count(all_13_4) = v2 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (14) with all_13_3, all_13_4, simplifying with % 18.91/3.55 | (24), (25) gives: % 18.91/3.55 | (30) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ (v2 = v1) & % 18.91/3.55 | remove(all_13_3, all_13_4) = v0 & count(v0) = v1 & count(all_13_4) = % 18.91/3.55 | v2 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (12) with all_13_3, all_13_4, simplifying with % 18.91/3.55 | (24), (25) gives: % 18.91/3.55 | (31) ? [v0: collection] : ? [v1: int] : (remove(all_13_3, all_13_4) = v0 % 18.91/3.55 | & count(v0) = v1 & count(all_13_4) = $sum(v1, 1) & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (8) with all_13_3, all_13_4, simplifying with (24), % 18.91/3.55 | (25) gives: % 18.91/3.55 | (32) ? [v0: collection] : ? [v1: int] : (add(all_13_3, all_13_4) = v0 & % 18.91/3.55 | count(v0) = v1 & count(all_13_4) = v1 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (4) with all_13_2, all_13_4, simplifying with (24), % 18.91/3.55 | (26) gives: % 18.91/3.55 | (33) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 18.91/3.55 | ($difference(v2, v1) = -1) & add(all_13_2, all_13_4) = v0 & % 18.91/3.55 | count(v0) = v1 & count(all_13_4) = v2 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (14) with all_13_2, all_13_4, simplifying with % 18.91/3.55 | (24), (26) gives: % 18.91/3.55 | (34) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ (v2 = v1) & % 18.91/3.55 | remove(all_13_2, all_13_4) = v0 & count(v0) = v1 & count(all_13_4) = % 18.91/3.55 | v2 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (12) with all_13_2, all_13_4, simplifying with % 18.91/3.55 | (24), (26) gives: % 18.91/3.55 | (35) ? [v0: collection] : ? [v1: int] : (remove(all_13_2, all_13_4) = v0 % 18.91/3.55 | & count(v0) = v1 & count(all_13_4) = $sum(v1, 1) & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (8) with all_13_2, all_13_4, simplifying with (24), % 18.91/3.55 | (26) gives: % 18.91/3.55 | (36) ? [v0: collection] : ? [v1: int] : (add(all_13_2, all_13_4) = v0 & % 18.91/3.55 | count(v0) = v1 & count(all_13_4) = v1 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (16) with all_13_2, all_13_4, simplifying with % 18.91/3.55 | (24), (26) gives: % 18.91/3.55 | (37) ? [v0: collection] : (remove(all_13_2, all_13_4) = v0 & add(all_13_2, % 18.91/3.55 | v0) = all_13_4 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (4) with all_13_1, all_13_4, simplifying with (24), % 18.91/3.55 | (27) gives: % 18.91/3.55 | (38) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 18.91/3.55 | ($difference(v2, v1) = -1) & add(all_13_1, all_13_4) = v0 & % 18.91/3.55 | count(v0) = v1 & count(all_13_4) = v2 & collection(v0)) % 18.91/3.55 | % 18.91/3.55 | GROUND_INST: instantiating (14) with all_13_1, all_13_4, simplifying with % 18.91/3.55 | (24), (27) gives: % 18.91/3.56 | (39) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ (v2 = v1) & % 18.91/3.56 | remove(all_13_1, all_13_4) = v0 & count(v0) = v1 & count(all_13_4) = % 18.91/3.56 | v2 & collection(v0)) % 18.91/3.56 | % 18.91/3.56 | GROUND_INST: instantiating (12) with all_13_1, all_13_4, simplifying with % 18.91/3.56 | (24), (27) gives: % 18.91/3.56 | (40) ? [v0: collection] : ? [v1: int] : (remove(all_13_1, all_13_4) = v0 % 18.91/3.56 | & count(v0) = v1 & count(all_13_4) = $sum(v1, 1) & collection(v0)) % 18.91/3.56 | % 18.91/3.56 | GROUND_INST: instantiating (8) with all_13_1, all_13_4, simplifying with (24), % 18.91/3.56 | (27) gives: % 18.91/3.56 | (41) ? [v0: collection] : ? [v1: int] : (add(all_13_1, all_13_4) = v0 & % 18.91/3.56 | count(v0) = v1 & count(all_13_4) = v1 & collection(v0)) % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (37) with fresh symbol all_29_0 gives: % 18.91/3.56 | (42) remove(all_13_2, all_13_4) = all_29_0 & add(all_13_2, all_29_0) = % 18.91/3.56 | all_13_4 & collection(all_29_0) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (42) implies: % 18.91/3.56 | (43) add(all_13_2, all_29_0) = all_13_4 % 18.91/3.56 | (44) remove(all_13_2, all_13_4) = all_29_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (41) with fresh symbols all_31_0, all_31_1 gives: % 18.91/3.56 | (45) add(all_13_1, all_13_4) = all_31_1 & count(all_31_1) = all_31_0 & % 18.91/3.56 | count(all_13_4) = all_31_0 & collection(all_31_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (45) implies: % 18.91/3.56 | (46) count(all_13_4) = all_31_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (35) with fresh symbols all_33_0, all_33_1 gives: % 18.91/3.56 | (47) remove(all_13_2, all_13_4) = all_33_1 & count(all_33_1) = all_33_0 & % 18.91/3.56 | count(all_13_4) = $sum(all_33_0, 1) & collection(all_33_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (47) implies: % 18.91/3.56 | (48) collection(all_33_1) % 18.91/3.56 | (49) count(all_13_4) = $sum(all_33_0, 1) % 18.91/3.56 | (50) count(all_33_1) = all_33_0 % 18.91/3.56 | (51) remove(all_13_2, all_13_4) = all_33_1 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (40) with fresh symbols all_35_0, all_35_1 gives: % 18.91/3.56 | (52) remove(all_13_1, all_13_4) = all_35_1 & count(all_35_1) = all_35_0 & % 18.91/3.56 | count(all_13_4) = $sum(all_35_0, 1) & collection(all_35_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (52) implies: % 18.91/3.56 | (53) count(all_13_4) = $sum(all_35_0, 1) % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (32) with fresh symbols all_37_0, all_37_1 gives: % 18.91/3.56 | (54) add(all_13_3, all_13_4) = all_37_1 & count(all_37_1) = all_37_0 & % 18.91/3.56 | count(all_13_4) = all_37_0 & collection(all_37_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (54) implies: % 18.91/3.56 | (55) count(all_13_4) = all_37_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (36) with fresh symbols all_39_0, all_39_1 gives: % 18.91/3.56 | (56) add(all_13_2, all_13_4) = all_39_1 & count(all_39_1) = all_39_0 & % 18.91/3.56 | count(all_13_4) = all_39_0 & collection(all_39_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (56) implies: % 18.91/3.56 | (57) count(all_13_4) = all_39_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (31) with fresh symbols all_41_0, all_41_1 gives: % 18.91/3.56 | (58) remove(all_13_3, all_13_4) = all_41_1 & count(all_41_1) = all_41_0 & % 18.91/3.56 | count(all_13_4) = $sum(all_41_0, 1) & collection(all_41_1) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (58) implies: % 18.91/3.56 | (59) count(all_13_4) = $sum(all_41_0, 1) % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (30) with fresh symbols all_43_0, all_43_1, all_43_2 % 18.91/3.56 | gives: % 18.91/3.56 | (60) ~ (all_43_0 = all_43_1) & remove(all_13_3, all_13_4) = all_43_2 & % 18.91/3.56 | count(all_43_2) = all_43_1 & count(all_13_4) = all_43_0 & % 18.91/3.56 | collection(all_43_2) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (60) implies: % 18.91/3.56 | (61) count(all_13_4) = all_43_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (29) with fresh symbols all_45_0, all_45_1, all_45_2 % 18.91/3.56 | gives: % 18.91/3.56 | (62) ~ ($difference(all_45_0, all_45_1) = -1) & add(all_13_3, all_13_4) = % 18.91/3.56 | all_45_2 & count(all_45_2) = all_45_1 & count(all_13_4) = all_45_0 & % 18.91/3.56 | collection(all_45_2) % 18.91/3.56 | % 18.91/3.56 | ALPHA: (62) implies: % 18.91/3.56 | (63) count(all_13_4) = all_45_0 % 18.91/3.56 | % 18.91/3.56 | DELTA: instantiating (33) with fresh symbols all_47_0, all_47_1, all_47_2 % 18.91/3.56 | gives: % 18.91/3.56 | (64) ~ ($difference(all_47_0, all_47_1) = -1) & add(all_13_2, all_13_4) = % 18.91/3.56 | all_47_2 & count(all_47_2) = all_47_1 & count(all_13_4) = all_47_0 & % 18.91/3.57 | collection(all_47_2) % 18.91/3.57 | % 18.91/3.57 | ALPHA: (64) implies: % 18.91/3.57 | (65) count(all_13_4) = all_47_0 % 18.91/3.57 | % 18.91/3.57 | DELTA: instantiating (34) with fresh symbols all_49_0, all_49_1, all_49_2 % 18.91/3.57 | gives: % 18.91/3.57 | (66) ~ (all_49_0 = all_49_1) & remove(all_13_2, all_13_4) = all_49_2 & % 18.91/3.57 | count(all_49_2) = all_49_1 & count(all_13_4) = all_49_0 & % 18.91/3.57 | collection(all_49_2) % 18.91/3.57 | % 18.91/3.57 | ALPHA: (66) implies: % 18.91/3.57 | (67) count(all_13_4) = all_49_0 % 18.91/3.57 | (68) count(all_49_2) = all_49_1 % 18.91/3.57 | (69) remove(all_13_2, all_13_4) = all_49_2 % 18.91/3.57 | % 18.91/3.57 | DELTA: instantiating (39) with fresh symbols all_51_0, all_51_1, all_51_2 % 18.91/3.57 | gives: % 18.91/3.57 | (70) ~ (all_51_0 = all_51_1) & remove(all_13_1, all_13_4) = all_51_2 & % 18.91/3.57 | count(all_51_2) = all_51_1 & count(all_13_4) = all_51_0 & % 18.91/3.57 | collection(all_51_2) % 18.91/3.57 | % 18.91/3.57 | ALPHA: (70) implies: % 18.91/3.57 | (71) count(all_13_4) = all_51_0 % 18.91/3.57 | % 18.91/3.57 | DELTA: instantiating (38) with fresh symbols all_53_0, all_53_1, all_53_2 % 18.91/3.57 | gives: % 18.91/3.57 | (72) ~ ($difference(all_53_0, all_53_1) = -1) & add(all_13_1, all_13_4) = % 18.91/3.57 | all_53_2 & count(all_53_2) = all_53_1 & count(all_13_4) = all_53_0 & % 18.91/3.57 | collection(all_53_2) % 18.91/3.57 | % 18.91/3.57 | ALPHA: (72) implies: % 18.91/3.57 | (73) count(all_13_4) = all_53_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with $sum(all_35_0, 1), all_37_0, all_13_4, % 18.91/3.57 | simplifying with (53), (55) gives: % 18.91/3.57 | (74) $difference(all_37_0, all_35_0) = 1 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with $sum(all_35_0, 1), $sum(all_41_0, 1), % 18.91/3.57 | all_13_4, simplifying with (53), (59) gives: % 18.91/3.57 | (75) all_41_0 = all_35_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with $sum(all_33_0, 1), $sum(all_41_0, 1), % 18.91/3.57 | all_13_4, simplifying with (49), (59) gives: % 18.91/3.57 | (76) all_41_0 = all_33_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with $sum(all_41_0, 1), all_43_0, all_13_4, % 18.91/3.57 | simplifying with (59), (61) gives: % 18.91/3.57 | (77) $difference(all_43_0, all_41_0) = 1 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_37_0, all_45_0, all_13_4, simplifying % 18.91/3.57 | with (55), (63) gives: % 18.91/3.57 | (78) all_45_0 = all_37_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_13_0, all_49_0, all_13_4, simplifying % 18.91/3.57 | with (28), (67) gives: % 18.91/3.57 | (79) all_49_0 = all_13_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_43_0, all_49_0, all_13_4, simplifying % 18.91/3.57 | with (61), (67) gives: % 18.91/3.57 | (80) all_49_0 = all_43_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_47_0, all_51_0, all_13_4, simplifying % 18.91/3.57 | with (65), (71) gives: % 18.91/3.57 | (81) all_51_0 = all_47_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with $sum(all_41_0, 1), all_51_0, all_13_4, % 18.91/3.57 | simplifying with (59), (71) gives: % 18.91/3.57 | (82) $difference(all_51_0, all_41_0) = 1 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_39_0, all_51_0, all_13_4, simplifying % 18.91/3.57 | with (57), (71) gives: % 18.91/3.57 | (83) all_51_0 = all_39_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_45_0, all_53_0, all_13_4, simplifying % 18.91/3.57 | with (63), (73) gives: % 18.91/3.57 | (84) all_53_0 = all_45_0 % 18.91/3.57 | % 18.91/3.57 | GROUND_INST: instantiating (17) with all_31_0, all_53_0, all_13_4, simplifying % 18.91/3.57 | with (46), (73) gives: % 18.91/3.57 | (85) all_53_0 = all_31_0 % 18.91/3.57 | % 18.91/3.58 | GROUND_INST: instantiating (19) with all_33_1, all_49_2, all_13_4, all_13_2, % 18.91/3.58 | simplifying with (51), (69) gives: % 18.91/3.58 | (86) all_49_2 = all_33_1 % 18.91/3.58 | % 18.91/3.58 | GROUND_INST: instantiating (19) with all_29_0, all_49_2, all_13_4, all_13_2, % 18.91/3.58 | simplifying with (44), (69) gives: % 18.91/3.58 | (87) all_49_2 = all_29_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (84), (85) imply: % 18.91/3.58 | (88) all_45_0 = all_31_0 % 18.91/3.58 | % 18.91/3.58 | SIMP: (88) implies: % 18.91/3.58 | (89) all_45_0 = all_31_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (81), (82) imply: % 18.91/3.58 | (90) $difference(all_47_0, all_41_0) = 1 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (81), (83) imply: % 18.91/3.58 | (91) all_47_0 = all_39_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (79), (80) imply: % 18.91/3.58 | (92) all_43_0 = all_13_0 % 18.91/3.58 | % 18.91/3.58 | SIMP: (92) implies: % 18.91/3.58 | (93) all_43_0 = all_13_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (86), (87) imply: % 18.91/3.58 | (94) all_33_1 = all_29_0 % 18.91/3.58 | % 18.91/3.58 | SIMP: (94) implies: % 18.91/3.58 | (95) all_33_1 = all_29_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (90), (91) imply: % 18.91/3.58 | (96) $difference(all_41_0, all_39_0) = -1 % 18.91/3.58 | % 18.91/3.58 | SIMP: (96) implies: % 18.91/3.58 | (97) $difference(all_41_0, all_39_0) = -1 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (78), (89) imply: % 18.91/3.58 | (98) all_37_0 = all_31_0 % 18.91/3.58 | % 18.91/3.58 | SIMP: (98) implies: % 18.91/3.58 | (99) all_37_0 = all_31_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (77), (93) imply: % 18.91/3.58 | (100) $difference(all_41_0, all_13_0) = -1 % 18.91/3.58 | % 18.91/3.58 | SIMP: (100) implies: % 18.91/3.58 | (101) $difference(all_41_0, all_13_0) = -1 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (97), (101) imply: % 18.91/3.58 | (102) all_39_0 = all_13_0 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (76), (97) imply: % 18.91/3.58 | (103) $difference(all_39_0, all_33_0) = 1 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (75), (97) imply: % 18.91/3.58 | (104) $difference(all_39_0, all_35_0) = 1 % 18.91/3.58 | % 18.91/3.58 | COMBINE_EQS: (103), (104) imply: % 18.91/3.58 | (105) all_35_0 = all_33_0 % 18.91/3.58 | % 18.91/3.58 | SIMP: (105) implies: % 18.91/3.58 | (106) all_35_0 = all_33_0 % 19.25/3.58 | % 19.25/3.58 | COMBINE_EQS: (102), (103) imply: % 19.25/3.58 | (107) $difference(all_33_0, all_13_0) = -1 % 19.25/3.58 | % 19.25/3.58 | COMBINE_EQS: (74), (99) imply: % 19.25/3.58 | (108) $difference(all_35_0, all_31_0) = -1 % 19.25/3.58 | % 19.25/3.58 | SIMP: (108) implies: % 19.25/3.58 | (109) $difference(all_35_0, all_31_0) = -1 % 19.25/3.58 | % 19.25/3.58 | COMBINE_EQS: (106), (109) imply: % 19.25/3.58 | (110) $difference(all_33_0, all_31_0) = -1 % 19.25/3.58 | % 19.25/3.58 | SIMP: (110) implies: % 19.25/3.58 | (111) $difference(all_33_0, all_31_0) = -1 % 19.25/3.58 | % 19.25/3.58 | COMBINE_EQS: (107), (111) imply: % 19.25/3.58 | (112) all_31_0 = all_13_0 % 19.25/3.58 | % 19.25/3.58 | REDUCE: (68), (87) imply: % 19.25/3.58 | (113) count(all_29_0) = all_49_1 % 19.25/3.58 | % 19.25/3.58 | REDUCE: (50), (95), (107) imply: % 19.25/3.58 | (114) count(all_29_0) = $sum(all_13_0, -1) % 19.25/3.58 | % 19.25/3.58 | REDUCE: (48), (95) imply: % 19.25/3.58 | (115) collection(all_29_0) % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (17) with $sum(all_13_0, -1), all_49_1, all_29_0, % 19.25/3.58 | simplifying with (113), (114) gives: % 19.25/3.58 | (116) $difference(all_49_1, all_13_0) = -1 % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (11) with all_13_1, all_29_0, all_13_2, all_13_4, % 19.25/3.58 | simplifying with (27), (43), (115) gives: % 19.25/3.58 | (117) all_13_1 = all_13_2 | in(all_13_1, all_29_0) = 0 % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (11) with all_13_3, all_29_0, all_13_2, all_13_4, % 19.25/3.58 | simplifying with (25), (43), (115) gives: % 19.25/3.58 | (118) all_13_2 = all_13_3 | in(all_13_3, all_29_0) = 0 % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (10) with all_13_2, all_29_0, all_13_4, simplifying % 19.25/3.58 | with (43), (115) gives: % 19.25/3.58 | (119) ? [v0: any] : ? [v1: int] : ? [v2: int] : (count(all_29_0) = v2 & % 19.25/3.58 | count(all_13_4) = v1 & in(all_13_2, all_29_0) = v0 & ( ~ (v0 = 0) | % 19.25/3.58 | v2 = v1)) % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (6) with all_13_2, all_29_0, all_13_4, simplifying % 19.25/3.58 | with (43), (115) gives: % 19.25/3.58 | (120) ? [v0: any] : ? [v1: int] : ? [v2: int] : (count(all_29_0) = v2 & % 19.25/3.58 | count(all_13_4) = v1 & in(all_13_2, all_29_0) = v0 & % 19.25/3.58 | ($difference(v2, v1) = -1 | v0 = 0)) % 19.25/3.58 | % 19.25/3.58 | GROUND_INST: instantiating (5) with all_13_2, all_29_0, all_13_4, simplifying % 19.25/3.58 | with (43), (115) gives: % 19.25/3.59 | (121) ? [v0: int] : ? [v1: int] : ? [v2: any] : (count(all_29_0) = v1 & % 19.25/3.59 | count(all_13_4) = v0 & in(all_13_2, all_29_0) = v2 & ( ~ (v2 = 0) | % 19.25/3.59 | ~ ($difference(v1, v0) = -1))) % 19.25/3.59 | % 19.25/3.59 | GROUND_INST: instantiating (9) with all_13_2, all_29_0, all_13_4, simplifying % 19.25/3.59 | with (43), (115) gives: % 19.25/3.59 | (122) ? [v0: int] : ? [v1: int] : ? [v2: any] : (count(all_29_0) = v1 & % 19.25/3.59 | count(all_13_4) = v0 & in(all_13_2, all_29_0) = v2 & ( ~ (v1 = v0) % 19.25/3.59 | | v2 = 0)) % 19.25/3.59 | % 19.25/3.59 | GROUND_INST: instantiating (7) with all_13_2, all_13_4, all_29_0, simplifying % 19.25/3.59 | with (24), (44) gives: % 19.25/3.59 | (123) ? [v0: int] : ( ~ (v0 = 0) & in(all_13_2, all_29_0) = v0) % 19.25/3.59 | % 19.25/3.59 | DELTA: instantiating (123) with fresh symbol all_71_0 gives: % 19.25/3.59 | (124) ~ (all_71_0 = 0) & in(all_13_2, all_29_0) = all_71_0 % 19.25/3.59 | % 19.25/3.59 | ALPHA: (124) implies: % 19.25/3.59 | (125) ~ (all_71_0 = 0) % 19.25/3.59 | (126) in(all_13_2, all_29_0) = all_71_0 % 19.25/3.59 | % 19.25/3.59 | DELTA: instantiating (122) with fresh symbols all_87_0, all_87_1, all_87_2 % 19.25/3.59 | gives: % 19.25/3.59 | (127) count(all_29_0) = all_87_1 & count(all_13_4) = all_87_2 & % 19.25/3.59 | in(all_13_2, all_29_0) = all_87_0 & ( ~ (all_87_1 = all_87_2) | % 19.25/3.59 | all_87_0 = 0) % 19.25/3.59 | % 19.25/3.59 | ALPHA: (127) implies: % 19.25/3.59 | (128) in(all_13_2, all_29_0) = all_87_0 % 19.25/3.59 | (129) count(all_29_0) = all_87_1 % 19.25/3.59 | % 19.25/3.59 | DELTA: instantiating (121) with fresh symbols all_91_0, all_91_1, all_91_2 % 19.25/3.59 | gives: % 19.25/3.59 | (130) count(all_29_0) = all_91_1 & count(all_13_4) = all_91_2 & % 19.25/3.59 | in(all_13_2, all_29_0) = all_91_0 & ( ~ (all_91_0 = 0) | ~ % 19.25/3.59 | ($difference(all_91_1, all_91_2) = -1)) % 19.25/3.59 | % 19.25/3.59 | ALPHA: (130) implies: % 19.25/3.59 | (131) in(all_13_2, all_29_0) = all_91_0 % 19.25/3.59 | (132) count(all_29_0) = all_91_1 % 19.25/3.59 | % 19.25/3.59 | DELTA: instantiating (120) with fresh symbols all_93_0, all_93_1, all_93_2 % 19.25/3.59 | gives: % 19.25/3.59 | (133) count(all_29_0) = all_93_0 & count(all_13_4) = all_93_1 & % 19.25/3.59 | in(all_13_2, all_29_0) = all_93_2 & ($difference(all_93_0, all_93_1) % 19.25/3.59 | = -1 | all_93_2 = 0) % 19.25/3.59 | % 19.25/3.59 | ALPHA: (133) implies: % 19.25/3.59 | (134) in(all_13_2, all_29_0) = all_93_2 % 19.25/3.59 | (135) count(all_29_0) = all_93_0 % 19.25/3.59 | % 19.25/3.59 | DELTA: instantiating (119) with fresh symbols all_95_0, all_95_1, all_95_2 % 19.25/3.59 | gives: % 19.25/3.59 | (136) count(all_29_0) = all_95_0 & count(all_13_4) = all_95_1 & % 19.25/3.59 | in(all_13_2, all_29_0) = all_95_2 & ( ~ (all_95_2 = 0) | all_95_0 = % 19.25/3.59 | all_95_1) % 19.25/3.59 | % 19.25/3.59 | ALPHA: (136) implies: % 19.25/3.59 | (137) in(all_13_2, all_29_0) = all_95_2 % 19.25/3.59 | (138) count(all_29_0) = all_95_0 % 19.25/3.59 | % 19.25/3.59 | BETA: splitting (118) gives: % 19.25/3.59 | % 19.25/3.59 | Case 1: % 19.25/3.59 | | % 19.25/3.59 | | (139) in(all_13_3, all_29_0) = 0 % 19.25/3.59 | | % 19.25/3.59 | | BETA: splitting (117) gives: % 19.25/3.59 | | % 19.25/3.59 | | Case 1: % 19.25/3.59 | | | % 19.25/3.59 | | | (140) in(all_13_1, all_29_0) = 0 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (18) with all_87_0, all_91_0, all_29_0, % 19.25/3.59 | | | all_13_2, simplifying with (128), (131) gives: % 19.25/3.59 | | | (141) all_91_0 = all_87_0 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (18) with all_91_0, all_93_2, all_29_0, % 19.25/3.59 | | | all_13_2, simplifying with (131), (134) gives: % 19.25/3.59 | | | (142) all_93_2 = all_91_0 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (18) with all_93_2, all_95_2, all_29_0, % 19.25/3.59 | | | all_13_2, simplifying with (134), (137) gives: % 19.25/3.59 | | | (143) all_95_2 = all_93_2 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (18) with all_71_0, all_95_2, all_29_0, % 19.25/3.59 | | | all_13_2, simplifying with (126), (137) gives: % 19.25/3.59 | | | (144) all_95_2 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (17) with all_87_1, all_93_0, all_29_0, % 19.25/3.59 | | | simplifying with (129), (135) gives: % 19.25/3.59 | | | (145) all_93_0 = all_87_1 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (17) with $sum(all_13_0, -1), all_95_0, % 19.25/3.59 | | | all_29_0, simplifying with (114), (138) gives: % 19.25/3.59 | | | (146) $difference(all_95_0, all_13_0) = -1 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (17) with all_93_0, all_95_0, all_29_0, % 19.25/3.59 | | | simplifying with (135), (138) gives: % 19.25/3.59 | | | (147) all_95_0 = all_93_0 % 19.25/3.59 | | | % 19.25/3.59 | | | GROUND_INST: instantiating (17) with all_91_1, all_95_0, all_29_0, % 19.25/3.59 | | | simplifying with (132), (138) gives: % 19.25/3.59 | | | (148) all_95_0 = all_91_1 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (147), (148) imply: % 19.25/3.59 | | | (149) all_93_0 = all_91_1 % 19.25/3.59 | | | % 19.25/3.59 | | | SIMP: (149) implies: % 19.25/3.59 | | | (150) all_93_0 = all_91_1 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (146), (148) imply: % 19.25/3.59 | | | (151) $difference(all_91_1, all_13_0) = -1 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (143), (144) imply: % 19.25/3.59 | | | (152) all_93_2 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | SIMP: (152) implies: % 19.25/3.59 | | | (153) all_93_2 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (145), (150) imply: % 19.25/3.59 | | | (154) all_91_1 = all_87_1 % 19.25/3.59 | | | % 19.25/3.59 | | | SIMP: (154) implies: % 19.25/3.59 | | | (155) all_91_1 = all_87_1 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (142), (153) imply: % 19.25/3.59 | | | (156) all_91_0 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | SIMP: (156) implies: % 19.25/3.59 | | | (157) all_91_0 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | COMBINE_EQS: (141), (157) imply: % 19.25/3.59 | | | (158) all_87_0 = all_71_0 % 19.25/3.59 | | | % 19.25/3.59 | | | SIMP: (158) implies: % 19.25/3.59 | | | (159) all_87_0 = all_71_0 % 19.25/3.59 | | | % 19.25/3.60 | | | COMBINE_EQS: (151), (155) imply: % 19.25/3.60 | | | (160) $difference(all_87_1, all_13_0) = -1 % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (4) with all_13_3, all_29_0, simplifying with % 19.25/3.60 | | | (115), (139) gives: % 19.25/3.60 | | | (161) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 19.25/3.60 | | | ($difference(v2, v1) = -1) & add(all_13_3, all_29_0) = v0 & % 19.25/3.60 | | | count(v0) = v1 & count(all_29_0) = v2 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (14) with all_13_3, all_29_0, simplifying with % 19.25/3.60 | | | (115), (139) gives: % 19.25/3.60 | | | (162) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ (v2 = v1) % 19.25/3.60 | | | & remove(all_13_3, all_29_0) = v0 & count(v0) = v1 & % 19.25/3.60 | | | count(all_29_0) = v2 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (12) with all_13_3, all_29_0, simplifying with % 19.25/3.60 | | | (115), (139) gives: % 19.25/3.60 | | | (163) ? [v0: collection] : ? [v1: int] : (remove(all_13_3, all_29_0) % 19.25/3.60 | | | = v0 & count(v0) = v1 & count(all_29_0) = $sum(v1, 1) & % 19.25/3.60 | | | collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (16) with all_13_3, all_29_0, simplifying with % 19.25/3.60 | | | (115), (139) gives: % 19.25/3.60 | | | (164) ? [v0: collection] : (remove(all_13_3, all_29_0) = v0 & % 19.25/3.60 | | | add(all_13_3, v0) = all_29_0 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (13) with all_13_2, all_29_0, all_71_0, % 19.25/3.60 | | | simplifying with (115), (126) gives: % 19.25/3.60 | | | (165) all_71_0 = 0 | ? [v0: collection] : ? [v1: int] : ? [v2: int] % 19.25/3.60 | | | : ( ~ ($difference(v2, v1) = 1) & remove(all_13_2, all_29_0) = v0 % 19.25/3.60 | | | & count(v0) = v1 & count(all_29_0) = v2 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (15) with all_13_2, all_29_0, all_71_0, % 19.25/3.60 | | | simplifying with (115), (126) gives: % 19.25/3.60 | | | (166) all_71_0 = 0 | ? [v0: collection] : ? [v1: int] : % 19.25/3.60 | | | (remove(all_13_2, all_29_0) = v0 & count(v0) = v1 & % 19.25/3.60 | | | count(all_29_0) = v1 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (4) with all_13_1, all_29_0, simplifying with % 19.25/3.60 | | | (115), (140) gives: % 19.25/3.60 | | | (167) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 19.25/3.60 | | | ($difference(v2, v1) = -1) & add(all_13_1, all_29_0) = v0 & % 19.25/3.60 | | | count(v0) = v1 & count(all_29_0) = v2 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (14) with all_13_1, all_29_0, simplifying with % 19.25/3.60 | | | (115), (140) gives: % 19.25/3.60 | | | (168) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ (v2 = v1) % 19.25/3.60 | | | & remove(all_13_1, all_29_0) = v0 & count(v0) = v1 & % 19.25/3.60 | | | count(all_29_0) = v2 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (12) with all_13_1, all_29_0, simplifying with % 19.25/3.60 | | | (115), (140) gives: % 19.25/3.60 | | | (169) ? [v0: collection] : ? [v1: int] : (remove(all_13_1, all_29_0) % 19.25/3.60 | | | = v0 & count(v0) = v1 & count(all_29_0) = $sum(v1, 1) & % 19.25/3.60 | | | collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (8) with all_13_1, all_29_0, simplifying with % 19.25/3.60 | | | (115), (140) gives: % 19.25/3.60 | | | (170) ? [v0: collection] : ? [v1: int] : (add(all_13_1, all_29_0) = % 19.25/3.60 | | | v0 & count(v0) = v1 & count(all_29_0) = v1 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | GROUND_INST: instantiating (16) with all_13_1, all_29_0, simplifying with % 19.25/3.60 | | | (115), (140) gives: % 19.25/3.60 | | | (171) ? [v0: collection] : (remove(all_13_1, all_29_0) = v0 & % 19.25/3.60 | | | add(all_13_1, v0) = all_29_0 & collection(v0)) % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (164) with fresh symbol all_134_0 gives: % 19.25/3.60 | | | (172) remove(all_13_3, all_29_0) = all_134_0 & add(all_13_3, all_134_0) % 19.25/3.60 | | | = all_29_0 & collection(all_134_0) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (172) implies: % 19.25/3.60 | | | (173) add(all_13_3, all_134_0) = all_29_0 % 19.25/3.60 | | | (174) remove(all_13_3, all_29_0) = all_134_0 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (171) with fresh symbol all_136_0 gives: % 19.25/3.60 | | | (175) remove(all_13_1, all_29_0) = all_136_0 & add(all_13_1, all_136_0) % 19.25/3.60 | | | = all_29_0 & collection(all_136_0) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (175) implies: % 19.25/3.60 | | | (176) remove(all_13_1, all_29_0) = all_136_0 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (163) with fresh symbols all_154_0, all_154_1 gives: % 19.25/3.60 | | | (177) remove(all_13_3, all_29_0) = all_154_1 & count(all_154_1) = % 19.25/3.60 | | | all_154_0 & count(all_29_0) = $sum(all_154_0, 1) & % 19.25/3.60 | | | collection(all_154_1) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (177) implies: % 19.25/3.60 | | | (178) collection(all_154_1) % 19.25/3.60 | | | (179) count(all_29_0) = $sum(all_154_0, 1) % 19.25/3.60 | | | (180) count(all_154_1) = all_154_0 % 19.25/3.60 | | | (181) remove(all_13_3, all_29_0) = all_154_1 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (170) with fresh symbols all_158_0, all_158_1 gives: % 19.25/3.60 | | | (182) add(all_13_1, all_29_0) = all_158_1 & count(all_158_1) = % 19.25/3.60 | | | all_158_0 & count(all_29_0) = all_158_0 & collection(all_158_1) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (182) implies: % 19.25/3.60 | | | (183) count(all_29_0) = all_158_0 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (169) with fresh symbols all_164_0, all_164_1 gives: % 19.25/3.60 | | | (184) remove(all_13_1, all_29_0) = all_164_1 & count(all_164_1) = % 19.25/3.60 | | | all_164_0 & count(all_29_0) = $sum(all_164_0, 1) & % 19.25/3.60 | | | collection(all_164_1) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (184) implies: % 19.25/3.60 | | | (185) collection(all_164_1) % 19.25/3.60 | | | (186) count(all_29_0) = $sum(all_164_0, 1) % 19.25/3.60 | | | (187) count(all_164_1) = all_164_0 % 19.25/3.60 | | | (188) remove(all_13_1, all_29_0) = all_164_1 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (162) with fresh symbols all_168_0, all_168_1, % 19.25/3.60 | | | all_168_2 gives: % 19.25/3.60 | | | (189) ~ (all_168_0 = all_168_1) & remove(all_13_3, all_29_0) = % 19.25/3.60 | | | all_168_2 & count(all_168_2) = all_168_1 & count(all_29_0) = % 19.25/3.60 | | | all_168_0 & collection(all_168_2) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (189) implies: % 19.25/3.60 | | | (190) count(all_29_0) = all_168_0 % 19.25/3.60 | | | (191) count(all_168_2) = all_168_1 % 19.25/3.60 | | | (192) remove(all_13_3, all_29_0) = all_168_2 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (167) with fresh symbols all_174_0, all_174_1, % 19.25/3.60 | | | all_174_2 gives: % 19.25/3.60 | | | (193) ~ ($difference(all_174_0, all_174_1) = -1) & add(all_13_1, % 19.25/3.60 | | | all_29_0) = all_174_2 & count(all_174_2) = all_174_1 & % 19.25/3.60 | | | count(all_29_0) = all_174_0 & collection(all_174_2) % 19.25/3.60 | | | % 19.25/3.60 | | | ALPHA: (193) implies: % 19.25/3.60 | | | (194) count(all_29_0) = all_174_0 % 19.25/3.60 | | | % 19.25/3.60 | | | DELTA: instantiating (161) with fresh symbols all_180_0, all_180_1, % 19.25/3.60 | | | all_180_2 gives: % 19.25/3.61 | | | (195) ~ ($difference(all_180_0, all_180_1) = -1) & add(all_13_3, % 19.25/3.61 | | | all_29_0) = all_180_2 & count(all_180_2) = all_180_1 & % 19.25/3.61 | | | count(all_29_0) = all_180_0 & collection(all_180_2) % 19.25/3.61 | | | % 19.25/3.61 | | | ALPHA: (195) implies: % 19.25/3.61 | | | (196) count(all_29_0) = all_180_0 % 19.25/3.61 | | | % 19.25/3.61 | | | DELTA: instantiating (168) with fresh symbols all_184_0, all_184_1, % 19.25/3.61 | | | all_184_2 gives: % 19.25/3.61 | | | (197) ~ (all_184_0 = all_184_1) & remove(all_13_1, all_29_0) = % 19.25/3.61 | | | all_184_2 & count(all_184_2) = all_184_1 & count(all_29_0) = % 19.25/3.61 | | | all_184_0 & collection(all_184_2) % 19.25/3.61 | | | % 19.25/3.61 | | | ALPHA: (197) implies: % 19.25/3.61 | | | (198) count(all_29_0) = all_184_0 % 19.25/3.61 | | | (199) count(all_184_2) = all_184_1 % 19.25/3.61 | | | (200) remove(all_13_1, all_29_0) = all_184_2 % 19.25/3.61 | | | % 19.25/3.61 | | | BETA: splitting (166) gives: % 19.25/3.61 | | | % 19.25/3.61 | | | Case 1: % 19.25/3.61 | | | | % 19.25/3.61 | | | | (201) all_71_0 = 0 % 19.25/3.61 | | | | % 19.25/3.61 | | | | REDUCE: (125), (201) imply: % 19.25/3.61 | | | | (202) $false % 19.25/3.61 | | | | % 19.25/3.61 | | | | CLOSE: (202) is inconsistent. % 19.25/3.61 | | | | % 19.25/3.61 | | | Case 2: % 19.25/3.61 | | | | % 19.25/3.61 | | | | (203) ? [v0: collection] : ? [v1: int] : (remove(all_13_2, % 19.25/3.61 | | | | all_29_0) = v0 & count(v0) = v1 & count(all_29_0) = v1 & % 19.25/3.61 | | | | collection(v0)) % 19.25/3.61 | | | | % 19.25/3.61 | | | | DELTA: instantiating (203) with fresh symbols all_198_0, all_198_1 % 19.25/3.61 | | | | gives: % 19.25/3.61 | | | | (204) remove(all_13_2, all_29_0) = all_198_1 & count(all_198_1) = % 19.25/3.61 | | | | all_198_0 & count(all_29_0) = all_198_0 & collection(all_198_1) % 19.25/3.61 | | | | % 19.25/3.61 | | | | ALPHA: (204) implies: % 19.25/3.61 | | | | (205) count(all_29_0) = all_198_0 % 19.25/3.61 | | | | % 19.25/3.61 | | | | BETA: splitting (165) gives: % 19.25/3.61 | | | | % 19.25/3.61 | | | | Case 1: % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | (206) all_71_0 = 0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | REDUCE: (125), (206) imply: % 19.25/3.61 | | | | | (207) $false % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | CLOSE: (207) is inconsistent. % 19.25/3.61 | | | | | % 19.25/3.61 | | | | Case 2: % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | (208) ? [v0: collection] : ? [v1: int] : ? [v2: int] : ( ~ % 19.25/3.61 | | | | | ($difference(v2, v1) = 1) & remove(all_13_2, all_29_0) = v0 % 19.25/3.61 | | | | | & count(v0) = v1 & count(all_29_0) = v2 & collection(v0)) % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | DELTA: instantiating (208) with fresh symbols all_218_0, all_218_1, % 19.25/3.61 | | | | | all_218_2 gives: % 19.25/3.61 | | | | | (209) ~ ($difference(all_218_0, all_218_1) = 1) & remove(all_13_2, % 19.25/3.61 | | | | | all_29_0) = all_218_2 & count(all_218_2) = all_218_1 & % 19.25/3.61 | | | | | count(all_29_0) = all_218_0 & collection(all_218_2) % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | ALPHA: (209) implies: % 19.25/3.61 | | | | | (210) count(all_29_0) = all_218_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with $sum(all_13_0, -1), all_158_0, % 19.25/3.61 | | | | | all_29_0, simplifying with (114), (183) gives: % 19.25/3.61 | | | | | (211) $difference(all_158_0, all_13_0) = -1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_158_0, $sum(all_164_0, 1), % 19.25/3.61 | | | | | all_29_0, simplifying with (183), (186) gives: % 19.25/3.61 | | | | | (212) $difference(all_164_0, all_158_0) = -1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with $sum(all_164_0, 1), all_168_0, % 19.25/3.61 | | | | | all_29_0, simplifying with (186), (190) gives: % 19.25/3.61 | | | | | (213) $difference(all_168_0, all_164_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_168_0, all_174_0, all_29_0, % 19.25/3.61 | | | | | simplifying with (190), (194) gives: % 19.25/3.61 | | | | | (214) all_174_0 = all_168_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_174_0, all_180_0, all_29_0, % 19.25/3.61 | | | | | simplifying with (194), (196) gives: % 19.25/3.61 | | | | | (215) all_180_0 = all_174_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_180_0, all_184_0, all_29_0, % 19.25/3.61 | | | | | simplifying with (196), (198) gives: % 19.25/3.61 | | | | | (216) all_184_0 = all_180_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_184_0, all_198_0, all_29_0, % 19.25/3.61 | | | | | simplifying with (198), (205) gives: % 19.25/3.61 | | | | | (217) all_198_0 = all_184_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with all_198_0, all_218_0, all_29_0, % 19.25/3.61 | | | | | simplifying with (205), (210) gives: % 19.25/3.61 | | | | | (218) all_218_0 = all_198_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (17) with $sum(all_154_0, 1), all_218_0, % 19.25/3.61 | | | | | all_29_0, simplifying with (179), (210) gives: % 19.25/3.61 | | | | | (219) $difference(all_218_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (19) with all_154_1, all_168_2, all_29_0, % 19.25/3.61 | | | | | all_13_3, simplifying with (181), (192) gives: % 19.25/3.61 | | | | | (220) all_168_2 = all_154_1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (19) with all_134_0, all_168_2, all_29_0, % 19.25/3.61 | | | | | all_13_3, simplifying with (174), (192) gives: % 19.25/3.61 | | | | | (221) all_168_2 = all_134_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (19) with all_164_1, all_184_2, all_29_0, % 19.25/3.61 | | | | | all_13_1, simplifying with (188), (200) gives: % 19.25/3.61 | | | | | (222) all_184_2 = all_164_1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | GROUND_INST: instantiating (19) with all_136_0, all_184_2, all_29_0, % 19.25/3.61 | | | | | all_13_1, simplifying with (176), (200) gives: % 19.25/3.61 | | | | | (223) all_184_2 = all_136_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (218), (219) imply: % 19.25/3.61 | | | | | (224) $difference(all_198_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | SIMP: (224) implies: % 19.25/3.61 | | | | | (225) $difference(all_198_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (217), (225) imply: % 19.25/3.61 | | | | | (226) $difference(all_184_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | SIMP: (226) implies: % 19.25/3.61 | | | | | (227) $difference(all_184_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (216), (227) imply: % 19.25/3.61 | | | | | (228) $difference(all_180_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | SIMP: (228) implies: % 19.25/3.61 | | | | | (229) $difference(all_180_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (222), (223) imply: % 19.25/3.61 | | | | | (230) all_164_1 = all_136_0 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (215), (229) imply: % 19.25/3.61 | | | | | (231) $difference(all_174_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | SIMP: (231) implies: % 19.25/3.61 | | | | | (232) $difference(all_174_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (214), (232) imply: % 19.25/3.61 | | | | | (233) $difference(all_168_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | SIMP: (233) implies: % 19.25/3.61 | | | | | (234) $difference(all_168_0, all_154_0) = 1 % 19.25/3.61 | | | | | % 19.25/3.61 | | | | | COMBINE_EQS: (213), (234) imply: % 19.25/3.62 | | | | | (235) all_164_0 = all_154_0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | SIMP: (235) implies: % 19.25/3.62 | | | | | (236) all_164_0 = all_154_0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | COMBINE_EQS: (220), (221) imply: % 19.25/3.62 | | | | | (237) all_154_1 = all_134_0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | SIMP: (237) implies: % 19.25/3.62 | | | | | (238) all_154_1 = all_134_0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | COMBINE_EQS: (212), (236) imply: % 19.25/3.62 | | | | | (239) $difference(all_158_0, all_154_0) = 1 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | SIMP: (239) implies: % 19.25/3.62 | | | | | (240) $difference(all_158_0, all_154_0) = 1 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | COMBINE_EQS: (211), (240) imply: % 19.25/3.62 | | | | | (241) $difference(all_154_0, all_13_0) = -2 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | COMBINE_EQS: (236), (241) imply: % 19.25/3.62 | | | | | (242) $difference(all_164_0, all_13_0) = -2 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (199), (223) imply: % 19.25/3.62 | | | | | (243) count(all_136_0) = all_184_1 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (191), (221) imply: % 19.25/3.62 | | | | | (244) count(all_134_0) = all_168_1 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (187), (230), (242) imply: % 19.25/3.62 | | | | | (245) count(all_136_0) = $sum(all_13_0, -2) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (180), (238), (241) imply: % 19.25/3.62 | | | | | (246) count(all_134_0) = $sum(all_13_0, -2) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (185), (230) imply: % 19.25/3.62 | | | | | (247) collection(all_136_0) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (178), (238) imply: % 19.25/3.62 | | | | | (248) collection(all_134_0) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | GROUND_INST: instantiating (17) with $sum(all_13_0, -2), all_168_1, % 19.25/3.62 | | | | | all_134_0, simplifying with (244), (246) gives: % 19.25/3.62 | | | | | (249) $difference(all_168_1, all_13_0) = -2 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | GROUND_INST: instantiating (17) with $sum(all_13_0, -2), all_184_1, % 19.25/3.62 | | | | | all_136_0, simplifying with (243), (245) gives: % 19.25/3.62 | | | | | (250) $difference(all_184_1, all_13_0) = -2 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | GROUND_INST: instantiating (3) with all_134_0, simplifying with (248) % 19.25/3.62 | | | | | gives: % 19.25/3.62 | | | | | (251) all_134_0 = empty | ~ (count(all_134_0) = 0) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | GROUND_INST: instantiating (2) with all_136_0, $sum(all_13_0, -2), % 19.25/3.62 | | | | | simplifying with (245), (247) gives: % 19.25/3.62 | | | | | (252) $lesseq(2, all_13_0) % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | GROUND_INST: instantiating (11) with all_13_1, all_134_0, all_13_3, % 19.25/3.62 | | | | | all_29_0, simplifying with (140), (173), (248) gives: % 19.25/3.62 | | | | | (253) all_13_1 = all_13_3 | in(all_13_1, all_134_0) = 0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | ANTI_SYMM: (23), (252) imply: % 19.25/3.62 | | | | | (254) all_13_0 = 2 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | REDUCE: (246), (254) imply: % 19.25/3.62 | | | | | (255) count(all_134_0) = 0 % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | BETA: splitting (251) gives: % 19.25/3.62 | | | | | % 19.25/3.62 | | | | | Case 1: % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | (256) ~ (count(all_134_0) = 0) % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | PRED_UNIFY: (255), (256) imply: % 19.25/3.62 | | | | | | (257) $false % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | CLOSE: (257) is inconsistent. % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | Case 2: % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | (258) all_134_0 = empty % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | BETA: splitting (253) gives: % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | | Case 1: % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | (259) in(all_13_1, all_134_0) = 0 % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | REDUCE: (258), (259) imply: % 19.25/3.62 | | | | | | | (260) in(all_13_1, empty) = 0 % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | GROUND_INST: instantiating (1) with all_13_1, simplifying with % 19.25/3.62 | | | | | | | (260) gives: % 19.25/3.62 | | | | | | | (261) $false % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | CLOSE: (261) is inconsistent. % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | Case 2: % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | (262) all_13_1 = all_13_3 % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | REDUCE: (22), (262) imply: % 19.25/3.62 | | | | | | | (263) $lesseq(1, $difference(all_13_2, all_13_3)) % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | COMBINE_INEQS: (21), (263) imply: % 19.25/3.62 | | | | | | | (264) $false % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | | CLOSE: (264) is inconsistent. % 19.25/3.62 | | | | | | | % 19.25/3.62 | | | | | | End of split % 19.25/3.62 | | | | | | % 19.25/3.62 | | | | | End of split % 19.25/3.62 | | | | | % 19.25/3.62 | | | | End of split % 19.25/3.62 | | | | % 19.25/3.62 | | | End of split % 19.25/3.62 | | | % 19.25/3.62 | | Case 2: % 19.25/3.62 | | | % 19.25/3.62 | | | (265) all_13_1 = all_13_2 % 19.25/3.62 | | | % 19.25/3.62 | | | REDUCE: (22), (265) imply: % 19.25/3.62 | | | (266) $false % 19.25/3.62 | | | % 19.25/3.62 | | | CLOSE: (266) is inconsistent. % 19.25/3.62 | | | % 19.25/3.62 | | End of split % 19.25/3.62 | | % 19.25/3.62 | Case 2: % 19.25/3.62 | | % 19.25/3.62 | | (267) all_13_2 = all_13_3 % 19.25/3.62 | | % 19.25/3.62 | | REDUCE: (21), (267) imply: % 19.25/3.62 | | (268) $false % 19.25/3.62 | | % 19.25/3.62 | | CLOSE: (268) is inconsistent. % 19.25/3.62 | | % 19.25/3.62 | End of split % 19.25/3.62 | % 19.25/3.62 End of proof % 19.25/3.62 % SZS output end Proof for theBenchmark % 19.25/3.62 % 19.25/3.62 3018ms %------------------------------------------------------------------------------