%------------------------------------------------------------------------------ % File : Princess---230619 % Problem : COM253_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 : n025.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:38 PM UTC 2026 % Result : Theorem 29.96s 4.63s % Output : Proof 41.60s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : COM253_1 : TPTP v9.3.0. Released v9.3.0. % 0.00/0.12 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s % 0.16/0.34 % Computer : n025.cluster.edu % 0.16/0.34 % Model : x86_64 x86_64 % 0.16/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.16/0.34 % Memory : 8042.1875MB % 0.16/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.16/0.34 % CPULimit : 300 % 0.16/0.34 % WCLimit : 300 % 0.16/0.34 % DateTime : Mon May 4 19:45:13 EDT 2026 % 0.16/0.34 % CPUTime : % 0.52/0.59 ________ _____ % 0.52/0.59 ___ __ \_________(_)________________________________ % 0.52/0.59 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/ % 0.52/0.59 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ ) % 0.52/0.59 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/ % 0.52/0.59 % 0.52/0.59 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic % 0.52/0.59 (2023-06-19) % 0.52/0.59 % 0.52/0.59 (c) Philipp Rümmer, 2009-2023 % 0.52/0.59 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen, % 0.52/0.59 Amanda Stjerna. % 0.52/0.59 Free software under BSD-3-Clause. % 0.52/0.59 % 0.52/0.59 For more information, visit http://www.philipp.ruemmer.org/princess.shtml % 0.52/0.59 % 0.52/0.59 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ... % 0.52/0.60 Running up to 7 provers in parallel. % 0.52/0.62 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893 % 0.52/0.62 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423 % 0.52/0.62 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994 % 0.52/0.62 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996 % 0.52/0.62 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696 % 0.52/0.62 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288 % 0.52/0.62 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365 % 9.16/1.98 Prover 4: Preprocessing ... % 10.07/2.11 Prover 3: Preprocessing ... % 10.07/2.11 Prover 6: Preprocessing ... % 10.07/2.11 Prover 5: Preprocessing ... % 10.83/2.14 Prover 2: Preprocessing ... % 10.83/2.14 Prover 1: Preprocessing ... % 10.83/2.14 Prover 0: Preprocessing ... % 24.61/3.98 Prover 1: Warning: ignoring some quantifiers % 25.51/4.08 Prover 3: Warning: ignoring some quantifiers % 25.51/4.11 Prover 3: Constructing countermodel ... % 26.31/4.13 Prover 6: Proving ... % 26.31/4.13 Prover 1: Constructing countermodel ... % 28.41/4.45 Prover 5: Proving ... % 28.41/4.47 Prover 4: Warning: ignoring some quantifiers % 29.96/4.61 Prover 4: Constructing countermodel ... % 29.96/4.62 Prover 3: proved (4006ms) % 29.96/4.62 % 29.96/4.63 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 29.96/4.63 % 29.96/4.63 Prover 6: stopped % 29.96/4.64 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470 % 29.96/4.64 Prover 5: stopped % 29.96/4.64 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089 % 29.96/4.65 Prover 10: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125 % 29.96/4.67 Prover 0: Proving ... % 29.96/4.68 Prover 0: stopped % 29.96/4.68 Prover 11: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984 % 33.94/5.16 Prover 2: Proving ... % 33.94/5.17 Prover 2: stopped % 34.55/5.21 Prover 13: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443 % 35.34/5.35 Prover 7: Preprocessing ... % 36.13/5.40 Prover 10: Preprocessing ... % 36.91/5.53 Prover 8: Preprocessing ... % 36.91/5.54 Prover 1: Found proof (size 33) % 36.91/5.54 Prover 1: proved (4932ms) % 36.91/5.54 Prover 4: stopped % 36.91/5.55 Prover 11: Preprocessing ... % 38.44/5.72 Prover 13: Preprocessing ... % 38.44/5.74 Prover 10: stopped % 38.44/5.76 Prover 7: stopped % 39.13/5.86 Prover 11: stopped % 40.30/6.04 Prover 13: stopped % 40.80/6.14 Prover 8: Warning: ignoring some quantifiers % 40.80/6.17 Prover 8: Constructing countermodel ... % 40.80/6.19 Prover 8: stopped % 40.80/6.19 % 40.80/6.19 % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p % 40.80/6.19 % 41.16/6.20 % SZS output start Proof for theBenchmark % 41.16/6.23 Assumptions after simplification: % 41.16/6.23 --------------------------------- % 41.16/6.23 % 41.16/6.23 (lookupAnsMapPreservation-abind) % 41.16/6.27 vAnsMap(vam1) & ? [v0: vQID] : ? [v1: vAval] : ? [v2: vAType] : ? [v3: % 41.16/6.27 vAval] : ? [v4: vQID] : ? [v5: vAnsMap] : ? [v6: vATMap] : ? [v7: % 41.16/6.27 vOptAType] : ? [v8: vOptAval] : ? [v9: vAType] : ( ~ (v9 = v2) & % 41.16/6.27 vtypeAM(v5) = v6 & vlookupATMap(v4, v6) = v7 & vlookupAnsMap(v4, v5) = v8 & % 41.16/6.27 vtypeOf(v3) = v9 & vsomeAval(v3) = v8 & vabind(v0, v1, vam1) = v5 & % 41.16/6.27 vsomeAType(v2) = v7 & vAType(v9) & vAType(v2) & vOptAval(v8) & vQID(v4) & % 41.16/6.27 vQID(v0) & vAnsMap(v5) & vAval(v3) & vAval(v1) & vATMap(v6) & vOptAType(v7)) % 41.16/6.27 % 41.16/6.27 (lookupAnsMapPreservation-abind-qid-qid1-False) % 41.16/6.28 vAnsMap(vam1) & ! [v0: vQID] : ! [v1: vAval] : ! [v2: vAType] : ! [v3: % 41.16/6.28 vAval] : ! [v4: vQID] : ! [v5: vAnsMap] : ! [v6: vATMap] : ! [v7: % 41.16/6.28 vOptAType] : ! [v8: vAType] : (v8 = v2 | v4 = v0 | ~ (vtypeAM(v5) = v6) | % 41.16/6.28 ~ (vlookupATMap(v4, v6) = v7) | ~ (vtypeOf(v3) = v8) | ~ (vabind(v0, v1, % 41.16/6.28 vam1) = v5) | ~ (vsomeAType(v2) = v7) | ~ vAType(v2) | ~ vQID(v4) | % 41.16/6.28 ~ vQID(v0) | ~ vAval(v3) | ~ vAval(v1) | ? [v9: vOptAval] : ? [v10: % 41.16/6.28 vOptAval] : ( ~ (v10 = v9) & vlookupAnsMap(v4, v5) = v9 & vsomeAval(v3) = % 41.16/6.28 v10 & vOptAval(v10) & vOptAval(v9))) % 41.16/6.28 % 41.16/6.28 (lookupAnsMapPreservation-abind-qid-qid1-True) % 41.16/6.28 vAnsMap(vam1) & ! [v0: vQID] : ! [v1: vAval] : ! [v2: vAType] : ! [v3: % 41.16/6.28 vAval] : ! [v4: vAnsMap] : ! [v5: vATMap] : ! [v6: vOptAType] : ! [v7: % 41.16/6.28 vAType] : (v7 = v2 | ~ (vtypeAM(v4) = v5) | ~ (vlookupATMap(v0, v5) = v6) % 41.16/6.28 | ~ (vtypeOf(v3) = v7) | ~ (vabind(v0, v1, vam1) = v4) | ~ % 41.16/6.28 (vsomeAType(v2) = v6) | ~ vAType(v2) | ~ vQID(v0) | ~ vAval(v3) | ~ % 41.16/6.28 vAval(v1) | ? [v8: vOptAval] : ? [v9: vOptAval] : ( ~ (v9 = v8) & % 41.16/6.28 vlookupAnsMap(v0, v4) = v8 & vsomeAval(v3) = v9 & vOptAval(v9) & % 41.16/6.28 vOptAval(v8))) % 41.16/6.28 % 41.16/6.28 (function-axioms) % 41.60/6.31 ! [v0: vQMap] : ! [v1: vQMap] : ! [v2: vQMap] : ! [v3: vAType] : ! [v4: % 41.60/6.31 vLabel] : ! [v5: vQID] : (v1 = v0 | ~ (vqmbind(v5, v4, v3, v2) = v1) | ~ % 41.60/6.31 (vqmbind(v5, v4, v3, v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 41.60/6.31 MultipleValueBool] : ! [v2: vMapConf] : ! [v3: vQuestionnaire] : ! [v4: % 41.60/6.31 vMapConf] : (v1 = v0 | ~ (vptcheck(v4, v3, v2) = v1) | ~ (vptcheck(v4, v3, % 41.60/6.31 v2) = v0)) & ! [v0: vOptAType] : ! [v1: vOptAType] : ! [v2: vAType] : % 41.60/6.31 ! [v3: vAType] : ! [v4: vBinOpT] : (v1 = v0 | ~ (vcheckBinOp(v4, v3, v2) = % 41.60/6.31 v1) | ~ (vcheckBinOp(v4, v3, v2) = v0)) & ! [v0: vOptQConf] : ! [v1: % 41.60/6.31 vOptQConf] : ! [v2: vQMap] : ! [v3: vAnsMap] : ! [v4: vQuestionnaire] : % 41.60/6.31 (v1 = v0 | ~ (vreduce(v4, v3, v2) = v1) | ~ (vreduce(v4, v3, v2) = v0)) & ! % 41.60/6.31 [v0: vOptExp] : ! [v1: vOptExp] : ! [v2: vAval] : ! [v3: vAval] : ! [v4: % 41.60/6.31 vBinOpT] : (v1 = v0 | ~ (vevalBinOp(v4, v3, v2) = v1) | ~ (vevalBinOp(v4, % 41.60/6.31 v3, v2) = v0)) & ! [v0: vQConf] : ! [v1: vQConf] : ! [v2: % 41.60/6.31 vQuestionnaire] : ! [v3: vQMap] : ! [v4: vAnsMap] : (v1 = v0 | ~ (vQC(v4, % 41.60/6.31 v3, v2) = v1) | ~ (vQC(v4, v3, v2) = v0)) & ! [v0: vATMap] : ! [v1: % 41.60/6.31 vATMap] : ! [v2: vATMap] : ! [v3: vAType] : ! [v4: vQID] : (v1 = v0 | ~ % 41.60/6.31 (vatmbind(v4, v3, v2) = v1) | ~ (vatmbind(v4, v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptQuestion] : ! [v1: vOptQuestion] : ! [v2: vAType] : ! [v3: vLabel] : % 41.60/6.31 ! [v4: vQID] : (v1 = v0 | ~ (vsomeQuestion(v4, v3, v2) = v1) | ~ % 41.60/6.31 (vsomeQuestion(v4, v3, v2) = v0)) & ! [v0: vAnsMap] : ! [v1: vAnsMap] : ! % 41.60/6.31 [v2: vAnsMap] : ! [v3: vAval] : ! [v4: vQID] : (v1 = v0 | ~ (vabind(v4, v3, % 41.60/6.31 v2) = v1) | ~ (vabind(v4, v3, v2) = v0)) & ! [v0: vQuestionnaire] : ! % 41.60/6.31 [v1: vQuestionnaire] : ! [v2: vQuestionnaire] : ! [v3: vQuestionnaire] : ! % 41.60/6.31 [v4: vExp] : (v1 = v0 | ~ (vqcond(v4, v3, v2) = v1) | ~ (vqcond(v4, v3, v2) % 41.60/6.31 = v0)) & ! [v0: vExp] : ! [v1: vExp] : ! [v2: vExp] : ! [v3: vBinOpT] % 41.60/6.31 : ! [v4: vExp] : (v1 = v0 | ~ (vbinop(v4, v3, v2) = v1) | ~ (vbinop(v4, v3, % 41.60/6.31 v2) = v0)) & ! [v0: vEntry] : ! [v1: vEntry] : ! [v2: vAType] : ! % 41.60/6.31 [v3: vLabel] : ! [v4: vQID] : (v1 = v0 | ~ (vdefquestion(v4, v3, v2) = v1) | % 41.60/6.31 ~ (vdefquestion(v4, v3, v2) = v0)) & ! [v0: vEntry] : ! [v1: vEntry] : ! % 41.60/6.31 [v2: vExp] : ! [v3: vAType] : ! [v4: vQID] : (v1 = v0 | ~ (vvalue(v4, v3, % 41.60/6.31 v2) = v1) | ~ (vvalue(v4, v3, v2) = v0)) & ! [v0: vEntry] : ! [v1: % 41.60/6.31 vEntry] : ! [v2: vAType] : ! [v3: vLabel] : ! [v4: vQID] : (v1 = v0 | ~ % 41.60/6.31 (vquestion(v4, v3, v2) = v1) | ~ (vquestion(v4, v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptAType] : ! [v1: vOptAType] : ! [v2: vExp] : ! [v3: vATMap] : (v1 = v0 % 41.60/6.31 | ~ (vecheck(v3, v2) = v1) | ~ (vecheck(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptAType] : ! [v1: vOptAType] : ! [v2: vAType] : ! [v3: vUnOpT] : (v1 = % 41.60/6.31 v0 | ~ (vcheckUnOp(v3, v2) = v1) | ~ (vcheckUnOp(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vATMap] : ! [v1: vATMap] : ! [v2: vATMap] : ! [v3: vATMap] : (v1 = v0 | % 41.60/6.31 ~ (vintersectATM(v3, v2) = v1) | ~ (vintersectATM(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vATMap] : ! [v1: vATMap] : ! [v2: vATMap] : ! [v3: vATMap] : (v1 = v0 | % 41.60/6.31 ~ (vappendATMap(v3, v2) = v1) | ~ (vappendATMap(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptAType] : ! [v1: vOptAType] : ! [v2: vATMap] : ! [v3: vQID] : (v1 = v0 % 41.60/6.31 | ~ (vlookupATMap(v3, v2) = v1) | ~ (vlookupATMap(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptExp] : ! [v1: vOptExp] : ! [v2: vAnsMap] : ! [v3: vExp] : (v1 = v0 | % 41.60/6.31 ~ (vreduceExp(v3, v2) = v1) | ~ (vreduceExp(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptExp] : ! [v1: vOptExp] : ! [v2: vAval] : ! [v3: vUnOpT] : (v1 = v0 | % 41.60/6.31 ~ (vevalUnOp(v3, v2) = v1) | ~ (vevalUnOp(v3, v2) = v0)) & ! [v0: vAval] : % 41.60/6.31 ! [v1: vAval] : ! [v2: vAType] : ! [v3: vLabel] : (v1 = v0 | ~ % 41.60/6.31 (vgetAnswer(v3, v2) = v1) | ~ (vgetAnswer(v3, v2) = v0)) & ! [v0: vQConf] % 41.60/6.31 : ! [v1: vQConf] : ! [v2: vQuestionnaire] : ! [v3: vQConf] : (v1 = v0 | ~ % 41.60/6.31 (vqcappend(v3, v2) = v1) | ~ (vqcappend(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vOptQuestion] : ! [v1: vOptQuestion] : ! [v2: vQMap] : ! [v3: vQID] : (v1 % 41.60/6.31 = v0 | ~ (vlookupQMap(v3, v2) = v1) | ~ (vlookupQMap(v3, v2) = v0)) & ! % 41.60/6.31 [v0: vAnsMap] : ! [v1: vAnsMap] : ! [v2: vAnsMap] : ! [v3: vAnsMap] : (v1 = % 41.60/6.31 v0 | ~ (vappendAnsMap(v3, v2) = v1) | ~ (vappendAnsMap(v3, v2) = v0)) & ! % 41.60/6.31 [v0: vOptAval] : ! [v1: vOptAval] : ! [v2: vAnsMap] : ! [v3: vQID] : (v1 = % 41.60/6.31 v0 | ~ (vlookupAnsMap(v3, v2) = v1) | ~ (vlookupAnsMap(v3, v2) = v0)) & ! % 41.60/6.31 [v0: vATList] : ! [v1: vATList] : ! [v2: vATList] : ! [v3: vATList] : (v1 = % 41.60/6.31 v0 | ~ (vappend(v3, v2) = v1) | ~ (vappend(v3, v2) = v0)) & ! [v0: vnat] % 41.60/6.31 : ! [v1: vnat] : ! [v2: vnat] : ! [v3: vnat] : (v1 = v0 | ~ (vdivide(v3, % 41.60/6.31 v2) = v1) | ~ (vdivide(v3, v2) = v0)) & ! [v0: vnat] : ! [v1: vnat] : % 41.60/6.31 ! [v2: vnat] : ! [v3: vnat] : (v1 = v0 | ~ (vmultiply(v3, v2) = v1) | ~ % 41.60/6.31 (vmultiply(v3, v2) = v0)) & ! [v0: vnat] : ! [v1: vnat] : ! [v2: vnat] : % 41.60/6.31 ! [v3: vnat] : (v1 = v0 | ~ (vminus(v3, v2) = v1) | ~ (vminus(v3, v2) = v0)) % 41.60/6.31 & ! [v0: vnat] : ! [v1: vnat] : ! [v2: vnat] : ! [v3: vnat] : (v1 = v0 | % 41.60/6.31 ~ (vplus(v3, v2) = v1) | ~ (vplus(v3, v2) = v0)) & ! [v0: vYN] : ! [v1: % 41.60/6.31 vYN] : ! [v2: vnat] : ! [v3: vnat] : (v1 = v0 | ~ (vlt(v3, v2) = v1) | ~ % 41.60/6.31 (vlt(v3, v2) = v0)) & ! [v0: vYN] : ! [v1: vYN] : ! [v2: vnat] : ! [v3: % 41.60/6.31 vnat] : (v1 = v0 | ~ (vgt(v3, v2) = v1) | ~ (vgt(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vYN] : ! [v1: vYN] : ! [v2: vYN] : ! [v3: vYN] : (v1 = v0 | ~ (vor(v3, % 41.60/6.31 v2) = v1) | ~ (vor(v3, v2) = v0)) & ! [v0: vYN] : ! [v1: vYN] : ! % 41.60/6.31 [v2: vYN] : ! [v3: vYN] : (v1 = v0 | ~ (vand(v3, v2) = v1) | ~ (vand(v3, % 41.60/6.31 v2) = v0)) & ! [v0: vstring] : ! [v1: vstring] : ! [v2: vstring] : ! % 41.60/6.31 [v3: vchar] : (v1 = v0 | ~ (vscons(v3, v2) = v1) | ~ (vscons(v3, v2) = v0)) % 41.60/6.31 & ! [v0: vATList] : ! [v1: vATList] : ! [v2: vATList] : ! [v3: vAType] : % 41.60/6.31 (v1 = v0 | ~ (vatcons(v3, v2) = v1) | ~ (vatcons(v3, v2) = v0)) & ! [v0: % 41.60/6.31 vQuestionnaire] : ! [v1: vQuestionnaire] : ! [v2: vQuestionnaire] : ! % 41.60/6.31 [v3: vGID] : (v1 = v0 | ~ (vqgroup(v3, v2) = v1) | ~ (vqgroup(v3, v2) = v0)) % 41.60/6.31 & ! [v0: vQuestionnaire] : ! [v1: vQuestionnaire] : ! [v2: vQuestionnaire] % 41.60/6.31 : ! [v3: vQuestionnaire] : (v1 = v0 | ~ (vqseq(v3, v2) = v1) | ~ (vqseq(v3, % 41.60/6.31 v2) = v0)) & ! [v0: vExp] : ! [v1: vExp] : ! [v2: vExp] : ! [v3: % 41.60/6.31 vUnOpT] : (v1 = v0 | ~ (vunop(v3, v2) = v1) | ~ (vunop(v3, v2) = v0)) & ! % 41.60/6.31 [v0: vMapConf] : ! [v1: vMapConf] : ! [v2: vATMap] : ! [v3: vATMap] : (v1 = % 41.60/6.31 v0 | ~ (vMC(v3, v2) = v1) | ~ (vMC(v3, v2) = v0)) & ! [v0: vATMap] : ! % 41.60/6.31 [v1: vATMap] : ! [v2: vQMap] : (v1 = v0 | ~ (vtypeQM(v2) = v1) | ~ % 41.60/6.31 (vtypeQM(v2) = v0)) & ! [v0: vATMap] : ! [v1: vATMap] : ! [v2: vAnsMap] : % 41.60/6.31 (v1 = v0 | ~ (vtypeAM(v2) = v1) | ~ (vtypeAM(v2) = v0)) & ! [v0: % 41.60/6.31 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptMapConf] : (v1 % 41.60/6.31 = v0 | ~ (visSomeMapConf(v2) = v1) | ~ (visSomeMapConf(v2) = v0)) & ! % 41.60/6.31 [v0: vstring] : ! [v1: vstring] : ! [v2: vLabel] : (v1 = v0 | ~ % 41.60/6.31 (vaskText(v2) = v1) | ~ (vaskText(v2) = v0)) & ! [v0: vnat] : ! [v1: % 41.60/6.31 vnat] : ! [v2: vLabel] : (v1 = v0 | ~ (vaskNumber(v2) = v1) | ~ % 41.60/6.31 (vaskNumber(v2) = v0)) & ! [v0: vYN] : ! [v1: vYN] : ! [v2: vLabel] : (v1 % 41.60/6.31 = v0 | ~ (vaskYesNo(v2) = v1) | ~ (vaskYesNo(v2) = v0)) & ! [v0: % 41.60/6.31 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vExp] : (v1 = v0 | % 41.60/6.31 ~ (vexpIsValue(v2) = v1) | ~ (vexpIsValue(v2) = v0)) & ! [v0: % 41.60/6.31 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptExp] : (v1 = % 41.60/6.31 v0 | ~ (visSomeExp(v2) = v1) | ~ (visSomeExp(v2) = v0)) & ! [v0: % 41.60/6.31 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vOptQConf] : (v1 = % 41.60/6.31 v0 | ~ (visSomeQC(v2) = v1) | ~ (visSomeQC(v2) = v0)) & ! [v0: % 41.60/6.31 MultipleValueBool] : ! [v1: MultipleValueBool] : ! [v2: vQuestionnaire] : % 41.60/6.31 (v1 = v0 | ~ (visValue(v2) = v1) | ~ (visValue(v2) = v0)) & ! [v0: % 41.60/6.31 vQuestionnaire] : ! [v1: vQuestionnaire] : ! [v2: vQConf] : (v1 = v0 | ~ % 41.60/6.31 (vgetQuest(v2) = v1) | ~ (vgetQuest(v2) = v0)) & ! [v0: vQMap] : ! [v1: % 41.60/6.31 vQMap] : ! [v2: vQConf] : (v1 = v0 | ~ (vgetQM(v2) = v1) | ~ (vgetQM(v2) % 41.60/6.31 = v0)) & ! [v0: vAnsMap] : ! [v1: vAnsMap] : ! [v2: vQConf] : (v1 = v0 % 41.60/6.31 | ~ (vgetAM(v2) = v1) | ~ (vgetAM(v2) = v0)) & ! [v0: MultipleValueBool] % 41.60/6.31 : ! [v1: MultipleValueBool] : ! [v2: vOptQuestion] : (v1 = v0 | ~ % 41.60/6.31 (visSomeQuestion(v2) = v1) | ~ (visSomeQuestion(v2) = v0)) & ! [v0: % 41.60/6.31 vAType] : ! [v1: vAType] : ! [v2: vAval] : (v1 = v0 | ~ (vtypeOf(v2) = % 41.60/6.31 v1) | ~ (vtypeOf(v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 41.60/6.31 MultipleValueBool] : ! [v2: vOptAType] : (v1 = v0 | ~ (visSomeAType(v2) = % 41.60/6.31 v1) | ~ (visSomeAType(v2) = v0)) & ! [v0: MultipleValueBool] : ! [v1: % 41.60/6.31 MultipleValueBool] : ! [v2: vOptAval] : (v1 = v0 | ~ (visSomeAval(v2) = % 41.60/6.31 v1) | ~ (visSomeAval(v2) = v0)) & ! [v0: vnat] : ! [v1: vnat] : ! [v2: % 41.60/6.31 vnat] : (v1 = v0 | ~ (vpred(v2) = v1) | ~ (vpred(v2) = v0)) & ! [v0: vYN] % 41.60/6.31 : ! [v1: vYN] : ! [v2: vYN] : (v1 = v0 | ~ (vnot(v2) = v1) | ~ (vnot(v2) = % 41.60/6.31 v0)) & ! [v0: vMapConf] : ! [v1: vMapConf] : ! [v2: vOptMapConf] : (v1 % 41.60/6.31 = v0 | ~ (vgetMapConf(v2) = v1) | ~ (vgetMapConf(v2) = v0)) & ! [v0: % 41.60/6.31 vAval] : ! [v1: vAval] : ! [v2: vExp] : (v1 = v0 | ~ (vgetExpValue(v2) = % 41.60/6.31 v1) | ~ (vgetExpValue(v2) = v0)) & ! [v0: vExp] : ! [v1: vExp] : ! % 41.60/6.31 [v2: vOptExp] : (v1 = v0 | ~ (vgetExp(v2) = v1) | ~ (vgetExp(v2) = v0)) & ! % 41.60/6.31 [v0: vQConf] : ! [v1: vQConf] : ! [v2: vOptQConf] : (v1 = v0 | ~ % 41.60/6.31 (vgetQC(v2) = v1) | ~ (vgetQC(v2) = v0)) & ! [v0: vAType] : ! [v1: % 41.60/6.31 vAType] : ! [v2: vOptQuestion] : (v1 = v0 | ~ (vgetQuestionAType(v2) = v1) % 41.60/6.31 | ~ (vgetQuestionAType(v2) = v0)) & ! [v0: vLabel] : ! [v1: vLabel] : ! % 41.60/6.31 [v2: vOptQuestion] : (v1 = v0 | ~ (vgetQuestionLabel(v2) = v1) | ~ % 41.60/6.31 (vgetQuestionLabel(v2) = v0)) & ! [v0: vQID] : ! [v1: vQID] : ! [v2: % 41.60/6.31 vOptQuestion] : (v1 = v0 | ~ (vgetQuestionQID(v2) = v1) | ~ % 41.60/6.31 (vgetQuestionQID(v2) = v0)) & ! [v0: vAType] : ! [v1: vAType] : ! [v2: % 41.60/6.31 vOptAType] : (v1 = v0 | ~ (vgetAType(v2) = v1) | ~ (vgetAType(v2) = v0)) & % 41.60/6.31 ! [v0: vAval] : ! [v1: vAval] : ! [v2: vOptAval] : (v1 = v0 | ~ % 41.60/6.31 (vgetAval(v2) = v1) | ~ (vgetAval(v2) = v0)) & ! [v0: vOptAval] : ! [v1: % 41.60/6.31 vOptAval] : ! [v2: vAval] : (v1 = v0 | ~ (vsomeAval(v2) = v1) | ~ % 41.60/6.31 (vsomeAval(v2) = v0)) & ! [v0: vQID] : ! [v1: vQID] : ! [v2: vQID] : (v1 % 41.60/6.31 = v0 | ~ (venumQID(v2) = v1) | ~ (venumQID(v2) = v0)) & ! [v0: % 41.60/6.31 vOptMapConf] : ! [v1: vOptMapConf] : ! [v2: vMapConf] : (v1 = v0 | ~ % 41.60/6.31 (vsomeMapConf(v2) = v1) | ~ (vsomeMapConf(v2) = v0)) & ! [v0: vGID] : ! % 41.60/6.31 [v1: vGID] : ! [v2: vGID] : (v1 = v0 | ~ (venumGID(v2) = v1) | ~ % 41.60/6.31 (venumGID(v2) = v0)) & ! [v0: vOptExp] : ! [v1: vOptExp] : ! [v2: vExp] : % 41.60/6.31 (v1 = v0 | ~ (vsomeExp(v2) = v1) | ~ (vsomeExp(v2) = v0)) & ! [v0: vAval] : % 41.60/6.31 ! [v1: vAval] : ! [v2: vstring] : (v1 = v0 | ~ (vT(v2) = v1) | ~ (vT(v2) = % 41.60/6.31 v0)) & ! [v0: vAval] : ! [v1: vAval] : ! [v2: vnat] : (v1 = v0 | ~ % 41.60/6.31 (vNum(v2) = v1) | ~ (vNum(v2) = v0)) & ! [v0: vAval] : ! [v1: vAval] : ! % 41.60/6.31 [v2: vYN] : (v1 = v0 | ~ (vB(v2) = v1) | ~ (vB(v2) = v0)) & ! [v0: % 41.60/6.31 vOptAType] : ! [v1: vOptAType] : ! [v2: vAType] : (v1 = v0 | ~ % 41.60/6.31 (vsomeAType(v2) = v1) | ~ (vsomeAType(v2) = v0)) & ! [v0: vOptQConf] : ! % 41.60/6.31 [v1: vOptQConf] : ! [v2: vQConf] : (v1 = v0 | ~ (vsomeQConf(v2) = v1) | ~ % 41.60/6.31 (vsomeQConf(v2) = v0)) & ! [v0: vchar] : ! [v1: vchar] : ! [v2: vchar] : % 41.60/6.31 (v1 = v0 | ~ (venumchar(v2) = v1) | ~ (venumchar(v2) = v0)) & ! [v0: % 41.60/6.31 vQuestionnaire] : ! [v1: vQuestionnaire] : ! [v2: vEntry] : (v1 = v0 | ~ % 41.60/6.31 (vqsingle(v2) = v1) | ~ (vqsingle(v2) = v0)) & ! [v0: vnat] : ! [v1: % 41.60/6.31 vnat] : ! [v2: vnat] : (v1 = v0 | ~ (vsucc(v2) = v1) | ~ (vsucc(v2) = % 41.60/6.31 v0)) & ! [v0: vExp] : ! [v1: vExp] : ! [v2: vQID] : (v1 = v0 | ~ % 41.60/6.31 (vqvar(v2) = v1) | ~ (vqvar(v2) = v0)) & ! [v0: vExp] : ! [v1: vExp] : ! % 41.60/6.31 [v2: vAval] : (v1 = v0 | ~ (vconstant(v2) = v1) | ~ (vconstant(v2) = v0)) & % 41.60/6.31 ! [v0: vLabel] : ! [v1: vLabel] : ! [v2: vLabel] : (v1 = v0 | ~ % 41.60/6.31 (venumLabel(v2) = v1) | ~ (venumLabel(v2) = v0)) & ! [v0: vEntry] : ! % 41.60/6.31 [v1: vEntry] : ! [v2: vQID] : (v1 = v0 | ~ (vask(v2) = v1) | ~ (vask(v2) = % 41.60/6.31 v0)) % 41.60/6.31 % 41.60/6.31 Further assumptions not needed in the proof: % 41.60/6.31 -------------------------------------------- % 41.60/6.32 DIFF-B-Num, DIFF-B-T, DIFF-Num-T, DIFF-Number-Text, DIFF-YesNo-Number, % 41.60/6.32 DIFF-YesNo-Text, DIFF-addop-andop, DIFF-addop-divop, DIFF-addop-eqop, % 41.60/6.32 DIFF-addop-gtop, DIFF-addop-ltop, DIFF-addop-mulop, DIFF-addop-orop, % 41.60/6.32 DIFF-addop-subop, DIFF-aempty-abind, DIFF-andop-orop, DIFF-atempty-atcons, % 41.60/6.32 DIFF-atmempty-atmbind, DIFF-binop-unop, DIFF-constant-binop, DIFF-constant-qvar, % 41.60/6.32 DIFF-constant-unop, DIFF-defquestion-ask, DIFF-divop-andop, DIFF-divop-eqop, % 41.60/6.32 DIFF-divop-gtop, DIFF-divop-ltop, DIFF-divop-orop, DIFF-eqop-andop, % 41.60/6.32 DIFF-eqop-gtop, DIFF-eqop-ltop, DIFF-eqop-orop, DIFF-gtop-andop, DIFF-gtop-ltop, % 41.60/6.32 DIFF-gtop-orop, DIFF-initGID-enumGID, DIFF-initLabel-enumLabel, % 41.60/6.32 DIFF-initQID-enumQID, DIFF-initchar-enumchar, DIFF-ltop-andop, DIFF-ltop-orop, % 41.60/6.32 DIFF-mulop-andop, DIFF-mulop-divop, DIFF-mulop-eqop, DIFF-mulop-gtop, % 41.60/6.32 DIFF-mulop-ltop, DIFF-mulop-orop, DIFF-noAType-someAType, DIFF-noAval-someAval, % 41.60/6.32 DIFF-noExp-someExp, DIFF-noMapConf-someMapConf, DIFF-noQConf-someQConf, % 41.60/6.32 DIFF-noQuestion-someQuestion, DIFF-qcond-qgroup, DIFF-qempty-qcond, % 41.60/6.32 DIFF-qempty-qgroup, DIFF-qempty-qseq, DIFF-qempty-qsingle, DIFF-qmempty-qmbind, % 41.60/6.32 DIFF-qseq-qcond, DIFF-qseq-qgroup, DIFF-qsingle-qcond, DIFF-qsingle-qgroup, % 41.60/6.32 DIFF-qsingle-qseq, DIFF-question-ask, DIFF-question-defquestion, % 41.60/6.32 DIFF-question-value, DIFF-qvar-binop, DIFF-qvar-unop, DIFF-sempty-scons, % 41.60/6.32 DIFF-subop-andop, DIFF-subop-divop, DIFF-subop-eqop, DIFF-subop-gtop, % 41.60/6.32 DIFF-subop-ltop, DIFF-subop-mulop, DIFF-subop-orop, DIFF-value-ask, % 41.60/6.32 DIFF-value-defquestion, DIFF-yes-no, DIFF-zero-succ, EQ-B, EQ-MC, EQ-Num, EQ-QC, % 41.60/6.32 EQ-T, EQ-abind, EQ-ask, EQ-atcons, EQ-atmbind, EQ-binop, EQ-constant, % 41.60/6.32 EQ-defquestion, EQ-enumGID, EQ-enumLabel, EQ-enumQID, EQ-enumchar, EQ-qcond, % 41.60/6.32 EQ-qgroup, EQ-qmbind, EQ-qseq, EQ-qsingle, EQ-question, EQ-qvar, EQ-scons, % 41.60/6.32 EQ-someAType, EQ-someAval, EQ-someExp, EQ-someMapConf, EQ-someQConf, % 41.60/6.32 EQ-someQuestion, EQ-succ, EQ-unop, EQ-value, Task, Task_inv1, Task_inv2, % 41.60/6.32 Task_inv3, Task_inv4, Tdefquestion, Tdefquestion_inv1, Tdefquestion_inv2, % 41.60/6.32 Tdefquestion_inv3, Tqcond, Tqcond_inv1, Tqcond_inv2, Tqcond_inv3, Tqcond_inv4, % 41.60/6.32 Tqcond_inv5, Tqcond_inv6, Tqcond_inv7, Tqempty, Tqempty_inv1, Tqempty_inv2, % 41.60/6.32 Tqgroup, Tqgroup_inv, Tqseq, Tqseq_inv1, Tqseq_inv2, Tqseq_inv3, Tqseq_inv4, % 41.60/6.32 Tquestion, Tquestion_inv1, Tquestion_inv2, Tquestion_inv3, Tvalue, Tvalue_inv1, % 41.60/6.32 Tvalue_inv2, Tvalue_inv3, Tvalue_inv4, and-0, and-1, and-INV, append-0, % 41.60/6.32 append-1, append-INV, appendATMap-0, appendATMap-1, appendATMap-INV, % 41.60/6.32 appendAnsMap-0, appendAnsMap-1, appendAnsMap-INV, checkBinOp-0, checkBinOp-1, % 41.60/6.32 checkBinOp-2, checkBinOp-3, checkBinOp-4, checkBinOp-5, checkBinOp-6, % 41.60/6.32 checkBinOp-7, checkBinOp-8, checkBinOp-9, checkBinOp-INV, checkUnOp-0, % 41.60/6.32 checkUnOp-1, checkUnOp-INV, divide-0, divide-1, divide-INV, dom-ATList, % 41.60/6.32 dom-ATMap, dom-AType, dom-AnsMap, dom-Aval, dom-BinOpT, dom-Entry, dom-Exp, % 41.60/6.32 dom-MapConf, dom-OptAType, dom-OptAval, dom-OptExp, dom-OptMapConf, % 41.60/6.32 dom-OptQConf, dom-OptQuestion, dom-QConf, dom-QMap, dom-Questionnaire, % 41.60/6.32 dom-UnOpT, dom-YN, dom-nat, dom-string, echeck-0, echeck-1, echeck-2, echeck-3, % 41.60/6.32 echeck-4, echeck-5, echeck-6, echeck-7, echeck-INV, evalBinOp-0, evalBinOp-1, % 41.60/6.32 evalBinOp-10, evalBinOp-2, evalBinOp-3, evalBinOp-4, evalBinOp-5, evalBinOp-6, % 41.60/6.32 evalBinOp-7, evalBinOp-8, evalBinOp-9, evalBinOp-INV, evalUnOp-0, evalUnOp-1, % 41.60/6.32 evalUnOp-INV, expIsValue-0, expIsValue-1, expIsValue-false-INV, % 41.60/6.32 expIsValue-true-INV, getAM-0, getAM-INV, getAType-0, getAnswer-0, getAnswer-1, % 41.60/6.32 getAnswer-2, getAnswer-INV, getAval-0, getExp-0, getExpValue-0, getMapConf-0, % 41.60/6.32 getQC-0, getQM-0, getQM-INV, getQuest-0, getQuest-INV, getQuestionAType-0, % 41.60/6.32 getQuestionLabel-0, getQuestionQID-0, gt-0, gt-1, gt-2, gt-INV, intersectATM-0, % 41.60/6.32 intersectATM-1, intersectATM-2, intersectATM-INV, isSomeAType-0, isSomeAType-1, % 41.60/6.32 isSomeAType-false-INV, isSomeAType-true-INV, isSomeAval-0, isSomeAval-1, % 41.60/6.32 isSomeAval-false-INV, isSomeAval-true-INV, isSomeExp-0, isSomeExp-1, % 41.60/6.32 isSomeExp-false-INV, isSomeExp-true-INV, isSomeMapConf-0, isSomeMapConf-1, % 41.60/6.32 isSomeMapConf-false-INV, isSomeMapConf-true-INV, isSomeQC-0, isSomeQC-1, % 41.60/6.32 isSomeQC-false-INV, isSomeQC-true-INV, isSomeQuestion-0, isSomeQuestion-1, % 41.60/6.32 isSomeQuestion-false-INV, isSomeQuestion-true-INV, isValue-0, isValue-1, % 41.60/6.32 isValue-false-INV, isValue-true-INV, lookupATMap-0, lookupATMap-1, % 41.60/6.32 lookupATMap-2, lookupATMap-INV, lookupAnsMap-0, lookupAnsMap-1, lookupAnsMap-2, % 41.60/6.32 lookupAnsMap-INV, lookupAnsMapPreservation-abind-IH0, lookupQMap-0, % 41.60/6.32 lookupQMap-1, lookupQMap-2, lookupQMap-INV, lt-0, lt-1, lt-2, lt-INV, minus-0, % 41.60/6.32 minus-1, minus-INV, multiply-0, multiply-1, multiply-INV, not-0, not-1, not-INV, % 41.60/6.32 or-0, or-1, or-INV, plus-0, plus-1, plus-INV, pred-0, pred-1, pred-INV, % 41.60/6.32 qcappend-0, qcappend-INV, reduce-0, reduce-1, reduce-10, reduce-11, reduce-12, % 41.60/6.32 reduce-13, reduce-14, reduce-15, reduce-2, reduce-3, reduce-4, reduce-5, % 41.60/6.32 reduce-6, reduce-7, reduce-8, reduce-9, reduce-INV, reduceExp-0, reduceExp-1, % 41.60/6.32 reduceExp-10, reduceExp-2, reduceExp-3, reduceExp-4, reduceExp-5, reduceExp-6, % 41.60/6.32 reduceExp-7, reduceExp-8, reduceExp-9, reduceExp-INV, typeAM-0, typeAM-1, % 41.60/6.32 typeAM-INV, typeOf-0, typeOf-1, typeOf-2, typeOf-INV, typeQM-0, typeQM-1, % 41.60/6.32 typeQM-INV % 41.60/6.32 % 41.60/6.32 Those formulas are unsatisfiable: % 41.60/6.32 --------------------------------- % 41.60/6.32 % 41.60/6.32 Begin of proof % 41.60/6.32 | % 41.60/6.32 | ALPHA: (lookupAnsMapPreservation-abind-qid-qid1-True) implies: % 41.60/6.32 | (1) ! [v0: vQID] : ! [v1: vAval] : ! [v2: vAType] : ! [v3: vAval] : ! % 41.60/6.32 | [v4: vAnsMap] : ! [v5: vATMap] : ! [v6: vOptAType] : ! [v7: vAType] % 41.60/6.32 | : (v7 = v2 | ~ (vtypeAM(v4) = v5) | ~ (vlookupATMap(v0, v5) = v6) | % 41.60/6.32 | ~ (vtypeOf(v3) = v7) | ~ (vabind(v0, v1, vam1) = v4) | ~ % 41.60/6.32 | (vsomeAType(v2) = v6) | ~ vAType(v2) | ~ vQID(v0) | ~ vAval(v3) | % 41.60/6.32 | ~ vAval(v1) | ? [v8: vOptAval] : ? [v9: vOptAval] : ( ~ (v9 = v8) & % 41.60/6.32 | vlookupAnsMap(v0, v4) = v8 & vsomeAval(v3) = v9 & vOptAval(v9) & % 41.60/6.32 | vOptAval(v8))) % 41.60/6.32 | % 41.60/6.32 | ALPHA: (lookupAnsMapPreservation-abind-qid-qid1-False) implies: % 41.60/6.32 | (2) ! [v0: vQID] : ! [v1: vAval] : ! [v2: vAType] : ! [v3: vAval] : ! % 41.60/6.32 | [v4: vQID] : ! [v5: vAnsMap] : ! [v6: vATMap] : ! [v7: vOptAType] : % 41.60/6.32 | ! [v8: vAType] : (v8 = v2 | v4 = v0 | ~ (vtypeAM(v5) = v6) | ~ % 41.60/6.32 | (vlookupATMap(v4, v6) = v7) | ~ (vtypeOf(v3) = v8) | ~ (vabind(v0, % 41.60/6.32 | v1, vam1) = v5) | ~ (vsomeAType(v2) = v7) | ~ vAType(v2) | ~ % 41.60/6.32 | vQID(v4) | ~ vQID(v0) | ~ vAval(v3) | ~ vAval(v1) | ? [v9: % 41.60/6.32 | vOptAval] : ? [v10: vOptAval] : ( ~ (v10 = v9) & vlookupAnsMap(v4, % 41.60/6.32 | v5) = v9 & vsomeAval(v3) = v10 & vOptAval(v10) & vOptAval(v9))) % 41.60/6.32 | % 41.60/6.32 | ALPHA: (lookupAnsMapPreservation-abind) implies: % 41.60/6.32 | (3) ? [v0: vQID] : ? [v1: vAval] : ? [v2: vAType] : ? [v3: vAval] : ? % 41.60/6.32 | [v4: vQID] : ? [v5: vAnsMap] : ? [v6: vATMap] : ? [v7: vOptAType] : % 41.60/6.32 | ? [v8: vOptAval] : ? [v9: vAType] : ( ~ (v9 = v2) & vtypeAM(v5) = v6 & % 41.60/6.32 | vlookupATMap(v4, v6) = v7 & vlookupAnsMap(v4, v5) = v8 & vtypeOf(v3) % 41.60/6.32 | = v9 & vsomeAval(v3) = v8 & vabind(v0, v1, vam1) = v5 & % 41.60/6.32 | vsomeAType(v2) = v7 & vAType(v9) & vAType(v2) & vOptAval(v8) & % 41.60/6.32 | vQID(v4) & vQID(v0) & vAnsMap(v5) & vAval(v3) & vAval(v1) & % 41.60/6.32 | vATMap(v6) & vOptAType(v7)) % 41.60/6.32 | % 41.60/6.32 | ALPHA: (function-axioms) implies: % 41.60/6.32 | (4) ! [v0: vOptAval] : ! [v1: vOptAval] : ! [v2: vAval] : (v1 = v0 | ~ % 41.60/6.32 | (vsomeAval(v2) = v1) | ~ (vsomeAval(v2) = v0)) % 41.60/6.32 | (5) ! [v0: vOptAval] : ! [v1: vOptAval] : ! [v2: vAnsMap] : ! [v3: % 41.60/6.32 | vQID] : (v1 = v0 | ~ (vlookupAnsMap(v3, v2) = v1) | ~ % 41.60/6.32 | (vlookupAnsMap(v3, v2) = v0)) % 41.60/6.32 | % 41.60/6.32 | DELTA: instantiating (3) with fresh symbols all_400_0, all_400_1, all_400_2, % 41.60/6.32 | all_400_3, all_400_4, all_400_5, all_400_6, all_400_7, all_400_8, % 41.60/6.33 | all_400_9 gives: % 41.60/6.33 | (6) ~ (all_400_0 = all_400_7) & vtypeAM(all_400_4) = all_400_3 & % 41.60/6.33 | vlookupATMap(all_400_5, all_400_3) = all_400_2 & % 41.60/6.33 | vlookupAnsMap(all_400_5, all_400_4) = all_400_1 & vtypeOf(all_400_6) = % 41.60/6.33 | all_400_0 & vsomeAval(all_400_6) = all_400_1 & vabind(all_400_9, % 41.60/6.33 | all_400_8, vam1) = all_400_4 & vsomeAType(all_400_7) = all_400_2 & % 41.60/6.33 | vAType(all_400_0) & vAType(all_400_7) & vOptAval(all_400_1) & % 41.60/6.33 | vQID(all_400_5) & vQID(all_400_9) & vAnsMap(all_400_4) & % 41.60/6.33 | vAval(all_400_6) & vAval(all_400_8) & vATMap(all_400_3) & % 41.60/6.33 | vOptAType(all_400_2) % 41.60/6.33 | % 41.60/6.33 | ALPHA: (6) implies: % 41.60/6.33 | (7) ~ (all_400_0 = all_400_7) % 41.60/6.33 | (8) vAval(all_400_8) % 41.60/6.33 | (9) vAval(all_400_6) % 41.60/6.33 | (10) vQID(all_400_9) % 41.60/6.33 | (11) vQID(all_400_5) % 41.60/6.33 | (12) vAType(all_400_7) % 41.60/6.33 | (13) vsomeAType(all_400_7) = all_400_2 % 41.60/6.33 | (14) vabind(all_400_9, all_400_8, vam1) = all_400_4 % 41.60/6.33 | (15) vsomeAval(all_400_6) = all_400_1 % 41.60/6.33 | (16) vtypeOf(all_400_6) = all_400_0 % 41.60/6.33 | (17) vlookupAnsMap(all_400_5, all_400_4) = all_400_1 % 41.60/6.33 | (18) vlookupATMap(all_400_5, all_400_3) = all_400_2 % 41.60/6.33 | (19) vtypeAM(all_400_4) = all_400_3 % 41.60/6.33 | % 41.60/6.33 | GROUND_INST: instantiating (2) with all_400_9, all_400_8, all_400_7, % 41.60/6.33 | all_400_6, all_400_5, all_400_4, all_400_3, all_400_2, all_400_0, % 41.60/6.33 | simplifying with (8), (9), (10), (11), (12), (13), (14), (16), % 41.60/6.33 | (18), (19) gives: % 41.60/6.33 | (20) all_400_0 = all_400_7 | all_400_5 = all_400_9 | ? [v0: vOptAval] : ? % 41.60/6.33 | [v1: vOptAval] : ( ~ (v1 = v0) & vlookupAnsMap(all_400_5, all_400_4) = % 41.60/6.33 | v0 & vsomeAval(all_400_6) = v1 & vOptAval(v1) & vOptAval(v0)) % 41.60/6.33 | % 41.60/6.33 | BETA: splitting (20) gives: % 41.60/6.33 | % 41.60/6.33 | Case 1: % 41.60/6.33 | | % 41.60/6.33 | | (21) all_400_0 = all_400_7 % 41.60/6.33 | | % 41.60/6.33 | | REDUCE: (7), (21) imply: % 41.60/6.33 | | (22) $false % 41.60/6.33 | | % 41.60/6.33 | | CLOSE: (22) is inconsistent. % 41.60/6.33 | | % 41.60/6.33 | Case 2: % 41.60/6.33 | | % 41.60/6.33 | | (23) all_400_5 = all_400_9 | ? [v0: vOptAval] : ? [v1: vOptAval] : ( ~ % 41.60/6.33 | | (v1 = v0) & vlookupAnsMap(all_400_5, all_400_4) = v0 & % 41.60/6.33 | | vsomeAval(all_400_6) = v1 & vOptAval(v1) & vOptAval(v0)) % 41.60/6.33 | | % 41.60/6.33 | | BETA: splitting (23) gives: % 41.60/6.33 | | % 41.60/6.33 | | Case 1: % 41.60/6.33 | | | % 41.60/6.33 | | | (24) all_400_5 = all_400_9 % 41.60/6.33 | | | % 41.60/6.33 | | | REDUCE: (18), (24) imply: % 41.60/6.33 | | | (25) vlookupATMap(all_400_9, all_400_3) = all_400_2 % 41.60/6.33 | | | % 41.60/6.33 | | | REDUCE: (17), (24) imply: % 41.60/6.33 | | | (26) vlookupAnsMap(all_400_9, all_400_4) = all_400_1 % 41.60/6.33 | | | % 41.60/6.33 | | | GROUND_INST: instantiating (1) with all_400_9, all_400_8, all_400_7, % 41.60/6.33 | | | all_400_6, all_400_4, all_400_3, all_400_2, all_400_0, % 41.60/6.33 | | | simplifying with (8), (9), (10), (12), (13), (14), (16), % 41.60/6.33 | | | (19), (25) gives: % 41.60/6.33 | | | (27) all_400_0 = all_400_7 | ? [v0: vOptAval] : ? [v1: vOptAval] : ( % 41.60/6.33 | | | ~ (v1 = v0) & vlookupAnsMap(all_400_9, all_400_4) = v0 & % 41.60/6.33 | | | vsomeAval(all_400_6) = v1 & vOptAval(v1) & vOptAval(v0)) % 41.60/6.33 | | | % 41.60/6.33 | | | BETA: splitting (27) gives: % 41.60/6.33 | | | % 41.60/6.33 | | | Case 1: % 41.60/6.33 | | | | % 41.60/6.33 | | | | (28) all_400_0 = all_400_7 % 41.60/6.33 | | | | % 41.60/6.33 | | | | REDUCE: (7), (28) imply: % 41.60/6.33 | | | | (29) $false % 41.60/6.33 | | | | % 41.60/6.33 | | | | CLOSE: (29) is inconsistent. % 41.60/6.33 | | | | % 41.60/6.33 | | | Case 2: % 41.60/6.33 | | | | % 41.60/6.34 | | | | (30) ? [v0: vOptAval] : ? [v1: vOptAval] : ( ~ (v1 = v0) & % 41.60/6.34 | | | | vlookupAnsMap(all_400_9, all_400_4) = v0 & % 41.60/6.34 | | | | vsomeAval(all_400_6) = v1 & vOptAval(v1) & vOptAval(v0)) % 41.60/6.34 | | | | % 41.60/6.34 | | | | DELTA: instantiating (30) with fresh symbols all_505_0, all_505_1 gives: % 41.60/6.34 | | | | (31) ~ (all_505_0 = all_505_1) & vlookupAnsMap(all_400_9, all_400_4) % 41.60/6.34 | | | | = all_505_1 & vsomeAval(all_400_6) = all_505_0 & % 41.60/6.34 | | | | vOptAval(all_505_0) & vOptAval(all_505_1) % 41.60/6.34 | | | | % 41.60/6.34 | | | | ALPHA: (31) implies: % 41.60/6.34 | | | | (32) ~ (all_505_0 = all_505_1) % 41.60/6.34 | | | | (33) vsomeAval(all_400_6) = all_505_0 % 41.60/6.34 | | | | (34) vlookupAnsMap(all_400_9, all_400_4) = all_505_1 % 41.60/6.34 | | | | % 41.60/6.34 | | | | GROUND_INST: instantiating (4) with all_400_1, all_505_0, all_400_6, % 41.60/6.34 | | | | simplifying with (15), (33) gives: % 41.60/6.34 | | | | (35) all_505_0 = all_400_1 % 41.60/6.34 | | | | % 41.60/6.34 | | | | GROUND_INST: instantiating (5) with all_400_1, all_505_1, all_400_4, % 41.60/6.34 | | | | all_400_9, simplifying with (26), (34) gives: % 41.60/6.34 | | | | (36) all_505_1 = all_400_1 % 41.60/6.34 | | | | % 41.60/6.34 | | | | REDUCE: (32), (35), (36) imply: % 41.60/6.34 | | | | (37) $false % 41.60/6.34 | | | | % 41.60/6.34 | | | | CLOSE: (37) is inconsistent. % 41.60/6.34 | | | | % 41.60/6.34 | | | End of split % 41.60/6.34 | | | % 41.60/6.34 | | Case 2: % 41.60/6.34 | | | % 41.60/6.34 | | | (38) ? [v0: vOptAval] : ? [v1: vOptAval] : ( ~ (v1 = v0) & % 41.60/6.34 | | | vlookupAnsMap(all_400_5, all_400_4) = v0 & vsomeAval(all_400_6) % 41.60/6.34 | | | = v1 & vOptAval(v1) & vOptAval(v0)) % 41.60/6.34 | | | % 41.60/6.34 | | | DELTA: instantiating (38) with fresh symbols all_453_0, all_453_1 gives: % 41.60/6.34 | | | (39) ~ (all_453_0 = all_453_1) & vlookupAnsMap(all_400_5, all_400_4) = % 41.60/6.34 | | | all_453_1 & vsomeAval(all_400_6) = all_453_0 & vOptAval(all_453_0) % 41.60/6.34 | | | & vOptAval(all_453_1) % 41.60/6.34 | | | % 41.60/6.34 | | | ALPHA: (39) implies: % 41.60/6.34 | | | (40) ~ (all_453_0 = all_453_1) % 41.60/6.34 | | | (41) vsomeAval(all_400_6) = all_453_0 % 41.60/6.34 | | | (42) vlookupAnsMap(all_400_5, all_400_4) = all_453_1 % 41.60/6.34 | | | % 41.60/6.34 | | | GROUND_INST: instantiating (4) with all_400_1, all_453_0, all_400_6, % 41.60/6.34 | | | simplifying with (15), (41) gives: % 41.60/6.34 | | | (43) all_453_0 = all_400_1 % 41.60/6.34 | | | % 41.60/6.34 | | | GROUND_INST: instantiating (5) with all_400_1, all_453_1, all_400_4, % 41.60/6.34 | | | all_400_5, simplifying with (17), (42) gives: % 41.60/6.34 | | | (44) all_453_1 = all_400_1 % 41.60/6.34 | | | % 41.60/6.34 | | | REDUCE: (40), (43), (44) imply: % 41.60/6.34 | | | (45) $false % 41.60/6.34 | | | % 41.60/6.34 | | | CLOSE: (45) is inconsistent. % 41.60/6.34 | | | % 41.60/6.34 | | End of split % 41.60/6.34 | | % 41.60/6.34 | End of split % 41.60/6.34 | % 41.60/6.34 End of proof % 41.60/6.34 % SZS output end Proof for theBenchmark % 41.60/6.34 % 41.60/6.34 5747ms %------------------------------------------------------------------------------