ITP001 Axioms: ITP083+5.ax


%------------------------------------------------------------------------------
% File     : ITP083+5 : TPTP v8.2.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    :   64 (   2 unt;   0 def)
%            Number of atoms       :  347 (  53 equ)
%            Maximal formula atoms :   18 (   5 avg)
%            Number of connectives :  283 (   0   ~;   0   |;  23   &)
%                                         (   4 <=>; 256  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   26 (  10 avg)
%            Maximal term depth    :   11 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   66 (  66 usr;   3 con; 0-9 aty)
%            Number of variables   :  320 ( 311   !;   9   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(ne_ty_2Efmaptree_2Efmaptree,axiom,
    ! [A0] :
      ( ne(A0)
     => ! [A1] :
          ( ne(A1)
         => ne(ty_2Efmaptree_2Efmaptree(A0,A1)) ) ) ).

fof(mem_c_2Efmaptree_2EFTNode,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))) ) ) ).

fof(mem_c_2Efmaptree_2Eapply__path,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))))) ) ) ).

fof(mem_c_2Efmaptree_2Econstruct,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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))))) ) ) ).

fof(mem_c_2Efmaptree_2Efmtreerec,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => 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))) ) ) ) ).

fof(mem_c_2Efmaptree_2EfromF,axiom,
    ! [A_27key] :
      ( ne(A_27key)
     => ! [A_27value] :
          ( ne(A_27value)
         => 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))) ) ) ).

fof(mem_c_2Efmaptree_2Efupd__at__path,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))))) ) ) ).

fof(mem_c_2Efmaptree_2Eitem,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2Efmaptree_2Eitem(A_27a,A_27b),arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),A_27b)) ) ) ).

fof(mem_c_2Efmaptree_2Emap,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))) ) ) ).

fof(mem_c_2Efmaptree_2Erelrec,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => 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)))) ) ) ) ).

fof(mem_c_2Efmaptree_2EtoF,axiom,
    ! [A_27key] :
      ( ne(A_27key)
     => ! [A_27value] :
          ( ne(A_27value)
         => 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)))) ) ) ).

fof(mem_c_2Efmaptree_2Eupdate__at__path,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => 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)))))) ) ) ).

fof(mem_c_2Efmaptree_2Ewf,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2Efmaptree_2Ewf(A_27a,A_27b),arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool)) ) ) ).

fof(lameq_f2040,axiom,
    ! [A_27a,A_27b,V3h] :
      ( mem(V3h,A_27b)
     => ! [V1kfm] :
          ( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ! [V4t] : 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)) ) ) ).

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

fof(ax_thm_2Efmaptree_2Econstruct__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0a] :
              ( mem(V0a,A_27a)
             => ! [V1kfm] :
                  ( mem(V1kfm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
                 => ! [V2kl] :
                      ( 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)) ) ) ) ) ) ).

fof(lameq_f2042,axiom,
    ! [A_27a,A_27b,V1wf_27] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V4fm] :
          ( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
         => ! [V5k] : 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))) ) ) ).

fof(lameq_f2043,axiom,
    ! [A_27a,A_27b,V3a] :
      ( mem(V3a,A_27a)
     => ! [V2a0] :
          ( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
         => ! [V1wf_27] :
              ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
             => ! [V4fm] : 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))) ) ) ) ).

fof(lameq_f2044,axiom,
    ! [A_27b,A_27a,V1wf_27] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V2a0] :
          ( mem(V2a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
         => ! [V3a] : 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)) ) ) ).

fof(lameq_f2045,axiom,
    ! [A_27b,A_27a,V1wf_27] :
      ( mem(V1wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
     => ! [V2a0] : 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)) ) ).

fof(lameq_f2046,axiom,
    ! [A_27b,A_27a,V0a0] :
      ( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
     => ! [V1wf_27] : 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)) ) ).

fof(lameq_f2047,axiom,
    ! [A_27b,A_27a,V0a0] : 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)) ).

fof(ax_thm_2Efmaptree_2Ewf__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => c_2Efmaptree_2Ewf(A_27a,A_27b) = f2047(A_27b,A_27a) ) ) ).

fof(conj_thm_2Efmaptree_2Ewf__rules,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0a] :
              ( mem(V0a,A_27a)
             => ! [V1fm] :
                  ( mem(V1fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
                 => ( ! [V2k] :
                        ( 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))) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Ewf__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0wf_27] :
              ( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
             => ( ! [V1a] :
                    ( mem(V1a,A_27a)
                   => ! [V2fm] :
                        ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
                       => ( ! [V3k] :
                              ( 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] :
                    ( 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)) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Ewf__strongind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0wf_27] :
              ( mem(V0wf_27,arr(arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)),bool))
             => ( ! [V1a] :
                    ( mem(V1a,A_27a)
                   => ! [V2fm] :
                        ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a))))
                       => ( ! [V3k] :
                              ( 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] :
                    ( 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)) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Ewf__cases,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0a0] :
              ( mem(V0a0,arr(ty_2Elist_2Elist(A_27b),ty_2Eoption_2Eoption(A_27a)))
             => ( p(ap(c_2Efmaptree_2Ewf(A_27a,A_27b),V0a0))
              <=> ? [V1a] :
                    ( mem(V1a,A_27a)
                    & ? [V2fm] :
                        ( 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] :
                            ( 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))) ) ) ) ) ) ) ) ) ).

fof(ax_thm_2Efmaptree_2Efmaptree__TY__DEF,axiom,
    ! [A_27key] :
      ( ne(A_27key)
     => ! [A_27value] :
          ( ne(A_27value)
         => ? [V0rep] :
              ( 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)) ) ) ) ).

fof(ax_thm_2Efmaptree_2Efmap__bij__thm,axiom,
    ! [A_27key] :
      ( ne(A_27key)
     => ! [A_27value] :
          ( ne(A_27value)
         => ( ! [V0a] :
                ( 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] :
                ( 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 ) ) ) ) ) ).

fof(ax_thm_2Efmaptree_2EFTNode__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i] :
              ( mem(V0i,A_27b)
             => ! [V1fm] :
                  ( 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))) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2EFTNode__11,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i1] :
              ( mem(V0i1,A_27b)
             => ! [V1f1] :
                  ( mem(V1f1,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
                 => ! [V2i2] :
                      ( mem(V2i2,A_27b)
                     => ! [V3f2] :
                          ( 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 ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Efmaptree__nchotomy,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0ft] :
              ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
             => ? [V1i] :
                  ( mem(V1i,A_27b)
                  & ? [V2fm] :
                      ( 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) ) ) ) ) ) ).

fof(ax_thm_2Efmaptree_2Eitem__map__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0ft] :
              ( 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)) ) ) ) ).

fof(conj_thm_2Efmaptree_2Eitem__thm,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i] :
              ( mem(V0i,A_27a)
             => ! [V1fm] :
                  ( 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 ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Emap__thm,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0i] :
              ( mem(V0i,A_27a)
             => ! [V1fm] :
                  ( 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 ) ) ) ) ).

fof(ax_thm_2Efmaptree_2Eapply__path__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0ft] :
                ( 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] :
                ( mem(V1h,A_27a)
               => ! [V2t] :
                    ( mem(V2t,ty_2Elist_2Elist(A_27a))
                   => ! [V3ft] :
                        ( 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))) ) ) ) ) ) ) ).

fof(lameq_f2048,axiom,
    ! [A_27a,A_27b,V5ft] :
      ( mem(V5ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ! [V2h] :
          ( mem(V2h,A_27a)
         => ! [V6ft_27] : 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)))) ) ) ).

fof(ax_thm_2Efmaptree_2Eupdate__at__path__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0a] :
                ( mem(V0a,A_27b)
               => ! [V1ft] :
                    ( 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] :
                ( mem(V2h,A_27a)
               => ! [V3t] :
                    ( mem(V3t,ty_2Elist_2Elist(A_27a))
                   => ! [V4a] :
                        ( mem(V4a,A_27b)
                       => ! [V5ft] :
                            ( 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))) ) ) ) ) ) ) ) ).

fof(ax_thm_2Efmaptree_2Efupd__at__path__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ( ! [V0f] :
                ( mem(V0f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
               => ! [V1ft] :
                    ( 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] :
                ( mem(V2h,A_27a)
               => ! [V3t] :
                    ( mem(V3t,ty_2Elist_2Elist(A_27a))
                   => ! [V4f] :
                        ( mem(V4f,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),ty_2Eoption_2Eoption(ty_2Efmaptree_2Efmaptree(A_27a,A_27b))))
                       => ! [V5ft] :
                            ( 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))) ) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Eft__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0P] :
              ( mem(V0P,arr(ty_2Efmaptree_2Efmaptree(A_27a,A_27b),bool))
             => ( ! [V1a] :
                    ( mem(V1a,A_27b)
                   => ! [V2fm] :
                        ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27a,ty_2Efmaptree_2Efmaptree(A_27a,A_27b)))
                       => ( ! [V3k] :
                              ( 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] :
                    ( mem(V4ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
                   => p(ap(V0P,V4ft)) ) ) ) ) ) ).

fof(lameq_f2049,axiom,
    ! [A_27a,A_27b,V1p] :
      ( mem(V1p,ty_2Elist_2Elist(A_27a))
     => ! [V0ft] :
          ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
         => ! [V2ft_27] : 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)) ) ) ).

fof(lameq_f2050,axiom,
    ! [A_27b,A_27a,V0ft] :
      ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
     => ! [V1p] : 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))) ) ).

fof(conj_thm_2Efmaptree_2Eapplicable__paths__FINITE,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0ft] :
              ( 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)))) ) ) ) ).

fof(lameq_f2051,axiom,
    ! [A_27b,A_27a,V1x] :
      ( mem(V1x,A_27a)
     => ! [V3ft_27] : 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) ) ).

fof(conj_thm_2Efmaptree_2Eapply__path__SNOC,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0ft] :
              ( mem(V0ft,ty_2Efmaptree_2Efmaptree(A_27a,A_27b))
             => ! [V1x] :
                  ( mem(V1x,A_27a)
                 => ! [V2p] :
                      ( 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)) ) ) ) ) ) ).

fof(lameq_f2052,axiom,
    ! [A_27a,A_27c,A_27b,V8rfm] :
      ( mem(V8rfm,ty_2Efinite__map_2Efmap(A_27b,A_27c))
     => ! [V3relrec_27] :
          ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
         => ! [V7fm] :
              ( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
             => ! [V9d] : 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))) ) ) ) ).

fof(lameq_f2053,axiom,
    ! [A_27a,A_27b,A_27c,V3relrec_27] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V5a1] :
          ( mem(V5a1,A_27c)
         => ! [V0h] :
              ( 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] :
                  ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                 => ! [V6i] :
                      ( mem(V6i,A_27a)
                     => ! [V7fm] :
                          ( mem(V7fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                         => ! [V8rfm] : 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))))) ) ) ) ) ) ) ).

fof(lameq_f2054,axiom,
    ! [A_27c,A_27a,A_27b,V6i] :
      ( mem(V6i,A_27a)
     => ! [V4a0] :
          ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V0h] :
              ( 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] :
                  ( mem(V5a1,A_27c)
                 => ! [V3relrec_27] :
                      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
                     => ! [V7fm] : 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)) ) ) ) ) ) ).

fof(lameq_f2055,axiom,
    ! [A_27b,A_27c,A_27a,V3relrec_27] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V5a1] :
          ( mem(V5a1,A_27c)
         => ! [V0h] :
              ( 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] :
                  ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                 => ! [V6i] : 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)) ) ) ) ) ).

fof(lameq_f2056,axiom,
    ! [A_27b,A_27a,A_27c,V0h] :
      ( 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] :
          ( mem(V4a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V3relrec_27] :
              ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
             => ! [V5a1] : 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)) ) ) ) ).

fof(lameq_f2057,axiom,
    ! [A_27c,A_27b,A_27a,V3relrec_27] :
      ( mem(V3relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
     => ! [V0h] :
          ( 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] : 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)) ) ) ).

fof(lameq_f2058,axiom,
    ! [A_27a,A_27b,A_27c,V2a1] :
      ( mem(V2a1,A_27c)
     => ! [V1a0] :
          ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V0h] :
              ( 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] : 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)) ) ) ) ).

fof(lameq_f2059,axiom,
    ! [A_27b,A_27a,A_27c,V0h] :
      ( 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] :
          ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
         => ! [V2a1] : 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)) ) ) ).

fof(lameq_f2060,axiom,
    ! [A_27c,A_27b,A_27a,V0h] :
      ( 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] : ap(f2060(A_27c,A_27b,A_27a,V0h),V1a0) = f2059(A_27b,A_27a,A_27c,V0h,V1a0) ) ).

fof(lameq_f2061,axiom,
    ! [A_27c,A_27b,A_27a,V0h] : ap(f2061(A_27c,A_27b,A_27a),V0h) = f2060(A_27c,A_27b,A_27a,V0h) ).

fof(ax_thm_2Efmaptree_2Erelrec__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c) = f2061(A_27c,A_27b,A_27a) ) ) ) ).

fof(conj_thm_2Efmaptree_2Erelrec__rules,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1i,A_27a)
                     => ! [V2fm] :
                          ( mem(V2fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                         => ! [V3rfm] :
                              ( 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] :
                                      ( 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))) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Erelrec__ind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
                     => ( ! [V2i] :
                            ( mem(V2i,A_27a)
                           => ! [V3fm] :
                                ( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                               => ! [V4rfm] :
                                    ( 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] :
                                            ( 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] :
                            ( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                           => ! [V7a1] :
                                ( 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)) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Erelrec__strongind,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1relrec_27,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),arr(A_27c,bool)))
                     => ( ! [V2i] :
                            ( mem(V2i,A_27a)
                           => ! [V3fm] :
                                ( mem(V3fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                               => ! [V4rfm] :
                                    ( 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] :
                                            ( 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] :
                            ( mem(V6a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                           => ! [V7a1] :
                                ( 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)) ) ) ) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Erelrec__cases,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1a0,ty_2Efmaptree_2Efmaptree(A_27b,A_27a))
                     => ! [V2a1] :
                          ( mem(V2a1,A_27c)
                         => ( p(ap(ap(ap(c_2Efmaptree_2Erelrec(A_27a,A_27b,A_27c),V0h),V1a0),V2a1))
                          <=> ? [V3i] :
                                ( mem(V3i,A_27a)
                                & ? [V4fm] :
                                    ( mem(V4fm,ty_2Efinite__map_2Efmap(A_27b,ty_2Efmaptree_2Efmaptree(A_27b,A_27a)))
                                    & ? [V5rfm] :
                                        ( 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] :
                                            ( 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))) ) ) ) ) ) ) ) ) ) ) ) ) ).

fof(lameq_f2062,axiom,
    ! [A_27c,A_27b,A_27a,V1ft] :
      ( mem(V1ft,ty_2Efmaptree_2Efmaptree(A_27c,A_27b))
     => ! [V0h] :
          ( 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] : 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) ) ) ).

fof(ax_thm_2Efmaptree_2Efmtreerec__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( 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)) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Efmtreerec__thm,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1i,A_27b)
                     => ! [V2fm] :
                          ( 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) ) ) ) ) ) ) ).

fof(conj_thm_2Efmaptree_2Efmtree__Axiom,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [A_27c] :
              ( ne(A_27c)
             => ! [V0h] :
                  ( 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] :
                      ( mem(V1f,arr(ty_2Efmaptree_2Efmaptree(A_27b,A_27a),A_27c))
                      & ! [V2i] :
                          ( mem(V2i,A_27a)
                         => ! [V3fm] :
                              ( 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)) ) ) ) ) ) ) ) ).

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