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 : 103 ( 47 unt; 28 typ; 0 def)
% Number of atoms : 1121 ( 68 equ)
% Maximal formula atoms : 9 ( 10 avg)
% Number of connectives : 58 ( 3 ~; 1 |; 13 &)
% ( 7 <=>; 34 =>; 0 <=; 0 <~>)
% Maximal formula depth : 13 ( 3 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of FOOLs : 991 ( 991 fml; 0 var)
% Number of types : 1 ( 0 usr)
% Number of type conns : 26 ( 16 >; 10 *; 0 +; 0 <<)
% Number of predicates : 32 ( 31 usr; 16 prp; 0-2 aty)
% Number of functors : 28 ( 28 usr; 12 con; 0-4 aty)
% Number of variables : 139 ( 135 !; 4 ?; 139 :)
% SPC : TF0_SAT_EQU_NAR
% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
tff(tp_c_2Enumpair_2Einvtri,type,
c_2Enumpair_2Einvtri: $i ).
tff(mem_c_2Enumpair_2Einvtri,axiom,
mem(c_2Enumpair_2Einvtri,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Enumpair_2Einvtri,type,
fo__c_2Enumpair_2Einvtri: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Einvtri0,type,
c_2Enumpair_2Einvtri0: $i ).
tff(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)))) ).
tff(tp_c_2Enumpair_2Enapp,type,
c_2Enumpair_2Enapp: $i ).
tff(mem_c_2Enumpair_2Enapp,axiom,
mem(c_2Enumpair_2Enapp,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(stp_fo_c_2Enumpair_2Enapp,type,
fo__c_2Enumpair_2Enapp: ( tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum ) > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Encons,type,
c_2Enumpair_2Encons: $i ).
tff(mem_c_2Enumpair_2Encons,axiom,
mem(c_2Enumpair_2Encons,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(stp_fo_c_2Enumpair_2Encons,type,
fo__c_2Enumpair_2Encons: ( tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum ) > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Enfoldl,type,
c_2Enumpair_2Enfoldl: del > $i ).
tff(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)))) ).
tff(tp_c_2Enumpair_2Enfst,type,
c_2Enumpair_2Enfst: $i ).
tff(mem_c_2Enumpair_2Enfst,axiom,
mem(c_2Enumpair_2Enfst,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Enumpair_2Enfst,type,
fo__c_2Enumpair_2Enfst: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Enlen,type,
c_2Enumpair_2Enlen: $i ).
tff(mem_c_2Enumpair_2Enlen,axiom,
mem(c_2Enumpair_2Enlen,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Enumpair_2Enlen,type,
fo__c_2Enumpair_2Enlen: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Enlistrec,type,
c_2Enumpair_2Enlistrec: del > $i ).
tff(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)))) ).
tff(tp_c_2Enumpair_2Enmap,type,
c_2Enumpair_2Enmap: $i ).
tff(mem_c_2Enumpair_2Enmap,axiom,
mem(c_2Enumpair_2Enmap,arr(arr(ty_2Enum_2Enum,ty_2Enum_2Enum),arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(tp_c_2Enumpair_2Enpair,type,
c_2Enumpair_2Enpair: $i ).
tff(mem_c_2Enumpair_2Enpair,axiom,
mem(c_2Enumpair_2Enpair,arr(ty_2Enum_2Enum,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))) ).
tff(stp_fo_c_2Enumpair_2Enpair,type,
fo__c_2Enumpair_2Enpair: ( tp__ty_2Enum_2Enum * tp__ty_2Enum_2Enum ) > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Ensnd,type,
c_2Enumpair_2Ensnd: $i ).
tff(mem_c_2Enumpair_2Ensnd,axiom,
mem(c_2Enumpair_2Ensnd,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Enumpair_2Ensnd,type,
fo__c_2Enumpair_2Ensnd: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(tp_c_2Enumpair_2Etri,type,
c_2Enumpair_2Etri: $i ).
tff(mem_c_2Enumpair_2Etri,axiom,
mem(c_2Enumpair_2Etri,arr(ty_2Enum_2Enum,ty_2Enum_2Enum)) ).
tff(stp_fo_c_2Enumpair_2Etri,type,
fo__c_2Enumpair_2Etri: tp__ty_2Enum_2Enum > tp__ty_2Enum_2Enum ).
tff(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)) ) ).
tff(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)))) ) ) ).
tff(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)))))) ) ) ).
tff(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)))))) ) ).
tff(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))))) ) ).
tff(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 ) ) ) ).
tff(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)))) ) ).
tff(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))) ) ).
tff(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 ) ) ).
tff(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))) ) ).
tff(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))) ) ) ).
tff(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))))))) ) ).
tff(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)))) ) ).
tff(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)))) ) ).
tff(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)))))) ).
tff(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))) ).
tff(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))))))) ).
tff(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 ) ).
tff(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 ) ) ).
tff(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 ) ) ).
tff(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)))) ).
tff(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))) ).
tff(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))) ) ).
tff(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))) ) ).
tff(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))))) ) ).
tff(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 ) ).
tff(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 ) ).
tff(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))) ) ).
tff(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 ) ).
tff(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 ) ) ) ).
tff(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))) ).
tff(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))) ).
tff(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))))) ) ).
tff(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 ) ) ) ).
tff(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 ) ).
tff(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))) ) ) ) ) ).
tff(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)))))))) ) ) ) ).
tff(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))) ) ) ) ) ).
tff(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))) ) ) ).
tff(lamtp_f241,type,
f241: $i ).
tff(lameq_f241,axiom,
! [V2r: tp__ty_2Enum_2Enum] : ( ap(f241,inj__ty_2Enum_2Enum(V2r)) = ap(ap(c_2Earithmetic_2E_2B,inj__ty_2Enum_2Enum(V2r)),ap(c_2Earithmetic_2ENUMERAL,ap(c_2Earithmetic_2EBIT1,inj__ty_2Enum_2Enum(fo__c_2Earithmetic_2EZERO)))) ) ).
tff(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)),k(ty_2Enum_2Enum,k(ty_2Enum_2Enum,f241))) ).
tff(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))))) ) ) ).
tff(lamtp_f242,type,
f242: ( $i * tp__ty_2Enum_2Enum ) > $i ).
tff(lameq_f242,axiom,
! [V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ! [V1n: tp__ty_2Enum_2Enum,V3r: tp__ty_2Enum_2Enum] : ( ap(f242(V0f,V1n),inj__ty_2Enum_2Enum(V3r)) = ap(ap(c_2Enumpair_2Encons,ap(V0f,inj__ty_2Enum_2Enum(V1n))),inj__ty_2Enum_2Enum(V3r)) ) ) ).
tff(lamtp_f243,type,
f243: $i > $i ).
tff(lameq_f243,axiom,
! [V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,ty_2Enum_2Enum))
=> ! [V1n: tp__ty_2Enum_2Enum] : ( ap(f243(V0f),inj__ty_2Enum_2Enum(V1n)) = k(ty_2Enum_2Enum,f242(V0f,V1n)) ) ) ).
tff(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)),f243(V0f)) ) ) ).
tff(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)))) ) ) ) ).
tff(lamtp_f244,type,
f244: ( del * $i * tp__ty_2Enum_2Enum * $i ) > $i ).
tff(lameq_f244,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
=> ! [V4n: tp__ty_2Enum_2Enum,V6r: $i] :
( mem(V6r,arr(A_27a,A_27a))
=> ! [V7a: $i] : ( ap(f244(A_27a,V0f,V4n,V6r),V7a) = ap(V6r,ap(ap(V0f,inj__ty_2Enum_2Enum(V4n)),V7a)) ) ) ) ).
tff(lamtp_f245,type,
f245: ( del * $i * tp__ty_2Enum_2Enum ) > $i ).
tff(lameq_f245,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
=> ! [V4n: tp__ty_2Enum_2Enum,V6r: $i] : ( ap(f245(A_27a,V0f,V4n),V6r) = f244(A_27a,V0f,V4n,V6r) ) ) ).
tff(lamtp_f246,type,
f246: ( del * $i ) > $i ).
tff(lameq_f246,axiom,
! [A_27a: del,V0f: $i] :
( mem(V0f,arr(ty_2Enum_2Enum,arr(A_27a,A_27a)))
=> ! [V4n: tp__ty_2Enum_2Enum] : ( ap(f246(A_27a,V0f),inj__ty_2Enum_2Enum(V4n)) = k(ty_2Enum_2Enum,f245(A_27a,V0f,V4n)) ) ) ).
tff(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)),i(A_27a)),f246(A_27a,V0f)),inj__ty_2Enum_2Enum(V2l)),V1a) ) ) ) ).
tff(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)) ) ) ) ) ).
tff(lamtp_f247,type,
f247: tp__ty_2Enum_2Enum > $i ).
tff(lameq_f247,axiom,
! [V2n: tp__ty_2Enum_2Enum,V4r: tp__ty_2Enum_2Enum] : ( ap(f247(V2n),inj__ty_2Enum_2Enum(V4r)) = ap(ap(c_2Enumpair_2Encons,inj__ty_2Enum_2Enum(V2n)),inj__ty_2Enum_2Enum(V4r)) ) ).
tff(lamtp_f248,type,
f248: $i ).
tff(lameq_f248,axiom,
! [V2n: tp__ty_2Enum_2Enum] : ( ap(f248,inj__ty_2Enum_2Enum(V2n)) = k(ty_2Enum_2Enum,f247(V2n)) ) ).
tff(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)),f248),inj__ty_2Enum_2Enum(V0l1))) ) ).
tff(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)))) ) ) ).
tff(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))) ) ) ).
%------------------------------------------------------------------------------