ITP001 Axioms: ITP031^5.ax


%------------------------------------------------------------------------------
% File     : ITP031^5 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : numeral_bit^2.ax [Gau20]
%          : HL4031^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   66 (  15 unt;  14 typ;   0 def)
%            Number of atoms       : 2217 (  93 equ;   0 cnn)
%            Maximal formula atoms :   49 (  33 avg)
%            Number of connectives : 2574 (   1   ~;   0   |;  56   &;2484   @)
%                                         (   6 <=>;  27  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   5 avg;2484 nst)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    8 (   8   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   61 (  59 usr;  55 con; 0-3 aty)
%            Number of variables   :  184 (   2   ^ 182   !;   0   ?; 184   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Enumeral__bit_2EBIT__MODF,type,
    c_2Enumeral__bit_2EBIT__MODF: $i ).

thf(mem_c_2Enumeral__bit_2EBIT__MODF,axiom,
    mem @ c_2Enumeral__bit_2EBIT__MODF @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ) ) ) ) ).

thf(tp_c_2Enumeral__bit_2EBIT__REV,type,
    c_2Enumeral__bit_2EBIT__REV: $i ).

thf(mem_c_2Enumeral__bit_2EBIT__REV,axiom,
    mem @ c_2Enumeral__bit_2EBIT__REV @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ) ).

thf(stp_fo_c_2Enumeral__bit_2EBIT__REV,type,
    fo__c_2Enumeral__bit_2EBIT__REV: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

thf(stp_eq_fo_c_2Enumeral__bit_2EBIT__REV,axiom,
    ! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum,X2: tp__ty_2Enum_2Enum] :
      ( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumeral__bit_2EBIT__REV @ X0 @ X1 @ X2 ) )
      = ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( inj__ty_2Enum_2Enum @ X0 ) ) @ ( inj__ty_2Enum_2Enum @ X1 ) ) @ ( inj__ty_2Enum_2Enum @ X2 ) ) ) ).

thf(tp_c_2Enumeral__bit_2EFDUB,type,
    c_2Enumeral__bit_2EFDUB: $i ).

thf(mem_c_2Enumeral__bit_2EFDUB,axiom,
    mem @ c_2Enumeral__bit_2EFDUB @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).

thf(tp_c_2Enumeral__bit_2ESFUNPOW,type,
    c_2Enumeral__bit_2ESFUNPOW: $i ).

thf(mem_c_2Enumeral__bit_2ESFUNPOW,axiom,
    mem @ c_2Enumeral__bit_2ESFUNPOW @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ) ).

thf(tp_c_2Enumeral__bit_2EiBITWISE,type,
    c_2Enumeral__bit_2EiBITWISE: $i ).

thf(mem_c_2Enumeral__bit_2EiBITWISE,axiom,
    mem @ c_2Enumeral__bit_2EiBITWISE @ ( arr @ ty_2Enum_2Enum @ ( arr @ ( arr @ bool @ ( arr @ bool @ bool ) ) @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ) ) ).

thf(tp_c_2Enumeral__bit_2EiDIV2,type,
    c_2Enumeral__bit_2EiDIV2: $i ).

thf(mem_c_2Enumeral__bit_2EiDIV2,axiom,
    mem @ c_2Enumeral__bit_2EiDIV2 @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).

thf(stp_fo_c_2Enumeral__bit_2EiDIV2,type,
    fo__c_2Enumeral__bit_2EiDIV2: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

thf(stp_eq_fo_c_2Enumeral__bit_2EiDIV2,axiom,
    ! [X0: tp__ty_2Enum_2Enum] :
      ( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumeral__bit_2EiDIV2 @ X0 ) )
      = ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).

thf(tp_c_2Enumeral__bit_2EiLOG2,type,
    c_2Enumeral__bit_2EiLOG2: $i ).

thf(mem_c_2Enumeral__bit_2EiLOG2,axiom,
    mem @ c_2Enumeral__bit_2EiLOG2 @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).

thf(stp_fo_c_2Enumeral__bit_2EiLOG2,type,
    fo__c_2Enumeral__bit_2EiLOG2: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

thf(stp_eq_fo_c_2Enumeral__bit_2EiLOG2,axiom,
    ! [X0: tp__ty_2Enum_2Enum] :
      ( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumeral__bit_2EiLOG2 @ X0 ) )
      = ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).

thf(tp_c_2Enumeral__bit_2EiMOD__2EXP,type,
    c_2Enumeral__bit_2EiMOD__2EXP: $i ).

thf(mem_c_2Enumeral__bit_2EiMOD__2EXP,axiom,
    mem @ c_2Enumeral__bit_2EiMOD__2EXP @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).

thf(stp_fo_c_2Enumeral__bit_2EiMOD__2EXP,type,
    fo__c_2Enumeral__bit_2EiMOD__2EXP: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

thf(stp_eq_fo_c_2Enumeral__bit_2EiMOD__2EXP,axiom,
    ! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum] :
      ( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumeral__bit_2EiMOD__2EXP @ X0 @ X1 ) )
      = ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( inj__ty_2Enum_2Enum @ X0 ) ) @ ( inj__ty_2Enum_2Enum @ X1 ) ) ) ).

thf(tp_c_2Enumeral__bit_2EiSUC,type,
    c_2Enumeral__bit_2EiSUC: $i ).

thf(mem_c_2Enumeral__bit_2EiSUC,axiom,
    mem @ c_2Enumeral__bit_2EiSUC @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).

thf(stp_fo_c_2Enumeral__bit_2EiSUC,type,
    fo__c_2Enumeral__bit_2EiSUC: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).

thf(stp_eq_fo_c_2Enumeral__bit_2EiSUC,axiom,
    ! [X0: tp__ty_2Enum_2Enum] :
      ( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumeral__bit_2EiSUC @ X0 ) )
      = ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EiMOD__2EXP,axiom,
    c_2Enumeral__bit_2EiMOD__2EXP = c_2Ebit_2EMOD__2EXP ).

thf(conj_thm_2Enumeral__bit_2Enumeral__imod__2exp,axiom,
    ! [A_27a: del] :
      ( ! [V0n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
          = fo__c_2Earithmetic_2EZERO )
      & ! [V1x: tp__ty_2Enum_2Enum,V2n: $i] :
          ( ( mem @ V2n @ A_27a )
         => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) )
            = fo__c_2Earithmetic_2EZERO ) )
      & ! [V3x: tp__ty_2Enum_2Enum,V4n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) ) )
      & ! [V5x: tp__ty_2Enum_2Enum,V6n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V5x ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6n ) ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2EBIT1 @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V5x ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V6n ) ) ) ) )
      & ! [V7x: tp__ty_2Enum_2Enum,V8n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V8n ) ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral_2EiDUB @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V8n ) ) ) ) ) )
      & ! [V9x: tp__ty_2Enum_2Enum,V10n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V9x ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V10n ) ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral_2EiDUB @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V9x ) ) ) ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V10n ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EMOD__2EXP,axiom,
    ( ! [V0x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = fo__c_2Enum_2E0 )
    & ! [V1x: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ c_2Enumeral__bit_2EiMOD__2EXP @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EDIV__2EXP,axiom,
    ! [V0n: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EDIV__2EXP @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Earithmetic_2EFUNPOW @ ty_2Enum_2Enum ) @ c_2Earithmetic_2EDIV2 ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2Enumeral__mod2,axiom,
    ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) )
      = fo__c_2Enum_2E0 )
    & ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) )
    & ! [V1n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2EMOD @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) )
        = fo__c_2Enum_2E0 ) ) ).

thf(conj_thm_2Enumeral__bit_2EiDUB__NUMERAL,axiom,
    ! [V0i: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral_2EiDUB @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V0i ) ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V0i ) ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EBIT__REV__def,axiom,
    ( ! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) )
        = V1y )
    & ! [V2n: tp__ty_2Enum_2Enum,V3x: tp__ty_2Enum_2Enum,V4y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ ( inj__ty_2Enum_2Enum @ V4y ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V4y ) ) ) @ ( ap @ ( ap @ c_2Ebit_2ESBIT @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EBIT__REVERSE__EVAL,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EBIT__REVERSE @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EBIT__MODF__def,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V1x: tp__ty_2Enum_2Enum,V2b: tp__ty_2Enum_2Enum,V3e: tp__ty_2Enum_2Enum,V4y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( inj__ty_2Enum_2Enum @ V2b ) ) @ ( inj__ty_2Enum_2Enum @ V3e ) ) @ ( inj__ty_2Enum_2Enum @ V4y ) ) )
            = V4y ) )
    & ! [V5n: tp__ty_2Enum_2Enum,V6f: $i] :
        ( ( mem @ V6f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V7x: tp__ty_2Enum_2Enum,V8b: tp__ty_2Enum_2Enum,V9e: tp__ty_2Enum_2Enum,V10y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V5n ) ) ) @ V6f ) @ ( inj__ty_2Enum_2Enum @ V7x ) ) @ ( inj__ty_2Enum_2Enum @ V8b ) ) @ ( inj__ty_2Enum_2Enum @ V9e ) ) @ ( inj__ty_2Enum_2Enum @ V10y ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ V6f ) @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( inj__ty_2Enum_2Enum @ V7x ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V8b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V9e ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V6f @ ( inj__ty_2Enum_2Enum @ V8b ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V9e ) ) @ ( inj__ty_2Enum_2Enum @ V10y ) ) ) @ ( inj__ty_2Enum_2Enum @ V10y ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EBIT__MODIFY__EVAL,axiom,
    ! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
      ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
     => ! [V2n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBIT__MODIFY @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EiBITWISE__def,axiom,
    c_2Enumeral__bit_2EiBITWISE = c_2Ebit_2EBITWISE ).

thf(conj_thm_2Enumeral__bit_2EiBITWISE,axiom,
    ( ! [V0opr: $i] :
        ( ( mem @ V0opr @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
       => ! [V1a: tp__ty_2Enum_2Enum,V2b: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0opr ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) @ ( inj__ty_2Enum_2Enum @ V2b ) ) )
            = fo__c_2Earithmetic_2EZERO ) )
    & ! [V3x: tp__ty_2Enum_2Enum,V4opr: $i] :
        ( ( mem @ V4opr @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
       => ! [V5a: tp__ty_2Enum_2Enum,V6b: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) @ V4opr ) @ ( inj__ty_2Enum_2Enum @ V5a ) ) @ ( inj__ty_2Enum_2Enum @ V6b ) ) )
            = ( surj__ty_2Enum_2Enum
              @ ( ap
                @ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
                  @ ( lam @ ty_2Enum_2Enum
                    @ ^ [V7w: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V4opr @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V5a ) ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V6b ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ V7w ) ) @ ( ap @ c_2Enumeral_2EiDUB @ V7w ) ) ) )
                @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V4opr ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V5a ) ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V6b ) ) ) ) ) ) )
    & ! [V8x: tp__ty_2Enum_2Enum,V9opr: $i] :
        ( ( mem @ V9opr @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
       => ! [V10a: tp__ty_2Enum_2Enum,V11b: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V8x ) ) ) ) @ V9opr ) @ ( inj__ty_2Enum_2Enum @ V10a ) ) @ ( inj__ty_2Enum_2Enum @ V11b ) ) )
            = ( surj__ty_2Enum_2Enum
              @ ( ap
                @ ( ap @ ( c_2Ebool_2ELET @ ty_2Enum_2Enum @ ty_2Enum_2Enum )
                  @ ( lam @ ty_2Enum_2Enum
                    @ ^ [V12w: $i] : ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V9opr @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V10a ) ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V11b ) ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ V12w ) ) @ ( ap @ c_2Enumeral_2EiDUB @ V12w ) ) ) )
                @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V8x ) ) ) ) @ V9opr ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V10a ) ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V11b ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__BITWISE,axiom,
    ! [A_27a: del] :
      ( ! [V0x: tp__ty_2Enum_2Enum,V1f: $i] :
          ( ( mem @ V1f @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
         => ! [V2a: $i] :
              ( ( mem @ V2a @ A_27a )
             => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBITWISE @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
                = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ) )
      & ! [V3x: tp__ty_2Enum_2Enum,V4f: $i] :
          ( ( mem @ V4f @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
         => ! [V5a: tp__ty_2Enum_2Enum] :
              ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBITWISE @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ V4f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V5a ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
              = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( inj__ty_2Enum_2Enum @ V3x ) ) @ V4f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V5a ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) )
      & ! [V6x: tp__ty_2Enum_2Enum,V7f: $i] :
          ( ( mem @ V7f @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
         => ! [V8b: tp__ty_2Enum_2Enum] :
              ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBITWISE @ ( inj__ty_2Enum_2Enum @ V6x ) ) @ V7f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V8b ) ) ) )
              = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( inj__ty_2Enum_2Enum @ V6x ) ) @ V7f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V8b ) ) ) ) ) ) )
      & ! [V9x: tp__ty_2Enum_2Enum,V10f: $i] :
          ( ( mem @ V10f @ ( arr @ bool @ ( arr @ bool @ bool ) ) )
         => ! [V11a: tp__ty_2Enum_2Enum,V12b: tp__ty_2Enum_2Enum] :
              ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBITWISE @ ( inj__ty_2Enum_2Enum @ V9x ) ) @ V10f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V11a ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V12b ) ) ) )
              = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EiBITWISE @ ( inj__ty_2Enum_2Enum @ V9x ) ) @ V10f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V11a ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V12b ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__BIT__REV,axiom,
    ( ! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) )
        = V1y )
    & ! [V2n: tp__ty_2Enum_2Enum,V3y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V3y ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V3y ) ) ) ) )
    & ! [V4n: tp__ty_2Enum_2Enum,V5y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V5y ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V5y ) ) ) ) )
    & ! [V6n: tp__ty_2Enum_2Enum,V7x: tp__ty_2Enum_2Enum,V8y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) @ ( inj__ty_2Enum_2Enum @ V8y ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V6n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V7x ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V8y ) ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V8y ) ) ) ) ) )
    & ! [V9n: tp__ty_2Enum_2Enum,V10x: tp__ty_2Enum_2Enum,V11y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V9n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V10x ) ) ) @ ( inj__ty_2Enum_2Enum @ V11y ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V9n ) ) ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V10x ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V10x ) ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V11y ) ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V11y ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__BIT__REVERSE,axiom,
    ( ! [V0m: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EBIT__REVERSE @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) )
    & ! [V1n: tp__ty_2Enum_2Enum,V2m: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EBIT__REVERSE @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2m ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__REV @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2m ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__BIT__MODF,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V1x: tp__ty_2Enum_2Enum,V2b: tp__ty_2Enum_2Enum,V3e: tp__ty_2Enum_2Enum,V4y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ V0f ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( inj__ty_2Enum_2Enum @ V2b ) ) @ ( inj__ty_2Enum_2Enum @ V3e ) ) @ ( inj__ty_2Enum_2Enum @ V4y ) ) )
            = V4y ) )
    & ! [V5n: tp__ty_2Enum_2Enum,V6f: $i] :
        ( ( mem @ V6f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V7b: tp__ty_2Enum_2Enum,V8e: tp__ty_2Enum_2Enum,V9y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V5n ) ) ) ) @ V6f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V7b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V8e ) ) ) @ ( inj__ty_2Enum_2Enum @ V9y ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V5n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V6f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V7b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V8e ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V6f @ ( inj__ty_2Enum_2Enum @ V7b ) ) @ c_2Ebool_2EF ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V8e ) ) ) @ ( inj__ty_2Enum_2Enum @ V9y ) ) ) @ ( inj__ty_2Enum_2Enum @ V9y ) ) ) ) ) )
    & ! [V10n: tp__ty_2Enum_2Enum,V11f: $i] :
        ( ( mem @ V11f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V12b: tp__ty_2Enum_2Enum,V13e: tp__ty_2Enum_2Enum,V14y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V10n ) ) ) ) @ V11f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V12b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V13e ) ) ) @ ( inj__ty_2Enum_2Enum @ V14y ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V10n ) ) ) ) @ V11f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V12b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V13e ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V11f @ ( inj__ty_2Enum_2Enum @ V12b ) ) @ c_2Ebool_2EF ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V13e ) ) ) @ ( inj__ty_2Enum_2Enum @ V14y ) ) ) @ ( inj__ty_2Enum_2Enum @ V14y ) ) ) ) ) )
    & ! [V15n: tp__ty_2Enum_2Enum,V16f: $i] :
        ( ( mem @ V16f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V17x: tp__ty_2Enum_2Enum,V18b: tp__ty_2Enum_2Enum,V19e: tp__ty_2Enum_2Enum,V20y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V15n ) ) ) ) @ V16f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V17x ) ) ) @ ( inj__ty_2Enum_2Enum @ V18b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V19e ) ) ) @ ( inj__ty_2Enum_2Enum @ V20y ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V15n ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ V16f ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V17x ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V18b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V19e ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V16f @ ( inj__ty_2Enum_2Enum @ V18b ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V17x ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V19e ) ) ) @ ( inj__ty_2Enum_2Enum @ V20y ) ) ) @ ( inj__ty_2Enum_2Enum @ V20y ) ) ) ) ) )
    & ! [V21n: tp__ty_2Enum_2Enum,V22f: $i] :
        ( ( mem @ V22f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V23x: tp__ty_2Enum_2Enum,V24b: tp__ty_2Enum_2Enum,V25e: tp__ty_2Enum_2Enum,V26y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V21n ) ) ) ) @ V22f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V23x ) ) ) @ ( inj__ty_2Enum_2Enum @ V24b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V25e ) ) ) @ ( inj__ty_2Enum_2Enum @ V26y ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V21n ) ) ) ) @ V22f ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V23x ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V24b ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V25e ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ V22f @ ( inj__ty_2Enum_2Enum @ V24b ) ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V23x ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V25e ) ) ) @ ( inj__ty_2Enum_2Enum @ V26y ) ) ) @ ( inj__ty_2Enum_2Enum @ V26y ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__BIT__MODIFY,axiom,
    ( ! [V0m: tp__ty_2Enum_2Enum,V1f: $i] :
        ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBIT__MODIFY @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) )
    & ! [V2m: tp__ty_2Enum_2Enum,V3f: $i] :
        ( ( mem @ V3f @ ( arr @ ty_2Enum_2Enum @ ( arr @ bool @ bool ) ) )
       => ! [V4n: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EBIT__MODIFY @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2m ) ) ) @ V3f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2EBIT__MODF @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2m ) ) ) @ V3f ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EiSUC,axiom,
    c_2Enumeral__bit_2EiSUC = c_2Enum_2ESUC ).

thf(ax_thm_2Enumeral__bit_2EiDIV2,axiom,
    c_2Enumeral__bit_2EiDIV2 = c_2Earithmetic_2EDIV2 ).

thf(ax_thm_2Enumeral__bit_2ESFUNPOW__def,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ! [V1x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ V0f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
            = V1x ) )
    & ! [V2f: $i] :
        ( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ! [V3n: tp__ty_2Enum_2Enum,V4x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ V2f ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V3n ) ) ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ V2f ) @ ( inj__ty_2Enum_2Enum @ V3n ) ) @ ( ap @ V2f @ ( inj__ty_2Enum_2Enum @ V4x ) ) ) ) ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EFDUB__def,axiom,
    ( ! [V0f: $i] :
        ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
          = fo__c_2Enum_2E0 ) )
    & ! [V1f: $i] :
        ( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
       => ! [V2n: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V1f ) @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ V1f @ ( ap @ V1f @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__TIMES__2EXP,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2ETIMES__2EXP @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = fo__c_2Enum_2E0 )
    & ! [V1n: tp__ty_2Enum_2Enum,V2x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2ETIMES__2EXP @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__iDIV2,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] :
      ( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) )
        = fo__c_2Earithmetic_2EZERO )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) )
        = fo__c_2Earithmetic_2EZERO )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
        = V0n )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
      & ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__DIV__2EXP,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EDIV__2EXP @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = fo__c_2Enum_2E0 )
    & ! [V1n: tp__ty_2Enum_2Enum,V2x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Ebit_2EDIV__2EXP @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__iDIV2,axiom,
    ( ! [V0x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) )
        = V0x )
    & ! [V1y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = fo__c_2Enum_2E0 )
    & ! [V2n: tp__ty_2Enum_2Enum,V3x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V3x ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) )
    & ! [V4n: tp__ty_2Enum_2Enum,V5x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V5x ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( inj__ty_2Enum_2Enum @ V5x ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__iDUB,axiom,
    ( ! [V0x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) )
        = V0x )
    & ! [V1y: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
        = fo__c_2Enum_2E0 )
    & ! [V2n: tp__ty_2Enum_2Enum,V3x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V3x ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) )
    & ! [V4n: tp__ty_2Enum_2Enum,V5x: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V5x ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V4n ) ) ) @ ( ap @ c_2Enumeral_2EiDUB @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V5x ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__FDUB,axiom,
    ! [V0f: $i] :
      ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ! [V1x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
            = V1x )
        & ! [V2y: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( inj__ty_2Enum_2Enum @ V2y ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
            = fo__c_2Enum_2E0 )
        & ! [V3n: tp__ty_2Enum_2Enum,V4x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V3n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V3n ) ) ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( inj__ty_2Enum_2Enum @ V4x ) ) ) ) )
        & ! [V5n: tp__ty_2Enum_2Enum,V6x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V5n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V6x ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ c_2Enumeral__bit_2ESFUNPOW @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( inj__ty_2Enum_2Enum @ V5n ) ) ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( inj__ty_2Enum_2Enum @ V6x ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EFDUB__iDIV2,axiom,
    ! [V0x: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( ap @ c_2Enumeral__bit_2EiDIV2 @ ( inj__ty_2Enum_2Enum @ V0x ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EFDUB__iDUB,axiom,
    ! [V0x: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB ) @ ( inj__ty_2Enum_2Enum @ V0x ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral_2EiDUB @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V0x ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EFDUB__FDUB,axiom,
    ! [V0f: $i] :
      ( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
     => ( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) )
          = fo__c_2Earithmetic_2EZERO )
        & ! [V1x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V1x ) ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ c_2Enumeral__bit_2EiSUC @ ( inj__ty_2Enum_2Enum @ V1x ) ) ) ) ) )
        & ! [V2x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V2x ) ) ) ) ) )
        & ! [V3x: tp__ty_2Enum_2Enum] :
            ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) )
            = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ ( ap @ c_2Enumeral__bit_2EFDUB @ V0f ) @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V3x ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ELOG__compute,axiom,
    ! [V0base_20_3C_202_20or_20n_20_3D_200: $i] :
      ( ( mem @ V0base_20_3C_202_20or_20n_20_3D_200 @ bool )
     => ! [V1m: tp__ty_2Enum_2Enum,V2n: tp__ty_2Enum_2Enum] :
          ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Elogroot_2ELOG @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) )
          = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Ebool_2E_5C_2F @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( ap @ ( c_2Ecombin_2EFAIL @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) @ bool ) @ c_2Elogroot_2ELOG ) @ V0base_20_3C_202_20or_20n_20_3D_200 ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ c_2Enum_2ESUC @ ( ap @ ( ap @ c_2Elogroot_2ELOG @ ( inj__ty_2Enum_2Enum @ V1m ) ) @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2Enumeral__bit_2EiLOG2__def,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] :
      ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
      = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOG2 @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2Enumeral__ilog2,axiom,
    ( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) )
      = fo__c_2Enum_2E0 )
    & ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
    & ! [V1n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2Enumeral__log2,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOG2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( ap @ c_2Enumeral_2EiDUB @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
    & ! [V1n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOG2 @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumeral__bit_2EiLOG2 @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2EMOD__2EXP__EQ,axiom,
    ( ! [V0a: tp__ty_2Enum_2Enum,V1b: tp__ty_2Enum_2Enum] :
        ( ( p @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__EQ @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0a ) ) @ ( inj__ty_2Enum_2Enum @ V1b ) ) )
      <=> $true )
    & ! [V2n: tp__ty_2Enum_2Enum,V3a: tp__ty_2Enum_2Enum,V4b: tp__ty_2Enum_2Enum] :
        ( ( p @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__EQ @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V2n ) ) ) @ ( inj__ty_2Enum_2Enum @ V3a ) ) @ ( inj__ty_2Enum_2Enum @ V4b ) ) )
      <=> ( ( ( p @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V3a ) ) )
          <=> ( p @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V4b ) ) ) )
          & ( p @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__EQ @ ( inj__ty_2Enum_2Enum @ V2n ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V3a ) ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V4b ) ) ) ) ) )
    & ! [V5n: tp__ty_2Enum_2Enum,V6a: tp__ty_2Enum_2Enum] :
        ( ( p @ ( ap @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__EQ @ ( inj__ty_2Enum_2Enum @ V5n ) ) @ ( inj__ty_2Enum_2Enum @ V6a ) ) @ ( inj__ty_2Enum_2Enum @ V6a ) ) )
      <=> $true ) ) ).

thf(conj_thm_2Enumeral__bit_2EMOD__2EXP__MAX,axiom,
    ( ! [V0a: tp__ty_2Enum_2Enum] :
        ( ( p @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__MAX @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0a ) ) )
      <=> $true )
    & ! [V1n: tp__ty_2Enum_2Enum,V2a: tp__ty_2Enum_2Enum] :
        ( ( p @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__MAX @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) @ ( inj__ty_2Enum_2Enum @ V2a ) ) )
      <=> ( ( p @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V2a ) ) )
          & ( p @ ( ap @ ( ap @ c_2Ebit_2EMOD__2EXP__MAX @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V2a ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ELOWEST__SET__BIT,axiom,
    ! [V0n: tp__ty_2Enum_2Enum] :
      ( ( V0n != fo__c_2Enum_2E0 )
     => ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOWEST__SET__BIT @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ty_2Enum_2Enum ) @ ( ap @ c_2Earithmetic_2EODD @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( ap @ c_2Ebit_2ELOWEST__SET__BIT @ ( ap @ c_2Earithmetic_2EDIV2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Enumeral__bit_2ELOWEST__SET__BIT__compute,axiom,
    ( ! [V0n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOWEST__SET__BIT @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) )
        = ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enum_2ESUC @ ( ap @ c_2Ebit_2ELOWEST__SET__BIT @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) )
    & ! [V1n: tp__ty_2Enum_2Enum] :
        ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Ebit_2ELOWEST__SET__BIT @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) )
        = fo__c_2Enum_2E0 ) ) ).

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