%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : DAT048_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 : n009.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:19:01 EDT 2023 % Result : Theorem 8.69s 1.97s % Output : Proof 12.97s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.10/0.12 % Problem : DAT048_1 : TPTP v8.1.2. Released v5.0.0. % 0.10/0.13 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.14/0.34 % Computer : n009.cluster.edu % 0.14/0.34 % Model : x86_64 x86_64 % 0.14/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.14/0.34 % Memory : 8042.1875MB % 0.14/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.14/0.34 % CPULimit : 300 % 0.14/0.34 % WCLimit : 300 % 0.14/0.34 % DateTime : Thu Aug 24 14:09:06 EDT 2023 % 0.14/0.34 % CPUTime : % 0.20/0.59 ________ _____ % 0.20/0.59 ___ __ \_________(_)________________________________ % 0.20/0.59 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.20/0.59 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.20/0.59 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.20/0.59 % 0.20/0.59 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.20/0.59 (2023-06-19) % 0.20/0.59 % 0.20/0.59 (c) Philipp Rümmer, 2009-2023 % 0.20/0.59 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.20/0.59 Amanda Stjerna. % 0.20/0.59 Free software under BSD-3-Clause. % 0.20/0.59 % 0.20/0.59 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.62 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.20/0.62 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.20/0.62 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.20/0.62 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.20/0.62 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.20/0.62 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 0.20/0.62 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 2.85/1.08 Prover 1: Preprocessing ... % 2.85/1.08 Prover 4: Preprocessing ... % 2.85/1.12 Prover 3: Preprocessing ... % 2.85/1.12 Prover 0: Preprocessing ... % 2.85/1.14 Prover 5: Preprocessing ... % 2.85/1.14 Prover 6: Preprocessing ... % 2.85/1.14 Prover 2: Preprocessing ... % 5.07/1.42 Prover 3: Constructing countermodel ... % 5.07/1.43 Prover 5: Proving ... % 5.07/1.44 Prover 1: Constructing countermodel ... % 5.07/1.45 Prover 6: Constructing countermodel ... % 5.07/1.47 Prover 4: Constructing countermodel ... % 5.07/1.47 Prover 0: Proving ... % 5.70/1.50 Prover 2: Proving ... % 8.69/1.96 Prover 3: proved (1341ms) % 8.69/1.97 % 8.69/1.97 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 8.69/1.97 % 8.69/1.97 Prover 6: stopped % 8.69/1.97 Prover 0: stopped % 9.02/1.97 Prover 2: stopped % 9.02/1.98 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 9.02/1.98 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 9.02/1.98 Prover 5: proved (1350ms) % 9.02/1.98 % 9.02/1.98 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 9.02/1.98 % 9.02/1.99 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 9.02/1.99 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 9.02/1.99 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 9.45/2.04 Prover 13: Preprocessing ... % 9.45/2.05 Prover 8: Preprocessing ... % 9.45/2.05 Prover 7: Preprocessing ... % 9.45/2.05 Prover 10: Preprocessing ... % 9.45/2.07 Prover 11: Preprocessing ... % 10.28/2.12 Prover 10: Constructing countermodel ... % 10.28/2.13 Prover 8: Warning: ignoring some quantifiers % 10.28/2.13 Prover 7: Constructing countermodel ... % 10.28/2.13 Prover 8: Constructing countermodel ... % 10.28/2.14 Prover 13: Warning: ignoring some quantifiers % 10.28/2.15 Prover 13: Constructing countermodel ... % 11.06/2.21 Prover 11: Constructing countermodel ... % 11.72/2.38 Prover 10: Found proof (size 88) % 11.72/2.38 Prover 10: proved (410ms) % 11.72/2.39 Prover 7: stopped % 11.72/2.39 Prover 8: stopped % 11.72/2.39 Prover 11: stopped % 11.72/2.39 Prover 4: stopped % 11.72/2.39 Prover 13: stopped % 12.44/2.40 Prover 1: Found proof (size 275) % 12.44/2.40 Prover 1: proved (1780ms) % 12.44/2.40 % 12.44/2.40 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 12.44/2.40 % 12.44/2.41 % SZS output start Proof for theBenchmark % 12.44/2.41 Assumptions after simplification: % 12.44/2.41 --------------------------------- % 12.44/2.41 % 12.44/2.41 (ax1) % 12.44/2.43 collection(empty) & ! [v0: collection] : ! [v1: int] : ( ~ ($lesseq(v1, -1)) % 12.44/2.43 | ~ (count(v0) = v1) | ~ collection(v0)) & ! [v0: int] : ~ in(v0, empty) % 12.44/2.43 % 12.44/2.43 (ax2) % 12.44/2.43 collection(empty) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : % 12.44/2.43 ( ~ (add(v0, v1) = v2) | ~ collection(v1) | in(v0, v2)) & ! [v0: collection] % 12.44/2.43 : (v0 = empty | ~ (count(v0) = 0) | ~ collection(v0)) & ! [v0: int] : (v0 = % 12.44/2.43 0 | ~ (count(empty) = v0)) % 12.44/2.43 % 12.44/2.43 (ax3) % 12.44/2.43 ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) % 12.44/2.43 = v2) | ~ collection(v1) | ~ in(v0, v2)) & ! [v0: int] : ! [v1: % 12.44/2.43 collection] : ! [v2: collection] : ( ~ (add(v0, v1) = v2) | ~ % 12.44/2.43 collection(v1) | ~ in(v0, v1) | ? [v3: int] : ? [v4: int] : ( ~ % 12.44/2.43 ($difference(v4, v3) = -1) & count(v2) = v3 & count(v1) = v4)) & ! [v0: % 12.44/2.43 int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, v1) = v2) | % 12.44/2.43 ~ collection(v1) | in(v0, v1) | ? [v3: int] : (count(v2) = v3 & count(v1) = % 12.44/2.43 $sum(v3, -1))) % 12.44/2.43 % 12.44/2.43 (ax4) % 12.44/2.44 ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : (v2 % 12.44/2.44 = v0 | ~ (add(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) | in(v0, % 12.44/2.44 v1)) & ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: % 12.44/2.44 collection] : ( ~ (add(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v1) | % 12.44/2.44 in(v0, v3)) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 12.44/2.44 (add(v0, v1) = v2) | ~ collection(v1) | ~ in(v0, v1) | ? [v3: int] : % 12.44/2.44 (count(v2) = v3 & count(v1) = v3)) & ! [v0: int] : ! [v1: collection] : ! % 12.44/2.44 [v2: collection] : ( ~ (add(v0, v1) = v2) | ~ collection(v1) | in(v0, v2)) & % 12.44/2.44 ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, v1) = % 12.44/2.44 v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] : ? [v4: int] : ( ~ % 12.44/2.44 (v4 = v3) & count(v2) = v3 & count(v1) = v4)) % 12.44/2.44 % 12.44/2.44 (ax5) % 12.44/2.44 ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : (v2 % 12.44/2.44 = v0 | ~ (remove(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v1) | in(v0, % 12.44/2.44 v3)) & ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: % 12.44/2.44 collection] : ( ~ (remove(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) % 12.44/2.44 | in(v0, v1)) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( % 12.44/2.44 ~ (remove(v0, v1) = v2) | ~ collection(v1) | ~ in(v0, v2)) & ! [v0: int] % 12.44/2.44 : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) = v2) | ~ % 12.44/2.44 collection(v1) | ~ in(v0, v1) | ? [v3: int] : (count(v2) = v3 & count(v1) % 12.44/2.44 = $sum(v3, 1))) & ! [v0: int] : ! [v1: collection] : ! [v2: collection] % 12.44/2.44 : ( ~ (remove(v0, v1) = v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] : % 12.44/2.44 ? [v4: int] : ( ~ ($difference(v4, v3) = 1) & count(v2) = v3 & count(v1) = % 12.44/2.44 v4)) % 12.44/2.44 % 12.44/2.44 (ax6) % 12.44/2.44 ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (remove(v0, v1) % 12.44/2.44 = v2) | ~ collection(v1) | ~ in(v0, v1) | ? [v3: int] : ? [v4: int] : % 12.44/2.44 ( ~ (v4 = v3) & count(v2) = v3 & count(v1) = v4)) & ! [v0: int] : ! [v1: % 12.44/2.44 collection] : ! [v2: collection] : ( ~ (remove(v0, v1) = v2) | ~ % 12.44/2.44 collection(v1) | in(v0, v1) | ? [v3: int] : (count(v2) = v3 & count(v1) = % 12.44/2.44 v3)) % 12.44/2.44 % 12.44/2.44 (co1) % 12.44/2.44 collection(empty) & ? [v0: collection] : ? [v1: collection] : ? [v2: % 12.44/2.44 collection] : ? [v3: collection] : ? [v4: int] : ( ~ (v4 = 3) & remove(3, % 12.44/2.44 v0) = v1 & add(5, v1) = v2 & add(2, empty) = v0 & add(1, v2) = v3 & % 12.44/2.44 count(v3) = v4 & collection(v3) & collection(v2) & collection(v1) & % 12.44/2.44 collection(v0)) % 12.44/2.44 % 12.44/2.44 (function-axioms) % 12.44/2.45 ! [v0: collection] : ! [v1: collection] : ! [v2: collection] : ! [v3: int] % 12.44/2.45 : (v1 = v0 | ~ (remove(v3, v2) = v1) | ~ (remove(v3, v2) = v0)) & ! [v0: % 12.44/2.45 collection] : ! [v1: collection] : ! [v2: collection] : ! [v3: int] : (v1 % 12.44/2.45 = v0 | ~ (add(v3, v2) = v1) | ~ (add(v3, v2) = v0)) & ! [v0: int] : ! % 12.44/2.45 [v1: int] : ! [v2: collection] : (v1 = v0 | ~ (count(v2) = v1) | ~ % 12.44/2.45 (count(v2) = v0)) % 12.44/2.45 % 12.44/2.45 Further assumptions not needed in the proof: % 12.44/2.45 -------------------------------------------- % 12.44/2.45 ax7 % 12.44/2.45 % 12.44/2.45 Those formulas are unsatisfiable: % 12.44/2.45 --------------------------------- % 12.44/2.45 % 12.44/2.45 Begin of proof % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax1) implies: % 12.44/2.45 | (1) ! [v0: int] : ~ in(v0, empty) % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax2) implies: % 12.44/2.45 | (2) ! [v0: int] : (v0 = 0 | ~ (count(empty) = v0)) % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax3) implies: % 12.44/2.45 | (3) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, % 12.44/2.45 | v1) = v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] : % 12.44/2.45 | (count(v2) = v3 & count(v1) = $sum(v3, -1))) % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax4) implies: % 12.44/2.45 | (4) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ (add(v0, % 12.44/2.45 | v1) = v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] : ? % 12.44/2.45 | [v4: int] : ( ~ (v4 = v3) & count(v2) = v3 & count(v1) = v4)) % 12.44/2.45 | (5) ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] % 12.44/2.45 | : (v2 = v0 | ~ (add(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) % 12.44/2.45 | | in(v0, v1)) % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax5) implies: % 12.44/2.45 | (6) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 12.44/2.45 | (remove(v0, v1) = v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] % 12.44/2.45 | : ? [v4: int] : ( ~ ($difference(v4, v3) = 1) & count(v2) = v3 & % 12.44/2.45 | count(v1) = v4)) % 12.44/2.45 | (7) ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] % 12.44/2.45 | : ( ~ (remove(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) | % 12.44/2.45 | in(v0, v1)) % 12.44/2.45 | % 12.44/2.45 | ALPHA: (ax6) implies: % 12.44/2.46 | (8) ! [v0: int] : ! [v1: collection] : ! [v2: collection] : ( ~ % 12.44/2.46 | (remove(v0, v1) = v2) | ~ collection(v1) | in(v0, v1) | ? [v3: int] % 12.44/2.46 | : (count(v2) = v3 & count(v1) = v3)) % 12.44/2.46 | % 12.44/2.46 | ALPHA: (co1) implies: % 12.44/2.46 | (9) collection(empty) % 12.44/2.46 | (10) ? [v0: collection] : ? [v1: collection] : ? [v2: collection] : ? % 12.44/2.46 | [v3: collection] : ? [v4: int] : ( ~ (v4 = 3) & remove(3, v0) = v1 & % 12.44/2.46 | add(5, v1) = v2 & add(2, empty) = v0 & add(1, v2) = v3 & count(v3) = % 12.44/2.46 | v4 & collection(v3) & collection(v2) & collection(v1) & % 12.44/2.46 | collection(v0)) % 12.44/2.46 | % 12.44/2.46 | ALPHA: (function-axioms) implies: % 12.44/2.46 | (11) ! [v0: int] : ! [v1: int] : ! [v2: collection] : (v1 = v0 | ~ % 12.44/2.46 | (count(v2) = v1) | ~ (count(v2) = v0)) % 12.44/2.46 | % 12.44/2.46 | DELTA: instantiating (10) with fresh symbols all_13_0, all_13_1, all_13_2, % 12.44/2.46 | all_13_3, all_13_4 gives: % 12.44/2.46 | (12) ~ (all_13_0 = 3) & remove(3, all_13_4) = all_13_3 & add(5, all_13_3) % 12.44/2.46 | = all_13_2 & add(2, empty) = all_13_4 & add(1, all_13_2) = all_13_1 & % 12.44/2.46 | count(all_13_1) = all_13_0 & collection(all_13_1) & % 12.44/2.46 | collection(all_13_2) & collection(all_13_3) & collection(all_13_4) % 12.44/2.46 | % 12.44/2.46 | ALPHA: (12) implies: % 12.44/2.46 | (13) ~ (all_13_0 = 3) % 12.44/2.46 | (14) collection(all_13_4) % 12.44/2.46 | (15) collection(all_13_3) % 12.44/2.46 | (16) collection(all_13_2) % 12.44/2.46 | (17) count(all_13_1) = all_13_0 % 12.44/2.46 | (18) add(1, all_13_2) = all_13_1 % 12.44/2.46 | (19) add(2, empty) = all_13_4 % 12.44/2.46 | (20) add(5, all_13_3) = all_13_2 % 12.44/2.46 | (21) remove(3, all_13_4) = all_13_3 % 12.44/2.46 | % 12.44/2.46 | GROUND_INST: instantiating (4) with 1, all_13_2, all_13_1, simplifying with % 12.44/2.46 | (16), (18) gives: % 12.44/2.46 | (22) in(1, all_13_2) | ? [v0: int] : ? [v1: int] : ( ~ (v1 = v0) & % 12.44/2.46 | count(all_13_1) = v0 & count(all_13_2) = v1) % 12.44/2.46 | % 12.44/2.46 | GROUND_INST: instantiating (3) with 1, all_13_2, all_13_1, simplifying with % 12.44/2.46 | (16), (18) gives: % 12.44/2.46 | (23) in(1, all_13_2) | ? [v0: int] : (count(all_13_1) = v0 & % 12.44/2.46 | count(all_13_2) = $sum(v0, -1)) % 12.44/2.46 | % 12.44/2.46 | GROUND_INST: instantiating (3) with 2, empty, all_13_4, simplifying with (9), % 12.44/2.46 | (19) gives: % 12.44/2.46 | (24) in(2, empty) | ? [v0: int] : (count(all_13_4) = v0 & count(empty) = % 12.44/2.46 | $sum(v0, -1)) % 12.44/2.46 | % 12.44/2.46 | GROUND_INST: instantiating (4) with 5, all_13_3, all_13_2, simplifying with % 12.44/2.46 | (15), (20) gives: % 12.44/2.46 | (25) in(5, all_13_3) | ? [v0: int] : ? [v1: int] : ( ~ (v1 = v0) & % 12.44/2.46 | count(all_13_2) = v0 & count(all_13_3) = v1) % 12.44/2.46 | % 12.44/2.47 | GROUND_INST: instantiating (3) with 5, all_13_3, all_13_2, simplifying with % 12.44/2.47 | (15), (20) gives: % 12.44/2.47 | (26) in(5, all_13_3) | ? [v0: int] : (count(all_13_2) = v0 & % 12.44/2.47 | count(all_13_3) = $sum(v0, -1)) % 12.44/2.47 | % 12.44/2.47 | GROUND_INST: instantiating (6) with 3, all_13_4, all_13_3, simplifying with % 12.44/2.47 | (14), (21) gives: % 12.44/2.47 | (27) in(3, all_13_4) | ? [v0: int] : ? [v1: int] : ( ~ ($difference(v1, % 12.44/2.47 | v0) = 1) & count(all_13_3) = v0 & count(all_13_4) = v1) % 12.44/2.47 | % 12.44/2.47 | GROUND_INST: instantiating (8) with 3, all_13_4, all_13_3, simplifying with % 12.44/2.47 | (14), (21) gives: % 12.44/2.47 | (28) in(3, all_13_4) | ? [v0: int] : (count(all_13_3) = v0 & % 12.44/2.47 | count(all_13_4) = v0) % 12.44/2.47 | % 12.44/2.47 | BETA: splitting (24) gives: % 12.44/2.47 | % 12.44/2.47 | Case 1: % 12.44/2.47 | | % 12.44/2.47 | | (29) in(2, empty) % 12.44/2.47 | | % 12.44/2.47 | | GROUND_INST: instantiating (1) with 2, simplifying with (29) gives: % 12.44/2.47 | | (30) $false % 12.44/2.47 | | % 12.44/2.47 | | CLOSE: (30) is inconsistent. % 12.44/2.47 | | % 12.44/2.47 | Case 2: % 12.44/2.47 | | % 12.44/2.47 | | (31) ? [v0: int] : (count(all_13_4) = v0 & count(empty) = $sum(v0, -1)) % 12.44/2.47 | | % 12.44/2.47 | | DELTA: instantiating (31) with fresh symbol all_50_0 gives: % 12.44/2.47 | | (32) count(all_13_4) = all_50_0 & count(empty) = $sum(all_50_0, -1) % 12.44/2.47 | | % 12.44/2.47 | | ALPHA: (32) implies: % 12.44/2.47 | | (33) count(empty) = $sum(all_50_0, -1) % 12.44/2.47 | | (34) count(all_13_4) = all_50_0 % 12.44/2.47 | | % 12.44/2.47 | | GROUND_INST: instantiating (2) with $sum(all_50_0, -1), simplifying with % 12.44/2.47 | | (33) gives: % 12.44/2.47 | | (35) all_50_0 = 1 % 12.44/2.47 | | % 12.44/2.47 | | REDUCE: (34), (35) imply: % 12.44/2.47 | | (36) count(all_13_4) = 1 % 12.44/2.47 | | % 12.44/2.47 | | BETA: splitting (23) gives: % 12.44/2.47 | | % 12.44/2.47 | | Case 1: % 12.44/2.47 | | | % 12.44/2.47 | | | (37) in(1, all_13_2) % 12.44/2.47 | | | % 12.44/2.47 | | | GROUND_INST: instantiating (5) with 1, all_13_3, 5, all_13_2, simplifying % 12.44/2.47 | | | with (15), (20), (37) gives: % 12.44/2.47 | | | (38) in(1, all_13_3) % 12.44/2.47 | | | % 12.44/2.47 | | | REF_CLOSE: (1), (5), (7), (9), (14), (19), (21), (38) are inconsistent by % 12.44/2.47 | | | sub-proof #1. % 12.44/2.47 | | | % 12.44/2.47 | | Case 2: % 12.44/2.47 | | | % 12.44/2.47 | | | (39) ? [v0: int] : (count(all_13_1) = v0 & count(all_13_2) = $sum(v0, % 12.44/2.47 | | | -1)) % 12.44/2.47 | | | % 12.44/2.47 | | | DELTA: instantiating (39) with fresh symbol all_63_0 gives: % 12.44/2.47 | | | (40) count(all_13_1) = all_63_0 & count(all_13_2) = $sum(all_63_0, -1) % 12.44/2.47 | | | % 12.44/2.47 | | | ALPHA: (40) implies: % 12.44/2.47 | | | (41) count(all_13_2) = $sum(all_63_0, -1) % 12.44/2.47 | | | (42) count(all_13_1) = all_63_0 % 12.44/2.47 | | | % 12.44/2.47 | | | BETA: splitting (22) gives: % 12.44/2.47 | | | % 12.44/2.47 | | | Case 1: % 12.44/2.47 | | | | % 12.44/2.47 | | | | (43) in(1, all_13_2) % 12.44/2.47 | | | | % 12.44/2.47 | | | | GROUND_INST: instantiating (5) with 1, all_13_3, 5, all_13_2, % 12.44/2.47 | | | | simplifying with (15), (20), (43) gives: % 12.44/2.47 | | | | (44) in(1, all_13_3) % 12.44/2.48 | | | | % 12.44/2.48 | | | | REF_CLOSE: (1), (5), (7), (9), (14), (19), (21), (44) are inconsistent % 12.44/2.48 | | | | by sub-proof #1. % 12.44/2.48 | | | | % 12.44/2.48 | | | Case 2: % 12.44/2.48 | | | | % 12.44/2.48 | | | | (45) ? [v0: int] : ? [v1: int] : ( ~ (v1 = v0) & count(all_13_1) = % 12.44/2.48 | | | | v0 & count(all_13_2) = v1) % 12.44/2.48 | | | | % 12.44/2.48 | | | | DELTA: instantiating (45) with fresh symbols all_69_0, all_69_1 gives: % 12.44/2.48 | | | | (46) ~ (all_69_0 = all_69_1) & count(all_13_1) = all_69_1 & % 12.44/2.48 | | | | count(all_13_2) = all_69_0 % 12.44/2.48 | | | | % 12.44/2.48 | | | | ALPHA: (46) implies: % 12.44/2.48 | | | | (47) count(all_13_1) = all_69_1 % 12.44/2.48 | | | | % 12.44/2.48 | | | | GROUND_INST: instantiating (11) with all_13_0, all_69_1, all_13_1, % 12.44/2.48 | | | | simplifying with (17), (47) gives: % 12.44/2.48 | | | | (48) all_69_1 = all_13_0 % 12.44/2.48 | | | | % 12.44/2.48 | | | | GROUND_INST: instantiating (11) with all_63_0, all_69_1, all_13_1, % 12.44/2.48 | | | | simplifying with (42), (47) gives: % 12.44/2.48 | | | | (49) all_69_1 = all_63_0 % 12.44/2.48 | | | | % 12.44/2.48 | | | | COMBINE_EQS: (48), (49) imply: % 12.44/2.48 | | | | (50) all_63_0 = all_13_0 % 12.44/2.48 | | | | % 12.44/2.48 | | | | SIMP: (50) implies: % 12.44/2.48 | | | | (51) all_63_0 = all_13_0 % 12.44/2.48 | | | | % 12.44/2.48 | | | | REDUCE: (41), (51) imply: % 12.44/2.48 | | | | (52) count(all_13_2) = $sum(all_13_0, -1) % 12.44/2.48 | | | | % 12.44/2.48 | | | | BETA: splitting (28) gives: % 12.44/2.48 | | | | % 12.44/2.48 | | | | Case 1: % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | (53) in(3, all_13_4) % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | GROUND_INST: instantiating (5) with 3, empty, 2, all_13_4, simplifying % 12.44/2.48 | | | | | with (9), (19), (53) gives: % 12.44/2.48 | | | | | (54) in(3, empty) % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | GROUND_INST: instantiating (1) with 3, simplifying with (54) gives: % 12.44/2.48 | | | | | (55) $false % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | CLOSE: (55) is inconsistent. % 12.44/2.48 | | | | | % 12.44/2.48 | | | | Case 2: % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | (56) ? [v0: int] : (count(all_13_3) = v0 & count(all_13_4) = v0) % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | DELTA: instantiating (56) with fresh symbol all_88_0 gives: % 12.44/2.48 | | | | | (57) count(all_13_3) = all_88_0 & count(all_13_4) = all_88_0 % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | ALPHA: (57) implies: % 12.44/2.48 | | | | | (58) count(all_13_4) = all_88_0 % 12.44/2.48 | | | | | (59) count(all_13_3) = all_88_0 % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | BETA: splitting (27) gives: % 12.44/2.48 | | | | | % 12.44/2.48 | | | | | Case 1: % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | (60) in(3, all_13_4) % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | GROUND_INST: instantiating (5) with 3, empty, 2, all_13_4, % 12.44/2.48 | | | | | | simplifying with (9), (19), (60) gives: % 12.44/2.48 | | | | | | (61) in(3, empty) % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | GROUND_INST: instantiating (1) with 3, simplifying with (61) gives: % 12.44/2.48 | | | | | | (62) $false % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | CLOSE: (62) is inconsistent. % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | Case 2: % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | (63) ? [v0: int] : ? [v1: int] : ( ~ ($difference(v1, v0) = 1) % 12.44/2.48 | | | | | | & count(all_13_3) = v0 & count(all_13_4) = v1) % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | DELTA: instantiating (63) with fresh symbols all_94_0, all_94_1 % 12.44/2.48 | | | | | | gives: % 12.44/2.48 | | | | | | (64) ~ ($difference(all_94_0, all_94_1) = 1) & count(all_13_3) = % 12.44/2.48 | | | | | | all_94_1 & count(all_13_4) = all_94_0 % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | ALPHA: (64) implies: % 12.44/2.48 | | | | | | (65) count(all_13_4) = all_94_0 % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | GROUND_INST: instantiating (11) with 1, all_94_0, all_13_4, % 12.44/2.48 | | | | | | simplifying with (36), (65) gives: % 12.44/2.48 | | | | | | (66) all_94_0 = 1 % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | GROUND_INST: instantiating (11) with all_88_0, all_94_0, all_13_4, % 12.44/2.48 | | | | | | simplifying with (58), (65) gives: % 12.44/2.48 | | | | | | (67) all_94_0 = all_88_0 % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | COMBINE_EQS: (66), (67) imply: % 12.44/2.48 | | | | | | (68) all_88_0 = 1 % 12.44/2.48 | | | | | | % 12.44/2.48 | | | | | | REDUCE: (59), (68) imply: % 12.44/2.48 | | | | | | (69) count(all_13_3) = 1 % 12.44/2.48 | | | | | | % 12.44/2.49 | | | | | | BETA: splitting (26) gives: % 12.44/2.49 | | | | | | % 12.44/2.49 | | | | | | Case 1: % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | (70) in(5, all_13_3) % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | GROUND_INST: instantiating (7) with 5, all_13_4, 3, all_13_3, % 12.44/2.49 | | | | | | | simplifying with (14), (21), (70) gives: % 12.44/2.49 | | | | | | | (71) in(5, all_13_4) % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | GROUND_INST: instantiating (5) with 5, empty, 2, all_13_4, % 12.44/2.49 | | | | | | | simplifying with (9), (19), (71) gives: % 12.44/2.49 | | | | | | | (72) in(5, empty) % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | GROUND_INST: instantiating (1) with 5, simplifying with (72) % 12.44/2.49 | | | | | | | gives: % 12.44/2.49 | | | | | | | (73) $false % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | CLOSE: (73) is inconsistent. % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | Case 2: % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | (74) ? [v0: int] : (count(all_13_2) = v0 & count(all_13_3) = % 12.44/2.49 | | | | | | | $sum(v0, -1)) % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | DELTA: instantiating (74) with fresh symbol all_104_0 gives: % 12.44/2.49 | | | | | | | (75) count(all_13_2) = all_104_0 & count(all_13_3) = % 12.44/2.49 | | | | | | | $sum(all_104_0, -1) % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | ALPHA: (75) implies: % 12.44/2.49 | | | | | | | (76) count(all_13_3) = $sum(all_104_0, -1) % 12.44/2.49 | | | | | | | (77) count(all_13_2) = all_104_0 % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | BETA: splitting (25) gives: % 12.44/2.49 | | | | | | | % 12.44/2.49 | | | | | | | Case 1: % 12.44/2.49 | | | | | | | | % 12.44/2.49 | | | | | | | | (78) in(5, all_13_3) % 12.44/2.49 | | | | | | | | % 12.44/2.49 | | | | | | | | GROUND_INST: instantiating (7) with 5, all_13_4, 3, all_13_3, % 12.44/2.49 | | | | | | | | simplifying with (14), (21), (78) gives: % 12.44/2.49 | | | | | | | | (79) in(5, all_13_4) % 12.44/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (5) with 5, empty, 2, all_13_4, % 12.93/2.49 | | | | | | | | simplifying with (9), (19), (79) gives: % 12.93/2.49 | | | | | | | | (80) in(5, empty) % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (1) with 5, simplifying with (80) % 12.93/2.49 | | | | | | | | gives: % 12.93/2.49 | | | | | | | | (81) $false % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | CLOSE: (81) is inconsistent. % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | Case 2: % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | (82) ? [v0: int] : ? [v1: int] : ( ~ (v1 = v0) & % 12.93/2.49 | | | | | | | | count(all_13_2) = v0 & count(all_13_3) = v1) % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | DELTA: instantiating (82) with fresh symbols all_110_0, % 12.93/2.49 | | | | | | | | all_110_1 gives: % 12.93/2.49 | | | | | | | | (83) ~ (all_110_0 = all_110_1) & count(all_13_2) = all_110_1 % 12.93/2.49 | | | | | | | | & count(all_13_3) = all_110_0 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | ALPHA: (83) implies: % 12.93/2.49 | | | | | | | | (84) count(all_13_3) = all_110_0 % 12.93/2.49 | | | | | | | | (85) count(all_13_2) = all_110_1 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (11) with $sum(all_104_0, -1), % 12.93/2.49 | | | | | | | | all_110_0, all_13_3, simplifying with (76), (84) % 12.93/2.49 | | | | | | | | gives: % 12.93/2.49 | | | | | | | | (86) $difference(all_110_0, all_104_0) = -1 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (11) with 1, all_110_0, all_13_3, % 12.93/2.49 | | | | | | | | simplifying with (69), (84) gives: % 12.93/2.49 | | | | | | | | (87) all_110_0 = 1 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (11) with $sum(all_13_0, -1), % 12.93/2.49 | | | | | | | | all_110_1, all_13_2, simplifying with (52), (85) % 12.93/2.49 | | | | | | | | gives: % 12.93/2.49 | | | | | | | | (88) $difference(all_110_1, all_13_0) = -1 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | GROUND_INST: instantiating (11) with all_104_0, all_110_1, % 12.93/2.49 | | | | | | | | all_13_2, simplifying with (77), (85) gives: % 12.93/2.49 | | | | | | | | (89) all_110_1 = all_104_0 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | COMBINE_EQS: (86), (87) imply: % 12.93/2.49 | | | | | | | | (90) all_104_0 = 2 % 12.93/2.49 | | | | | | | | % 12.93/2.49 | | | | | | | | COMBINE_EQS: (88), (89) imply: % 12.93/2.50 | | | | | | | | (91) $difference(all_104_0, all_13_0) = -1 % 12.93/2.50 | | | | | | | | % 12.93/2.50 | | | | | | | | SIMP: (91) implies: % 12.93/2.50 | | | | | | | | (92) $difference(all_104_0, all_13_0) = -1 % 12.93/2.50 | | | | | | | | % 12.93/2.50 | | | | | | | | COMBINE_EQS: (90), (92) imply: % 12.93/2.50 | | | | | | | | (93) all_13_0 = 3 % 12.93/2.50 | | | | | | | | % 12.93/2.50 | | | | | | | | REDUCE: (13), (93) imply: % 12.93/2.50 | | | | | | | | (94) $false % 12.93/2.50 | | | | | | | | % 12.93/2.50 | | | | | | | | CLOSE: (94) is inconsistent. % 12.93/2.50 | | | | | | | | % 12.97/2.50 | | | | | | | End of split % 12.97/2.50 | | | | | | | % 12.97/2.50 | | | | | | End of split % 12.97/2.50 | | | | | | % 12.97/2.50 | | | | | End of split % 12.97/2.50 | | | | | % 12.97/2.50 | | | | End of split % 12.97/2.50 | | | | % 12.97/2.50 | | | End of split % 12.97/2.50 | | | % 12.97/2.50 | | End of split % 12.97/2.50 | | % 12.97/2.50 | End of split % 12.97/2.50 | % 12.97/2.50 End of proof % 12.97/2.50 % 12.97/2.50 Sub-proof #1 shows that the following formulas are inconsistent: % 12.97/2.50 ---------------------------------------------------------------- % 12.97/2.50 (1) add(2, empty) = all_13_4 % 12.97/2.50 (2) in(1, all_13_3) % 12.97/2.50 (3) collection(empty) % 12.97/2.50 (4) ! [v0: int] : ~ in(v0, empty) % 12.97/2.50 (5) ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : % 12.97/2.50 (v2 = v0 | ~ (add(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) | % 12.97/2.50 in(v0, v1)) % 12.97/2.50 (6) collection(all_13_4) % 12.97/2.50 (7) remove(3, all_13_4) = all_13_3 % 12.97/2.50 (8) ! [v0: int] : ! [v1: collection] : ! [v2: int] : ! [v3: collection] : % 12.97/2.50 ( ~ (remove(v2, v1) = v3) | ~ collection(v1) | ~ in(v0, v3) | in(v0, % 12.97/2.50 v1)) % 12.97/2.50 % 12.97/2.50 Begin of proof % 12.97/2.50 | % 12.97/2.50 | GROUND_INST: instantiating (8) with 1, all_13_4, 3, all_13_3, simplifying with % 12.97/2.50 | (2), (6), (7) gives: % 12.97/2.50 | (9) in(1, all_13_4) % 12.97/2.50 | % 12.97/2.50 | GROUND_INST: instantiating (5) with 1, empty, 2, all_13_4, simplifying with % 12.97/2.50 | (1), (3), (9) gives: % 12.97/2.50 | (10) in(1, empty) % 12.97/2.50 | % 12.97/2.50 | GROUND_INST: instantiating (4) with 1, simplifying with (10) gives: % 12.97/2.50 | (11) $false % 12.97/2.50 | % 12.97/2.50 | CLOSE: (11) is inconsistent. % 12.97/2.50 | % 12.97/2.50 End of proof % 12.97/2.50 % SZS output end Proof for theBenchmark % 12.97/2.50 % 12.97/2.50 1906ms %------------------------------------------------------------------------------