ITP001 Axioms: ITP031^7.ax
%------------------------------------------------------------------------------
% File : ITP031^7 : TPTP v9.0.0. Bugfixed v7.5.0.
% Domain : Interactive Theorem Proving
% Axioms : HOL4 syntactic export, chainy mode
% Version : [BG+19] axioms.
% English :
% Refs : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
% : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source : [BG+19]
% Names : numeral_bit.ax [Gau19]
% : HL4031^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 97 ( 17 unt; 52 typ; 0 def)
% Number of atoms : 133 ( 93 equ; 2 cnn)
% Maximal formula atoms : 7 ( 1 avg)
% Number of connectives : 944 ( 2 ~; 1 |; 57 &; 873 @)
% ( 9 <=>; 2 =>; 0 <=; 0 <~>)
% Maximal formula depth : 11 ( 5 avg; 873 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 149 ( 149 >; 0 *; 0 +; 0 <<)
% Number of symbols : 52 ( 50 usr; 5 con; 0-6 aty)
% Number of variables : 201 ( 2 ^ 189 !; 1 ?; 201 :)
% ( 9 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Emin_2Ebool,type,
tyop_2Emin_2Ebool: $tType ).
thf(tyop_2Emin_2Efun,type,
tyop_2Emin_2Efun: $tType > $tType > $tType ).
thf(tyop_2Enum_2Enum,type,
tyop_2Enum_2Enum: $tType ).
thf(c_2Ebool_2E_21,type,
c_2Ebool_2E_21:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Earithmetic_2E_2A,type,
c_2Earithmetic_2E_2A: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2E_2B,type,
c_2Earithmetic_2E_2B: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2E_2D,type,
c_2Earithmetic_2E_2D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_2F_5C,type,
c_2Ebool_2E_2F_5C: $o > $o > $o ).
thf(c_2Enum_2E0,type,
c_2Enum_2E0: tyop_2Enum_2Enum ).
thf(c_2Eprim__rec_2E_3C,type,
c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Emin_2E_3D,type,
c_2Emin_2E_3D:
!>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).
thf(c_2Emin_2E_3D_3D_3E,type,
c_2Emin_2E_3D_3D_3E: $o > $o > $o ).
thf(c_2Ebool_2E_3F,type,
c_2Ebool_2E_3F:
!>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).
thf(c_2Earithmetic_2EBIT1,type,
c_2Earithmetic_2EBIT1: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EBIT2,type,
c_2Earithmetic_2EBIT2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EBITWISE,type,
c_2Ebit_2EBITWISE: tyop_2Enum_2Enum > ( $o > $o > $o ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EBIT__MODF,type,
c_2Enumeral__bit_2EBIT__MODF: tyop_2Enum_2Enum > ( tyop_2Enum_2Enum > $o > $o ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EBIT__MODIFY,type,
c_2Ebit_2EBIT__MODIFY: tyop_2Enum_2Enum > ( tyop_2Enum_2Enum > $o > $o ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EBIT__REV,type,
c_2Enumeral__bit_2EBIT__REV: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EBIT__REVERSE,type,
c_2Ebit_2EBIT__REVERSE: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Earithmetic_2EDIV,type,
c_2Earithmetic_2EDIV: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EDIV2,type,
c_2Earithmetic_2EDIV2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EDIV__2EXP,type,
c_2Ebit_2EDIV__2EXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2EF,type,
c_2Ebool_2EF: $o ).
thf(c_2Ecombin_2EFAIL,type,
c_2Ecombin_2EFAIL:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > A_27a ) ).
thf(c_2Enumeral__bit_2EFDUB,type,
c_2Enumeral__bit_2EFDUB: ( tyop_2Enum_2Enum > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EFUNPOW,type,
c_2Earithmetic_2EFUNPOW:
!>[A_27a: $tType] : ( ( A_27a > A_27a ) > tyop_2Enum_2Enum > A_27a > A_27a ) ).
thf(c_2Ebool_2ELET,type,
c_2Ebool_2ELET:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > A_27a > A_27b ) ).
thf(c_2Elogroot_2ELOG,type,
c_2Elogroot_2ELOG: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2ELOG2,type,
c_2Ebit_2ELOG2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2ELOWEST__SET__BIT,type,
c_2Ebit_2ELOWEST__SET__BIT: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EMOD,type,
c_2Earithmetic_2EMOD: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EMOD__2EXP,type,
c_2Ebit_2EMOD__2EXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebit_2EMOD__2EXP__EQ,type,
c_2Ebit_2EMOD__2EXP__EQ: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Ebit_2EMOD__2EXP__MAX,type,
c_2Ebit_2EMOD__2EXP__MAX: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).
thf(c_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EODD,type,
c_2Earithmetic_2EODD: tyop_2Enum_2Enum > $o ).
thf(c_2Ebit_2ESBIT,type,
c_2Ebit_2ESBIT: $o > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2ESFUNPOW,type,
c_2Enumeral__bit_2ESFUNPOW: ( tyop_2Enum_2Enum > tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enum_2ESUC,type,
c_2Enum_2ESUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2ET,type,
c_2Ebool_2ET: $o ).
thf(c_2Ebit_2ETIMES__2EXP,type,
c_2Ebit_2ETIMES__2EXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Earithmetic_2EZERO,type,
c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $o > $o > $o ).
thf(c_2Enumeral__bit_2EiBITWISE,type,
c_2Enumeral__bit_2EiBITWISE: tyop_2Enum_2Enum > ( $o > $o > $o ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EiDIV2,type,
c_2Enumeral__bit_2EiDIV2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral_2EiDUB,type,
c_2Enumeral_2EiDUB: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EiLOG2,type,
c_2Enumeral__bit_2EiLOG2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EiMOD__2EXP,type,
c_2Enumeral__bit_2EiMOD__2EXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Enumeral__bit_2EiSUC,type,
c_2Enumeral__bit_2EiSUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Ebool_2E_7E,type,
c_2Ebool_2E_7E: $o > $o ).
thf(logicdef_2E_2F_5C,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
<=> ( V0
& V1 ) ) ).
thf(logicdef_2E_5C_2F,axiom,
! [V0: $o,V1: $o] :
( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
<=> ( V0
| V1 ) ) ).
thf(logicdef_2E_7E,axiom,
! [V0: $o] :
( ( c_2Ebool_2E_7E @ V0 )
<=> ( (~) @ V0 ) ) ).
thf(logicdef_2E_3D_3D_3E,axiom,
! [V0: $o,V1: $o] :
( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
<=> ( V0
=> V1 ) ) ).
thf(logicdef_2E_3D,axiom,
! [A_27a: $tType,V0: A_27a,V1: A_27a] :
( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
<=> ( V0 = V1 ) ) ).
thf(quantdef_2E_21,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_21 @ A_27a @ V0f )
<=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(quantdef_2E_3F,axiom,
! [A_27a: $tType,V0f: A_27a > $o] :
( ( c_2Ebool_2E_3F @ A_27a @ V0f )
<=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).
thf(thm_2Enumeral__bit_2EiMOD__2EXP,axiom,
c_2Enumeral__bit_2EiMOD__2EXP = c_2Ebit_2EMOD__2EXP ).
thf(thm_2Enumeral__bit_2EBIT__REV__def,axiom,
( ! [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ c_2Enum_2E0 @ V0x @ V1y )
= V1y )
& ! [V2n: tyop_2Enum_2Enum,V3x: tyop_2Enum_2Enum,V4y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Enum_2ESUC @ V2n ) @ V3x @ V4y )
= ( c_2Enumeral__bit_2EBIT__REV @ V2n @ ( c_2Earithmetic_2EDIV @ V3x @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V4y ) @ ( c_2Ebit_2ESBIT @ ( c_2Earithmetic_2EODD @ V3x ) @ c_2Enum_2E0 ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2EBIT__MODF__def,axiom,
( ! [V0f: tyop_2Enum_2Enum > $o > $o,V1x: tyop_2Enum_2Enum,V2b: tyop_2Enum_2Enum,V3e: tyop_2Enum_2Enum,V4y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ c_2Enum_2E0 @ V0f @ V1x @ V2b @ V3e @ V4y )
= V4y )
& ! [V5n: tyop_2Enum_2Enum,V6f: tyop_2Enum_2Enum > $o > $o,V7x: tyop_2Enum_2Enum,V8b: tyop_2Enum_2Enum,V9e: tyop_2Enum_2Enum,V10y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Enum_2ESUC @ V5n ) @ V6f @ V7x @ V8b @ V9e @ V10y )
= ( c_2Enumeral__bit_2EBIT__MODF @ V5n @ V6f @ ( c_2Earithmetic_2EDIV @ V7x @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2B @ V8b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V9e ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V6f @ V8b @ ( c_2Earithmetic_2EODD @ V7x ) ) @ ( c_2Earithmetic_2E_2B @ V9e @ V10y ) @ V10y ) ) ) ) ).
thf(thm_2Enumeral__bit_2EiBITWISE__def,axiom,
c_2Enumeral__bit_2EiBITWISE = c_2Ebit_2EBITWISE ).
thf(thm_2Enumeral__bit_2EiSUC,axiom,
c_2Enumeral__bit_2EiSUC = c_2Enum_2ESUC ).
thf(thm_2Enumeral__bit_2EiDIV2,axiom,
c_2Enumeral__bit_2EiDIV2 = c_2Earithmetic_2EDIV2 ).
thf(thm_2Enumeral__bit_2ESFUNPOW__def,axiom,
( ! [V0f: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ V0f @ c_2Enum_2E0 @ V1x )
= V1x )
& ! [V2f: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V3n: tyop_2Enum_2Enum,V4x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ V2f @ ( c_2Enum_2ESUC @ V3n ) @ V4x )
= ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V4x @ c_2Enum_2E0 ) @ c_2Enum_2E0 @ ( c_2Enumeral__bit_2ESFUNPOW @ V2f @ V3n @ ( V2f @ V4x ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2EFDUB__def,axiom,
( ! [V0f: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ V0f @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V1f: tyop_2Enum_2Enum > tyop_2Enum_2Enum,V2n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ V1f @ ( c_2Enum_2ESUC @ V2n ) )
= ( V1f @ ( V1f @ ( c_2Enum_2ESUC @ V2n ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2EiLOG2__def,axiom,
! [V0n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiLOG2 @ V0n )
= ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2B @ V0n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2Enumeral__imod__2exp,axiom,
! [A_27a: $tType] :
( ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ c_2Enum_2E0 @ V0n )
= c_2Earithmetic_2EZERO )
& ! [V1x: tyop_2Enum_2Enum,V2n: A_27a] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ V1x @ c_2Earithmetic_2EZERO )
= c_2Earithmetic_2EZERO )
& ! [V3x: tyop_2Enum_2Enum,V4n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3x ) ) @ ( c_2Earithmetic_2EBIT1 @ V4n ) )
= ( c_2Earithmetic_2EBIT1 @ ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3x ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V4n ) ) )
& ! [V5x: tyop_2Enum_2Enum,V6n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V5x ) ) @ ( c_2Earithmetic_2EBIT1 @ V6n ) )
= ( c_2Earithmetic_2EBIT1 @ ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V5x ) ) @ V6n ) ) )
& ! [V7x: tyop_2Enum_2Enum,V8n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V7x ) ) @ ( c_2Earithmetic_2EBIT2 @ V8n ) )
= ( c_2Enumeral_2EiDUB @ ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V7x ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Enum_2ESUC @ V8n ) ) ) )
& ! [V9x: tyop_2Enum_2Enum,V10n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V9x ) ) @ ( c_2Earithmetic_2EBIT2 @ V10n ) )
= ( c_2Enumeral_2EiDUB @ ( c_2Enumeral__bit_2EiMOD__2EXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V9x ) ) @ ( c_2Enum_2ESUC @ V10n ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2EMOD__2EXP,axiom,
( ! [V0x: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP @ V0x @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V1x: tyop_2Enum_2Enum,V2n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP @ V1x @ ( c_2Earithmetic_2ENUMERAL @ V2n ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiMOD__2EXP @ V1x @ V2n ) ) ) ) ).
thf(thm_2Enumeral__bit_2EDIV__2EXP,axiom,
! [V0n: tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EDIV__2EXP @ V0n @ V1x )
= ( c_2Earithmetic_2EFUNPOW @ tyop_2Enum_2Enum @ c_2Earithmetic_2EDIV2 @ V0n @ V1x ) ) ).
thf(thm_2Enumeral__bit_2Enumeral__mod2,axiom,
( ( ( c_2Earithmetic_2EMOD @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) )
= c_2Enum_2E0 )
& ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Earithmetic_2EMOD @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) )
& ! [V1n: tyop_2Enum_2Enum] :
( ( c_2Earithmetic_2EMOD @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V1n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) )
= c_2Enum_2E0 ) ) ).
thf(thm_2Enumeral__bit_2EiDUB__NUMERAL,axiom,
! [V0i: tyop_2Enum_2Enum] :
( ( c_2Enumeral_2EiDUB @ ( c_2Earithmetic_2ENUMERAL @ V0i ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral_2EiDUB @ V0i ) ) ) ).
thf(thm_2Enumeral__bit_2EBIT__REVERSE__EVAL,axiom,
! [V0m: tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBIT__REVERSE @ V0m @ V1n )
= ( c_2Enumeral__bit_2EBIT__REV @ V0m @ V1n @ c_2Enum_2E0 ) ) ).
thf(thm_2Enumeral__bit_2EBIT__MODIFY__EVAL,axiom,
! [V0m: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > $o > $o,V2n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBIT__MODIFY @ V0m @ V1f @ V2n )
= ( c_2Enumeral__bit_2EBIT__MODF @ V0m @ V1f @ V2n @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) ) ).
thf(thm_2Enumeral__bit_2EiBITWISE,axiom,
( ! [V0opr: $o > $o > $o,V1a: tyop_2Enum_2Enum,V2b: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiBITWISE @ c_2Enum_2E0 @ V0opr @ V1a @ V2b )
= c_2Earithmetic_2EZERO )
& ! [V3x: tyop_2Enum_2Enum,V4opr: $o > $o > $o,V5a: tyop_2Enum_2Enum,V6b: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiBITWISE @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3x ) ) @ V4opr @ V5a @ V6b )
= ( c_2Ebool_2ELET @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V7w: tyop_2Enum_2Enum] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V4opr @ ( c_2Earithmetic_2EODD @ V5a ) @ ( c_2Earithmetic_2EODD @ V6b ) ) @ ( c_2Earithmetic_2EBIT1 @ V7w ) @ ( c_2Enumeral_2EiDUB @ V7w ) )
@ ( c_2Enumeral__bit_2EiBITWISE @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3x ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V4opr @ ( c_2Earithmetic_2EDIV2 @ V5a ) @ ( c_2Earithmetic_2EDIV2 @ V6b ) ) ) )
& ! [V8x: tyop_2Enum_2Enum,V9opr: $o > $o > $o,V10a: tyop_2Enum_2Enum,V11b: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiBITWISE @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V8x ) ) @ V9opr @ V10a @ V11b )
= ( c_2Ebool_2ELET @ tyop_2Enum_2Enum @ tyop_2Enum_2Enum
@ ^ [V12w: tyop_2Enum_2Enum] : ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V9opr @ ( c_2Earithmetic_2EODD @ V10a ) @ ( c_2Earithmetic_2EODD @ V11b ) ) @ ( c_2Earithmetic_2EBIT1 @ V12w ) @ ( c_2Enumeral_2EiDUB @ V12w ) )
@ ( c_2Enumeral__bit_2EiBITWISE @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V8x ) ) @ V9opr @ ( c_2Earithmetic_2EDIV2 @ V10a ) @ ( c_2Earithmetic_2EDIV2 @ V11b ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__BITWISE,axiom,
! [A_27a: $tType] :
( ! [V0x: tyop_2Enum_2Enum,V1f: $o > $o > $o,V2a: A_27a] :
( ( c_2Ebit_2EBITWISE @ V0x @ V1f @ c_2Enum_2E0 @ c_2Enum_2E0 )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiBITWISE @ V0x @ V1f @ c_2Enum_2E0 @ c_2Enum_2E0 ) ) )
& ! [V3x: tyop_2Enum_2Enum,V4f: $o > $o > $o,V5a: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBITWISE @ V3x @ V4f @ ( c_2Earithmetic_2ENUMERAL @ V5a ) @ c_2Enum_2E0 )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiBITWISE @ V3x @ V4f @ ( c_2Earithmetic_2ENUMERAL @ V5a ) @ c_2Enum_2E0 ) ) )
& ! [V6x: tyop_2Enum_2Enum,V7f: $o > $o > $o,V8b: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBITWISE @ V6x @ V7f @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ V8b ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiBITWISE @ V6x @ V7f @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ V8b ) ) ) )
& ! [V9x: tyop_2Enum_2Enum,V10f: $o > $o > $o,V11a: tyop_2Enum_2Enum,V12b: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBITWISE @ V9x @ V10f @ ( c_2Earithmetic_2ENUMERAL @ V11a ) @ ( c_2Earithmetic_2ENUMERAL @ V12b ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiBITWISE @ V9x @ V10f @ ( c_2Earithmetic_2ENUMERAL @ V11a ) @ ( c_2Earithmetic_2ENUMERAL @ V12b ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__BIT__REV,axiom,
( ! [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ c_2Enum_2E0 @ V0x @ V1y )
= V1y )
& ! [V2n: tyop_2Enum_2Enum,V3y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ c_2Enum_2E0 @ V3y )
= ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ c_2Enum_2E0 @ ( c_2Enumeral_2EiDUB @ V3y ) ) )
& ! [V4n: tyop_2Enum_2Enum,V5y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V4n ) ) @ c_2Enum_2E0 @ V5y )
= ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V4n ) ) @ c_2Enum_2E0 @ ( c_2Enumeral_2EiDUB @ V5y ) ) )
& ! [V6n: tyop_2Enum_2Enum,V7x: tyop_2Enum_2Enum,V8y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ ( c_2Earithmetic_2ENUMERAL @ V7x ) @ V8y )
= ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2EDIV2 @ ( c_2Earithmetic_2ENUMERAL @ V7x ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2EODD @ V7x ) @ ( c_2Earithmetic_2EBIT1 @ V8y ) @ ( c_2Enumeral_2EiDUB @ V8y ) ) ) )
& ! [V9n: tyop_2Enum_2Enum,V10x: tyop_2Enum_2Enum,V11y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V9n ) ) @ ( c_2Earithmetic_2ENUMERAL @ V10x ) @ V11y )
= ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V9n ) ) @ ( c_2Earithmetic_2EDIV2 @ ( c_2Earithmetic_2ENUMERAL @ V10x ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2EODD @ V10x ) @ ( c_2Earithmetic_2EBIT1 @ V11y ) @ ( c_2Enumeral_2EiDUB @ V11y ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__BIT__REVERSE,axiom,
( ! [V0m: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBIT__REVERSE @ ( c_2Earithmetic_2ENUMERAL @ V0m ) @ c_2Enum_2E0 )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ V0m ) @ c_2Enum_2E0 @ c_2Earithmetic_2EZERO ) ) )
& ! [V1n: tyop_2Enum_2Enum,V2m: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBIT__REVERSE @ ( c_2Earithmetic_2ENUMERAL @ V2m ) @ ( c_2Earithmetic_2ENUMERAL @ V1n ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EBIT__REV @ ( c_2Earithmetic_2ENUMERAL @ V2m ) @ ( c_2Earithmetic_2ENUMERAL @ V1n ) @ c_2Earithmetic_2EZERO ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__BIT__MODF,axiom,
( ! [V0f: tyop_2Enum_2Enum > $o > $o,V1x: tyop_2Enum_2Enum,V2b: tyop_2Enum_2Enum,V3e: tyop_2Enum_2Enum,V4y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ c_2Enum_2E0 @ V0f @ V1x @ V2b @ V3e @ V4y )
= V4y )
& ! [V5n: tyop_2Enum_2Enum,V6f: tyop_2Enum_2Enum > $o > $o,V7b: tyop_2Enum_2Enum,V8e: tyop_2Enum_2Enum,V9y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V5n ) ) @ V6f @ c_2Enum_2E0 @ V7b @ ( c_2Earithmetic_2ENUMERAL @ V8e ) @ V9y )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V5n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V6f @ c_2Enum_2E0 @ ( c_2Earithmetic_2E_2B @ V7b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral_2EiDUB @ V8e ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V6f @ V7b @ c_2Ebool_2EF ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ V8e ) @ V9y ) @ V9y ) ) )
& ! [V10n: tyop_2Enum_2Enum,V11f: tyop_2Enum_2Enum > $o > $o,V12b: tyop_2Enum_2Enum,V13e: tyop_2Enum_2Enum,V14y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V10n ) ) @ V11f @ c_2Enum_2E0 @ V12b @ ( c_2Earithmetic_2ENUMERAL @ V13e ) @ V14y )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V10n ) ) @ V11f @ c_2Enum_2E0 @ ( c_2Earithmetic_2E_2B @ V12b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral_2EiDUB @ V13e ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V11f @ V12b @ c_2Ebool_2EF ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ V13e ) @ V14y ) @ V14y ) ) )
& ! [V15n: tyop_2Enum_2Enum,V16f: tyop_2Enum_2Enum > $o > $o,V17x: tyop_2Enum_2Enum,V18b: tyop_2Enum_2Enum,V19e: tyop_2Enum_2Enum,V20y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V15n ) ) @ V16f @ ( c_2Earithmetic_2ENUMERAL @ V17x ) @ V18b @ ( c_2Earithmetic_2ENUMERAL @ V19e ) @ V20y )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V15n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V16f @ ( c_2Earithmetic_2EDIV2 @ ( c_2Earithmetic_2ENUMERAL @ V17x ) ) @ ( c_2Earithmetic_2E_2B @ V18b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral_2EiDUB @ V19e ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V16f @ V18b @ ( c_2Earithmetic_2EODD @ V17x ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ V19e ) @ V20y ) @ V20y ) ) )
& ! [V21n: tyop_2Enum_2Enum,V22f: tyop_2Enum_2Enum > $o > $o,V23x: tyop_2Enum_2Enum,V24b: tyop_2Enum_2Enum,V25e: tyop_2Enum_2Enum,V26y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V21n ) ) @ V22f @ ( c_2Earithmetic_2ENUMERAL @ V23x ) @ V24b @ ( c_2Earithmetic_2ENUMERAL @ V25e ) @ V26y )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V21n ) ) @ V22f @ ( c_2Earithmetic_2EDIV2 @ ( c_2Earithmetic_2ENUMERAL @ V23x ) ) @ ( c_2Earithmetic_2E_2B @ V24b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral_2EiDUB @ V25e ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( V22f @ V24b @ ( c_2Earithmetic_2EODD @ V23x ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ V25e ) @ V26y ) @ V26y ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__BIT__MODIFY,axiom,
( ! [V0m: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > $o > $o] :
( ( c_2Ebit_2EBIT__MODIFY @ ( c_2Earithmetic_2ENUMERAL @ V0m ) @ V1f @ c_2Enum_2E0 )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ V0m ) @ V1f @ c_2Enum_2E0 @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) )
& ! [V2m: tyop_2Enum_2Enum,V3f: tyop_2Enum_2Enum > $o > $o,V4n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EBIT__MODIFY @ ( c_2Earithmetic_2ENUMERAL @ V2m ) @ V3f @ ( c_2Earithmetic_2ENUMERAL @ V4n ) )
= ( c_2Enumeral__bit_2EBIT__MODF @ ( c_2Earithmetic_2ENUMERAL @ V2m ) @ V3f @ ( c_2Earithmetic_2ENUMERAL @ V4n ) @ c_2Enum_2E0 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__TIMES__2EXP,axiom,
( ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ETIMES__2EXP @ V0n @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V1n: tyop_2Enum_2Enum,V2x: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ETIMES__2EXP @ V1n @ ( c_2Earithmetic_2ENUMERAL @ V2x ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB @ V1n @ V2x ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__iDIV2,axiom,
! [V0n: tyop_2Enum_2Enum] :
( ( ( c_2Enumeral__bit_2EiDIV2 @ c_2Earithmetic_2EZERO )
= c_2Earithmetic_2EZERO )
& ( ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Enumeral__bit_2EiSUC @ c_2Earithmetic_2EZERO ) )
= c_2Earithmetic_2EZERO )
& ( ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Earithmetic_2EBIT1 @ V0n ) )
= V0n )
& ( ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Enumeral__bit_2EiSUC @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) )
= ( c_2Enumeral__bit_2EiSUC @ V0n ) )
& ( ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Earithmetic_2EBIT2 @ V0n ) )
= ( c_2Enumeral__bit_2EiSUC @ V0n ) )
& ( ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Enumeral__bit_2EiSUC @ ( c_2Earithmetic_2EBIT2 @ V0n ) ) )
= ( c_2Enumeral__bit_2EiSUC @ V0n ) )
& ( ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2EiSUC @ V0n ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enum_2ESUC @ V0n ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__DIV__2EXP,axiom,
( ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EDIV__2EXP @ V0n @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V1n: tyop_2Enum_2Enum,V2x: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EDIV__2EXP @ V1n @ ( c_2Earithmetic_2ENUMERAL @ V2x ) )
= ( c_2Earithmetic_2ENUMERAL @ ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 @ V1n @ V2x ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__iDIV2,axiom,
( ! [V0x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 @ c_2Enum_2E0 @ V0x )
= V0x )
& ! [V1y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 @ V1y @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V2n: tyop_2Enum_2Enum,V3x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ V3x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 ) @ ( c_2Earithmetic_2ENUMERAL @ V2n ) @ ( c_2Enumeral__bit_2EiDIV2 @ V3x ) ) )
& ! [V4n: tyop_2Enum_2Enum,V5x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral__bit_2EiDIV2 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V4n ) ) @ V5x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 ) @ ( c_2Earithmetic_2ENUMERAL @ V4n ) @ ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Enumeral__bit_2EiDIV2 @ V5x ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__iDUB,axiom,
( ! [V0x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB @ c_2Enum_2E0 @ V0x )
= V0x )
& ! [V1y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB @ V1y @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V2n: tyop_2Enum_2Enum,V3x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ V3x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB ) @ ( c_2Earithmetic_2ENUMERAL @ V2n ) @ ( c_2Enumeral_2EiDUB @ V3x ) ) )
& ! [V4n: tyop_2Enum_2Enum,V5x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ c_2Enumeral_2EiDUB @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V4n ) ) @ V5x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB ) @ ( c_2Earithmetic_2ENUMERAL @ V4n ) @ ( c_2Enumeral_2EiDUB @ ( c_2Enumeral_2EiDUB @ V5x ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ENUMERAL__SFUNPOW__FDUB,axiom,
! [V0f: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ! [V1x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ c_2Enum_2E0 @ V1x )
= V1x )
& ! [V2y: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ V2y @ c_2Enum_2E0 )
= c_2Enum_2E0 )
& ! [V3n: tyop_2Enum_2Enum,V4x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ V4x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( c_2Earithmetic_2ENUMERAL @ V3n ) @ ( c_2Enumeral__bit_2EFDUB @ V0f @ V4x ) ) )
& ! [V5n: tyop_2Enum_2Enum,V6x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V5n ) ) @ V6x )
= ( c_2Enumeral__bit_2ESFUNPOW @ ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) ) @ ( c_2Earithmetic_2ENUMERAL @ V5n ) @ ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Enumeral__bit_2EFDUB @ V0f @ V6x ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2EFDUB__iDIV2,axiom,
! [V0x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral__bit_2EiDIV2 @ V0x )
= ( c_2Enumeral__bit_2EiDIV2 @ ( c_2Enumeral__bit_2EiDIV2 @ V0x ) ) ) ).
thf(thm_2Enumeral__bit_2EFDUB__iDUB,axiom,
! [V0x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ c_2Enumeral_2EiDUB @ V0x )
= ( c_2Enumeral_2EiDUB @ ( c_2Enumeral_2EiDUB @ V0x ) ) ) ).
thf(thm_2Enumeral__bit_2EFDUB__FDUB,axiom,
! [V0f: tyop_2Enum_2Enum > tyop_2Enum_2Enum] :
( ( ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ c_2Earithmetic_2EZERO )
= c_2Earithmetic_2EZERO )
& ! [V1x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ ( c_2Enumeral__bit_2EiSUC @ V1x ) )
= ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Enumeral__bit_2EiSUC @ V1x ) ) ) )
& ! [V2x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ ( c_2Earithmetic_2EBIT1 @ V2x ) )
= ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Earithmetic_2EBIT1 @ V2x ) ) ) )
& ! [V3x: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EFDUB @ ( c_2Enumeral__bit_2EFDUB @ V0f ) @ ( c_2Earithmetic_2EBIT2 @ V3x ) )
= ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Enumeral__bit_2EFDUB @ V0f @ ( c_2Earithmetic_2EBIT2 @ V3x ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ELOG__compute,axiom,
! [V0base_20_3C_202_20or_20n_20_3D_200: $o,V1m: tyop_2Enum_2Enum,V2n: tyop_2Enum_2Enum] :
( ( c_2Elogroot_2ELOG @ V1m @ V2n )
= ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Ebool_2E_5C_2F @ ( c_2Eprim__rec_2E_3C @ V1m @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V2n @ c_2Enum_2E0 ) ) @ ( c_2Ecombin_2EFAIL @ ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ) @ $o @ c_2Elogroot_2ELOG @ V0base_20_3C_202_20or_20n_20_3D_200 @ V1m @ V2n ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Eprim__rec_2E_3C @ V2n @ V1m ) @ c_2Enum_2E0 @ ( c_2Enum_2ESUC @ ( c_2Elogroot_2ELOG @ V1m @ ( c_2Earithmetic_2EDIV @ V2n @ V1m ) ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2Enumeral__ilog2,axiom,
( ( ( c_2Enumeral__bit_2EiLOG2 @ c_2Earithmetic_2EZERO )
= c_2Enum_2E0 )
& ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiLOG2 @ ( c_2Earithmetic_2EBIT1 @ V0n ) )
= ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Enumeral__bit_2EiLOG2 @ V0n ) ) )
& ! [V1n: tyop_2Enum_2Enum] :
( ( c_2Enumeral__bit_2EiLOG2 @ ( c_2Earithmetic_2EBIT2 @ V1n ) )
= ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Enumeral__bit_2EiLOG2 @ V1n ) ) ) ) ).
thf(thm_2Enumeral__bit_2Enumeral__log2,axiom,
( ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) )
= ( c_2Enumeral__bit_2EiLOG2 @ ( c_2Enumeral_2EiDUB @ V0n ) ) )
& ! [V1n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V1n ) ) )
= ( c_2Enumeral__bit_2EiLOG2 @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) ) ) ).
thf(thm_2Enumeral__bit_2EMOD__2EXP__EQ,axiom,
( ! [V0a: tyop_2Enum_2Enum,V1b: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP__EQ @ c_2Enum_2E0 @ V0a @ V1b )
= c_2Ebool_2ET )
& ! [V2n: tyop_2Enum_2Enum,V3a: tyop_2Enum_2Enum,V4b: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP__EQ @ ( c_2Enum_2ESUC @ V2n ) @ V3a @ V4b )
<=> ( ( ( c_2Earithmetic_2EODD @ V3a )
= ( c_2Earithmetic_2EODD @ V4b ) )
& ( c_2Ebit_2EMOD__2EXP__EQ @ V2n @ ( c_2Earithmetic_2EDIV2 @ V3a ) @ ( c_2Earithmetic_2EDIV2 @ V4b ) ) ) )
& ! [V5n: tyop_2Enum_2Enum,V6a: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP__EQ @ V5n @ V6a @ V6a )
= c_2Ebool_2ET ) ) ).
thf(thm_2Enumeral__bit_2EMOD__2EXP__MAX,axiom,
( ! [V0a: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP__MAX @ c_2Enum_2E0 @ V0a )
= c_2Ebool_2ET )
& ! [V1n: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
( ( c_2Ebit_2EMOD__2EXP__MAX @ ( c_2Enum_2ESUC @ V1n ) @ V2a )
<=> ( ( c_2Earithmetic_2EODD @ V2a )
& ( c_2Ebit_2EMOD__2EXP__MAX @ V1n @ ( c_2Earithmetic_2EDIV2 @ V2a ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ELOWEST__SET__BIT,axiom,
! [V0n: tyop_2Enum_2Enum] :
( ( (~) @ ( V0n = c_2Enum_2E0 ) )
=> ( ( c_2Ebit_2ELOWEST__SET__BIT @ V0n )
= ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2EODD @ V0n ) @ c_2Enum_2E0 @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Ebit_2ELOWEST__SET__BIT @ ( c_2Earithmetic_2EDIV2 @ V0n ) ) ) ) ) ) ).
thf(thm_2Enumeral__bit_2ELOWEST__SET__BIT__compute,axiom,
( ! [V0n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ELOWEST__SET__BIT @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V0n ) ) )
= ( c_2Enum_2ESUC @ ( c_2Ebit_2ELOWEST__SET__BIT @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Enum_2ESUC @ V0n ) ) ) ) )
& ! [V1n: tyop_2Enum_2Enum] :
( ( c_2Ebit_2ELOWEST__SET__BIT @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) )
= c_2Enum_2E0 ) ) ).
%------------------------------------------------------------------------------