↑ Up

Princess---230619.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Princess---230619
% Problem  : COM310_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:44 PM UTC 2026

% Result   : Theorem 26.74s 4.18s
% Output   : Proof 37.32s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.06  % Problem  : COM310_1 : TPTP v9.3.0. Released v9.3.0.
% 0.00/0.06  % Command  : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.07/0.24  % Computer : n012.cluster.edu
% 0.07/0.24  % Model    : x86_64 x86_64
% 0.07/0.24  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.07/0.24  % Memory   : 8042.1875MB
% 0.07/0.24  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.07/0.24  % CPULimit : 300
% 0.07/0.24  % WCLimit  : 300
% 0.07/0.24  % DateTime : Mon May  4 20:48:30 EDT 2026
% 0.07/0.25  % CPUTime  : 
% 0.19/0.42  ________       _____
% 0.19/0.42  ___  __ \_________(_)________________________________
% 0.19/0.42  __  /_/ /_  ___/_  /__  __ \  ___/  _ \_  ___/_  ___/
% 0.19/0.42  _  ____/_  /   _  / _  / / / /__ /  __/(__  )_(__  )
% 0.19/0.42  /_/     /_/    /_/  /_/ /_/\___/ \___//____/ /____/
% 0.19/0.42  
% 0.19/0.42  A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.19/0.42  (2023-06-19)
% 0.19/0.42  
% 0.19/0.42  (c) Philipp Rümmer, 2009-2023
% 0.19/0.42  Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.19/0.42                Amanda Stjerna.
% 0.19/0.42  Free software under BSD-3-Clause.
% 0.19/0.42  
% 0.19/0.42  For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.19/0.42  
% 0.19/0.42  Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ...
% 0.38/0.43  Running up to 7 provers in parallel.
% 0.38/0.44  Prover 0: Options:  +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.38/0.44  Prover 1: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.38/0.44  Prover 2: Options:  +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.38/0.44  Prover 3: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.38/0.44  Prover 4: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.38/0.44  Prover 5: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 0.38/0.44  Prover 6: Options:  -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 7.77/1.69  Prover 0: Preprocessing ...
% 7.77/1.69  Prover 3: Preprocessing ...
% 8.45/1.70  Prover 5: Preprocessing ...
% 8.45/1.72  Prover 6: Preprocessing ...
% 8.45/1.72  Prover 4: Preprocessing ...
% 8.45/1.72  Prover 1: Preprocessing ...
% 8.45/1.74  Prover 2: Preprocessing ...
% 23.56/3.75  Prover 1: Warning: ignoring some quantifiers
% 24.34/3.81  Prover 3: Warning: ignoring some quantifiers
% 24.34/3.82  Prover 1: Constructing countermodel ...
% 24.34/3.82  Prover 6: Proving ...
% 24.34/3.84  Prover 4: Warning: ignoring some quantifiers
% 24.34/3.85  Prover 3: Constructing countermodel ...
% 24.34/3.89  Prover 0: Proving ...
% 25.10/3.91  Prover 4: Constructing countermodel ...
% 26.74/4.18  Prover 5: Proving ...
% 26.74/4.18  Prover 3: proved (3740ms)
% 26.74/4.18  
% 26.74/4.18  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 26.74/4.18  
% 26.74/4.19  Prover 5: stopped
% 26.74/4.19  Prover 6: stopped
% 27.33/4.20  Prover 7: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470
% 27.33/4.20  Prover 0: stopped
% 27.33/4.21  Prover 10: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=919308125
% 27.33/4.21  Prover 8: Options:  +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089
% 27.33/4.21  Prover 11: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1509710984
% 28.06/4.37  Prover 2: Proving ...
% 28.06/4.37  Prover 2: stopped
% 28.06/4.38  Prover 13: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=complete -randomSeed=1138197443
% 31.81/4.85  Prover 1: Found proof (size 35)
% 31.81/4.86  Prover 1: proved (4416ms)
% 31.81/4.86  Prover 10: Preprocessing ...
% 31.81/4.86  Prover 4: stopped
% 32.59/4.94  Prover 7: Preprocessing ...
% 32.59/4.94  Prover 11: Preprocessing ...
% 32.59/4.94  Prover 8: Preprocessing ...
% 33.46/5.02  Prover 13: Preprocessing ...
% 34.90/5.22  Prover 10: stopped
% 34.90/5.25  Prover 11: stopped
% 34.90/5.27  Prover 7: stopped
% 35.57/5.34  Prover 13: stopped
% 36.43/5.54  Prover 8: Warning: ignoring some quantifiers
% 36.43/5.58  Prover 8: Constructing countermodel ...
% 36.43/5.59  Prover 8: stopped
% 36.43/5.59  
% 36.43/5.59  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 36.43/5.59  
% 36.85/5.60  % SZS output start Proof for theBenchmark
% 36.85/5.61  Assumptions after simplification:
% 36.85/5.61  ---------------------------------
% 36.85/5.61  
% 36.85/5.61    (EQ-tcons)
% 36.85/5.64     ! [v0: vRow] :  ! [v1: vRawTable] :  ! [v2: vRow] :  ! [v3: vRawTable] :  !
% 36.85/5.64    [v4: vRawTable] : ( ~ (vtcons(v2, v3) = v4) |  ~ (vtcons(v0, v1) = v4) |  ~
% 36.85/5.64      vRawTable(v3) |  ~ vRawTable(v1) |  ~ vRow(v2) |  ~ vRow(v0) | (v3 = v1 & v2
% 36.85/5.64        = v0))
% 36.85/5.64  
% 36.85/5.64    (projectEmptyCol-1)
% 36.85/5.64    vRow(vrempty) &  ! [v0: vRow] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : ( ~
% 36.85/5.64      (vtcons(v0, v1) = v2) |  ~ vRawTable(v1) |  ~ vRow(v0) |  ? [v3: vRawTable]
% 36.85/5.64      :  ? [v4: vRawTable] : (vprojectEmptyCol(v2) = v3 & vprojectEmptyCol(v1) =
% 36.85/5.64        v4 & vtcons(vrempty, v4) = v3 & vRawTable(v4) & vRawTable(v3)))
% 36.85/5.64  
% 36.85/5.64    (projectEmptyCol-INV)
% 36.85/5.64    vRawTable(vtempty) & vRow(vrempty) &  ! [v0: vRawTable] :  ! [v1: vRawTable] :
% 36.85/5.64    ( ~ (vprojectEmptyCol(v0) = v1) |  ~ vRawTable(v0) |  ? [v2: vRow] :  ? [v3:
% 36.85/5.64        vRawTable] :  ? [v4: vRawTable] : (vprojectEmptyCol(v3) = v4 & vtcons(v2,
% 36.85/5.64          v3) = v0 & vtcons(vrempty, v4) = v1 & vRawTable(v4) & vRawTable(v3) &
% 36.85/5.64        vRawTable(v1) & vRow(v2)) | (v1 = vtempty & v0 = vtempty))
% 36.85/5.64  
% 36.85/5.64    (welltypedEmptyProjection-tcons)
% 36.85/5.64    vTType(vttempty) & vRawTable(vrt2) &  ? [v0: vRow] :  ? [v1: vRawTable] :  ?
% 36.85/5.64    [v2: vRawTable] :  ? [v3: int] : ( ~ (v3 = 0) & vprojectEmptyCol(v1) = v2 &
% 36.85/5.64      vwelltypedRawtable(vttempty, v2) = v3 & vtcons(v0, vrt2) = v1 &
% 36.85/5.64      vRawTable(v2) & vRawTable(v1) & vRow(v0))
% 36.85/5.64  
% 36.85/5.64    (welltypedEmptyProjection-tcons-IH0)
% 36.85/5.64    vTType(vttempty) & vRawTable(vrt2) &  ? [v0: vRawTable] :
% 36.85/5.64    (vprojectEmptyCol(vrt2) = v0 & vwelltypedRawtable(vttempty, v0) = 0 &
% 36.85/5.64      vRawTable(v0))
% 36.85/5.64  
% 36.85/5.64    (welltypedRawtable-false-INV)
% 36.85/5.65     ! [v0: vTType] :  ! [v1: vRawTable] :  ! [v2: int] : (v2 = 0 |  ~
% 36.85/5.65      (vwelltypedRawtable(v0, v1) = v2) |  ~ vTType(v0) |  ~ vRawTable(v1) |  ?
% 36.85/5.65      [v3: vRow] :  ? [v4: vRawTable] :  ? [v5: any] :  ? [v6: any] :
% 36.85/5.65      (vwelltypedRawtable(v0, v4) = v6 & vwelltypedRow(v0, v3) = v5 & vtcons(v3,
% 36.85/5.65          v4) = v1 & vRawTable(v4) & vRow(v3) & ( ~ (v6 = 0) |  ~ (v5 = 0))))
% 36.85/5.65  
% 36.85/5.65    (welltypedRow-0)
% 36.85/5.65    vwelltypedRow(vttempty, vrempty) = 0 & vTType(vttempty) & vRow(vrempty)
% 36.85/5.65  
% 36.85/5.65    (function-axioms)
% 36.85/5.67     ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vTType] :  !
% 36.85/5.67    [v3: vQuery] :  ! [v4: vTTContext] : (v1 = v0 |  ~ (vptcheck(v4, v3, v2) = v1)
% 36.85/5.67      |  ~ (vptcheck(v4, v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable]
% 36.85/5.67    :  ! [v2: vPred] :  ! [v3: vAttrL] :  ! [v4: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vfilterRows(v4, v3, v2) = v1) |  ~ (vfilterRows(v4, v3, v2) = v0)) &  !
% 36.85/5.67    [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRow] :  ! [v3:
% 36.85/5.67      vAttrL] :  ! [v4: vPred] : (v1 = v0 |  ~ (vfilterSingleRow(v4, v3, v2) = v1)
% 36.85/5.67      |  ~ (vfilterSingleRow(v4, v3, v2) = v0)) &  ! [v0: vOptVal] :  ! [v1:
% 36.85/5.67      vOptVal] :  ! [v2: vRow] :  ! [v3: vAttrL] :  ! [v4: vExp] : (v1 = v0 |  ~
% 36.85/5.67      (vevalExpRow(v4, v3, v2) = v1) |  ~ (vevalExpRow(v4, v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vOptRawTable] :  ! [v1: vOptRawTable] :  ! [v2: vRawTable] :  ! [v3:
% 36.85/5.67      vAttrL] :  ! [v4: vAttrL] : (v1 = v0 |  ~ (vprojectCols(v4, v3, v2) = v1) | 
% 36.85/5.67      ~ (vprojectCols(v4, v3, v2) = v0)) &  ! [v0: vOptRawTable] :  ! [v1:
% 36.85/5.67      vOptRawTable] :  ! [v2: vRawTable] :  ! [v3: vAttrL] :  ! [v4: vName] : (v1
% 36.85/5.67      = v0 |  ~ (vfindCol(v4, v3, v2) = v1) |  ~ (vfindCol(v4, v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vTStore] :  ! [v1: vTStore] :  ! [v2: vTStore] :  ! [v3: vTable] :  !
% 36.85/5.67    [v4: vName] : (v1 = v0 |  ~ (vbindStore(v4, v3, v2) = v1) |  ~ (vbindStore(v4,
% 36.85/5.67          v3, v2) = v0)) &  ! [v0: vTTContext] :  ! [v1: vTTContext] :  ! [v2:
% 36.85/5.67      vTTContext] :  ! [v3: vTType] :  ! [v4: vName] : (v1 = v0 |  ~
% 36.85/5.67      (vbindContext(v4, v3, v2) = v1) |  ~ (vbindContext(v4, v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vTType] :  ! [v1: vTType] :  ! [v2: vTType] :  ! [v3: vFType] :  ! [v4:
% 36.85/5.67      vName] : (v1 = v0 |  ~ (vttcons(v4, v3, v2) = v1) |  ~ (vttcons(v4, v3, v2)
% 36.85/5.67        = v0)) &  ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vPred] :  ! [v3:
% 36.85/5.67      vName] :  ! [v4: vSelect] : (v1 = v0 |  ~ (vselectFromWhere(v4, v3, v2) =
% 36.85/5.67        v1) |  ~ (vselectFromWhere(v4, v3, v2) = v0)) &  ! [v0: MultipleValueBool]
% 36.85/5.67    :  ! [v1: MultipleValueBool] :  ! [v2: vTTContext] :  ! [v3: vTStore] : (v1 =
% 36.85/5.67      v0 |  ~ (vstoreContextConsistent(v3, v2) = v1) |  ~
% 36.85/5.67      (vstoreContextConsistent(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  !
% 36.85/5.67    [v1: MultipleValueBool] :  ! [v2: vTType] :  ! [v3: vPred] : (v1 = v0 |  ~
% 36.85/5.67      (vtcheckPred(v3, v2) = v1) |  ~ (vtcheckPred(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      vOptFType] :  ! [v1: vOptFType] :  ! [v2: vTType] :  ! [v3: vExp] : (v1 = v0
% 36.85/5.67      |  ~ (vtypeOfExp(v3, v2) = v1) |  ~ (vtypeOfExp(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTType] :  ! [v3: vSelect] : (v1 =
% 36.85/5.67      v0 |  ~ (vprojectType(v3, v2) = v1) |  ~ (vprojectType(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTType] :  ! [v3: vAttrL] : (v1
% 36.85/5.67      = v0 |  ~ (vprojectTypeAttrL(v3, v2) = v1) |  ~ (vprojectTypeAttrL(v3, v2) =
% 36.85/5.67        v0)) &  ! [v0: vOptFType] :  ! [v1: vOptFType] :  ! [v2: vTType] :  ! [v3:
% 36.85/5.67      vName] : (v1 = v0 |  ~ (vfindColType(v3, v2) = v1) |  ~ (vfindColType(v3,
% 36.85/5.67          v2) = v0)) &  ! [v0: vOptQuery] :  ! [v1: vOptQuery] :  ! [v2: vTStore]
% 36.85/5.67    :  ! [v3: vQuery] : (v1 = v0 |  ~ (vreduce(v3, v2) = v1) |  ~ (vreduce(v3, v2)
% 36.85/5.67        = v0)) &  ! [v0: vTable] :  ! [v1: vTable] :  ! [v2: vPred] :  ! [v3:
% 36.85/5.67      vTable] : (v1 = v0 |  ~ (vfilterTable(v3, v2) = v1) |  ~ (vfilterTable(v3,
% 36.85/5.67          v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] : 
% 36.85/5.67    ! [v2: vVal] :  ! [v3: vVal] : (v1 = v0 |  ~ (vlessThan(v3, v2) = v1) |  ~
% 36.85/5.67      (vlessThan(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 36.85/5.67      MultipleValueBool] :  ! [v2: vVal] :  ! [v3: vVal] : (v1 = v0 |  ~
% 36.85/5.67      (vgreaterThan(v3, v2) = v1) |  ~ (vgreaterThan(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      vOptTable] :  ! [v1: vOptTable] :  ! [v2: vTable] :  ! [v3: vSelect] : (v1 =
% 36.85/5.67      v0 |  ~ (vprojectTable(v3, v2) = v1) |  ~ (vprojectTable(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vOptTType] :  ! [v1: vOptTType] :  ! [v2: vTTContext] :  ! [v3: vName] :
% 36.85/5.67    (v1 = v0 |  ~ (vlookupContext(v3, v2) = v1) |  ~ (vlookupContext(v3, v2) =
% 36.85/5.67        v0)) &  ! [v0: vOptTable] :  ! [v1: vOptTable] :  ! [v2: vTStore] :  !
% 36.85/5.67    [v3: vName] : (v1 = v0 |  ~ (vlookupStore(v3, v2) = v1) |  ~ (vlookupStore(v3,
% 36.85/5.67          v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2:
% 36.85/5.67      vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~ (vrawDifference(v3, v2) =
% 36.85/5.67        v1) |  ~ (vrawDifference(v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1:
% 36.85/5.67      vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vrawIntersection(v3, v2) = v1) |  ~ (vrawIntersection(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable]
% 36.85/5.67    : (v1 = v0 |  ~ (vrawUnion(v3, v2) = v1) |  ~ (vrawUnion(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] :  ! [v3: vRawTable]
% 36.85/5.67    : (v1 = v0 |  ~ (vattachColToFrontRaw(v3, v2) = v1) |  ~
% 36.85/5.67      (vattachColToFrontRaw(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 36.85/5.67      MultipleValueBool] :  ! [v2: vRawTable] :  ! [v3: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vsameLength(v3, v2) = v1) |  ~ (vsameLength(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRawTable] :  !
% 36.85/5.67    [v3: vRow] : (v1 = v0 |  ~ (vrowIn(v3, v2) = v1) |  ~ (vrowIn(v3, v2) = v0)) &
% 36.85/5.67     ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vTable] :  !
% 36.85/5.67    [v3: vTType] : (v1 = v0 |  ~ (vwelltypedtable(v3, v2) = v1) |  ~
% 36.85/5.67      (vwelltypedtable(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 36.85/5.67      MultipleValueBool] :  ! [v2: vRawTable] :  ! [v3: vTType] : (v1 = v0 |  ~
% 36.85/5.67      (vwelltypedRawtable(v3, v2) = v1) |  ~ (vwelltypedRawtable(v3, v2) = v0)) & 
% 36.85/5.67    ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRow] :  !
% 36.85/5.67    [v3: vTType] : (v1 = v0 |  ~ (vwelltypedRow(v3, v2) = v1) |  ~
% 36.85/5.67      (vwelltypedRow(v3, v2) = v0)) &  ! [v0: MultipleValueBool] :  ! [v1:
% 36.85/5.67      MultipleValueBool] :  ! [v2: vAttrL] :  ! [v3: vTType] : (v1 = v0 |  ~
% 36.85/5.67      (vmatchingAttrL(v3, v2) = v1) |  ~ (vmatchingAttrL(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      vAttrL] :  ! [v1: vAttrL] :  ! [v2: vAttrL] :  ! [v3: vAttrL] : (v1 = v0 | 
% 36.85/5.67      ~ (vappend(v3, v2) = v1) |  ~ (vappend(v3, v2) = v0)) &  ! [v0: vAttrL] :  !
% 36.85/5.67    [v1: vAttrL] :  ! [v2: vAttrL] :  ! [v3: vName] : (v1 = v0 |  ~ (vacons(v3,
% 36.85/5.67          v2) = v1) |  ~ (vacons(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1: vPred]
% 36.85/5.67    :  ! [v2: vExp] :  ! [v3: vExp] : (v1 = v0 |  ~ (vlt(v3, v2) = v1) |  ~
% 36.85/5.67      (vlt(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1: vPred] :  ! [v2: vExp] :  !
% 36.85/5.67    [v3: vExp] : (v1 = v0 |  ~ (vgt(v3, v2) = v1) |  ~ (vgt(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vPred] :  ! [v1: vPred] :  ! [v2: vExp] :  ! [v3: vExp] : (v1 = v0 |  ~
% 36.85/5.67      (veq(v3, v2) = v1) |  ~ (veq(v3, v2) = v0)) &  ! [v0: vPred] :  ! [v1:
% 36.85/5.67      vPred] :  ! [v2: vPred] :  ! [v3: vPred] : (v1 = v0 |  ~ (vand(v3, v2) = v1)
% 36.85/5.67      |  ~ (vand(v3, v2) = v0)) &  ! [v0: vTable] :  ! [v1: vTable] :  ! [v2:
% 36.85/5.67      vRawTable] :  ! [v3: vAttrL] : (v1 = v0 |  ~ (vtable(v3, v2) = v1) |  ~
% 36.85/5.67      (vtable(v3, v2) = v0)) &  ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2:
% 36.85/5.67      vRawTable] :  ! [v3: vRow] : (v1 = v0 |  ~ (vtcons(v3, v2) = v1) |  ~
% 36.85/5.67      (vtcons(v3, v2) = v0)) &  ! [v0: vRow] :  ! [v1: vRow] :  ! [v2: vRow] :  !
% 36.85/5.67    [v3: vVal] : (v1 = v0 |  ~ (vrcons(v3, v2) = v1) |  ~ (vrcons(v3, v2) = v0)) &
% 36.85/5.67     ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 =
% 36.85/5.67      v0 |  ~ (vDifference(v3, v2) = v1) |  ~ (vDifference(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 = v0
% 36.85/5.67      |  ~ (vIntersection(v3, v2) = v1) |  ~ (vIntersection(v3, v2) = v0)) &  !
% 36.85/5.67    [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vQuery] :  ! [v3: vQuery] : (v1 = v0
% 36.85/5.67      |  ~ (vUnion(v3, v2) = v1) |  ~ (vUnion(v3, v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptFType] : (v1 =
% 36.85/5.67      v0 |  ~ (visSomeFType(v2) = v1) |  ~ (visSomeFType(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptVal] : (v1 =
% 36.85/5.67      v0 |  ~ (visSomeVal(v2) = v1) |  ~ (visSomeVal(v2) = v0)) &  ! [v0:
% 36.85/5.67      vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vprojectEmptyCol(v2) = v1) |  ~ (vprojectEmptyCol(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptQuery] : (v1 =
% 36.85/5.67      v0 |  ~ (visSomeQuery(v2) = v1) |  ~ (visSomeQuery(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vQuery] : (v1 = v0
% 36.85/5.67      |  ~ (visValue(v2) = v1) |  ~ (visValue(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptTType] : (v1 =
% 36.85/5.67      v0 |  ~ (visSomeTType(v2) = v1) |  ~ (visSomeTType(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptTable] : (v1 =
% 36.85/5.67      v0 |  ~ (visSomeTable(v2) = v1) |  ~ (visSomeTable(v2) = v0)) &  ! [v0:
% 36.85/5.67      MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vOptRawTable] :
% 36.85/5.67    (v1 = v0 |  ~ (visSomeRawTable(v2) = v1) |  ~ (visSomeRawTable(v2) = v0)) &  !
% 36.85/5.67    [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vdropFirstColRaw(v2) = v1) |  ~ (vdropFirstColRaw(v2) = v0)) &  ! [v0:
% 36.85/5.67      vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0 |  ~
% 36.85/5.67      (vprojectFirstRaw(v2) = v1) |  ~ (vprojectFirstRaw(v2) = v0)) &  ! [v0:
% 36.85/5.67      vFType] :  ! [v1: vFType] :  ! [v2: vVal] : (v1 = v0 |  ~ (vfieldType(v2) =
% 36.85/5.67        v1) |  ~ (vfieldType(v2) = v0)) &  ! [v0: vAttrL] :  ! [v1: vAttrL] :  !
% 36.85/5.67    [v2: vTable] : (v1 = v0 |  ~ (vgetAttrL(v2) = v1) |  ~ (vgetAttrL(v2) = v0)) &
% 36.85/5.67     ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vTable] : (v1 = v0 |  ~
% 36.85/5.67      (vgetRaw(v2) = v1) |  ~ (vgetRaw(v2) = v0)) &  ! [v0: vFType] :  ! [v1:
% 36.85/5.67      vFType] :  ! [v2: vOptFType] : (v1 = v0 |  ~ (vgetFType(v2) = v1) |  ~
% 36.85/5.67      (vgetFType(v2) = v0)) &  ! [v0: vVal] :  ! [v1: vVal] :  ! [v2: vOptVal] :
% 36.85/5.67    (v1 = v0 |  ~ (vgetVal(v2) = v1) |  ~ (vgetVal(v2) = v0)) &  ! [v0: vQuery] : 
% 36.85/5.67    ! [v1: vQuery] :  ! [v2: vOptQuery] : (v1 = v0 |  ~ (vgetQuery(v2) = v1) |  ~
% 36.85/5.67      (vgetQuery(v2) = v0)) &  ! [v0: vTType] :  ! [v1: vTType] :  ! [v2:
% 36.85/5.67      vOptTType] : (v1 = v0 |  ~ (vgetTType(v2) = v1) |  ~ (vgetTType(v2) = v0)) &
% 36.85/5.67     ! [v0: vTable] :  ! [v1: vTable] :  ! [v2: vOptTable] : (v1 = v0 |  ~
% 36.85/5.67      (vgetTable(v2) = v1) |  ~ (vgetTable(v2) = v0)) &  ! [v0: vRawTable] :  !
% 36.85/5.67    [v1: vRawTable] :  ! [v2: vOptRawTable] : (v1 = v0 |  ~ (vgetRawTable(v2) =
% 36.85/5.67        v1) |  ~ (vgetRawTable(v2) = v0)) &  ! [v0: vOptFType] :  ! [v1:
% 36.85/5.67      vOptFType] :  ! [v2: vFType] : (v1 = v0 |  ~ (vsomeFType(v2) = v1) |  ~
% 36.85/5.67      (vsomeFType(v2) = v0)) &  ! [v0: vVal] :  ! [v1: vVal] :  ! [v2: vVal] : (v1
% 36.85/5.67      = v0 |  ~ (venumVal(v2) = v1) |  ~ (venumVal(v2) = v0)) &  ! [v0: vPred] : 
% 36.85/5.67    ! [v1: vPred] :  ! [v2: vPred] : (v1 = v0 |  ~ (vnot(v2) = v1) |  ~ (vnot(v2)
% 36.85/5.67        = v0)) &  ! [v0: vOptVal] :  ! [v1: vOptVal] :  ! [v2: vVal] : (v1 = v0 | 
% 36.85/5.67      ~ (vsomeVal(v2) = v1) |  ~ (vsomeVal(v2) = v0)) &  ! [v0: vExp] :  ! [v1:
% 36.85/5.67      vExp] :  ! [v2: vName] : (v1 = v0 |  ~ (vlookup(v2) = v1) |  ~ (vlookup(v2)
% 36.85/5.67        = v0)) &  ! [v0: vExp] :  ! [v1: vExp] :  ! [v2: vVal] : (v1 = v0 |  ~
% 36.85/5.67      (vconstant(v2) = v1) |  ~ (vconstant(v2) = v0)) &  ! [v0: vName] :  ! [v1:
% 36.85/5.67      vName] :  ! [v2: vName] : (v1 = v0 |  ~ (venumName(v2) = v1) |  ~
% 36.85/5.67      (venumName(v2) = v0)) &  ! [v0: vOptQuery] :  ! [v1: vOptQuery] :  ! [v2:
% 36.85/5.67      vQuery] : (v1 = v0 |  ~ (vsomeQuery(v2) = v1) |  ~ (vsomeQuery(v2) = v0)) & 
% 36.85/5.67    ! [v0: vFType] :  ! [v1: vFType] :  ! [v2: vFType] : (v1 = v0 |  ~
% 36.85/5.67      (venumFType(v2) = v1) |  ~ (venumFType(v2) = v0)) &  ! [v0: vOptTType] :  !
% 36.85/5.67    [v1: vOptTType] :  ! [v2: vTType] : (v1 = v0 |  ~ (vsomeTType(v2) = v1) |  ~
% 36.85/5.67      (vsomeTType(v2) = v0)) &  ! [v0: vOptRawTable] :  ! [v1: vOptRawTable] :  !
% 36.85/5.67    [v2: vRawTable] : (v1 = v0 |  ~ (vsomeRawTable(v2) = v1) |  ~
% 36.85/5.67      (vsomeRawTable(v2) = v0)) &  ! [v0: vOptTable] :  ! [v1: vOptTable] :  !
% 36.85/5.67    [v2: vTable] : (v1 = v0 |  ~ (vsomeTable(v2) = v1) |  ~ (vsomeTable(v2) = v0))
% 36.85/5.67    &  ! [v0: vQuery] :  ! [v1: vQuery] :  ! [v2: vTable] : (v1 = v0 |  ~
% 36.85/5.67      (vtvalue(v2) = v1) |  ~ (vtvalue(v2) = v0)) &  ! [v0: vSelect] :  ! [v1:
% 36.85/5.67      vSelect] :  ! [v2: vAttrL] : (v1 = v0 |  ~ (vlist(v2) = v1) |  ~ (vlist(v2)
% 36.85/5.67        = v0))
% 36.85/5.67  
% 36.85/5.67  Further assumptions not needed in the proof:
% 36.85/5.67  --------------------------------------------
% 36.85/5.67  DIFF-Intersection-Difference, DIFF-Union-Difference, DIFF-Union-Intersection,
% 36.85/5.67  DIFF-aempty-acons, DIFF-all-list, DIFF-and-eq, DIFF-and-gt, DIFF-and-lt,
% 36.85/5.68  DIFF-and-not, DIFF-constant-lookup, DIFF-emptyContext-bindContext,
% 36.85/5.68  DIFF-emptyStore-bindStore, DIFF-eq-gt, DIFF-eq-lt, DIFF-gt-lt,
% 36.85/5.68  DIFF-initFType-enumFType, DIFF-initName-enumName, DIFF-initVal-enumVal,
% 36.85/5.68  DIFF-noFType-someFType, DIFF-noQuery-someQuery, DIFF-noRawTable-someRawTable,
% 36.85/5.68  DIFF-noTType-someTType, DIFF-noTable-someTable, DIFF-noVal-someVal, DIFF-not-eq,
% 36.85/5.68  DIFF-not-gt, DIFF-not-lt, DIFF-ptrue-and, DIFF-ptrue-eq, DIFF-ptrue-gt,
% 36.85/5.68  DIFF-ptrue-lt, DIFF-ptrue-not, DIFF-rempty-rcons,
% 36.85/5.68  DIFF-selectFromWhere-Difference, DIFF-selectFromWhere-Intersection,
% 36.85/5.68  DIFF-selectFromWhere-Union, DIFF-tempty-tcons, DIFF-ttempty-ttcons,
% 36.85/5.68  DIFF-tvalue-Difference, DIFF-tvalue-Intersection, DIFF-tvalue-Union,
% 36.85/5.68  DIFF-tvalue-selectFromWhere, EQ-Difference, EQ-Intersection, EQ-Union, EQ-acons,
% 36.85/5.68  EQ-and, EQ-bindContext, EQ-bindStore, EQ-constant, EQ-enumFType, EQ-enumName,
% 36.85/5.68  EQ-enumVal, EQ-eq, EQ-gt, EQ-list, EQ-lookup, EQ-lt, EQ-not, EQ-rcons,
% 36.85/5.68  EQ-selectFromWhere, EQ-someFType, EQ-someQuery, EQ-someRawTable, EQ-someTType,
% 36.85/5.68  EQ-someTable, EQ-someVal, EQ-table, EQ-ttcons, EQ-tvalue, TDifference,
% 36.85/5.68  TDifference_inv1, TDifference_inv2, TIntersection, TIntersection_inv1,
% 36.85/5.68  TIntersection_inv2, TSelectFromWhere, TSelectFromWhere_inv, TTTContextDuplicate,
% 36.85/5.68  TTTContextSwap, TUnion, TUnion_inv1, TUnion_inv2, Ttvalue, Ttvalue_inv,
% 36.85/5.68  append-0, append-1, append-INV, attachColToFrontRaw-0, attachColToFrontRaw-1,
% 36.85/5.68  attachColToFrontRaw-2, attachColToFrontRaw-INV, dom-AttrL, dom-Exp,
% 36.85/5.68  dom-OptFType, dom-OptQuery, dom-OptRawTable, dom-OptTType, dom-OptTable,
% 36.85/5.68  dom-OptVal, dom-Pred, dom-Query, dom-RawTable, dom-Row, dom-Select, dom-TStore,
% 36.85/5.68  dom-TTContext, dom-TType, dom-Table, dropFirstColRaw-0, dropFirstColRaw-1,
% 36.85/5.68  dropFirstColRaw-2, dropFirstColRaw-INV, evalExpRow-0, evalExpRow-1,
% 36.85/5.68  evalExpRow-2, evalExpRow-3, evalExpRow-INV, filterRows-0, filterRows-1,
% 36.85/5.68  filterRows-2, filterRows-INV, filterSingleRow-0, filterSingleRow-1,
% 36.85/5.68  filterSingleRow-2, filterSingleRow-3, filterSingleRow-4, filterSingleRow-5,
% 36.85/5.68  filterSingleRow-false-INV, filterSingleRow-true-INV, filterTable-0,
% 36.85/5.68  filterTable-INV, findCol-0, findCol-1, findCol-2, findCol-INV, findColType-0,
% 36.85/5.68  findColType-1, findColType-2, findColType-INV, getAttrL-0, getAttrL-INV,
% 36.85/5.68  getFType-0, getQuery-0, getRaw-0, getRaw-INV, getRawTable-0, getTType-0,
% 36.85/5.68  getTable-0, getVal-0, isSomeFType-0, isSomeFType-1, isSomeFType-false-INV,
% 36.85/5.68  isSomeFType-true-INV, isSomeQuery-0, isSomeQuery-1, isSomeQuery-false-INV,
% 36.85/5.68  isSomeQuery-true-INV, isSomeRawTable-0, isSomeRawTable-1,
% 36.85/5.68  isSomeRawTable-false-INV, isSomeRawTable-true-INV, isSomeTType-0, isSomeTType-1,
% 36.85/5.68  isSomeTType-false-INV, isSomeTType-true-INV, isSomeTable-0, isSomeTable-1,
% 36.85/5.68  isSomeTable-false-INV, isSomeTable-true-INV, isSomeVal-0, isSomeVal-1,
% 36.85/5.68  isSomeVal-false-INV, isSomeVal-true-INV, isValue-0, isValue-1, isValue-2,
% 36.85/5.68  isValue-3, isValue-4, isValue-false-INV, isValue-true-INV, lookupContext-0,
% 36.85/5.68  lookupContext-1, lookupContext-2, lookupContext-INV, lookupStore-0,
% 36.85/5.68  lookupStore-1, lookupStore-2, lookupStore-INV, matchingAttrL-0, matchingAttrL-1,
% 36.85/5.68  matchingAttrL-2, matchingAttrL-false-INV, matchingAttrL-true-INV, projectCols-0,
% 36.85/5.68  projectCols-1, projectCols-2, projectCols-INV, projectEmptyCol-0,
% 36.85/5.68  projectFirstRaw-0, projectFirstRaw-1, projectFirstRaw-2, projectFirstRaw-INV,
% 36.85/5.68  projectTable-0, projectTable-1, projectTable-2, projectTable-INV, projectType-0,
% 36.85/5.68  projectType-1, projectType-INV, projectTypeAttrL-0, projectTypeAttrL-1,
% 36.85/5.68  projectTypeAttrL-2, projectTypeAttrL-INV, rawDifference-0, rawDifference-1,
% 36.85/5.68  rawDifference-2, rawDifference-3, rawDifference-4, rawDifference-INV,
% 36.85/5.68  rawIntersection-0, rawIntersection-1, rawIntersection-2, rawIntersection-3,
% 36.85/5.68  rawIntersection-4, rawIntersection-INV, rawUnion-0, rawUnion-1, rawUnion-2,
% 36.85/5.68  rawUnion-INV, reduce-0, reduce-1, reduce-10, reduce-11, reduce-12, reduce-13,
% 36.85/5.68  reduce-14, reduce-15, reduce-16, reduce-17, reduce-18, reduce-2, reduce-3,
% 36.85/5.68  reduce-4, reduce-5, reduce-6, reduce-7, reduce-8, reduce-9, reduce-INV, rowIn-0,
% 36.85/5.68  rowIn-1, rowIn-false-INV, rowIn-true-INV, sameLength-0, sameLength-1,
% 36.85/5.68  sameLength-2, sameLength-false-INV, sameLength-true-INV,
% 36.85/5.68  storeContextConsistent-0, storeContextConsistent-1, storeContextConsistent-2,
% 36.85/5.68  storeContextConsistent-false-INV, storeContextConsistent-true-INV, tcheckPred-0,
% 36.85/5.68  tcheckPred-1, tcheckPred-2, tcheckPred-3, tcheckPred-4, tcheckPred-5,
% 36.85/5.68  tcheckPred-false-INV, tcheckPred-true-INV, typeOfExp-0, typeOfExp-1,
% 36.85/5.68  typeOfExp-2, typeOfExp-3, typeOfExp-INV, welltypedRawtable-0,
% 36.85/5.68  welltypedRawtable-1, welltypedRawtable-true-INV, welltypedRow-1, welltypedRow-2,
% 36.85/5.68  welltypedRow-false-INV, welltypedRow-true-INV, welltypedtable-0,
% 36.85/5.68  welltypedtable-false-INV, welltypedtable-true-INV
% 36.85/5.68  
% 36.85/5.68  Those formulas are unsatisfiable:
% 36.85/5.68  ---------------------------------
% 36.85/5.68  
% 36.85/5.68  Begin of proof
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (welltypedRow-0) implies:
% 36.85/5.68  |   (1)  vwelltypedRow(vttempty, vrempty) = 0
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (projectEmptyCol-1) implies:
% 36.85/5.68  |   (2)   ! [v0: vRow] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : ( ~
% 36.85/5.68  |          (vtcons(v0, v1) = v2) |  ~ vRawTable(v1) |  ~ vRow(v0) |  ? [v3:
% 36.85/5.68  |            vRawTable] :  ? [v4: vRawTable] : (vprojectEmptyCol(v2) = v3 &
% 36.85/5.68  |            vprojectEmptyCol(v1) = v4 & vtcons(vrempty, v4) = v3 &
% 36.85/5.68  |            vRawTable(v4) & vRawTable(v3)))
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (projectEmptyCol-INV) implies:
% 36.85/5.68  |   (3)  vRow(vrempty)
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (welltypedEmptyProjection-tcons-IH0) implies:
% 36.85/5.68  |   (4)   ? [v0: vRawTable] : (vprojectEmptyCol(vrt2) = v0 &
% 36.85/5.68  |          vwelltypedRawtable(vttempty, v0) = 0 & vRawTable(v0))
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (welltypedEmptyProjection-tcons) implies:
% 36.85/5.68  |   (5)  vRawTable(vrt2)
% 36.85/5.68  |   (6)  vTType(vttempty)
% 36.85/5.68  |   (7)   ? [v0: vRow] :  ? [v1: vRawTable] :  ? [v2: vRawTable] :  ? [v3: int]
% 36.85/5.68  |        : ( ~ (v3 = 0) & vprojectEmptyCol(v1) = v2 &
% 36.85/5.68  |          vwelltypedRawtable(vttempty, v2) = v3 & vtcons(v0, vrt2) = v1 &
% 36.85/5.68  |          vRawTable(v2) & vRawTable(v1) & vRow(v0))
% 36.85/5.68  | 
% 36.85/5.68  | ALPHA: (function-axioms) implies:
% 36.85/5.68  |   (8)   ! [v0: vRawTable] :  ! [v1: vRawTable] :  ! [v2: vRawTable] : (v1 = v0
% 36.85/5.68  |          |  ~ (vprojectEmptyCol(v2) = v1) |  ~ (vprojectEmptyCol(v2) = v0))
% 36.85/5.68  |   (9)   ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2: vRow]
% 36.85/5.68  |        :  ! [v3: vTType] : (v1 = v0 |  ~ (vwelltypedRow(v3, v2) = v1) |  ~
% 36.85/5.68  |          (vwelltypedRow(v3, v2) = v0))
% 36.85/5.68  |   (10)   ! [v0: MultipleValueBool] :  ! [v1: MultipleValueBool] :  ! [v2:
% 36.85/5.68  |           vRawTable] :  ! [v3: vTType] : (v1 = v0 |  ~ (vwelltypedRawtable(v3,
% 36.85/5.68  |               v2) = v1) |  ~ (vwelltypedRawtable(v3, v2) = v0))
% 36.85/5.68  | 
% 36.85/5.68  | DELTA: instantiating (4) with fresh symbol all_313_0 gives:
% 36.85/5.69  |   (11)  vprojectEmptyCol(vrt2) = all_313_0 & vwelltypedRawtable(vttempty,
% 36.85/5.69  |           all_313_0) = 0 & vRawTable(all_313_0)
% 36.85/5.69  | 
% 36.85/5.69  | ALPHA: (11) implies:
% 36.85/5.69  |   (12)  vwelltypedRawtable(vttempty, all_313_0) = 0
% 36.85/5.69  |   (13)  vprojectEmptyCol(vrt2) = all_313_0
% 36.85/5.69  | 
% 36.85/5.69  | DELTA: instantiating (7) with fresh symbols all_333_0, all_333_1, all_333_2,
% 36.85/5.69  |        all_333_3 gives:
% 36.85/5.69  |   (14)   ~ (all_333_0 = 0) & vprojectEmptyCol(all_333_2) = all_333_1 &
% 36.85/5.69  |         vwelltypedRawtable(vttempty, all_333_1) = all_333_0 &
% 36.85/5.69  |         vtcons(all_333_3, vrt2) = all_333_2 & vRawTable(all_333_1) &
% 36.85/5.69  |         vRawTable(all_333_2) & vRow(all_333_3)
% 36.85/5.69  | 
% 36.85/5.69  | ALPHA: (14) implies:
% 36.85/5.69  |   (15)   ~ (all_333_0 = 0)
% 36.85/5.69  |   (16)  vRow(all_333_3)
% 36.85/5.69  |   (17)  vRawTable(all_333_1)
% 36.85/5.69  |   (18)  vtcons(all_333_3, vrt2) = all_333_2
% 36.85/5.69  |   (19)  vwelltypedRawtable(vttempty, all_333_1) = all_333_0
% 36.85/5.69  |   (20)  vprojectEmptyCol(all_333_2) = all_333_1
% 36.85/5.69  | 
% 36.85/5.69  | GROUND_INST: instantiating (2) with all_333_3, vrt2, all_333_2, simplifying
% 36.85/5.69  |              with (5), (16), (18) gives:
% 36.85/5.69  |   (21)   ? [v0: vRawTable] :  ? [v1: vRawTable] : (vprojectEmptyCol(all_333_2)
% 36.85/5.69  |           = v0 & vprojectEmptyCol(vrt2) = v1 & vtcons(vrempty, v1) = v0 &
% 36.85/5.69  |           vRawTable(v1) & vRawTable(v0))
% 36.85/5.69  | 
% 36.85/5.69  | GROUND_INST: instantiating (welltypedRawtable-false-INV) with vttempty,
% 36.85/5.69  |              all_333_1, all_333_0, simplifying with (6), (17), (19) gives:
% 36.85/5.69  |   (22)  all_333_0 = 0 |  ? [v0: vRow] :  ? [v1: vRawTable] :  ? [v2: any] :  ?
% 36.85/5.69  |         [v3: any] : (vwelltypedRawtable(vttempty, v1) = v3 &
% 36.85/5.69  |           vwelltypedRow(vttempty, v0) = v2 & vtcons(v0, v1) = all_333_1 &
% 36.85/5.69  |           vRawTable(v1) & vRow(v0) & ( ~ (v3 = 0) |  ~ (v2 = 0)))
% 36.85/5.69  | 
% 36.85/5.69  | DELTA: instantiating (21) with fresh symbols all_356_0, all_356_1 gives:
% 36.85/5.69  |   (23)  vprojectEmptyCol(all_333_2) = all_356_1 & vprojectEmptyCol(vrt2) =
% 36.85/5.69  |         all_356_0 & vtcons(vrempty, all_356_0) = all_356_1 &
% 36.85/5.69  |         vRawTable(all_356_0) & vRawTable(all_356_1)
% 36.85/5.69  | 
% 36.85/5.69  | ALPHA: (23) implies:
% 36.85/5.69  |   (24)  vRawTable(all_356_0)
% 36.85/5.69  |   (25)  vtcons(vrempty, all_356_0) = all_356_1
% 36.85/5.69  |   (26)  vprojectEmptyCol(vrt2) = all_356_0
% 36.85/5.69  |   (27)  vprojectEmptyCol(all_333_2) = all_356_1
% 36.85/5.69  | 
% 36.85/5.69  | BETA: splitting (22) gives:
% 36.85/5.69  | 
% 36.85/5.69  | Case 1:
% 36.85/5.69  | | 
% 36.85/5.69  | |   (28)  all_333_0 = 0
% 36.85/5.69  | | 
% 36.85/5.69  | | REDUCE: (15), (28) imply:
% 36.85/5.69  | |   (29)  $false
% 36.85/5.69  | | 
% 36.85/5.69  | | CLOSE: (29) is inconsistent.
% 36.85/5.69  | | 
% 36.85/5.69  | Case 2:
% 36.85/5.69  | | 
% 36.85/5.69  | |   (30)   ? [v0: vRow] :  ? [v1: vRawTable] :  ? [v2: any] :  ? [v3: any] :
% 36.85/5.69  | |         (vwelltypedRawtable(vttempty, v1) = v3 & vwelltypedRow(vttempty, v0)
% 36.85/5.69  | |           = v2 & vtcons(v0, v1) = all_333_1 & vRawTable(v1) & vRow(v0) & ( ~
% 36.85/5.69  | |             (v3 = 0) |  ~ (v2 = 0)))
% 36.85/5.69  | | 
% 36.85/5.69  | | DELTA: instantiating (30) with fresh symbols all_368_0, all_368_1,
% 36.85/5.69  | |        all_368_2, all_368_3 gives:
% 36.85/5.69  | |   (31)  vwelltypedRawtable(vttempty, all_368_2) = all_368_0 &
% 36.85/5.69  | |         vwelltypedRow(vttempty, all_368_3) = all_368_1 & vtcons(all_368_3,
% 36.85/5.69  | |           all_368_2) = all_333_1 & vRawTable(all_368_2) & vRow(all_368_3) &
% 36.85/5.69  | |         ( ~ (all_368_0 = 0) |  ~ (all_368_1 = 0))
% 36.85/5.69  | | 
% 36.85/5.69  | | ALPHA: (31) implies:
% 36.85/5.69  | |   (32)  vRow(all_368_3)
% 36.85/5.70  | |   (33)  vRawTable(all_368_2)
% 36.85/5.70  | |   (34)  vtcons(all_368_3, all_368_2) = all_333_1
% 36.85/5.70  | |   (35)  vwelltypedRow(vttempty, all_368_3) = all_368_1
% 36.85/5.70  | |   (36)  vwelltypedRawtable(vttempty, all_368_2) = all_368_0
% 36.85/5.70  | |   (37)   ~ (all_368_0 = 0) |  ~ (all_368_1 = 0)
% 36.85/5.70  | | 
% 36.85/5.70  | | GROUND_INST: instantiating (8) with all_313_0, all_356_0, vrt2, simplifying
% 36.85/5.70  | |              with (13), (26) gives:
% 36.85/5.70  | |   (38)  all_356_0 = all_313_0
% 36.85/5.70  | | 
% 37.32/5.70  | | GROUND_INST: instantiating (8) with all_333_1, all_356_1, all_333_2,
% 37.32/5.70  | |              simplifying with (20), (27) gives:
% 37.32/5.70  | |   (39)  all_356_1 = all_333_1
% 37.32/5.70  | | 
% 37.32/5.70  | | REDUCE: (25), (38), (39) imply:
% 37.32/5.70  | |   (40)  vtcons(vrempty, all_313_0) = all_333_1
% 37.32/5.70  | | 
% 37.32/5.70  | | REDUCE: (24), (38) imply:
% 37.32/5.70  | |   (41)  vRawTable(all_313_0)
% 37.32/5.70  | | 
% 37.32/5.70  | | GROUND_INST: instantiating (EQ-tcons) with vrempty, all_313_0, all_368_3,
% 37.32/5.70  | |              all_368_2, all_333_1, simplifying with (3), (32), (33), (34),
% 37.32/5.70  | |              (40), (41) gives:
% 37.32/5.70  | |   (42)  all_368_2 = all_313_0 & all_368_3 = vrempty
% 37.32/5.70  | | 
% 37.32/5.70  | | ALPHA: (42) implies:
% 37.32/5.70  | |   (43)  all_368_3 = vrempty
% 37.32/5.70  | |   (44)  all_368_2 = all_313_0
% 37.32/5.70  | | 
% 37.32/5.70  | | REDUCE: (36), (44) imply:
% 37.32/5.70  | |   (45)  vwelltypedRawtable(vttempty, all_313_0) = all_368_0
% 37.32/5.70  | | 
% 37.32/5.70  | | REDUCE: (35), (43) imply:
% 37.32/5.70  | |   (46)  vwelltypedRow(vttempty, vrempty) = all_368_1
% 37.32/5.70  | | 
% 37.32/5.70  | | GROUND_INST: instantiating (9) with 0, all_368_1, vrempty, vttempty,
% 37.32/5.70  | |              simplifying with (1), (46) gives:
% 37.32/5.70  | |   (47)  all_368_1 = 0
% 37.32/5.70  | | 
% 37.32/5.70  | | GROUND_INST: instantiating (10) with 0, all_368_0, all_313_0, vttempty,
% 37.32/5.70  | |              simplifying with (12), (45) gives:
% 37.32/5.70  | |   (48)  all_368_0 = 0
% 37.32/5.70  | | 
% 37.32/5.70  | | BETA: splitting (37) gives:
% 37.32/5.70  | | 
% 37.32/5.70  | | Case 1:
% 37.32/5.70  | | | 
% 37.32/5.70  | | |   (49)   ~ (all_368_0 = 0)
% 37.32/5.70  | | | 
% 37.32/5.70  | | | REDUCE: (48), (49) imply:
% 37.32/5.70  | | |   (50)  $false
% 37.32/5.70  | | | 
% 37.32/5.70  | | | CLOSE: (50) is inconsistent.
% 37.32/5.70  | | | 
% 37.32/5.70  | | Case 2:
% 37.32/5.70  | | | 
% 37.32/5.70  | | |   (51)   ~ (all_368_1 = 0)
% 37.32/5.70  | | | 
% 37.32/5.70  | | | REDUCE: (47), (51) imply:
% 37.32/5.70  | | |   (52)  $false
% 37.32/5.70  | | | 
% 37.32/5.70  | | | CLOSE: (52) is inconsistent.
% 37.32/5.70  | | | 
% 37.32/5.70  | | End of split
% 37.32/5.70  | | 
% 37.32/5.70  | End of split
% 37.32/5.70  | 
% 37.32/5.70  End of proof
% 37.32/5.70  % SZS output end Proof for theBenchmark
% 37.32/5.70  
% 37.32/5.70  5277ms
%------------------------------------------------------------------------------