ITP001 Axioms: ITP022^7.ax
%------------------------------------------------------------------------------
% File : ITP022^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 : ind_type.ax [Gau19]
% : HL4022^7.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 94 ( 20 unt; 46 typ; 0 def)
% Number of atoms : 149 ( 61 equ; 3 cnn)
% Maximal formula atoms : 5 ( 1 avg)
% Number of connectives : 482 ( 3 ~; 2 |; 23 &; 416 @)
% ( 22 <=>; 16 =>; 0 <=; 0 <~>)
% Maximal formula depth : 17 ( 7 avg; 416 nst)
% Number of types : 3 ( 2 usr)
% Number of type conns : 222 ( 222 >; 0 *; 0 +; 0 <<)
% Number of symbols : 46 ( 44 usr; 4 con; 0-6 aty)
% Number of variables : 232 ( 23 ^ 176 !; 10 ?; 232 :)
% ( 23 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Eind__type_2Erecspace,type,
tyop_2Eind__type_2Erecspace: $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_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_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_2Emin_2E_40,type,
c_2Emin_2E_40:
!>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a ) ).
thf(c_2Ebool_2EARB,type,
c_2Ebool_2EARB:
!>[A_27a: $tType] : A_27a ).
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_2Eind__type_2EBOTTOM,type,
c_2Eind__type_2EBOTTOM:
!>[A_27a: $tType] : ( tyop_2Eind__type_2Erecspace @ A_27a ) ).
thf(c_2Ebool_2ECOND,type,
c_2Ebool_2ECOND:
!>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).
thf(c_2Eind__type_2ECONSTR,type,
c_2Eind__type_2ECONSTR:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > A_27a > ( tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a ) ) > ( tyop_2Eind__type_2Erecspace @ A_27a ) ) ).
thf(c_2Earithmetic_2EEXP,type,
c_2Earithmetic_2EEXP: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2EFCONS,type,
c_2Eind__type_2EFCONS:
!>[A_27a: $tType] : ( A_27a > ( tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > A_27a ) ).
thf(c_2Eind__type_2EFNIL,type,
c_2Eind__type_2EFNIL:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > A_27a ) ).
thf(c_2Eind__type_2EINJA,type,
c_2Eind__type_2EINJA:
!>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2EINJF,type,
c_2Eind__type_2EINJF:
!>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o ) > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2EINJN,type,
c_2Eind__type_2EINJN:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2EINJP,type,
c_2Eind__type_2EINJP:
!>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a > $o ) > ( tyop_2Enum_2Enum > A_27a > $o ) > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2EISO,type,
c_2Eind__type_2EISO:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( A_27b > A_27a ) > $o ) ).
thf(c_2Earithmetic_2ENUMERAL,type,
c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2ENUMFST,type,
c_2Eind__type_2ENUMFST: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2ENUMLEFT,type,
c_2Eind__type_2ENUMLEFT: tyop_2Enum_2Enum > $o ).
thf(c_2Eind__type_2ENUMPAIR,type,
c_2Eind__type_2ENUMPAIR: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2ENUMRIGHT,type,
c_2Eind__type_2ENUMRIGHT: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2ENUMSND,type,
c_2Eind__type_2ENUMSND: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).
thf(c_2Eind__type_2ENUMSUM,type,
c_2Eind__type_2ENUMSUM: $o > 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_2Ebool_2ETYPE__DEFINITION,type,
c_2Ebool_2ETYPE__DEFINITION:
!>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( A_27b > A_27a ) > $o ) ).
thf(c_2Eind__type_2EZBOT,type,
c_2Eind__type_2EZBOT:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2EZCONSTR,type,
c_2Eind__type_2EZCONSTR:
!>[A_27a: $tType] : ( tyop_2Enum_2Enum > A_27a > ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o ) > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Earithmetic_2EZERO,type,
c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).
thf(c_2Eind__type_2EZRECSPACE,type,
c_2Eind__type_2EZRECSPACE:
!>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a > $o ) > $o ) ).
thf(c_2Ebool_2E_5C_2F,type,
c_2Ebool_2E_5C_2F: $o > $o > $o ).
thf(c_2Eind__type_2Edest__rec,type,
c_2Eind__type_2Edest__rec:
!>[A_27a: $tType] : ( ( tyop_2Eind__type_2Erecspace @ A_27a ) > tyop_2Enum_2Enum > A_27a > $o ) ).
thf(c_2Eind__type_2Emk__rec,type,
c_2Eind__type_2Emk__rec:
!>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a > $o ) > ( tyop_2Eind__type_2Erecspace @ 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_2Eind__type_2ENUMPAIR,axiom,
! [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2ENUMPAIR @ V0x @ V1y )
= ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2EEXP @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V0x ) @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V1y ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).
thf(thm_2Eind__type_2ENUMPAIR__DEST,axiom,
! [V0x: tyop_2Enum_2Enum,V1y: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2ENUMFST @ ( c_2Eind__type_2ENUMPAIR @ V0x @ V1y ) )
= V0x )
& ( ( c_2Eind__type_2ENUMSND @ ( c_2Eind__type_2ENUMPAIR @ V0x @ V1y ) )
= V1y ) ) ).
thf(thm_2Eind__type_2ENUMSUM,axiom,
! [V0b: $o,V1x: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2ENUMSUM @ V0b @ V1x )
= ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ V0b @ ( c_2Enum_2ESUC @ ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V1x ) ) @ ( c_2Earithmetic_2E_2A @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ c_2Earithmetic_2EZERO ) ) @ V1x ) ) ) ).
thf(thm_2Eind__type_2ENUMSUM__DEST,axiom,
! [V0x: $o,V1y: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2ENUMLEFT @ ( c_2Eind__type_2ENUMSUM @ V0x @ V1y ) )
= V0x )
& ( ( c_2Eind__type_2ENUMRIGHT @ ( c_2Eind__type_2ENUMSUM @ V0x @ V1y ) )
= V1y ) ) ).
thf(thm_2Eind__type_2EINJN,axiom,
! [A_27a: $tType,V0m: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2EINJN @ A_27a @ V0m )
= ( ^ [V1n: tyop_2Enum_2Enum,V2a: A_27a] : ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1n @ V0m ) ) ) ).
thf(thm_2Eind__type_2EINJA,axiom,
! [A_27a: $tType,V0a: A_27a] :
( ( c_2Eind__type_2EINJA @ A_27a @ V0a )
= ( ^ [V1n: tyop_2Enum_2Enum,V2b: A_27a] : ( c_2Emin_2E_3D @ A_27a @ V2b @ V0a ) ) ) ).
thf(thm_2Eind__type_2EINJF,axiom,
! [A_27a: $tType,V0f: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EINJF @ A_27a @ V0f )
= ( ^ [V1n: tyop_2Enum_2Enum] : ( V0f @ ( c_2Eind__type_2ENUMFST @ V1n ) @ ( c_2Eind__type_2ENUMSND @ V1n ) ) ) ) ).
thf(thm_2Eind__type_2EINJP,axiom,
! [A_27a: $tType,V0f1: tyop_2Enum_2Enum > A_27a > $o,V1f2: tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EINJP @ A_27a @ V0f1 @ V1f2 )
= ( ^ [V2n: tyop_2Enum_2Enum,V3a: A_27a] : ( c_2Ebool_2ECOND @ $o @ ( c_2Eind__type_2ENUMLEFT @ V2n ) @ ( V0f1 @ ( c_2Eind__type_2ENUMRIGHT @ V2n ) @ V3a ) @ ( V1f2 @ ( c_2Eind__type_2ENUMRIGHT @ V2n ) @ V3a ) ) ) ) ).
thf(thm_2Eind__type_2EZCONSTR,axiom,
! [A_27a: $tType,V0c: tyop_2Enum_2Enum,V1i: A_27a,V2r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EZCONSTR @ A_27a @ V0c @ V1i @ V2r )
= ( c_2Eind__type_2EINJP @ A_27a @ ( c_2Eind__type_2EINJN @ A_27a @ ( c_2Enum_2ESUC @ V0c ) ) @ ( c_2Eind__type_2EINJP @ A_27a @ ( c_2Eind__type_2EINJA @ A_27a @ V1i ) @ ( c_2Eind__type_2EINJF @ A_27a @ V2r ) ) ) ) ).
thf(thm_2Eind__type_2EZBOT,axiom,
! [A_27a: $tType] :
( ( c_2Eind__type_2EZBOT @ A_27a )
= ( c_2Eind__type_2EINJP @ A_27a @ ( c_2Eind__type_2EINJN @ A_27a @ c_2Enum_2E0 )
@ ( c_2Emin_2E_40 @ ( tyop_2Enum_2Enum > A_27a > $o )
@ ^ [V0z: tyop_2Enum_2Enum > A_27a > $o] : c_2Ebool_2ET ) ) ) ).
thf(thm_2Eind__type_2EZRECSPACE__def,axiom,
! [A_27a: $tType] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a )
= ( ^ [V0a0: tyop_2Enum_2Enum > A_27a > $o] :
( c_2Ebool_2E_21 @ ( ( tyop_2Enum_2Enum > A_27a > $o ) > $o )
@ ^ [V1ZRECSPACE_27: ( tyop_2Enum_2Enum > A_27a > $o ) > $o] :
( c_2Emin_2E_3D_3D_3E
@ ( c_2Ebool_2E_21 @ ( tyop_2Enum_2Enum > A_27a > $o )
@ ^ [V2a0: tyop_2Enum_2Enum > A_27a > $o] :
( c_2Emin_2E_3D_3D_3E
@ ( c_2Ebool_2E_5C_2F @ ( c_2Emin_2E_3D @ ( tyop_2Enum_2Enum > A_27a > $o ) @ V2a0 @ ( c_2Eind__type_2EZBOT @ A_27a ) )
@ ( c_2Ebool_2E_3F @ tyop_2Enum_2Enum
@ ^ [V3c: tyop_2Enum_2Enum] :
( c_2Ebool_2E_3F @ A_27a
@ ^ [V4i: A_27a] :
( c_2Ebool_2E_3F @ ( tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o )
@ ^ [V5r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ ( tyop_2Enum_2Enum > A_27a > $o ) @ V2a0 @ ( c_2Eind__type_2EZCONSTR @ A_27a @ V3c @ V4i @ V5r ) )
@ ( c_2Ebool_2E_21 @ tyop_2Enum_2Enum
@ ^ [V6n: tyop_2Enum_2Enum] : ( V1ZRECSPACE_27 @ ( V5r @ V6n ) ) ) ) ) ) ) )
@ ( V1ZRECSPACE_27 @ V2a0 ) ) )
@ ( V1ZRECSPACE_27 @ V0a0 ) ) ) ) ) ).
thf(thm_2Eind__type_2Erecspace__TY__DEF,axiom,
! [A_27a: $tType] :
? [V0rep: ( tyop_2Eind__type_2Erecspace @ A_27a ) > tyop_2Enum_2Enum > A_27a > $o] : ( c_2Ebool_2ETYPE__DEFINITION @ ( tyop_2Enum_2Enum > A_27a > $o ) @ ( tyop_2Eind__type_2Erecspace @ A_27a ) @ ( c_2Eind__type_2EZRECSPACE @ A_27a ) @ V0rep ) ).
thf(thm_2Eind__type_2Erecspace__repfns,axiom,
! [A_27a: $tType] :
( ! [V0a: tyop_2Eind__type_2Erecspace @ A_27a] :
( ( c_2Eind__type_2Emk__rec @ A_27a @ ( c_2Eind__type_2Edest__rec @ A_27a @ V0a ) )
= V0a )
& ! [V1r: tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ V1r )
<=> ( ( c_2Eind__type_2Edest__rec @ A_27a @ ( c_2Eind__type_2Emk__rec @ A_27a @ V1r ) )
= V1r ) ) ) ).
thf(thm_2Eind__type_2EBOTTOM,axiom,
! [A_27a: $tType] :
( ( c_2Eind__type_2EBOTTOM @ A_27a )
= ( c_2Eind__type_2Emk__rec @ A_27a @ ( c_2Eind__type_2EZBOT @ A_27a ) ) ) ).
thf(thm_2Eind__type_2ECONSTR,axiom,
! [A_27a: $tType,V0c: tyop_2Enum_2Enum,V1i: A_27a,V2r: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
( ( c_2Eind__type_2ECONSTR @ A_27a @ V0c @ V1i @ V2r )
= ( c_2Eind__type_2Emk__rec @ A_27a
@ ( c_2Eind__type_2EZCONSTR @ A_27a @ V0c @ V1i
@ ^ [V3n: tyop_2Enum_2Enum] : ( c_2Eind__type_2Edest__rec @ A_27a @ ( V2r @ V3n ) ) ) ) ) ).
thf(thm_2Eind__type_2EFCONS,axiom,
! [A_27a: $tType] :
( ! [V0a: A_27a,V1f: tyop_2Enum_2Enum > A_27a] :
( ( c_2Eind__type_2EFCONS @ A_27a @ V0a @ V1f @ c_2Enum_2E0 )
= V0a )
& ! [V2a: A_27a,V3f: tyop_2Enum_2Enum > A_27a,V4n: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2EFCONS @ A_27a @ V2a @ V3f @ ( c_2Enum_2ESUC @ V4n ) )
= ( V3f @ V4n ) ) ) ).
thf(thm_2Eind__type_2EFNIL,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2EFNIL @ A_27a @ V0n )
= ( c_2Ebool_2EARB @ A_27a ) ) ).
thf(thm_2Eind__type_2EISO,axiom,
! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1g: A_27b > A_27a] :
( ( c_2Eind__type_2EISO @ A_27a @ A_27b @ V0f @ V1g )
<=> ( ! [V2x: A_27b] :
( ( V0f @ ( V1g @ V2x ) )
= V2x )
& ! [V3y: A_27a] :
( ( V1g @ ( V0f @ V3y ) )
= V3y ) ) ) ).
thf(thm_2Eind__type_2EINJ__INVERSE2,axiom,
! [A_27A: $tType,A_27B: $tType,A_27C: $tType,V0P: A_27A > A_27B > A_27C] :
( ! [V1x1: A_27A,V2y1: A_27B,V3x2: A_27A,V4y2: A_27B] :
( ( ( V0P @ V1x1 @ V2y1 )
= ( V0P @ V3x2 @ V4y2 ) )
<=> ( ( V1x1 = V3x2 )
& ( V2y1 = V4y2 ) ) )
=> ? [V5X: A_27C > A_27A,V6Y: A_27C > A_27B] :
! [V7x: A_27A,V8y: A_27B] :
( ( ( V5X @ ( V0P @ V7x @ V8y ) )
= V7x )
& ( ( V6Y @ ( V0P @ V7x @ V8y ) )
= V8y ) ) ) ).
thf(thm_2Eind__type_2ENUMPAIR__INJ__LEMMA,axiom,
! [V0x1: tyop_2Enum_2Enum,V1y1: tyop_2Enum_2Enum,V2x2: tyop_2Enum_2Enum,V3y2: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2ENUMPAIR @ V0x1 @ V1y1 )
= ( c_2Eind__type_2ENUMPAIR @ V2x2 @ V3y2 ) )
=> ( V0x1 = V2x2 ) ) ).
thf(thm_2Eind__type_2ENUMPAIR__INJ,axiom,
! [V0x1: tyop_2Enum_2Enum,V1y1: tyop_2Enum_2Enum,V2x2: tyop_2Enum_2Enum,V3y2: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2ENUMPAIR @ V0x1 @ V1y1 )
= ( c_2Eind__type_2ENUMPAIR @ V2x2 @ V3y2 ) )
<=> ( ( V0x1 = V2x2 )
& ( V1y1 = V3y2 ) ) ) ).
thf(thm_2Eind__type_2ENUMSUM__INJ,axiom,
! [V0b1: $o,V1x1: tyop_2Enum_2Enum,V2b2: $o,V3x2: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2ENUMSUM @ V0b1 @ V1x1 )
= ( c_2Eind__type_2ENUMSUM @ V2b2 @ V3x2 ) )
<=> ( ( V0b1 = V2b2 )
& ( V1x1 = V3x2 ) ) ) ).
thf(thm_2Eind__type_2EINJN__INJ,axiom,
! [A_27a: $tType,V0n1: tyop_2Enum_2Enum,V1n2: tyop_2Enum_2Enum] :
( ( ( c_2Eind__type_2EINJN @ A_27a @ V0n1 )
= ( c_2Eind__type_2EINJN @ A_27a @ V1n2 ) )
<=> ( V0n1 = V1n2 ) ) ).
thf(thm_2Eind__type_2EINJA__INJ,axiom,
! [A_27a: $tType,V0a1: A_27a,V1a2: A_27a] :
( ( ( c_2Eind__type_2EINJA @ A_27a @ V0a1 )
= ( c_2Eind__type_2EINJA @ A_27a @ V1a2 ) )
<=> ( V0a1 = V1a2 ) ) ).
thf(thm_2Eind__type_2EINJF__INJ,axiom,
! [A_27a: $tType,V0f1: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o,V1f2: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ( ( c_2Eind__type_2EINJF @ A_27a @ V0f1 )
= ( c_2Eind__type_2EINJF @ A_27a @ V1f2 ) )
<=> ( V0f1 = V1f2 ) ) ).
thf(thm_2Eind__type_2EINJP__INJ,axiom,
! [A_27a: $tType,V0f1: tyop_2Enum_2Enum > A_27a > $o,V1f1_27: tyop_2Enum_2Enum > A_27a > $o,V2f2: tyop_2Enum_2Enum > A_27a > $o,V3f2_27: tyop_2Enum_2Enum > A_27a > $o] :
( ( ( c_2Eind__type_2EINJP @ A_27a @ V0f1 @ V2f2 )
= ( c_2Eind__type_2EINJP @ A_27a @ V1f1_27 @ V3f2_27 ) )
<=> ( ( V0f1 = V1f1_27 )
& ( V2f2 = V3f2_27 ) ) ) ).
thf(thm_2Eind__type_2EZCONSTR__ZBOT,axiom,
! [A_27a: $tType,V0c: tyop_2Enum_2Enum,V1i: A_27a,V2r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( (~)
@ ( ( c_2Eind__type_2EZCONSTR @ A_27a @ V0c @ V1i @ V2r )
= ( c_2Eind__type_2EZBOT @ A_27a ) ) ) ).
thf(thm_2Eind__type_2EZRECSPACE__rules,axiom,
! [A_27a: $tType] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ ( c_2Eind__type_2EZBOT @ A_27a ) )
& ! [V0c: tyop_2Enum_2Enum,V1i: A_27a,V2r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ! [V3n: tyop_2Enum_2Enum] : ( c_2Eind__type_2EZRECSPACE @ A_27a @ ( V2r @ V3n ) )
=> ( c_2Eind__type_2EZRECSPACE @ A_27a @ ( c_2Eind__type_2EZCONSTR @ A_27a @ V0c @ V1i @ V2r ) ) ) ) ).
thf(thm_2Eind__type_2EZRECSPACE__ind,axiom,
! [A_27a: $tType,V0ZRECSPACE_27: ( tyop_2Enum_2Enum > A_27a > $o ) > $o] :
( ( ( V0ZRECSPACE_27 @ ( c_2Eind__type_2EZBOT @ A_27a ) )
& ! [V1c: tyop_2Enum_2Enum,V2i: A_27a,V3r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ! [V4n: tyop_2Enum_2Enum] : ( V0ZRECSPACE_27 @ ( V3r @ V4n ) )
=> ( V0ZRECSPACE_27 @ ( c_2Eind__type_2EZCONSTR @ A_27a @ V1c @ V2i @ V3r ) ) ) )
=> ! [V5a0: tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ V5a0 )
=> ( V0ZRECSPACE_27 @ V5a0 ) ) ) ).
thf(thm_2Eind__type_2EZRECSPACE__strongind,axiom,
! [A_27a: $tType,V0ZRECSPACE_27: ( tyop_2Enum_2Enum > A_27a > $o ) > $o] :
( ( ( V0ZRECSPACE_27 @ ( c_2Eind__type_2EZBOT @ A_27a ) )
& ! [V1c: tyop_2Enum_2Enum,V2i: A_27a,V3r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ! [V4n: tyop_2Enum_2Enum] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ ( V3r @ V4n ) )
& ( V0ZRECSPACE_27 @ ( V3r @ V4n ) ) )
=> ( V0ZRECSPACE_27 @ ( c_2Eind__type_2EZCONSTR @ A_27a @ V1c @ V2i @ V3r ) ) ) )
=> ! [V5a0: tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ V5a0 )
=> ( V0ZRECSPACE_27 @ V5a0 ) ) ) ).
thf(thm_2Eind__type_2EZRECSPACE__cases,axiom,
! [A_27a: $tType,V0a0: tyop_2Enum_2Enum > A_27a > $o] :
( ( c_2Eind__type_2EZRECSPACE @ A_27a @ V0a0 )
<=> ( ( V0a0
= ( c_2Eind__type_2EZBOT @ A_27a ) )
| ? [V1c: tyop_2Enum_2Enum,V2i: A_27a,V3r: tyop_2Enum_2Enum > tyop_2Enum_2Enum > A_27a > $o] :
( ( V0a0
= ( c_2Eind__type_2EZCONSTR @ A_27a @ V1c @ V2i @ V3r ) )
& ! [V4n: tyop_2Enum_2Enum] : ( c_2Eind__type_2EZRECSPACE @ A_27a @ ( V3r @ V4n ) ) ) ) ) ).
thf(thm_2Eind__type_2EMK__REC__INJ,axiom,
! [A_27a: $tType,V0x: tyop_2Enum_2Enum > A_27a > $o,V1y: tyop_2Enum_2Enum > A_27a > $o] :
( ( ( c_2Eind__type_2Emk__rec @ A_27a @ V0x )
= ( c_2Eind__type_2Emk__rec @ A_27a @ V1y ) )
=> ( ( ( c_2Eind__type_2EZRECSPACE @ A_27a @ V0x )
& ( c_2Eind__type_2EZRECSPACE @ A_27a @ V1y ) )
=> ( V0x = V1y ) ) ) ).
thf(thm_2Eind__type_2EDEST__REC__INJ,axiom,
! [A_27a: $tType,V0x: tyop_2Eind__type_2Erecspace @ A_27a,V1y: tyop_2Eind__type_2Erecspace @ A_27a] :
( ( ( c_2Eind__type_2Edest__rec @ A_27a @ V0x )
= ( c_2Eind__type_2Edest__rec @ A_27a @ V1y ) )
<=> ( V0x = V1y ) ) ).
thf(thm_2Eind__type_2ECONSTR__BOT,axiom,
! [A_27a: $tType,V0c: tyop_2Enum_2Enum,V1i: A_27a,V2r: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
( (~)
@ ( ( c_2Eind__type_2ECONSTR @ A_27a @ V0c @ V1i @ V2r )
= ( c_2Eind__type_2EBOTTOM @ A_27a ) ) ) ).
thf(thm_2Eind__type_2ECONSTR__INJ,axiom,
! [A_27a: $tType,V0c1: tyop_2Enum_2Enum,V1i1: A_27a,V2r1: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a ),V3c2: tyop_2Enum_2Enum,V4i2: A_27a,V5r2: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
( ( ( c_2Eind__type_2ECONSTR @ A_27a @ V0c1 @ V1i1 @ V2r1 )
= ( c_2Eind__type_2ECONSTR @ A_27a @ V3c2 @ V4i2 @ V5r2 ) )
<=> ( ( V0c1 = V3c2 )
& ( V1i1 = V4i2 )
& ( V2r1 = V5r2 ) ) ) ).
thf(thm_2Eind__type_2ECONSTR__IND,axiom,
! [A_27a: $tType,V0P: ( tyop_2Eind__type_2Erecspace @ A_27a ) > $o] :
( ( ( V0P @ ( c_2Eind__type_2EBOTTOM @ A_27a ) )
& ! [V1c: tyop_2Enum_2Enum,V2i: A_27a,V3r: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
( ! [V4n: tyop_2Enum_2Enum] : ( V0P @ ( V3r @ V4n ) )
=> ( V0P @ ( c_2Eind__type_2ECONSTR @ A_27a @ V1c @ V2i @ V3r ) ) ) )
=> ! [V5x: tyop_2Eind__type_2Erecspace @ A_27a] : ( V0P @ V5x ) ) ).
thf(thm_2Eind__type_2ECONSTR__REC,axiom,
! [A_27a: $tType,A_27b: $tType,V0Fn: tyop_2Enum_2Enum > A_27a > ( tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a ) ) > ( tyop_2Enum_2Enum > A_27b ) > A_27b] :
? [V1f: ( tyop_2Eind__type_2Erecspace @ A_27a ) > A_27b] :
! [V2c: tyop_2Enum_2Enum,V3i: A_27a,V4r: tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
( ( V1f @ ( c_2Eind__type_2ECONSTR @ A_27a @ V2c @ V3i @ V4r ) )
= ( V0Fn @ V2c @ V3i @ V4r
@ ^ [V5n: tyop_2Enum_2Enum] : ( V1f @ ( V4r @ V5n ) ) ) ) ).
thf(thm_2Eind__type_2EFCONS__DEST,axiom,
! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a,V2a: A_27a] :
( ( c_2Eind__type_2EFCONS @ A_27a @ V2a @ V1f @ V0n )
= ( c_2Ebool_2ECOND @ A_27a @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V0n @ c_2Enum_2E0 ) @ V2a @ ( V1f @ ( c_2Earithmetic_2E_2D @ V0n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(thm_2Eind__type_2EISO__REFL,axiom,
! [A_27a: $tType] :
( c_2Eind__type_2EISO @ A_27a @ A_27a
@ ^ [V0x: A_27a] : V0x
@ ^ [V1x: A_27a] : V1x ) ).
thf(thm_2Eind__type_2EISO__FUN,axiom,
! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0g_27: A_27d > A_27b,V1g: A_27b > A_27d,V2f_27: A_27c > A_27a,V3f: A_27a > A_27c] :
( ( ( c_2Eind__type_2EISO @ A_27a @ A_27c @ V3f @ V2f_27 )
& ( c_2Eind__type_2EISO @ A_27b @ A_27d @ V1g @ V0g_27 ) )
=> ( c_2Eind__type_2EISO @ ( A_27a > A_27b ) @ ( A_27c > A_27d )
@ ^ [V4h: A_27a > A_27b,V5a_27: A_27c] : ( V1g @ ( V4h @ ( V2f_27 @ V5a_27 ) ) )
@ ^ [V6h: A_27c > A_27d,V7a: A_27a] : ( V0g_27 @ ( V6h @ ( V3f @ V7a ) ) ) ) ) ).
thf(thm_2Eind__type_2EISO__USAGE,axiom,
! [A_27a: $tType,A_27b: $tType,V0g: A_27b > A_27a,V1f: A_27a > A_27b] :
( ( c_2Eind__type_2EISO @ A_27a @ A_27b @ V1f @ V0g )
=> ( ! [V2P: A_27a > $o] :
( ! [V3x: A_27a] : ( V2P @ V3x )
<=> ! [V4x: A_27b] : ( V2P @ ( V0g @ V4x ) ) )
& ! [V5P: A_27a > $o] :
( ? [V6x: A_27a] : ( V5P @ V6x )
<=> ? [V7x: A_27b] : ( V5P @ ( V0g @ V7x ) ) )
& ! [V8a: A_27a,V9b: A_27b] :
( ( V8a
= ( V0g @ V9b ) )
<=> ( ( V1f @ V8a )
= V9b ) ) ) ) ).
%------------------------------------------------------------------------------