↑ Up

Princess---230619.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Princess---230619
% Problem  : COM281_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 : n012.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 33.85s 5.23s
% Output   : Proof 45.97s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.07  % Problem  : COM281_1 : TPTP v9.3.0. Released v9.3.0.
% 0.00/0.07  % Command  : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.08/0.25  % Computer : n012.cluster.edu
% 0.08/0.25  % Model    : x86_64 x86_64
% 0.08/0.25  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.08/0.25  % Memory   : 8042.1875MB
% 0.08/0.25  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.08/0.25  % CPULimit : 300
% 0.08/0.25  % WCLimit  : 300
% 0.08/0.25  % DateTime : Mon May  4 20:14:45 EDT 2026
% 0.08/0.26  % CPUTime  : 
% 0.38/0.46  ________       _____
% 0.38/0.46  ___  __ \_________(_)________________________________
% 0.38/0.46  __  /_/ /_  ___/_  /__  __ \  ___/  _ \_  ___/_  ___/
% 0.38/0.46  _  ____/_  /   _  / _  / / / /__ /  __/(__  )_(__  )
% 0.38/0.46  /_/     /_/    /_/  /_/ /_/\___/ \___//____/ /____/
% 0.38/0.46  
% 0.38/0.46  A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.38/0.46  (2023-06-19)
% 0.38/0.46  
% 0.38/0.46  (c) Philipp Rümmer, 2009-2023
% 0.38/0.46  Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.38/0.46                Amanda Stjerna.
% 0.38/0.46  Free software under BSD-3-Clause.
% 0.38/0.46  
% 0.38/0.46  For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.38/0.46  
% 0.38/0.46  Loading /export/starexec/sandbox/benchmark/theBenchmark.p ...
% 0.38/0.47  Running up to 7 provers in parallel.
% 0.38/0.49  Prover 0: Options:  +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.38/0.49  Prover 1: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.38/0.49  Prover 3: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.38/0.49  Prover 2: Options:  +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.38/0.49  Prover 4: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.38/0.49  Prover 6: Options:  -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 0.38/0.49  Prover 5: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 11.39/2.21  Prover 2: Preprocessing ...
% 11.39/2.21  Prover 3: Preprocessing ...
% 11.39/2.21  Prover 6: Preprocessing ...
% 11.39/2.23  Prover 4: Preprocessing ...
% 11.39/2.24  Prover 0: Preprocessing ...
% 11.39/2.24  Prover 5: Preprocessing ...
% 11.39/2.25  Prover 1: Preprocessing ...
% 27.89/4.43  Prover 1: Warning: ignoring some quantifiers
% 28.68/4.56  Prover 4: Warning: ignoring some quantifiers
% 29.43/4.60  Prover 1: Constructing countermodel ...
% 29.43/4.62  Prover 3: Warning: ignoring some quantifiers
% 30.19/4.71  Prover 3: Constructing countermodel ...
% 30.19/4.73  Prover 6: Proving ...
% 30.19/4.73  Prover 4: Constructing countermodel ...
% 30.19/4.74  Prover 0: Proving ...
% 30.92/4.84  Prover 5: Proving ...
% 33.85/5.21  Prover 3: proved (4732ms)
% 33.85/5.22  
% 33.85/5.23  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 33.85/5.23  
% 33.85/5.23  Prover 5: stopped
% 33.85/5.24  Prover 6: stopped
% 33.85/5.24  Prover 7: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470
% 33.85/5.24  Prover 0: stopped
% 33.85/5.24  Prover 10: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125
% 33.85/5.25  Prover 11: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984
% 33.85/5.25  Prover 8: Options:  +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089
% 33.85/5.26  Prover 2: Proving ...
% 33.85/5.26  Prover 2: stopped
% 33.85/5.27  Prover 13: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443
% 38.40/5.84  Prover 1: Found proof (size 50)
% 38.40/5.84  Prover 1: proved (5363ms)
% 38.40/5.84  Prover 4: stopped
% 39.96/6.08  Prover 7: Preprocessing ...
% 40.81/6.17  Prover 11: Preprocessing ...
% 40.81/6.18  Prover 13: Preprocessing ...
% 40.81/6.19  Prover 10: Preprocessing ...
% 41.38/6.20  Prover 8: Preprocessing ...
% 42.06/6.38  Prover 7: stopped
% 42.06/6.39  Prover 11: stopped
% 42.76/6.40  Prover 10: stopped
% 43.37/6.55  Prover 13: stopped
% 44.63/6.86  Prover 8: Warning: ignoring some quantifiers
% 45.03/6.91  Prover 8: Constructing countermodel ...
% 45.03/6.95  Prover 8: stopped
% 45.03/6.95  
% 45.03/6.95  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 45.03/6.95  
% 45.03/6.96  % SZS output start Proof for theBenchmark
% 45.03/6.98  Assumptions after simplification:
% 45.03/6.98  ---------------------------------
% 45.03/6.98  
% 45.03/6.98    (EQ-table)
% 45.50/7.02     ! [v0: vAttrL] :  ! [v1: vRawTable] :  ! [v2: vAttrL] :  ! [v3: vRawTable] : 
% 45.50/7.02    ! [v4: vTable] : ( ~ (vtable(v2, v3) = v4) |  ~ (vtable(v0, v1) = v4) |  ~
% 45.50/7.02      vRawTable(v3) |  ~ vRawTable(v1) |  ~ vAttrL(v2) |  ~ vAttrL(v0) | (v3 = v1
% 45.50/7.02        & v2 = v0))
% 45.50/7.02  
% 45.50/7.02    (filterPreservesType)
% 45.50/7.02     ? [v0: vTType] :  ? [v1: vTable] :  ? [v2: vPred] :  ? [v3: vTable] :  ? [v4:
% 45.50/7.02      int] : ( ~ (v4 = 0) & vfilterTable(v1, v2) = v3 & vwelltypedtable(v0, v3) =
% 45.50/7.02      v4 & vwelltypedtable(v0, v1) = 0 & vTType(v0) & vTable(v3) & vTable(v1) &
% 45.50/7.02      vPred(v2))
% 45.50/7.02  
% 45.50/7.02    (filterRowsPreservesTable)
% 45.50/7.02     ! [v0: vTType] :  ! [v1: vRawTable] :  ! [v2: vAttrL] :  ! [v3: vPred] :  !
% 45.50/7.02    [v4: vRawTable] :  ! [v5: int] : (v5 = 0 |  ~ (vfilterRows(v1, v2, v3) = v4) |
% 45.50/7.02       ~ (vwelltypedRawtable(v0, v4) = v5) |  ~ vTType(v0) |  ~ vRawTable(v1) |  ~
% 45.50/7.02      vAttrL(v2) |  ~ vPred(v3) |  ? [v6: int] : ( ~ (v6 = 0) &
% 45.50/7.02        vwelltypedRawtable(v0, v1) = v6))
% 45.50/7.02  
% 45.50/7.03    (filterTable-0)
% 45.50/7.03     ! [v0: vAttrL] :  ! [v1: vRawTable] :  ! [v2: vPred] :  ! [v3: vTable] :  !
% 45.50/7.03    [v4: vTable] : ( ~ (vfilterTable(v3, v2) = v4) |  ~ (vtable(v0, v1) = v3) |  ~
% 45.50/7.03      vRawTable(v1) |  ~ vAttrL(v0) |  ~ vPred(v2) |  ? [v5: vRawTable] :
% 45.50/7.03      (vfilterRows(v1, v0, v2) = v5 & vtable(v0, v5) = v4 & vTable(v4) &
% 45.50/7.03        vRawTable(v5)))
% 45.50/7.03  
% 45.50/7.03    (filterTable-INV)
% 45.50/7.03     ! [v0: vTable] :  ! [v1: vPred] :  ! [v2: vTable] : ( ~ (vfilterTable(v0, v1)
% 45.50/7.03        = v2) |  ~ vTable(v0) |  ~ vPred(v1) |  ? [v3: vAttrL] :  ? [v4:
% 45.50/7.03        vRawTable] :  ? [v5: vRawTable] : (vfilterRows(v4, v3, v1) = v5 &
% 45.50/7.03        vtable(v3, v5) = v2 & vtable(v3, v4) = v0 & vTable(v2) & vRawTable(v5) &
% 45.50/7.03        vRawTable(v4) & vAttrL(v3)))
% 45.50/7.03  
% 45.50/7.03    (welltypedtable-0)
% 45.50/7.04     ! [v0: vTType] :  ! [v1: vAttrL] :  ! [v2: vRawTable] :  ! [v3: vTable] :  !
% 45.50/7.04    [v4: int] : (v4 = 0 |  ~ (vwelltypedtable(v0, v3) = v4) |  ~ (vtable(v1, v2) =
% 45.50/7.04        v3) |  ~ vTType(v0) |  ~ vRawTable(v2) |  ~ vAttrL(v1) |  ? [v5: any] :  ?
% 45.50/7.04      [v6: any] : (vwelltypedRawtable(v0, v2) = v6 & vmatchingAttrL(v0, v1) = v5 &
% 45.50/7.04        ( ~ (v6 = 0) |  ~ (v5 = 0)))) &  ! [v0: vTType] :  ! [v1: vAttrL] :  !
% 45.50/7.04    [v2: vRawTable] :  ! [v3: vTable] : ( ~ (vwelltypedtable(v0, v3) = 0) |  ~
% 45.50/7.04      (vtable(v1, v2) = v3) |  ~ vTType(v0) |  ~ vRawTable(v2) |  ~ vAttrL(v1) |
% 45.50/7.04      (vwelltypedRawtable(v0, v2) = 0 & vmatchingAttrL(v0, v1) = 0))
% 45.50/7.04  
% 45.50/7.04    (welltypedtable-false-INV)
% 45.50/7.04     ! [v0: vTType] :  ! [v1: vTable] :  ! [v2: int] : (v2 = 0 |  ~
% 45.50/7.04      (vwelltypedtable(v0, v1) = v2) |  ~ vTType(v0) |  ~ vTable(v1) |  ? [v3:
% 45.50/7.04        vAttrL] :  ? [v4: vRawTable] :  ? [v5: any] :  ? [v6: any] :
% 45.50/7.04      (vwelltypedRawtable(v0, v4) = v6 & vmatchingAttrL(v0, v3) = v5 & vtable(v3,
% 45.50/7.04          v4) = v1 & vRawTable(v4) & vAttrL(v3) & ( ~ (v6 = 0) |  ~ (v5 = 0))))
% 45.50/7.04  
% 45.50/7.04    (welltypedtable-true-INV)
% 45.50/7.04     ! [v0: vTType] :  ! [v1: vTable] : ( ~ (vwelltypedtable(v0, v1) = 0) |  ~
% 45.50/7.04      vTType(v0) |  ~ vTable(v1) |  ? [v2: vAttrL] :  ? [v3: vRawTable] :
% 45.50/7.04      (vwelltypedRawtable(v0, v3) = 0 & vmatchingAttrL(v0, v2) = 0 & vtable(v2,
% 45.50/7.04          v3) = v1 & vRawTable(v3) & vAttrL(v2)))
% 45.50/7.04  
% 45.50/7.04    (function-axioms)
% 45.50/7.08     ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vTType] :  !
% 45.50/7.08    [v3: vQuery] :  ! [v4: vTTContext] : (v1 = v0 |  ~ (vptcheck(v4, v3, v2) = v1)
% 45.50/7.08      |  ~ (vptcheck(v4, v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable]
% 45.50/7.08    :  ! [v2: vPred] :  ! [v3: vAttrL] :  ! [v4: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vfilterRows(v4, v3, v2) = v1) |  ~ (vfilterRows(v4, v3, v2) = v0)) &  !
% 45.50/7.08    [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRow] :  ! [v3:
% 45.50/7.08      vAttrL] :  ! [v4: vPred] : (v1 = v0 |  ~ (vfilterSingleRow(v4, v3, v2) = v1)
% 45.50/7.08      |  ~ (vfilterSingleRow(v4, v3, v2) = v0)) &  ! [v0: vOptVal] :  ! [v1:
% 45.50/7.08      vOptVal] :  ! [v2: vRow] :  ! [v3: vAttrL] :  ! [v4: vExp] : (v1 = v0 |  ~
% 45.50/7.08      (vevalExpRow(v4, v3, v2) = v1) |  ~ (vevalExpRow(v4, v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vOptRawTable] :  ! [v1: vOptRawTable] :  ! [v2: vRawTable] :  ! [v3:
% 45.50/7.08      vAttrL] :  ! [v4: vAttrL] : (v1 = v0 |  ~ (vprojectCols(v4, v3, v2) = v1) | 
% 45.50/7.08      ~ (vprojectCols(v4, v3, v2) = v0)) &  ! [v0: vOptRawTable] :  ! [v1:
% 45.50/7.08      vOptRawTable] :  ! [v2: vRawTable] :  ! [v3: vAttrL] :  ! [v4: vName] : (v1
% 45.50/7.08      = v0 |  ~ (vfindCol(v4, v3, v2) = v1) |  ~ (vfindCol(v4, v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vTStore] :  ! [v1: vTStore] :  ! [v2: vTStore] :  ! [v3: vTable] :  !
% 45.50/7.08    [v4: vName] : (v1 = v0 |  ~ (vbindStore(v4, v3, v2) = v1) |  ~ (vbindStore(v4,
% 45.50/7.08          v3, v2) = v0)) &  ! [v0: vTTContext] :  ! [v1: vTTContext] :  ! [v2:
% 45.50/7.08      vTTContext] :  ! [v3: vTType] :  ! [v4: vName] : (v1 = v0 |  ~
% 45.50/7.08      (vbindContext(v4, v3, v2) = v1) |  ~ (vbindContext(v4, v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vTType] :  ! [v1: vTType] :  ! [v2: vTType] :  ! [v3: vFType] :  ! [v4:
% 45.50/7.08      vName] : (v1 = v0 |  ~ (vttcons(v4, v3, v2) = v1) |  ~ (vttcons(v4, v3, v2)
% 45.50/7.08        = v0)) &  ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vPred] :  ! [v3:
% 45.50/7.08      vName] :  ! [v4: vSelect] : (v1 = v0 |  ~ (vselectFromWhere(v4, v3, v2) =
% 45.50/7.08        v1) |  ~ (vselectFromWhere(v4, v3, v2) = v0)) &  ! [v0: MultipleValueBool]
% 45.50/7.08    :  ! [v1: MultipleValueBool] :  ! [v2: vTTContext] :  ! [v3: vTStore] : (v1 =
% 45.50/7.08      v0 |  ~ (vstoreContextConsistent(v3, v2) = v1) |  ~
% 45.50/7.08      (vstoreContextConsistent(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  !
% 45.50/7.08    [v1: MultipleValueBool] :  ! [v2: vTType] :  ! [v3: vPred] : (v1 = v0 |  ~
% 45.50/7.08      (vtcheckPred(v3, v2) = v1) |  ~ (vtcheckPred(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      vOptFType] :  ! [v1: vOptFType] :  ! [v2: vTType] :  ! [v3: vExp] : (v1 = v0
% 45.50/7.08      |  ~ (vtypeOfExp(v3, v2) = v1) |  ~ (vtypeOfExp(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTType] :  ! [v3: vSelect] : (v1 =
% 45.50/7.08      v0 |  ~ (vprojectType(v3, v2) = v1) |  ~ (vprojectType(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTType] :  ! [v3: vAttrL] : (v1
% 45.50/7.08      = v0 |  ~ (vprojectTypeAttrL(v3, v2) = v1) |  ~ (vprojectTypeAttrL(v3, v2) =
% 45.50/7.08        v0)) &  ! [v0: vOptFType] :  ! [v1: vOptFType] :  ! [v2: vTType] :  ! [v3:
% 45.50/7.08      vName] : (v1 = v0 |  ~ (vfindColType(v3, v2) = v1) |  ~ (vfindColType(v3,
% 45.50/7.08          v2) = v0)) &  ! [v0: vOptQuery] :  ! [v1: vOptQuery] :  ! [v2: vTStore]
% 45.50/7.08    :  ! [v3: vQuery] : (v1 = v0 |  ~ (vreduce(v3, v2) = v1) |  ~ (vreduce(v3, v2)
% 45.50/7.08        = v0)) &  ! [v0: vTable] :  ! [v1: vTable] :  ! [v2: vPred] :  ! [v3:
% 45.50/7.08      vTable] : (v1 = v0 |  ~ (vfilterTable(v3, v2) = v1) |  ~ (vfilterTable(v3,
% 45.50/7.08          v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] : 
% 45.50/7.08    ! [v2: vVal] :  ! [v3: vVal] : (v1 = v0 |  ~ (vlessThan(v3, v2) = v1) |  ~
% 45.50/7.08      (vlessThan(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 45.50/7.08      MultipleValueBool] :  ! [v2: vVal] :  ! [v3: vVal] : (v1 = v0 |  ~
% 45.50/7.08      (vgreaterThan(v3, v2) = v1) |  ~ (vgreaterThan(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      vOptTable] :  ! [v1: vOptTable] :  ! [v2: vTable] :  ! [v3: vSelect] : (v1 =
% 45.50/7.08      v0 |  ~ (vprojectTable(v3, v2) = v1) |  ~ (vprojectTable(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTTContext] :  ! [v3: vName] :
% 45.50/7.08    (v1 = v0 |  ~ (vlookupContext(v3, v2) = v1) |  ~ (vlookupContext(v3, v2) =
% 45.50/7.08        v0)) &  ! [v0: vOptTable] :  ! [v1: vOptTable] :  ! [v2: vTStore] :  !
% 45.50/7.08    [v3: vName] : (v1 = v0 |  ~ (vlookupStore(v3, v2) = v1) |  ~ (vlookupStore(v3,
% 45.50/7.08          v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2:
% 45.50/7.08      vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~ (vrawDifference(v3, v2) =
% 45.50/7.08        v1) |  ~ (vrawDifference(v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1:
% 45.50/7.08      vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vrawIntersection(v3, v2) = v1) |  ~ (vrawIntersection(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable]
% 45.50/7.08    : (v1 = v0 |  ~ (vrawUnion(v3, v2) = v1) |  ~ (vrawUnion(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable]
% 45.50/7.08    : (v1 = v0 |  ~ (vattachColToFrontRaw(v3, v2) = v1) |  ~
% 45.50/7.08      (vattachColToFrontRaw(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 45.50/7.08      MultipleValueBool] :  ! [v2: vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vsameLength(v3, v2) = v1) |  ~ (vsameLength(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRawTable] :  !
% 45.50/7.08    [v3: vRow] : (v1 = v0 |  ~ (vrowIn(v3, v2) = v1) |  ~ (vrowIn(v3, v2) = v0)) &
% 45.50/7.08     ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vTable] :  !
% 45.50/7.08    [v3: vTType] : (v1 = v0 |  ~ (vwelltypedtable(v3, v2) = v1) |  ~
% 45.50/7.08      (vwelltypedtable(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 45.50/7.08      MultipleValueBool] :  ! [v2: vRawTable] :  ! [v3: vTType] : (v1 = v0 |  ~
% 45.50/7.08      (vwelltypedRawtable(v3, v2) = v1) |  ~ (vwelltypedRawtable(v3, v2) = v0)) & 
% 45.50/7.08    ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRow] :  !
% 45.50/7.08    [v3: vTType] : (v1 = v0 |  ~ (vwelltypedRow(v3, v2) = v1) |  ~
% 45.50/7.08      (vwelltypedRow(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 45.50/7.08      MultipleValueBool] :  ! [v2: vAttrL] :  ! [v3: vTType] : (v1 = v0 |  ~
% 45.50/7.08      (vmatchingAttrL(v3, v2) = v1) |  ~ (vmatchingAttrL(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      vAttrL] :  ! [v1: vAttrL] :  ! [v2: vAttrL] :  ! [v3: vAttrL] : (v1 = v0 | 
% 45.50/7.08      ~ (vappend(v3, v2) = v1) |  ~ (vappend(v3, v2) = v0)) &  ! [v0: vAttrL] :  !
% 45.50/7.08    [v1: vAttrL] :  ! [v2: vAttrL] :  ! [v3: vName] : (v1 = v0 |  ~ (vacons(v3,
% 45.50/7.08          v2) = v1) |  ~ (vacons(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1: vPred]
% 45.50/7.08    :  ! [v2: vExp] :  ! [v3: vExp] : (v1 = v0 |  ~ (vlt(v3, v2) = v1) |  ~
% 45.50/7.08      (vlt(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1: vPred] :  ! [v2: vExp] :  !
% 45.50/7.08    [v3: vExp] : (v1 = v0 |  ~ (vgt(v3, v2) = v1) |  ~ (vgt(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vPred] :  ! [v1: vPred] :  ! [v2: vExp] :  ! [v3: vExp] : (v1 = v0 |  ~
% 45.50/7.08      (veq(v3, v2) = v1) |  ~ (veq(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1:
% 45.50/7.08      vPred] :  ! [v2: vPred] :  ! [v3: vPred] : (v1 = v0 |  ~ (vand(v3, v2) = v1)
% 45.50/7.08      |  ~ (vand(v3, v2) = v0)) &  ! [v0: vTable] :  ! [v1: vTable] :  ! [v2:
% 45.50/7.08      vRawTable] :  ! [v3: vAttrL] : (v1 = v0 |  ~ (vtable(v3, v2) = v1) |  ~
% 45.50/7.08      (vtable(v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2:
% 45.50/7.08      vRawTable] :  ! [v3: vRow] : (v1 = v0 |  ~ (vtcons(v3, v2) = v1) |  ~
% 45.50/7.08      (vtcons(v3, v2) = v0)) &  ! [v0: vRow] :  ! [v1: vRow] :  ! [v2: vRow] :  !
% 45.50/7.08    [v3: vVal] : (v1 = v0 |  ~ (vrcons(v3, v2) = v1) |  ~ (vrcons(v3, v2) = v0)) &
% 45.50/7.08     ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 =
% 45.50/7.08      v0 |  ~ (vDifference(v3, v2) = v1) |  ~ (vDifference(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 = v0
% 45.50/7.08      |  ~ (vIntersection(v3, v2) = v1) |  ~ (vIntersection(v3, v2) = v0)) &  !
% 45.50/7.08    [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 = v0
% 45.50/7.08      |  ~ (vUnion(v3, v2) = v1) |  ~ (vUnion(v3, v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptFType] : (v1 =
% 45.50/7.08      v0 |  ~ (visSomeFType(v2) = v1) |  ~ (visSomeFType(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptVal] : (v1 =
% 45.50/7.08      v0 |  ~ (visSomeVal(v2) = v1) |  ~ (visSomeVal(v2) = v0)) &  ! [v0:
% 45.50/7.08      vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vprojectEmptyCol(v2) = v1) |  ~ (vprojectEmptyCol(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptQuery] : (v1 =
% 45.50/7.08      v0 |  ~ (visSomeQuery(v2) = v1) |  ~ (visSomeQuery(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vQuery] : (v1 = v0
% 45.50/7.08      |  ~ (visValue(v2) = v1) |  ~ (visValue(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptTType] : (v1 =
% 45.50/7.08      v0 |  ~ (visSomeTType(v2) = v1) |  ~ (visSomeTType(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptTable] : (v1 =
% 45.50/7.08      v0 |  ~ (visSomeTable(v2) = v1) |  ~ (visSomeTable(v2) = v0)) &  ! [v0:
% 45.50/7.08      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptRawTable] :
% 45.50/7.08    (v1 = v0 |  ~ (visSomeRawTable(v2) = v1) |  ~ (visSomeRawTable(v2) = v0)) &  !
% 45.50/7.08    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vdropFirstColRaw(v2) = v1) |  ~ (vdropFirstColRaw(v2) = v0)) &  ! [v0:
% 45.50/7.08      vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 45.50/7.08      (vprojectFirstRaw(v2) = v1) |  ~ (vprojectFirstRaw(v2) = v0)) &  ! [v0:
% 45.50/7.08      vFType] :  ! [v1: vFType] :  ! [v2: vVal] : (v1 = v0 |  ~ (vfieldType(v2) =
% 45.50/7.08        v1) |  ~ (vfieldType(v2) = v0)) &  ! [v0: vAttrL] :  ! [v1: vAttrL] :  !
% 45.50/7.08    [v2: vTable] : (v1 = v0 |  ~ (vgetAttrL(v2) = v1) |  ~ (vgetAttrL(v2) = v0)) &
% 45.50/7.08     ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vTable] : (v1 = v0 |  ~
% 45.50/7.08      (vgetRaw(v2) = v1) |  ~ (vgetRaw(v2) = v0)) &  ! [v0: vFType] :  ! [v1:
% 45.50/7.08      vFType] :  ! [v2: vOptFType] : (v1 = v0 |  ~ (vgetFType(v2) = v1) |  ~
% 45.50/7.08      (vgetFType(v2) = v0)) &  ! [v0: vVal] :  ! [v1: vVal] :  ! [v2: vOptVal] :
% 45.50/7.08    (v1 = v0 |  ~ (vgetVal(v2) = v1) |  ~ (vgetVal(v2) = v0)) &  ! [v0: vQuery] : 
% 45.50/7.08    ! [v1: vQuery] :  ! [v2: vOptQuery] : (v1 = v0 |  ~ (vgetQuery(v2) = v1) |  ~
% 45.50/7.08      (vgetQuery(v2) = v0)) &  ! [v0: vTType] :  ! [v1: vTType] :  ! [v2:
% 45.50/7.08      vOptTType] : (v1 = v0 |  ~ (vgetTType(v2) = v1) |  ~ (vgetTType(v2) = v0)) &
% 45.50/7.08     ! [v0: vTable] :  ! [v1: vTable] :  ! [v2: vOptTable] : (v1 = v0 |  ~
% 45.50/7.08      (vgetTable(v2) = v1) |  ~ (vgetTable(v2) = v0)) &  ! [v0: vRawTable] :  !
% 45.50/7.08    [v1: vRawTable] :  ! [v2: vOptRawTable] : (v1 = v0 |  ~ (vgetRawTable(v2) =
% 45.50/7.08        v1) |  ~ (vgetRawTable(v2) = v0)) &  ! [v0: vOptFType] :  ! [v1:
% 45.50/7.08      vOptFType] :  ! [v2: vFType] : (v1 = v0 |  ~ (vsomeFType(v2) = v1) |  ~
% 45.50/7.08      (vsomeFType(v2) = v0)) &  ! [v0: vVal] :  ! [v1: vVal] :  ! [v2: vVal] : (v1
% 45.50/7.08      = v0 |  ~ (venumVal(v2) = v1) |  ~ (venumVal(v2) = v0)) &  ! [v0: vPred] : 
% 45.50/7.08    ! [v1: vPred] :  ! [v2: vPred] : (v1 = v0 |  ~ (vnot(v2) = v1) |  ~ (vnot(v2)
% 45.50/7.08        = v0)) &  ! [v0: vOptVal] :  ! [v1: vOptVal] :  ! [v2: vVal] : (v1 = v0 | 
% 45.50/7.08      ~ (vsomeVal(v2) = v1) |  ~ (vsomeVal(v2) = v0)) &  ! [v0: vExp] :  ! [v1:
% 45.50/7.08      vExp] :  ! [v2: vName] : (v1 = v0 |  ~ (vlookup(v2) = v1) |  ~ (vlookup(v2)
% 45.50/7.08        = v0)) &  ! [v0: vExp] :  ! [v1: vExp] :  ! [v2: vVal] : (v1 = v0 |  ~
% 45.50/7.08      (vconstant(v2) = v1) |  ~ (vconstant(v2) = v0)) &  ! [v0: vName] :  ! [v1:
% 45.50/7.08      vName] :  ! [v2: vName] : (v1 = v0 |  ~ (venumName(v2) = v1) |  ~
% 45.50/7.08      (venumName(v2) = v0)) &  ! [v0: vOptQuery] :  ! [v1: vOptQuery] :  ! [v2:
% 45.50/7.08      vQuery] : (v1 = v0 |  ~ (vsomeQuery(v2) = v1) |  ~ (vsomeQuery(v2) = v0)) & 
% 45.50/7.08    ! [v0: vFType] :  ! [v1: vFType] :  ! [v2: vFType] : (v1 = v0 |  ~
% 45.50/7.08      (venumFType(v2) = v1) |  ~ (venumFType(v2) = v0)) &  ! [v0: vOptTType] :  !
% 45.50/7.08    [v1: vOptTType] :  ! [v2: vTType] : (v1 = v0 |  ~ (vsomeTType(v2) = v1) |  ~
% 45.50/7.08      (vsomeTType(v2) = v0)) &  ! [v0: vOptRawTable] :  ! [v1: vOptRawTable] :  !
% 45.50/7.08    [v2: vRawTable] : (v1 = v0 |  ~ (vsomeRawTable(v2) = v1) |  ~
% 45.50/7.08      (vsomeRawTable(v2) = v0)) &  ! [v0: vOptTable] :  ! [v1: vOptTable] :  !
% 45.50/7.08    [v2: vTable] : (v1 = v0 |  ~ (vsomeTable(v2) = v1) |  ~ (vsomeTable(v2) = v0))
% 45.50/7.08    &  ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vTable] : (v1 = v0 |  ~
% 45.50/7.08      (vtvalue(v2) = v1) |  ~ (vtvalue(v2) = v0)) &  ! [v0: vSelect] :  ! [v1:
% 45.50/7.08      vSelect] :  ! [v2: vAttrL] : (v1 = v0 |  ~ (vlist(v2) = v1) |  ~ (vlist(v2)
% 45.50/7.08        = v0))
% 45.50/7.08  
% 45.50/7.08  Further assumptions not needed in the proof:
% 45.50/7.08  --------------------------------------------
% 45.50/7.08  DIFF-Intersection-Difference, DIFF-Union-Difference, DIFF-Union-Intersection,
% 45.50/7.08  DIFF-aempty-acons, DIFF-all-list, DIFF-and-eq, DIFF-and-gt, DIFF-and-lt,
% 45.50/7.08  DIFF-and-not, DIFF-constant-lookup, DIFF-emptyContext-bindContext,
% 45.50/7.08  DIFF-emptyStore-bindStore, DIFF-eq-gt, DIFF-eq-lt, DIFF-gt-lt,
% 45.50/7.08  DIFF-initFType-enumFType, DIFF-initName-enumName, DIFF-initVal-enumVal,
% 45.50/7.08  DIFF-noFType-someFType, DIFF-noQuery-someQuery, DIFF-noRawTable-someRawTable,
% 45.50/7.08  DIFF-noTType-someTType, DIFF-noTable-someTable, DIFF-noVal-someVal, DIFF-not-eq,
% 45.50/7.08  DIFF-not-gt, DIFF-not-lt, DIFF-ptrue-and, DIFF-ptrue-eq, DIFF-ptrue-gt,
% 45.50/7.08  DIFF-ptrue-lt, DIFF-ptrue-not, DIFF-rempty-rcons,
% 45.50/7.08  DIFF-selectFromWhere-Difference, DIFF-selectFromWhere-Intersection,
% 45.50/7.08  DIFF-selectFromWhere-Union, DIFF-tempty-tcons, DIFF-ttempty-ttcons,
% 45.50/7.08  DIFF-tvalue-Difference, DIFF-tvalue-Intersection, DIFF-tvalue-Union,
% 45.50/7.08  DIFF-tvalue-selectFromWhere, EQ-Difference, EQ-Intersection, EQ-Union, EQ-acons,
% 45.50/7.08  EQ-and, EQ-bindContext, EQ-bindStore, EQ-constant, EQ-enumFType, EQ-enumName,
% 45.50/7.08  EQ-enumVal, EQ-eq, EQ-gt, EQ-list, EQ-lookup, EQ-lt, EQ-not, EQ-rcons,
% 45.50/7.08  EQ-selectFromWhere, EQ-someFType, EQ-someQuery, EQ-someRawTable, EQ-someTType,
% 45.50/7.08  EQ-someTable, EQ-someVal, EQ-tcons, EQ-ttcons, EQ-tvalue, TDifference,
% 45.50/7.08  TDifference_inv1, TDifference_inv2, TIntersection, TIntersection_inv1,
% 45.50/7.08  TIntersection_inv2, TSelectFromWhere, TSelectFromWhere_inv, TTTContextDuplicate,
% 45.50/7.08  TTTContextSwap, TUnion, TUnion_inv1, TUnion_inv2, Ttvalue, Ttvalue_inv,
% 45.50/7.08  append-0, append-1, append-INV, attachColToFrontRaw-0, attachColToFrontRaw-1,
% 45.50/7.08  attachColToFrontRaw-2, attachColToFrontRaw-INV, dom-AttrL, dom-Exp,
% 45.50/7.08  dom-OptFType, dom-OptQuery, dom-OptRawTable, dom-OptTType, dom-OptTable,
% 45.50/7.08  dom-OptVal, dom-Pred, dom-Query, dom-RawTable, dom-Row, dom-Select, dom-TStore,
% 45.50/7.08  dom-TTContext, dom-TType, dom-Table, dropFirstColRaw-0, dropFirstColRaw-1,
% 45.50/7.09  dropFirstColRaw-2, dropFirstColRaw-INV, evalExpRow-0, evalExpRow-1,
% 45.50/7.09  evalExpRow-2, evalExpRow-3, evalExpRow-INV, filterRows-0, filterRows-1,
% 45.50/7.09  filterRows-2, filterRows-INV, filterSingleRow-0, filterSingleRow-1,
% 45.50/7.09  filterSingleRow-2, filterSingleRow-3, filterSingleRow-4, filterSingleRow-5,
% 45.50/7.09  filterSingleRow-false-INV, filterSingleRow-true-INV, findCol-0, findCol-1,
% 45.50/7.09  findCol-2, findCol-INV, findColType-0, findColType-1, findColType-2,
% 45.50/7.09  findColType-INV, getAttrL-0, getAttrL-INV, getFType-0, getQuery-0, getRaw-0,
% 45.50/7.09  getRaw-INV, getRawTable-0, getTType-0, getTable-0, getVal-0, isSomeFType-0,
% 45.50/7.09  isSomeFType-1, isSomeFType-false-INV, isSomeFType-true-INV, isSomeQuery-0,
% 45.50/7.09  isSomeQuery-1, isSomeQuery-false-INV, isSomeQuery-true-INV, isSomeRawTable-0,
% 45.50/7.09  isSomeRawTable-1, isSomeRawTable-false-INV, isSomeRawTable-true-INV,
% 45.50/7.09  isSomeTType-0, isSomeTType-1, isSomeTType-false-INV, isSomeTType-true-INV,
% 45.50/7.09  isSomeTable-0, isSomeTable-1, isSomeTable-false-INV, isSomeTable-true-INV,
% 45.50/7.09  isSomeVal-0, isSomeVal-1, isSomeVal-false-INV, isSomeVal-true-INV, isValue-0,
% 45.50/7.09  isValue-1, isValue-2, isValue-3, isValue-4, isValue-false-INV, isValue-true-INV,
% 45.50/7.09  lookupContext-0, lookupContext-1, lookupContext-2, lookupContext-INV,
% 45.50/7.09  lookupStore-0, lookupStore-1, lookupStore-2, lookupStore-INV, matchingAttrL-0,
% 45.50/7.09  matchingAttrL-1, matchingAttrL-2, matchingAttrL-false-INV,
% 45.50/7.09  matchingAttrL-true-INV, projectCols-0, projectCols-1, projectCols-2,
% 45.50/7.09  projectCols-INV, projectEmptyCol-0, projectEmptyCol-1, projectEmptyCol-INV,
% 45.50/7.09  projectFirstRaw-0, projectFirstRaw-1, projectFirstRaw-2, projectFirstRaw-INV,
% 45.50/7.09  projectTable-0, projectTable-1, projectTable-2, projectTable-INV, projectType-0,
% 45.50/7.09  projectType-1, projectType-INV, projectTypeAttrL-0, projectTypeAttrL-1,
% 45.50/7.09  projectTypeAttrL-2, projectTypeAttrL-INV, rawDifference-0, rawDifference-1,
% 45.50/7.09  rawDifference-2, rawDifference-3, rawDifference-4, rawDifference-INV,
% 45.50/7.09  rawIntersection-0, rawIntersection-1, rawIntersection-2, rawIntersection-3,
% 45.50/7.09  rawIntersection-4, rawIntersection-INV, rawUnion-0, rawUnion-1, rawUnion-2,
% 45.50/7.09  rawUnion-INV, reduce-0, reduce-1, reduce-10, reduce-11, reduce-12, reduce-13,
% 45.50/7.09  reduce-14, reduce-15, reduce-16, reduce-17, reduce-18, reduce-2, reduce-3,
% 45.50/7.09  reduce-4, reduce-5, reduce-6, reduce-7, reduce-8, reduce-9, reduce-INV, rowIn-0,
% 45.50/7.09  rowIn-1, rowIn-false-INV, rowIn-true-INV, sameLength-0, sameLength-1,
% 45.50/7.09  sameLength-2, sameLength-false-INV, sameLength-true-INV,
% 45.50/7.09  storeContextConsistent-0, storeContextConsistent-1, storeContextConsistent-2,
% 45.50/7.09  storeContextConsistent-false-INV, storeContextConsistent-true-INV, tcheckPred-0,
% 45.50/7.09  tcheckPred-1, tcheckPred-2, tcheckPred-3, tcheckPred-4, tcheckPred-5,
% 45.50/7.09  tcheckPred-false-INV, tcheckPred-true-INV, typeOfExp-0, typeOfExp-1,
% 45.50/7.09  typeOfExp-2, typeOfExp-3, typeOfExp-INV, welltypedRawtable-0,
% 45.50/7.09  welltypedRawtable-1, welltypedRawtable-false-INV, welltypedRawtable-true-INV,
% 45.50/7.09  welltypedRow-0, welltypedRow-1, welltypedRow-2, welltypedRow-false-INV,
% 45.50/7.09  welltypedRow-true-INV
% 45.50/7.09  
% 45.50/7.09  Those formulas are unsatisfiable:
% 45.50/7.09  ---------------------------------
% 45.50/7.09  
% 45.50/7.09  Begin of proof
% 45.50/7.09  | 
% 45.50/7.09  | ALPHA: (welltypedtable-0) implies:
% 45.50/7.09  |   (1)   ! [v0: vTType] :  ! [v1: vAttrL] :  ! [v2: vRawTable] :  ! [v3:
% 45.50/7.09  |          vTable] : ( ~ (vwelltypedtable(v0, v3) = 0) |  ~ (vtable(v1, v2) =
% 45.50/7.09  |            v3) |  ~ vTType(v0) |  ~ vRawTable(v2) |  ~ vAttrL(v1) |
% 45.50/7.09  |          (vwelltypedRawtable(v0, v2) = 0 & vmatchingAttrL(v0, v1) = 0))
% 45.50/7.09  | 
% 45.50/7.09  | ALPHA: (function-axioms) implies:
% 45.50/7.09  |   (2)   ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2:
% 45.50/7.09  |          vAttrL] :  ! [v3: vTType] : (v1 = v0 |  ~ (vmatchingAttrL(v3, v2) =
% 45.50/7.09  |            v1) |  ~ (vmatchingAttrL(v3, v2) = v0))
% 45.50/7.09  |   (3)   ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2:
% 45.50/7.09  |          vRawTable] :  ! [v3: vTType] : (v1 = v0 |  ~ (vwelltypedRawtable(v3,
% 45.50/7.09  |              v2) = v1) |  ~ (vwelltypedRawtable(v3, v2) = v0))
% 45.50/7.09  |   (4)   ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vPred] :  ! [v3:
% 45.50/7.09  |          vAttrL] :  ! [v4: vRawTable] : (v1 = v0 |  ~ (vfilterRows(v4, v3, v2)
% 45.50/7.09  |            = v1) |  ~ (vfilterRows(v4, v3, v2) = v0))
% 45.50/7.09  | 
% 45.50/7.09  | DELTA: instantiating (filterPreservesType) with fresh symbols all_332_0,
% 45.50/7.09  |        all_332_1, all_332_2, all_332_3, all_332_4 gives:
% 45.50/7.09  |   (5)   ~ (all_332_0 = 0) & vfilterTable(all_332_3, all_332_2) = all_332_1 &
% 45.50/7.09  |        vwelltypedtable(all_332_4, all_332_1) = all_332_0 &
% 45.50/7.09  |        vwelltypedtable(all_332_4, all_332_3) = 0 & vTType(all_332_4) &
% 45.50/7.09  |        vTable(all_332_1) & vTable(all_332_3) & vPred(all_332_2)
% 45.50/7.09  | 
% 45.50/7.09  | ALPHA: (5) implies:
% 45.50/7.09  |   (6)   ~ (all_332_0 = 0)
% 45.50/7.09  |   (7)  vPred(all_332_2)
% 45.50/7.09  |   (8)  vTable(all_332_3)
% 45.50/7.09  |   (9)  vTable(all_332_1)
% 45.50/7.10  |   (10)  vTType(all_332_4)
% 45.50/7.10  |   (11)  vwelltypedtable(all_332_4, all_332_3) = 0
% 45.50/7.10  |   (12)  vwelltypedtable(all_332_4, all_332_1) = all_332_0
% 45.50/7.10  |   (13)  vfilterTable(all_332_3, all_332_2) = all_332_1
% 45.50/7.10  | 
% 45.50/7.10  | GROUND_INST: instantiating (welltypedtable-true-INV) with all_332_4,
% 45.50/7.10  |              all_332_3, simplifying with (8), (10), (11) gives:
% 45.50/7.10  |   (14)   ? [v0: vAttrL] :  ? [v1: vRawTable] : (vwelltypedRawtable(all_332_4,
% 45.50/7.10  |             v1) = 0 & vmatchingAttrL(all_332_4, v0) = 0 & vtable(v0, v1) =
% 45.50/7.10  |           all_332_3 & vRawTable(v1) & vAttrL(v0))
% 45.50/7.10  | 
% 45.50/7.10  | GROUND_INST: instantiating (welltypedtable-false-INV) with all_332_4,
% 45.50/7.10  |              all_332_1, all_332_0, simplifying with (9), (10), (12) gives:
% 45.50/7.10  |   (15)  all_332_0 = 0 |  ? [v0: vAttrL] :  ? [v1: vRawTable] :  ? [v2: any] : 
% 45.50/7.10  |         ? [v3: any] : (vwelltypedRawtable(all_332_4, v1) = v3 &
% 45.50/7.10  |           vmatchingAttrL(all_332_4, v0) = v2 & vtable(v0, v1) = all_332_1 &
% 45.50/7.10  |           vRawTable(v1) & vAttrL(v0) & ( ~ (v3 = 0) |  ~ (v2 = 0)))
% 45.50/7.10  | 
% 45.50/7.10  | GROUND_INST: instantiating (filterTable-INV) with all_332_3, all_332_2,
% 45.50/7.10  |              all_332_1, simplifying with (7), (8), (13) gives:
% 45.50/7.10  |   (16)   ? [v0: vAttrL] :  ? [v1: vRawTable] :  ? [v2: vRawTable] :
% 45.50/7.10  |         (vfilterRows(v1, v0, all_332_2) = v2 & vtable(v0, v2) = all_332_1 &
% 45.50/7.10  |           vtable(v0, v1) = all_332_3 & vTable(all_332_1) & vRawTable(v2) &
% 45.50/7.10  |           vRawTable(v1) & vAttrL(v0))
% 45.50/7.10  | 
% 45.50/7.10  | DELTA: instantiating (14) with fresh symbols all_359_0, all_359_1 gives:
% 45.50/7.10  |   (17)  vwelltypedRawtable(all_332_4, all_359_0) = 0 &
% 45.50/7.10  |         vmatchingAttrL(all_332_4, all_359_1) = 0 & vtable(all_359_1,
% 45.50/7.10  |           all_359_0) = all_332_3 & vRawTable(all_359_0) & vAttrL(all_359_1)
% 45.50/7.10  | 
% 45.50/7.10  | ALPHA: (17) implies:
% 45.50/7.10  |   (18)  vAttrL(all_359_1)
% 45.50/7.10  |   (19)  vRawTable(all_359_0)
% 45.50/7.10  |   (20)  vtable(all_359_1, all_359_0) = all_332_3
% 45.50/7.10  | 
% 45.50/7.10  | DELTA: instantiating (16) with fresh symbols all_363_0, all_363_1, all_363_2
% 45.50/7.10  |        gives:
% 45.50/7.10  |   (21)  vfilterRows(all_363_1, all_363_2, all_332_2) = all_363_0 &
% 45.50/7.10  |         vtable(all_363_2, all_363_0) = all_332_1 & vtable(all_363_2,
% 45.50/7.10  |           all_363_1) = all_332_3 & vTable(all_332_1) & vRawTable(all_363_0) &
% 45.50/7.10  |         vRawTable(all_363_1) & vAttrL(all_363_2)
% 45.50/7.10  | 
% 45.50/7.10  | ALPHA: (21) implies:
% 45.50/7.10  |   (22)  vAttrL(all_363_2)
% 45.50/7.10  |   (23)  vRawTable(all_363_1)
% 45.50/7.10  |   (24)  vRawTable(all_363_0)
% 45.50/7.10  |   (25)  vtable(all_363_2, all_363_1) = all_332_3
% 45.50/7.10  |   (26)  vtable(all_363_2, all_363_0) = all_332_1
% 45.50/7.10  |   (27)  vfilterRows(all_363_1, all_363_2, all_332_2) = all_363_0
% 45.50/7.10  | 
% 45.50/7.10  | BETA: splitting (15) gives:
% 45.50/7.10  | 
% 45.50/7.10  | Case 1:
% 45.50/7.10  | | 
% 45.50/7.10  | |   (28)  all_332_0 = 0
% 45.50/7.10  | | 
% 45.50/7.10  | | REDUCE: (6), (28) imply:
% 45.50/7.10  | |   (29)  $false
% 45.50/7.10  | | 
% 45.50/7.10  | | CLOSE: (29) is inconsistent.
% 45.50/7.10  | | 
% 45.50/7.10  | Case 2:
% 45.50/7.10  | | 
% 45.50/7.11  | |   (30)   ? [v0: vAttrL] :  ? [v1: vRawTable] :  ? [v2: any] :  ? [v3: any] :
% 45.50/7.11  | |         (vwelltypedRawtable(all_332_4, v1) = v3 & vmatchingAttrL(all_332_4,
% 45.50/7.11  | |             v0) = v2 & vtable(v0, v1) = all_332_1 & vRawTable(v1) &
% 45.50/7.11  | |           vAttrL(v0) & ( ~ (v3 = 0) |  ~ (v2 = 0)))
% 45.50/7.11  | | 
% 45.50/7.11  | | DELTA: instantiating (30) with fresh symbols all_369_0, all_369_1,
% 45.50/7.11  | |        all_369_2, all_369_3 gives:
% 45.50/7.11  | |   (31)  vwelltypedRawtable(all_332_4, all_369_2) = all_369_0 &
% 45.50/7.11  | |         vmatchingAttrL(all_332_4, all_369_3) = all_369_1 & vtable(all_369_3,
% 45.50/7.11  | |           all_369_2) = all_332_1 & vRawTable(all_369_2) & vAttrL(all_369_3)
% 45.50/7.11  | |         & ( ~ (all_369_0 = 0) |  ~ (all_369_1 = 0))
% 45.50/7.11  | | 
% 45.50/7.11  | | ALPHA: (31) implies:
% 45.50/7.11  | |   (32)  vAttrL(all_369_3)
% 45.50/7.11  | |   (33)  vRawTable(all_369_2)
% 45.50/7.11  | |   (34)  vtable(all_369_3, all_369_2) = all_332_1
% 45.50/7.11  | |   (35)  vmatchingAttrL(all_332_4, all_369_3) = all_369_1
% 45.50/7.11  | |   (36)  vwelltypedRawtable(all_332_4, all_369_2) = all_369_0
% 45.50/7.11  | |   (37)   ~ (all_369_0 = 0) |  ~ (all_369_1 = 0)
% 45.50/7.11  | | 
% 45.50/7.11  | | GROUND_INST: instantiating (filterTable-0) with all_359_1, all_359_0,
% 45.50/7.11  | |              all_332_2, all_332_3, all_332_1, simplifying with (7), (13),
% 45.50/7.11  | |              (18), (19), (20) gives:
% 45.50/7.11  | |   (38)   ? [v0: vRawTable] : (vfilterRows(all_359_0, all_359_1, all_332_2) =
% 45.50/7.11  | |           v0 & vtable(all_359_1, v0) = all_332_1 & vTable(all_332_1) &
% 45.50/7.11  | |           vRawTable(v0))
% 45.50/7.11  | | 
% 45.50/7.11  | | GROUND_INST: instantiating (1) with all_332_4, all_363_2, all_363_1,
% 45.50/7.11  | |              all_332_3, simplifying with (10), (11), (22), (23), (25) gives:
% 45.50/7.11  | |   (39)  vwelltypedRawtable(all_332_4, all_363_1) = 0 &
% 45.50/7.11  | |         vmatchingAttrL(all_332_4, all_363_2) = 0
% 45.50/7.11  | | 
% 45.50/7.11  | | ALPHA: (39) implies:
% 45.50/7.11  | |   (40)  vmatchingAttrL(all_332_4, all_363_2) = 0
% 45.50/7.11  | |   (41)  vwelltypedRawtable(all_332_4, all_363_1) = 0
% 45.50/7.11  | | 
% 45.50/7.11  | | GROUND_INST: instantiating (EQ-table) with all_359_1, all_359_0, all_363_2,
% 45.50/7.11  | |              all_363_1, all_332_3, simplifying with (18), (19), (20), (22),
% 45.50/7.11  | |              (23), (25) gives:
% 45.50/7.11  | |   (42)  all_363_1 = all_359_0 & all_363_2 = all_359_1
% 45.50/7.11  | | 
% 45.50/7.11  | | ALPHA: (42) implies:
% 45.50/7.11  | |   (43)  all_363_2 = all_359_1
% 45.50/7.11  | |   (44)  all_363_1 = all_359_0
% 45.50/7.11  | | 
% 45.50/7.11  | | GROUND_INST: instantiating (EQ-table) with all_363_2, all_363_0, all_369_3,
% 45.50/7.11  | |              all_369_2, all_332_1, simplifying with (22), (24), (26), (32),
% 45.50/7.11  | |              (33), (34) gives:
% 45.50/7.11  | |   (45)  all_369_2 = all_363_0 & all_369_3 = all_363_2
% 45.50/7.11  | | 
% 45.50/7.11  | | ALPHA: (45) implies:
% 45.50/7.11  | |   (46)  all_369_3 = all_363_2
% 45.50/7.11  | |   (47)  all_369_2 = all_363_0
% 45.50/7.11  | | 
% 45.50/7.11  | | COMBINE_EQS: (43), (46) imply:
% 45.50/7.11  | |   (48)  all_369_3 = all_359_1
% 45.50/7.11  | | 
% 45.50/7.11  | | DELTA: instantiating (38) with fresh symbol all_387_0 gives:
% 45.97/7.11  | |   (49)  vfilterRows(all_359_0, all_359_1, all_332_2) = all_387_0 &
% 45.97/7.11  | |         vtable(all_359_1, all_387_0) = all_332_1 & vTable(all_332_1) &
% 45.97/7.11  | |         vRawTable(all_387_0)
% 45.97/7.11  | | 
% 45.97/7.11  | | ALPHA: (49) implies:
% 45.97/7.11  | |   (50)  vfilterRows(all_359_0, all_359_1, all_332_2) = all_387_0
% 45.97/7.11  | | 
% 45.97/7.11  | | REDUCE: (27), (43), (44) imply:
% 45.97/7.11  | |   (51)  vfilterRows(all_359_0, all_359_1, all_332_2) = all_363_0
% 45.97/7.11  | | 
% 45.97/7.11  | | REDUCE: (36), (47) imply:
% 45.97/7.11  | |   (52)  vwelltypedRawtable(all_332_4, all_363_0) = all_369_0
% 45.97/7.11  | | 
% 45.97/7.11  | | REDUCE: (41), (44) imply:
% 45.97/7.11  | |   (53)  vwelltypedRawtable(all_332_4, all_359_0) = 0
% 45.97/7.11  | | 
% 45.97/7.11  | | REDUCE: (35), (48) imply:
% 45.97/7.12  | |   (54)  vmatchingAttrL(all_332_4, all_359_1) = all_369_1
% 45.97/7.12  | | 
% 45.97/7.12  | | REDUCE: (40), (43) imply:
% 45.97/7.12  | |   (55)  vmatchingAttrL(all_332_4, all_359_1) = 0
% 45.97/7.12  | | 
% 45.97/7.12  | | GROUND_INST: instantiating (2) with 0, all_369_1, all_359_1, all_332_4,
% 45.97/7.12  | |              simplifying with (54), (55) gives:
% 45.97/7.12  | |   (56)  all_369_1 = 0
% 45.97/7.12  | | 
% 45.97/7.12  | | GROUND_INST: instantiating (4) with all_363_0, all_387_0, all_332_2,
% 45.97/7.12  | |              all_359_1, all_359_0, simplifying with (50), (51) gives:
% 45.97/7.12  | |   (57)  all_387_0 = all_363_0
% 45.97/7.12  | | 
% 45.97/7.12  | | BETA: splitting (37) gives:
% 45.97/7.12  | | 
% 45.97/7.12  | | Case 1:
% 45.97/7.12  | | | 
% 45.97/7.12  | | |   (58)   ~ (all_369_0 = 0)
% 45.97/7.12  | | | 
% 45.97/7.12  | | | GROUND_INST: instantiating (filterRowsPreservesTable) with all_332_4,
% 45.97/7.12  | | |              all_359_0, all_359_1, all_332_2, all_363_0, all_369_0,
% 45.97/7.12  | | |              simplifying with (7), (10), (18), (19), (51), (52) gives:
% 45.97/7.12  | | |   (59)  all_369_0 = 0 |  ? [v0: int] : ( ~ (v0 = 0) &
% 45.97/7.12  | | |           vwelltypedRawtable(all_332_4, all_359_0) = v0)
% 45.97/7.12  | | | 
% 45.97/7.12  | | | BETA: splitting (59) gives:
% 45.97/7.12  | | | 
% 45.97/7.12  | | | Case 1:
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | |   (60)  all_369_0 = 0
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | REDUCE: (58), (60) imply:
% 45.97/7.12  | | | |   (61)  $false
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | CLOSE: (61) is inconsistent.
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | Case 2:
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | |   (62)   ? [v0: int] : ( ~ (v0 = 0) & vwelltypedRawtable(all_332_4,
% 45.97/7.12  | | | |             all_359_0) = v0)
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | DELTA: instantiating (62) with fresh symbol all_423_0 gives:
% 45.97/7.12  | | | |   (63)   ~ (all_423_0 = 0) & vwelltypedRawtable(all_332_4, all_359_0) =
% 45.97/7.12  | | | |         all_423_0
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | ALPHA: (63) implies:
% 45.97/7.12  | | | |   (64)   ~ (all_423_0 = 0)
% 45.97/7.12  | | | |   (65)  vwelltypedRawtable(all_332_4, all_359_0) = all_423_0
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | GROUND_INST: instantiating (3) with 0, all_423_0, all_359_0, all_332_4,
% 45.97/7.12  | | | |              simplifying with (53), (65) gives:
% 45.97/7.12  | | | |   (66)  all_423_0 = 0
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | REDUCE: (64), (66) imply:
% 45.97/7.12  | | | |   (67)  $false
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | | CLOSE: (67) is inconsistent.
% 45.97/7.12  | | | | 
% 45.97/7.12  | | | End of split
% 45.97/7.12  | | | 
% 45.97/7.12  | | Case 2:
% 45.97/7.12  | | | 
% 45.97/7.12  | | |   (68)   ~ (all_369_1 = 0)
% 45.97/7.12  | | | 
% 45.97/7.12  | | | REDUCE: (56), (68) imply:
% 45.97/7.12  | | |   (69)  $false
% 45.97/7.12  | | | 
% 45.97/7.12  | | | CLOSE: (69) is inconsistent.
% 45.97/7.12  | | | 
% 45.97/7.12  | | End of split
% 45.97/7.12  | | 
% 45.97/7.12  | End of split
% 45.97/7.12  | 
% 45.97/7.12  End of proof
% 45.97/7.12  % SZS output end Proof for theBenchmark
% 45.97/7.12  
% 45.97/7.12  6664ms
%------------------------------------------------------------------------------