ITP001 Axioms: ITP081^5.ax


%------------------------------------------------------------------------------
% File     : ITP081^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    : alist^2.ax [Gau20]
%          : HL4081^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   66 (   1 unt;   4 typ;   0 def)
%            Number of atoms       : 1418 (  71 equ;   0 cnn)
%            Maximal formula atoms :   39 (  21 avg)
%            Number of connectives : 2842 (   3   ~;   0   |;  16   &;2644   @)
%                                         (   6 <=>; 173  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   30 (  14 avg;2644 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    8 (   8   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   71 (  70 usr;  66 con; 0-2 aty)
%            Number of variables   :  307 (  25   ^ 282   !;   0   ?; 307   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Ealist_2EALOOKUP,type,
    c_2Ealist_2EALOOKUP: del > del > $i ).

thf(mem_c_2Ealist_2EALOOKUP,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ ( arr @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ).

thf(tp_c_2Ealist_2Ealist__range,type,
    c_2Ealist_2Ealist__range: del > del > $i ).

thf(mem_c_2Ealist_2Ealist__range,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ealist_2Ealist__range @ A_27a @ A_27b ) @ ( arr @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( arr @ A_27a @ bool ) ) ) ).

thf(tp_c_2Ealist_2Ealist__to__fmap,type,
    c_2Ealist_2Ealist__to__fmap: del > del > $i ).

thf(mem_c_2Ealist_2Ealist__to__fmap,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( arr @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) ) ) ).

thf(tp_c_2Ealist_2Efmap__to__alist,type,
    c_2Ealist_2Efmap__to__alist: del > del > $i ).

thf(mem_c_2Ealist_2Efmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ ( arr @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) ) ) ).

thf(ax_thm_2Ealist_2Efmap__to__alist__def,axiom,
    ! [A_27a: del,A_27b: del,V0s: $i] :
      ( ( mem @ V0s @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0s )
        = ( ap
          @ ( ap @ ( c_2Elist_2EMAP @ A_27a @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
            @ ( lam @ A_27a
              @ ^ [V1k: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1k ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFAPPLY @ A_27a @ A_27b ) @ V0s ) @ V1k ) ) ) )
          @ ( ap @ ( c_2Elist_2ESET__TO__LIST @ A_27a ) @ ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ V0s ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Efmap__to__alist__FEMPTY,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ ( c_2Efinite__map_2EFEMPTY @ A_27a @ A_27b ) )
      = ( c_2Elist_2ENIL @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) ) ).

thf(ax_thm_2Ealist_2Ealist__to__fmap__def,axiom,
    ! [A_27a: del,A_27b: del,V0s: $i] :
      ( ( mem @ V0s @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0s )
        = ( ap
          @ ( ap
            @ ( ap @ ( c_2Elist_2EFOLDR @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
              @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ ( arr @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) ) )
                @ ( lam @ A_27a
                  @ ^ [V1k: $i] :
                      ( lam @ A_27b
                      @ ^ [V2v: $i] :
                          ( lam @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b )
                          @ ^ [V3f: $i] : ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE @ A_27a @ A_27b ) @ V3f ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1k ) @ V2v ) ) ) ) ) ) )
            @ ( c_2Efinite__map_2EFEMPTY @ A_27a @ A_27b ) )
          @ V0s ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__thm,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0k: $i] :
      ( ( mem @ V0k @ A_27c )
     => ! [V1v: $i] :
          ( ( mem @ V1v @ A_27d )
         => ! [V2t: $i] :
              ( ( mem @ V2t @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) ) )
             => ( ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( c_2Elist_2ENIL @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
                  = ( c_2Efinite__map_2EFEMPTY @ A_27a @ A_27b ) )
                & ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27c @ A_27d ) @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ ( ty_2Epair_2Eprod @ A_27c @ A_27d ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27c @ A_27d ) @ V0k ) @ V1v ) ) @ V2t ) )
                  = ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE @ A_27c @ A_27d ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27c @ A_27d ) @ V2t ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27c @ A_27d ) @ V0k ) @ V1v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__ind,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( arr @ A_27b @ bool ) ) )
     => ( ( ! [V1q: $i] :
              ( ( mem @ V1q @ A_27b )
             => ( p @ ( ap @ ( ap @ V0P @ ( c_2Elist_2ENIL @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) ) @ V1q ) ) )
          & ! [V2x: $i] :
              ( ( mem @ V2x @ A_27b )
             => ! [V3y: $i] :
                  ( ( mem @ V3y @ A_27a )
                 => ! [V4t: $i] :
                      ( ( mem @ V4t @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
                     => ! [V5q: $i] :
                          ( ( mem @ V5q @ A_27b )
                         => ( ( ( V2x != V5q )
                             => ( p @ ( ap @ ( ap @ V0P @ V4t ) @ V5q ) ) )
                           => ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27b @ A_27a ) @ V2x ) @ V3y ) ) @ V4t ) ) @ V5q ) ) ) ) ) ) ) )
       => ! [V6v: $i] :
            ( ( mem @ V6v @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
           => ! [V7v1: $i] :
                ( ( mem @ V7v1 @ A_27b )
               => ( p @ ( ap @ ( ap @ V0P @ V6v ) @ V7v1 ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0q: $i] :
          ( ( mem @ V0q @ A_27b )
         => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ ( c_2Elist_2ENIL @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) ) @ V0q )
            = ( c_2Eoption_2ENONE @ A_27a ) ) )
      & ! [V1y: $i] :
          ( ( mem @ V1y @ A_27a )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27b )
             => ! [V3t: $i] :
                  ( ( mem @ V3t @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
                 => ! [V4q: $i] :
                      ( ( mem @ V4q @ A_27b )
                     => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2ECONS @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27b @ A_27a ) @ V2x ) @ V1y ) ) @ V3t ) ) @ V4q )
                        = ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27b ) @ V2x ) @ V4q ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1y ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ V3t ) @ V4q ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__FAILS,axiom,
    ! [A_27a: del,A_27b: del,V0l: $i] :
      ( ( mem @ V0l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27b )
         => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ V0l ) @ V1x )
              = ( c_2Eoption_2ENONE @ A_27a ) )
          <=> ! [V2k: $i] :
                ( ( mem @ V2k @ A_27b )
               => ! [V3v: $i] :
                    ( ( mem @ V3v @ A_27a )
                   => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27b @ A_27a ) @ V2k ) @ V3v ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0l ) ) )
                     => ( V2k != V1x ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__NONE,axiom,
    ! [A_27a: del,A_27b: del,V0l: $i] :
      ( ( mem @ V0l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0l ) @ V1x )
              = ( c_2Eoption_2ENONE @ A_27b ) )
          <=> ~ ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V1x ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0l ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__TABULATE,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ! [V1l: $i] :
          ( ( mem @ V1l @ ( ty_2Elist_2Elist @ A_27a ) )
         => ! [V2f: $i] :
              ( ( mem @ V2f @ ( arr @ A_27a @ A_27b ) )
             => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V0x ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ V1l ) ) )
               => ( ( ap
                    @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a )
                      @ ( ap
                        @ ( ap @ ( c_2Elist_2EMAP @ A_27a @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
                          @ ( lam @ A_27a
                            @ ^ [V3k: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V3k ) @ ( ap @ V2f @ V3k ) ) ) )
                        @ V1l ) )
                    @ V0x )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ ( ap @ V2f @ V0x ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__EQ__FLOOKUP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1fm: $i] :
          ( ( mem @ V1fm @ ( ty_2Efinite__map_2Efmap @ A_27c @ A_27d ) )
         => ( ( ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) )
              = ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0al ) )
            & ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27d @ A_27c ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27c @ A_27d ) @ V1fm ) )
              = ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27c @ A_27d ) @ V1fm ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EMEM__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ! [V1y: $i] :
          ( ( mem @ V1y @ A_27b )
         => ! [V2fm: $i] :
              ( ( mem @ V2fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
             => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V0x ) @ V1y ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V2fm ) ) ) )
              <=> ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V0x ) @ ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ V2fm ) ) )
                  & ( ( ap @ ( ap @ ( c_2Efinite__map_2EFAPPLY @ A_27a @ A_27b ) @ V2fm ) @ V0x )
                    = V1y ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EMEM__fmap__to__alist__FLOOKUP,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
     => ! [V1fm: $i] :
          ( ( mem @ V1fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0p ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V1fm ) ) ) )
          <=> ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ V1fm ) @ ( ap @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ V0p ) )
              = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ ( ap @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ V0p ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EMEM__pair__fmap__to__alist__FLOOKUP,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ! [V1y: $i] :
          ( ( mem @ V1y @ A_27b )
         => ! [V2fm: $i] :
              ( ( mem @ V2fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
             => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V0x ) @ V1y ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V2fm ) ) ) )
              <=> ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ V2fm ) @ V0x )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1y ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2ELENGTH__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,V0fm: $i] :
      ( ( mem @ V0fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( c_2Elist_2ELENGTH @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( c_2Epred__set_2ECARD @ A_27a ) @ ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ V0fm ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Efmap__to__alist__to__fmap,axiom,
    ! [A_27a: del,A_27b: del,V0fm: $i] :
      ( ( mem @ V0fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm ) )
        = V0fm ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__MEM,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ! [V2v: $i] :
              ( ( mem @ V2v @ A_27b )
             => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0al ) @ V1k )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2v ) )
               => ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1k ) @ V2v ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0al ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__SOME__FAPPLY__alist__to__fmap,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ! [V2v: $i] :
              ( ( mem @ V2v @ A_27b )
             => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0al ) @ V1k )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2v ) )
               => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFAPPLY @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) ) @ V1k )
                  = V2v ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__FAPPLY__MEM,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1z: $i] :
          ( ( mem @ V1z @ A_27a )
         => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V1z ) @ ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) ) ) )
           => ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1z ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFAPPLY @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) ) @ V1z ) ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0al ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__MAP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1al: $i] :
          ( ( mem @ V1al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27c @ A_27a ) ) )
         => ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27c )
              @ ( ap
                @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27c @ A_27a ) @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                  @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27c @ A_27a @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                    @ ( lam @ A_27c
                      @ ^ [V2x: $i] :
                          ( lam @ A_27a
                          @ ^ [V3y: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27c @ A_27b ) @ V2x ) @ ( ap @ V0f @ V3y ) ) ) ) ) )
                @ V1al ) )
            = ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27c @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) ) @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27c ) @ V1al ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFDOM__alist__to__fmap,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ( ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) )
        = ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0al ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__prefix,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l1: $i] :
          ( ( mem @ V1l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ! [V2l2: $i] :
              ( ( mem @ V2l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
             => ( ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V1l1 )
                  = ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V2l2 ) )
               => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0ls ) @ V1l1 ) )
                  = ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0ls ) @ V2l2 ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__APPEND,axiom,
    ! [A_27a: del,A_27b: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l1 ) @ V1l2 ) )
            = ( ap @ ( ap @ ( c_2Efinite__map_2EFUNION @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0l1 ) ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V1l2 ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__prefix,axiom,
    ! [A_27a: del,A_27b: del,V0v: $i] :
      ( ( mem @ V0v @ A_27b )
     => ! [V1ls: $i] :
          ( ( mem @ V1ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ! [V2k: $i] :
              ( ( mem @ V2k @ A_27a )
             => ! [V3ls2: $i] :
                  ( ( mem @ V3ls2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
                 => ( ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1ls ) @ V2k )
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V0v ) )
                     => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V1ls ) @ V3ls2 ) ) @ V2k )
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V0v ) ) )
                    & ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1ls ) @ V2k )
                        = ( c_2Eoption_2ENONE @ A_27b ) )
                     => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V1ls ) @ V3ls2 ) ) @ V2k )
                        = ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V3ls2 ) @ V2k ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__APPEND,axiom,
    ! [A_27a: del,A_27b: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ! [V2k: $i] :
              ( ( mem @ V2k @ A_27a )
             => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l1 ) @ V1l2 ) ) @ V2k )
                = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27b @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0l1 ) @ V2k ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1l2 ) @ V2k ) )
                  @ ( lam @ A_27b
                    @ ^ [V3v: $i] : ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V3v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFUPDATE__LIST__EQ__APPEND__REVERSE,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1fm: $i] :
          ( ( mem @ V1fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
         => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ V1fm ) @ V0ls )
            = ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0ls ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V1fm ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFLOOKUP__FUPDATE__LIST__ALOOKUP__SOME,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27b )
         => ! [V2v: $i] :
              ( ( mem @ V2v @ A_27a )
             => ! [V3fm: $i] :
                  ( ( mem @ V3fm @ ( ty_2Efinite__map_2Efmap @ A_27b @ A_27a ) )
                 => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ V0ls ) @ V1k )
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2v ) )
                   => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27b @ A_27a ) @ V3fm ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0ls ) ) ) @ V1k )
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFLOOKUP__FUPDATE__LIST__ALOOKUP__NONE,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27b )
         => ! [V2fm: $i] :
              ( ( mem @ V2fm @ ( ty_2Efinite__map_2Efmap @ A_27b @ A_27a ) )
             => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ V0ls ) @ V1k )
                  = ( c_2Eoption_2ENONE @ A_27a ) )
               => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27b @ A_27a ) @ V2fm ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0ls ) ) ) @ V1k )
                  = ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27b @ A_27a ) @ V2fm ) @ V1k ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFUNION__alist__to__fmap,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1fm: $i] :
          ( ( mem @ V1fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
         => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFUNION @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0ls ) ) @ V1fm )
            = ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ V1fm ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0ls ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__MAP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f1: $i] :
      ( ( mem @ V0f1 @ ( arr @ A_27a @ A_27b ) )
     => ! [V1f2: $i] :
          ( ( mem @ V1f2 @ ( arr @ A_27c @ A_27d ) )
         => ! [V2al: $i] :
              ( ( mem @ V2al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Epred__set_2EINJ @ A_27a @ A_27b ) @ V0f1 ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27c ) ) @ V2al ) ) ) @ ( c_2Epred__set_2EUNIV @ A_27b ) ) )
               => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27b @ A_27d )
                    @ ( ap
                      @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) @ ( ty_2Epair_2Eprod @ A_27b @ A_27d ) )
                        @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27c @ ( ty_2Epair_2Eprod @ A_27b @ A_27d ) )
                          @ ( lam @ A_27a
                            @ ^ [V3x: $i] :
                                ( lam @ A_27c
                                @ ^ [V4y: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27b @ A_27d ) @ ( ap @ V0f1 @ V3x ) ) @ ( ap @ V1f2 @ V4y ) ) ) ) ) )
                      @ V2al ) )
                  = ( ap @ ( ap @ ( c_2Efinite__map_2EMAP__KEYS @ A_27a @ A_27b @ A_27d ) @ V0f1 ) @ ( ap @ ( ap @ ( c_2Efinite__map_2Eo__f @ A_27a @ A_27c @ A_27d ) @ V1f2 ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27c ) @ V2al ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ( ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) )
        = ( ap
          @ ( ap @ ( c_2Elist_2EMAP @ A_27a @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
            @ ( lam @ A_27a
              @ ^ [V1k: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1k ) @ ( ap @ ( c_2Eoption_2ETHE @ A_27b ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0al ) @ V1k ) ) ) ) )
          @ ( ap @ ( c_2Elist_2ESET__TO__LIST @ A_27a ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0al ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__to__alist__PERM,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ( ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0al ) ) )
       => ( p @ ( ap @ ( ap @ ( c_2Esorting_2EPERM @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0al ) ) ) @ V0al ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__LEAST__EL,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0ls ) @ V1k )
            = ( ap
              @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V1k ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0ls ) ) ) )
                @ ( ap @ ( c_2Eoption_2ESOME @ A_27b )
                  @ ( ap
                    @ ( ap @ ( c_2Elist_2EEL @ A_27b )
                      @ ( ap @ c_2Ewhile_2ELEAST
                        @ ( lam @ ty_2Enum_2Enum
                          @ ^ [V2n: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EEL @ A_27a ) @ V2n ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0ls ) ) ) @ V1k ) ) ) )
                    @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27b ) @ ( c_2Epair_2ESND @ A_27a @ A_27b ) ) @ V0ls ) ) ) )
              @ ( c_2Eoption_2ENONE @ A_27b ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__ALL__DISTINCT__MEM,axiom,
    ! [A_27a: del,A_27b: del,V0al: $i] :
      ( ( mem @ V0al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ! [V2v: $i] :
              ( ( mem @ V2v @ A_27b )
             => ( ( ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0al ) ) )
                  & ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V1k ) @ V2v ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0al ) ) ) )
               => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0al ) @ V1k )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2v ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALL__DISTINCT__fmap__to__alist__keys,axiom,
    ! [A_27a: del,A_27b: del,V0fm: $i] :
      ( ( mem @ V0fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Efmap__to__alist__inj,axiom,
    ! [A_27a: del,A_27b: del,V0f1: $i] :
      ( ( mem @ V0f1 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ! [V1f2: $i] :
          ( ( mem @ V1f2 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
         => ( ( ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0f1 )
              = ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V1f2 ) )
           => ( V0f1 = V1f2 ) ) ) ) ).

thf(conj_thm_2Ealist_2Efmap__to__alist__preserves__FDOM,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0fm1: $i] :
      ( ( mem @ V0fm1 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ! [V1fm2: $i] :
          ( ( mem @ V1fm2 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27c ) )
         => ( ( ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ V0fm1 )
              = ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27c ) @ V1fm2 ) )
           => ( ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm1 ) )
              = ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27c ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27c ) @ V1fm2 ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EPERM__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,V0fm1: $i] :
      ( ( mem @ V0fm1 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ! [V1fm2: $i] :
          ( ( mem @ V1fm2 @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2Esorting_2EPERM @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm1 ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V1fm2 ) ) )
          <=> ( V0fm1 = V1fm2 ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__PERM,axiom,
    ! [A_27a: del,A_27b: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ( ( ( p @ ( ap @ ( ap @ ( c_2Esorting_2EPERM @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l1 ) @ V1l2 ) )
              & ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0l1 ) ) ) )
           => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0l1 )
              = ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V1l2 ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__ALL__DISTINCT__EL,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1n: tp__ty_2Enum_2Enum] :
          ( ( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ ( c_2Elist_2ELENGTH @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0ls ) ) )
            & ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0ls ) ) ) )
         => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0ls ) @ ( ap @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EEL @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V0ls ) ) )
            = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ ( ap @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Elist_2EEL @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ V0ls ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__ZIP__MAP__SND,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ A_27a ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ A_27b ) )
         => ! [V2k: $i] :
              ( ( mem @ V2k @ A_27c )
             => ! [V3f: $i] :
                  ( ( mem @ V3f @ ( arr @ A_27b @ A_27d ) )
                 => ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( c_2Elist_2ELENGTH @ A_27a ) @ V0l1 ) )
                      = ( surj__ty_2Enum_2Enum @ ( ap @ ( c_2Elist_2ELENGTH @ A_27b ) @ V1l2 ) ) )
                   => ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27d @ A_27a ) @ ( ap @ ( c_2Elist_2EZIP @ A_27a @ A_27d ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ A_27d ) ) @ V0l1 ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ A_27b @ A_27d ) @ V3f ) @ V1l2 ) ) ) )
                      = ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ ( ty_2Eoption_2Eoption @ A_27d ) @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27d ) @ V3f ) ) @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( c_2Elist_2EZIP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ( ty_2Elist_2Elist @ A_27a ) @ ( ty_2Elist_2Elist @ A_27b ) ) @ V0l1 ) @ V1l2 ) ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__FILTER,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ A_27a @ bool ) )
     => ! [V1ls: $i] :
          ( ( mem @ V1ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( ap
                  @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a )
                    @ ( ap
                      @ ( ap @ ( c_2Elist_2EFILTER @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) )
                        @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ bool )
                          @ ( lam @ A_27a
                            @ ^ [V3k: $i] :
                                ( lam @ A_27b
                                @ ^ [V4v: $i] : ( ap @ V0P @ V3k ) ) ) ) )
                      @ V1ls ) )
                  @ V2x )
                = ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ V0P @ V2x ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1ls ) @ V2x ) ) @ ( c_2Eoption_2ENONE @ A_27b ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__APPEND__same,axiom,
    ! [A_27a: del,A_27b: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ! [V2l: $i] :
              ( ( mem @ V2l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
             => ( ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0l1 )
                  = ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1l2 ) )
               => ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l1 ) @ V2l ) )
                  = ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EAPPEND @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V1l2 ) @ V2l ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__IN__FRANGE,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ! [V2v: $i] :
              ( ( mem @ V2v @ A_27b )
             => ( ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0ls ) @ V1k )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2v ) )
               => ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27b ) @ V2v ) @ ( ap @ ( c_2Efinite__map_2EFRANGE @ A_27a @ A_27b ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27b ) @ V0ls ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EFRANGE__alist__to__fmap__SUBSET,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ( p @ ( ap @ ( ap @ ( c_2Epred__set_2ESUBSET @ A_27a ) @ ( ap @ ( c_2Efinite__map_2EFRANGE @ A_27b @ A_27a ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27b @ A_27a ) @ V0ls ) ) ) @ ( ap @ ( ap @ ( c_2Epred__set_2EIMAGE @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) @ A_27a ) @ ( c_2Epair_2ESND @ A_27b @ A_27a ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) @ V0ls ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EIN__FRANGE__alist__to__fmap__suff,axiom,
    ! [A_27a: del,A_27b: del,V0ls: $i] :
      ( ( mem @ V0ls @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ! [V1P: $i] :
          ( ( mem @ V1P @ ( arr @ A_27a @ bool ) )
         => ( ! [V2v: $i] :
                ( ( mem @ V2v @ A_27a )
               => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V2v ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) @ A_27a ) @ ( c_2Epair_2ESND @ A_27b @ A_27a ) ) @ V0ls ) ) ) )
                 => ( p @ ( ap @ V1P @ V2v ) ) ) )
           => ! [V3v: $i] :
                ( ( mem @ V3v @ A_27a )
               => ( ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ A_27a ) @ V3v ) @ ( ap @ ( c_2Efinite__map_2EFRANGE @ A_27b @ A_27a ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27b @ A_27a ) @ V0ls ) ) ) )
                 => ( p @ ( ap @ V1P @ V3v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__MAP__matchable,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f1: $i] :
      ( ( mem @ V0f1 @ ( arr @ A_27a @ A_27b ) )
     => ! [V1f2: $i] :
          ( ( mem @ V1f2 @ ( arr @ A_27c @ A_27d ) )
         => ! [V2al: $i] :
              ( ( mem @ V2al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) ) )
             => ! [V3mal: $i] :
                  ( ( mem @ V3mal @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27d ) ) )
                 => ! [V4v: $i] :
                      ( ( mem @ V4v @ ( ty_2Efinite__map_2Efmap @ A_27b @ A_27d ) )
                     => ( ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Epred__set_2EINJ @ A_27a @ A_27b ) @ V0f1 ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27c ) ) @ V2al ) ) ) @ ( c_2Epred__set_2EUNIV @ A_27b ) ) )
                          & ( V3mal
                            = ( ap
                              @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27c ) @ ( ty_2Epair_2Eprod @ A_27b @ A_27d ) )
                                @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27c @ ( ty_2Epair_2Eprod @ A_27b @ A_27d ) )
                                  @ ( lam @ A_27a
                                    @ ^ [V5x: $i] :
                                        ( lam @ A_27c
                                        @ ^ [V6y: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27b @ A_27d ) @ ( ap @ V0f1 @ V5x ) ) @ ( ap @ V1f2 @ V6y ) ) ) ) ) )
                              @ V2al ) )
                          & ( V4v
                            = ( ap @ ( ap @ ( c_2Efinite__map_2EMAP__KEYS @ A_27a @ A_27b @ A_27d ) @ V0f1 ) @ ( ap @ ( ap @ ( c_2Efinite__map_2Eo__f @ A_27a @ A_27c @ A_27d ) @ V1f2 ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27a @ A_27c ) @ V2al ) ) ) ) )
                       => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27b @ A_27d ) @ V3mal )
                          = V4v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EMAP__values__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1fm: $i] :
          ( ( mem @ V1fm @ ( ty_2Efinite__map_2Efmap @ A_27c @ A_27a ) )
         => ( ( ap
              @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27c @ A_27a ) @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27c @ A_27a @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                  @ ( lam @ A_27c
                    @ ^ [V2k: $i] :
                        ( lam @ A_27a
                        @ ^ [V3v: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27c @ A_27b ) @ V2k ) @ ( ap @ V0f @ V3v ) ) ) ) ) )
              @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27c @ A_27a ) @ V1fm ) )
            = ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27c @ A_27b ) @ ( ap @ ( ap @ ( c_2Efinite__map_2Eo__f @ A_27c @ A_27a @ A_27b ) @ V0f ) @ V1fm ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EMAP__KEYS__I,axiom,
    ! [A_27a: del,A_27b: del,V0fm: $i] :
      ( ( mem @ V0fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( ( ap @ ( ap @ ( c_2Efinite__map_2EMAP__KEYS @ A_27a @ A_27a @ A_27b ) @ ( c_2Ecombin_2EI @ A_27a ) ) @ V0fm )
        = V0fm ) ) ).

thf(conj_thm_2Ealist_2Ealist__to__fmap__MAP__values,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1al: $i] :
          ( ( mem @ V1al @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27c @ A_27a ) ) )
         => ( ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27c @ A_27b )
              @ ( ap
                @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27c @ A_27a ) @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                  @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27c @ A_27a @ ( ty_2Epair_2Eprod @ A_27c @ A_27b ) )
                    @ ( lam @ A_27c
                      @ ^ [V2k: $i] :
                          ( lam @ A_27a
                          @ ^ [V3v: $i] : ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27c @ A_27b ) @ V2k ) @ ( ap @ V0f @ V3v ) ) ) ) ) )
                @ V1al ) )
            = ( ap @ ( ap @ ( c_2Efinite__map_2Eo__f @ A_27c @ A_27a @ A_27b ) @ V0f ) @ ( ap @ ( c_2Ealist_2Ealist__to__fmap @ A_27c @ A_27a ) @ V1al ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Eset__MAP__FST__fmap__to__alist,axiom,
    ! [A_27a: del,A_27b: del,V0fm: $i] :
      ( ( mem @ V0fm @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ( ( ap @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ ( ap @ ( c_2Ealist_2Efmap__to__alist @ A_27a @ A_27b ) @ V0fm ) ) )
        = ( ap @ ( c_2Efinite__map_2EFDOM @ A_27a @ A_27b ) @ V0fm ) ) ) ).

thf(conj_thm_2Ealist_2Ealookup__distinct__reverse,axiom,
    ! [A_27a: del,A_27b: del,V0l: $i] :
      ( ( mem @ V0l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ( ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0l ) ) )
           => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l ) ) @ V1k )
              = ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0l ) @ V1k ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Eflookup__fupdate__list,axiom,
    ! [A_27a: del,A_27b: del,V0l: $i] :
      ( ( mem @ V0l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1k: $i] :
          ( ( mem @ V1k @ A_27a )
         => ! [V2m: $i] :
              ( ( mem @ V2m @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
             => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ V2m ) @ V0l ) ) @ V1k )
                = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27b @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( c_2Elist_2EREVERSE @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l ) ) @ V1k ) ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ V2m ) @ V1k ) )
                  @ ( lam @ A_27b
                    @ ^ [V3v: $i] : ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V3v ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Efupdate__list__funion,axiom,
    ! [A_27a: del,A_27b: del,V0m: $i] :
      ( ( mem @ V0m @ ( ty_2Efinite__map_2Efmap @ A_27a @ A_27b ) )
     => ! [V1l: $i] :
          ( ( mem @ V1l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ V0m ) @ V1l )
            = ( ap @ ( ap @ ( c_2Efinite__map_2EFUNION @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ ( c_2Efinite__map_2EFEMPTY @ A_27a @ A_27b ) ) @ V1l ) ) @ V0m ) ) ) ) ).

thf(conj_thm_2Ealist_2Emem__to__flookup,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ! [V1y: $i] :
          ( ( mem @ V1y @ A_27b )
         => ! [V2l: $i] :
              ( ( mem @ V2l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
             => ( ( ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V2l ) ) )
                  & ( p @ ( ap @ ( ap @ ( c_2Ebool_2EIN @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ A_27b ) @ V0x ) @ V1y ) ) @ ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V2l ) ) ) )
               => ( ( ap @ ( ap @ ( c_2Efinite__map_2EFLOOKUP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Efinite__map_2EFUPDATE__LIST @ A_27a @ A_27b ) @ ( c_2Efinite__map_2EFEMPTY @ A_27a @ A_27b ) ) @ V2l ) ) @ V0x )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1y ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealookup__filter,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ A_27a )
     => ! [V1l: $i] :
          ( ( mem @ V1l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27c ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27b )
             => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27c @ A_27b ) @ V1l ) @ V2x )
                = ( ap
                  @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27c @ A_27b )
                    @ ( ap
                      @ ( ap @ ( c_2Elist_2EFILTER @ ( ty_2Epair_2Eprod @ A_27b @ A_27c ) )
                        @ ( ap @ ( c_2Epair_2EUNCURRY @ A_27b @ A_27c @ bool )
                          @ ( lam @ A_27b
                            @ ^ [V3x_27: $i] :
                                ( lam @ A_27c
                                @ ^ [V4y: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27b ) @ V2x ) @ V3x_27 ) ) ) ) )
                      @ V1l ) )
                  @ V2x ) ) ) ) ) ).

thf(ax_thm_2Ealist_2Ealist__range__def,axiom,
    ! [A_27a: del,A_27b: del,V0m: $i] :
      ( ( mem @ V0m @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27b @ A_27a ) ) )
     => ( ( ap @ ( c_2Ealist_2Ealist__range @ A_27a @ A_27b ) @ V0m )
        = ( ap @ ( c_2Epred__set_2EGSPEC @ A_27a @ A_27a )
          @ ( lam @ A_27a
            @ ^ [V1v: $i] :
                ( ap @ ( ap @ ( c_2Epair_2E_2C @ A_27a @ bool ) @ V1v )
                @ ( ap @ ( c_2Ebool_2E_3F @ A_27b )
                  @ ( lam @ A_27b
                    @ ^ [V2k: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27a @ A_27b ) @ V0m ) @ V2k ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1v ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2Ealookup__stable__sorted,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ! [V1sort: $i] :
          ( ( mem @ V1sort @ ( arr @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ ( arr @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ bool ) ) @ ( arr @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ! [V3l: $i] :
                  ( ( mem @ V3l @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
                 => ( ( ( p @ ( ap @ ( c_2Erelation_2Etransitive @ A_27a ) @ V0R ) )
                      & ( p @ ( ap @ ( c_2Erelation_2Etotal @ A_27a ) @ V0R ) )
                      & ( p @ ( ap @ ( ap @ ( c_2Esorting_2ESTABLE @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V1sort ) @ ( ap @ ( ap @ ( c_2Erelation_2Einv__image @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ V0R ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) ) ) )
                   => ( ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ ( ap @ ( ap @ V1sort @ ( ap @ ( ap @ ( c_2Erelation_2Einv__image @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ V0R ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) ) @ V3l ) ) @ V2x )
                      = ( ap @ ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V3l ) @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2Ealist_2EALOOKUP__ALL__DISTINCT__PERM__same,axiom,
    ! [A_27a: del,A_27b: del,V0l1: $i] :
      ( ( mem @ V0l1 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
     => ! [V1l2: $i] :
          ( ( mem @ V1l2 @ ( ty_2Elist_2Elist @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) )
         => ( ( ( p @ ( ap @ ( c_2Elist_2EALL__DISTINCT @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0l1 ) ) )
              & ( p @ ( ap @ ( ap @ ( c_2Esorting_2EPERM @ A_27a ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V0l1 ) ) @ ( ap @ ( ap @ ( c_2Elist_2EMAP @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a ) @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ V1l2 ) ) )
              & ( ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V0l1 )
                = ( ap @ ( c_2Elist_2ELIST__TO__SET @ ( ty_2Epair_2Eprod @ A_27a @ A_27b ) ) @ V1l2 ) ) )
           => ( ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V0l1 )
              = ( ap @ ( c_2Ealist_2EALOOKUP @ A_27b @ A_27a ) @ V1l2 ) ) ) ) ) ).

%------------------------------------------------------------------------------