ITP001 Axioms: ITP095^7.ax
%------------------------------------------------------------------------------
% File : ITP095^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 : blast.ax [Gau19]
% : HL4095^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 80 ( 16 unt; 55 typ; 0 def)
% Number of atoms : 117 ( 23 equ; 4 cnn)
% Maximal formula atoms : 5 ( 1 avg)
% Number of connectives : 897 ( 4 ~; 3 |; 8 &; 864 @)
% ( 12 <=>; 6 =>; 0 <=; 0 <~>)
% Maximal formula depth : 13 ( 6 avg; 864 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 126 ( 126 >; 0 *; 0 +; 0 <<)
% Number of symbols : 55 ( 53 usr; 5 con; 0-6 aty)
% Number of variables : 147 ( 24 ^ 92 !; 1 ?; 147 :)
% ( 30 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Ebool_2Eitself,type,
tyop_2Ebool_2Eitself: $tType > $tType ).
thf(tyop_2Efcp_2Ecart,type,
tyop_2Efcp_2Ecart: $tType > $tType > $tType ).
thf(tyop_2Elist_2Elist,type,
tyop_2Elist_2Elist: $tType > $tType ).
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_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_2Earithmetic_2E_3C_3D,type,
c_2Earithmetic_2E_3C_3D: 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_2Eblast_2EBCARRY,type,
c_2Eblast_2EBCARRY: tyop_2Enum_2Enum > ( tyop_2Enum_2Enum > $o ) > ( tyop_2Enum_2Enum > $o ) > $o > $o ).
thf(c_2Ebit_2EBIT,type,
c_2Ebit_2EBIT: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $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_2EBITS,type,
c_2Ebit_2EBITS: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eblast_2EBSUM,type,
c_2Eblast_2EBSUM: tyop_2Enum_2Enum > ( tyop_2Enum_2Enum > $o ) > ( tyop_2Enum_2Enum > $o ) > $o > $o ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Erich__list_2ECOUNT__LIST,type,
c_2Erich__list_2ECOUNT__LIST: tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ tyop_2Enum_2Enum ) ).
thf(c_2Ebool_2EF,type,
c_2Ebool_2EF: $o ).
thf(c_2Efcp_2EFCP,type,
c_2Efcp_2EFCP:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Enum_2Enum > A_27a ) > ( tyop_2Efcp_2Ecart @ A_27a @ A_27b ) ) ).
thf(c_2Elist_2EFOLDL,type,
c_2Elist_2EFOLDL:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > A_27a > A_27b ) > A_27b > ( tyop_2Elist_2Elist @ A_27a ) > A_27b ) ).
thf(c_2Ecombin_2EK,type,
c_2Ecombin_2EK:
!>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > A_27a ) ).
thf(c_2Ebit_2ELOG2,type,
c_2Ebit_2ELOG2: 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_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: 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_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_2Eblast_2Ebcarry,type,
c_2Eblast_2Ebcarry: $o > $o > $o > $o ).
thf(c_2Eblast_2Ebsum,type,
c_2Eblast_2Ebsum: $o > $o > $o > $o ).
thf(c_2Efcp_2Edimindex,type,
c_2Efcp_2Edimindex:
!>[A_27a: $tType] : ( ( tyop_2Ebool_2Eitself @ A_27a ) > tyop_2Enum_2Enum ) ).
thf(c_2Efcp_2Efcp__index,type,
c_2Efcp_2Efcp__index:
!>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Efcp_2Ecart @ A_27a @ A_27b ) > tyop_2Enum_2Enum > A_27a ) ).
thf(c_2Ewords_2En2w,type,
c_2Ewords_2En2w:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ecombin_2Eo,type,
c_2Ecombin_2Eo:
!>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27c > A_27b ) > ( A_27a > A_27c ) > A_27a > A_27b ) ).
thf(c_2Ebool_2Ethe__value,type,
c_2Ebool_2Ethe__value:
!>[A_27a: $tType] : ( tyop_2Ebool_2Eitself @ A_27a ) ).
thf(c_2Ewords_2Eword__add,type,
c_2Ewords_2Eword__add:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__asr,type,
c_2Ewords_2Eword__asr:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__asr__bv,type,
c_2Ewords_2Eword__asr__bv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__bits,type,
c_2Ewords_2Eword__bits:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__lo,type,
c_2Ewords_2Eword__lo:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > $o ) ).
thf(c_2Ewords_2Eword__lsl__bv,type,
c_2Ewords_2Eword__lsl__bv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__lsr__bv,type,
c_2Ewords_2Eword__lsr__bv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__mod,type,
c_2Ewords_2Eword__mod:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__mul,type,
c_2Ewords_2Eword__mul:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__rol__bv,type,
c_2Ewords_2Eword__rol__bv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__ror__bv,type,
c_2Ewords_2Eword__ror__bv:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
thf(c_2Ewords_2Eword__sub,type,
c_2Ewords_2Eword__sub:
!>[A_27a: $tType] : ( ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) > ( tyop_2Efcp_2Ecart @ $o @ A_27a ) ) ).
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_2Eblast_2Ebcarry__def,axiom,
! [V0x: $o,V1y: $o,V2c: $o] :
( ( c_2Eblast_2Ebcarry @ V0x @ V1y @ V2c )
<=> ( ( V0x
& V1y )
| ( ( V0x
| V1y )
& V2c ) ) ) ).
thf(thm_2Eblast_2EBCARRY__def,axiom,
( ! [V0x: tyop_2Enum_2Enum > $o,V1y: tyop_2Enum_2Enum > $o,V2c: $o] :
( ( c_2Eblast_2EBCARRY @ c_2Enum_2E0 @ V0x @ V1y @ V2c )
= V2c )
& ! [V3i: tyop_2Enum_2Enum,V4x: tyop_2Enum_2Enum > $o,V5y: tyop_2Enum_2Enum > $o,V6c: $o] :
( ( c_2Eblast_2EBCARRY @ ( c_2Enum_2ESUC @ V3i ) @ V4x @ V5y @ V6c )
= ( c_2Eblast_2Ebcarry @ ( V4x @ V3i ) @ ( V5y @ V3i ) @ ( c_2Eblast_2EBCARRY @ V3i @ V4x @ V5y @ V6c ) ) ) ) ).
thf(thm_2Eblast_2Ebsum__def,axiom,
! [V0x: $o,V1y: $o,V2c: $o] :
( ( c_2Eblast_2Ebsum @ V0x @ V1y @ V2c )
<=> ( ( V0x
<=> ( (~) @ V1y ) )
<=> ( (~) @ V2c ) ) ) ).
thf(thm_2Eblast_2EBSUM__def,axiom,
! [V0i: tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum > $o,V2y: tyop_2Enum_2Enum > $o,V3c: $o] :
( ( c_2Eblast_2EBSUM @ V0i @ V1x @ V2y @ V3c )
= ( c_2Eblast_2Ebsum @ ( V1x @ V0i ) @ ( V2y @ V0i ) @ ( c_2Eblast_2EBCARRY @ V0i @ V1x @ V2y @ V3c ) ) ) ).
thf(thm_2Eblast_2EBCARRY__def__compute,axiom,
( ! [V0x: tyop_2Enum_2Enum > $o,V1y: tyop_2Enum_2Enum > $o,V2c: $o] :
( ( c_2Eblast_2EBCARRY @ c_2Enum_2E0 @ V0x @ V1y @ V2c )
= V2c )
& ! [V3i: tyop_2Enum_2Enum,V4x: tyop_2Enum_2Enum > $o,V5y: tyop_2Enum_2Enum > $o,V6c: $o] :
( ( c_2Eblast_2EBCARRY @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3i ) ) @ V4x @ V5y @ V6c )
= ( c_2Eblast_2Ebcarry @ ( V4x @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3i ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( V5y @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3i ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Eblast_2EBCARRY @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3i ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V4x @ V5y @ V6c ) ) )
& ! [V7i: tyop_2Enum_2Enum,V8x: tyop_2Enum_2Enum > $o,V9y: tyop_2Enum_2Enum > $o,V10c: $o] :
( ( c_2Eblast_2EBCARRY @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V7i ) ) @ V8x @ V9y @ V10c )
= ( c_2Eblast_2Ebcarry @ ( V8x @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V7i ) ) ) @ ( V9y @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V7i ) ) ) @ ( c_2Eblast_2EBCARRY @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V7i ) ) @ V8x @ V9y @ V10c ) ) ) ) ).
thf(thm_2Eblast_2EBCARRY__LEM,axiom,
! [V0i: tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum,V2y: tyop_2Enum_2Enum,V3c: $o] :
( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V0i )
=> ( ( c_2Eblast_2EBCARRY @ V0i
@ ^ [V4i: tyop_2Enum_2Enum] : ( c_2Ebit_2EBIT @ V4i @ V1x )
@ ^ [V5i: tyop_2Enum_2Enum] : ( c_2Ebit_2EBIT @ V5i @ V2y )
@ V3c )
= ( c_2Ebit_2EBIT @ V0i @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ ( c_2Ebit_2EBITS @ ( c_2Earithmetic_2E_2D @ V0i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ c_2Enum_2E0 @ V1x ) @ ( c_2Ebit_2EBITS @ ( c_2Earithmetic_2E_2D @ V0i @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ c_2Enum_2E0 @ V2y ) ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ V3c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) ) ) ) ) ).
thf(thm_2Eblast_2EBCARRY__EQ,axiom,
! [V0n: tyop_2Enum_2Enum,V1c: $o,V2x1: tyop_2Enum_2Enum > $o,V3x2: tyop_2Enum_2Enum > $o,V4y1: tyop_2Enum_2Enum > $o,V5y2: tyop_2Enum_2Enum > $o] :
( ! [V6i: tyop_2Enum_2Enum] :
( ( c_2Eprim__rec_2E_3C @ V6i @ V0n )
=> ( ( ( V2x1 @ V6i )
= ( V3x2 @ V6i ) )
& ( ( V4y1 @ V6i )
= ( V5y2 @ V6i ) ) ) )
=> ( ( c_2Eblast_2EBCARRY @ V0n @ V2x1 @ V4y1 @ V1c )
= ( c_2Eblast_2EBCARRY @ V0n @ V3x2 @ V5y2 @ V1c ) ) ) ).
thf(thm_2Eblast_2EBSUM__EQ,axiom,
! [V0n: tyop_2Enum_2Enum,V1c: $o,V2x1: tyop_2Enum_2Enum > $o,V3x2: tyop_2Enum_2Enum > $o,V4y1: tyop_2Enum_2Enum > $o,V5y2: tyop_2Enum_2Enum > $o] :
( ! [V6i: tyop_2Enum_2Enum] :
( ( c_2Earithmetic_2E_3C_3D @ V6i @ V0n )
=> ( ( ( V2x1 @ V6i )
= ( V3x2 @ V6i ) )
& ( ( V4y1 @ V6i )
= ( V5y2 @ V6i ) ) ) )
=> ( ( c_2Eblast_2EBSUM @ V0n @ V2x1 @ V4y1 @ V1c )
= ( c_2Eblast_2EBSUM @ V0n @ V3x2 @ V5y2 @ V1c ) ) ) ).
thf(thm_2Eblast_2EBSUM__LEM,axiom,
! [V0i: tyop_2Enum_2Enum,V1x: tyop_2Enum_2Enum,V2y: tyop_2Enum_2Enum,V3c: $o] :
( ( c_2Eblast_2EBSUM @ V0i
@ ^ [V4i: tyop_2Enum_2Enum] : ( c_2Ebit_2EBIT @ V4i @ V1x )
@ ^ [V5i: tyop_2Enum_2Enum] : ( c_2Ebit_2EBIT @ V5i @ V2y )
@ V3c )
= ( c_2Ebit_2EBIT @ V0i @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ V1x @ V2y ) @ ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ V3c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ c_2Enum_2E0 ) ) ) ) ).
thf(thm_2Eblast_2EBITWISE__ADD,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__add @ A_27a @ V0x @ V1y )
= ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2i: tyop_2Enum_2Enum] : ( c_2Eblast_2EBSUM @ V2i @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0x ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1y ) @ c_2Ebool_2EF ) ) ) ).
thf(thm_2Eblast_2EBITWISE__SUB,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__sub @ A_27a @ V0x @ V1y )
= ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2i: tyop_2Enum_2Enum] : ( c_2Eblast_2EBSUM @ V2i @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0x ) @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ $o @ $o @ c_2Ebool_2E_7E @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1y ) ) @ c_2Ebool_2ET ) ) ) ).
thf(thm_2Eblast_2EBITWISE__LO,axiom,
! [A_27a: $tType,V0x: tyop_2Efcp_2Ecart @ $o @ A_27a,V1y: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__lo @ A_27a @ V0x @ V1y )
<=> ( (~) @ ( c_2Eblast_2EBCARRY @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0x ) @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ $o @ $o @ c_2Ebool_2E_7E @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1y ) ) @ c_2Ebool_2ET ) ) ) ).
thf(thm_2Eblast_2EBITWISE__MUL,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__mul @ A_27a @ V0w @ V1m )
= ( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ ( tyop_2Efcp_2Ecart @ $o @ A_27a )
@ ^ [V2a: tyop_2Efcp_2Ecart @ $o @ A_27a,V3j: tyop_2Enum_2Enum] :
( c_2Ewords_2Eword__add @ A_27a @ V2a
@ ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V4i: tyop_2Enum_2Enum] : ( c_2Ebool_2E_2F_5C @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ V3j ) @ ( c_2Ebool_2E_2F_5C @ ( c_2Earithmetic_2E_3C_3D @ V3j @ V4i ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1m @ ( c_2Earithmetic_2E_2D @ V4i @ V3j ) ) ) ) ) )
@ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 )
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ).
thf(thm_2Eblast_2Eword__lsl__bv__expand,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__lsl__bv @ A_27a @ V0w @ V1m )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Efcp_2EFCP @ $o @ A_27a @ ( c_2Ecombin_2EK @ $o @ tyop_2Enum_2Enum @ ( c_2Ebool_2E_2F_5C @ ( c_2Ebool_2E_7E @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1m @ c_2Enum_2E0 ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ c_2Enum_2E0 ) ) ) )
@ ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2k: tyop_2Enum_2Enum] :
( c_2Ebool_2E_2F_5C
@ ( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ $o
@ ^ [V3a: $o,V4j: tyop_2Enum_2Enum] : ( c_2Ebool_2E_5C_2F @ V3a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ c_2Enum_2E0 @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ V4j ) ) @ ( c_2Ebool_2E_2F_5C @ ( c_2Earithmetic_2E_3C_3D @ V4j @ V2k ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ ( c_2Earithmetic_2E_2D @ V2k @ V4j ) ) ) ) )
@ c_2Ebool_2EF
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
@ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ) ) ) ) ).
thf(thm_2Eblast_2Eword__lsr__bv__expand,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__lsr__bv @ A_27a @ V0w @ V1m )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Efcp_2EFCP @ $o @ A_27a @ ( c_2Ecombin_2EK @ $o @ tyop_2Enum_2Enum @ ( c_2Ebool_2E_2F_5C @ ( c_2Ebool_2E_7E @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V1m @ c_2Enum_2E0 ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ c_2Enum_2E0 ) ) ) )
@ ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2k: tyop_2Enum_2Enum] :
( c_2Ebool_2E_2F_5C
@ ( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ $o
@ ^ [V3a: $o,V4j: tyop_2Enum_2Enum] : ( c_2Ebool_2E_5C_2F @ V3a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ c_2Enum_2E0 @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ V4j ) ) @ ( c_2Ebool_2E_2F_5C @ ( c_2Eprim__rec_2E_3C @ ( c_2Earithmetic_2E_2B @ V2k @ V4j ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ ( c_2Earithmetic_2E_2B @ V2k @ V4j ) ) ) ) )
@ c_2Ebool_2EF
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
@ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) ) ) ) ) ).
thf(thm_2Eblast_2Eword__asr__bv__expand,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__asr__bv @ A_27a @ V0w @ V1m )
= ( c_2Ebool_2ECOND @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Efcp_2EFCP @ $o @ A_27a @ ( c_2Ecombin_2EK @ $o @ tyop_2Enum_2Enum @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ c_2Enum_2E0 ) ) )
@ ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2k: tyop_2Enum_2Enum] :
( c_2Ebool_2E_5C_2F
@ ( c_2Ebool_2E_2F_5C
@ ( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ $o
@ ^ [V3a: $o,V4j: tyop_2Enum_2Enum] : ( c_2Ebool_2E_5C_2F @ V3a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ c_2Enum_2E0 @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ V4j ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ ( c_2Ewords_2Eword__asr @ A_27a @ V0w @ V4j ) @ V2k ) ) )
@ c_2Ebool_2EF
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) )
@ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__bits @ A_27a @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Earithmetic_2E_2B @ ( c_2Ebit_2ELOG2 @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V1m ) @ ( c_2Ewords_2En2w @ A_27a @ c_2Enum_2E0 ) ) )
@ ( c_2Ebool_2E_2F_5C @ ( c_2Ewords_2Eword__lo @ A_27a @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ V1m ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ).
thf(thm_2Eblast_2Eword__ror__bv__expand,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__ror__bv @ A_27a @ V0w @ V1m )
= ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2k: tyop_2Enum_2Enum] :
( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ $o
@ ^ [V3a: $o,V4j: tyop_2Enum_2Enum] : ( c_2Ebool_2E_5C_2F @ V3a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__mod @ A_27a @ V1m @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) @ ( c_2Ewords_2En2w @ A_27a @ V4j ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ ( c_2Earithmetic_2EMOD @ ( c_2Earithmetic_2E_2B @ V4j @ V2k ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) )
@ c_2Ebool_2EF
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ) ).
thf(thm_2Eblast_2Eword__rol__bv__expand,axiom,
! [A_27a: $tType,V0w: tyop_2Efcp_2Ecart @ $o @ A_27a,V1m: tyop_2Efcp_2Ecart @ $o @ A_27a] :
( ( c_2Ewords_2Eword__rol__bv @ A_27a @ V0w @ V1m )
= ( c_2Efcp_2EFCP @ $o @ A_27a
@ ^ [V2k: tyop_2Enum_2Enum] :
( c_2Elist_2EFOLDL @ tyop_2Enum_2Enum @ $o
@ ^ [V3a: $o,V4j: tyop_2Enum_2Enum] : ( c_2Ebool_2E_5C_2F @ V3a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Efcp_2Ecart @ $o @ A_27a ) @ ( c_2Ewords_2Eword__mod @ A_27a @ V1m @ ( c_2Ewords_2En2w @ A_27a @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) @ ( c_2Ewords_2En2w @ A_27a @ V4j ) ) @ ( c_2Efcp_2Efcp__index @ $o @ A_27a @ V0w @ ( c_2Earithmetic_2EMOD @ ( c_2Earithmetic_2E_2B @ V2k @ ( c_2Earithmetic_2EMOD @ ( c_2Earithmetic_2E_2D @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) @ V4j ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) )
@ c_2Ebool_2EF
@ ( c_2Erich__list_2ECOUNT__LIST @ ( c_2Efcp_2Edimindex @ A_27a @ ( c_2Ebool_2Ethe__value @ A_27a ) ) ) ) ) ) ).
%------------------------------------------------------------------------------