ITP001 Axioms: ITP083_5.ax


%------------------------------------------------------------------------------
% File     : ITP083_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    : fmaptree_2.ax [Gau20]
%          : HL4083_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   99 (  16 unt;  36 typ;   0 def)
%            Number of atoms       : 1164 (  53 equ)
%            Maximal formula atoms :   15 (  11 avg)
%            Number of connectives :  191 (   0   ~;   0   |;  23   &)
%                                         (   4 <=>; 164  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (   9 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :  910 ( 910 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :  134 (  36   >;  98   *;   0   +;   0  <<)
%            Number of predicates  :   34 (  33 usr;   4 prp; 0-3 aty)
%            Number of functors    :   36 (  36 usr;   0 con; 2-9 aty)
%            Number of variables   :  318 ( 309   !;   9   ?; 318   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_ty_2Efmaptree_2Efmaptree,type,
    ty_2Efmaptree_2Efmaptree: ( del * del ) > del ).

tff(tp_c_2Efmaptree_2EFTNode,type,
    c_2Efmaptree_2EFTNode: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2EFTNode,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2EFTNode(A_27a,A_27b),arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))) ).

tff(tp_c_2Efmaptree_2Eapply__path,type,
    c_2Efmaptree_2Eapply__path: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Eapply__path,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eapply__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))) ).

tff(tp_c_2Efmaptree_2Econstruct,type,
    c_2Efmaptree_2Econstruct: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Econstruct,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Econstruct(A_27a,A_27b),arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))) ).

tff(tp_c_2Efmaptree_2Efmtreerec,type,
    c_2Efmaptree_2Efmtreerec: ( del * del * del ) > $i ).

tff(mem_c_2Efmaptree_2Efmtreerec,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),arr(arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))),arr(ty_2Efmaptree_2Efmaptree(A_27c,A_27b),A_27a))) ).

tff(tp_c_2Efmaptree_2EfromF,type,
    c_2Efmaptree_2EfromF: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2EfromF,axiom,
    ! [A_27key: del,A_27value: del] : mem(c_2Efmaptree_2EfromF(A_27key,A_27value),arr(arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)),ty_2Efmaptree_2Efmaptree(A_27key,A_27value))) ).

tff(tp_c_2Efmaptree_2Efupd__at__path,type,
    c_2Efmaptree_2Efupd__at__path: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Efupd__at__path,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))))) ).

tff(tp_c_2Efmaptree_2Eitem,type,
    c_2Efmaptree_2Eitem: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Eitem,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eitem(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),A_27b)) ).

tff(tp_c_2Efmaptree_2Emap,type,
    c_2Efmaptree_2Emap: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Emap,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Emap(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))) ).

tff(tp_c_2Efmaptree_2Erelrec,type,
    c_2Efmaptree_2Erelrec: ( del * del * del ) > $i ).

tff(mem_c_2Efmaptree_2Erelrec,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : mem(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),arr(arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))),arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))) ).

tff(tp_c_2Efmaptree_2EtoF,type,
    c_2Efmaptree_2EtoF: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2EtoF,axiom,
    ! [A_27key: del,A_27value: del] : mem(c_2Efmaptree_2EtoF(A_27key,A_27value),arr(ty_2Efmaptree_2Efmaptree(A_27key,A_27value),arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)))) ).

tff(tp_c_2Efmaptree_2Eupdate__at__path,type,
    c_2Efmaptree_2Eupdate__at__path: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Eupdate__at__path,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),arr(A_27b,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))))) ).

tff(tp_c_2Efmaptree_2Ewf,type,
    c_2Efmaptree_2Ewf: ( del * del ) > $i ).

tff(mem_c_2Efmaptree_2Ewf,axiom,
    ! [A_27a: del,A_27b: del] : mem(c_2Efmaptree_2Ewf(A_27a,A_27b),arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)) ).

tff(lamtp_f2040,type,
    f2040: ( del * del * $i * $i ) > $i ).

tff(lameq_f2040,axiom,
    ! [A_27a: del,A_27b: del,V3h: $i] :
      ( mem(V3h,A_27b)
     => ! [V1kfm: $i] :
          ( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ! [V4t: $i] : ( ap(f2040(A_27a,A_27b,V3h,V1kfm),V4t) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(A_27a)),ap(ap(c_2Ebool_2EIN(A_27b),V3h),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1kfm))),ap(ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1kfm),V3h),V4t)),c_2Eoption_2ENONE(A_27a)) ) ) ) ).

tff(lamtp_f2041,type,
    f2041: ( del * del * $i ) > $i ).

tff(lameq_f2041,axiom,
    ! [A_27a: del,A_27b: del,V1kfm: $i] :
      ( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
     => ! [V3h: $i] : ( ap(f2041(A_27a,A_27b,V1kfm),V3h) = f2040(A_27a,A_27b,V3h,V1kfm) ) ) ).

tff(ax_thm_2Efmaptree_2Econstruct__def,axiom,
    ! [A_27a: del,A_27b: del,V0a: $i] :
      ( mem(V0a,A_27a)
     => ! [V1kfm: $i] :
          ( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ! [V2kl: $i] :
              ( mem(V2kl,ty_2Elist_2Elist(A_27b))
             => ( ap(ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V0a),V1kfm),V2kl) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27b,ty_2Eoption_2Eoption(A_27a)),V2kl),ap(c_2Eoption_2ESOME(A_27a),V0a)),f2041(A_27a,A_27b,V1kfm)) ) ) ) ) ).

tff(lamtp_f2042,type,
    f2042: ( del * del * $i * $i ) > $i ).

tff(lameq_f2042,axiom,
    ! [A_27a: del,A_27b: del,V1wf_27: $i] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V4fm: $i] :
          ( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ! [V5k: $i] : ( ap(f2042(A_27a,A_27b,V1wf_27,V4fm),V5k) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2EIN(A_27b),V5k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V4fm))),ap(V1wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V4fm),V5k))) ) ) ) ).

tff(lamtp_f2043,type,
    f2043: ( del * del * $i * $i * $i ) > $i ).

tff(lameq_f2043,axiom,
    ! [A_27a: del,A_27b: del,V3a: $i] :
      ( mem(V3a,A_27a)
     => ! [V2a0: $i] :
          ( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
         => ! [V1wf_27: $i] :
              ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
             => ! [V4fm: $i] : ( ap(f2043(A_27a,A_27b,V3a,V2a0,V1wf_27),V4fm) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2a0),ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V3a),V4fm))),ap(c_2Ebool_2E_21(A_27b),f2042(A_27a,A_27b,V1wf_27,V4fm))) ) ) ) ) ).

tff(lamtp_f2044,type,
    f2044: ( del * del * $i * $i ) > $i ).

tff(lameq_f2044,axiom,
    ! [A_27b: del,A_27a: del,V1wf_27: $i] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V2a0: $i] :
          ( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
         => ! [V3a: $i] : ( ap(f2044(A_27b,A_27a,V1wf_27,V2a0),V3a) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))),f2043(A_27a,A_27b,V3a,V2a0,V1wf_27)) ) ) ) ).

tff(lamtp_f2045,type,
    f2045: ( del * del * $i ) > $i ).

tff(lameq_f2045,axiom,
    ! [A_27b: del,A_27a: del,V1wf_27: $i] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V2a0: $i] : ( ap(f2045(A_27b,A_27a,V1wf_27),V2a0) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f2044(A_27b,A_27a,V1wf_27,V2a0))),ap(V1wf_27,V2a0)) ) ) ).

tff(lamtp_f2046,type,
    f2046: ( del * del * $i ) > $i ).

tff(lameq_f2046,axiom,
    ! [A_27b: del,A_27a: del,V0a0: $i] :
      ( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
     => ! [V1wf_27: $i] : ( ap(f2046(A_27b,A_27a,V0a0),V1wf_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_21(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),f2045(A_27b,A_27a,V1wf_27))),ap(V1wf_27,V0a0)) ) ) ).

tff(lamtp_f2047,type,
    f2047: ( del * del ) > $i ).

tff(lameq_f2047,axiom,
    ! [A_27b: del,A_27a: del,V0a0: $i] : ( ap(f2047(A_27b,A_27a),V0a0) = ap(c_2Ebool_2E_21(arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)),f2046(A_27b,A_27a,V0a0)) ) ).

tff(ax_thm_2Efmaptree_2Ewf__def,axiom,
    ! [A_27a: del,A_27b: del] : ( c_2Efmaptree_2Ewf(A_27a,A_27b) = f2047(A_27b,A_27a) ) ).

tff(conj_thm_2Efmaptree_2Ewf__rules,axiom,
    ! [A_27a: del,A_27b: del,V0a: $i] :
      ( mem(V0a,A_27a)
     => ! [V1fm: $i] :
          ( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ( ! [V2k: $i] :
                ( mem(V2k,A_27b)
               => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V2k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1fm)))
                 => p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V1fm),V2k))) ) )
           => p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V0a),V1fm))) ) ) ) ).

tff(conj_thm_2Efmaptree_2Ewf__ind,axiom,
    ! [A_27a: del,A_27b: del,V0wf_27: $i] :
      ( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ( ! [V1a: $i] :
            ( mem(V1a,A_27a)
           => ! [V2fm: $i] :
                ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
               => ( ! [V3k: $i] :
                      ( mem(V3k,A_27b)
                     => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
                       => p(ap(V0wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) )
                 => p(ap(V0wf_27,ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm))) ) ) )
       => ! [V4a0: $i] :
            ( mem(V4a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
           => ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V4a0))
             => p(ap(V0wf_27,V4a0)) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Ewf__strongind,axiom,
    ! [A_27a: del,A_27b: del,V0wf_27: $i] :
      ( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ( ! [V1a: $i] :
            ( mem(V1a,A_27a)
           => ! [V2fm: $i] :
                ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
               => ( ! [V3k: $i] :
                      ( mem(V3k,A_27b)
                     => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
                       => ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k)))
                          & p(ap(V0wf_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) ) )
                 => p(ap(V0wf_27,ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm))) ) ) )
       => ! [V4a0: $i] :
            ( mem(V4a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
           => ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V4a0))
             => p(ap(V0wf_27,V4a0)) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Ewf__cases,axiom,
    ! [A_27a: del,A_27b: del,V0a0: $i] :
      ( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
     => ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V0a0))
      <=> ? [V1a: $i] :
            ( mem(V1a,A_27a)
            & ? [V2fm: $i] :
                ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
                & ( V0a0 = ap(ap(c_2Efmaptree_2Econstruct(A_27a,A_27b),V1a),V2fm) )
                & ! [V3k: $i] :
                    ( mem(V3k,A_27b)
                   => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V3k),ap(c_2Efinite__map_2EFDOM(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm)))
                     => p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))),V2fm),V3k))) ) ) ) ) ) ) ).

tff(ax_thm_2Efmaptree_2Efmaptree__TY__DEF,axiom,
    ! [A_27key: del,A_27value: del] :
    ? [V0rep: $i] :
      ( mem(V0rep,arr(ty_2Efmaptree_2Efmaptree(A_27key,A_27value),arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value))))
      & p(ap(ap(c_2Ebool_2ETYPE__DEFINITION(arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)),ty_2Efmaptree_2Efmaptree(A_27key,A_27value)),c_2Efmaptree_2Ewf(A_27value,A_27key)),V0rep)) ) ).

tff(ax_thm_2Efmaptree_2Efmap__bij__thm,axiom,
    ! [A_27key: del,A_27value: del] :
      ( ! [V0a: $i] :
          ( mem(V0a,ty_2Efmaptree_2Efmaptree(A_27key,A_27value))
         => ( ap(c_2Efmaptree_2EfromF(A_27key,A_27value),ap(c_2Efmaptree_2EtoF(A_27key,A_27value),V0a)) = V0a ) )
      & ! [V1r: $i] :
          ( mem(V1r,arr(ty_2Elist_2Elist(A_27key),ty_2Eoption_2Eoption(A_27value)))
         => ( p(ap(c_2Efmaptree_2Ewf(A_27value,A_27key),V1r))
          <=> ( ap(c_2Efmaptree_2EtoF(A_27key,A_27value),ap(c_2Efmaptree_2EfromF(A_27key,A_27value),V1r)) = V1r ) ) ) ) ).

tff(ax_thm_2Efmaptree_2EFTNode__def,axiom,
    ! [A_27a: del,A_27b: del,V0i: $i] :
      ( mem(V0i,A_27b)
     => ! [V1fm: $i] :
          ( mem(V1fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
         => ( ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0i),V1fm) = ap(c_2Efmaptree_2EfromF(A_27a,A_27b),ap(ap(c_2Efmaptree_2Econstruct(A_27b,A_27a),V0i),ap(ap(c_2Efinite__map_2Eo__f(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b),arr(ty_2Elist_2Elist(A_27a),ty_2Eoption_2Eoption(A_27b))),c_2Efmaptree_2EtoF(A_27a,A_27b)),V1fm))) ) ) ) ).

tff(conj_thm_2Efmaptree_2EFTNode__11,axiom,
    ! [A_27a: del,A_27b: del,V0i1: $i] :
      ( mem(V0i1,A_27b)
     => ! [V1f1: $i] :
          ( mem(V1f1,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
         => ! [V2i2: $i] :
              ( mem(V2i2,A_27b)
             => ! [V3f2: $i] :
                  ( mem(V3f2,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
                 => ( ( ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0i1),V1f1) = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V2i2),V3f2) )
                  <=> ( ( V0i1 = V2i2 )
                      & ( V1f1 = V3f2 ) ) ) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Efmaptree__nchotomy,axiom,
    ! [A_27a: del,A_27b: del,V0ft: $i] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ? [V1i: $i] :
          ( mem(V1i,A_27b)
          & ? [V2fm: $i] :
              ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
              & ( V0ft = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V1i),V2fm) ) ) ) ) ).

tff(ax_thm_2Efmaptree_2Eitem__map__def,axiom,
    ! [A_27a: del,A_27b: del,V0ft: $i] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ( V0ft = ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),ap(c_2Efmaptree_2Eitem(A_27a,A_27b),V0ft)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V0ft)) ) ) ).

tff(conj_thm_2Efmaptree_2Eitem__thm,axiom,
    ! [A_27a: del,A_27b: del,V0i: $i] :
      ( mem(V0i,A_27a)
     => ! [V1fm: $i] :
          ( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
         => ( ap(c_2Efmaptree_2Eitem(A_27b,A_27a),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V0i),V1fm)) = V0i ) ) ) ).

tff(conj_thm_2Efmaptree_2Emap__thm,axiom,
    ! [A_27a: del,A_27b: del,V0i: $i] :
      ( mem(V0i,A_27a)
     => ! [V1fm: $i] :
          ( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
         => ( ap(c_2Efmaptree_2Emap(A_27b,A_27a),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V0i),V1fm)) = V1fm ) ) ) ).

tff(ax_thm_2Efmaptree_2Eapply__path__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0ft: $i] :
          ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
         => ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0ft) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V0ft) ) )
      & ! [V1h: $i] :
          ( mem(V1h,A_27a)
         => ! [V2t: $i] :
              ( mem(V2t,ty_2Elist_2Elist(A_27a))
             => ! [V3ft: $i] :
                  ( mem(V3ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
                 => ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V1h),V2t)),V3ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V1h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft)))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V2t),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft)),V1h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ).

tff(lamtp_f2048,type,
    f2048: ( del * del * $i * $i ) > $i ).

tff(lameq_f2048,axiom,
    ! [A_27a: del,A_27b: del,V5ft: $i] :
      ( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ! [V2h: $i] :
          ( mem(V2h,A_27a)
         => ! [V6ft_27: $i] : ( ap(f2048(A_27a,A_27b,V5ft,V2h),V6ft_27) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),ap(c_2Efmaptree_2Eitem(A_27a,A_27b),V5ft)),ap(ap(c_2Efinite__map_2EFUPDATE(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),ap(ap(c_2Epair_2E_2C(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2h),V6ft_27)))) ) ) ) ).

tff(ax_thm_2Efmaptree_2Eupdate__at__path__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0a: $i] :
          ( mem(V0a,A_27b)
         => ! [V1ft: $i] :
              ( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
             => ( ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0a),V1ft) = ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V0a),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V1ft))) ) ) )
      & ! [V2h: $i] :
          ( mem(V2h,A_27a)
         => ! [V3t: $i] :
              ( mem(V3t,ty_2Elist_2Elist(A_27a))
             => ! [V4a: $i] :
                  ( mem(V4a,A_27b)
                 => ! [V5ft: $i] :
                      ( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
                     => ( ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)),V4a),V5ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V2h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(ap(c_2Efmaptree_2Eupdate__at__path(A_27a,A_27b),V3t),V4a),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2048(A_27a,A_27b,V5ft,V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ) ).

tff(ax_thm_2Efmaptree_2Efupd__at__path__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0f: $i] :
          ( mem(V0f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
         => ! [V1ft: $i] :
              ( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
             => ( ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),c_2Elist_2ENIL(A_27a)),V0f),V1ft) = ap(V0f,V1ft) ) ) )
      & ! [V2h: $i] :
          ( mem(V2h,A_27a)
         => ! [V3t: $i] :
              ( mem(V3t,ty_2Elist_2Elist(A_27a))
             => ! [V4f: $i] :
                  ( mem(V4f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
                 => ! [V5ft: $i] :
                      ( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
                     => ( ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),ap(ap(c_2Elist_2ECONS(A_27a),V2h),V3t)),V4f),V5ft) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Ebool_2EIN(A_27a),V2h),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)))),ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(ap(c_2Efmaptree_2Efupd__at__path(A_27a,A_27b),V3t),V4f),ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V5ft)),V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2048(A_27a,A_27b,V5ft,V2h))),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))) ) ) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Eft__ind,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( mem(V0P,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),bool))
     => ( ! [V1a: $i] :
            ( mem(V1a,A_27b)
           => ! [V2fm: $i] :
                ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
               => ( ! [V3k: $i] :
                      ( mem(V3k,A_27a)
                     => ( p(ap(ap(c_2Ebool_2EIN(A_27a),V3k),ap(c_2Efinite__map_2EFDOM(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2fm)))
                       => p(ap(V0P,ap(ap(c_2Efinite__map_2EFAPPLY(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2fm),V3k))) ) )
                 => p(ap(V0P,ap(ap(c_2Efmaptree_2EFTNode(A_27a,A_27b),V1a),V2fm))) ) ) )
       => ! [V4ft: $i] :
            ( mem(V4ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
           => p(ap(V0P,V4ft)) ) ) ) ).

tff(lamtp_f2049,type,
    f2049: ( del * del * $i * $i ) > $i ).

tff(lameq_f2049,axiom,
    ! [A_27a: del,A_27b: del,V1p: $i] :
      ( mem(V1p,ty_2Elist_2Elist(A_27a))
     => ! [V0ft: $i] :
          ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
         => ! [V2ft_27: $i] : ( ap(f2049(A_27a,A_27b,V1p,V0ft),V2ft_27) = ap(ap(c_2Emin_2E_3D(ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V1p),V0ft)),ap(c_2Eoption_2ESOME(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),V2ft_27)) ) ) ) ).

tff(lamtp_f2050,type,
    f2050: ( del * del * $i ) > $i ).

tff(lameq_f2050,axiom,
    ! [A_27b: del,A_27a: del,V0ft: $i] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ! [V1p: $i] : ( ap(f2050(A_27b,A_27a,V0ft),V1p) = ap(ap(c_2Epair_2E_2C(ty_2Elist_2Elist(A_27a),bool),V1p),ap(c_2Ebool_2E_3F(ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),f2049(A_27a,A_27b,V1p,V0ft))) ) ) ).

tff(conj_thm_2Efmaptree_2Eapplicable__paths__FINITE,axiom,
    ! [A_27a: del,A_27b: del,V0ft: $i] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => p(ap(c_2Epred__set_2EFINITE(ty_2Elist_2Elist(A_27a)),ap(c_2Epred__set_2EGSPEC(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)),f2050(A_27b,A_27a,V0ft)))) ) ).

tff(lamtp_f2051,type,
    f2051: ( del * del * $i ) > $i ).

tff(lameq_f2051,axiom,
    ! [A_27b: del,A_27a: del,V1x: $i] :
      ( mem(V1x,A_27a)
     => ! [V3ft_27: $i] : ( ap(f2051(A_27b,A_27a,V1x),V3ft_27) = ap(ap(c_2Efinite__map_2EFLOOKUP(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)),ap(c_2Efmaptree_2Emap(A_27a,A_27b),V3ft_27)),V1x) ) ) ).

tff(conj_thm_2Efmaptree_2Eapply__path__SNOC,axiom,
    ! [A_27a: del,A_27b: del,V0ft: $i] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2p: $i] :
              ( mem(V2p,ty_2Elist_2Elist(A_27a))
             => ( ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),ap(ap(c_2Elist_2EAPPEND(A_27a),V2p),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))),V0ft) = ap(ap(ap(c_2Eoption_2Eoption__CASE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),ap(ap(c_2Efmaptree_2Eapply__path(A_27a,A_27b),V2p),V0ft)),c_2Eoption_2ENONE(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))),f2051(A_27b,A_27a,V1x)) ) ) ) ) ).

tff(lamtp_f2052,type,
    f2052: ( del * del * del * $i * $i * $i ) > $i ).

tff(lameq_f2052,axiom,
    ! [A_27a: del,A_27c: del,A_27b: del,V8rfm: $i] :
      ( mem(V8rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
     => ! [V3relrec_27: $i] :
          ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
         => ! [V7fm: $i] :
              ( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
             => ! [V9d: $i] : ( ap(f2052(A_27a,A_27c,A_27b,V8rfm,V3relrec_27,V7fm),V9d) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(ap(c_2Ebool_2EIN(A_27b),V9d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm))),ap(ap(V3relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm),V9d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V8rfm),V9d))) ) ) ) ) ).

tff(lamtp_f2053,type,
    f2053: ( del * del * del * $i * $i * $i * $i * $i * $i ) > $i ).

tff(lameq_f2053,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V3relrec_27: $i] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V5a1: $i] :
          ( mem(V5a1,A_27c)
         => ! [V0h: $i] :
              ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
             => ! [V4a0: $i] :
                  ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                 => ! [V6i: $i] :
                      ( mem(V6i,A_27a)
                     => ! [V7fm: $i] :
                          ( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                         => ! [V8rfm: $i] : ( ap(f2053(A_27a,A_27b,A_27c,V3relrec_27,V5a1,V0h,V4a0,V6i,V7fm),V8rfm) = ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4a0),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V6i),V7fm))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(A_27c),V5a1),ap(ap(ap(V0h,V6i),V8rfm),V7fm))),ap(ap(c_2Ebool_2E_2F_5C,ap(ap(c_2Emin_2E_3D(arr(A_27b,bool)),ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V8rfm)),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V7fm))),ap(c_2Ebool_2E_21(A_27b),f2052(A_27a,A_27c,A_27b,V8rfm,V3relrec_27,V7fm))))) ) ) ) ) ) ) ) ).

tff(lamtp_f2054,type,
    f2054: ( del * del * del * $i * $i * $i * $i * $i ) > $i ).

tff(lameq_f2054,axiom,
    ! [A_27c: del,A_27a: del,A_27b: del,V6i: $i] :
      ( mem(V6i,A_27a)
     => ! [V4a0: $i] :
          ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V0h: $i] :
              ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
             => ! [V5a1: $i] :
                  ( mem(V5a1,A_27c)
                 => ! [V3relrec_27: $i] :
                      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
                     => ! [V7fm: $i] : ( ap(f2054(A_27c,A_27a,A_27b,V6i,V4a0,V0h,V5a1,V3relrec_27),V7fm) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,A_27c)),f2053(A_27a,A_27b,A_27c,V3relrec_27,V5a1,V0h,V4a0,V6i,V7fm)) ) ) ) ) ) ) ).

tff(lamtp_f2055,type,
    f2055: ( del * del * del * $i * $i * $i * $i ) > $i ).

tff(lameq_f2055,axiom,
    ! [A_27b: del,A_27c: del,A_27a: del,V3relrec_27: $i] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V5a1: $i] :
          ( mem(V5a1,A_27c)
         => ! [V0h: $i] :
              ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
             => ! [V4a0: $i] :
                  ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                 => ! [V6i: $i] : ( ap(f2055(A_27b,A_27c,A_27a,V3relrec_27,V5a1,V0h,V4a0),V6i) = ap(c_2Ebool_2E_3F(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))),f2054(A_27c,A_27a,A_27b,V6i,V4a0,V0h,V5a1,V3relrec_27)) ) ) ) ) ) ).

tff(lamtp_f2056,type,
    f2056: ( del * del * del * $i * $i * $i ) > $i ).

tff(lameq_f2056,axiom,
    ! [A_27b: del,A_27a: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V4a0: $i] :
          ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V3relrec_27: $i] :
              ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
             => ! [V5a1: $i] : ( ap(f2056(A_27b,A_27a,A_27c,V0h,V4a0,V3relrec_27),V5a1) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_3F(A_27a),f2055(A_27b,A_27c,A_27a,V3relrec_27,V5a1,V0h,V4a0))),ap(ap(V3relrec_27,V4a0),V5a1)) ) ) ) ) ).

tff(lamtp_f2057,type,
    f2057: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f2057,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V3relrec_27: $i] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V0h: $i] :
          ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
         => ! [V4a0: $i] : ( ap(f2057(A_27c,A_27b,A_27a,V3relrec_27,V0h),V4a0) = ap(c_2Ebool_2E_21(A_27c),f2056(A_27b,A_27a,A_27c,V0h,V4a0,V3relrec_27)) ) ) ) ).

tff(lamtp_f2058,type,
    f2058: ( del * del * del * $i * $i * $i ) > $i ).

tff(lameq_f2058,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V2a1: $i] :
      ( mem(V2a1,A_27c)
     => ! [V1a0: $i] :
          ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V0h: $i] :
              ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
             => ! [V3relrec_27: $i] : ( ap(f2058(A_27a,A_27b,A_27c,V2a1,V1a0,V0h),V3relrec_27) = ap(ap(c_2Emin_2E_3D_3D_3E,ap(c_2Ebool_2E_21(ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),f2057(A_27c,A_27b,A_27a,V3relrec_27,V0h))),ap(ap(V3relrec_27,V1a0),V2a1)) ) ) ) ) ).

tff(lamtp_f2059,type,
    f2059: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f2059,axiom,
    ! [A_27b: del,A_27a: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1a0: $i] :
          ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V2a1: $i] : ( ap(f2059(A_27b,A_27a,A_27c,V0h,V1a0),V2a1) = ap(c_2Ebool_2E_21(arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool))),f2058(A_27a,A_27b,A_27c,V2a1,V1a0,V0h)) ) ) ) ).

tff(lamtp_f2060,type,
    f2060: ( del * del * del * $i ) > $i ).

tff(lameq_f2060,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1a0: $i] : ( ap(f2060(A_27c,A_27b,A_27a,V0h),V1a0) = f2059(A_27b,A_27a,A_27c,V0h,V1a0) ) ) ).

tff(lamtp_f2061,type,
    f2061: ( del * del * del ) > $i ).

tff(lameq_f2061,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V0h: $i] : ( ap(f2061(A_27c,A_27b,A_27a),V0h) = f2060(A_27c,A_27b,A_27a,V0h) ) ).

tff(ax_thm_2Efmaptree_2Erelrec__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : ( c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c) = f2061(A_27c,A_27b,A_27a) ) ).

tff(conj_thm_2Efmaptree_2Erelrec__rules,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1i: $i] :
          ( mem(V1i,A_27a)
         => ! [V2fm: $i] :
              ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
             => ! [V3rfm: $i] :
                  ( mem(V3rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
                 => ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V3rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm) )
                      & ! [V4d: $i] :
                          ( mem(V4d,A_27b)
                         => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V4d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm)))
                           => p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V2fm),V4d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V3rfm),V4d))) ) ) )
                   => p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V1i),V2fm)),ap(ap(ap(V0h,V1i),V3rfm),V2fm))) ) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Erelrec__ind,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1relrec_27: $i] :
          ( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
         => ( ! [V2i: $i] :
                ( mem(V2i,A_27a)
               => ! [V3fm: $i] :
                    ( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                   => ! [V4rfm: $i] :
                        ( mem(V4rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
                       => ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V4rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm) )
                            & ! [V5d: $i] :
                                ( mem(V5d,A_27b)
                               => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V5d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm)))
                                 => p(ap(ap(V1relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d))) ) ) )
                         => p(ap(ap(V1relrec_27,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)),ap(ap(ap(V0h,V2i),V4rfm),V3fm))) ) ) ) )
           => ! [V6a0: $i] :
                ( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
               => ! [V7a1: $i] :
                    ( mem(V7a1,A_27c)
                   => ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V6a0),V7a1))
                     => p(ap(ap(V1relrec_27,V6a0),V7a1)) ) ) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Erelrec__strongind,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1relrec_27: $i] :
          ( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
         => ( ! [V2i: $i] :
                ( mem(V2i,A_27a)
               => ! [V3fm: $i] :
                    ( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                   => ! [V4rfm: $i] :
                        ( mem(V4rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
                       => ( ( ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V4rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm) )
                            & ! [V5d: $i] :
                                ( mem(V5d,A_27b)
                               => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V5d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm)))
                                 => ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d)))
                                    & p(ap(ap(V1relrec_27,ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V3fm),V5d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V4rfm),V5d))) ) ) ) )
                         => p(ap(ap(V1relrec_27,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)),ap(ap(ap(V0h,V2i),V4rfm),V3fm))) ) ) ) )
           => ! [V6a0: $i] :
                ( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
               => ! [V7a1: $i] :
                    ( mem(V7a1,A_27c)
                   => ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V6a0),V7a1))
                     => p(ap(ap(V1relrec_27,V6a0),V7a1)) ) ) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Erelrec__cases,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),A_27c))))
     => ! [V1a0: $i] :
          ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V2a1: $i] :
              ( mem(V2a1,A_27c)
             => ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V1a0),V2a1))
              <=> ? [V3i: $i] :
                    ( mem(V3i,A_27a)
                    & ? [V4fm: $i] :
                        ( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                        & ? [V5rfm: $i] :
                            ( mem(V5rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
                            & ( V1a0 = ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V3i),V4fm) )
                            & ( V2a1 = ap(ap(ap(V0h,V3i),V5rfm),V4fm) )
                            & ( ap(c_2Efinite__map_2EFDOM(A_27b,A_27c),V5rfm) = ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm) )
                            & ! [V6d: $i] :
                                ( mem(V6d,A_27b)
                               => ( p(ap(ap(c_2Ebool_2EIN(A_27b),V6d),ap(c_2Efinite__map_2EFDOM(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm)))
                                 => p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),V4fm),V6d)),ap(ap(c_2Efinite__map_2EFAPPLY(A_27b,A_27c),V5rfm),V6d))) ) ) ) ) ) ) ) ) ) ).

tff(lamtp_f2062,type,
    f2062: ( del * del * del * $i * $i ) > $i ).

tff(lameq_f2062,axiom,
    ! [A_27c: del,A_27b: del,A_27a: del,V1ft: $i] :
      ( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
     => ! [V0h: $i] :
          ( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
         => ! [V2r: $i] : ( ap(f2062(A_27c,A_27b,A_27a,V1ft,V0h),V2r) = ap(ap(ap(c_2Efmaptree_2Erelrec(A_27b,A_27c,A_27a),V0h),V1ft),V2r) ) ) ) ).

tff(ax_thm_2Efmaptree_2Efmtreerec__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
     => ! [V1ft: $i] :
          ( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
         => ( ap(ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h),V1ft) = ap(c_2Emin_2E_40(A_27a),f2062(A_27c,A_27b,A_27a,V1ft,V0h)) ) ) ) ).

tff(conj_thm_2Efmaptree_2Efmtreerec__thm,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27b,arr(ty_2Efinite__map_2Efmap(A_27c,A_27a),arr(ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)),A_27a))))
     => ! [V1i: $i] :
          ( mem(V1i,A_27b)
         => ! [V2fm: $i] :
              ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b)))
             => ( ap(ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h),ap(ap(c_2Efmaptree_2EFTNode(A_27c,A_27b),V1i),V2fm)) = ap(ap(ap(V0h,V1i),ap(ap(c_2Efinite__map_2Eo__f(A_27c,ty_2Efmaptree_2Efmaptree(A_27c,A_27b),A_27a),ap(c_2Efmaptree_2Efmtreerec(A_27a,A_27b,A_27c),V0h)),V2fm)),V2fm) ) ) ) ) ).

tff(conj_thm_2Efmaptree_2Efmtree__Axiom,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0h: $i] :
      ( mem(V0h,arr(A_27a,arr(ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)),arr(ty_2Efinite__map_2Efmap(A_27b,A_27c),A_27c))))
     => ? [V1f: $i] :
          ( mem(V1f,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c))
          & ! [V2i: $i] :
              ( mem(V2i,A_27a)
             => ! [V3fm: $i] :
                  ( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                 => ( ap(V1f,ap(ap(c_2Efmaptree_2EFTNode(A_27b,A_27a),V2i),V3fm)) = ap(ap(ap(V0h,V2i),V3fm),ap(ap(c_2Efinite__map_2Eo__f(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c),V1f),V3fm)) ) ) ) ) ) ).

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