%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : SET806+4 : TPTP v8.1.2. Released v3.2.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 : Thu Aug 31 15:26:31 EDT 2023 % Result : Theorem 10.32s 2.05s % Output : Proof 12.67s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.06/0.12 % Problem : SET806+4 : TPTP v8.1.2. Released v3.2.0. % 0.06/0.13 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.14/0.33 % Computer : n009.cluster.edu % 0.14/0.33 % Model : x86_64 x86_64 % 0.14/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.14/0.33 % Memory : 8042.1875MB % 0.14/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.14/0.33 % CPULimit : 300 % 0.14/0.33 % WCLimit : 300 % 0.14/0.33 % DateTime : Sat Aug 26 08:16:35 EDT 2023 % 0.14/0.34 % CPUTime : % 0.50/0.59 ________ _____ % 0.50/0.59 ___ __ \_________(_)________________________________ % 0.50/0.59 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.50/0.59 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.50/0.59 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.50/0.59 % 0.50/0.59 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.50/0.59 (2023-06-19) % 0.50/0.59 % 0.50/0.59 (c) Philipp Rümmer, 2009-2023 % 0.50/0.59 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.50/0.59 Amanda Stjerna. % 0.50/0.59 Free software under BSD-3-Clause. % 0.50/0.59 % 0.50/0.59 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.50/0.59 % 0.50/0.60 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ... % 0.50/0.61 Running up to 7 provers in parallel. % 0.50/0.62 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.50/0.62 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.50/0.62 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.50/0.62 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.50/0.62 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.50/0.62 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 0.50/0.62 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 2.97/1.05 Prover 1: Preprocessing ... % 2.97/1.05 Prover 4: Preprocessing ... % 3.12/1.10 Prover 3: Preprocessing ... % 3.12/1.10 Prover 2: Preprocessing ... % 3.12/1.10 Prover 5: Preprocessing ... % 3.12/1.10 Prover 0: Preprocessing ... % 3.12/1.10 Prover 6: Preprocessing ... % 6.81/1.59 Prover 5: Proving ... % 6.81/1.62 Prover 2: Proving ... % 6.81/1.63 Prover 6: Proving ... % 7.38/1.65 Prover 3: Constructing countermodel ... % 7.38/1.65 Prover 1: Constructing countermodel ... % 9.00/1.86 Prover 0: Proving ... % 9.00/1.87 Prover 4: Constructing countermodel ... % 10.32/2.04 Prover 3: proved (1415ms) % 10.32/2.05 % 10.32/2.05 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 10.32/2.05 % 10.32/2.05 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 10.32/2.05 Prover 0: stopped % 10.32/2.05 Prover 5: stopped % 10.32/2.05 Prover 6: stopped % 10.49/2.07 Prover 2: stopped % 10.49/2.07 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 10.49/2.07 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 10.49/2.07 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 10.49/2.07 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 10.49/2.09 Prover 7: Preprocessing ... % 10.49/2.12 Prover 8: Preprocessing ... % 10.49/2.12 Prover 13: Preprocessing ... % 10.94/2.12 Prover 10: Preprocessing ... % 10.94/2.13 Prover 11: Preprocessing ... % 10.94/2.16 Prover 7: Warning: ignoring some quantifiers % 11.31/2.17 Prover 1: Found proof (size 122) % 11.31/2.17 Prover 1: proved (1552ms) % 11.31/2.17 Prover 7: Constructing countermodel ... % 11.31/2.18 Prover 4: stopped % 11.31/2.19 Prover 7: stopped % 11.31/2.20 Prover 10: Warning: ignoring some quantifiers % 11.31/2.21 Prover 11: stopped % 11.31/2.22 Prover 10: Constructing countermodel ... % 11.31/2.22 Prover 13: Warning: ignoring some quantifiers % 11.31/2.22 Prover 10: stopped % 11.31/2.24 Prover 13: Constructing countermodel ... % 11.86/2.25 Prover 13: stopped % 11.86/2.26 Prover 8: Warning: ignoring some quantifiers % 11.86/2.28 Prover 8: Constructing countermodel ... % 12.05/2.28 Prover 8: stopped % 12.05/2.29 % 12.05/2.29 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 12.05/2.29 % 12.05/2.30 % SZS output start Proof for theBenchmark % 12.05/2.30 Assumptions after simplification: % 12.05/2.30 --------------------------------- % 12.05/2.30 % 12.05/2.30 (equal_set) % 12.05/2.33 ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (equal_set(v0, v1) = % 12.05/2.33 v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: any] : ? [v4: any] : (subset(v1, % 12.05/2.33 v0) = v4 & subset(v0, v1) = v3 & ( ~ (v4 = 0) | ~ (v3 = 0)))) & ! [v0: % 12.05/2.33 $i] : ! [v1: $i] : ( ~ (equal_set(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0) | % 12.05/2.33 (subset(v1, v0) = 0 & subset(v0, v1) = 0)) % 12.05/2.33 % 12.05/2.33 (equivalence) % 12.30/2.34 ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (equivalence(v1, v0) = % 12.30/2.34 v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? [v4: $i] : ? [v5: $i] : ? % 12.30/2.34 [v6: int] : ( ~ (v6 = 0) & apply(v1, v4, v5) = 0 & apply(v1, v3, v5) = v6 & % 12.30/2.34 apply(v1, v3, v4) = 0 & member(v5, v0) = 0 & member(v4, v0) = 0 & % 12.30/2.34 member(v3, v0) = 0 & $i(v5) & $i(v4) & $i(v3)) | ? [v3: $i] : ? [v4: $i] % 12.30/2.34 : ? [v5: int] : ( ~ (v5 = 0) & apply(v1, v4, v3) = v5 & apply(v1, v3, v4) = % 12.30/2.34 0 & member(v4, v0) = 0 & member(v3, v0) = 0 & $i(v4) & $i(v3)) | ? [v3: % 12.30/2.34 $i] : ? [v4: int] : ( ~ (v4 = 0) & apply(v1, v3, v3) = v4 & member(v3, % 12.30/2.34 v0) = 0 & $i(v3))) & ! [v0: $i] : ! [v1: $i] : ( ~ (equivalence(v1, % 12.30/2.34 v0) = 0) | ~ $i(v1) | ~ $i(v0) | ( ! [v2: $i] : ! [v3: $i] : ! [v4: % 12.30/2.34 $i] : ! [v5: int] : (v5 = 0 | ~ (apply(v1, v2, v4) = v5) | ~ % 12.30/2.34 (apply(v1, v2, v3) = 0) | ~ $i(v4) | ~ $i(v3) | ~ $i(v2) | ? [v6: % 12.30/2.34 any] : ? [v7: any] : ? [v8: any] : ? [v9: any] : (apply(v1, v3, v4) % 12.30/2.34 = v9 & member(v4, v0) = v8 & member(v3, v0) = v7 & member(v2, v0) = v6 % 12.30/2.34 & ( ~ (v9 = 0) | ~ (v8 = 0) | ~ (v7 = 0) | ~ (v6 = 0)))) & ! [v2: % 12.30/2.34 $i] : ! [v3: int] : (v3 = 0 | ~ (apply(v1, v2, v2) = v3) | ~ $i(v2) | % 12.30/2.34 ? [v4: int] : ( ~ (v4 = 0) & member(v2, v0) = v4)) & ! [v2: $i] : ! % 12.30/2.34 [v3: $i] : ( ~ (apply(v1, v2, v3) = 0) | ~ $i(v3) | ~ $i(v2) | ? [v4: % 12.30/2.34 any] : ? [v5: any] : ? [v6: any] : (apply(v1, v3, v2) = v6 & % 12.30/2.34 member(v3, v0) = v5 & member(v2, v0) = v4 & ( ~ (v5 = 0) | ~ (v4 = 0) % 12.30/2.34 | v6 = 0))))) % 12.30/2.34 % 12.30/2.34 (rel_equal_set) % 12.30/2.34 $i(equal_set_predicate) & ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | % 12.30/2.34 ~ (apply(equal_set_predicate, v0, v1) = v2) | ~ $i(v1) | ~ $i(v0) | ? % 12.30/2.34 [v3: int] : ( ~ (v3 = 0) & equal_set(v0, v1) = v3)) & ! [v0: $i] : ! [v1: % 12.30/2.34 $i] : ( ~ (apply(equal_set_predicate, v0, v1) = 0) | ~ $i(v1) | ~ $i(v0) | % 12.30/2.34 equal_set(v0, v1) = 0) % 12.30/2.34 % 12.30/2.34 (subset) % 12.30/2.35 ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (subset(v0, v1) = v2) % 12.30/2.35 | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? [v4: int] : ( ~ (v4 = 0) & % 12.30/2.35 member(v3, v1) = v4 & member(v3, v0) = 0 & $i(v3))) & ! [v0: $i] : ! % 12.30/2.35 [v1: $i] : ( ~ (subset(v0, v1) = 0) | ~ $i(v1) | ~ $i(v0) | ! [v2: $i] : ( % 12.30/2.35 ~ (member(v2, v0) = 0) | ~ $i(v2) | member(v2, v1) = 0)) % 12.30/2.35 % 12.30/2.35 (thIII13) % 12.30/2.35 $i(equal_set_predicate) & ? [v0: $i] : ? [v1: $i] : ? [v2: int] : ( ~ (v2 = % 12.30/2.35 0) & equivalence(equal_set_predicate, v1) = v2 & power_set(v0) = v1 & % 12.30/2.35 $i(v1) & $i(v0)) % 12.30/2.35 % 12.30/2.35 (function-axioms) % 12.37/2.35 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (v1 = v0 % 12.37/2.35 | ~ (equivalence_class(v4, v3, v2) = v1) | ~ (equivalence_class(v4, v3, % 12.37/2.35 v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : % 12.37/2.35 ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (v1 = v0 | ~ (apply(v4, v3, v2) = % 12.37/2.35 v1) | ~ (apply(v4, v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 12.37/2.35 MultipleValueBool] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 12.37/2.35 (pre_order(v3, v2) = v1) | ~ (pre_order(v3, v2) = v0)) & ! [v0: % 12.37/2.35 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] % 12.37/2.35 : (v1 = v0 | ~ (equivalence(v3, v2) = v1) | ~ (equivalence(v3, v2) = v0)) & % 12.37/2.36 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: % 12.37/2.36 $i] : (v1 = v0 | ~ (partition(v3, v2) = v1) | ~ (partition(v3, v2) = v0)) % 12.37/2.36 & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : ! % 12.37/2.36 [v3: $i] : (v1 = v0 | ~ (disjoint(v3, v2) = v1) | ~ (disjoint(v3, v2) = v0)) % 12.37/2.36 & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 12.37/2.36 (unordered_pair(v3, v2) = v1) | ~ (unordered_pair(v3, v2) = v0)) & ! [v0: % 12.37/2.36 $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 12.37/2.36 (difference(v3, v2) = v1) | ~ (difference(v3, v2) = v0)) & ! [v0: $i] : ! % 12.37/2.36 [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ (union(v3, v2) = v1) | ~ % 12.37/2.36 (union(v3, v2) = v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: % 12.37/2.36 $i] : (v1 = v0 | ~ (intersection(v3, v2) = v1) | ~ (intersection(v3, v2) = % 12.37/2.36 v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: % 12.37/2.36 $i] : ! [v3: $i] : (v1 = v0 | ~ (equal_set(v3, v2) = v1) | ~ % 12.37/2.36 (equal_set(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 12.37/2.36 MultipleValueBool] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ (subset(v3, % 12.37/2.36 v2) = v1) | ~ (subset(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! % 12.37/2.36 [v1: MultipleValueBool] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ % 12.37/2.36 (member(v3, v2) = v1) | ~ (member(v3, v2) = v0)) & ! [v0: $i] : ! [v1: % 12.37/2.36 $i] : ! [v2: $i] : (v1 = v0 | ~ (product(v2) = v1) | ~ (product(v2) = % 12.37/2.36 v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : (v1 = v0 | ~ (sum(v2) = % 12.37/2.36 v1) | ~ (sum(v2) = v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : (v1 = % 12.37/2.36 v0 | ~ (singleton(v2) = v1) | ~ (singleton(v2) = v0)) & ! [v0: $i] : ! % 12.37/2.36 [v1: $i] : ! [v2: $i] : (v1 = v0 | ~ (power_set(v2) = v1) | ~ % 12.37/2.36 (power_set(v2) = v0)) % 12.37/2.36 % 12.37/2.36 Further assumptions not needed in the proof: % 12.37/2.36 -------------------------------------------- % 12.37/2.36 difference, disjoint, empty_set, equivalence_class, intersection, partition, % 12.37/2.36 power_set, pre_order, product, singleton, sum, union, unordered_pair % 12.37/2.36 % 12.37/2.36 Those formulas are unsatisfiable: % 12.37/2.36 --------------------------------- % 12.37/2.36 % 12.37/2.36 Begin of proof % 12.37/2.36 | % 12.37/2.36 | ALPHA: (subset) implies: % 12.37/2.36 | (1) ! [v0: $i] : ! [v1: $i] : ( ~ (subset(v0, v1) = 0) | ~ $i(v1) | ~ % 12.37/2.36 | $i(v0) | ! [v2: $i] : ( ~ (member(v2, v0) = 0) | ~ $i(v2) | % 12.37/2.36 | member(v2, v1) = 0)) % 12.37/2.36 | (2) ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (subset(v0, v1) % 12.37/2.36 | = v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? [v4: int] : ( ~ % 12.37/2.36 | (v4 = 0) & member(v3, v1) = v4 & member(v3, v0) = 0 & $i(v3))) % 12.37/2.36 | % 12.37/2.36 | ALPHA: (equal_set) implies: % 12.37/2.36 | (3) ! [v0: $i] : ! [v1: $i] : ( ~ (equal_set(v0, v1) = 0) | ~ $i(v1) | % 12.37/2.36 | ~ $i(v0) | (subset(v1, v0) = 0 & subset(v0, v1) = 0)) % 12.37/2.36 | (4) ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (equal_set(v0, % 12.37/2.36 | v1) = v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: any] : ? [v4: any] : % 12.37/2.36 | (subset(v1, v0) = v4 & subset(v0, v1) = v3 & ( ~ (v4 = 0) | ~ (v3 = % 12.37/2.36 | 0)))) % 12.37/2.36 | % 12.37/2.36 | ALPHA: (equivalence) implies: % 12.37/2.36 | (5) ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ % 12.37/2.36 | (equivalence(v1, v0) = v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? % 12.37/2.36 | [v4: $i] : ? [v5: $i] : ? [v6: int] : ( ~ (v6 = 0) & apply(v1, v4, % 12.37/2.36 | v5) = 0 & apply(v1, v3, v5) = v6 & apply(v1, v3, v4) = 0 & % 12.37/2.36 | member(v5, v0) = 0 & member(v4, v0) = 0 & member(v3, v0) = 0 & % 12.37/2.36 | $i(v5) & $i(v4) & $i(v3)) | ? [v3: $i] : ? [v4: $i] : ? [v5: % 12.37/2.36 | int] : ( ~ (v5 = 0) & apply(v1, v4, v3) = v5 & apply(v1, v3, v4) = % 12.37/2.36 | 0 & member(v4, v0) = 0 & member(v3, v0) = 0 & $i(v4) & $i(v3)) | ? % 12.37/2.36 | [v3: $i] : ? [v4: int] : ( ~ (v4 = 0) & apply(v1, v3, v3) = v4 & % 12.37/2.36 | member(v3, v0) = 0 & $i(v3))) % 12.37/2.36 | % 12.37/2.36 | ALPHA: (rel_equal_set) implies: % 12.37/2.37 | (6) ! [v0: $i] : ! [v1: $i] : ( ~ (apply(equal_set_predicate, v0, v1) = % 12.37/2.37 | 0) | ~ $i(v1) | ~ $i(v0) | equal_set(v0, v1) = 0) % 12.37/2.37 | (7) ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ % 12.37/2.37 | (apply(equal_set_predicate, v0, v1) = v2) | ~ $i(v1) | ~ $i(v0) | % 12.37/2.37 | ? [v3: int] : ( ~ (v3 = 0) & equal_set(v0, v1) = v3)) % 12.37/2.37 | % 12.37/2.37 | ALPHA: (thIII13) implies: % 12.37/2.37 | (8) $i(equal_set_predicate) % 12.37/2.37 | (9) ? [v0: $i] : ? [v1: $i] : ? [v2: int] : ( ~ (v2 = 0) & % 12.37/2.37 | equivalence(equal_set_predicate, v1) = v2 & power_set(v0) = v1 & % 12.37/2.37 | $i(v1) & $i(v0)) % 12.37/2.37 | % 12.37/2.37 | ALPHA: (function-axioms) implies: % 12.37/2.37 | (10) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] % 12.37/2.37 | : ! [v3: $i] : (v1 = v0 | ~ (member(v3, v2) = v1) | ~ (member(v3, % 12.37/2.37 | v2) = v0)) % 12.37/2.37 | (11) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] % 12.37/2.37 | : ! [v3: $i] : (v1 = v0 | ~ (subset(v3, v2) = v1) | ~ (subset(v3, % 12.37/2.37 | v2) = v0)) % 12.37/2.37 | % 12.37/2.37 | DELTA: instantiating (9) with fresh symbols all_21_0, all_21_1, all_21_2 % 12.37/2.37 | gives: % 12.37/2.37 | (12) ~ (all_21_0 = 0) & equivalence(equal_set_predicate, all_21_1) = % 12.37/2.37 | all_21_0 & power_set(all_21_2) = all_21_1 & $i(all_21_1) & % 12.37/2.37 | $i(all_21_2) % 12.37/2.37 | % 12.37/2.37 | ALPHA: (12) implies: % 12.37/2.37 | (13) ~ (all_21_0 = 0) % 12.37/2.37 | (14) $i(all_21_1) % 12.37/2.37 | (15) equivalence(equal_set_predicate, all_21_1) = all_21_0 % 12.37/2.37 | % 12.37/2.37 | GROUND_INST: instantiating (5) with all_21_1, equal_set_predicate, all_21_0, % 12.37/2.37 | simplifying with (8), (14), (15) gives: % 12.37/2.37 | (16) all_21_0 = 0 | ? [v0: $i] : ? [v1: $i] : ? [v2: $i] : ? [v3: int] % 12.37/2.37 | : ( ~ (v3 = 0) & apply(equal_set_predicate, v1, v2) = 0 & % 12.37/2.37 | apply(equal_set_predicate, v0, v2) = v3 & apply(equal_set_predicate, % 12.37/2.37 | v0, v1) = 0 & member(v2, all_21_1) = 0 & member(v1, all_21_1) = 0 % 12.37/2.37 | & member(v0, all_21_1) = 0 & $i(v2) & $i(v1) & $i(v0)) | ? [v0: $i] % 12.37/2.37 | : ? [v1: $i] : ? [v2: int] : ( ~ (v2 = 0) & % 12.37/2.37 | apply(equal_set_predicate, v1, v0) = v2 & apply(equal_set_predicate, % 12.37/2.37 | v0, v1) = 0 & member(v1, all_21_1) = 0 & member(v0, all_21_1) = 0 % 12.37/2.37 | & $i(v1) & $i(v0)) | ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & % 12.37/2.37 | apply(equal_set_predicate, v0, v0) = v1 & member(v0, all_21_1) = 0 & % 12.37/2.37 | $i(v0)) % 12.37/2.37 | % 12.37/2.37 | BETA: splitting (16) gives: % 12.37/2.37 | % 12.37/2.37 | Case 1: % 12.37/2.37 | | % 12.37/2.37 | | (17) all_21_0 = 0 % 12.37/2.37 | | % 12.37/2.37 | | REDUCE: (13), (17) imply: % 12.37/2.37 | | (18) $false % 12.37/2.37 | | % 12.37/2.37 | | CLOSE: (18) is inconsistent. % 12.37/2.37 | | % 12.37/2.37 | Case 2: % 12.37/2.37 | | % 12.37/2.38 | | (19) ? [v0: $i] : ? [v1: $i] : ? [v2: $i] : ? [v3: int] : ( ~ (v3 = % 12.37/2.38 | | 0) & apply(equal_set_predicate, v1, v2) = 0 & % 12.37/2.38 | | apply(equal_set_predicate, v0, v2) = v3 & % 12.37/2.38 | | apply(equal_set_predicate, v0, v1) = 0 & member(v2, all_21_1) = 0 % 12.37/2.38 | | & member(v1, all_21_1) = 0 & member(v0, all_21_1) = 0 & $i(v2) & % 12.37/2.38 | | $i(v1) & $i(v0)) | ? [v0: $i] : ? [v1: $i] : ? [v2: int] : ( ~ % 12.37/2.38 | | (v2 = 0) & apply(equal_set_predicate, v1, v0) = v2 & % 12.37/2.38 | | apply(equal_set_predicate, v0, v1) = 0 & member(v1, all_21_1) = 0 % 12.37/2.38 | | & member(v0, all_21_1) = 0 & $i(v1) & $i(v0)) | ? [v0: $i] : ? % 12.37/2.38 | | [v1: int] : ( ~ (v1 = 0) & apply(equal_set_predicate, v0, v0) = v1 & % 12.37/2.38 | | member(v0, all_21_1) = 0 & $i(v0)) % 12.37/2.38 | | % 12.37/2.38 | | BETA: splitting (19) gives: % 12.37/2.38 | | % 12.37/2.38 | | Case 1: % 12.37/2.38 | | | % 12.37/2.38 | | | (20) ? [v0: $i] : ? [v1: $i] : ? [v2: $i] : ? [v3: int] : ( ~ (v3 = % 12.37/2.38 | | | 0) & apply(equal_set_predicate, v1, v2) = 0 & % 12.37/2.38 | | | apply(equal_set_predicate, v0, v2) = v3 & % 12.37/2.38 | | | apply(equal_set_predicate, v0, v1) = 0 & member(v2, all_21_1) = % 12.37/2.38 | | | 0 & member(v1, all_21_1) = 0 & member(v0, all_21_1) = 0 & $i(v2) % 12.37/2.38 | | | & $i(v1) & $i(v0)) % 12.37/2.38 | | | % 12.37/2.38 | | | DELTA: instantiating (20) with fresh symbols all_36_0, all_36_1, all_36_2, % 12.37/2.38 | | | all_36_3 gives: % 12.37/2.38 | | | (21) ~ (all_36_0 = 0) & apply(equal_set_predicate, all_36_2, all_36_1) % 12.37/2.38 | | | = 0 & apply(equal_set_predicate, all_36_3, all_36_1) = all_36_0 & % 12.37/2.38 | | | apply(equal_set_predicate, all_36_3, all_36_2) = 0 & % 12.37/2.38 | | | member(all_36_1, all_21_1) = 0 & member(all_36_2, all_21_1) = 0 & % 12.37/2.38 | | | member(all_36_3, all_21_1) = 0 & $i(all_36_1) & $i(all_36_2) & % 12.37/2.38 | | | $i(all_36_3) % 12.37/2.38 | | | % 12.37/2.38 | | | ALPHA: (21) implies: % 12.37/2.38 | | | (22) ~ (all_36_0 = 0) % 12.37/2.38 | | | (23) $i(all_36_3) % 12.37/2.38 | | | (24) $i(all_36_2) % 12.37/2.38 | | | (25) $i(all_36_1) % 12.37/2.38 | | | (26) apply(equal_set_predicate, all_36_3, all_36_2) = 0 % 12.37/2.38 | | | (27) apply(equal_set_predicate, all_36_3, all_36_1) = all_36_0 % 12.37/2.38 | | | (28) apply(equal_set_predicate, all_36_2, all_36_1) = 0 % 12.37/2.38 | | | % 12.37/2.38 | | | GROUND_INST: instantiating (6) with all_36_3, all_36_2, simplifying with % 12.37/2.38 | | | (23), (24), (26) gives: % 12.37/2.38 | | | (29) equal_set(all_36_3, all_36_2) = 0 % 12.37/2.38 | | | % 12.37/2.38 | | | GROUND_INST: instantiating (7) with all_36_3, all_36_1, all_36_0, % 12.37/2.38 | | | simplifying with (23), (25), (27) gives: % 12.37/2.38 | | | (30) all_36_0 = 0 | ? [v0: int] : ( ~ (v0 = 0) & equal_set(all_36_3, % 12.37/2.38 | | | all_36_1) = v0) % 12.37/2.38 | | | % 12.37/2.38 | | | GROUND_INST: instantiating (6) with all_36_2, all_36_1, simplifying with % 12.37/2.38 | | | (24), (25), (28) gives: % 12.37/2.38 | | | (31) equal_set(all_36_2, all_36_1) = 0 % 12.37/2.38 | | | % 12.37/2.38 | | | BETA: splitting (30) gives: % 12.37/2.38 | | | % 12.37/2.38 | | | Case 1: % 12.37/2.38 | | | | % 12.37/2.38 | | | | (32) all_36_0 = 0 % 12.37/2.38 | | | | % 12.37/2.38 | | | | REDUCE: (22), (32) imply: % 12.37/2.38 | | | | (33) $false % 12.37/2.38 | | | | % 12.37/2.38 | | | | CLOSE: (33) is inconsistent. % 12.37/2.38 | | | | % 12.37/2.38 | | | Case 2: % 12.37/2.38 | | | | % 12.37/2.38 | | | | (34) ? [v0: int] : ( ~ (v0 = 0) & equal_set(all_36_3, all_36_1) = % 12.37/2.38 | | | | v0) % 12.37/2.38 | | | | % 12.37/2.38 | | | | DELTA: instantiating (34) with fresh symbol all_48_0 gives: % 12.37/2.38 | | | | (35) ~ (all_48_0 = 0) & equal_set(all_36_3, all_36_1) = all_48_0 % 12.37/2.38 | | | | % 12.37/2.38 | | | | ALPHA: (35) implies: % 12.37/2.38 | | | | (36) ~ (all_48_0 = 0) % 12.37/2.38 | | | | (37) equal_set(all_36_3, all_36_1) = all_48_0 % 12.37/2.38 | | | | % 12.37/2.38 | | | | GROUND_INST: instantiating (3) with all_36_3, all_36_2, simplifying with % 12.37/2.38 | | | | (23), (24), (29) gives: % 12.37/2.38 | | | | (38) subset(all_36_2, all_36_3) = 0 & subset(all_36_3, all_36_2) = 0 % 12.37/2.38 | | | | % 12.37/2.38 | | | | ALPHA: (38) implies: % 12.37/2.38 | | | | (39) subset(all_36_3, all_36_2) = 0 % 12.37/2.38 | | | | (40) subset(all_36_2, all_36_3) = 0 % 12.37/2.38 | | | | % 12.37/2.39 | | | | GROUND_INST: instantiating (4) with all_36_3, all_36_1, all_48_0, % 12.37/2.39 | | | | simplifying with (23), (25), (37) gives: % 12.37/2.39 | | | | (41) all_48_0 = 0 | ? [v0: any] : ? [v1: any] : (subset(all_36_1, % 12.37/2.39 | | | | all_36_3) = v1 & subset(all_36_3, all_36_1) = v0 & ( ~ (v1 = % 12.37/2.39 | | | | 0) | ~ (v0 = 0))) % 12.37/2.39 | | | | % 12.37/2.39 | | | | GROUND_INST: instantiating (3) with all_36_2, all_36_1, simplifying with % 12.37/2.39 | | | | (24), (25), (31) gives: % 12.37/2.39 | | | | (42) subset(all_36_1, all_36_2) = 0 & subset(all_36_2, all_36_1) = 0 % 12.37/2.39 | | | | % 12.37/2.39 | | | | ALPHA: (42) implies: % 12.37/2.39 | | | | (43) subset(all_36_2, all_36_1) = 0 % 12.37/2.39 | | | | (44) subset(all_36_1, all_36_2) = 0 % 12.37/2.39 | | | | % 12.37/2.39 | | | | BETA: splitting (41) gives: % 12.37/2.39 | | | | % 12.37/2.39 | | | | Case 1: % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | (45) all_48_0 = 0 % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | REDUCE: (36), (45) imply: % 12.37/2.39 | | | | | (46) $false % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | CLOSE: (46) is inconsistent. % 12.37/2.39 | | | | | % 12.37/2.39 | | | | Case 2: % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | (47) ? [v0: any] : ? [v1: any] : (subset(all_36_1, all_36_3) = v1 % 12.37/2.39 | | | | | & subset(all_36_3, all_36_1) = v0 & ( ~ (v1 = 0) | ~ (v0 = % 12.37/2.39 | | | | | 0))) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | DELTA: instantiating (47) with fresh symbols all_63_0, all_63_1 gives: % 12.37/2.39 | | | | | (48) subset(all_36_1, all_36_3) = all_63_0 & subset(all_36_3, % 12.37/2.39 | | | | | all_36_1) = all_63_1 & ( ~ (all_63_0 = 0) | ~ (all_63_1 = % 12.37/2.39 | | | | | 0)) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | ALPHA: (48) implies: % 12.37/2.39 | | | | | (49) subset(all_36_3, all_36_1) = all_63_1 % 12.37/2.39 | | | | | (50) subset(all_36_1, all_36_3) = all_63_0 % 12.37/2.39 | | | | | (51) ~ (all_63_0 = 0) | ~ (all_63_1 = 0) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (1) with all_36_3, all_36_2, simplifying % 12.37/2.39 | | | | | with (23), (24), (39) gives: % 12.37/2.39 | | | | | (52) ! [v0: $i] : ( ~ (member(v0, all_36_3) = 0) | ~ $i(v0) | % 12.37/2.39 | | | | | member(v0, all_36_2) = 0) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (2) with all_36_3, all_36_1, all_63_1, % 12.37/2.39 | | | | | simplifying with (23), (25), (49) gives: % 12.37/2.39 | | | | | (53) all_63_1 = 0 | ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & % 12.37/2.39 | | | | | member(v0, all_36_1) = v1 & member(v0, all_36_3) = 0 & % 12.37/2.39 | | | | | $i(v0)) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (1) with all_36_2, all_36_3, simplifying % 12.37/2.39 | | | | | with (23), (24), (40) gives: % 12.37/2.39 | | | | | (54) ! [v0: $i] : ( ~ (member(v0, all_36_2) = 0) | ~ $i(v0) | % 12.37/2.39 | | | | | member(v0, all_36_3) = 0) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (1) with all_36_2, all_36_1, simplifying % 12.37/2.39 | | | | | with (24), (25), (43) gives: % 12.37/2.39 | | | | | (55) ! [v0: $i] : ( ~ (member(v0, all_36_2) = 0) | ~ $i(v0) | % 12.37/2.39 | | | | | member(v0, all_36_1) = 0) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (2) with all_36_1, all_36_3, all_63_0, % 12.37/2.39 | | | | | simplifying with (23), (25), (50) gives: % 12.37/2.39 | | | | | (56) all_63_0 = 0 | ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & % 12.37/2.39 | | | | | member(v0, all_36_1) = 0 & member(v0, all_36_3) = v1 & % 12.37/2.39 | | | | | $i(v0)) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | GROUND_INST: instantiating (1) with all_36_1, all_36_2, simplifying % 12.37/2.39 | | | | | with (24), (25), (44) gives: % 12.37/2.39 | | | | | (57) ! [v0: $i] : ( ~ (member(v0, all_36_1) = 0) | ~ $i(v0) | % 12.37/2.39 | | | | | member(v0, all_36_2) = 0) % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | BETA: splitting (51) gives: % 12.37/2.39 | | | | | % 12.37/2.39 | | | | | Case 1: % 12.37/2.39 | | | | | | % 12.37/2.39 | | | | | | (58) ~ (all_63_0 = 0) % 12.37/2.39 | | | | | | % 12.37/2.39 | | | | | | BETA: splitting (56) gives: % 12.37/2.39 | | | | | | % 12.37/2.39 | | | | | | Case 1: % 12.37/2.39 | | | | | | | % 12.37/2.39 | | | | | | | (59) all_63_0 = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | REDUCE: (58), (59) imply: % 12.37/2.40 | | | | | | | (60) $false % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | CLOSE: (60) is inconsistent. % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | Case 2: % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | (61) ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & member(v0, % 12.37/2.40 | | | | | | | all_36_1) = 0 & member(v0, all_36_3) = v1 & $i(v0)) % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | DELTA: instantiating (61) with fresh symbols all_83_0, all_83_1 % 12.37/2.40 | | | | | | | gives: % 12.37/2.40 | | | | | | | (62) ~ (all_83_0 = 0) & member(all_83_1, all_36_1) = 0 & % 12.37/2.40 | | | | | | | member(all_83_1, all_36_3) = all_83_0 & $i(all_83_1) % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | ALPHA: (62) implies: % 12.37/2.40 | | | | | | | (63) ~ (all_83_0 = 0) % 12.37/2.40 | | | | | | | (64) $i(all_83_1) % 12.37/2.40 | | | | | | | (65) member(all_83_1, all_36_3) = all_83_0 % 12.37/2.40 | | | | | | | (66) member(all_83_1, all_36_1) = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (57) with all_83_1, simplifying with % 12.37/2.40 | | | | | | | (64), (66) gives: % 12.37/2.40 | | | | | | | (67) member(all_83_1, all_36_2) = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (54) with all_83_1, simplifying with % 12.37/2.40 | | | | | | | (64), (67) gives: % 12.37/2.40 | | | | | | | (68) member(all_83_1, all_36_3) = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (10) with all_83_0, 0, all_36_3, % 12.37/2.40 | | | | | | | all_83_1, simplifying with (65), (68) gives: % 12.37/2.40 | | | | | | | (69) all_83_0 = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | REDUCE: (63), (69) imply: % 12.37/2.40 | | | | | | | (70) $false % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | CLOSE: (70) is inconsistent. % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | End of split % 12.37/2.40 | | | | | | % 12.37/2.40 | | | | | Case 2: % 12.37/2.40 | | | | | | % 12.37/2.40 | | | | | | (71) ~ (all_63_1 = 0) % 12.37/2.40 | | | | | | % 12.37/2.40 | | | | | | BETA: splitting (53) gives: % 12.37/2.40 | | | | | | % 12.37/2.40 | | | | | | Case 1: % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | (72) all_63_1 = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | REDUCE: (71), (72) imply: % 12.37/2.40 | | | | | | | (73) $false % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | CLOSE: (73) is inconsistent. % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | Case 2: % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | (74) ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & member(v0, % 12.37/2.40 | | | | | | | all_36_1) = v1 & member(v0, all_36_3) = 0 & $i(v0)) % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | DELTA: instantiating (74) with fresh symbols all_83_0, all_83_1 % 12.37/2.40 | | | | | | | gives: % 12.37/2.40 | | | | | | | (75) ~ (all_83_0 = 0) & member(all_83_1, all_36_1) = all_83_0 % 12.37/2.40 | | | | | | | & member(all_83_1, all_36_3) = 0 & $i(all_83_1) % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | ALPHA: (75) implies: % 12.37/2.40 | | | | | | | (76) ~ (all_83_0 = 0) % 12.37/2.40 | | | | | | | (77) $i(all_83_1) % 12.37/2.40 | | | | | | | (78) member(all_83_1, all_36_3) = 0 % 12.37/2.40 | | | | | | | (79) member(all_83_1, all_36_1) = all_83_0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (52) with all_83_1, simplifying with % 12.37/2.40 | | | | | | | (77), (78) gives: % 12.37/2.40 | | | | | | | (80) member(all_83_1, all_36_2) = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (55) with all_83_1, simplifying with % 12.37/2.40 | | | | | | | (77), (80) gives: % 12.37/2.40 | | | | | | | (81) member(all_83_1, all_36_1) = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | GROUND_INST: instantiating (10) with all_83_0, 0, all_36_1, % 12.37/2.40 | | | | | | | all_83_1, simplifying with (79), (81) gives: % 12.37/2.40 | | | | | | | (82) all_83_0 = 0 % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | REDUCE: (76), (82) imply: % 12.37/2.40 | | | | | | | (83) $false % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | | CLOSE: (83) is inconsistent. % 12.37/2.40 | | | | | | | % 12.37/2.40 | | | | | | End of split % 12.37/2.40 | | | | | | % 12.37/2.40 | | | | | End of split % 12.37/2.40 | | | | | % 12.37/2.40 | | | | End of split % 12.37/2.40 | | | | % 12.37/2.40 | | | End of split % 12.37/2.40 | | | % 12.37/2.40 | | Case 2: % 12.37/2.40 | | | % 12.37/2.41 | | | (84) ? [v0: $i] : ? [v1: $i] : ? [v2: int] : ( ~ (v2 = 0) & % 12.37/2.41 | | | apply(equal_set_predicate, v1, v0) = v2 & % 12.37/2.41 | | | apply(equal_set_predicate, v0, v1) = 0 & member(v1, all_21_1) = % 12.37/2.41 | | | 0 & member(v0, all_21_1) = 0 & $i(v1) & $i(v0)) | ? [v0: $i] : % 12.37/2.41 | | | ? [v1: int] : ( ~ (v1 = 0) & apply(equal_set_predicate, v0, v0) = % 12.37/2.41 | | | v1 & member(v0, all_21_1) = 0 & $i(v0)) % 12.37/2.41 | | | % 12.37/2.41 | | | BETA: splitting (84) gives: % 12.37/2.41 | | | % 12.37/2.41 | | | Case 1: % 12.37/2.41 | | | | % 12.37/2.41 | | | | (85) ? [v0: $i] : ? [v1: $i] : ? [v2: int] : ( ~ (v2 = 0) & % 12.37/2.41 | | | | apply(equal_set_predicate, v1, v0) = v2 & % 12.37/2.41 | | | | apply(equal_set_predicate, v0, v1) = 0 & member(v1, all_21_1) % 12.37/2.41 | | | | = 0 & member(v0, all_21_1) = 0 & $i(v1) & $i(v0)) % 12.37/2.41 | | | | % 12.37/2.41 | | | | DELTA: instantiating (85) with fresh symbols all_36_0, all_36_1, % 12.37/2.41 | | | | all_36_2 gives: % 12.37/2.41 | | | | (86) ~ (all_36_0 = 0) & apply(equal_set_predicate, all_36_1, % 12.37/2.41 | | | | all_36_2) = all_36_0 & apply(equal_set_predicate, all_36_2, % 12.37/2.41 | | | | all_36_1) = 0 & member(all_36_1, all_21_1) = 0 & % 12.37/2.41 | | | | member(all_36_2, all_21_1) = 0 & $i(all_36_1) & $i(all_36_2) % 12.37/2.41 | | | | % 12.37/2.41 | | | | ALPHA: (86) implies: % 12.37/2.41 | | | | (87) ~ (all_36_0 = 0) % 12.37/2.41 | | | | (88) $i(all_36_2) % 12.37/2.41 | | | | (89) $i(all_36_1) % 12.37/2.41 | | | | (90) apply(equal_set_predicate, all_36_2, all_36_1) = 0 % 12.37/2.41 | | | | (91) apply(equal_set_predicate, all_36_1, all_36_2) = all_36_0 % 12.37/2.41 | | | | % 12.37/2.41 | | | | GROUND_INST: instantiating (6) with all_36_2, all_36_1, simplifying with % 12.37/2.41 | | | | (88), (89), (90) gives: % 12.37/2.41 | | | | (92) equal_set(all_36_2, all_36_1) = 0 % 12.37/2.41 | | | | % 12.37/2.41 | | | | GROUND_INST: instantiating (7) with all_36_1, all_36_2, all_36_0, % 12.37/2.41 | | | | simplifying with (88), (89), (91) gives: % 12.37/2.41 | | | | (93) all_36_0 = 0 | ? [v0: int] : ( ~ (v0 = 0) & equal_set(all_36_1, % 12.37/2.41 | | | | all_36_2) = v0) % 12.37/2.41 | | | | % 12.37/2.41 | | | | BETA: splitting (93) gives: % 12.37/2.41 | | | | % 12.37/2.41 | | | | Case 1: % 12.37/2.41 | | | | | % 12.37/2.41 | | | | | (94) all_36_0 = 0 % 12.37/2.41 | | | | | % 12.37/2.41 | | | | | REDUCE: (87), (94) imply: % 12.37/2.41 | | | | | (95) $false % 12.37/2.41 | | | | | % 12.37/2.41 | | | | | CLOSE: (95) is inconsistent. % 12.37/2.41 | | | | | % 12.37/2.41 | | | | Case 2: % 12.37/2.41 | | | | | % 12.67/2.41 | | | | | (96) ? [v0: int] : ( ~ (v0 = 0) & equal_set(all_36_1, all_36_2) = % 12.67/2.41 | | | | | v0) % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | DELTA: instantiating (96) with fresh symbol all_48_0 gives: % 12.67/2.41 | | | | | (97) ~ (all_48_0 = 0) & equal_set(all_36_1, all_36_2) = all_48_0 % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | ALPHA: (97) implies: % 12.67/2.41 | | | | | (98) ~ (all_48_0 = 0) % 12.67/2.41 | | | | | (99) equal_set(all_36_1, all_36_2) = all_48_0 % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | GROUND_INST: instantiating (3) with all_36_2, all_36_1, simplifying % 12.67/2.41 | | | | | with (88), (89), (92) gives: % 12.67/2.41 | | | | | (100) subset(all_36_1, all_36_2) = 0 & subset(all_36_2, all_36_1) = % 12.67/2.41 | | | | | 0 % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | ALPHA: (100) implies: % 12.67/2.41 | | | | | (101) subset(all_36_2, all_36_1) = 0 % 12.67/2.41 | | | | | (102) subset(all_36_1, all_36_2) = 0 % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | GROUND_INST: instantiating (4) with all_36_1, all_36_2, all_48_0, % 12.67/2.41 | | | | | simplifying with (88), (89), (99) gives: % 12.67/2.41 | | | | | (103) all_48_0 = 0 | ? [v0: any] : ? [v1: any] : % 12.67/2.41 | | | | | (subset(all_36_1, all_36_2) = v0 & subset(all_36_2, all_36_1) % 12.67/2.41 | | | | | = v1 & ( ~ (v1 = 0) | ~ (v0 = 0))) % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | BETA: splitting (103) gives: % 12.67/2.41 | | | | | % 12.67/2.41 | | | | | Case 1: % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | (104) all_48_0 = 0 % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | REDUCE: (98), (104) imply: % 12.67/2.41 | | | | | | (105) $false % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | CLOSE: (105) is inconsistent. % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | Case 2: % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | (106) ? [v0: any] : ? [v1: any] : (subset(all_36_1, all_36_2) = % 12.67/2.41 | | | | | | v0 & subset(all_36_2, all_36_1) = v1 & ( ~ (v1 = 0) | ~ % 12.67/2.41 | | | | | | (v0 = 0))) % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | DELTA: instantiating (106) with fresh symbols all_62_0, all_62_1 % 12.67/2.41 | | | | | | gives: % 12.67/2.41 | | | | | | (107) subset(all_36_1, all_36_2) = all_62_1 & subset(all_36_2, % 12.67/2.41 | | | | | | all_36_1) = all_62_0 & ( ~ (all_62_0 = 0) | ~ (all_62_1 % 12.67/2.41 | | | | | | = 0)) % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | ALPHA: (107) implies: % 12.67/2.41 | | | | | | (108) subset(all_36_2, all_36_1) = all_62_0 % 12.67/2.41 | | | | | | (109) subset(all_36_1, all_36_2) = all_62_1 % 12.67/2.41 | | | | | | (110) ~ (all_62_0 = 0) | ~ (all_62_1 = 0) % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | GROUND_INST: instantiating (11) with 0, all_62_0, all_36_1, % 12.67/2.41 | | | | | | all_36_2, simplifying with (101), (108) gives: % 12.67/2.41 | | | | | | (111) all_62_0 = 0 % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | GROUND_INST: instantiating (11) with 0, all_62_1, all_36_2, % 12.67/2.41 | | | | | | all_36_1, simplifying with (102), (109) gives: % 12.67/2.41 | | | | | | (112) all_62_1 = 0 % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | BETA: splitting (110) gives: % 12.67/2.41 | | | | | | % 12.67/2.41 | | | | | | Case 1: % 12.67/2.41 | | | | | | | % 12.67/2.42 | | | | | | | (113) ~ (all_62_0 = 0) % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | REDUCE: (111), (113) imply: % 12.67/2.42 | | | | | | | (114) $false % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | CLOSE: (114) is inconsistent. % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | Case 2: % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | (115) ~ (all_62_1 = 0) % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | REDUCE: (112), (115) imply: % 12.67/2.42 | | | | | | | (116) $false % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | CLOSE: (116) is inconsistent. % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | End of split % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | End of split % 12.67/2.42 | | | | | % 12.67/2.42 | | | | End of split % 12.67/2.42 | | | | % 12.67/2.42 | | | Case 2: % 12.67/2.42 | | | | % 12.67/2.42 | | | | (117) ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & % 12.67/2.42 | | | | apply(equal_set_predicate, v0, v0) = v1 & member(v0, % 12.67/2.42 | | | | all_21_1) = 0 & $i(v0)) % 12.67/2.42 | | | | % 12.67/2.42 | | | | DELTA: instantiating (117) with fresh symbols all_36_0, all_36_1 gives: % 12.67/2.42 | | | | (118) ~ (all_36_0 = 0) & apply(equal_set_predicate, all_36_1, % 12.67/2.42 | | | | all_36_1) = all_36_0 & member(all_36_1, all_21_1) = 0 & % 12.67/2.42 | | | | $i(all_36_1) % 12.67/2.42 | | | | % 12.67/2.42 | | | | ALPHA: (118) implies: % 12.67/2.42 | | | | (119) ~ (all_36_0 = 0) % 12.67/2.42 | | | | (120) $i(all_36_1) % 12.67/2.42 | | | | (121) apply(equal_set_predicate, all_36_1, all_36_1) = all_36_0 % 12.67/2.42 | | | | % 12.67/2.42 | | | | GROUND_INST: instantiating (7) with all_36_1, all_36_1, all_36_0, % 12.67/2.42 | | | | simplifying with (120), (121) gives: % 12.67/2.42 | | | | (122) all_36_0 = 0 | ? [v0: int] : ( ~ (v0 = 0) & % 12.67/2.42 | | | | equal_set(all_36_1, all_36_1) = v0) % 12.67/2.42 | | | | % 12.67/2.42 | | | | BETA: splitting (122) gives: % 12.67/2.42 | | | | % 12.67/2.42 | | | | Case 1: % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | (123) all_36_0 = 0 % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | REDUCE: (119), (123) imply: % 12.67/2.42 | | | | | (124) $false % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | CLOSE: (124) is inconsistent. % 12.67/2.42 | | | | | % 12.67/2.42 | | | | Case 2: % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | (125) ? [v0: int] : ( ~ (v0 = 0) & equal_set(all_36_1, all_36_1) = % 12.67/2.42 | | | | | v0) % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | DELTA: instantiating (125) with fresh symbol all_48_0 gives: % 12.67/2.42 | | | | | (126) ~ (all_48_0 = 0) & equal_set(all_36_1, all_36_1) = all_48_0 % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | ALPHA: (126) implies: % 12.67/2.42 | | | | | (127) ~ (all_48_0 = 0) % 12.67/2.42 | | | | | (128) equal_set(all_36_1, all_36_1) = all_48_0 % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | GROUND_INST: instantiating (4) with all_36_1, all_36_1, all_48_0, % 12.67/2.42 | | | | | simplifying with (120), (128) gives: % 12.67/2.42 | | | | | (129) all_48_0 = 0 | ? [v0: any] : ? [v1: any] : % 12.67/2.42 | | | | | (subset(all_36_1, all_36_1) = v1 & subset(all_36_1, all_36_1) % 12.67/2.42 | | | | | = v0 & ( ~ (v1 = 0) | ~ (v0 = 0))) % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | BETA: splitting (129) gives: % 12.67/2.42 | | | | | % 12.67/2.42 | | | | | Case 1: % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | (130) all_48_0 = 0 % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | REDUCE: (127), (130) imply: % 12.67/2.42 | | | | | | (131) $false % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | CLOSE: (131) is inconsistent. % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | Case 2: % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | (132) ? [v0: any] : ? [v1: any] : (subset(all_36_1, all_36_1) = % 12.67/2.42 | | | | | | v1 & subset(all_36_1, all_36_1) = v0 & ( ~ (v1 = 0) | ~ % 12.67/2.42 | | | | | | (v0 = 0))) % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | DELTA: instantiating (132) with fresh symbols all_60_0, all_60_1 % 12.67/2.42 | | | | | | gives: % 12.67/2.42 | | | | | | (133) subset(all_36_1, all_36_1) = all_60_0 & subset(all_36_1, % 12.67/2.42 | | | | | | all_36_1) = all_60_1 & ( ~ (all_60_0 = 0) | ~ (all_60_1 % 12.67/2.42 | | | | | | = 0)) % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | ALPHA: (133) implies: % 12.67/2.42 | | | | | | (134) subset(all_36_1, all_36_1) = all_60_1 % 12.67/2.42 | | | | | | (135) subset(all_36_1, all_36_1) = all_60_0 % 12.67/2.42 | | | | | | (136) ~ (all_60_0 = 0) | ~ (all_60_1 = 0) % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | GROUND_INST: instantiating (11) with all_60_1, all_60_0, all_36_1, % 12.67/2.42 | | | | | | all_36_1, simplifying with (134), (135) gives: % 12.67/2.42 | | | | | | (137) all_60_0 = all_60_1 % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | BETA: splitting (136) gives: % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | | Case 1: % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | (138) ~ (all_60_0 = 0) % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | REDUCE: (137), (138) imply: % 12.67/2.42 | | | | | | | (139) ~ (all_60_1 = 0) % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | REF_CLOSE: (2), (10), (120), (134), (139) are inconsistent by % 12.67/2.42 | | | | | | | sub-proof #1. % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | Case 2: % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | (140) ~ (all_60_1 = 0) % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | | REF_CLOSE: (2), (10), (120), (134), (140) are inconsistent by % 12.67/2.42 | | | | | | | sub-proof #1. % 12.67/2.42 | | | | | | | % 12.67/2.42 | | | | | | End of split % 12.67/2.42 | | | | | | % 12.67/2.42 | | | | | End of split % 12.67/2.42 | | | | | % 12.67/2.42 | | | | End of split % 12.67/2.42 | | | | % 12.67/2.42 | | | End of split % 12.67/2.42 | | | % 12.67/2.42 | | End of split % 12.67/2.42 | | % 12.67/2.42 | End of split % 12.67/2.42 | % 12.67/2.42 End of proof % 12.67/2.42 % 12.67/2.42 Sub-proof #1 shows that the following formulas are inconsistent: % 12.67/2.42 ---------------------------------------------------------------- % 12.67/2.43 (1) ! [v0: $i] : ! [v1: $i] : ! [v2: int] : (v2 = 0 | ~ (subset(v0, v1) = % 12.67/2.43 v2) | ~ $i(v1) | ~ $i(v0) | ? [v3: $i] : ? [v4: int] : ( ~ (v4 = % 12.67/2.43 0) & member(v3, v1) = v4 & member(v3, v0) = 0 & $i(v3))) % 12.67/2.43 (2) $i(all_36_1) % 12.67/2.43 (3) ~ (all_60_1 = 0) % 12.67/2.43 (4) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: $i] : % 12.67/2.43 ! [v3: $i] : (v1 = v0 | ~ (member(v3, v2) = v1) | ~ (member(v3, v2) = % 12.67/2.43 v0)) % 12.67/2.43 (5) subset(all_36_1, all_36_1) = all_60_1 % 12.67/2.43 % 12.67/2.43 Begin of proof % 12.67/2.43 | % 12.67/2.43 | GROUND_INST: instantiating (1) with all_36_1, all_36_1, all_60_1, simplifying % 12.67/2.43 | with (2), (5) gives: % 12.67/2.43 | (6) all_60_1 = 0 | ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & member(v0, % 12.67/2.43 | all_36_1) = v1 & member(v0, all_36_1) = 0 & $i(v0)) % 12.67/2.43 | % 12.67/2.43 | BETA: splitting (6) gives: % 12.67/2.43 | % 12.67/2.43 | Case 1: % 12.67/2.43 | | % 12.67/2.43 | | (7) all_60_1 = 0 % 12.67/2.43 | | % 12.67/2.43 | | REDUCE: (3), (7) imply: % 12.67/2.43 | | (8) $false % 12.67/2.43 | | % 12.67/2.43 | | CLOSE: (8) is inconsistent. % 12.67/2.43 | | % 12.67/2.43 | Case 2: % 12.67/2.43 | | % 12.67/2.43 | | (9) ? [v0: $i] : ? [v1: int] : ( ~ (v1 = 0) & member(v0, all_36_1) = v1 % 12.67/2.43 | | & member(v0, all_36_1) = 0 & $i(v0)) % 12.67/2.43 | | % 12.67/2.43 | | DELTA: instantiating (9) with fresh symbols all_77_0, all_77_1 gives: % 12.67/2.43 | | (10) ~ (all_77_0 = 0) & member(all_77_1, all_36_1) = all_77_0 & % 12.67/2.43 | | member(all_77_1, all_36_1) = 0 & $i(all_77_1) % 12.67/2.43 | | % 12.67/2.43 | | ALPHA: (10) implies: % 12.67/2.43 | | (11) ~ (all_77_0 = 0) % 12.67/2.43 | | (12) member(all_77_1, all_36_1) = 0 % 12.67/2.43 | | (13) member(all_77_1, all_36_1) = all_77_0 % 12.67/2.43 | | % 12.67/2.43 | | GROUND_INST: instantiating (4) with 0, all_77_0, all_36_1, all_77_1, % 12.67/2.43 | | simplifying with (12), (13) gives: % 12.67/2.43 | | (14) all_77_0 = 0 % 12.67/2.43 | | % 12.67/2.43 | | REDUCE: (11), (14) imply: % 12.67/2.43 | | (15) $false % 12.67/2.43 | | % 12.67/2.43 | | CLOSE: (15) is inconsistent. % 12.67/2.43 | | % 12.67/2.43 | End of split % 12.67/2.43 | % 12.67/2.43 End of proof % 12.67/2.43 % SZS output end Proof for theBenchmark % 12.67/2.43 % 12.67/2.43 1833ms %------------------------------------------------------------------------------