ITP001 Axioms: ITP067_5.ax


%------------------------------------------------------------------------------
% File     : ITP067_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    : mergesort_2.ax [Gau20]
%          : HL4067_5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  106 (  13 unt;  32 typ;   0 def)
%            Number of atoms       : 3241 (  87 equ)
%            Maximal formula atoms :   57 (  30 avg)
%            Number of connectives :  482 (  22   ~;   0   |;  96   &)
%                                         (   8 <=>; 356  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   33 (   9 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       : 2707 (2707 fml;   0 var)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :   83 (  32   >;  51   *;   0   +;   0  <<)
%            Number of predicates  :   46 (  43 usr;  16 prp; 0-2 aty)
%            Number of functors    :   32 (  32 usr;   0 con; 1-5 aty)
%            Number of variables   :  484 ( 484   !;   0   ?; 484   :)
% SPC      : TF0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Emergesort_2Emerge,type,
    c_2Emergesort_2Emerge: del > $i ).

tff(mem_c_2Emergesort_2Emerge,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Emerge(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))) ).

tff(tp_c_2Emergesort_2Emerge__tail,type,
    c_2Emergesort_2Emerge__tail: del > $i ).

tff(mem_c_2Emergesort_2Emerge__tail,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Emerge__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))))) ).

tff(tp_c_2Emergesort_2Emergesort,type,
    c_2Emergesort_2Emergesort: del > $i ).

tff(mem_c_2Emergesort_2Emergesort,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Emergesort(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))) ).

tff(tp_c_2Emergesort_2EmergesortN,type,
    c_2Emergesort_2EmergesortN: del > $i ).

tff(mem_c_2Emergesort_2EmergesortN,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2EmergesortN(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a))))) ).

tff(tp_c_2Emergesort_2EmergesortN__tail,type,
    c_2Emergesort_2EmergesortN__tail: del > $i ).

tff(mem_c_2Emergesort_2EmergesortN__tail,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2EmergesortN__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))))) ).

tff(tp_c_2Emergesort_2Emergesort__tail,type,
    c_2Emergesort_2Emergesort__tail: del > $i ).

tff(mem_c_2Emergesort_2Emergesort__tail,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Emergesort__tail(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),ty_2Elist_2Elist(A_27a)))) ).

tff(tp_c_2Emergesort_2Esort2,type,
    c_2Emergesort_2Esort2: del > $i ).

tff(mem_c_2Emergesort_2Esort2,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Esort2(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a))))) ).

tff(tp_c_2Emergesort_2Esort2__tail,type,
    c_2Emergesort_2Esort2__tail: del > $i ).

tff(mem_c_2Emergesort_2Esort2__tail,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Esort2__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a)))))) ).

tff(tp_c_2Emergesort_2Esort3,type,
    c_2Emergesort_2Esort3: del > $i ).

tff(mem_c_2Emergesort_2Esort3,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Esort3(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a)))))) ).

tff(tp_c_2Emergesort_2Esort3__tail,type,
    c_2Emergesort_2Esort3__tail: del > $i ).

tff(mem_c_2Emergesort_2Esort3__tail,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Esort3__tail(A_27a),arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(A_27a,arr(A_27a,arr(A_27a,ty_2Elist_2Elist(A_27a))))))) ).

tff(tp_c_2Emergesort_2Estable,type,
    c_2Emergesort_2Estable: del > $i ).

tff(mem_c_2Emergesort_2Estable,axiom,
    ! [A_27a: del] : mem(c_2Emergesort_2Estable(A_27a),arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool)))) ).

tff(ax_thm_2Emergesort_2Estable__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
              <=> ! [V3p: $i] :
                    ( mem(V3p,arr(A_27a,bool))
                   => ( ! [V4x: $i] :
                          ( mem(V4x,A_27a)
                         => ! [V5y: $i] :
                              ( mem(V5y,A_27a)
                             => ( ( p(ap(V3p,V4x))
                                  & p(ap(V3p,V5y)) )
                               => p(ap(ap(V0R,V4x),V5y)) ) ) )
                     => ( ap(ap(c_2Elist_2EFILTER(A_27a),V3p),V1l1) = ap(ap(c_2Elist_2EFILTER(A_27a),V3p),V2l2) ) ) ) ) ) ) ) ).

tff(ax_thm_2Emergesort_2Esort2__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ( ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V2y)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))) ) ) ) ) ).

tff(ax_thm_2Emergesort_2Esort3__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ! [V3z: $i] :
                  ( mem(V3z,A_27a)
                 => ( ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V2y)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V2y),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a))))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V2y),V3z)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V0R,V1x),V3z)),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))))),ap(ap(c_2Elist_2ECONS(A_27a),V3z),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V1x),c_2Elist_2ENIL(A_27a)))))) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__ind,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))))
     => ( ( ! [V1R: $i] :
              ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(V0P,V1R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a))) )
          & ! [V2R: $i] :
              ( mem(V2R,arr(A_27a,arr(A_27a,bool)))
             => ! [V3v8: $i] :
                  ( mem(V3v8,A_27a)
                 => ! [V4v9: $i] :
                      ( mem(V4v9,ty_2Elist_2Elist(A_27a))
                     => p(ap(ap(ap(V0P,V2R),ap(ap(c_2Elist_2ECONS(A_27a),V3v8),V4v9)),c_2Elist_2ENIL(A_27a))) ) ) )
          & ! [V5R: $i] :
              ( mem(V5R,arr(A_27a,arr(A_27a,bool)))
             => ! [V6v4: $i] :
                  ( mem(V6v4,A_27a)
                 => ! [V7v5: $i] :
                      ( mem(V7v5,ty_2Elist_2Elist(A_27a))
                     => p(ap(ap(ap(V0P,V5R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V6v4),V7v5))) ) ) )
          & ! [V8R: $i] :
              ( mem(V8R,arr(A_27a,arr(A_27a,bool)))
             => ! [V9x: $i] :
                  ( mem(V9x,A_27a)
                 => ! [V10l1: $i] :
                      ( mem(V10l1,ty_2Elist_2Elist(A_27a))
                     => ! [V11y: $i] :
                          ( mem(V11y,A_27a)
                         => ! [V12l2: $i] :
                              ( mem(V12l2,ty_2Elist_2Elist(A_27a))
                             => ( ( ( ~ p(ap(ap(V8R,V9x),V11y))
                                   => p(ap(ap(ap(V0P,V8R),ap(ap(c_2Elist_2ECONS(A_27a),V9x),V10l1)),V12l2)) )
                                  & ( p(ap(ap(V8R,V9x),V11y))
                                   => p(ap(ap(ap(V0P,V8R),V10l1),ap(ap(c_2Elist_2ECONS(A_27a),V11y),V12l2))) ) )
                               => p(ap(ap(ap(V0P,V8R),ap(ap(c_2Elist_2ECONS(A_27a),V9x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27a),V11y),V12l2))) ) ) ) ) ) ) )
       => ! [V13v: $i] :
            ( mem(V13v,arr(A_27a,arr(A_27a,bool)))
           => ! [V14v1: $i] :
                ( mem(V14v1,ty_2Elist_2Elist(A_27a))
               => ! [V15v2: $i] :
                    ( mem(V15v2,ty_2Elist_2Elist(A_27a))
                   => p(ap(ap(ap(V0P,V13v),V14v1),V15v2)) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__def,axiom,
    ! [A_27a: del] :
      ( ! [V0R: $i] :
          ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V1v9: $i] :
          ( mem(V1v9,ty_2Elist_2Elist(A_27a))
         => ! [V2v8: $i] :
              ( mem(V2v8,A_27a)
             => ! [V3R: $i] :
                  ( mem(V3R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V3R),ap(ap(c_2Elist_2ECONS(A_27a),V2v8),V1v9)),c_2Elist_2ENIL(A_27a)) = ap(ap(c_2Elist_2ECONS(A_27a),V2v8),V1v9) ) ) ) )
      & ! [V4v5: $i] :
          ( mem(V4v5,ty_2Elist_2Elist(A_27a))
         => ! [V5v4: $i] :
              ( mem(V5v4,A_27a)
             => ! [V6R: $i] :
                  ( mem(V6R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V6R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V5v4),V4v5)) = ap(ap(c_2Elist_2ECONS(A_27a),V5v4),V4v5) ) ) ) )
      & ! [V7y: $i] :
          ( mem(V7y,A_27a)
         => ! [V8x: $i] :
              ( mem(V8x,A_27a)
             => ! [V9l2: $i] :
                  ( mem(V9l2,ty_2Elist_2Elist(A_27a))
                 => ! [V10l1: $i] :
                      ( mem(V10l1,ty_2Elist_2Elist(A_27a))
                     => ! [V11R: $i] :
                          ( mem(V11R,arr(A_27a,arr(A_27a,bool)))
                         => ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),ap(ap(c_2Elist_2ECONS(A_27a),V8x),V10l1)),ap(ap(c_2Elist_2ECONS(A_27a),V7y),V9l2)) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(V11R,V8x),V7y)),ap(ap(c_2Elist_2ECONS(A_27a),V8x),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),V10l1),ap(ap(c_2Elist_2ECONS(A_27a),V7y),V9l2)))),ap(ap(c_2Elist_2ECONS(A_27a),V7y),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V11R),ap(ap(c_2Elist_2ECONS(A_27a),V8x),V10l1)),V9l2))) ) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__ind,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),bool))))
     => ( ( ! [V1R: $i] :
              ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
             => ! [V2l: $i] :
                  ( mem(V2l,ty_2Elist_2Elist(A_27a))
                 => p(ap(ap(ap(V0P,V1R),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V2l)) ) )
          & ! [V3R: $i] :
              ( mem(V3R,arr(A_27a,arr(A_27a,bool)))
             => ! [V4x: $i] :
                  ( mem(V4x,A_27a)
                 => ! [V5l: $i] :
                      ( mem(V5l,ty_2Elist_2Elist(A_27a))
                     => p(ap(ap(ap(V0P,V3R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V4x),V5l))) ) ) )
          & ! [V6R: $i] :
              ( mem(V6R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(V0P,V6R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) )
          & ! [V7R: $i] :
              ( mem(V7R,arr(A_27a,arr(A_27a,bool)))
             => ! [V8x: $i] :
                  ( mem(V8x,A_27a)
                 => ! [V9y: $i] :
                      ( mem(V9y,A_27a)
                     => ! [V10l: $i] :
                          ( mem(V10l,ty_2Elist_2Elist(A_27a))
                         => p(ap(ap(ap(V0P,V7R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V8x),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V10l)))) ) ) ) )
          & ! [V11R: $i] :
              ( mem(V11R,arr(A_27a,arr(A_27a,bool)))
             => ! [V12x: $i] :
                  ( mem(V12x,A_27a)
                 => p(ap(ap(ap(V0P,V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V12x),c_2Elist_2ENIL(A_27a)))) ) )
          & ! [V13R: $i] :
              ( mem(V13R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(V0P,V13R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) )
          & ! [V14R: $i] :
              ( mem(V14R,arr(A_27a,arr(A_27a,bool)))
             => ! [V15x: $i] :
                  ( mem(V15x,A_27a)
                 => ! [V16y: $i] :
                      ( mem(V16y,A_27a)
                     => ! [V17z: $i] :
                          ( mem(V17z,A_27a)
                         => ! [V18l: $i] :
                              ( mem(V18l,ty_2Elist_2Elist(A_27a))
                             => p(ap(ap(ap(V0P,V14R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V15x),ap(ap(c_2Elist_2ECONS(A_27a),V16y),ap(ap(c_2Elist_2ECONS(A_27a),V17z),V18l))))) ) ) ) ) )
          & ! [V19R: $i] :
              ( mem(V19R,arr(A_27a,arr(A_27a,bool)))
             => ! [V20x: $i] :
                  ( mem(V20x,A_27a)
                 => ! [V21y: $i] :
                      ( mem(V21y,A_27a)
                     => p(ap(ap(ap(V0P,V19R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V20x),ap(ap(c_2Elist_2ECONS(A_27a),V21y),c_2Elist_2ENIL(A_27a))))) ) ) )
          & ! [V22R: $i] :
              ( mem(V22R,arr(A_27a,arr(A_27a,bool)))
             => ! [V23x: $i] :
                  ( mem(V23x,A_27a)
                 => p(ap(ap(ap(V0P,V22R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V23x),c_2Elist_2ENIL(A_27a)))) ) )
          & ! [V24R: $i] :
              ( mem(V24R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(V0P,V24R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),c_2Elist_2ENIL(A_27a))) )
          & ! [V25R: $i] :
              ( mem(V25R,arr(A_27a,arr(A_27a,bool)))
             => ! [V26v4: tp__ty_2Enum_2Enum,V27l: $i] :
                  ( mem(V27l,ty_2Elist_2Elist(A_27a))
                 => ( ( ! [V28len1: tp__ty_2Enum_2Enum] :
                          ( ( ( V26v4 != fo__c_2Enum_2E0 )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
                            & ( V28len1 = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V26v4))) ) )
                         => p(ap(ap(ap(V0P,V25R),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V26v4))),V27l)) )
                      & ! [V29len1: tp__ty_2Enum_2Enum] :
                          ( ( ( V26v4 != fo__c_2Enum_2E0 )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V26v4 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
                            & ( V29len1 = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V26v4))) ) )
                         => p(ap(ap(ap(V0P,V25R),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V26v4)),inj__ty_2Enum_2Enum(V29len1))),ap(ap(c_2Elist_2EDROP(A_27a),inj__ty_2Enum_2Enum(V29len1)),V27l))) ) )
                   => p(ap(ap(ap(V0P,V25R),inj__ty_2Enum_2Enum(V26v4)),V27l)) ) ) ) )
       => ! [V30v: $i] :
            ( mem(V30v,arr(A_27a,arr(A_27a,bool)))
           => ! [V31v1: tp__ty_2Enum_2Enum,V32v2: $i] :
                ( mem(V32v2,ty_2Elist_2Elist(A_27a))
               => p(ap(ap(ap(V0P,V30v),inj__ty_2Enum_2Enum(V31v1)),V32v2)) ) ) ) ) ).

tff(lamtp_f1802,type,
    f1802: del > $i ).

tff(lameq_f1802,axiom,
    ! [A_27a: del,V27x: $i] : ( ap(f1802(A_27a),V27x) = k(ty_2Elist_2Elist(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V27x),c_2Elist_2ENIL(A_27a))) ) ).

tff(lamtp_f1803,type,
    f1803: ( del * $i * $i ) > $i ).

tff(lameq_f1803,axiom,
    ! [A_27a: del,V29x_27: $i] :
      ( mem(V29x_27,A_27a)
     => ! [V26R: $i] :
          ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
         => ! [V31y: $i] : ( ap(f1803(A_27a,V29x_27,V26R),V31y) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V26R),V29x_27),V31y)) ) ) ) ).

tff(lamtp_f1804,type,
    f1804: ( del * $i * $i ) > $i ).

tff(lameq_f1804,axiom,
    ! [A_27a: del,V29x_27: $i] :
      ( mem(V29x_27,A_27a)
     => ! [V26R: $i] :
          ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
         => ! [V30v17: $i] : ( ap(f1804(A_27a,V29x_27,V26R),V30v17) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V30v17),ap(ap(c_2Elist_2ECONS(A_27a),V29x_27),c_2Elist_2ENIL(A_27a))),f1803(A_27a,V29x_27,V26R)) ) ) ) ).

tff(lamtp_f1805,type,
    f1805: ( del * $i ) > $i ).

tff(lameq_f1805,axiom,
    ! [A_27a: del,V26R: $i] :
      ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
     => ! [V29x_27: $i] : ( ap(f1805(A_27a,V26R),V29x_27) = f1804(A_27a,V29x_27,V26R) ) ) ).

tff(lamtp_f1806,type,
    f1806: ( del * $i * $i * $i ) > $i ).

tff(lameq_f1806,axiom,
    ! [A_27a: del,V35y_27: $i] :
      ( mem(V35y_27,A_27a)
     => ! [V26R: $i] :
          ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
         => ! [V33x_27_27: $i] :
              ( mem(V33x_27_27,A_27a)
             => ! [V37z: $i] : ( ap(f1806(A_27a,V35y_27,V26R,V33x_27_27),V37z) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V26R),V33x_27_27),V35y_27),V37z)) ) ) ) ) ).

tff(lamtp_f1807,type,
    f1807: ( del * $i * $i * $i ) > $i ).

tff(lameq_f1807,axiom,
    ! [A_27a: del,V35y_27: $i] :
      ( mem(V35y_27,A_27a)
     => ! [V26R: $i] :
          ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
         => ! [V33x_27_27: $i] :
              ( mem(V33x_27_27,A_27a)
             => ! [V36v29: $i] : ( ap(f1807(A_27a,V35y_27,V26R,V33x_27_27),V36v29) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36v29),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V26R),V33x_27_27),V35y_27)),f1806(A_27a,V35y_27,V26R,V33x_27_27)) ) ) ) ) ).

tff(lamtp_f1808,type,
    f1808: ( del * $i * $i ) > $i ).

tff(lameq_f1808,axiom,
    ! [A_27a: del,V26R: $i] :
      ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
     => ! [V33x_27_27: $i] :
          ( mem(V33x_27_27,A_27a)
         => ! [V35y_27: $i] : ( ap(f1808(A_27a,V26R,V33x_27_27),V35y_27) = f1807(A_27a,V35y_27,V26R,V33x_27_27) ) ) ) ).

tff(lamtp_f1809,type,
    f1809: ( del * $i * $i ) > $i ).

tff(lameq_f1809,axiom,
    ! [A_27a: del,V26R: $i] :
      ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
     => ! [V33x_27_27: $i] :
          ( mem(V33x_27_27,A_27a)
         => ! [V34v25: $i] : ( ap(f1809(A_27a,V26R,V33x_27_27),V34v25) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V34v25),ap(ap(c_2Elist_2ECONS(A_27a),V33x_27_27),c_2Elist_2ENIL(A_27a))),f1808(A_27a,V26R,V33x_27_27)) ) ) ) ).

tff(lamtp_f1810,type,
    f1810: ( del * $i ) > $i ).

tff(lameq_f1810,axiom,
    ! [A_27a: del,V26R: $i] :
      ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
     => ! [V33x_27_27: $i] : ( ap(f1810(A_27a,V26R),V33x_27_27) = f1809(A_27a,V26R,V33x_27_27) ) ) ).

tff(lamtp_f1811,type,
    f1811: ( del * $i * tp__ty_2Enum_2Enum * $i ) > $i ).

tff(lameq_f1811,axiom,
    ! [A_27a: del,V25l: $i] :
      ( mem(V25l,ty_2Elist_2Elist(A_27a))
     => ! [V24v4: tp__ty_2Enum_2Enum,V26R: $i] :
          ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
         => ! [V39len1: tp__ty_2Enum_2Enum] : ( ap(f1811(A_27a,V25l,V24v4,V26R),inj__ty_2Enum_2Enum(V39len1)) = ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V26R),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V24v4))),V25l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V24v4)),inj__ty_2Enum_2Enum(V39len1))),ap(ap(c_2Elist_2EDROP(A_27a),inj__ty_2Enum_2Enum(V39len1)),V25l))) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__def,axiom,
    ! [A_27a: del] :
      ( ! [V0l: $i] :
          ( mem(V0l,ty_2Elist_2Elist(A_27a))
         => ! [V1R: $i] :
              ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V0l) = c_2Elist_2ENIL(A_27a) ) ) )
      & ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3l: $i] :
              ( mem(V3l,ty_2Elist_2Elist(A_27a))
             => ! [V4R: $i] :
                  ( mem(V4R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V4R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),V3l)) = ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)) ) ) ) )
      & ! [V5R: $i] :
          ( mem(V5R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V5R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V6y: $i] :
          ( mem(V6y,A_27a)
         => ! [V7x: $i] :
              ( mem(V7x,A_27a)
             => ! [V8l: $i] :
                  ( mem(V8l,ty_2Elist_2Elist(A_27a))
                 => ! [V9R: $i] :
                      ( mem(V9R,arr(A_27a,arr(A_27a,bool)))
                     => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V9R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V7x),ap(ap(c_2Elist_2ECONS(A_27a),V6y),V8l))) = ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V9R),V7x),V6y) ) ) ) ) )
      & ! [V10x: $i] :
          ( mem(V10x,A_27a)
         => ! [V11R: $i] :
              ( mem(V11R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V10x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V10x),c_2Elist_2ENIL(A_27a)) ) ) )
      & ! [V12R: $i] :
          ( mem(V12R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V12R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V13z: $i] :
          ( mem(V13z,A_27a)
         => ! [V14y: $i] :
              ( mem(V14y,A_27a)
             => ! [V15x: $i] :
                  ( mem(V15x,A_27a)
                 => ! [V16l: $i] :
                      ( mem(V16l,ty_2Elist_2Elist(A_27a))
                     => ! [V17R: $i] :
                          ( mem(V17R,arr(A_27a,arr(A_27a,bool)))
                         => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V17R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V15x),ap(ap(c_2Elist_2ECONS(A_27a),V14y),ap(ap(c_2Elist_2ECONS(A_27a),V13z),V16l)))) = ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V17R),V15x),V14y),V13z) ) ) ) ) ) )
      & ! [V18y: $i] :
          ( mem(V18y,A_27a)
         => ! [V19x: $i] :
              ( mem(V19x,A_27a)
             => ! [V20R: $i] :
                  ( mem(V20R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V20R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V19x),ap(ap(c_2Elist_2ECONS(A_27a),V18y),c_2Elist_2ENIL(A_27a)))) = ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V20R),V19x),V18y) ) ) ) )
      & ! [V21x: $i] :
          ( mem(V21x,A_27a)
         => ! [V22R: $i] :
              ( mem(V22R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V22R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V21x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V21x),c_2Elist_2ENIL(A_27a)) ) ) )
      & ! [V23R: $i] :
          ( mem(V23R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V23R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V24v4: tp__ty_2Enum_2Enum,V25l: $i] :
          ( mem(V25l,ty_2Elist_2Elist(A_27a))
         => ! [V26R: $i] :
              ( mem(V26R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V26R),inj__ty_2Enum_2Enum(V24v4)),V25l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V24v4)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Elist_2ENIL(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V24v4)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1802(A_27a))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V24v4)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1805(A_27a,V26R))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V24v4)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V25l),c_2Elist_2ENIL(A_27a)),f1810(A_27a,V26R))),ap(ap(c_2Ebool_2ELET(ty_2Enum_2Enum,ty_2Elist_2Elist(A_27a)),f1811(A_27a,V25l,V24v4,V26R)),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V24v4))))))) ) ) ) ) ).

tff(ax_thm_2Emergesort_2Emergesort__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ( ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l) = ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),ap(c_2Elist_2ELENGTH(A_27a),V1l)),V1l) ) ) ) ).

tff(ax_thm_2Emergesort_2Esort2__tail__def,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3y: $i] :
              ( mem(V3y,A_27a)
             => ( ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V0neg)),V1R),V2x),V3y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V3y)),inj__o(V0neg)))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a)))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))) ) ) ) ) ).

tff(ax_thm_2Emergesort_2Esort3__tail__def,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3y: $i] :
              ( mem(V3y,A_27a)
             => ! [V4z: $i] :
                  ( mem(V4z,A_27a)
                 => ( ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),inj__o(V0neg)),V1R),V2x),V3y),V4z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V3y)),inj__o(V0neg)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V3y),V4z)),inj__o(V0neg)))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V4z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V4z)),inj__o(V0neg)))),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V3y),c_2Elist_2ENIL(A_27a))))))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V3y),V4z)),inj__o(V0neg)))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V1R,V2x),V4z)),inj__o(V0neg)))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),ap(ap(c_2Elist_2ECONS(A_27a),V4z),c_2Elist_2ENIL(A_27a))))),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))))),ap(ap(c_2Elist_2ECONS(A_27a),V4z),ap(ap(c_2Elist_2ECONS(A_27a),V3y),ap(ap(c_2Elist_2ECONS(A_27a),V2x),c_2Elist_2ENIL(A_27a)))))) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__tail__ind,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),arr(ty_2Elist_2Elist(A_27a),bool))))))
     => ( ( ! [V1negate: tp__o,V2R: $i] :
              ( mem(V2R,arr(A_27a,arr(A_27a,bool)))
             => ! [V3acc: $i] :
                  ( mem(V3acc,ty_2Elist_2Elist(A_27a))
                 => p(ap(ap(ap(ap(ap(V0P,inj__o(V1negate)),V2R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)),V3acc)) ) )
          & ! [V4negate: tp__o,V5R: $i] :
              ( mem(V5R,arr(A_27a,arr(A_27a,bool)))
             => ! [V6v12: $i] :
                  ( mem(V6v12,A_27a)
                 => ! [V7v13: $i] :
                      ( mem(V7v13,ty_2Elist_2Elist(A_27a))
                     => ! [V8acc: $i] :
                          ( mem(V8acc,ty_2Elist_2Elist(A_27a))
                         => p(ap(ap(ap(ap(ap(V0P,inj__o(V4negate)),V5R),ap(ap(c_2Elist_2ECONS(A_27a),V6v12),V7v13)),c_2Elist_2ENIL(A_27a)),V8acc)) ) ) ) )
          & ! [V9negate: tp__o,V10R: $i] :
              ( mem(V10R,arr(A_27a,arr(A_27a,bool)))
             => ! [V11v8: $i] :
                  ( mem(V11v8,A_27a)
                 => ! [V12v9: $i] :
                      ( mem(V12v9,ty_2Elist_2Elist(A_27a))
                     => ! [V13acc: $i] :
                          ( mem(V13acc,ty_2Elist_2Elist(A_27a))
                         => p(ap(ap(ap(ap(ap(V0P,inj__o(V9negate)),V10R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V11v8),V12v9)),V13acc)) ) ) ) )
          & ! [V14negate: tp__o,V15R: $i] :
              ( mem(V15R,arr(A_27a,arr(A_27a,bool)))
             => ! [V16x: $i] :
                  ( mem(V16x,A_27a)
                 => ! [V17l1: $i] :
                      ( mem(V17l1,ty_2Elist_2Elist(A_27a))
                     => ! [V18y: $i] :
                          ( mem(V18y,A_27a)
                         => ! [V19l2: $i] :
                              ( mem(V19l2,ty_2Elist_2Elist(A_27a))
                             => ! [V20acc: $i] :
                                  ( mem(V20acc,ty_2Elist_2Elist(A_27a))
                                 => ( ( ( ~ ~ ( p(ap(ap(V15R,V16x),V18y))
                                            <=> p(inj__o(V14negate)) )
                                       => p(ap(ap(ap(ap(ap(V0P,inj__o(V14negate)),V15R),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V17l1)),V19l2),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V20acc))) )
                                      & ( ~ ( p(ap(ap(V15R,V16x),V18y))
                                          <=> p(inj__o(V14negate)) )
                                       => p(ap(ap(ap(ap(ap(V0P,inj__o(V14negate)),V15R),V17l1),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V19l2)),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V20acc))) ) )
                                   => p(ap(ap(ap(ap(ap(V0P,inj__o(V14negate)),V15R),ap(ap(c_2Elist_2ECONS(A_27a),V16x),V17l1)),ap(ap(c_2Elist_2ECONS(A_27a),V18y),V19l2)),V20acc)) ) ) ) ) ) ) ) )
       => ! [V21v: tp__o,V22v1: $i] :
            ( mem(V22v1,arr(A_27a,arr(A_27a,bool)))
           => ! [V23v2: $i] :
                ( mem(V23v2,ty_2Elist_2Elist(A_27a))
               => ! [V24v3: $i] :
                    ( mem(V24v3,ty_2Elist_2Elist(A_27a))
                   => ! [V25v4: $i] :
                        ( mem(V25v4,ty_2Elist_2Elist(A_27a))
                       => p(ap(ap(ap(ap(ap(V0P,inj__o(V21v)),V22v1),V23v2),V24v3),V25v4)) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__tail__def,axiom,
    ! [A_27a: del] :
      ( ! [V0negate: tp__o,V1acc: $i] :
          ( mem(V1acc,ty_2Elist_2Elist(A_27a))
         => ! [V2R: $i] :
              ( mem(V2R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V0negate)),V2R),c_2Elist_2ENIL(A_27a)),c_2Elist_2ENIL(A_27a)),V1acc) = V1acc ) ) )
      & ! [V3v13: $i] :
          ( mem(V3v13,ty_2Elist_2Elist(A_27a))
         => ! [V4v12: $i] :
              ( mem(V4v12,A_27a)
             => ! [V5negate: tp__o,V6acc: $i] :
                  ( mem(V6acc,ty_2Elist_2Elist(A_27a))
                 => ! [V7R: $i] :
                      ( mem(V7R,arr(A_27a,arr(A_27a,bool)))
                     => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V5negate)),V7R),ap(ap(c_2Elist_2ECONS(A_27a),V4v12),V3v13)),c_2Elist_2ENIL(A_27a)),V6acc) = ap(ap(c_2Elist_2EREV(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V4v12),V3v13)),V6acc) ) ) ) ) )
      & ! [V8v9: $i] :
          ( mem(V8v9,ty_2Elist_2Elist(A_27a))
         => ! [V9v8: $i] :
              ( mem(V9v8,A_27a)
             => ! [V10negate: tp__o,V11acc: $i] :
                  ( mem(V11acc,ty_2Elist_2Elist(A_27a))
                 => ! [V12R: $i] :
                      ( mem(V12R,arr(A_27a,arr(A_27a,bool)))
                     => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V10negate)),V12R),c_2Elist_2ENIL(A_27a)),ap(ap(c_2Elist_2ECONS(A_27a),V9v8),V8v9)),V11acc) = ap(ap(c_2Elist_2EREV(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V9v8),V8v9)),V11acc) ) ) ) ) )
      & ! [V13y: $i] :
          ( mem(V13y,A_27a)
         => ! [V14x: $i] :
              ( mem(V14x,A_27a)
             => ! [V15negate: tp__o,V16l2: $i] :
                  ( mem(V16l2,ty_2Elist_2Elist(A_27a))
                 => ! [V17l1: $i] :
                      ( mem(V17l1,ty_2Elist_2Elist(A_27a))
                     => ! [V18acc: $i] :
                          ( mem(V18acc,ty_2Elist_2Elist(A_27a))
                         => ! [V19R: $i] :
                              ( mem(V19R,arr(A_27a,arr(A_27a,bool)))
                             => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V15negate)),V19R),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V17l1)),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V16l2)),V18acc) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(c_2Ebool_2E_7E,ap(ap(c_2Emin_2E_3D(bool),ap(ap(V19R,V14x),V13y)),inj__o(V15negate)))),ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V15negate)),V19R),V17l1),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V16l2)),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V18acc))),ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V15negate)),V19R),ap(ap(c_2Elist_2ECONS(A_27a),V14x),V17l1)),V16l2),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V18acc))) ) ) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__tail__ind,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(bool,arr(arr(A_27a,arr(A_27a,bool)),arr(ty_2Enum_2Enum,arr(ty_2Elist_2Elist(A_27a),bool)))))
     => ( ( ! [V1negate: tp__o,V2R: $i] :
              ( mem(V2R,arr(A_27a,arr(A_27a,bool)))
             => ! [V3l: $i] :
                  ( mem(V3l,ty_2Elist_2Elist(A_27a))
                 => p(ap(ap(ap(ap(V0P,inj__o(V1negate)),V2R),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V3l)) ) )
          & ! [V4negate: tp__o,V5R: $i] :
              ( mem(V5R,arr(A_27a,arr(A_27a,bool)))
             => ! [V6x: $i] :
                  ( mem(V6x,A_27a)
                 => ! [V7l: $i] :
                      ( mem(V7l,ty_2Elist_2Elist(A_27a))
                     => p(ap(ap(ap(ap(V0P,inj__o(V4negate)),V5R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V6x),V7l))) ) ) )
          & ! [V8negate: tp__o,V9R: $i] :
              ( mem(V9R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(ap(V0P,inj__o(V8negate)),V9R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) )
          & ! [V10negate: tp__o,V11R: $i] :
              ( mem(V11R,arr(A_27a,arr(A_27a,bool)))
             => ! [V12x: $i] :
                  ( mem(V12x,A_27a)
                 => ! [V13y: $i] :
                      ( mem(V13y,A_27a)
                     => ! [V14l: $i] :
                          ( mem(V14l,ty_2Elist_2Elist(A_27a))
                         => p(ap(ap(ap(ap(V0P,inj__o(V10negate)),V11R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V12x),ap(ap(c_2Elist_2ECONS(A_27a),V13y),V14l)))) ) ) ) )
          & ! [V15negate: tp__o,V16R: $i] :
              ( mem(V16R,arr(A_27a,arr(A_27a,bool)))
             => ! [V17x: $i] :
                  ( mem(V17x,A_27a)
                 => p(ap(ap(ap(ap(V0P,inj__o(V15negate)),V16R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V17x),c_2Elist_2ENIL(A_27a)))) ) )
          & ! [V18negate: tp__o,V19R: $i] :
              ( mem(V19R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(ap(V0P,inj__o(V18negate)),V19R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a))) )
          & ! [V20negate: tp__o,V21R: $i] :
              ( mem(V21R,arr(A_27a,arr(A_27a,bool)))
             => ! [V22x: $i] :
                  ( mem(V22x,A_27a)
                 => ! [V23y: $i] :
                      ( mem(V23y,A_27a)
                     => ! [V24z: $i] :
                          ( mem(V24z,A_27a)
                         => ! [V25l: $i] :
                              ( mem(V25l,ty_2Elist_2Elist(A_27a))
                             => p(ap(ap(ap(ap(V0P,inj__o(V20negate)),V21R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V22x),ap(ap(c_2Elist_2ECONS(A_27a),V23y),ap(ap(c_2Elist_2ECONS(A_27a),V24z),V25l))))) ) ) ) ) )
          & ! [V26negate: tp__o,V27R: $i] :
              ( mem(V27R,arr(A_27a,arr(A_27a,bool)))
             => ! [V28x: $i] :
                  ( mem(V28x,A_27a)
                 => ! [V29y: $i] :
                      ( mem(V29y,A_27a)
                     => p(ap(ap(ap(ap(V0P,inj__o(V26negate)),V27R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V28x),ap(ap(c_2Elist_2ECONS(A_27a),V29y),c_2Elist_2ENIL(A_27a))))) ) ) )
          & ! [V30negate: tp__o,V31R: $i] :
              ( mem(V31R,arr(A_27a,arr(A_27a,bool)))
             => ! [V32x: $i] :
                  ( mem(V32x,A_27a)
                 => p(ap(ap(ap(ap(V0P,inj__o(V30negate)),V31R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V32x),c_2Elist_2ENIL(A_27a)))) ) )
          & ! [V33negate: tp__o,V34R: $i] :
              ( mem(V34R,arr(A_27a,arr(A_27a,bool)))
             => p(ap(ap(ap(ap(V0P,inj__o(V33negate)),V34R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),c_2Elist_2ENIL(A_27a))) )
          & ! [V35negate: tp__o,V36R: $i] :
              ( mem(V36R,arr(A_27a,arr(A_27a,bool)))
             => ! [V37v6: tp__ty_2Enum_2Enum,V38l: $i] :
                  ( mem(V38l,ty_2Elist_2Elist(A_27a))
                 => ( ( ! [V39len1: tp__ty_2Enum_2Enum,V40neg: tp__o] :
                          ( ( ( V37v6 != fo__c_2Enum_2E0 )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
                            & ( V39len1 = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V37v6))) )
                            & ( p(inj__o(V40neg))
                            <=> ~ p(inj__o(V35negate)) ) )
                         => p(ap(ap(ap(ap(V0P,inj__o(V40neg)),V36R),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V37v6))),V38l)) )
                      & ! [V41len1: tp__ty_2Enum_2Enum,V42neg: tp__o] :
                          ( ( ( V37v6 != fo__c_2Enum_2E0 )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) )
                            & ( V37v6 != surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))) )
                            & ( V41len1 = surj__ty_2Enum_2Enum(ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V37v6))) )
                            & ( p(inj__o(V42neg))
                            <=> ~ p(inj__o(V35negate)) ) )
                         => p(ap(ap(ap(ap(V0P,inj__o(V42neg)),V36R),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V37v6)),inj__ty_2Enum_2Enum(V41len1))),ap(ap(c_2Elist_2EDROP(A_27a),inj__ty_2Enum_2Enum(V41len1)),V38l))) ) )
                   => p(ap(ap(ap(ap(V0P,inj__o(V35negate)),V36R),inj__ty_2Enum_2Enum(V37v6)),V38l)) ) ) ) )
       => ! [V43v: tp__o,V44v1: $i] :
            ( mem(V44v1,arr(A_27a,arr(A_27a,bool)))
           => ! [V45v2: tp__ty_2Enum_2Enum,V46v3: $i] :
                ( mem(V46v3,ty_2Elist_2Elist(A_27a))
               => p(ap(ap(ap(ap(V0P,inj__o(V43v)),V44v1),inj__ty_2Enum_2Enum(V45v2)),V46v3)) ) ) ) ) ).

tff(lamtp_f1812,type,
    f1812: del > $i ).

tff(lameq_f1812,axiom,
    ! [A_27a: del,V38x: $i] : ( ap(f1812(A_27a),V38x) = k(ty_2Elist_2Elist(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V38x),c_2Elist_2ENIL(A_27a))) ) ).

tff(lamtp_f1813,type,
    f1813: ( del * $i * tp__o * $i ) > $i ).

tff(lameq_f1813,axiom,
    ! [A_27a: del,V40x_27: $i] :
      ( mem(V40x_27,A_27a)
     => ! [V35negate: tp__o,V37R: $i] :
          ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
         => ! [V42y: $i] : ( ap(f1813(A_27a,V40x_27,V35negate,V37R),V42y) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V35negate)),V37R),V40x_27),V42y)) ) ) ) ).

tff(lamtp_f1814,type,
    f1814: ( del * $i * tp__o * $i ) > $i ).

tff(lameq_f1814,axiom,
    ! [A_27a: del,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V35negate: tp__o,V40x_27: $i] :
          ( mem(V40x_27,A_27a)
         => ! [V41v19: $i] : ( ap(f1814(A_27a,V37R,V35negate,V40x_27),V41v19) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V41v19),ap(ap(c_2Elist_2ECONS(A_27a),V40x_27),c_2Elist_2ENIL(A_27a))),f1813(A_27a,V40x_27,V35negate,V37R)) ) ) ) ).

tff(lamtp_f1815,type,
    f1815: ( del * $i * tp__o ) > $i ).

tff(lameq_f1815,axiom,
    ! [A_27a: del,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V35negate: tp__o,V40x_27: $i] : ( ap(f1815(A_27a,V37R,V35negate),V40x_27) = f1814(A_27a,V37R,V35negate,V40x_27) ) ) ).

tff(lamtp_f1816,type,
    f1816: ( del * $i * $i * tp__o * $i ) > $i ).

tff(lameq_f1816,axiom,
    ! [A_27a: del,V46y_27: $i] :
      ( mem(V46y_27,A_27a)
     => ! [V37R: $i] :
          ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
         => ! [V35negate: tp__o,V44x_27_27: $i] :
              ( mem(V44x_27_27,A_27a)
             => ! [V48z: $i] : ( ap(f1816(A_27a,V46y_27,V37R,V35negate,V44x_27_27),V48z) = k(ty_2Elist_2Elist(A_27a),ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),inj__o(V35negate)),V37R),V44x_27_27),V46y_27),V48z)) ) ) ) ) ).

tff(lamtp_f1817,type,
    f1817: ( del * $i * $i * tp__o * $i ) > $i ).

tff(lameq_f1817,axiom,
    ! [A_27a: del,V46y_27: $i] :
      ( mem(V46y_27,A_27a)
     => ! [V37R: $i] :
          ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
         => ! [V35negate: tp__o,V44x_27_27: $i] :
              ( mem(V44x_27_27,A_27a)
             => ! [V47v31: $i] : ( ap(f1817(A_27a,V46y_27,V37R,V35negate,V44x_27_27),V47v31) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V47v31),ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V35negate)),V37R),V44x_27_27),V46y_27)),f1816(A_27a,V46y_27,V37R,V35negate,V44x_27_27)) ) ) ) ) ).

tff(lamtp_f1818,type,
    f1818: ( del * $i * tp__o * $i ) > $i ).

tff(lameq_f1818,axiom,
    ! [A_27a: del,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V35negate: tp__o,V44x_27_27: $i] :
          ( mem(V44x_27_27,A_27a)
         => ! [V46y_27: $i] : ( ap(f1818(A_27a,V37R,V35negate,V44x_27_27),V46y_27) = f1817(A_27a,V46y_27,V37R,V35negate,V44x_27_27) ) ) ) ).

tff(lamtp_f1819,type,
    f1819: ( del * tp__o * $i * $i ) > $i ).

tff(lameq_f1819,axiom,
    ! [A_27a: del,V35negate: tp__o,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V44x_27_27: $i] :
          ( mem(V44x_27_27,A_27a)
         => ! [V45v27: $i] : ( ap(f1819(A_27a,V35negate,V37R,V44x_27_27),V45v27) = ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V45v27),ap(ap(c_2Elist_2ECONS(A_27a),V44x_27_27),c_2Elist_2ENIL(A_27a))),f1818(A_27a,V37R,V35negate,V44x_27_27)) ) ) ) ).

tff(lamtp_f1820,type,
    f1820: ( del * tp__o * $i ) > $i ).

tff(lameq_f1820,axiom,
    ! [A_27a: del,V35negate: tp__o,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V44x_27_27: $i] : ( ap(f1820(A_27a,V35negate,V37R),V44x_27_27) = f1819(A_27a,V35negate,V37R,V44x_27_27) ) ) ).

tff(lamtp_f1821,type,
    f1821: ( del * $i * tp__ty_2Enum_2Enum * $i * tp__ty_2Enum_2Enum ) > $i ).

tff(lameq_f1821,axiom,
    ! [A_27a: del,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V34v6: tp__ty_2Enum_2Enum,V36l: $i] :
          ( mem(V36l,ty_2Elist_2Elist(A_27a))
         => ! [V50len1: tp__ty_2Enum_2Enum,V51neg: tp__o] : ( ap(f1821(A_27a,V37R,V34v6,V36l,V50len1),inj__o(V51neg)) = ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V51neg)),V37R),ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V51neg)),V37R),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V34v6))),V36l)),ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V51neg)),V37R),ap(ap(c_2Earithmetic_2E_2D,inj__ty_2Enum_2Enum(V34v6)),inj__ty_2Enum_2Enum(V50len1))),ap(ap(c_2Elist_2EDROP(A_27a),inj__ty_2Enum_2Enum(V50len1)),V36l))),c_2Elist_2ENIL(A_27a)) ) ) ) ).

tff(lamtp_f1822,type,
    f1822: ( del * $i * tp__ty_2Enum_2Enum * $i * tp__o ) > $i ).

tff(lameq_f1822,axiom,
    ! [A_27a: del,V37R: $i] :
      ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
     => ! [V34v6: tp__ty_2Enum_2Enum,V36l: $i] :
          ( mem(V36l,ty_2Elist_2Elist(A_27a))
         => ! [V35negate: tp__o,V50len1: tp__ty_2Enum_2Enum] : ( ap(f1822(A_27a,V37R,V34v6,V36l,V35negate),inj__ty_2Enum_2Enum(V50len1)) = ap(ap(c_2Ebool_2ELET(bool,ty_2Elist_2Elist(A_27a)),f1821(A_27a,V37R,V34v6,V36l,V50len1)),ap(c_2Ebool_2E_7E,inj__o(V35negate))) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__tail__def,axiom,
    ! [A_27a: del] :
      ( ! [V0negate: tp__o,V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ! [V2R: $i] :
              ( mem(V2R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V0negate)),V2R),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0)),V1l) = c_2Elist_2ENIL(A_27a) ) ) )
      & ! [V3x: $i] :
          ( mem(V3x,A_27a)
         => ! [V4negate: tp__o,V5l: $i] :
              ( mem(V5l,ty_2Elist_2Elist(A_27a))
             => ! [V6R: $i] :
                  ( mem(V6R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V4negate)),V6R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V3x),V5l)) = ap(ap(c_2Elist_2ECONS(A_27a),V3x),c_2Elist_2ENIL(A_27a)) ) ) ) )
      & ! [V7negate: tp__o,V8R: $i] :
          ( mem(V8R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V7negate)),V8R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V9y: $i] :
          ( mem(V9y,A_27a)
         => ! [V10x: $i] :
              ( mem(V10x,A_27a)
             => ! [V11negate: tp__o,V12l: $i] :
                  ( mem(V12l,ty_2Elist_2Elist(A_27a))
                 => ! [V13R: $i] :
                      ( mem(V13R,arr(A_27a,arr(A_27a,bool)))
                     => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V11negate)),V13R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V10x),ap(ap(c_2Elist_2ECONS(A_27a),V9y),V12l))) = ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V11negate)),V13R),V10x),V9y) ) ) ) ) )
      & ! [V14x: $i] :
          ( mem(V14x,A_27a)
         => ! [V15negate: tp__o,V16R: $i] :
              ( mem(V16R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V15negate)),V16R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),ap(ap(c_2Elist_2ECONS(A_27a),V14x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V14x),c_2Elist_2ENIL(A_27a)) ) ) )
      & ! [V17negate: tp__o,V18R: $i] :
          ( mem(V18R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V17negate)),V18R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V19z: $i] :
          ( mem(V19z,A_27a)
         => ! [V20y: $i] :
              ( mem(V20y,A_27a)
             => ! [V21x: $i] :
                  ( mem(V21x,A_27a)
                 => ! [V22negate: tp__o,V23l: $i] :
                      ( mem(V23l,ty_2Elist_2Elist(A_27a))
                     => ! [V24R: $i] :
                          ( mem(V24R,arr(A_27a,arr(A_27a,bool)))
                         => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V22negate)),V24R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V21x),ap(ap(c_2Elist_2ECONS(A_27a),V20y),ap(ap(c_2Elist_2ECONS(A_27a),V19z),V23l)))) = ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),inj__o(V22negate)),V24R),V21x),V20y),V19z) ) ) ) ) ) )
      & ! [V25y: $i] :
          ( mem(V25y,A_27a)
         => ! [V26x: $i] :
              ( mem(V26x,A_27a)
             => ! [V27negate: tp__o,V28R: $i] :
                  ( mem(V28R,arr(A_27a,arr(A_27a,bool)))
                 => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V27negate)),V28R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V26x),ap(ap(c_2Elist_2ECONS(A_27a),V25y),c_2Elist_2ENIL(A_27a)))) = ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V27negate)),V28R),V26x),V25y) ) ) ) )
      & ! [V29x: $i] :
          ( mem(V29x,A_27a)
         => ! [V30negate: tp__o,V31R: $i] :
              ( mem(V31R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V30negate)),V31R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(c_2Elist_2ECONS(A_27a),V29x),c_2Elist_2ENIL(A_27a))) = ap(ap(c_2Elist_2ECONS(A_27a),V29x),c_2Elist_2ENIL(A_27a)) ) ) )
      & ! [V32negate: tp__o,V33R: $i] :
          ( mem(V33R,arr(A_27a,arr(A_27a,bool)))
         => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V32negate)),V33R),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),c_2Elist_2ENIL(A_27a)) = c_2Elist_2ENIL(A_27a) ) )
      & ! [V34v6: tp__ty_2Enum_2Enum,V35negate: tp__o,V36l: $i] :
          ( mem(V36l,ty_2Elist_2Elist(A_27a))
         => ! [V37R: $i] :
              ( mem(V37R,arr(A_27a,arr(A_27a,bool)))
             => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V35negate)),V37R),inj__ty_2Enum_2Enum(V34v6)),V36l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V34v6)),inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),c_2Elist_2ENIL(A_27a)),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V34v6)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1812(A_27a))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V34v6)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT2,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1815(A_27a,V37R,V35negate))),ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),ap(ap(c_2Emin_2E_3D(ty_2Enum_2Enum),inj__ty_2Enum_2Enum(V34v6)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))))),ap(ap(ap(c_2Elist_2Elist__CASE(A_27a,ty_2Elist_2Elist(A_27a)),V36l),c_2Elist_2ENIL(A_27a)),f1820(A_27a,V35negate,V37R))),ap(ap(c_2Ebool_2ELET(ty_2Enum_2Enum,ty_2Elist_2Elist(A_27a)),f1822(A_27a,V37R,V34v6,V36l,V35negate)),ap(c_2Earithmetic_2EDIV2,inj__ty_2Enum_2Enum(V34v6))))))) ) ) ) ) ).

tff(ax_thm_2Emergesort_2Emergesort__tail__def,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ( ap(ap(c_2Emergesort_2Emergesort__tail(A_27a),V0R),V1l) = ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(fo__c_2Ebool_2EF)),V0R),ap(c_2Elist_2ELENGTH(A_27a),V1l)),V1l) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort2__perm,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort3__perm,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ! [V3z: $i] :
                  ( mem(V3z,A_27a)
                 => p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__perm,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V2l2)),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__perm,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1n: tp__ty_2Enum_2Enum,V2l: $i] :
          ( mem(V2l,ty_2Elist_2Elist(A_27a))
         => p(ap(ap(c_2Esorting_2EPERM(A_27a),ap(ap(c_2Elist_2ETAKE(A_27a),inj__ty_2Enum_2Enum(V1n)),V2l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),inj__ty_2Enum_2Enum(V1n)),V2l))) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__perm,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => p(ap(ap(c_2Esorting_2EPERM(A_27a),V1l),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ).

tff(conj_thm_2Emergesort_2Esort2__sorted,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
               => p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort3__sorted,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ! [V3z: $i] :
                  ( mem(V3z,A_27a)
                 => ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
                   => p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__sorted,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
                  & p(ap(c_2Erelation_2Etotal(A_27a),V0R))
                  & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V1l1))
                  & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V2l2)) )
               => p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__sorted,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1n: tp__ty_2Enum_2Enum,V2l: $i] :
          ( mem(V2l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
              & p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
           => p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),inj__ty_2Enum_2Enum(V1n)),V2l))) ) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__sorted,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
              & p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
           => p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ) ).

tff(conj_thm_2Emergesort_2Estable__cong,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => ! [V3l3: $i] :
                  ( mem(V3l3,ty_2Elist_2Elist(A_27a))
                 => ! [V4l4: $i] :
                      ( mem(V4l4,ty_2Elist_2Elist(A_27a))
                     => ( ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
                          & p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V3l3),V4l4)) )
                       => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V3l3)),ap(ap(c_2Elist_2EAPPEND(A_27a),V2l2),V4l4))) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Estable__trans,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => ! [V3l3: $i] :
                  ( mem(V3l3,ty_2Elist_2Elist(A_27a))
                 => ( ( p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V2l2))
                      & p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V2l2),V3l3)) )
                   => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l1),V3l3)) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort2__stable,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),c_2Elist_2ENIL(A_27a)))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V0R),V1x),V2y))) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort3__stable,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1x: $i] :
          ( mem(V1x,A_27a)
         => ! [V2y: $i] :
              ( mem(V2y,A_27a)
             => ! [V3z: $i] :
                  ( mem(V3z,A_27a)
                 => ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
                      & p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
                   => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ECONS(A_27a),V1x),ap(ap(c_2Elist_2ECONS(A_27a),V2y),ap(ap(c_2Elist_2ECONS(A_27a),V3z),c_2Elist_2ENIL(A_27a))))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V0R),V1x),V2y),V3z))) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Efilter__merge,axiom,
    ! [A_27a: del,V0P: $i] :
      ( mem(V0P,arr(A_27a,bool))
     => ! [V1R: $i] :
          ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
         => ! [V2l1: $i] :
              ( mem(V2l1,ty_2Elist_2Elist(A_27a))
             => ! [V3l2: $i] :
                  ( mem(V3l2,ty_2Elist_2Elist(A_27a))
                 => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V1R))
                      & ! [V4x: $i] :
                          ( mem(V4x,A_27a)
                         => ! [V5y: $i] :
                              ( mem(V5y,A_27a)
                             => ( ( p(ap(V0P,V4x))
                                  & p(ap(V0P,V5y)) )
                               => p(ap(ap(V1R,V4x),V5y)) ) ) )
                      & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),V2l1)) )
                   => ( ap(ap(c_2Elist_2EFILTER(A_27a),V0P),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),V2l1),V3l2)) = ap(ap(c_2Elist_2EFILTER(A_27a),V0P),ap(ap(c_2Elist_2EAPPEND(A_27a),V2l1),V3l2)) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__stable,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l1: $i] :
          ( mem(V1l1,ty_2Elist_2Elist(A_27a))
         => ! [V2l2: $i] :
              ( mem(V2l2,ty_2Elist_2Elist(A_27a))
             => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
                  & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V0R),V1l1)) )
               => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2EAPPEND(A_27a),V1l1),V2l2)),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l1),V2l2))) ) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__stable,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1n: tp__ty_2Enum_2Enum,V2l: $i] :
          ( mem(V2l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
              & p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
           => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),ap(ap(c_2Elist_2ETAKE(A_27a),inj__ty_2Enum_2Enum(V1n)),V2l)),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V0R),inj__ty_2Enum_2Enum(V1n)),V2l))) ) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__stable,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
              & p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
           => p(ap(ap(ap(c_2Emergesort_2Estable(A_27a),V0R),V1l),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l))) ) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__STABLE__SORT,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ( ( p(ap(c_2Erelation_2Etransitive(A_27a),V0R))
          & p(ap(c_2Erelation_2Etotal(A_27a),V0R)) )
       => p(ap(ap(c_2Esorting_2ESTABLE(A_27a),c_2Emergesort_2Emergesort(A_27a)),V0R)) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__mem,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1L: $i] :
          ( mem(V1L,ty_2Elist_2Elist(A_27a))
         => ! [V2x: $i] :
              ( mem(V2x,A_27a)
             => ( p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(c_2Elist_2ELIST__TO__SET(A_27a),ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1L))))
              <=> p(ap(ap(c_2Ebool_2EIN(A_27a),V2x),ap(c_2Elist_2ELIST__TO__SET(A_27a),V1L))) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort2__tail__correct,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3y: $i] :
              ( mem(V3y,A_27a)
             => ( ap(ap(ap(ap(c_2Emergesort_2Esort2__tail(A_27a),inj__o(V0neg)),V1R),V2x),V3y) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),inj__o(V0neg)),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V1R),V2x),V3y))),ap(ap(ap(c_2Emergesort_2Esort2(A_27a),V1R),V2x),V3y)) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Esort3__tail__correct,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2x: $i] :
          ( mem(V2x,A_27a)
         => ! [V3y: $i] :
              ( mem(V3y,A_27a)
             => ! [V4z: $i] :
                  ( mem(V4z,A_27a)
                 => ( ap(ap(ap(ap(ap(c_2Emergesort_2Esort3__tail(A_27a),inj__o(V0neg)),V1R),V2x),V3y),V4z) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),inj__o(V0neg)),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V1R),V2x),V3y),V4z))),ap(ap(ap(ap(c_2Emergesort_2Esort3(A_27a),V1R),V2x),V3y),V4z)) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__tail__correct1,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2l1: $i] :
          ( mem(V2l1,ty_2Elist_2Elist(A_27a))
         => ! [V3l2: $i] :
              ( mem(V3l2,ty_2Elist_2Elist(A_27a))
             => ! [V4acc: $i] :
                  ( mem(V4acc,ty_2Elist_2Elist(A_27a))
                 => ( ( p(inj__o(V0neg))
                    <=> $false )
                   => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V0neg)),V1R),V2l1),V3l2),V4acc) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),V2l1),V3l2))),V4acc) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__empty,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ! [V2acc: $i] :
              ( mem(V2acc,A_27b)
             => ( ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),V1l),c_2Elist_2ENIL(A_27a)) = V1l )
                & ( ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V0R),c_2Elist_2ENIL(A_27a)),V1l) = V1l ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emerge__tail__correct2,axiom,
    ! [A_27a: del,V0neg: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2l1: $i] :
          ( mem(V2l1,ty_2Elist_2Elist(A_27a))
         => ! [V3l2: $i] :
              ( mem(V3l2,ty_2Elist_2Elist(A_27a))
             => ! [V4acc: $i] :
                  ( mem(V4acc,ty_2Elist_2Elist(A_27a))
                 => ( ( ( p(inj__o(V0neg))
                      <=> $true )
                      & p(ap(c_2Erelation_2Etransitive(A_27a),V1R))
                      & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V2l1)))
                      & p(ap(ap(c_2Esorting_2ESORTED(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V3l2))) )
                   => ( ap(ap(ap(ap(ap(c_2Emergesort_2Emerge__tail(A_27a),inj__o(V0neg)),V1R),V2l1),V3l2),V4acc) = ap(ap(c_2Elist_2EAPPEND(A_27a),ap(ap(ap(c_2Emergesort_2Emerge(A_27a),V1R),ap(c_2Elist_2EREVERSE(A_27a),V2l1)),ap(c_2Elist_2EREVERSE(A_27a),V3l2))),V4acc) ) ) ) ) ) ) ).

tff(conj_thm_2Emergesort_2EmergesortN__correct,axiom,
    ! [A_27a: del,V0negate: tp__o,V1R: $i] :
      ( mem(V1R,arr(A_27a,arr(A_27a,bool)))
     => ! [V2n: tp__ty_2Enum_2Enum,V3l: $i] :
          ( mem(V3l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etotal(A_27a),V1R))
              & p(ap(c_2Erelation_2Etransitive(A_27a),V1R)) )
           => ( ap(ap(ap(ap(c_2Emergesort_2EmergesortN__tail(A_27a),inj__o(V0negate)),V1R),inj__ty_2Enum_2Enum(V2n)),V3l) = ap(ap(ap(c_2Ebool_2ECOND(ty_2Elist_2Elist(A_27a)),inj__o(V0negate)),ap(c_2Elist_2EREVERSE(A_27a),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),inj__ty_2Enum_2Enum(V2n)),V3l))),ap(ap(ap(c_2Emergesort_2EmergesortN(A_27a),V1R),inj__ty_2Enum_2Enum(V2n)),V3l)) ) ) ) ) ).

tff(conj_thm_2Emergesort_2Emergesort__tail__correct,axiom,
    ! [A_27a: del,V0R: $i] :
      ( mem(V0R,arr(A_27a,arr(A_27a,bool)))
     => ! [V1l: $i] :
          ( mem(V1l,ty_2Elist_2Elist(A_27a))
         => ( ( p(ap(c_2Erelation_2Etotal(A_27a),V0R))
              & p(ap(c_2Erelation_2Etransitive(A_27a),V0R)) )
           => ( ap(ap(c_2Emergesort_2Emergesort__tail(A_27a),V0R),V1l) = ap(ap(c_2Emergesort_2Emergesort(A_27a),V0R),V1l) ) ) ) ) ).

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