ITP001 Axioms: ITP042+5.ax
%------------------------------------------------------------------------------
% File : ITP042+5 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 set theory export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : patternMatches+2.ax [Gau20]
% : HL4042+5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 170 ( 8 unt; 0 def)
% Number of atoms : 1223 ( 188 equ)
% Maximal formula atoms : 32 ( 7 avg)
% Number of connectives : 1072 ( 19 ~; 4 |; 78 &)
% ( 43 <=>; 928 =>; 0 <=; 0 <~>)
% Maximal formula depth : 40 ( 12 avg)
% Maximal term depth : 11 ( 2 avg)
% Number of predicates : 5 ( 3 usr; 1 prp; 0-2 aty)
% Number of functors : 124 ( 124 usr; 19 con; 0-9 aty)
% Number of variables : 982 ( 968 !; 14 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27a),arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))) ) ).
fof(mem_c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),arr(bool,arr(ty_2Elist_2Elist(bool),bool))))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),arr(A_27b,arr(ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),A_27a))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__EQUIV__ROWS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),bool)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__EXPAND__PRED,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),arr(arr(A_27a,bool),arr(A_27b,arr(ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),arr(ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),bool))))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__FLATTEN__FUN,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> mem(c_2EpatternMatches_2EPMATCH__FLATTEN__FUN(A_27a,A_27b,A_27c),arr(arr(A_27b,A_27c),arr(arr(A_27b,bool),arr(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27a))),arr(A_27c,ty_2Eoption_2Eoption(A_27a)))))) ) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__INCOMPLETE,axiom,
! [A_27a] :
( ne(A_27a)
=> mem(c_2EpatternMatches_2EPMATCH__INCOMPLETE(A_27a),A_27a) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),bool))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> mem(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),arr(arr(A_27b,A_27c),arr(arr(A_27b,bool),arr(arr(A_27b,A_27a),arr(A_27c,ty_2Eoption_2Eoption(A_27a)))))) ) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__COND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27a,A_27b),arr(arr(A_27a,A_27b),arr(arr(A_27a,bool),arr(A_27b,arr(A_27a,bool))))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__COND__EX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),arr(A_27a,arr(arr(A_27b,A_27a),arr(arr(A_27b,bool),bool)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),arr(A_27a,arr(arr(A_27a,ty_2Eoption_2Eoption(A_27b)),arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),bool)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__LIFT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__LIFT(A_27a,A_27b,A_27c),arr(arr(A_27c,A_27b),arr(arr(A_27a,ty_2Eoption_2Eoption(A_27c)),arr(A_27a,ty_2Eoption_2Eoption(A_27b))))) ) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),arr(ty_2Enum_2Enum,bool)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__magic__0,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__magic__0(A_27a,A_27b),arr(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(bool,A_27b)),arr(A_27a,ty_2Eoption_2Eoption(A_27b)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__magic__1,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__magic__1(A_27a,A_27b,A_27c),arr(arr(A_27a,ty_2Epair_2Eprod(A_27b,ty_2Epair_2Eprod(bool,A_27c))),arr(A_27b,ty_2Eoption_2Eoption(A_27c)))) ) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__magic__2,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__magic__2(A_27a,A_27b),arr(A_27a,arr(bool,arr(A_27b,ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(bool,A_27b)))))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__magic__3,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__magic__3(A_27a,A_27b),arr(A_27a,arr(A_27b,ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(bool,A_27b))))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__ROW__magic__4,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__ROW__magic__4(A_27a,A_27b),arr(ty_2Epair_2Eprod(A_27a,ty_2Epair_2Eprod(bool,A_27b)),arr(A_27a,ty_2Eoption_2Eoption(A_27b)))) ) ) ).
fof(mem_c_2EpatternMatches_2EPMATCH__magic__1,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2EPMATCH__magic__1(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),A_27b))) ) ) ).
fof(mem_c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,axiom,
mem(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(bool),ty_2Elist_2Elist(bool)))) ).
fof(mem_c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ,axiom,
mem(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ,arr(ty_2Elist_2Elist(bool),arr(ty_2Elist_2Elist(bool),ty_2Elist_2Elist(bool)))) ).
fof(mem_c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ty_2Elist_2Elist(bool)))) ) ) ).
fof(mem_c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> mem(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),arr(A_27a,arr(ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),arr(bool,arr(ty_2Elist_2Elist(bool),ty_2Epair_2Eprod(bool,ty_2Elist_2Elist(bool))))))) ) ) ).
fof(conj_thm_2EpatternMatches_2Esome__var__bool__T,axiom,
ap(c_2Eoption_2Esome(bool),i(bool)) = ap(c_2Eoption_2ESOME(bool),c_2Ebool_2ET) ).
fof(lameq_f821,axiom,
! [V0x] : ap(f821,V0x) = ap(c_2Ebool_2E_7E,V0x) ).
fof(conj_thm_2EpatternMatches_2Esome__var__bool__F,axiom,
ap(c_2Eoption_2Esome(bool),f821) = ap(c_2Eoption_2ESOME(bool),c_2Ebool_2EF) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__COND__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0pat] :
( mem(V0pat,arr(A_27a,A_27b))
=> ! [V1guard] :
( mem(V1guard,arr(A_27a,bool))
=> ! [V2inp] :
( mem(V2inp,A_27b)
=> ! [V3v] :
( mem(V3v,A_27a)
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27a,A_27b),V0pat),V1guard),V2inp),V3v))
<=> ( ap(V0pat,V3v) = V2inp
& p(ap(V1guard,V3v)) ) ) ) ) ) ) ) ) ).
fof(lameq_f822,axiom,
! [A_27c,A_27b,V3i] :
( mem(V3i,A_27c)
=> ! [V0pat] :
( mem(V0pat,arr(A_27b,A_27c))
=> ! [V1guard] :
( mem(V1guard,arr(A_27b,bool))
=> ! [V4v] : ap(f822(A_27c,A_27b,V3i,V0pat,V1guard),V4v) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27c),V0pat),V1guard),V3i),V4v) ) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0pat] :
( mem(V0pat,arr(A_27b,A_27c))
=> ! [V1guard] :
( mem(V1guard,arr(A_27b,bool))
=> ! [V2rhs] :
( mem(V2rhs,arr(A_27b,A_27a))
=> ! [V3i] :
( mem(V3i,A_27c)
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0pat),V1guard),V2rhs),V3i) = ap(ap(c_2Eoption_2EOPTION__MAP(A_27b,A_27a),V2rhs),ap(c_2Eoption_2Esome(A_27b),f822(A_27c,A_27b,V3i,V0pat,V1guard))) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__INCOMPLETE__def,axiom,
! [A_27a] :
( ne(A_27a)
=> c_2EpatternMatches_2EPMATCH__INCOMPLETE(A_27a) = c_2Ebool_2EARB(A_27a) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0v] :
( mem(V0v,A_27b)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27b,ty_2Eoption_2Eoption(A_27a)))) = c_2EpatternMatches_2EPMATCH__INCOMPLETE(A_27a) )
& ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2r] :
( mem(V2r,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
=> ! [V3rs] :
( mem(V3rs,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V2r),V3rs)) = ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27a,A_27a),ap(V2r,V1v)),ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),V3rs)),c_2Ecombin_2EI(A_27a)) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__CONG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1p_27] :
( mem(V1p_27,arr(A_27a,A_27b))
=> ! [V2g] :
( mem(V2g,arr(A_27a,bool))
=> ! [V3g_27] :
( mem(V3g_27,arr(A_27a,bool))
=> ! [V4r] :
( mem(V4r,arr(A_27a,A_27c))
=> ! [V5r_27] :
( mem(V5r_27,arr(A_27a,A_27c))
=> ! [V6v] :
( mem(V6v,A_27b)
=> ! [V7v_27] :
( mem(V7v_27,A_27b)
=> ( ( V0p = V1p_27
& V6v = V7v_27
& ! [V8x] :
( mem(V8x,A_27a)
=> ( V6v = ap(V0p,V8x)
=> ( p(ap(V2g,V8x))
<=> p(ap(V3g_27,V8x)) ) ) )
& ! [V9x] :
( mem(V9x,A_27a)
=> ( ( V6v = ap(V0p,V9x)
& p(ap(V2g,V9x)) )
=> ap(V4r,V9x) = ap(V5r_27,V9x) ) ) )
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V0p),V2g),V4r),V6v) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V1p_27),V3g_27),V5r_27),V7v_27) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__CONG,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1v_27] :
( mem(V1v_27,A_27a)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3rows_27] :
( mem(V3rows_27,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V4r] :
( mem(V4r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V5r_27] :
( mem(V5r_27,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ( ( V0v = V1v_27
& ap(V4r,V1v_27) = ap(V5r_27,V1v_27)
& ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V1v_27),V2rows) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V1v_27),V3rows_27) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V4r),V2rows)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V1v_27),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V5r_27),V3rows_27)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__EQ__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27a))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2p_27] :
( mem(V2p_27,arr(A_27c,A_27a))
=> ! [V3g_27] :
( mem(V3g_27,arr(A_27c,bool))
=> ! [V4r] :
( mem(V4r,arr(A_27b,A_27d))
=> ! [V5r_27] :
( mem(V5r_27,arr(A_27c,A_27d))
=> ( ( ! [V6i] :
( mem(V6i,A_27a)
=> ( ? [V7x] :
( mem(V7x,A_27b)
& p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27a),V0p),V1g),V6i),V7x)) )
<=> ? [V8x_27] :
( mem(V8x_27,A_27c)
& p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27c,A_27a),V2p_27),V3g_27),V6i),V8x_27)) ) ) )
& ! [V9x] :
( mem(V9x,A_27b)
=> ! [V10x_27] :
( mem(V10x_27,A_27c)
=> ( ( ap(V0p,V9x) = ap(V2p_27,V10x_27)
& p(ap(V1g,V9x))
& p(ap(V3g_27,V10x_27)) )
=> ap(V4r,V9x) = ap(V5r_27,V10x_27) ) ) ) )
=> ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27b,A_27a),V0p),V1g),V4r) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27c,A_27a),V2p_27),V3g_27),V5r_27) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__EQ__NONE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27b,A_27a))
=> ! [V3i] :
( mem(V3i,A_27c)
=> ( ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0p),V1g),V2r),V3i) = c_2Eoption_2ENONE(A_27a)
<=> ! [V4x] :
( mem(V4x,A_27b)
=> ~ p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27c),V0p),V1g),V3i),V4x)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__EQ__SOME,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27b,A_27a))
=> ! [V3i] :
( mem(V3i,A_27c)
=> ! [V4y] :
( mem(V4y,A_27a)
=> ( ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0p),V1g),V2r),V3i) = ap(c_2Eoption_2ESOME(A_27a),V4y)
=> ? [V5x] :
( mem(V5x,A_27b)
& p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27c),V0p),V1g),V3i),V5x))
& V4y = ap(V2r,V5x) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f823,axiom,
! [A_27b,A_27a,V2i] :
( mem(V2i,A_27b)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1g] :
( mem(V1g,arr(A_27a,bool))
=> ! [V6y] : ap(f823(A_27b,A_27a,V2i,V0p,V1g),V6y) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27a,A_27b),V0p),V1g),V2i),V6y) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__COND__SELECT__UNIQUE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1g] :
( mem(V1g,arr(A_27a,bool))
=> ! [V2i] :
( mem(V2i,A_27b)
=> ( ! [V3x1] :
( mem(V3x1,A_27a)
=> ! [V4x2] :
( mem(V4x2,A_27a)
=> ( ( p(ap(V1g,V3x1))
& p(ap(V1g,V4x2))
& ap(V0p,V3x1) = ap(V0p,V4x2) )
=> V3x1 = V4x2 ) ) )
=> ! [V5x] :
( mem(V5x,A_27a)
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27a,A_27b),V0p),V1g),V2i),V5x))
=> ap(c_2Emin_2E_40(A_27a),f823(A_27b,A_27a,V2i,V0p,V1g)) = V5x ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__DEF__GSYM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0pat] :
( mem(V0pat,arr(A_27a,A_27b))
=> ! [V1guard] :
( mem(V1guard,arr(A_27a,bool))
=> ! [V2inp] :
( mem(V2inp,A_27b)
=> ! [V3v] :
( mem(V3v,A_27a)
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27a,A_27b),V0pat),V1guard),V2inp),V3v))
<=> ( V2inp = ap(V0pat,V3v)
& p(ap(V1guard,V3v)) ) ) ) ) ) ) ) ) ).
fof(lameq_f824,axiom,
! [A_27b,A_27d,V0v] :
( mem(V0v,A_27b)
=> ! [V1p] :
( mem(V1p,arr(A_27d,A_27b))
=> ! [V2g] :
( mem(V2g,arr(A_27d,bool))
=> ! [V5x] : ap(f824(A_27b,A_27d,V0v,V1p,V2g),V5x) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27d,A_27b),V1p),V2g),V0v),V5x) ) ) ) ).
fof(lameq_f825,axiom,
! [A_27b,A_27d,V0v] :
( mem(V0v,A_27b)
=> ! [V1p] :
( mem(V1p,arr(A_27d,A_27b))
=> ! [V2g] :
( mem(V2g,arr(A_27d,bool))
=> ! [V6x] : ap(f825(A_27b,A_27d,V0v,V1p,V2g),V6x) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27d,A_27b),V1p),V2g),V0v),V6x) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EVAL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0v] :
( mem(V0v,A_27b)
=> ! [V1p] :
( mem(V1p,arr(A_27d,A_27b))
=> ! [V2g] :
( mem(V2g,arr(A_27d,bool))
=> ! [V3r] :
( mem(V3r,arr(A_27d,A_27c))
=> ! [V4rs] :
( mem(V4rs,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ( ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27b,ty_2Eoption_2Eoption(A_27a)))) = c_2EpatternMatches_2EPMATCH__INCOMPLETE(A_27a)
& ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27d,A_27b),V1p),V2g),V3r)),V4rs)) = ap(ap(ap(c_2Ebool_2ECOND(A_27c),ap(c_2Ebool_2E_3F(A_27d),f824(A_27b,A_27d,V0v,V1p,V2g))),ap(V3r,ap(c_2Emin_2E_40(A_27d),f825(A_27b,A_27d,V0v,V1p,V2g)))),ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V0v),V4rs)) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f826,axiom,
! [A_27c,A_27b,V3v] :
( mem(V3v,A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V5x] : ap(f826(A_27c,A_27b,V3v,V0p,V1g),V5x) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27c),V0p),V1g),V3v),V5x) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EVAL__MATCH,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27b,A_27a))
=> ! [V3v] :
( mem(V3v,A_27c)
=> ! [V4rs] :
( mem(V4rs,ty_2Elist_2Elist(arr(A_27c,ty_2Eoption_2Eoption(A_27a))))
=> ( ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0p),V1g),V2r),V3v) != c_2Eoption_2ENONE(A_27a)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27c),V3v),ap(ap(c_2Elist_2ECONS(arr(A_27c,ty_2Eoption_2Eoption(A_27a))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0p),V1g),V2r)),V4rs)) = ap(V2r,ap(c_2Emin_2E_40(A_27b),f826(A_27c,A_27b,V3v,V0p,V1g))) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXTEND__BASE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v__old] :
( mem(V0v__old,A_27a)
=> ! [V1v__new] :
( mem(V1v__new,A_27b)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v__old),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27c)))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V1v__new),c_2Elist_2ENIL(arr(A_27b,ty_2Eoption_2Eoption(A_27c)))) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXTEND__BOTH,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v__old] :
( mem(V0v__old,A_27a)
=> ! [V1v__new] :
( mem(V1v__new,A_27b)
=> ! [V2rows__old] :
( mem(V2rows__old,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ! [V3rows__new] :
( mem(V3rows__new,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V4r__old] :
( mem(V4r__old,arr(A_27a,ty_2Eoption_2Eoption(A_27c)))
=> ! [V5r__new] :
( mem(V5r__new,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))
=> ( ap(V4r__old,V0v__old) = ap(V5r__new,V1v__new)
=> ( ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v__old),V2rows__old) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V1v__new),V3rows__new)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v__old),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V4r__old),V2rows__old)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V1v__new),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V5r__new),V3rows__new)) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXTEND__BOTH__ID,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows__old] :
( mem(V1rows__old,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows__new] :
( mem(V2rows__new,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3r] :
( mem(V3r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ( ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V1rows__old) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V2rows__new)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3r),V1rows__old)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3r),V2rows__new)) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXTEND__OLD,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v__old] :
( mem(V0v__old,A_27a)
=> ! [V1v__new] :
( mem(V1v__new,A_27b)
=> ! [V2rows__old] :
( mem(V2rows__old,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ! [V3rows__new] :
( mem(V3rows__new,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V4r__old] :
( mem(V4r__old,arr(A_27a,ty_2Eoption_2Eoption(A_27c)))
=> ( ap(V4r__old,V0v__old) = c_2Eoption_2ENONE(A_27c)
=> ( ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v__old),V2rows__old) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V1v__new),V3rows__new)
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v__old),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V4r__old),V2rows__old)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V1v__new),V3rows__new) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f827,axiom,
! [A_27a,A_27b,A_27c,V2p] :
( mem(V2p,arr(A_27c,A_27a))
=> ! [V0ff] :
( mem(V0ff,arr(A_27a,A_27b))
=> ! [V7x] : ap(f827(A_27a,A_27b,A_27c,V2p,V0ff),V7x) = ap(V0ff,ap(V2p,V7x)) ) ) ).
fof(lameq_f828,axiom,
! [A_27a,A_27c,V2p] :
( mem(V2p,arr(A_27c,A_27a))
=> ! [V8x] : ap(f828(A_27a,A_27c,V2p),V8x) = ap(V2p,V8x) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REMOVE__FUN,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0ff] :
( mem(V0ff,arr(A_27a,A_27b))
=> ! [V1v] :
( mem(V1v,A_27a)
=> ! [V2p] :
( mem(V2p,arr(A_27c,A_27a))
=> ! [V3g] :
( mem(V3g,arr(A_27c,bool))
=> ! [V4r] :
( mem(V4r,arr(A_27c,A_27d))
=> ( ! [V5x] :
( mem(V5x,A_27a)
=> ! [V6y] :
( mem(V6y,A_27a)
=> ( ap(V0ff,V5x) = ap(V0ff,V6y)
=> V5x = V6y ) ) )
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27c,A_27b),f827(A_27a,A_27b,A_27c,V2p,V0ff)),V3g),V4r),ap(V0ff,V1v)) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27c,A_27a),f828(A_27a,A_27c,V2p)),V3g),V4r),V1v) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f829,axiom,
! [A_27e,A_27b,A_27c,A_27d,V5g] :
( mem(V5g,arr(A_27c,arr(A_27e,bool)))
=> ! [V7p_27] :
( mem(V7p_27,arr(A_27d,A_27b))
=> ! [V2f_27] :
( mem(V2f_27,arr(A_27b,A_27c))
=> ! [V3f] :
( mem(V3f,arr(A_27d,A_27e))
=> ! [V13x] : ap(f829(A_27e,A_27b,A_27c,A_27d,V5g,V7p_27,V2f_27,V3f),V13x) = ap(ap(V5g,ap(V2f_27,ap(V7p_27,V13x))),ap(V3f,V13x)) ) ) ) ) ).
fof(lameq_f830,axiom,
! [A_27e,A_27f,A_27c,A_27b,A_27d,V6r] :
( mem(V6r,arr(A_27c,arr(A_27e,A_27f)))
=> ! [V7p_27] :
( mem(V7p_27,arr(A_27d,A_27b))
=> ! [V2f_27] :
( mem(V2f_27,arr(A_27b,A_27c))
=> ! [V3f] :
( mem(V3f,arr(A_27d,A_27e))
=> ! [V14x] : ap(f830(A_27e,A_27f,A_27c,A_27b,A_27d,V6r,V7p_27,V2f_27,V3f),V14x) = ap(ap(V6r,ap(V2f_27,ap(V7p_27,V14x))),ap(V3f,V14x)) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__EXTEND__INPUT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [A_27e] :
( ne(A_27e)
=> ! [A_27f] :
( ne(A_27f)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1v_27] :
( mem(V1v_27,A_27b)
=> ! [V2f_27] :
( mem(V2f_27,arr(A_27b,A_27c))
=> ! [V3f] :
( mem(V3f,arr(A_27d,A_27e))
=> ! [V4p] :
( mem(V4p,arr(A_27e,A_27a))
=> ! [V5g] :
( mem(V5g,arr(A_27c,arr(A_27e,bool)))
=> ! [V6r] :
( mem(V6r,arr(A_27c,arr(A_27e,A_27f)))
=> ! [V7p_27] :
( mem(V7p_27,arr(A_27d,A_27b))
=> ( ( ! [V8x_27] :
( mem(V8x_27,A_27d)
=> ( V1v_27 = ap(V7p_27,V8x_27)
=> ap(V4p,ap(V3f,V8x_27)) = V0v ) )
& ! [V9x] :
( mem(V9x,A_27e)
=> ( V0v = ap(V4p,V9x)
=> ? [V10x_27] :
( mem(V10x_27,A_27d)
& ap(V7p_27,V10x_27) = V1v_27 ) ) )
& ! [V11x] :
( mem(V11x,A_27e)
=> ! [V12y] :
( mem(V12y,A_27e)
=> ( ap(V4p,V11x) = ap(V4p,V12y)
=> V11x = V12y ) ) ) )
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27f,A_27e,A_27a),V4p),ap(V5g,ap(V2f_27,V1v_27))),ap(V6r,ap(V2f_27,V1v_27))),V0v) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27f,A_27d,A_27b),V7p_27),f829(A_27e,A_27b,A_27c,A_27d,V5g,V7p_27,V2f_27,V3f)),f830(A_27e,A_27f,A_27c,A_27b,A_27d,V6r,V7p_27,V2f_27,V3f)),V1v_27) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f831,axiom,
! [A_27d,A_27c,V2f] :
( mem(V2f,arr(A_27c,A_27d))
=> ! [V4g] :
( mem(V4g,arr(A_27d,bool))
=> ! [V12x] : ap(f831(A_27d,A_27c,V2f,V4g),V12x) = ap(V4g,ap(V2f,V12x)) ) ) ).
fof(lameq_f832,axiom,
! [A_27d,A_27e,A_27c,V2f] :
( mem(V2f,arr(A_27c,A_27d))
=> ! [V5r] :
( mem(V5r,arr(A_27d,A_27e))
=> ! [V13x] : ap(f832(A_27d,A_27e,A_27c,V2f,V5r),V13x) = ap(V5r,ap(V2f,V13x)) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REMOVE__FUN__VAR,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [A_27e] :
( ne(A_27e)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1v_27] :
( mem(V1v_27,A_27b)
=> ! [V2f] :
( mem(V2f,arr(A_27c,A_27d))
=> ! [V3p] :
( mem(V3p,arr(A_27d,A_27a))
=> ! [V4g] :
( mem(V4g,arr(A_27d,bool))
=> ! [V5r] :
( mem(V5r,arr(A_27d,A_27e))
=> ! [V6p_27] :
( mem(V6p_27,arr(A_27c,A_27b))
=> ( ( ! [V7x_27] :
( mem(V7x_27,A_27c)
=> ( V1v_27 = ap(V6p_27,V7x_27)
<=> ap(V3p,ap(V2f,V7x_27)) = V0v ) )
& ! [V8x] :
( mem(V8x,A_27d)
=> ( V0v = ap(V3p,V8x)
=> ? [V9x_27] :
( mem(V9x_27,A_27c)
& ap(V2f,V9x_27) = V8x ) ) )
& ! [V10x] :
( mem(V10x,A_27d)
=> ! [V11y] :
( mem(V11y,A_27d)
=> ( ap(V3p,V10x) = ap(V3p,V11y)
=> V10x = V11y ) ) ) )
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27e,A_27d,A_27a),V3p),V4g),V5r),V0v) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27e,A_27c,A_27b),V6p_27),f831(A_27d,A_27c,V2f,V4g)),f832(A_27d,A_27e,A_27c,V2f,V5r)),V1v_27) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V2rows2))
<=> ( ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V1rows1) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V2rows2)
& ( ? [V3r] :
( mem(V3r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
& p(ap(ap(c_2Ebool_2EIN(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3r),ap(c_2Elist_2ELIST__TO__SET(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows1)))
& p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(V3r,V0v))) )
<=> ? [V4r] :
( mem(V4r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
& p(ap(ap(c_2Ebool_2EIN(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V4r),ap(c_2Elist_2ELIST__TO__SET(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows2)))
& p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(V4r,V0v))) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__EQUIV__EXPAND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V2rows2))
<=> ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1) = ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V2rows2) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__is__equiv__1,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows),V1rows)) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__is__equiv__2,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V2rows2))
<=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V2rows2),V1rows1)) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__is__equiv__3,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3rows3] :
( mem(V3rows3,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V2rows2))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V2rows2),V3rows3))
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V3rows3)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__MATCH,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1),V2rows2))
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V1rows1) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V2rows2) ) ) ) ) ) ) ).
fof(lameq_f833,axiom,
! [A_27a,A_27b,V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V3r] : ap(f833(A_27a,A_27b,V1rows1,V0v),V3r) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Ebool_2EIN(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3r),ap(c_2Elist_2ELIST__TO__SET(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows1))),ap(c_2Eoption_2EIS__SOME(A_27b),ap(V3r,V0v))) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__APPEND__SEM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1] :
( mem(V1rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows2] :
( mem(V2rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows1),V2rows2)) = ap(ap(ap(c_2Ebool_2ECOND(A_27b),ap(c_2Ebool_2E_3F(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f833(A_27a,A_27b,V1rows1,V0v))),ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V1rows1)),ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V2rows2)) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__APPEND,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows1a] :
( mem(V1rows1a,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rows1b] :
( mem(V2rows1b,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3rows2a] :
( mem(V3rows2a,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V4rows2b] :
( mem(V4rows2b,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows1a),V2rows1b))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V3rows2a),V4rows2b))
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows1a),V3rows2a)),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows1b),V4rows2b))) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EQUIV__ROWS__CONS__NONE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0row] :
( mem(V0row,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
=> ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( ap(V0row,V1v) = c_2Eoption_2ENONE(A_27a)
=> ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27b,A_27a),V1v),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V0row),V2rows)) = ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27b,A_27a),V1v),V2rows) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__REDUNDANT__TRIVIAL__SOUNDNESS__EQUIV,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,V2n),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)))
& p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2n),V1rows),V0v))) )
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V1rows),ap(ap(c_2Elist_2ETAKE(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(c_2Enum_2ESUC,V2n)),V1rows))) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__REDUNDANT__TRIVIAL__SOUNDNESS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2n] :
( mem(V2n,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Eprim__rec_2E_3C,V2n),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)))
& p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2n),V1rows),V0v))) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V1rows) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2ETAKE(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(c_2Enum_2ESUC,V2n)),V1rows)) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__REDUNDANT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0r1] :
( mem(V0r1,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V1r2] :
( mem(V1r2,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rows1] :
( mem(V2rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3rows2] :
( mem(V3rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V4rows3] :
( mem(V4rows3,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V5v] :
( mem(V5v,A_27a)
=> ( ( p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(V1r2,V5v)))
=> p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(V0r1,V5v))) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V5v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V0r1),V3rows2))),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r2),V4rows3))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V5v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V0r1),V3rows2))),V4rows3)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__REDUNDANT__PMATCH__ROWS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1g] :
( mem(V1g,arr(A_27a,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27a,A_27c))
=> ! [V3p_27] :
( mem(V3p_27,arr(A_27d,A_27b))
=> ! [V4g_27] :
( mem(V4g_27,arr(A_27d,bool))
=> ! [V5r_27] :
( mem(V5r_27,arr(A_27d,A_27c))
=> ! [V6rows1] :
( mem(V6rows1,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V7rows2] :
( mem(V7rows2,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V8rows3] :
( mem(V8rows3,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V9v] :
( mem(V9v,A_27b)
=> ( ! [V10x_27] :
( mem(V10x_27,A_27d)
=> ( ( V9v = ap(V3p_27,V10x_27)
& p(ap(V4g_27,V10x_27)) )
=> ? [V11x] :
( mem(V11x,A_27a)
& ap(V3p_27,V10x_27) = ap(V0p,V11x)
& p(ap(V1g,V11x)) ) ) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V9v),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V6rows1),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V0p),V1g),V2r)),V7rows2))),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27d,A_27b),V3p_27),V4g_27),V5r_27)),V8rows3))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V9v),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V6rows1),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V0p),V1g),V2r)),V7rows2))),V8rows3)) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f834,axiom,
! [A_27a,A_27b,V5v] :
( mem(V5v,A_27a)
=> ! [V7row] : ap(f834(A_27a,A_27b,V5v),V7row) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V7row,V5v)),c_2Eoption_2ENONE(A_27b)) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__SUBSUMED,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0r1] :
( mem(V0r1,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V1r2] :
( mem(V1r2,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rows1] :
( mem(V2rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3rows2] :
( mem(V3rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V4rows3] :
( mem(V4rows3,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V5v] :
( mem(V5v,A_27a)
=> ( ( ! [V6x] :
( mem(V6x,A_27b)
=> ( ap(V0r1,V5v) = ap(c_2Eoption_2ESOME(A_27b),V6x)
=> ap(V1r2,V5v) = ap(c_2Eoption_2ESOME(A_27b),V6x) ) )
& ( p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(V0r1,V5v)))
=> p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f834(A_27a,A_27b,V5v)),V3rows2)) ) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V5v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V0r1),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3rows2),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r2),V4rows3))))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V5v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows1),V3rows2)),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r2),V4rows3))) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f835,axiom,
! [A_27a,A_27b,A_27c,V14x] :
( mem(V14x,A_27a)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V15row] : ap(f835(A_27a,A_27b,A_27c,V14x,V0p),V15row) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27c)),ap(V15row,ap(V0p,V14x))),c_2Eoption_2ENONE(A_27c)) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__SUBSUMED__PMATCH__ROWS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1g] :
( mem(V1g,arr(A_27a,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27a,A_27c))
=> ! [V3p_27] :
( mem(V3p_27,arr(A_27d,A_27b))
=> ! [V4g_27] :
( mem(V4g_27,arr(A_27d,bool))
=> ! [V5r_27] :
( mem(V5r_27,arr(A_27d,A_27c))
=> ! [V6rows1] :
( mem(V6rows1,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V7rows2] :
( mem(V7rows2,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V8rows3] :
( mem(V8rows3,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ! [V9v] :
( mem(V9v,A_27b)
=> ( ( ! [V10x] :
( mem(V10x,A_27a)
=> ( ( V9v = ap(V0p,V10x)
& p(ap(V1g,V10x)) )
=> ? [V11x_27] :
( mem(V11x_27,A_27d)
& ap(V0p,V10x) = ap(V3p_27,V11x_27)
& p(ap(V4g_27,V11x_27)) ) ) )
& ! [V12x] :
( mem(V12x,A_27a)
=> ! [V13x_27] :
( mem(V13x_27,A_27d)
=> ( ( V9v = ap(V0p,V12x)
& ap(V0p,V12x) = ap(V3p_27,V13x_27)
& p(ap(V1g,V12x))
& p(ap(V4g_27,V13x_27)) )
=> ap(V2r,V12x) = ap(V5r_27,V13x_27) ) ) )
& ! [V14x] :
( mem(V14x,A_27a)
=> ( ( V9v = ap(V0p,V14x)
& p(ap(V1g,V14x)) )
=> p(ap(ap(c_2Elist_2EEVERY(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),f835(A_27a,A_27b,A_27c,V14x,V0p)),V7rows2)) ) ) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V9v),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V6rows1),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V0p),V1g),V2r)),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V7rows2),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27d,A_27b),V3p_27),V4g_27),V5r_27)),V8rows3))))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V9v),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(c_2Elist_2EAPPEND(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),V6rows1),V7rows2)),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27d,A_27b),V3p_27),V4g_27),V5r_27)),V8rows3))) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__REMOVE__ARB,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V1g] :
( mem(V1g,arr(A_27a,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27a,A_27c))
=> ! [V3v] :
( mem(V3v,A_27b)
=> ! [V4rows] :
( mem(V4rows,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27c))))
=> ( ! [V5x] :
( mem(V5x,A_27a)
=> ap(V2r,V5x) = c_2Ebool_2EARB(A_27c) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V3v),ap(ap(c_2Elist_2ESNOC(arr(A_27b,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27a,A_27b),V0p),V1g),V2r)),V4rows)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V3v),V4rows) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__INTRO__CATCHALL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27b)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V0v),V1rows) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ESNOC(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27b),i(A_27b)),k(A_27b,c_2Ebool_2ET)),k(A_27b,c_2Ebool_2EARB(A_27a)))),V1rows)) ) ) ) ) ).
fof(lameq_f836,axiom,
! [A_27b,A_27a,A_27c,V7x] :
( mem(V7x,A_27b)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V8row] : ap(f836(A_27b,A_27a,A_27c,V7x,V1p),V8row) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27c)),ap(V8row,ap(V1p,V7x))),c_2Eoption_2ENONE(A_27c)) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__REMOVE__ARB__NO__OVERLAP,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V3r] :
( mem(V3r,arr(A_27b,A_27c))
=> ! [V4rows1] :
( mem(V4rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ! [V5rows2] :
( mem(V5rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ( ( ! [V6x] :
( mem(V6x,A_27b)
=> ap(V3r,V6x) = c_2Ebool_2EARB(A_27c) )
& ! [V7x] :
( mem(V7x,A_27b)
=> ( ( V0v = ap(V1p,V7x)
& p(ap(V2g,V7x)) )
=> p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),f836(A_27b,A_27a,A_27c,V7x,V1p)),V5rows2)) ) ) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V4rows1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27b,A_27a),V1p),V2g),V3r)),V5rows2))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V4rows1),V5rows2)) ) ) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs] :
( mem(V1rs,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2i] :
( mem(V2i,ty_2Enum_2Enum)
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),V1rs),V2i))
<=> ( p(ap(ap(c_2Eprim__rec_2E_3C,V2i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs)))
& ( p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2i),V1rs),V0v)))
=> ? [V3j] :
( mem(V3j,ty_2Enum_2Enum)
& p(ap(ap(c_2Eprim__rec_2E_3C,V3j),V2i))
& p(ap(c_2Eoption_2EIS__SOME(A_27b),ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3j),V1rs),V0v))) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__NIL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1i] :
( mem(V1i,ty_2Enum_2Enum)
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27b)))),V1i))
<=> $false ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__0,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rs] :
( mem(V2rs,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r),V2rs)),c_2Enum_2E0))
<=> ap(V1r,V0v) = c_2Eoption_2ENONE(A_27b) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__SUC,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rs] :
( mem(V2rs,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3i] :
( mem(V3i,ty_2Enum_2Enum)
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r),V2rs)),ap(c_2Enum_2ESUC,V3i)))
<=> ( ( ap(V1r,V0v) != c_2Eoption_2ENONE(A_27b)
& p(ap(ap(c_2Eprim__rec_2E_3C,V3i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rs))) )
| p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),V2rs),V3i)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__APPEND__LT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs1] :
( mem(V1rs1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rs2] :
( mem(V2rs2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3i] :
( mem(V3i,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,V3i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1)))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1),V2rs2)),V3i))
<=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),V1rs1),V3i)) ) ) ) ) ) ) ) ) ).
fof(lameq_f837,axiom,
! [A_27a,A_27b,V0v] :
( mem(V0v,A_27a)
=> ! [V4r] : ap(f837(A_27a,A_27b,V0v),V4r) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V4r,V0v)),c_2Eoption_2ENONE(A_27b)) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REDUNDANT__APPEND__GE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs1] :
( mem(V1rs1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rs2] :
( mem(V2rs2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3i] :
( mem(V3i,ty_2Enum_2Enum)
=> ( ~ p(ap(ap(c_2Eprim__rec_2E_3C,V3i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1)))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1),V2rs2)),V3i))
<=> ( ( ~ p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f837(A_27a,A_27b,V0v)),V1rs1))
& p(ap(ap(c_2Eprim__rec_2E_3C,V3i),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1)),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rs2)))) )
| p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),V2rs2),ap(ap(c_2Earithmetic_2E_2D,V3i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1)))) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f838,axiom,
! [A_27a,A_27b,V0v] :
( mem(V0v,A_27a)
=> ! [V5r] : ap(f838(A_27a,A_27b,V0v),V5r) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V5r,V0v)),c_2Eoption_2ENONE(A_27b)) ) ).
fof(ax_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
<=> ( ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows) = ap(c_2Elist_2ELENGTH(bool),V3infos)
& ! [V4i] :
( mem(V4i,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,V4i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)))
=> ( p(ap(ap(c_2Elist_2EEL(bool),V4i),V3infos))
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__REDUNDANT(A_27a,A_27b),V0v),V1rows),V4i)) ) ) )
& ( p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f838(A_27a,A_27b,V0v)),V1rows))
=> p(V2c) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__NIL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27b)))),c_2Ebool_2ET),c_2Elist_2ENIL(bool))) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__SNOC,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4r] :
( mem(V4r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V5i] :
( mem(V5i,bool)
=> ! [V6c_27] :
( mem(V6c_27,bool)
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
=> ( ( ap(V4r,V0v) = c_2Eoption_2ENONE(A_27b)
=> ( p(V2c)
=> p(V6c_27) ) )
=> ( ( p(V2c)
=> ( p(V5i)
=> ap(V4r,V0v) = c_2Eoption_2ENONE(A_27b) ) )
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ESNOC(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V4r),V1rows)),V6c_27),ap(ap(c_2Elist_2ESNOC(bool),V5i),V3infos))) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__COND__EX__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),V0i),V1p),V2g))
<=> ? [V3x] :
( mem(V3x,A_27b)
& p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27a),V1p),V2g),V0i),V3x)) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__SNOC__PMATCH__ROW,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4p] :
( mem(V4p,arr(A_27c,A_27a))
=> ! [V5g] :
( mem(V5g,arr(A_27c,bool))
=> ! [V6r] :
( mem(V6r,arr(A_27c,A_27b))
=> ! [V7c_27] :
( mem(V7c_27,bool)
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
=> ( ( ~ p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27c),V0v),V4p),V5g))
=> ( p(V2c)
<=> p(V7c_27) ) )
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ESNOC(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27b,A_27c,A_27a),V4p),V5g),V6r)),V1rows)),V7c_27),ap(ap(c_2Elist_2ESNOC(bool),ap(ap(c_2Emin_2E_3D_3D_3E,V2c),ap(c_2Ebool_2E_7E,ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27c),V0v),V4p),V5g)))),V3infos))) ) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__CONS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1row] :
( mem(V1row,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3c] :
( mem(V3c,bool)
=> ! [V4i] :
( mem(V4i,bool)
=> ! [V5infos_27] :
( mem(V5infos_27,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1row),V2rows)),V3c),ap(ap(c_2Elist_2ECONS(bool),V4i),V5infos_27)))
<=> ( ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2rows) = ap(c_2Elist_2ELENGTH(bool),V5infos_27)
& ( p(V4i)
=> ap(V1row,V0v) = c_2Eoption_2ENONE(A_27b) )
& ( ap(V1row,V0v) = c_2Eoption_2ENONE(A_27b)
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V2rows),V3c),V5infos_27)) ) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f839,axiom,
! [A_27a,V2x] : ap(f839(A_27a),V2x) = ap(c_2Ebool_2E_7E,ap(c_2Epair_2EFST(bool,A_27a),V2x)) ).
fof(ax_thm_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [V0is] :
( mem(V0is,ty_2Elist_2Elist(bool))
=> ! [V1xs] :
( mem(V1xs,ty_2Elist_2Elist(A_27a))
=> ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27a),V0is),V1xs) = ap(ap(c_2Elist_2EMAP(ty_2Epair_2Eprod(bool,A_27a),A_27a),c_2Epair_2ESND(bool,A_27a)),ap(ap(c_2Elist_2EFILTER(ty_2Epair_2Eprod(bool,A_27a)),f839(A_27a)),ap(c_2Elist_2EZIP(bool,A_27a),ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(bool),ty_2Elist_2Elist(A_27a)),V0is),V1xs)))) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO__THMS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ( ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27a),c_2Elist_2ENIL(bool)),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a)
& ! [V0is] :
( mem(V0is,ty_2Elist_2Elist(bool))
=> ! [V1x] :
( mem(V1x,A_27b)
=> ! [V2xs] :
( mem(V2xs,ty_2Elist_2Elist(A_27b))
=> ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27b),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2ET),V0is)),ap(ap(c_2Elist_2ECONS(A_27b),V1x),V2xs)) = ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27b),V0is),V2xs) ) ) )
& ! [V3is] :
( mem(V3is,ty_2Elist_2Elist(bool))
=> ! [V4x] :
( mem(V4x,A_27c)
=> ! [V5xs] :
( mem(V5xs,ty_2Elist_2Elist(A_27c))
=> ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27c),ap(ap(c_2Elist_2ECONS(bool),c_2Ebool_2EF),V3is)),ap(ap(c_2Elist_2ECONS(A_27c),V4x),V5xs)) = ap(ap(c_2Elist_2ECONS(A_27c),V4x),ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(A_27c),V3is),V5xs)) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROWS__DROP__REDUNDANT__ROWS__INFO__EQUIV,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1c] :
( mem(V1c,bool)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V2rows),V1c),V3infos))
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27b),V0v),V2rows),ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3infos),V2rows))) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFO__TO__PMATCH__EQ,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1c] :
( mem(V1c,bool)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V2rows),V1c),V3infos))
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),V2rows) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2EpatternMatches_2EAPPLY__REDUNDANT__ROWS__INFO(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V3infos),V2rows)) ) ) ) ) ) ) ) ).
fof(lameq_f840,axiom,
! [A_27a,A_27b,V0v] :
( mem(V0v,A_27a)
=> ! [V2r] : ap(f840(A_27a,A_27b,V0v),V2r) = ap(c_2Eoption_2EIS__SOME(A_27b),ap(V2r,V0v)) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs] :
( mem(V1rs,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27a,A_27b),V0v),V1rs))
<=> p(ap(ap(c_2Elist_2EEXISTS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f840(A_27a,A_27b,V0v)),V1rs)) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE__REWRITES,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ( ! [V0v] :
( mem(V0v,A_27a)
=> ( p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27b)))))
<=> $false ) )
& ! [V1v] :
( mem(V1v,A_27c)
=> ! [V2r] :
( mem(V2r,arr(A_27c,ty_2Eoption_2Eoption(A_27d)))
=> ! [V3rs] :
( mem(V3rs,ty_2Elist_2Elist(arr(A_27c,ty_2Eoption_2Eoption(A_27d))))
=> ( p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27c,A_27d),V1v),ap(ap(c_2Elist_2ECONS(arr(A_27c,ty_2Eoption_2Eoption(A_27d))),V2r),V3rs)))
<=> ( ap(V2r,V1v) != c_2Eoption_2ENONE(A_27d)
| p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27c,A_27d),V1v),V3rs)) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO__EXTRACT__IS__EXHAUSTIVE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
=> ( ~ p(V2c)
=> p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27a,A_27b),V0v),V1rows)) ) ) ) ) ) ) ) ) ).
fof(lameq_f841,axiom,
! [V2i1] :
( mem(V2i1,bool)
=> ! [V3i2] : ap(f841(V2i1),V3i2) = ap(ap(c_2Ebool_2E_2F_5C,V2i1),V3i2) ) ).
fof(lameq_f842,axiom,
! [V2i1] : ap(f842,V2i1) = f841(V2i1) ).
fof(ax_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ__def,axiom,
! [V0ip1] :
( mem(V0ip1,ty_2Elist_2Elist(bool))
=> ! [V1ip2] :
( mem(V1ip2,ty_2Elist_2Elist(bool))
=> ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,V0ip1),V1ip2) = ap(ap(ap(c_2Elist_2EMAP2(bool,bool,bool),f842),V0ip1),V1ip2) ) ) ).
fof(conj_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ__REWRITE,axiom,
! [V0i1] :
( mem(V0i1,bool)
=> ! [V1is1] :
( mem(V1is1,ty_2Elist_2Elist(bool))
=> ! [V2i2] :
( mem(V2i2,bool)
=> ! [V3is2] :
( mem(V3is2,ty_2Elist_2Elist(bool))
=> ( ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,c_2Elist_2ENIL(bool)),c_2Elist_2ENIL(bool)) = c_2Elist_2ENIL(bool)
& ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,ap(ap(c_2Elist_2ECONS(bool),V0i1),V1is1)),ap(ap(c_2Elist_2ECONS(bool),V2i2),V3is2)) = ap(ap(c_2Elist_2ECONS(bool),ap(ap(c_2Ebool_2E_2F_5C,V0i1),V2i2)),ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,V1is1),V3is2)) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4c_27] :
( mem(V4c_27,bool)
=> ! [V5infos_27] :
( mem(V5infos_27,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
=> ( ap(c_2Elist_2ELENGTH(bool),V5infos_27) = ap(c_2Elist_2ELENGTH(bool),V3infos)
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),ap(ap(c_2Ebool_2E_5C_2F,V2c),V4c_27)),ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__CONJ,V3infos),V5infos_27))) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f843,axiom,
! [V2i1] :
( mem(V2i1,bool)
=> ! [V3i2] : ap(f843(V2i1),V3i2) = ap(ap(c_2Ebool_2E_5C_2F,V2i1),V3i2) ) ).
fof(lameq_f844,axiom,
! [V2i1] : ap(f844,V2i1) = f843(V2i1) ).
fof(ax_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ__def,axiom,
! [V0ip1] :
( mem(V0ip1,ty_2Elist_2Elist(bool))
=> ! [V1ip2] :
( mem(V1ip2,ty_2Elist_2Elist(bool))
=> ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ,V0ip1),V1ip2) = ap(ap(ap(c_2Elist_2EMAP2(bool,bool,bool),f844),V0ip1),V1ip2) ) ) ).
fof(conj_thm_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2c] :
( mem(V2c,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4c_27] :
( mem(V4c_27,bool)
=> ! [V5infos_27] :
( mem(V5infos_27,ty_2Elist_2Elist(bool))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V2c),V3infos))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),V4c_27),V5infos_27))
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),ap(ap(c_2Ebool_2E_2F_5C,V2c),V4c_27)),ap(ap(c_2EpatternMatches_2EREDUNDANT__ROWS__INFOS__DISJ,V3infos),V5infos_27))) ) ) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,bool)
=> ! [V2infos] :
( mem(V2infos,ty_2Elist_2Elist(bool))
=> ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27b)))),V1p),V2infos) = ap(ap(c_2Epair_2E_2C(bool,ty_2Elist_2Elist(bool)),V1p),V2infos) ) ) )
& ! [V3v] :
( mem(V3v,A_27a)
=> ! [V4r] :
( mem(V4r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V5rows] :
( mem(V5rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V6p] :
( mem(V6p,bool)
=> ! [V7infos] :
( mem(V7infos,ty_2Elist_2Elist(bool))
=> ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V3v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V4r),V5rows)),V6p),V7infos) = ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V3v),V5rows),ap(ap(c_2Ebool_2E_2F_5C,V6p),ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V4r,V3v)),c_2Eoption_2ENONE(A_27b)))),ap(ap(c_2Elist_2ESNOC(bool),ap(ap(c_2Emin_2E_3D_3D_3E,V6p),ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V4r,V3v)),c_2Eoption_2ENONE(A_27b)))),V7infos)) ) ) ) ) ) ) ) ) ).
fof(ax_thm_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows) = ap(c_2Epair_2ESND(bool,ty_2Elist_2Elist(bool)),ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),V1rows),c_2Ebool_2ET),c_2Elist_2ENIL(bool))) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2ELENGTH__STRONGEST__REDUNDANT__ROWS__INFO__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2p] :
( mem(V2p,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ap(c_2Elist_2ELENGTH(bool),ap(c_2Epair_2ESND(bool,ty_2Elist_2Elist(bool)),ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),V1rows),V2p),V3infos))) = ap(ap(c_2Earithmetic_2E_2B,ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)),ap(c_2Elist_2ELENGTH(bool),V3infos)) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EEL1__STRONGEST__REDUNDANT__ROWS__INFO__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2p] :
( mem(V2p,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4i] :
( mem(V4i,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,V4i),ap(c_2Elist_2ELENGTH(bool),V3infos)))
=> ( p(ap(ap(c_2Elist_2EEL(bool),V4i),ap(c_2Epair_2ESND(bool,ty_2Elist_2Elist(bool)),ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),V1rows),V2p),V3infos))))
<=> p(ap(ap(c_2Elist_2EEL(bool),V4i),V3infos)) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EEL2__STRONGEST__REDUNDANT__ROWS__INFO__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2p] :
( mem(V2p,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ! [V4i] :
( mem(V4i,ty_2Enum_2Enum)
=> ( ( p(ap(ap(c_2Earithmetic_2E_3E_3D,V4i),ap(c_2Elist_2ELENGTH(bool),V3infos)))
& p(ap(ap(c_2Eprim__rec_2E_3C,V4i),ap(ap(c_2Earithmetic_2E_2B,ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)),ap(c_2Elist_2ELENGTH(bool),V3infos)))) )
=> ( p(ap(ap(c_2Elist_2EEL(bool),V4i),ap(c_2Epair_2ESND(bool,ty_2Elist_2Elist(bool)),ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),V1rows),V2p),V3infos))))
<=> ( ( p(V2p)
& p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f838(A_27a,A_27b,V0v)),ap(ap(c_2Elist_2ETAKE(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(c_2Earithmetic_2E_2D,V4i),ap(c_2Elist_2ELENGTH(bool),V3infos))),V1rows))) )
=> ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(c_2Earithmetic_2E_2D,V4i),ap(c_2Elist_2ELENGTH(bool),V3infos))),V1rows),V0v) = c_2Eoption_2ENONE(A_27b) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2ELENGTH__STRONGEST__REDUNDANT__ROWS__INFO,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ap(c_2Elist_2ELENGTH(bool),ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows)) = ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EFST__STRONGEST__REDUNDANT__ROWS__INFO__AUX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2p] :
( mem(V2p,bool)
=> ! [V3infos] :
( mem(V3infos,ty_2Elist_2Elist(bool))
=> ( p(ap(c_2Epair_2EFST(bool,ty_2Elist_2Elist(bool)),ap(ap(ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__AUX(A_27a,A_27b),V0v),V1rows),V2p),V3infos)))
<=> ( p(V2p)
& p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f837(A_27a,A_27b,V0v)),V1rows)) ) ) ) ) ) ) ) ) ).
fof(lameq_f845,axiom,
! [A_27a,A_27b,V0v] :
( mem(V0v,A_27a)
=> ! [V3r] : ap(f845(A_27a,A_27b,V0v),V3r) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V3r,V0v)),c_2Eoption_2ENONE(A_27b)) ) ).
fof(conj_thm_2EpatternMatches_2EEL__STRONGEST__REDUNDANT__ROWS__INFO,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2i] :
( mem(V2i,ty_2Enum_2Enum)
=> ( p(ap(ap(c_2Eprim__rec_2E_3C,V2i),ap(c_2Elist_2ELENGTH(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rows)))
=> ( p(ap(ap(c_2Elist_2EEL(bool),V2i),ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows)))
<=> ( p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f845(A_27a,A_27b,V0v)),ap(ap(c_2Elist_2ETAKE(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2i),V1rows)))
=> ap(ap(ap(c_2Elist_2EEL(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2i),V1rows),V0v) = c_2Eoption_2ENONE(A_27b) ) ) ) ) ) ) ) ) ).
fof(lameq_f846,axiom,
! [A_27a,A_27b,V0v] :
( mem(V0v,A_27a)
=> ! [V2r] : ap(f846(A_27a,A_27b,V0v),V2r) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V2r,V0v)),c_2Eoption_2ENONE(A_27b)) ) ).
fof(conj_thm_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO__OK,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rows] :
( mem(V1rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> p(ap(ap(ap(ap(c_2EpatternMatches_2EIS__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows),ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f846(A_27a,A_27b,V0v)),V1rows)),ap(ap(c_2EpatternMatches_2ESTRONGEST__REDUNDANT__ROWS__INFO(A_27a,A_27b),V0v),V1rows))) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__EX__FULL__DEF,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),V0i),V1p),V2g))
<=> ? [V3x] :
( mem(V3x,A_27b)
& V0i = ap(V1p,V3x)
& p(ap(V2g,V3x)) ) ) ) ) ) ) ) ).
fof(lameq_f847,axiom,
! [A_27b,A_27a,V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V3g] :
( mem(V3g,arr(A_27b,bool))
=> ! [V5g_27] :
( mem(V5g_27,arr(A_27a,bool))
=> ! [V7x] : ap(f847(A_27b,A_27a,V0f,V3g,V5g_27),V7x) = ap(ap(c_2Ebool_2E_2F_5C,ap(V5g_27,V7x)),ap(c_2Ebool_2E_7E,ap(V3g,ap(V0f,V7x)))) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__EX__WEAKEN,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V1v] :
( mem(V1v,A_27c)
=> ! [V2p] :
( mem(V2p,arr(A_27b,A_27c))
=> ! [V3g] :
( mem(V3g,arr(A_27b,bool))
=> ! [V4p_27] :
( mem(V4p_27,arr(A_27a,A_27c))
=> ! [V5g_27] :
( mem(V5g_27,arr(A_27a,bool))
=> ( ~ p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27c,A_27b),V1v),V2p),V3g))
=> ( ! [V6x] :
( mem(V6x,A_27a)
=> ap(V4p_27,V6x) = ap(V2p,ap(V0f,V6x)) )
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27c,A_27a),V1v),V4p_27),V5g_27))
<=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27c,A_27a),V1v),V4p_27),f847(A_27b,A_27a,V0f,V3g,V5g_27))) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__EX__FALSE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ( ! [V3x] :
( mem(V3x,A_27b)
=> ~ p(ap(V2g,V3x)) )
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),V0v),V1p),V2g))
<=> $false ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__EX__IMP__REWRITE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V3p_27] :
( mem(V3p_27,arr(A_27c,A_27a))
=> ! [V4g_27] :
( mem(V4g_27,arr(A_27c,bool))
=> ! [V5RES] :
( mem(V5RES,bool)
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),V0v),V1p),V2g))
=> ( ! [V6x] :
( mem(V6x,A_27b)
=> ( p(ap(V2g,V6x))
=> ( ? [V7x_27] :
( mem(V7x_27,A_27c)
& ap(V3p_27,V7x_27) = ap(V1p,V6x)
& p(ap(V4g_27,V7x_27)) )
<=> p(V5RES) ) ) )
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27c),V0v),V3p_27),V4g_27))
<=> p(V5RES) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE__CONTRADICT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs] :
( mem(V1rs,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( ( p(ap(ap(c_2Elist_2EEVERY(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f846(A_27a,A_27b,V0v)),V1rs))
=> $false )
=> p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27a,A_27b),V0v),V1rs)) ) ) ) ) ) ).
fof(lameq_f848,axiom,
! [A_27a,A_27b,V0i] :
( mem(V0i,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V4x] : ap(f848(A_27a,A_27b,V0i,V1p,V2g),V4x) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27a),V1p),V2g),V0i),V4x) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__EVAL__COND__EX,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V3r] :
( mem(V3r,arr(A_27b,A_27c))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27a,A_27b),V0i),V1p),V2g))
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27b,A_27a),V1p),V2g),V3r),V0i) = ap(c_2Eoption_2ESOME(A_27c),ap(V3r,ap(c_2Emin_2E_40(A_27b),f848(A_27a,A_27b,V0i,V1p,V2g)))) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__NEQ__NONE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2r] :
( mem(V2r,arr(A_27b,A_27a))
=> ! [V3i] :
( mem(V3i,A_27c)
=> ( ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27b,A_27c),V0p),V1g),V2r),V3i) != c_2Eoption_2ENONE(A_27a)
<=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__EX(A_27c,A_27b),V3i),V0p),V1g)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__REMOVE__DOUBLE__BINDS__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0g] :
( mem(V0g,arr(A_27a,A_27b))
=> ! [V1p1] :
( mem(V1p1,arr(A_27a,A_27c))
=> ! [V2g1] :
( mem(V2g1,arr(A_27a,bool))
=> ! [V3r1] :
( mem(V3r1,arr(A_27a,A_27d))
=> ! [V4p2] :
( mem(V4p2,arr(A_27b,A_27c))
=> ! [V5g2] :
( mem(V5g2,arr(A_27b,bool))
=> ! [V6r2] :
( mem(V6r2,arr(A_27b,A_27d))
=> ( ( ! [V7x] :
( mem(V7x,A_27a)
=> ! [V8y] :
( mem(V8y,A_27a)
=> ( ap(V1p1,V7x) = ap(V1p1,V8y)
=> V7x = V8y ) ) )
& ! [V9x] :
( mem(V9x,A_27a)
=> ap(V4p2,ap(V0g,V9x)) = ap(V1p1,V9x) )
& ! [V10x_27] :
( mem(V10x_27,A_27b)
=> ( p(ap(V5g2,V10x_27))
<=> ? [V11x] :
( mem(V11x,A_27a)
& V10x_27 = ap(V0g,V11x)
& p(ap(V2g1,V11x)) ) ) )
& ! [V12x] :
( mem(V12x,A_27a)
=> ap(V6r2,ap(V0g,V12x)) = ap(V3r1,V12x) ) )
=> ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27a,A_27c),V1p1),V2g1),V3r1) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27b,A_27c),V4p2),V5g2),V6r2) ) ) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f849,axiom,
! [A_27b,A_27a,A_27c,V5r] :
( mem(V5r,arr(A_27c,A_27b))
=> ! [V4g] :
( mem(V4g,arr(A_27c,bool))
=> ! [V3p] :
( mem(V3p,arr(A_27c,A_27a))
=> ! [V2rs2] :
( mem(V2rs2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V9x] : ap(f849(A_27b,A_27a,A_27c,V5r,V4g,V3p,V2rs2),V9x) = ap(ap(ap(c_2Ebool_2ECOND(A_27b),ap(V4g,V9x)),ap(V5r,V9x)),ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),ap(V3p,V9x)),V2rs2)) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EGUARDS__ELIM__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1rs1] :
( mem(V1rs1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V2rs2] :
( mem(V2rs2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3p] :
( mem(V3p,arr(A_27c,A_27a))
=> ! [V4g] :
( mem(V4g,arr(A_27c,bool))
=> ! [V5r] :
( mem(V5r,arr(A_27c,A_27b))
=> ( ! [V6x1] :
( mem(V6x1,A_27c)
=> ! [V7x2] :
( mem(V7x2,A_27c)
=> ( ap(V3p,V6x1) = ap(V3p,V7x2)
=> V6x1 = V7x2 ) ) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27b,A_27c,A_27a),V3p),V4g),V5r)),V2rs2))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1rs1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27b,A_27c,A_27a),V3p),k(A_27c,c_2Ebool_2ET)),f849(A_27b,A_27a,A_27c,V5r,V4g,V3p,V2rs2))),V2rs2))) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f850,axiom,
! [A_27c,A_27b,V3v] :
( mem(V3v,A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V4x] : ap(f850(A_27c,A_27b,V3v,V0p,V1g),V4x) = ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND(A_27b,A_27c),V0p),V1g),V3v),V4x) ) ) ) ).
fof(lameq_f851,axiom,
! [A_27a,A_27b,V2row] :
( mem(V2row,arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ! [V5x] : ap(f851(A_27a,A_27b,V2row),V5x) = ap(ap(V2row,V5x),V5x) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__FLATTEN__FUN__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0p] :
( mem(V0p,arr(A_27b,A_27c))
=> ! [V1g] :
( mem(V1g,arr(A_27b,bool))
=> ! [V2row] :
( mem(V2row,arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ! [V3v] :
( mem(V3v,A_27c)
=> ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__FLATTEN__FUN(A_27a,A_27b,A_27c),V0p),V1g),V2row),V3v) = ap(ap(ap(c_2Eoption_2Eoption__CASE(A_27b,ty_2Eoption_2Eoption(A_27a)),ap(c_2Eoption_2Esome(A_27b),f850(A_27c,A_27b,V3v,V0p,V1g))),c_2Eoption_2ENONE(A_27a)),f851(A_27a,A_27b,V2row)) ) ) ) ) ) ) ) ).
fof(lameq_f852,axiom,
! [A_27c,A_27b,V4x] :
( mem(V4x,A_27b)
=> ! [V5r] : ap(f852(A_27c,A_27b,V4x),V5r) = ap(V5r,V4x) ) ).
fof(lameq_f853,axiom,
! [A_27c,A_27b,V6x] :
( mem(V6x,A_27b)
=> ! [V7r] : ap(f853(A_27c,A_27b,V6x),V7r) = ap(V7r,V6x) ) ).
fof(lameq_f854,axiom,
! [A_27c,A_27b,V3rows] :
( mem(V3rows,ty_2Elist_2Elist(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))))
=> ! [V6x] : ap(f854(A_27c,A_27b,V3rows),V6x) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V6x),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27b,ty_2Eoption_2Eoption(A_27c))),f853(A_27c,A_27b,V6x)),V3rows)) ) ).
fof(lameq_f855,axiom,
! [A_27a,A_27c,A_27b,V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V8r] : ap(f855(A_27a,A_27c,A_27b,V2g,V1p),V8r) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__FLATTEN__FUN(A_27c,A_27b,A_27a),V1p),V2g),V8r) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__FLATTEN__THM__SINGLE,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V3rows] :
( mem(V3rows,ty_2Elist_2Elist(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))))
=> ( ! [V4x] :
( mem(V4x,A_27b)
=> p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27b,A_27c),V4x),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27b,ty_2Eoption_2Eoption(A_27c))),f852(A_27c,A_27b,V4x)),V3rows))) )
=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EQUIV__ROWS(A_27a,A_27c),V0v),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27b,A_27a),V1p),V2g),f854(A_27c,A_27b,V3rows))),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27a,ty_2Eoption_2Eoption(A_27c))),f855(A_27a,A_27c,A_27b,V2g,V1p)),V3rows))) ) ) ) ) ) ) ) ) ).
fof(lameq_f856,axiom,
! [A_27c,A_27b,V8x] :
( mem(V8x,A_27b)
=> ! [V9r] : ap(f856(A_27c,A_27b,V8x),V9r) = ap(V9r,V8x) ) ).
fof(lameq_f857,axiom,
! [A_27c,A_27b,V5rows] :
( mem(V5rows,ty_2Elist_2Elist(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))))
=> ! [V8x] : ap(f857(A_27c,A_27b,V5rows),V8x) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27b),V8x),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27b,ty_2Eoption_2Eoption(A_27c))),f856(A_27c,A_27b,V8x)),V5rows)) ) ).
fof(lameq_f858,axiom,
! [A_27a,A_27c,A_27b,V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V10r] : ap(f858(A_27a,A_27c,A_27b,V2g,V1p),V10r) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__FLATTEN__FUN(A_27c,A_27b,A_27a),V1p),V2g),V10r) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__FLATTEN__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0v] :
( mem(V0v,A_27a)
=> ! [V1p] :
( mem(V1p,arr(A_27b,A_27a))
=> ! [V2g] :
( mem(V2g,arr(A_27b,bool))
=> ! [V3rows1] :
( mem(V3rows1,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ! [V4rows2] :
( mem(V4rows2,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27c))))
=> ! [V5rows] :
( mem(V5rows,ty_2Elist_2Elist(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c)))))
=> ( ! [V6x] :
( mem(V6x,A_27b)
=> p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27b,A_27c),V6x),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27b,ty_2Eoption_2Eoption(A_27c))),f853(A_27c,A_27b,V6x)),V5rows))) )
=> ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V3rows1),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27c,A_27b,A_27a),V1p),V2g),f857(A_27c,A_27b,V5rows))),V4rows2))) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27c,A_27a),V0v),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),ap(ap(c_2Elist_2EAPPEND(arr(A_27a,ty_2Eoption_2Eoption(A_27c))),V3rows1),ap(ap(c_2Elist_2EMAP(arr(A_27b,arr(A_27b,ty_2Eoption_2Eoption(A_27c))),arr(A_27a,ty_2Eoption_2Eoption(A_27c))),f858(A_27a,A_27c,A_27b,V2g,V1p)),V5rows))),V4rows2)) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f859,axiom,
! [A_27d,A_27c,A_27a,V4p_27] :
( mem(V4p_27,arr(A_27c,A_27a))
=> ! [V5g_27] :
( mem(V5g_27,arr(A_27a,arr(A_27c,bool)))
=> ! [V6r_27] :
( mem(V6r_27,arr(A_27a,arr(A_27c,A_27d)))
=> ! [V7x] : ap(f859(A_27d,A_27c,A_27a,V4p_27,V5g_27,V6r_27),V7x) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27c,A_27a),V4p_27),ap(V5g_27,V7x)),ap(V6r_27,V7x)) ) ) ) ).
fof(lameq_f860,axiom,
! [A_27a,A_27b,A_27c,V4p_27] :
( mem(V4p_27,arr(A_27c,A_27a))
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ! [V8x] : ap(f860(A_27a,A_27b,A_27c,V4p_27,V0p),V8x) = ap(V0p,ap(V4p_27,V8x)) ) ) ).
fof(lameq_f861,axiom,
! [A_27a,A_27c,V3g] :
( mem(V3g,arr(A_27a,bool))
=> ! [V5g_27] :
( mem(V5g_27,arr(A_27a,arr(A_27c,bool)))
=> ! [V4p_27] :
( mem(V4p_27,arr(A_27c,A_27a))
=> ! [V9x] : ap(f861(A_27a,A_27c,V3g,V5g_27,V4p_27),V9x) = ap(ap(c_2Ebool_2E_2F_5C,ap(V3g,ap(V4p_27,V9x))),ap(ap(V5g_27,ap(V4p_27,V9x)),V9x)) ) ) ) ).
fof(lameq_f862,axiom,
! [A_27d,A_27a,A_27c,V6r_27] :
( mem(V6r_27,arr(A_27a,arr(A_27c,A_27d)))
=> ! [V4p_27] :
( mem(V4p_27,arr(A_27c,A_27a))
=> ! [V10x] : ap(f862(A_27d,A_27a,A_27c,V6r_27,V4p_27),V10x) = ap(ap(V6r_27,ap(V4p_27,V10x)),V10x) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__FLATTEN__FUN__PMATCH__ROW,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0p] :
( mem(V0p,arr(A_27a,A_27b))
=> ( ! [V1x1] :
( mem(V1x1,A_27a)
=> ! [V2x2] :
( mem(V2x2,A_27a)
=> ( ap(V0p,V1x1) = ap(V0p,V2x2)
=> V1x1 = V2x2 ) ) )
=> ! [V3g] :
( mem(V3g,arr(A_27a,bool))
=> ! [V4p_27] :
( mem(V4p_27,arr(A_27c,A_27a))
=> ! [V5g_27] :
( mem(V5g_27,arr(A_27a,arr(A_27c,bool)))
=> ! [V6r_27] :
( mem(V6r_27,arr(A_27a,arr(A_27c,A_27d)))
=> ap(ap(ap(c_2EpatternMatches_2EPMATCH__FLATTEN__FUN(A_27d,A_27a,A_27b),V0p),V3g),f859(A_27d,A_27c,A_27a,V4p_27,V5g_27,V6r_27)) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27d,A_27c,A_27b),f860(A_27a,A_27b,A_27c,V4p_27,V0p)),f861(A_27a,A_27c,V3g,V5g_27,V4p_27)),f862(A_27d,A_27a,A_27c,V6r_27,V4p_27)) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f863,axiom,
! [A_27b,A_27a,V0i] :
( mem(V0i,A_27a)
=> ! [V3row] : ap(f863(A_27b,A_27a,V0i),V3row) = ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27b)),ap(V3row,V0i)),c_2Eoption_2ENONE(A_27b))) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V1r),V2rows))
<=> ( ~ ( ap(V1r,V0i) != c_2Eoption_2ENONE(A_27b) )
| ( p(ap(ap(c_2Elist_2EEXISTS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),f863(A_27b,A_27a,V0i)),V2rows))
& ap(c_2Eoption_2ETHE(A_27b),ap(V1r,V0i)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27a),V0i),V2rows) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ__FIRST__ROW,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2r_27] :
( mem(V2r_27,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V3rows] :
( mem(V3rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ( ap(V2r_27,V0i) != c_2Eoption_2ENONE(A_27b)
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V1r),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V2r_27),V3rows)))
<=> ( ap(V1r,V0i) != c_2Eoption_2ENONE(A_27b)
=> ap(V1r,V0i) = ap(V2r_27,V0i) ) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ__NIL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V1r),c_2Elist_2ENIL(arr(A_27a,ty_2Eoption_2Eoption(A_27b)))))
<=> ( ap(V1r,V0i) != c_2Eoption_2ENONE(A_27b)
=> $false ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ__NOT__FIRST__ROW,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0i] :
( mem(V0i,A_27a)
=> ! [V1r_27] :
( mem(V1r_27,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27a,ty_2Eoption_2Eoption(A_27b))))
=> ! [V3r] :
( mem(V3r,arr(A_27a,ty_2Eoption_2Eoption(A_27b)))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V1r_27),V2rows))
=> ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V3r),ap(ap(c_2Elist_2ECONS(arr(A_27a,ty_2Eoption_2Eoption(A_27b))),V1r_27),V2rows)))
<=> p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27a,A_27b),V0i),V3r),V2rows)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__PRED__UNROLL__NIL,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0P] :
( mem(V0P,arr(A_27a,A_27b))
=> ! [V1v] :
( mem(V1v,A_27c)
=> ap(V0P,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27c),V1v),c_2Elist_2ENIL(arr(A_27c,ty_2Eoption_2Eoption(A_27a))))) = ap(V0P,c_2Ebool_2EARB(A_27a)) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__PRED__UNROLL__CONS,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2r] :
( mem(V2r,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
=> ! [V3rows] :
( mem(V3rows,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(V0P,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V2r),V3rows))))
<=> ( ( ap(V2r,V1v) != c_2Eoption_2ENONE(A_27a)
=> p(ap(V0P,ap(c_2Eoption_2ETHE(A_27a),ap(V2r,V1v)))) )
& ( p(ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27b,A_27a),V1v),V2r),V3rows))
=> p(ap(V0P,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),V3rows))) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f864,axiom,
! [A_27a,A_27b,V6r] :
( mem(V6r,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
=> ! [V4v] :
( mem(V4v,A_27b)
=> ! [V8r_27] : ap(f864(A_27a,A_27b,V6r,V4v),V8r_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27a)),ap(V8r_27,V4v)),c_2Eoption_2ENONE(A_27a)))),ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(A_27a)),ap(V8r_27,V4v)),ap(V6r,V4v))) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__EXPAND__PRED__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ( ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2rows__before] :
( mem(V2rows__before,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),V0P),V1v),V2rows__before),c_2Elist_2ENIL(arr(A_27b,ty_2Eoption_2Eoption(A_27a)))))
<=> ( ~ p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27b,A_27a),V1v),ap(c_2Elist_2EREVERSE(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V2rows__before)))
=> p(ap(V0P,c_2Ebool_2EARB(A_27a))) ) ) ) ) )
& ! [V3P] :
( mem(V3P,arr(A_27a,bool))
=> ! [V4v] :
( mem(V4v,A_27b)
=> ! [V5rows__before] :
( mem(V5rows__before,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ! [V6r] :
( mem(V6r,arr(A_27b,ty_2Eoption_2Eoption(A_27a)))
=> ! [V7rows__after] :
( mem(V7rows__after,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),V3P),V4v),V5rows__before),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V6r),V7rows__after)))
<=> ( ( ap(V6r,V4v) != c_2Eoption_2ENONE(A_27a)
=> ( p(ap(ap(c_2Elist_2EEVERY(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),f864(A_27a,A_27b,V6r,V4v)),V5rows__before))
=> p(ap(V3P,ap(c_2Eoption_2ETHE(A_27a),ap(V6r,V4v)))) ) )
& p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),V3P),V4v),ap(ap(c_2Elist_2ECONS(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),V6r),V5rows__before)),V7rows__after)) ) ) ) ) ) ) ) ) ) ) ).
fof(lameq_f865,axiom,
! [A_27a,A_27b,V1v] :
( mem(V1v,A_27b)
=> ! [V3rows__after] :
( mem(V3rows__after,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ! [V4r] : ap(f865(A_27a,A_27b,V1v,V3rows__after),V4r) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW__COND__NOT__EX__OR__EQ(A_27b,A_27a),V1v),V4r),V3rows__after) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXPAND__PRED__THM__GEN,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2rows__before] :
( mem(V2rows__before,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ! [V3rows__after] :
( mem(V3rows__after,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),V0P),V1v),V2rows__before),V3rows__after))
<=> ( p(ap(ap(c_2Elist_2EEVERY(arr(A_27b,ty_2Eoption_2Eoption(A_27a))),f865(A_27a,A_27b,V1v,V3rows__after)),V2rows__before))
=> p(ap(V0P,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),V3rows__after))) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__EXPAND__PRED__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [V0P] :
( mem(V0P,arr(A_27a,bool))
=> ! [V1v] :
( mem(V1v,A_27b)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27b,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(V0P,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27b),V1v),V2rows)))
<=> p(ap(ap(ap(ap(c_2EpatternMatches_2EPMATCH__EXPAND__PRED(A_27a,A_27b),V0P),V1v),c_2Elist_2ENIL(arr(A_27b,ty_2Eoption_2Eoption(A_27a)))),V2rows)) ) ) ) ) ) ) ).
fof(lameq_f866,axiom,
! [A_27c,A_27b,A_27a,V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27c)))
=> ! [V0f] :
( mem(V0f,arr(A_27c,A_27b))
=> ! [V2x] : ap(f866(A_27c,A_27b,A_27a,V1r,V0f),V2x) = ap(ap(c_2Eoption_2EOPTION__MAP(A_27c,A_27b),V0f),ap(V1r,V2x)) ) ) ).
fof(ax_thm_2EpatternMatches_2EPMATCH__ROW__LIFT__def,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27c,A_27b))
=> ! [V1r] :
( mem(V1r,arr(A_27a,ty_2Eoption_2Eoption(A_27c)))
=> ap(ap(c_2EpatternMatches_2EPMATCH__ROW__LIFT(A_27a,A_27b,A_27c),V0f),V1r) = f866(A_27c,A_27b,A_27a,V1r,V0f) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__LIFT__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V1v] :
( mem(V1v,A_27c)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27c,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27c,A_27a),V1v),V2rows))
=> ap(V0f,ap(ap(c_2EpatternMatches_2EPMATCH(A_27a,A_27c),V1v),V2rows)) = ap(ap(c_2EpatternMatches_2EPMATCH(A_27b,A_27c),V1v),ap(ap(c_2Elist_2EMAP(arr(A_27c,ty_2Eoption_2Eoption(A_27a)),arr(A_27c,ty_2Eoption_2Eoption(A_27b))),ap(c_2EpatternMatches_2EPMATCH__ROW__LIFT(A_27c,A_27b,A_27a),V0f)),V2rows)) ) ) ) ) ) ) ) ).
fof(lameq_f867,axiom,
! [A_27a,A_27b,A_27c,V3r] :
( mem(V3r,arr(A_27c,A_27a))
=> ! [V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V4x] : ap(f867(A_27a,A_27b,A_27c,V3r,V0f),V4x) = ap(V0f,ap(V3r,V4x)) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__ROW__LIFT__THM,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [A_27d] :
( ne(A_27d)
=> ! [V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V1p] :
( mem(V1p,arr(A_27c,A_27d))
=> ! [V2g] :
( mem(V2g,arr(A_27c,bool))
=> ! [V3r] :
( mem(V3r,arr(A_27c,A_27a))
=> ap(ap(c_2EpatternMatches_2EPMATCH__ROW__LIFT(A_27d,A_27b,A_27a),V0f),ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27a,A_27c,A_27d),V1p),V2g),V3r)) = ap(ap(ap(c_2EpatternMatches_2EPMATCH__ROW(A_27b,A_27c,A_27d),V1p),V2g),f867(A_27a,A_27b,A_27c,V3r,V0f)) ) ) ) ) ) ) ) ) ).
fof(conj_thm_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE__LIFT,axiom,
! [A_27a] :
( ne(A_27a)
=> ! [A_27b] :
( ne(A_27b)
=> ! [A_27c] :
( ne(A_27c)
=> ! [V0f] :
( mem(V0f,arr(A_27a,A_27b))
=> ! [V1v] :
( mem(V1v,A_27c)
=> ! [V2rows] :
( mem(V2rows,ty_2Elist_2Elist(arr(A_27c,ty_2Eoption_2Eoption(A_27a))))
=> ( p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27c,A_27a),V1v),V2rows))
=> p(ap(ap(c_2EpatternMatches_2EPMATCH__IS__EXHAUSTIVE(A_27c,A_27b),V1v),ap(ap(c_2Elist_2EMAP(arr(A_27c,ty_2Eoption_2Eoption(A_27a)),arr(A_27c,ty_2Eoption_2Eoption(A_27b))),ap(c_2EpatternMatches_2EPMATCH__ROW__LIFT(A_27c,A_27b,A_27a),V0f)),V2rows))) ) ) ) ) ) ) ) ).
%------------------------------------------------------------------------------