ITP001 Axioms: ITP025^5.ax
%------------------------------------------------------------------------------
% File : ITP025^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 : numpair^2.ax [Gau20]
% : HL4025^5.ax [TPAP]
% Status : Satisfiable
% Syntax : Number of formulae : 87 ( 25 unt; 20 typ; 0 def)
% Number of atoms : 1086 ( 60 equ; 0 cnn)
% Maximal formula atoms : 58 ( 12 avg)
% Number of connectives : 1365 ( 3 ~; 1 |; 13 &;1313 @)
% ( 7 <=>; 28 =>; 0 <=; 0 <~>)
% Maximal formula depth : 19 ( 6 avg;1313 nst)
% Number of types : 1 ( 0 usr)
% Number of type conns : 13 ( 13 >; 0 *; 0 +; 0 <<)
% Number of symbols : 51 ( 50 usr; 40 con; 0-2 aty)
% Number of variables : 132 ( 14 ^ 114 !; 4 ?; 132 :)
% SPC : TH0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_c_2Enumpair_2Einvtri,type,
c_2Enumpair_2Einvtri: $i ).
thf(mem_c_2Enumpair_2Einvtri,axiom,
mem @ c_2Enumpair_2Einvtri @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Enumpair_2Einvtri,type,
fo__c_2Enumpair_2Einvtri: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Einvtri,axiom,
! [X0: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Einvtri @ X0 ) )
= ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).
thf(tp_c_2Enumpair_2Einvtri0,type,
c_2Enumpair_2Einvtri0: $i ).
thf(mem_c_2Enumpair_2Einvtri0,axiom,
mem @ c_2Enumpair_2Einvtri0 @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ) ).
thf(tp_c_2Enumpair_2Enapp,type,
c_2Enumpair_2Enapp: $i ).
thf(mem_c_2Enumpair_2Enapp,axiom,
mem @ c_2Enumpair_2Enapp @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(stp_fo_c_2Enumpair_2Enapp,type,
fo__c_2Enumpair_2Enapp: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Enapp,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Enapp @ X0 @ X1 ) )
= ( ap @ ( ap @ c_2Enumpair_2Enapp @ ( inj__ty_2Enum_2Enum @ X0 ) ) @ ( inj__ty_2Enum_2Enum @ X1 ) ) ) ).
thf(tp_c_2Enumpair_2Encons,type,
c_2Enumpair_2Encons: $i ).
thf(mem_c_2Enumpair_2Encons,axiom,
mem @ c_2Enumpair_2Encons @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(stp_fo_c_2Enumpair_2Encons,type,
fo__c_2Enumpair_2Encons: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Encons,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Encons @ X0 @ X1 ) )
= ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ X0 ) ) @ ( inj__ty_2Enum_2Enum @ X1 ) ) ) ).
thf(tp_c_2Enumpair_2Enfoldl,type,
c_2Enumpair_2Enfoldl: del > $i ).
thf(mem_c_2Enumpair_2Enfoldl,axiom,
! [A_27a: del] : ( mem @ ( c_2Enumpair_2Enfoldl @ A_27a ) @ ( arr @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) @ ( arr @ A_27a @ ( arr @ ty_2Enum_2Enum @ A_27a ) ) ) ) ).
thf(tp_c_2Enumpair_2Enfst,type,
c_2Enumpair_2Enfst: $i ).
thf(mem_c_2Enumpair_2Enfst,axiom,
mem @ c_2Enumpair_2Enfst @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Enumpair_2Enfst,type,
fo__c_2Enumpair_2Enfst: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Enfst,axiom,
! [X0: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Enfst @ X0 ) )
= ( ap @ c_2Enumpair_2Enfst @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).
thf(tp_c_2Enumpair_2Enlen,type,
c_2Enumpair_2Enlen: $i ).
thf(mem_c_2Enumpair_2Enlen,axiom,
mem @ c_2Enumpair_2Enlen @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Enumpair_2Enlen,type,
fo__c_2Enumpair_2Enlen: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Enlen,axiom,
! [X0: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Enlen @ X0 ) )
= ( ap @ c_2Enumpair_2Enlen @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).
thf(tp_c_2Enumpair_2Enlistrec,type,
c_2Enumpair_2Enlistrec: del > $i ).
thf(mem_c_2Enumpair_2Enlistrec,axiom,
! [A_27a: del] : ( mem @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ ( arr @ A_27a @ ( arr @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) @ ( arr @ ty_2Enum_2Enum @ A_27a ) ) ) ) ).
thf(tp_c_2Enumpair_2Enmap,type,
c_2Enumpair_2Enmap: $i ).
thf(mem_c_2Enumpair_2Enmap,axiom,
mem @ c_2Enumpair_2Enmap @ ( arr @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(tp_c_2Enumpair_2Enpair,type,
c_2Enumpair_2Enpair: $i ).
thf(mem_c_2Enumpair_2Enpair,axiom,
mem @ c_2Enumpair_2Enpair @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) ).
thf(stp_fo_c_2Enumpair_2Enpair,type,
fo__c_2Enumpair_2Enpair: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Enpair,axiom,
! [X0: tp__ty_2Enum_2Enum,X1: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Enpair @ X0 @ X1 ) )
= ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ X0 ) ) @ ( inj__ty_2Enum_2Enum @ X1 ) ) ) ).
thf(tp_c_2Enumpair_2Ensnd,type,
c_2Enumpair_2Ensnd: $i ).
thf(mem_c_2Enumpair_2Ensnd,axiom,
mem @ c_2Enumpair_2Ensnd @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Enumpair_2Ensnd,type,
fo__c_2Enumpair_2Ensnd: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Ensnd,axiom,
! [X0: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Ensnd @ X0 ) )
= ( ap @ c_2Enumpair_2Ensnd @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).
thf(tp_c_2Enumpair_2Etri,type,
c_2Enumpair_2Etri: $i ).
thf(mem_c_2Enumpair_2Etri,axiom,
mem @ c_2Enumpair_2Etri @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ).
thf(stp_fo_c_2Enumpair_2Etri,type,
fo__c_2Enumpair_2Etri: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
thf(stp_eq_fo_c_2Enumpair_2Etri,axiom,
! [X0: tp__ty_2Enum_2Enum] :
( ( inj__ty_2Enum_2Enum @ ( fo__c_2Enumpair_2Etri @ X0 ) )
= ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ X0 ) ) ) ).
thf(ax_thm_2Enumpair_2Etri__def,axiom,
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
= fo__c_2Enum_2E0 )
& ! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enum_2ESUC @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Etri__def__compute,axiom,
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
= fo__c_2Enum_2E0 )
& ! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( 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 @ V0n ) ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) @ ( 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 @ c_2Enumpair_2Etri @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( 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_2EBIT2 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Etwotri__formula,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( 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_2Enumpair_2Etri__formula,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2EDIV @ ( ap @ ( ap @ c_2Earithmetic_2E_2A @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( 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 ) ) ) ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT2 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Etri__eq__0,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= fo__c_2Enum_2E0 )
<=> ( V0n = fo__c_2Enum_2E0 ) )
& ( ( fo__c_2Enum_2E0
= ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
<=> ( V0n = fo__c_2Enum_2E0 ) ) ) ).
thf(conj_thm_2Enumpair_2Etri__LT__I,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) )
=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Etri__LT,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1m: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) )
<=> ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1m ) ) ) ) ).
thf(conj_thm_2Enumpair_2Etri__11,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0m ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
<=> ( V0m = V1n ) ) ).
thf(conj_thm_2Enumpair_2Etri__LE,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0m ) ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) )
<=> ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri0__ind,axiom,
! [V0P: $i] :
( ( mem @ V0P @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ bool ) ) )
=> ( ! [V1n: tp__ty_2Enum_2Enum,V2a: tp__ty_2Enum_2Enum] :
( ( ~ ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) )
=> ( p @ ( ap @ ( ap @ V0P @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V2a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) )
=> ( p @ ( ap @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( inj__ty_2Enum_2Enum @ V2a ) ) ) )
=> ! [V3v: tp__ty_2Enum_2Enum,V4v1: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V3v ) ) @ ( inj__ty_2Enum_2Enum @ V4v1 ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri0__def,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1a: tp__ty_2Enum_2Enum] :
( ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) )
= ( surj__c_ty_2Epair_2Eprod_ty_2Enum_2Enum_ty_2Enum_2Enum @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Epair_2Eprod @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) ) @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( ap @ ( c_2Epair_2E_2C @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V1a ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ).
thf(ax_thm_2Enumpair_2Einvtri__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( c_2Epair_2ESND @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri0__thm,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1a: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Etri @ ( ap @ ( c_2Epair_2ESND @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) ) ) @ ( ap @ ( c_2Epair_2EFST @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2ESND__invtri0,axiom,
! [V0n: tp__ty_2Enum_2Enum,V1a: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( ap @ ( c_2Epair_2EFST @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) ) @ ( ap @ c_2Enum_2ESUC @ ( ap @ ( c_2Epair_2ESND @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) @ ( ap @ ( ap @ c_2Enumpair_2Einvtri0 @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( inj__ty_2Enum_2Enum @ V1a ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri__lower,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri__upper,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Enumpair_2Etri @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri__linverse,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Einvtri @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= V0n ) ).
thf(conj_thm_2Enumpair_2Einvtri__unique,axiom,
! [V0y: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0y ) ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
& ( p @ ( ap @ ( ap @ c_2Eprim__rec_2E_3C @ ( inj__ty_2Enum_2Enum @ V1n ) ) @ ( ap @ c_2Enumpair_2Etri @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0y ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
= V0y ) ) ).
thf(conj_thm_2Enumpair_2Einvtri__linverse__r,axiom,
! [V0y: tp__ty_2Enum_2Enum,V1x: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0y ) ) @ ( inj__ty_2Enum_2Enum @ V1x ) ) )
=> ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Einvtri @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V1x ) ) ) @ ( inj__ty_2Enum_2Enum @ V0y ) ) ) )
= V1x ) ) ).
thf(conj_thm_2Enumpair_2Etri__le,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Enumpair_2Etri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ).
thf(conj_thm_2Enumpair_2Einvtri__le,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ).
thf(ax_thm_2Enumpair_2Enpair__def,axiom,
! [V0m: tp__ty_2Enum_2Enum,V1n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Etri @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( inj__ty_2Enum_2Enum @ V0m ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V1n ) ) ) ) ).
thf(ax_thm_2Enumpair_2Enfst__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Enfst @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ).
thf(ax_thm_2Enumpair_2Ensnd__def,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Ensnd @ ( inj__ty_2Enum_2Enum @ V0n ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V0n ) ) @ ( ap @ c_2Enumpair_2Etri @ ( ap @ c_2Enumpair_2Einvtri @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enfst__npair,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Enfst @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) ) )
= V0x ) ).
thf(conj_thm_2Enumpair_2Ensnd__npair,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Ensnd @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) ) )
= V1y ) ).
thf(conj_thm_2Enumpair_2Enpair__cases,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
? [V1x: tp__ty_2Enum_2Enum,V2y: tp__ty_2Enum_2Enum] :
( V0n
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V1x ) ) @ ( inj__ty_2Enum_2Enum @ V2y ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enpair,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( ap @ c_2Enumpair_2Enfst @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( ap @ c_2Enumpair_2Ensnd @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) )
= V0n ) ).
thf(conj_thm_2Enumpair_2Enpair__11,axiom,
! [V0x1: tp__ty_2Enum_2Enum,V1y1: tp__ty_2Enum_2Enum,V2x2: tp__ty_2Enum_2Enum,V3y2: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V0x1 ) ) @ ( inj__ty_2Enum_2Enum @ V1y1 ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V2x2 ) ) @ ( inj__ty_2Enum_2Enum @ V3y2 ) ) ) )
<=> ( ( V0x1 = V2x2 )
& ( V1y1 = V3y2 ) ) ) ).
thf(conj_thm_2Enumpair_2Enfst__le,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Enfst @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ).
thf(conj_thm_2Enumpair_2Ensnd__le,axiom,
! [V0n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ c_2Earithmetic_2E_3C_3D @ ( ap @ c_2Enumpair_2Ensnd @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) @ ( inj__ty_2Enum_2Enum @ V0n ) ) ) ).
thf(ax_thm_2Enumpair_2Encons__def,axiom,
! [V0h: tp__ty_2Enum_2Enum,V1t: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V0h ) ) @ ( inj__ty_2Enum_2Enum @ V1t ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ ( ap @ c_2Enumpair_2Enpair @ ( inj__ty_2Enum_2Enum @ V0h ) ) @ ( inj__ty_2Enum_2Enum @ V1t ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Encons__11,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum,V2h: tp__ty_2Enum_2Enum,V3t: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V2h ) ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) ) )
<=> ( ( V0x = V2h )
& ( V1y = V3t ) ) ) ).
thf(conj_thm_2Enumpair_2Encons__not__nnil,axiom,
! [V0x: tp__ty_2Enum_2Enum,V1y: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V0x ) ) @ ( inj__ty_2Enum_2Enum @ V1y ) ) )
!= fo__c_2Enum_2E0 ) ).
thf(conj_thm_2Enumpair_2Enlistrec__ind,axiom,
! [A_27a: del,V0P: $i] :
( ( mem @ V0P @ ( arr @ A_27a @ ( arr @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) @ ( arr @ ty_2Enum_2Enum @ bool ) ) ) )
=> ( ! [V1n: $i] :
( ( mem @ V1n @ A_27a )
=> ! [V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) )
=> ! [V3l: tp__ty_2Enum_2Enum] :
( ( ( V3l != fo__c_2Enum_2E0 )
=> ( p @ ( ap @ ( ap @ ( ap @ V0P @ V1n ) @ V2f ) @ ( ap @ c_2Enumpair_2Ensnd @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V3l ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) )
=> ( p @ ( ap @ ( ap @ ( ap @ V0P @ V1n ) @ V2f ) @ ( inj__ty_2Enum_2Enum @ V3l ) ) ) ) ) )
=> ! [V4v: $i] :
( ( mem @ V4v @ A_27a )
=> ! [V5v1: $i] :
( ( mem @ V5v1 @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) )
=> ! [V6v2: tp__ty_2Enum_2Enum] : ( p @ ( ap @ ( ap @ ( ap @ V0P @ V4v ) @ V5v1 ) @ ( inj__ty_2Enum_2Enum @ V6v2 ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enlistrec__def,axiom,
! [A_27a: del,V0n: $i] :
( ( mem @ V0n @ A_27a )
=> ! [V1l: tp__ty_2Enum_2Enum,V2f: $i] :
( ( mem @ V2f @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) )
=> ( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ V0n ) @ V2f ) @ ( inj__ty_2Enum_2Enum @ V1l ) )
= ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ A_27a ) @ ( ap @ ( ap @ ( c_2Emin_2E_3D @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1l ) ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) ) @ V0n ) @ ( ap @ ( ap @ ( ap @ V2f @ ( ap @ c_2Enumpair_2Enfst @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V1l ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ c_2Enumpair_2Ensnd @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V1l ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ V0n ) @ V2f ) @ ( ap @ c_2Enumpair_2Ensnd @ ( ap @ ( ap @ c_2Earithmetic_2E_2D @ ( inj__ty_2Enum_2Enum @ V1l ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enlistrec__thm,axiom,
! [A_27a: del,V0n: $i] :
( ( mem @ V0n @ A_27a )
=> ! [V1f: $i] :
( ( mem @ V1f @ ( arr @ ty_2Enum_2Enum @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) ) )
=> ! [V2h: tp__ty_2Enum_2Enum,V3t: tp__ty_2Enum_2Enum] :
( ( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ V0n ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
= V0n )
& ( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ V0n ) @ V1f ) @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V2h ) ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) )
= ( ap @ ( ap @ ( ap @ V1f @ ( inj__ty_2Enum_2Enum @ V2h ) ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) @ ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ A_27a ) @ V0n ) @ V1f ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enlist__ind,axiom,
! [V0P: $i] :
( ( mem @ V0P @ ( arr @ ty_2Enum_2Enum @ bool ) )
=> ( ( ( p @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
& ! [V1h: tp__ty_2Enum_2Enum,V2t: tp__ty_2Enum_2Enum] :
( ( p @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V2t ) ) )
=> ( p @ ( ap @ V0P @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V1h ) ) @ ( inj__ty_2Enum_2Enum @ V2t ) ) ) ) ) )
=> ! [V3n: tp__ty_2Enum_2Enum] : ( p @ ( ap @ V0P @ ( inj__ty_2Enum_2Enum @ V3n ) ) ) ) ) ).
thf(ax_thm_2Enumpair_2Enlen__def,axiom,
( c_2Enumpair_2Enlen
= ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V0n: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V1t: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V2r: $i] : ( ap @ ( ap @ c_2Earithmetic_2E_2B @ V2r ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enlen__thm,axiom,
! [V0h: tp__ty_2Enum_2Enum,V1t: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Enlen @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
= fo__c_2Enum_2E0 )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ c_2Enumpair_2Enlen @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V0h ) ) @ ( inj__ty_2Enum_2Enum @ V1t ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Earithmetic_2E_2B @ ( ap @ c_2Enumpair_2Enlen @ ( inj__ty_2Enum_2Enum @ V1t ) ) ) @ ( ap @ c_2Earithmetic_2ENUMERAL @ ( ap @ c_2Earithmetic_2EBIT1 @ ( inj__ty_2Enum_2Enum @ fo__c_2Earithmetic_2EZERO ) ) ) ) ) ) ) ).
thf(ax_thm_2Enumpair_2Enmap__def,axiom,
! [V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ( ( ap @ c_2Enumpair_2Enmap @ V0f )
= ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V1n: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V2t: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V3r: $i] : ( ap @ ( ap @ c_2Enumpair_2Encons @ ( ap @ V0f @ V1n ) ) @ V3r ) ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enmap__thm,axiom,
! [V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ty_2Enum_2Enum ) )
=> ! [V1h: tp__ty_2Enum_2Enum,V2t: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enmap @ V0f ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) )
= fo__c_2Enum_2E0 )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enmap @ V0f ) @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V1h ) ) @ ( inj__ty_2Enum_2Enum @ V2t ) ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( ap @ V0f @ ( inj__ty_2Enum_2Enum @ V1h ) ) ) @ ( ap @ ( ap @ c_2Enumpair_2Enmap @ V0f ) @ ( inj__ty_2Enum_2Enum @ V2t ) ) ) ) ) ) ) ).
thf(ax_thm_2Enumpair_2Enfoldl__def,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2l: tp__ty_2Enum_2Enum] :
( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enfoldl @ A_27a ) @ V0f ) @ V1a ) @ ( inj__ty_2Enum_2Enum @ V2l ) )
= ( ap
@ ( ap
@ ( ap
@ ( ap @ ( c_2Enumpair_2Enlistrec @ ( arr @ A_27a @ A_27a ) )
@ ( lam @ A_27a
@ ^ [V3a: $i] : V3a ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V4n: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V5t: $i] :
( lam @ ( arr @ A_27a @ A_27a )
@ ^ [V6r: $i] :
( lam @ A_27a
@ ^ [V7a: $i] : ( ap @ V6r @ ( ap @ ( ap @ V0f @ V4n ) @ V7a ) ) ) ) ) ) )
@ ( inj__ty_2Enum_2Enum @ V2l ) )
@ V1a ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enfoldl__thm,axiom,
! [A_27a: del,V0f: $i] :
( ( mem @ V0f @ ( arr @ ty_2Enum_2Enum @ ( arr @ A_27a @ A_27a ) ) )
=> ! [V1a: $i] :
( ( mem @ V1a @ A_27a )
=> ! [V2h: tp__ty_2Enum_2Enum,V3t: tp__ty_2Enum_2Enum] :
( ( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enfoldl @ A_27a ) @ V0f ) @ V1a ) @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) )
= V1a )
& ( ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enfoldl @ A_27a ) @ V0f ) @ V1a ) @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V2h ) ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) )
= ( ap @ ( ap @ ( ap @ ( c_2Enumpair_2Enfoldl @ A_27a ) @ V0f ) @ ( ap @ ( ap @ V0f @ ( inj__ty_2Enum_2Enum @ V2h ) ) @ V1a ) ) @ ( inj__ty_2Enum_2Enum @ V3t ) ) ) ) ) ) ).
thf(ax_thm_2Enumpair_2Enapp__def,axiom,
! [V0l1: tp__ty_2Enum_2Enum,V1l2: tp__ty_2Enum_2Enum] :
( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enapp @ ( inj__ty_2Enum_2Enum @ V0l1 ) ) @ ( inj__ty_2Enum_2Enum @ V1l2 ) ) )
= ( surj__ty_2Enum_2Enum
@ ( ap
@ ( ap @ ( ap @ ( c_2Enumpair_2Enlistrec @ ty_2Enum_2Enum ) @ ( inj__ty_2Enum_2Enum @ V1l2 ) )
@ ( lam @ ty_2Enum_2Enum
@ ^ [V2n: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V3t: $i] :
( lam @ ty_2Enum_2Enum
@ ^ [V4r: $i] : ( ap @ ( ap @ c_2Enumpair_2Encons @ V2n ) @ V4r ) ) ) ) )
@ ( inj__ty_2Enum_2Enum @ V0l1 ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enapp__thm,axiom,
! [V0nlist: tp__ty_2Enum_2Enum,V1h: tp__ty_2Enum_2Enum,V2t: tp__ty_2Enum_2Enum] :
( ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enapp @ ( inj__ty_2Enum_2Enum @ fo__c_2Enum_2E0 ) ) @ ( inj__ty_2Enum_2Enum @ V0nlist ) ) )
= V0nlist )
& ( ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Enapp @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V1h ) ) @ ( inj__ty_2Enum_2Enum @ V2t ) ) ) @ ( inj__ty_2Enum_2Enum @ V0nlist ) ) )
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V1h ) ) @ ( ap @ ( ap @ c_2Enumpair_2Enapp @ ( inj__ty_2Enum_2Enum @ V2t ) ) @ ( inj__ty_2Enum_2Enum @ V0nlist ) ) ) ) ) ) ).
thf(conj_thm_2Enumpair_2Enlist__cases,axiom,
! [V0n: tp__ty_2Enum_2Enum] :
( ( V0n = fo__c_2Enum_2E0 )
| ? [V1h: tp__ty_2Enum_2Enum,V2t: tp__ty_2Enum_2Enum] :
( V0n
= ( surj__ty_2Enum_2Enum @ ( ap @ ( ap @ c_2Enumpair_2Encons @ ( inj__ty_2Enum_2Enum @ V1h ) ) @ ( inj__ty_2Enum_2Enum @ V2t ) ) ) ) ) ).
%------------------------------------------------------------------------------