%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : COM286_1 : TPTP v9.3.0. Released v9.3.0. % Transfm : none % Format : tptp % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % Computer : n014.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 : Tue May 5 06:21:41 PM UTC 2026 % Result : Theorem 30.55s 4.72s % Output : Proof 40.57s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.09/0.13 % Problem : COM286_1 : TPTP v9.3.0. Released v9.3.0. % 0.09/0.14 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.15/0.36 % Computer : n014.cluster.edu % 0.15/0.36 % Model : x86_64 x86_64 % 0.15/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.15/0.36 % Memory : 8042.1875MB % 0.15/0.36 % OS : Linux 3.10.0-693.el7.x86_64 % 0.15/0.36 % CPULimit : 300 % 0.15/0.36 % WCLimit : 300 % 0.15/0.36 % DateTime : Mon May 4 20:19:36 EDT 2026 % 0.15/0.36 % CPUTime : % 0.56/0.66 ________ _____ % 0.56/0.66 ___ __ \_________(_)________________________________ % 0.56/0.66 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.56/0.66 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.56/0.66 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.56/0.66 % 0.56/0.66 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.56/0.66 (2023-06-19) % 0.56/0.66 % 0.56/0.66 (c) Philipp Rümmer, 2009-2023 % 0.56/0.66 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.56/0.66 Amanda Stjerna. % 0.56/0.66 Free software under BSD-3-Clause. % 0.56/0.66 % 0.56/0.66 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.56/0.66 % 0.56/0.66 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ... % 0.56/0.67 Running up to 7 provers in parallel. % 0.56/0.68 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.56/0.68 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.56/0.68 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.56/0.68 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.56/0.68 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 0.56/0.68 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.56/0.68 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 8.83/2.01 Prover 4: Preprocessing ... % 10.57/2.16 Prover 2: Preprocessing ... % 10.57/2.16 Prover 5: Preprocessing ... % 10.57/2.16 Prover 0: Preprocessing ... % 10.57/2.16 Prover 3: Preprocessing ... % 10.57/2.17 Prover 6: Preprocessing ... % 10.57/2.17 Prover 1: Preprocessing ... % 23.52/3.89 Prover 1: Warning: ignoring some quantifiers % 24.31/3.91 Prover 4: Warning: ignoring some quantifiers % 24.31/3.99 Prover 3: Warning: ignoring some quantifiers % 25.19/4.02 Prover 4: Constructing countermodel ... % 25.19/4.02 Prover 3: Constructing countermodel ... % 25.19/4.03 Prover 1: Constructing countermodel ... % 25.19/4.04 Prover 6: Proving ... % 25.19/4.09 Prover 0: Proving ... % 26.02/4.14 Prover 5: Proving ... % 28.97/4.54 Prover 2: Proving ... % 30.55/4.72 Prover 0: proved (4023ms) % 30.55/4.72 % 30.55/4.72 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 30.55/4.72 % 30.55/4.72 Prover 6: stopped % 30.55/4.73 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 30.55/4.73 Prover 3: stopped % 30.55/4.73 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 30.55/4.73 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 30.55/4.73 Prover 5: stopped % 30.55/4.74 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 30.55/4.78 Prover 2: stopped % 31.31/4.80 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 33.79/5.12 Prover 4: Found proof (size 61) % 33.79/5.12 Prover 4: proved (4445ms) % 33.79/5.13 Prover 1: stopped % 36.03/5.49 Prover 7: Preprocessing ... % 36.03/5.49 Prover 10: Preprocessing ... % 36.03/5.50 Prover 8: Preprocessing ... % 36.80/5.51 Prover 11: Preprocessing ... % 36.80/5.52 Prover 13: Preprocessing ... % 37.66/5.67 Prover 7: stopped % 37.66/5.68 Prover 10: stopped % 37.66/5.68 Prover 11: stopped % 38.33/5.76 Prover 13: stopped % 39.21/5.98 Prover 8: Warning: ignoring some quantifiers % 39.21/6.01 Prover 8: Constructing countermodel ... % 39.76/6.03 Prover 8: stopped % 39.76/6.03 % 39.76/6.03 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % 39.76/6.03 % 39.76/6.05 % SZS output start Proof for theBenchmark % 39.76/6.07 Assumptions after simplification: % 39.76/6.07 --------------------------------- % 39.76/6.07 % 39.76/6.07 (Preservation-Difference-IH0) % 40.23/6.13 vQuery(vq1) & ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! % 40.23/6.13 [v3: vQuery] : ! [v4: vOptQuery] : ! [v5: int] : (v5 = 0 | ~ (vptcheck(v1, % 40.23/6.13 v3, v2) = v5) | ~ (vreduce(vq1, v0) = v4) | ~ vTType(v2) | ~ % 40.23/6.13 vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? [v6: any] : ? [v7: % 40.23/6.13 any] : ? [v8: vOptQuery] : (vptcheck(v1, vq1, v2) = v7 & % 40.23/6.13 vstoreContextConsistent(v0, v1) = v6 & vsomeQuery(v3) = v8 & vOptQuery(v8) % 40.23/6.13 & ( ~ (v8 = v4) | ~ (v7 = 0) | ~ (v6 = 0)))) & ! [v0: vTStore] : ! % 40.23/6.13 [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : ! [v4: int] : (v4 = 0 % 40.23/6.13 | ~ (vptcheck(v1, v3, v2) = v4) | ~ (vstoreContextConsistent(v0, v1) = 0) % 40.23/6.13 | ~ vTType(v2) | ~ vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? % 40.23/6.13 [v5: any] : ? [v6: vOptQuery] : ? [v7: vOptQuery] : (vptcheck(v1, vq1, v2) % 40.23/6.13 = v5 & vreduce(vq1, v0) = v6 & vsomeQuery(v3) = v7 & vOptQuery(v7) & % 40.23/6.13 vOptQuery(v6) & ( ~ (v7 = v6) | ~ (v5 = 0)))) & ! [v0: vTStore] : ! % 40.23/6.13 [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : ! [v4: vOptQuery] : ( % 40.23/6.13 ~ (vptcheck(v1, vq1, v2) = 0) | ~ (vstoreContextConsistent(v0, v1) = 0) | % 40.23/6.13 ~ (vsomeQuery(v3) = v4) | ~ vTType(v2) | ~ vTStore(v0) | ~ vQuery(v3) | % 40.23/6.13 ~ vTTContext(v1) | ? [v5: vOptQuery] : ? [v6: any] : (vptcheck(v1, v3, v2) % 40.23/6.13 = v6 & vreduce(vq1, v0) = v5 & vOptQuery(v5) & ( ~ (v5 = v4) | v6 = 0))) & % 40.23/6.13 ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : % 40.23/6.13 ! [v4: vOptQuery] : ( ~ (vptcheck(v1, vq1, v2) = 0) | ~ (vreduce(vq1, v0) = % 40.23/6.13 v4) | ~ (vsomeQuery(v3) = v4) | ~ vTType(v2) | ~ vTStore(v0) | ~ % 40.23/6.13 vQuery(v3) | ~ vTTContext(v1) | ? [v5: any] : ? [v6: any] : (vptcheck(v1, % 40.23/6.13 v3, v2) = v6 & vstoreContextConsistent(v0, v1) = v5 & ( ~ (v5 = 0) | v6 % 40.23/6.13 = 0))) % 40.23/6.13 % 40.23/6.13 (Preservation-Difference-IH1) % 40.23/6.14 vQuery(vq2) & ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! % 40.23/6.14 [v3: vQuery] : ! [v4: vOptQuery] : ! [v5: int] : (v5 = 0 | ~ (vptcheck(v1, % 40.23/6.14 v3, v2) = v5) | ~ (vreduce(vq2, v0) = v4) | ~ vTType(v2) | ~ % 40.23/6.14 vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? [v6: any] : ? [v7: % 40.23/6.14 any] : ? [v8: vOptQuery] : (vptcheck(v1, vq2, v2) = v7 & % 40.23/6.14 vstoreContextConsistent(v0, v1) = v6 & vsomeQuery(v3) = v8 & vOptQuery(v8) % 40.23/6.14 & ( ~ (v8 = v4) | ~ (v7 = 0) | ~ (v6 = 0)))) & ! [v0: vTStore] : ! % 40.23/6.14 [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : ! [v4: int] : (v4 = 0 % 40.23/6.14 | ~ (vptcheck(v1, v3, v2) = v4) | ~ (vstoreContextConsistent(v0, v1) = 0) % 40.23/6.14 | ~ vTType(v2) | ~ vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? % 40.23/6.14 [v5: any] : ? [v6: vOptQuery] : ? [v7: vOptQuery] : (vptcheck(v1, vq2, v2) % 40.23/6.14 = v5 & vreduce(vq2, v0) = v6 & vsomeQuery(v3) = v7 & vOptQuery(v7) & % 40.23/6.14 vOptQuery(v6) & ( ~ (v7 = v6) | ~ (v5 = 0)))) & ! [v0: vTStore] : ! % 40.23/6.14 [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : ! [v4: vOptQuery] : ( % 40.23/6.14 ~ (vptcheck(v1, vq2, v2) = 0) | ~ (vstoreContextConsistent(v0, v1) = 0) | % 40.23/6.14 ~ (vsomeQuery(v3) = v4) | ~ vTType(v2) | ~ vTStore(v0) | ~ vQuery(v3) | % 40.23/6.14 ~ vTTContext(v1) | ? [v5: vOptQuery] : ? [v6: any] : (vptcheck(v1, v3, v2) % 40.23/6.14 = v6 & vreduce(vq2, v0) = v5 & vOptQuery(v5) & ( ~ (v5 = v4) | v6 = 0))) & % 40.23/6.14 ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! [v3: vQuery] : % 40.23/6.14 ! [v4: vOptQuery] : ( ~ (vptcheck(v1, vq2, v2) = 0) | ~ (vreduce(vq2, v0) = % 40.23/6.14 v4) | ~ (vsomeQuery(v3) = v4) | ~ vTType(v2) | ~ vTStore(v0) | ~ % 40.23/6.14 vQuery(v3) | ~ vTTContext(v1) | ? [v5: any] : ? [v6: any] : (vptcheck(v1, % 40.23/6.14 v3, v2) = v6 & vstoreContextConsistent(v0, v1) = v5 & ( ~ (v5 = 0) | v6 % 40.23/6.14 = 0))) % 40.23/6.14 % 40.23/6.14 (Preservation-Difference-tvalue-q2-isSomeQuery-False) % 40.23/6.14 vQuery(vq2) & vQuery(vq1) & ? [v0: vQuery] : ? [v1: vQuery] : ? [v2: % 40.23/6.14 vTable] : ? [v3: vTTContext] : ? [v4: vTStore] : ? [v5: vTType] : ? [v6: % 40.23/6.14 vOptQuery] : ? [v7: int] : ? [v8: vOptQuery] : ? [v9: int] : ( ~ (v9 = 0) % 40.23/6.14 & ~ (v7 = 0) & vptcheck(v3, v1, v5) = v9 & vptcheck(v3, v0, v5) = 0 & % 40.23/6.14 vstoreContextConsistent(v4, v3) = 0 & vreduce(v0, v4) = v8 & vreduce(vq2, % 40.23/6.14 v4) = v6 & visSomeQuery(v6) = v7 & vsomeQuery(v1) = v8 & vDifference(vq1, % 40.23/6.14 vq2) = v0 & vtvalue(v2) = vq1 & vOptQuery(v8) & vOptQuery(v6) & vTType(v5) % 40.23/6.14 & vTable(v2) & vTStore(v4) & vQuery(v1) & vQuery(v0) & vTTContext(v3) & ! % 40.23/6.14 [v10: vTable] : ( ~ (vtvalue(v10) = vq2) | ~ vTable(v10))) % 40.23/6.14 % 40.23/6.14 (TDifference_inv2) % 40.23/6.14 ! [v0: vTTContext] : ! [v1: vQuery] : ! [v2: vQuery] : ! [v3: vTType] : ! % 40.23/6.14 [v4: vQuery] : ( ~ (vptcheck(v0, v4, v3) = 0) | ~ (vDifference(v1, v2) = v4) % 40.23/6.14 | ~ vTType(v3) | ~ vQuery(v2) | ~ vQuery(v1) | ~ vTTContext(v0) | % 40.23/6.14 vptcheck(v0, v2, v3) = 0) % 40.23/6.14 % 40.23/6.14 (isSomeQuery-0) % 40.23/6.14 vOptQuery(vnoQuery) & ? [v0: int] : ( ~ (v0 = 0) & visSomeQuery(vnoQuery) = % 40.23/6.14 v0) % 40.23/6.14 % 40.23/6.14 (isSomeQuery-false-INV) % 40.23/6.14 vOptQuery(vnoQuery) & ! [v0: vOptQuery] : ! [v1: int] : (v1 = 0 | v0 = % 40.23/6.14 vnoQuery | ~ (visSomeQuery(v0) = v1) | ~ vOptQuery(v0)) % 40.23/6.14 % 40.23/6.14 (reduce-16) % 40.23/6.14 vOptQuery(vnoQuery) & ! [v0: vTable] : ! [v1: vQuery] : ! [v2: vTStore] : % 40.23/6.14 ! [v3: vQuery] : ! [v4: vQuery] : ! [v5: vOptQuery] : (v5 = vnoQuery | ~ % 40.23/6.14 (vreduce(v4, v2) = v5) | ~ (vDifference(v3, v1) = v4) | ~ (vtvalue(v0) = % 40.23/6.14 v3) | ~ vTable(v0) | ~ vTStore(v2) | ~ vQuery(v1) | ? [v6: vOptQuery] % 40.23/6.14 : ? [v7: int] : ? [v8: vTable] : ? [v9: vTable] : ? [v10: vQuery] : % 40.23/6.14 (vTable(v9) & vTable(v8) & ((v10 = v1 & v8 = v0 & vtvalue(v9) = v1) | (v7 = % 40.23/6.14 0 & vreduce(v1, v2) = v6 & visSomeQuery(v6) = 0 & vOptQuery(v6))))) % 40.23/6.14 % 40.23/6.14 (function-axioms) % 40.23/6.16 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vTType] : ! % 40.23/6.16 [v3: vQuery] : ! [v4: vTTContext] : (v1 = v0 | ~ (vptcheck(v4, v3, v2) = v1) % 40.23/6.16 | ~ (vptcheck(v4, v3, v2) = v0)) & ! [v0: vRawTable] : ! [v1: vRawTable] % 40.23/6.16 : ! [v2: vPred] : ! [v3: vAttrL] : ! [v4: vRawTable] : (v1 = v0 | ~ % 40.23/6.16 (vfilterRows(v4, v3, v2) = v1) | ~ (vfilterRows(v4, v3, v2) = v0)) & ! % 40.23/6.16 [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vRow] : ! [v3: % 40.23/6.16 vAttrL] : ! [v4: vPred] : (v1 = v0 | ~ (vfilterSingleRow(v4, v3, v2) = v1) % 40.23/6.16 | ~ (vfilterSingleRow(v4, v3, v2) = v0)) & ! [v0: vOptVal] : ! [v1: % 40.23/6.16 vOptVal] : ! [v2: vRow] : ! [v3: vAttrL] : ! [v4: vExp] : (v1 = v0 | ~ % 40.23/6.16 (vevalExpRow(v4, v3, v2) = v1) | ~ (vevalExpRow(v4, v3, v2) = v0)) & ! % 40.23/6.16 [v0: vOptRawTable] : ! [v1: vOptRawTable] : ! [v2: vRawTable] : ! [v3: % 40.23/6.16 vAttrL] : ! [v4: vAttrL] : (v1 = v0 | ~ (vprojectCols(v4, v3, v2) = v1) | % 40.23/6.16 ~ (vprojectCols(v4, v3, v2) = v0)) & ! [v0: vOptRawTable] : ! [v1: % 40.23/6.16 vOptRawTable] : ! [v2: vRawTable] : ! [v3: vAttrL] : ! [v4: vName] : (v1 % 40.23/6.16 = v0 | ~ (vfindCol(v4, v3, v2) = v1) | ~ (vfindCol(v4, v3, v2) = v0)) & ! % 40.23/6.16 [v0: vTStore] : ! [v1: vTStore] : ! [v2: vTStore] : ! [v3: vTable] : ! % 40.23/6.16 [v4: vName] : (v1 = v0 | ~ (vbindStore(v4, v3, v2) = v1) | ~ (vbindStore(v4, % 40.23/6.16 v3, v2) = v0)) & ! [v0: vTTContext] : ! [v1: vTTContext] : ! [v2: % 40.23/6.16 vTTContext] : ! [v3: vTType] : ! [v4: vName] : (v1 = v0 | ~ % 40.23/6.16 (vbindContext(v4, v3, v2) = v1) | ~ (vbindContext(v4, v3, v2) = v0)) & ! % 40.23/6.16 [v0: vTType] : ! [v1: vTType] : ! [v2: vTType] : ! [v3: vFType] : ! [v4: % 40.23/6.16 vName] : (v1 = v0 | ~ (vttcons(v4, v3, v2) = v1) | ~ (vttcons(v4, v3, v2) % 40.23/6.16 = v0)) & ! [v0: vQuery] : ! [v1: vQuery] : ! [v2: vPred] : ! [v3: % 40.23/6.16 vName] : ! [v4: vSelect] : (v1 = v0 | ~ (vselectFromWhere(v4, v3, v2) = % 40.23/6.16 v1) | ~ (vselectFromWhere(v4, v3, v2) = v0)) & ! [v0: MultipleValueBool] % 40.23/6.16 : ! [v1: MultipleValueBool] : ! [v2: vTTContext] : ! [v3: vTStore] : (v1 = % 40.23/6.16 v0 | ~ (vstoreContextConsistent(v3, v2) = v1) | ~ % 40.23/6.16 (vstoreContextConsistent(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! % 40.23/6.16 [v1: MultipleValueBool] : ! [v2: vTType] : ! [v3: vPred] : (v1 = v0 | ~ % 40.23/6.16 (vtcheckPred(v3, v2) = v1) | ~ (vtcheckPred(v3, v2) = v0)) & ! [v0: % 40.23/6.16 vOptFType] : ! [v1: vOptFType] : ! [v2: vTType] : ! [v3: vExp] : (v1 = v0 % 40.23/6.16 | ~ (vtypeOfExp(v3, v2) = v1) | ~ (vtypeOfExp(v3, v2) = v0)) & ! [v0: % 40.23/6.16 vOptTType] : ! [v1: vOptTType] : ! [v2: vTType] : ! [v3: vSelect] : (v1 = % 40.23/6.16 v0 | ~ (vprojectType(v3, v2) = v1) | ~ (vprojectType(v3, v2) = v0)) & ! % 40.23/6.16 [v0: vOptTType] : ! [v1: vOptTType] : ! [v2: vTType] : ! [v3: vAttrL] : (v1 % 40.23/6.16 = v0 | ~ (vprojectTypeAttrL(v3, v2) = v1) | ~ (vprojectTypeAttrL(v3, v2) = % 40.23/6.16 v0)) & ! [v0: vOptFType] : ! [v1: vOptFType] : ! [v2: vTType] : ! [v3: % 40.23/6.16 vName] : (v1 = v0 | ~ (vfindColType(v3, v2) = v1) | ~ (vfindColType(v3, % 40.23/6.16 v2) = v0)) & ! [v0: vOptQuery] : ! [v1: vOptQuery] : ! [v2: vTStore] % 40.23/6.16 : ! [v3: vQuery] : (v1 = v0 | ~ (vreduce(v3, v2) = v1) | ~ (vreduce(v3, v2) % 40.23/6.16 = v0)) & ! [v0: vTable] : ! [v1: vTable] : ! [v2: vPred] : ! [v3: % 40.23/6.16 vTable] : (v1 = v0 | ~ (vfilterTable(v3, v2) = v1) | ~ (vfilterTable(v3, % 40.23/6.16 v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : % 40.23/6.16 ! [v2: vVal] : ! [v3: vVal] : (v1 = v0 | ~ (vlessThan(v3, v2) = v1) | ~ % 40.23/6.16 (vlessThan(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 40.23/6.16 MultipleValueBool] : ! [v2: vVal] : ! [v3: vVal] : (v1 = v0 | ~ % 40.23/6.16 (vgreaterThan(v3, v2) = v1) | ~ (vgreaterThan(v3, v2) = v0)) & ! [v0: % 40.23/6.16 vOptTable] : ! [v1: vOptTable] : ! [v2: vTable] : ! [v3: vSelect] : (v1 = % 40.23/6.16 v0 | ~ (vprojectTable(v3, v2) = v1) | ~ (vprojectTable(v3, v2) = v0)) & ! % 40.23/6.16 [v0: vOptTType] : ! [v1: vOptTType] : ! [v2: vTTContext] : ! [v3: vName] : % 40.23/6.16 (v1 = v0 | ~ (vlookupContext(v3, v2) = v1) | ~ (vlookupContext(v3, v2) = % 40.23/6.16 v0)) & ! [v0: vOptTable] : ! [v1: vOptTable] : ! [v2: vTStore] : ! % 40.23/6.16 [v3: vName] : (v1 = v0 | ~ (vlookupStore(v3, v2) = v1) | ~ (vlookupStore(v3, % 40.23/6.16 v2) = v0)) & ! [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: % 40.23/6.16 vRawTable] : ! [v3: vRawTable] : (v1 = v0 | ~ (vrawDifference(v3, v2) = % 40.23/6.16 v1) | ~ (vrawDifference(v3, v2) = v0)) & ! [v0: vRawTable] : ! [v1: % 40.23/6.16 vRawTable] : ! [v2: vRawTable] : ! [v3: vRawTable] : (v1 = v0 | ~ % 40.23/6.16 (vrawIntersection(v3, v2) = v1) | ~ (vrawIntersection(v3, v2) = v0)) & ! % 40.23/6.16 [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: vRawTable] : ! [v3: vRawTable] % 40.23/6.16 : (v1 = v0 | ~ (vrawUnion(v3, v2) = v1) | ~ (vrawUnion(v3, v2) = v0)) & ! % 40.23/6.16 [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: vRawTable] : ! [v3: vRawTable] % 40.23/6.16 : (v1 = v0 | ~ (vattachColToFrontRaw(v3, v2) = v1) | ~ % 40.23/6.16 (vattachColToFrontRaw(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 40.23/6.16 MultipleValueBool] : ! [v2: vRawTable] : ! [v3: vRawTable] : (v1 = v0 | ~ % 40.23/6.17 (vsameLength(v3, v2) = v1) | ~ (vsameLength(v3, v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vRawTable] : ! % 40.23/6.17 [v3: vRow] : (v1 = v0 | ~ (vrowIn(v3, v2) = v1) | ~ (vrowIn(v3, v2) = v0)) & % 40.23/6.17 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vTable] : ! % 40.23/6.17 [v3: vTType] : (v1 = v0 | ~ (vwelltypedtable(v3, v2) = v1) | ~ % 40.23/6.17 (vwelltypedtable(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 40.23/6.17 MultipleValueBool] : ! [v2: vRawTable] : ! [v3: vTType] : (v1 = v0 | ~ % 40.23/6.17 (vwelltypedRawtable(v3, v2) = v1) | ~ (vwelltypedRawtable(v3, v2) = v0)) & % 40.23/6.17 ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vRow] : ! % 40.23/6.17 [v3: vTType] : (v1 = v0 | ~ (vwelltypedRow(v3, v2) = v1) | ~ % 40.23/6.17 (vwelltypedRow(v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 40.23/6.17 MultipleValueBool] : ! [v2: vAttrL] : ! [v3: vTType] : (v1 = v0 | ~ % 40.23/6.17 (vmatchingAttrL(v3, v2) = v1) | ~ (vmatchingAttrL(v3, v2) = v0)) & ! [v0: % 40.23/6.17 vAttrL] : ! [v1: vAttrL] : ! [v2: vAttrL] : ! [v3: vAttrL] : (v1 = v0 | % 40.23/6.17 ~ (vappend(v3, v2) = v1) | ~ (vappend(v3, v2) = v0)) & ! [v0: vAttrL] : ! % 40.23/6.17 [v1: vAttrL] : ! [v2: vAttrL] : ! [v3: vName] : (v1 = v0 | ~ (vacons(v3, % 40.23/6.17 v2) = v1) | ~ (vacons(v3, v2) = v0)) & ! [v0: vPred] : ! [v1: vPred] % 40.23/6.17 : ! [v2: vExp] : ! [v3: vExp] : (v1 = v0 | ~ (vlt(v3, v2) = v1) | ~ % 40.23/6.17 (vlt(v3, v2) = v0)) & ! [v0: vPred] : ! [v1: vPred] : ! [v2: vExp] : ! % 40.23/6.17 [v3: vExp] : (v1 = v0 | ~ (vgt(v3, v2) = v1) | ~ (vgt(v3, v2) = v0)) & ! % 40.23/6.17 [v0: vPred] : ! [v1: vPred] : ! [v2: vExp] : ! [v3: vExp] : (v1 = v0 | ~ % 40.23/6.17 (veq(v3, v2) = v1) | ~ (veq(v3, v2) = v0)) & ! [v0: vPred] : ! [v1: % 40.23/6.17 vPred] : ! [v2: vPred] : ! [v3: vPred] : (v1 = v0 | ~ (vand(v3, v2) = v1) % 40.23/6.17 | ~ (vand(v3, v2) = v0)) & ! [v0: vTable] : ! [v1: vTable] : ! [v2: % 40.23/6.17 vRawTable] : ! [v3: vAttrL] : (v1 = v0 | ~ (vtable(v3, v2) = v1) | ~ % 40.23/6.17 (vtable(v3, v2) = v0)) & ! [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: % 40.23/6.17 vRawTable] : ! [v3: vRow] : (v1 = v0 | ~ (vtcons(v3, v2) = v1) | ~ % 40.23/6.17 (vtcons(v3, v2) = v0)) & ! [v0: vRow] : ! [v1: vRow] : ! [v2: vRow] : ! % 40.23/6.17 [v3: vVal] : (v1 = v0 | ~ (vrcons(v3, v2) = v1) | ~ (vrcons(v3, v2) = v0)) & % 40.23/6.17 ! [v0: vQuery] : ! [v1: vQuery] : ! [v2: vQuery] : ! [v3: vQuery] : (v1 = % 40.23/6.17 v0 | ~ (vDifference(v3, v2) = v1) | ~ (vDifference(v3, v2) = v0)) & ! % 40.23/6.17 [v0: vQuery] : ! [v1: vQuery] : ! [v2: vQuery] : ! [v3: vQuery] : (v1 = v0 % 40.23/6.17 | ~ (vIntersection(v3, v2) = v1) | ~ (vIntersection(v3, v2) = v0)) & ! % 40.23/6.17 [v0: vQuery] : ! [v1: vQuery] : ! [v2: vQuery] : ! [v3: vQuery] : (v1 = v0 % 40.23/6.17 | ~ (vUnion(v3, v2) = v1) | ~ (vUnion(v3, v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptFType] : (v1 = % 40.23/6.17 v0 | ~ (visSomeFType(v2) = v1) | ~ (visSomeFType(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptVal] : (v1 = % 40.23/6.17 v0 | ~ (visSomeVal(v2) = v1) | ~ (visSomeVal(v2) = v0)) & ! [v0: % 40.23/6.17 vRawTable] : ! [v1: vRawTable] : ! [v2: vRawTable] : (v1 = v0 | ~ % 40.23/6.17 (vprojectEmptyCol(v2) = v1) | ~ (vprojectEmptyCol(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptQuery] : (v1 = % 40.23/6.17 v0 | ~ (visSomeQuery(v2) = v1) | ~ (visSomeQuery(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vQuery] : (v1 = v0 % 40.23/6.17 | ~ (visValue(v2) = v1) | ~ (visValue(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptTType] : (v1 = % 40.23/6.17 v0 | ~ (visSomeTType(v2) = v1) | ~ (visSomeTType(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptTable] : (v1 = % 40.23/6.17 v0 | ~ (visSomeTable(v2) = v1) | ~ (visSomeTable(v2) = v0)) & ! [v0: % 40.23/6.17 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptRawTable] : % 40.23/6.17 (v1 = v0 | ~ (visSomeRawTable(v2) = v1) | ~ (visSomeRawTable(v2) = v0)) & ! % 40.23/6.17 [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: vRawTable] : (v1 = v0 | ~ % 40.23/6.17 (vdropFirstColRaw(v2) = v1) | ~ (vdropFirstColRaw(v2) = v0)) & ! [v0: % 40.23/6.17 vRawTable] : ! [v1: vRawTable] : ! [v2: vRawTable] : (v1 = v0 | ~ % 40.23/6.17 (vprojectFirstRaw(v2) = v1) | ~ (vprojectFirstRaw(v2) = v0)) & ! [v0: % 40.23/6.17 vFType] : ! [v1: vFType] : ! [v2: vVal] : (v1 = v0 | ~ (vfieldType(v2) = % 40.23/6.17 v1) | ~ (vfieldType(v2) = v0)) & ! [v0: vAttrL] : ! [v1: vAttrL] : ! % 40.23/6.17 [v2: vTable] : (v1 = v0 | ~ (vgetAttrL(v2) = v1) | ~ (vgetAttrL(v2) = v0)) & % 40.23/6.17 ! [v0: vRawTable] : ! [v1: vRawTable] : ! [v2: vTable] : (v1 = v0 | ~ % 40.23/6.17 (vgetRaw(v2) = v1) | ~ (vgetRaw(v2) = v0)) & ! [v0: vFType] : ! [v1: % 40.23/6.17 vFType] : ! [v2: vOptFType] : (v1 = v0 | ~ (vgetFType(v2) = v1) | ~ % 40.23/6.17 (vgetFType(v2) = v0)) & ! [v0: vVal] : ! [v1: vVal] : ! [v2: vOptVal] : % 40.23/6.17 (v1 = v0 | ~ (vgetVal(v2) = v1) | ~ (vgetVal(v2) = v0)) & ! [v0: vQuery] : % 40.23/6.17 ! [v1: vQuery] : ! [v2: vOptQuery] : (v1 = v0 | ~ (vgetQuery(v2) = v1) | ~ % 40.23/6.17 (vgetQuery(v2) = v0)) & ! [v0: vTType] : ! [v1: vTType] : ! [v2: % 40.23/6.17 vOptTType] : (v1 = v0 | ~ (vgetTType(v2) = v1) | ~ (vgetTType(v2) = v0)) & % 40.23/6.17 ! [v0: vTable] : ! [v1: vTable] : ! [v2: vOptTable] : (v1 = v0 | ~ % 40.23/6.17 (vgetTable(v2) = v1) | ~ (vgetTable(v2) = v0)) & ! [v0: vRawTable] : ! % 40.23/6.17 [v1: vRawTable] : ! [v2: vOptRawTable] : (v1 = v0 | ~ (vgetRawTable(v2) = % 40.23/6.17 v1) | ~ (vgetRawTable(v2) = v0)) & ! [v0: vOptFType] : ! [v1: % 40.23/6.17 vOptFType] : ! [v2: vFType] : (v1 = v0 | ~ (vsomeFType(v2) = v1) | ~ % 40.23/6.17 (vsomeFType(v2) = v0)) & ! [v0: vVal] : ! [v1: vVal] : ! [v2: vVal] : (v1 % 40.23/6.17 = v0 | ~ (venumVal(v2) = v1) | ~ (venumVal(v2) = v0)) & ! [v0: vPred] : % 40.23/6.17 ! [v1: vPred] : ! [v2: vPred] : (v1 = v0 | ~ (vnot(v2) = v1) | ~ (vnot(v2) % 40.23/6.17 = v0)) & ! [v0: vOptVal] : ! [v1: vOptVal] : ! [v2: vVal] : (v1 = v0 | % 40.23/6.17 ~ (vsomeVal(v2) = v1) | ~ (vsomeVal(v2) = v0)) & ! [v0: vExp] : ! [v1: % 40.23/6.17 vExp] : ! [v2: vName] : (v1 = v0 | ~ (vlookup(v2) = v1) | ~ (vlookup(v2) % 40.23/6.17 = v0)) & ! [v0: vExp] : ! [v1: vExp] : ! [v2: vVal] : (v1 = v0 | ~ % 40.23/6.17 (vconstant(v2) = v1) | ~ (vconstant(v2) = v0)) & ! [v0: vName] : ! [v1: % 40.23/6.17 vName] : ! [v2: vName] : (v1 = v0 | ~ (venumName(v2) = v1) | ~ % 40.23/6.17 (venumName(v2) = v0)) & ! [v0: vOptQuery] : ! [v1: vOptQuery] : ! [v2: % 40.23/6.17 vQuery] : (v1 = v0 | ~ (vsomeQuery(v2) = v1) | ~ (vsomeQuery(v2) = v0)) & % 40.23/6.17 ! [v0: vFType] : ! [v1: vFType] : ! [v2: vFType] : (v1 = v0 | ~ % 40.23/6.17 (venumFType(v2) = v1) | ~ (venumFType(v2) = v0)) & ! [v0: vOptTType] : ! % 40.23/6.17 [v1: vOptTType] : ! [v2: vTType] : (v1 = v0 | ~ (vsomeTType(v2) = v1) | ~ % 40.23/6.17 (vsomeTType(v2) = v0)) & ! [v0: vOptRawTable] : ! [v1: vOptRawTable] : ! % 40.23/6.17 [v2: vRawTable] : (v1 = v0 | ~ (vsomeRawTable(v2) = v1) | ~ % 40.23/6.17 (vsomeRawTable(v2) = v0)) & ! [v0: vOptTable] : ! [v1: vOptTable] : ! % 40.23/6.17 [v2: vTable] : (v1 = v0 | ~ (vsomeTable(v2) = v1) | ~ (vsomeTable(v2) = v0)) % 40.23/6.17 & ! [v0: vQuery] : ! [v1: vQuery] : ! [v2: vTable] : (v1 = v0 | ~ % 40.23/6.17 (vtvalue(v2) = v1) | ~ (vtvalue(v2) = v0)) & ! [v0: vSelect] : ! [v1: % 40.23/6.17 vSelect] : ! [v2: vAttrL] : (v1 = v0 | ~ (vlist(v2) = v1) | ~ (vlist(v2) % 40.23/6.17 = v0)) % 40.23/6.17 % 40.23/6.17 Further assumptions not needed in the proof: % 40.23/6.17 -------------------------------------------- % 40.23/6.17 DIFF-Intersection-Difference, DIFF-Union-Difference, DIFF-Union-Intersection, % 40.23/6.17 DIFF-aempty-acons, DIFF-all-list, DIFF-and-eq, DIFF-and-gt, DIFF-and-lt, % 40.23/6.17 DIFF-and-not, DIFF-constant-lookup, DIFF-emptyContext-bindContext, % 40.23/6.17 DIFF-emptyStore-bindStore, DIFF-eq-gt, DIFF-eq-lt, DIFF-gt-lt, % 40.23/6.17 DIFF-initFType-enumFType, DIFF-initName-enumName, DIFF-initVal-enumVal, % 40.23/6.17 DIFF-noFType-someFType, DIFF-noQuery-someQuery, DIFF-noRawTable-someRawTable, % 40.23/6.17 DIFF-noTType-someTType, DIFF-noTable-someTable, DIFF-noVal-someVal, DIFF-not-eq, % 40.23/6.17 DIFF-not-gt, DIFF-not-lt, DIFF-ptrue-and, DIFF-ptrue-eq, DIFF-ptrue-gt, % 40.23/6.17 DIFF-ptrue-lt, DIFF-ptrue-not, DIFF-rempty-rcons, % 40.23/6.17 DIFF-selectFromWhere-Difference, DIFF-selectFromWhere-Intersection, % 40.23/6.17 DIFF-selectFromWhere-Union, DIFF-tempty-tcons, DIFF-ttempty-ttcons, % 40.23/6.17 DIFF-tvalue-Difference, DIFF-tvalue-Intersection, DIFF-tvalue-Union, % 40.23/6.17 DIFF-tvalue-selectFromWhere, EQ-Difference, EQ-Intersection, EQ-Union, EQ-acons, % 40.23/6.17 EQ-and, EQ-bindContext, EQ-bindStore, EQ-constant, EQ-enumFType, EQ-enumName, % 40.23/6.17 EQ-enumVal, EQ-eq, EQ-gt, EQ-list, EQ-lookup, EQ-lt, EQ-not, EQ-rcons, % 40.23/6.17 EQ-selectFromWhere, EQ-someFType, EQ-someQuery, EQ-someRawTable, EQ-someTType, % 40.23/6.17 EQ-someTable, EQ-someVal, EQ-table, EQ-tcons, EQ-ttcons, EQ-tvalue, TDifference, % 40.23/6.17 TDifference_inv1, TIntersection, TIntersection_inv1, TIntersection_inv2, % 40.23/6.17 TSelectFromWhere, TSelectFromWhere_inv, TTTContextDuplicate, TTTContextSwap, % 40.23/6.17 TUnion, TUnion_inv1, TUnion_inv2, Ttvalue, Ttvalue_inv, append-0, append-1, % 40.23/6.17 append-INV, attachColToFrontRaw-0, attachColToFrontRaw-1, attachColToFrontRaw-2, % 40.23/6.17 attachColToFrontRaw-INV, dom-AttrL, dom-Exp, dom-OptFType, dom-OptQuery, % 40.23/6.17 dom-OptRawTable, dom-OptTType, dom-OptTable, dom-OptVal, dom-Pred, dom-Query, % 40.23/6.17 dom-RawTable, dom-Row, dom-Select, dom-TStore, dom-TTContext, dom-TType, % 40.23/6.17 dom-Table, dropFirstColRaw-0, dropFirstColRaw-1, dropFirstColRaw-2, % 40.23/6.17 dropFirstColRaw-INV, evalExpRow-0, evalExpRow-1, evalExpRow-2, evalExpRow-3, % 40.23/6.17 evalExpRow-INV, filterRows-0, filterRows-1, filterRows-2, filterRows-INV, % 40.23/6.17 filterSingleRow-0, filterSingleRow-1, filterSingleRow-2, filterSingleRow-3, % 40.23/6.17 filterSingleRow-4, filterSingleRow-5, filterSingleRow-false-INV, % 40.23/6.17 filterSingleRow-true-INV, filterTable-0, filterTable-INV, findCol-0, findCol-1, % 40.23/6.17 findCol-2, findCol-INV, findColType-0, findColType-1, findColType-2, % 40.23/6.17 findColType-INV, getAttrL-0, getAttrL-INV, getFType-0, getQuery-0, getRaw-0, % 40.23/6.17 getRaw-INV, getRawTable-0, getTType-0, getTable-0, getVal-0, isSomeFType-0, % 40.23/6.17 isSomeFType-1, isSomeFType-false-INV, isSomeFType-true-INV, isSomeQuery-1, % 40.23/6.17 isSomeQuery-true-INV, isSomeRawTable-0, isSomeRawTable-1, % 40.23/6.17 isSomeRawTable-false-INV, isSomeRawTable-true-INV, isSomeTType-0, isSomeTType-1, % 40.23/6.17 isSomeTType-false-INV, isSomeTType-true-INV, isSomeTable-0, isSomeTable-1, % 40.23/6.17 isSomeTable-false-INV, isSomeTable-true-INV, isSomeVal-0, isSomeVal-1, % 40.23/6.17 isSomeVal-false-INV, isSomeVal-true-INV, isValue-0, isValue-1, isValue-2, % 40.23/6.17 isValue-3, isValue-4, isValue-false-INV, isValue-true-INV, lookupContext-0, % 40.23/6.17 lookupContext-1, lookupContext-2, lookupContext-INV, lookupStore-0, % 40.23/6.17 lookupStore-1, lookupStore-2, lookupStore-INV, matchingAttrL-0, matchingAttrL-1, % 40.23/6.17 matchingAttrL-2, matchingAttrL-false-INV, matchingAttrL-true-INV, projectCols-0, % 40.23/6.17 projectCols-1, projectCols-2, projectCols-INV, projectEmptyCol-0, % 40.23/6.17 projectEmptyCol-1, projectEmptyCol-INV, projectFirstRaw-0, projectFirstRaw-1, % 40.23/6.17 projectFirstRaw-2, projectFirstRaw-INV, projectTable-0, projectTable-1, % 40.23/6.17 projectTable-2, projectTable-INV, projectType-0, projectType-1, projectType-INV, % 40.23/6.17 projectTypeAttrL-0, projectTypeAttrL-1, projectTypeAttrL-2, % 40.23/6.17 projectTypeAttrL-INV, rawDifference-0, rawDifference-1, rawDifference-2, % 40.23/6.17 rawDifference-3, rawDifference-4, rawDifference-INV, rawIntersection-0, % 40.23/6.17 rawIntersection-1, rawIntersection-2, rawIntersection-3, rawIntersection-4, % 40.23/6.17 rawIntersection-INV, rawUnion-0, rawUnion-1, rawUnion-2, rawUnion-INV, reduce-0, % 40.23/6.17 reduce-1, reduce-10, reduce-11, reduce-12, reduce-13, reduce-14, reduce-15, % 40.23/6.17 reduce-17, reduce-18, reduce-2, reduce-3, reduce-4, reduce-5, reduce-6, % 40.23/6.17 reduce-7, reduce-8, reduce-9, reduce-INV, rowIn-0, rowIn-1, rowIn-false-INV, % 40.23/6.17 rowIn-true-INV, sameLength-0, sameLength-1, sameLength-2, sameLength-false-INV, % 40.23/6.17 sameLength-true-INV, storeContextConsistent-0, storeContextConsistent-1, % 40.23/6.17 storeContextConsistent-2, storeContextConsistent-false-INV, % 40.23/6.17 storeContextConsistent-true-INV, tcheckPred-0, tcheckPred-1, tcheckPred-2, % 40.23/6.17 tcheckPred-3, tcheckPred-4, tcheckPred-5, tcheckPred-false-INV, % 40.23/6.17 tcheckPred-true-INV, typeOfExp-0, typeOfExp-1, typeOfExp-2, typeOfExp-3, % 40.23/6.17 typeOfExp-INV, welltypedRawtable-0, welltypedRawtable-1, % 40.23/6.17 welltypedRawtable-false-INV, welltypedRawtable-true-INV, welltypedRow-0, % 40.23/6.17 welltypedRow-1, welltypedRow-2, welltypedRow-false-INV, welltypedRow-true-INV, % 40.23/6.17 welltypedtable-0, welltypedtable-false-INV, welltypedtable-true-INV % 40.23/6.17 % 40.23/6.17 Those formulas are unsatisfiable: % 40.23/6.17 --------------------------------- % 40.23/6.17 % 40.23/6.17 Begin of proof % 40.23/6.17 | % 40.23/6.17 | ALPHA: (isSomeQuery-0) implies: % 40.23/6.17 | (1) ? [v0: int] : ( ~ (v0 = 0) & visSomeQuery(vnoQuery) = v0) % 40.23/6.17 | % 40.23/6.17 | ALPHA: (isSomeQuery-false-INV) implies: % 40.23/6.17 | (2) ! [v0: vOptQuery] : ! [v1: int] : (v1 = 0 | v0 = vnoQuery | ~ % 40.23/6.17 | (visSomeQuery(v0) = v1) | ~ vOptQuery(v0)) % 40.23/6.17 | % 40.23/6.17 | ALPHA: (reduce-16) implies: % 40.23/6.17 | (3) ! [v0: vTable] : ! [v1: vQuery] : ! [v2: vTStore] : ! [v3: vQuery] % 40.23/6.17 | : ! [v4: vQuery] : ! [v5: vOptQuery] : (v5 = vnoQuery | ~ % 40.23/6.17 | (vreduce(v4, v2) = v5) | ~ (vDifference(v3, v1) = v4) | ~ % 40.23/6.17 | (vtvalue(v0) = v3) | ~ vTable(v0) | ~ vTStore(v2) | ~ vQuery(v1) | % 40.23/6.17 | ? [v6: vOptQuery] : ? [v7: int] : ? [v8: vTable] : ? [v9: vTable] % 40.23/6.17 | : ? [v10: vQuery] : (vTable(v9) & vTable(v8) & ((v10 = v1 & v8 = v0 % 40.23/6.17 | & vtvalue(v9) = v1) | (v7 = 0 & vreduce(v1, v2) = v6 & % 40.23/6.17 | visSomeQuery(v6) = 0 & vOptQuery(v6))))) % 40.23/6.17 | % 40.23/6.17 | ALPHA: (Preservation-Difference-IH0) implies: % 40.23/6.18 | (4) ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! [v3: % 40.23/6.18 | vQuery] : ! [v4: int] : (v4 = 0 | ~ (vptcheck(v1, v3, v2) = v4) | % 40.23/6.18 | ~ (vstoreContextConsistent(v0, v1) = 0) | ~ vTType(v2) | ~ % 40.23/6.18 | vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? [v5: any] : ? % 40.23/6.18 | [v6: vOptQuery] : ? [v7: vOptQuery] : (vptcheck(v1, vq1, v2) = v5 & % 40.23/6.18 | vreduce(vq1, v0) = v6 & vsomeQuery(v3) = v7 & vOptQuery(v7) & % 40.23/6.18 | vOptQuery(v6) & ( ~ (v7 = v6) | ~ (v5 = 0)))) % 40.23/6.18 | % 40.23/6.18 | ALPHA: (Preservation-Difference-IH1) implies: % 40.23/6.18 | (5) ! [v0: vTStore] : ! [v1: vTTContext] : ! [v2: vTType] : ! [v3: % 40.23/6.18 | vQuery] : ! [v4: int] : (v4 = 0 | ~ (vptcheck(v1, v3, v2) = v4) | % 40.23/6.18 | ~ (vstoreContextConsistent(v0, v1) = 0) | ~ vTType(v2) | ~ % 40.23/6.18 | vTStore(v0) | ~ vQuery(v3) | ~ vTTContext(v1) | ? [v5: any] : ? % 40.23/6.18 | [v6: vOptQuery] : ? [v7: vOptQuery] : (vptcheck(v1, vq2, v2) = v5 & % 40.23/6.18 | vreduce(vq2, v0) = v6 & vsomeQuery(v3) = v7 & vOptQuery(v7) & % 40.23/6.18 | vOptQuery(v6) & ( ~ (v7 = v6) | ~ (v5 = 0)))) % 40.23/6.18 | % 40.23/6.18 | ALPHA: (Preservation-Difference-tvalue-q2-isSomeQuery-False) implies: % 40.23/6.18 | (6) vQuery(vq1) % 40.23/6.18 | (7) vQuery(vq2) % 40.23/6.18 | (8) ? [v0: vQuery] : ? [v1: vQuery] : ? [v2: vTable] : ? [v3: % 40.23/6.18 | vTTContext] : ? [v4: vTStore] : ? [v5: vTType] : ? [v6: vOptQuery] % 40.23/6.18 | : ? [v7: int] : ? [v8: vOptQuery] : ? [v9: int] : ( ~ (v9 = 0) & ~ % 40.23/6.18 | (v7 = 0) & vptcheck(v3, v1, v5) = v9 & vptcheck(v3, v0, v5) = 0 & % 40.23/6.18 | vstoreContextConsistent(v4, v3) = 0 & vreduce(v0, v4) = v8 & % 40.23/6.18 | vreduce(vq2, v4) = v6 & visSomeQuery(v6) = v7 & vsomeQuery(v1) = v8 & % 40.23/6.18 | vDifference(vq1, vq2) = v0 & vtvalue(v2) = vq1 & vOptQuery(v8) & % 40.23/6.18 | vOptQuery(v6) & vTType(v5) & vTable(v2) & vTStore(v4) & vQuery(v1) & % 40.23/6.18 | vQuery(v0) & vTTContext(v3) & ! [v10: vTable] : ( ~ (vtvalue(v10) = % 40.23/6.18 | vq2) | ~ vTable(v10))) % 40.23/6.18 | % 40.23/6.18 | ALPHA: (function-axioms) implies: % 40.23/6.18 | (9) ! [v0: vOptQuery] : ! [v1: vOptQuery] : ! [v2: vQuery] : (v1 = v0 | % 40.23/6.18 | ~ (vsomeQuery(v2) = v1) | ~ (vsomeQuery(v2) = v0)) % 40.23/6.18 | (10) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: % 40.23/6.18 | vOptQuery] : (v1 = v0 | ~ (visSomeQuery(v2) = v1) | ~ % 40.23/6.18 | (visSomeQuery(v2) = v0)) % 40.23/6.18 | (11) ! [v0: vOptQuery] : ! [v1: vOptQuery] : ! [v2: vTStore] : ! [v3: % 40.23/6.18 | vQuery] : (v1 = v0 | ~ (vreduce(v3, v2) = v1) | ~ (vreduce(v3, v2) % 40.23/6.18 | = v0)) % 40.23/6.18 | (12) ! [v0: MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: % 40.23/6.18 | vTType] : ! [v3: vQuery] : ! [v4: vTTContext] : (v1 = v0 | ~ % 40.23/6.18 | (vptcheck(v4, v3, v2) = v1) | ~ (vptcheck(v4, v3, v2) = v0)) % 40.23/6.18 | % 40.23/6.18 | DELTA: instantiating (1) with fresh symbol all_307_0 gives: % 40.23/6.18 | (13) ~ (all_307_0 = 0) & visSomeQuery(vnoQuery) = all_307_0 % 40.23/6.18 | % 40.23/6.18 | ALPHA: (13) implies: % 40.23/6.18 | (14) visSomeQuery(vnoQuery) = all_307_0 % 40.23/6.18 | % 40.23/6.18 | DELTA: instantiating (8) with fresh symbols all_335_0, all_335_1, all_335_2, % 40.23/6.18 | all_335_3, all_335_4, all_335_5, all_335_6, all_335_7, all_335_8, % 40.23/6.18 | all_335_9 gives: % 40.23/6.18 | (15) ~ (all_335_0 = 0) & ~ (all_335_2 = 0) & vptcheck(all_335_6, % 40.23/6.18 | all_335_8, all_335_4) = all_335_0 & vptcheck(all_335_6, all_335_9, % 40.23/6.18 | all_335_4) = 0 & vstoreContextConsistent(all_335_5, all_335_6) = 0 & % 40.23/6.18 | vreduce(all_335_9, all_335_5) = all_335_1 & vreduce(vq2, all_335_5) = % 40.23/6.18 | all_335_3 & visSomeQuery(all_335_3) = all_335_2 & % 40.23/6.18 | vsomeQuery(all_335_8) = all_335_1 & vDifference(vq1, vq2) = all_335_9 % 40.23/6.18 | & vtvalue(all_335_7) = vq1 & vOptQuery(all_335_1) & % 40.23/6.18 | vOptQuery(all_335_3) & vTType(all_335_4) & vTable(all_335_7) & % 40.23/6.18 | vTStore(all_335_5) & vQuery(all_335_8) & vQuery(all_335_9) & % 40.23/6.18 | vTTContext(all_335_6) & ! [v0: vTable] : ( ~ (vtvalue(v0) = vq2) | ~ % 40.23/6.18 | vTable(v0)) % 40.23/6.18 | % 40.23/6.18 | ALPHA: (15) implies: % 40.23/6.18 | (16) ~ (all_335_2 = 0) % 40.23/6.18 | (17) ~ (all_335_0 = 0) % 40.23/6.18 | (18) vTTContext(all_335_6) % 40.23/6.18 | (19) vQuery(all_335_8) % 40.23/6.18 | (20) vTStore(all_335_5) % 40.23/6.18 | (21) vTable(all_335_7) % 40.23/6.18 | (22) vTType(all_335_4) % 40.23/6.18 | (23) vOptQuery(all_335_3) % 40.23/6.18 | (24) vtvalue(all_335_7) = vq1 % 40.23/6.18 | (25) vDifference(vq1, vq2) = all_335_9 % 40.23/6.19 | (26) vsomeQuery(all_335_8) = all_335_1 % 40.23/6.19 | (27) visSomeQuery(all_335_3) = all_335_2 % 40.23/6.19 | (28) vreduce(vq2, all_335_5) = all_335_3 % 40.23/6.19 | (29) vreduce(all_335_9, all_335_5) = all_335_1 % 40.23/6.19 | (30) vstoreContextConsistent(all_335_5, all_335_6) = 0 % 40.23/6.19 | (31) vptcheck(all_335_6, all_335_9, all_335_4) = 0 % 40.23/6.19 | (32) vptcheck(all_335_6, all_335_8, all_335_4) = all_335_0 % 40.23/6.19 | (33) ! [v0: vTable] : ( ~ (vtvalue(v0) = vq2) | ~ vTable(v0)) % 40.23/6.19 | % 40.23/6.19 | GROUND_INST: instantiating (2) with all_335_3, all_335_2, simplifying with % 40.23/6.19 | (23), (27) gives: % 40.23/6.19 | (34) all_335_2 = 0 | all_335_3 = vnoQuery % 40.23/6.19 | % 40.23/6.19 | GROUND_INST: instantiating (3) with all_335_7, vq2, all_335_5, vq1, all_335_9, % 40.23/6.19 | all_335_1, simplifying with (7), (20), (21), (24), (25), (29) % 40.23/6.19 | gives: % 40.23/6.19 | (35) all_335_1 = vnoQuery | ? [v0: vOptQuery] : ? [v1: int] : ? [v2: % 40.23/6.19 | vTable] : ? [v3: vTable] : ? [v4: vQuery] : (vTable(v3) & % 40.23/6.19 | vTable(v2) & ((v4 = vq2 & v2 = all_335_7 & vtvalue(v3) = vq2) | (v1 % 40.23/6.19 | = 0 & vreduce(vq2, all_335_5) = v0 & visSomeQuery(v0) = 0 & % 40.23/6.19 | vOptQuery(v0)))) % 40.23/6.19 | % 40.23/6.19 | GROUND_INST: instantiating (TDifference_inv2) with all_335_6, vq1, vq2, % 40.23/6.19 | all_335_4, all_335_9, simplifying with (6), (7), (18), (22), % 40.23/6.19 | (25), (31) gives: % 40.23/6.19 | (36) vptcheck(all_335_6, vq2, all_335_4) = 0 % 40.23/6.19 | % 40.23/6.19 | GROUND_INST: instantiating (5) with all_335_5, all_335_6, all_335_4, % 40.23/6.19 | all_335_8, all_335_0, simplifying with (18), (19), (20), (22), % 40.23/6.19 | (30), (32) gives: % 40.23/6.19 | (37) all_335_0 = 0 | ? [v0: any] : ? [v1: vOptQuery] : ? [v2: vOptQuery] % 40.23/6.19 | : (vptcheck(all_335_6, vq2, all_335_4) = v0 & vreduce(vq2, all_335_5) % 40.23/6.19 | = v1 & vsomeQuery(all_335_8) = v2 & vOptQuery(v2) & vOptQuery(v1) & % 40.23/6.19 | ( ~ (v2 = v1) | ~ (v0 = 0))) % 40.23/6.19 | % 40.23/6.19 | GROUND_INST: instantiating (4) with all_335_5, all_335_6, all_335_4, % 40.23/6.19 | all_335_8, all_335_0, simplifying with (18), (19), (20), (22), % 40.23/6.19 | (30), (32) gives: % 40.23/6.19 | (38) all_335_0 = 0 | ? [v0: any] : ? [v1: vOptQuery] : ? [v2: vOptQuery] % 40.23/6.19 | : (vptcheck(all_335_6, vq1, all_335_4) = v0 & vreduce(vq1, all_335_5) % 40.23/6.19 | = v1 & vsomeQuery(all_335_8) = v2 & vOptQuery(v2) & vOptQuery(v1) & % 40.23/6.19 | ( ~ (v2 = v1) | ~ (v0 = 0))) % 40.23/6.19 | % 40.23/6.19 | BETA: splitting (37) gives: % 40.23/6.19 | % 40.23/6.19 | Case 1: % 40.23/6.19 | | % 40.23/6.19 | | (39) all_335_0 = 0 % 40.23/6.19 | | % 40.23/6.19 | | REDUCE: (17), (39) imply: % 40.23/6.19 | | (40) $false % 40.23/6.19 | | % 40.23/6.19 | | CLOSE: (40) is inconsistent. % 40.23/6.19 | | % 40.23/6.19 | Case 2: % 40.23/6.19 | | % 40.23/6.19 | | (41) ? [v0: any] : ? [v1: vOptQuery] : ? [v2: vOptQuery] : % 40.23/6.19 | | (vptcheck(all_335_6, vq2, all_335_4) = v0 & vreduce(vq2, all_335_5) % 40.23/6.19 | | = v1 & vsomeQuery(all_335_8) = v2 & vOptQuery(v2) & vOptQuery(v1) % 40.23/6.19 | | & ( ~ (v2 = v1) | ~ (v0 = 0))) % 40.23/6.19 | | % 40.23/6.19 | | DELTA: instantiating (41) with fresh symbols all_381_0, all_381_1, all_381_2 % 40.23/6.19 | | gives: % 40.23/6.19 | | (42) vptcheck(all_335_6, vq2, all_335_4) = all_381_2 & vreduce(vq2, % 40.23/6.19 | | all_335_5) = all_381_1 & vsomeQuery(all_335_8) = all_381_0 & % 40.23/6.19 | | vOptQuery(all_381_0) & vOptQuery(all_381_1) & ( ~ (all_381_0 = % 40.23/6.19 | | all_381_1) | ~ (all_381_2 = 0)) % 40.23/6.19 | | % 40.23/6.19 | | ALPHA: (42) implies: % 40.23/6.19 | | (43) vsomeQuery(all_335_8) = all_381_0 % 40.23/6.19 | | (44) vreduce(vq2, all_335_5) = all_381_1 % 40.23/6.19 | | (45) vptcheck(all_335_6, vq2, all_335_4) = all_381_2 % 40.23/6.19 | | (46) ~ (all_381_0 = all_381_1) | ~ (all_381_2 = 0) % 40.23/6.19 | | % 40.23/6.19 | | BETA: splitting (38) gives: % 40.23/6.19 | | % 40.23/6.19 | | Case 1: % 40.23/6.19 | | | % 40.23/6.19 | | | (47) all_335_0 = 0 % 40.23/6.19 | | | % 40.23/6.19 | | | REDUCE: (17), (47) imply: % 40.23/6.19 | | | (48) $false % 40.23/6.19 | | | % 40.23/6.19 | | | CLOSE: (48) is inconsistent. % 40.23/6.19 | | | % 40.23/6.19 | | Case 2: % 40.23/6.19 | | | % 40.23/6.19 | | | (49) ? [v0: any] : ? [v1: vOptQuery] : ? [v2: vOptQuery] : % 40.23/6.19 | | | (vptcheck(all_335_6, vq1, all_335_4) = v0 & vreduce(vq1, % 40.23/6.19 | | | all_335_5) = v1 & vsomeQuery(all_335_8) = v2 & vOptQuery(v2) & % 40.23/6.19 | | | vOptQuery(v1) & ( ~ (v2 = v1) | ~ (v0 = 0))) % 40.23/6.19 | | | % 40.23/6.19 | | | DELTA: instantiating (49) with fresh symbols all_386_0, all_386_1, % 40.23/6.19 | | | all_386_2 gives: % 40.23/6.20 | | | (50) vptcheck(all_335_6, vq1, all_335_4) = all_386_2 & vreduce(vq1, % 40.23/6.20 | | | all_335_5) = all_386_1 & vsomeQuery(all_335_8) = all_386_0 & % 40.23/6.20 | | | vOptQuery(all_386_0) & vOptQuery(all_386_1) & ( ~ (all_386_0 = % 40.23/6.20 | | | all_386_1) | ~ (all_386_2 = 0)) % 40.23/6.20 | | | % 40.23/6.20 | | | ALPHA: (50) implies: % 40.23/6.20 | | | (51) vsomeQuery(all_335_8) = all_386_0 % 40.23/6.20 | | | % 40.23/6.20 | | | BETA: splitting (34) gives: % 40.23/6.20 | | | % 40.23/6.20 | | | Case 1: % 40.23/6.20 | | | | % 40.23/6.20 | | | | (52) all_335_2 = 0 % 40.23/6.20 | | | | % 40.23/6.20 | | | | REDUCE: (16), (52) imply: % 40.23/6.20 | | | | (53) $false % 40.23/6.20 | | | | % 40.23/6.20 | | | | CLOSE: (53) is inconsistent. % 40.23/6.20 | | | | % 40.23/6.20 | | | Case 2: % 40.23/6.20 | | | | % 40.23/6.20 | | | | (54) all_335_3 = vnoQuery % 40.23/6.20 | | | | % 40.23/6.20 | | | | REDUCE: (28), (54) imply: % 40.23/6.20 | | | | (55) vreduce(vq2, all_335_5) = vnoQuery % 40.23/6.20 | | | | % 40.23/6.20 | | | | REDUCE: (27), (54) imply: % 40.23/6.20 | | | | (56) visSomeQuery(vnoQuery) = all_335_2 % 40.23/6.20 | | | | % 40.23/6.20 | | | | GROUND_INST: instantiating (9) with all_335_1, all_386_0, all_335_8, % 40.23/6.20 | | | | simplifying with (26), (51) gives: % 40.23/6.20 | | | | (57) all_386_0 = all_335_1 % 40.23/6.20 | | | | % 40.23/6.20 | | | | GROUND_INST: instantiating (9) with all_381_0, all_386_0, all_335_8, % 40.23/6.20 | | | | simplifying with (43), (51) gives: % 40.23/6.20 | | | | (58) all_386_0 = all_381_0 % 40.23/6.20 | | | | % 40.23/6.20 | | | | GROUND_INST: instantiating (10) with all_307_0, all_335_2, vnoQuery, % 40.23/6.20 | | | | simplifying with (14), (56) gives: % 40.23/6.20 | | | | (59) all_335_2 = all_307_0 % 40.23/6.20 | | | | % 40.23/6.20 | | | | GROUND_INST: instantiating (11) with vnoQuery, all_381_1, all_335_5, % 40.23/6.20 | | | | vq2, simplifying with (44), (55) gives: % 40.23/6.20 | | | | (60) all_381_1 = vnoQuery % 40.23/6.20 | | | | % 40.57/6.20 | | | | GROUND_INST: instantiating (12) with 0, all_381_2, all_335_4, vq2, % 40.57/6.20 | | | | all_335_6, simplifying with (36), (45) gives: % 40.57/6.20 | | | | (61) all_381_2 = 0 % 40.57/6.20 | | | | % 40.57/6.20 | | | | COMBINE_EQS: (57), (58) imply: % 40.57/6.20 | | | | (62) all_381_0 = all_335_1 % 40.57/6.20 | | | | % 40.57/6.20 | | | | REDUCE: (16), (59) imply: % 40.57/6.20 | | | | (63) ~ (all_307_0 = 0) % 40.57/6.20 | | | | % 40.57/6.20 | | | | BETA: splitting (46) gives: % 40.57/6.20 | | | | % 40.57/6.20 | | | | Case 1: % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | (64) ~ (all_381_2 = 0) % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | REDUCE: (61), (64) imply: % 40.57/6.20 | | | | | (65) $false % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | CLOSE: (65) is inconsistent. % 40.57/6.20 | | | | | % 40.57/6.20 | | | | Case 2: % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | (66) ~ (all_381_0 = all_381_1) % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | REDUCE: (60), (62), (66) imply: % 40.57/6.20 | | | | | (67) ~ (all_335_1 = vnoQuery) % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | BETA: splitting (35) gives: % 40.57/6.20 | | | | | % 40.57/6.20 | | | | | Case 1: % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | (68) all_335_1 = vnoQuery % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | REDUCE: (67), (68) imply: % 40.57/6.20 | | | | | | (69) $false % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | CLOSE: (69) is inconsistent. % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | Case 2: % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | (70) ? [v0: vOptQuery] : ? [v1: int] : ? [v2: vTable] : ? % 40.57/6.20 | | | | | | [v3: vTable] : ? [v4: vQuery] : (vTable(v3) & vTable(v2) & % 40.57/6.20 | | | | | | ((v4 = vq2 & v2 = all_335_7 & vtvalue(v3) = vq2) | (v1 = 0 % 40.57/6.20 | | | | | | & vreduce(vq2, all_335_5) = v0 & visSomeQuery(v0) = 0 % 40.57/6.20 | | | | | | & vOptQuery(v0)))) % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | DELTA: instantiating (70) with fresh symbols all_407_0, all_407_1, % 40.57/6.20 | | | | | | all_407_2, all_407_3, all_407_4 gives: % 40.57/6.20 | | | | | | (71) vTable(all_407_1) & vTable(all_407_2) & ((all_407_0 = vq2 & % 40.57/6.20 | | | | | | all_407_2 = all_335_7 & vtvalue(all_407_1) = vq2) | % 40.57/6.20 | | | | | | (all_407_3 = 0 & vreduce(vq2, all_335_5) = all_407_4 & % 40.57/6.20 | | | | | | visSomeQuery(all_407_4) = 0 & vOptQuery(all_407_4))) % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | ALPHA: (71) implies: % 40.57/6.20 | | | | | | (72) vTable(all_407_1) % 40.57/6.20 | | | | | | (73) (all_407_0 = vq2 & all_407_2 = all_335_7 & % 40.57/6.20 | | | | | | vtvalue(all_407_1) = vq2) | (all_407_3 = 0 & vreduce(vq2, % 40.57/6.20 | | | | | | all_335_5) = all_407_4 & visSomeQuery(all_407_4) = 0 & % 40.57/6.20 | | | | | | vOptQuery(all_407_4)) % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | BETA: splitting (73) gives: % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | | Case 1: % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | (74) all_407_0 = vq2 & all_407_2 = all_335_7 & % 40.57/6.20 | | | | | | | vtvalue(all_407_1) = vq2 % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | ALPHA: (74) implies: % 40.57/6.20 | | | | | | | (75) vtvalue(all_407_1) = vq2 % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | GROUND_INST: instantiating (33) with all_407_1, simplifying with % 40.57/6.20 | | | | | | | (72), (75) gives: % 40.57/6.20 | | | | | | | (76) $false % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | CLOSE: (76) is inconsistent. % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | Case 2: % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | (77) all_407_3 = 0 & vreduce(vq2, all_335_5) = all_407_4 & % 40.57/6.20 | | | | | | | visSomeQuery(all_407_4) = 0 & vOptQuery(all_407_4) % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | ALPHA: (77) implies: % 40.57/6.20 | | | | | | | (78) visSomeQuery(all_407_4) = 0 % 40.57/6.20 | | | | | | | (79) vreduce(vq2, all_335_5) = all_407_4 % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | GROUND_INST: instantiating (11) with vnoQuery, all_407_4, % 40.57/6.20 | | | | | | | all_335_5, vq2, simplifying with (55), (79) gives: % 40.57/6.20 | | | | | | | (80) all_407_4 = vnoQuery % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | REDUCE: (78), (80) imply: % 40.57/6.20 | | | | | | | (81) visSomeQuery(vnoQuery) = 0 % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | GROUND_INST: instantiating (10) with all_307_0, 0, vnoQuery, % 40.57/6.20 | | | | | | | simplifying with (14), (81) gives: % 40.57/6.20 | | | | | | | (82) all_307_0 = 0 % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | REDUCE: (63), (82) imply: % 40.57/6.20 | | | | | | | (83) $false % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | | CLOSE: (83) is inconsistent. % 40.57/6.20 | | | | | | | % 40.57/6.20 | | | | | | End of split % 40.57/6.20 | | | | | | % 40.57/6.20 | | | | | End of split % 40.57/6.20 | | | | | % 40.57/6.20 | | | | End of split % 40.57/6.20 | | | | % 40.57/6.20 | | | End of split % 40.57/6.20 | | | % 40.57/6.20 | | End of split % 40.57/6.20 | | % 40.57/6.20 | End of split % 40.57/6.20 | % 40.57/6.20 End of proof % 40.57/6.20 % SZS output end Proof for theBenchmark % 40.57/6.20 % 40.57/6.20 5545ms %------------------------------------------------------------------------------