TSTP Solution File: DAT048_1 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------