TPTP Axioms File: NUM007^0.ax

```%------------------------------------------------------------------------------
% File     : NUM007^0 : TPTP v8.1.0. Released v7.1.0.
% Domain   : Number Theory
% Axioms   : Grundlagen preliminaries
% Version  : [Bro17] axioms : Especial.
% English  :

% Refs     : [Bro17] Brown (2017), Email to G. Sutcliffe
% Source   : [Bro17]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :  283 ( 121 unt; 112 typ; 105 def)
%            Number of atoms       :  500 ( 135 equ;   0 cnn)
%            Maximal formula atoms :    8 (   1 avg)
%            Number of connectives : 1229 (   7   ~;   4   |;  14   &;1122   @)
%                                         (   3 <=>;  79  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   14 (   4 avg;1122 nst)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :  407 ( 407   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  114 ( 112 usr;   6 con; 0-7 aty)
%            Number of variables   :  506 ( 349   ^ 149   !;   8   ?; 506   :)
% SPC      :

%------------------------------------------------------------------------------
thf(typ_is_of,type,
is_of: \$i > ( \$i > \$o ) > \$o ).

thf(def_is_of,definition,
( is_of
= ( ^ [X0: \$i,X1: \$i > \$o] : ( X1 @ X0 ) ) ) ).

thf(typ_all_of,type,
all_of: ( \$i > \$o ) > ( \$i > \$o ) > \$o ).

thf(def_all_of,definition,
( all_of
= ( ^ [X0: \$i > \$o,X1: \$i > \$o] :
! [X2: \$i] :
( ( is_of @ X2 @ X0 )
=> ( X1 @ X2 ) ) ) ) ).

thf(typ_eps,type,
eps: ( \$i > \$o ) > \$i ).

thf(typ_in,type,
in: \$i > \$i > \$o ).

thf(typ_d_Subq,type,
d_Subq: \$i > \$i > \$o ).

thf(def_d_Subq,definition,
( d_Subq
= ( ^ [X0: \$i,X1: \$i] :
! [X2: \$i] :
( ( in @ X2 @ X0 )
=> ( in @ X2 @ X1 ) ) ) ) ).

thf(set_ext,axiom,
! [X0: \$i,X1: \$i] :
( ( d_Subq @ X0 @ X1 )
=> ( ( d_Subq @ X1 @ X0 )
=> ( X0 = X1 ) ) ) ).

thf(k_In_ind,axiom,
! [X0: \$i > \$o] :
( ! [X1: \$i] :
( ! [X2: \$i] :
( ( in @ X2 @ X1 )
=> ( X0 @ X2 ) )
=> ( X0 @ X1 ) )
=> ! [X1: \$i] : ( X0 @ X1 ) ) ).

thf(typ_emptyset,type,
emptyset: \$i ).

thf(k_EmptyAx,axiom,
~ ? [X0: \$i] : ( in @ X0 @ emptyset ) ).

thf(typ_union,type,
union: \$i > \$i ).

thf(k_UnionEq,axiom,
! [X0: \$i,X1: \$i] :
( ( in @ X1 @ ( union @ X0 ) )
<=> ? [X2: \$i] :
( ( in @ X1 @ X2 )
& ( in @ X2 @ X0 ) ) ) ).

thf(typ_power,type,
power: \$i > \$i ).

thf(k_PowerEq,axiom,
! [X0: \$i,X1: \$i] :
( ( in @ X1 @ ( power @ X0 ) )
<=> ( d_Subq @ X1 @ X0 ) ) ).

thf(typ_repl,type,
repl: \$i > ( \$i > \$i ) > \$i ).

thf(k_ReplEq,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( repl @ X0 @ X1 ) )
<=> ? [X3: \$i] :
( ( in @ X3 @ X0 )
& ( X2
= ( X1 @ X3 ) ) ) ) ).

thf(typ_d_Union_closed,type,
d_Union_closed: \$i > \$o ).

thf(def_d_Union_closed,definition,
( d_Union_closed
= ( ^ [X0: \$i] :
! [X1: \$i] :
( ( in @ X1 @ X0 )
=> ( in @ ( union @ X1 ) @ X0 ) ) ) ) ).

thf(typ_d_Power_closed,type,
d_Power_closed: \$i > \$o ).

thf(def_d_Power_closed,definition,
( d_Power_closed
= ( ^ [X0: \$i] :
! [X1: \$i] :
( ( in @ X1 @ X0 )
=> ( in @ ( power @ X1 ) @ X0 ) ) ) ) ).

thf(typ_d_Repl_closed,type,
d_Repl_closed: \$i > \$o ).

thf(def_d_Repl_closed,definition,
( d_Repl_closed
= ( ^ [X0: \$i] :
! [X1: \$i] :
( ( in @ X1 @ X0 )
=> ! [X2: \$i > \$i] :
( ! [X3: \$i] :
( ( in @ X3 @ X1 )
=> ( in @ ( X2 @ X3 ) @ X0 ) )
=> ( in @ ( repl @ X1 @ X2 ) @ X0 ) ) ) ) ) ).

thf(typ_d_ZF_closed,type,
d_ZF_closed: \$i > \$o ).

thf(def_d_ZF_closed,definition,
( d_ZF_closed
= ( ^ [X0: \$i] :
( ( d_Union_closed @ X0 )
& ( d_Power_closed @ X0 )
& ( d_Repl_closed @ X0 ) ) ) ) ).

thf(typ_univof,type,
univof: \$i > \$i ).

thf(k_UnivOf_In,axiom,
! [X0: \$i] : ( in @ X0 @ ( univof @ X0 ) ) ).

thf(k_UnivOf_ZF_closed,axiom,
! [X0: \$i] : ( d_ZF_closed @ ( univof @ X0 ) ) ).

thf(typ_if,type,
if: \$o > \$i > \$i > \$i ).

thf(def_if,definition,
( if
= ( ^ [X0: \$o,X1: \$i,X2: \$i] :
( eps
@ ^ [X3: \$i] :
( ( X0
& ( X3 = X1 ) )
| ( ~ X0
& ( X3 = X2 ) ) ) ) ) ) ).

thf(if_i_correct,axiom,
! [X0: \$o,X1: \$i,X2: \$i] :
( ( X0
& ( ( if @ X0 @ X1 @ X2 )
= X1 ) )
| ( ~ X0
& ( ( if @ X0 @ X1 @ X2 )
= X2 ) ) ) ).

thf(if_i_0,axiom,
! [X0: \$o,X1: \$i,X2: \$i] :
( ~ X0
=> ( ( if @ X0 @ X1 @ X2 )
= X2 ) ) ).

thf(if_i_1,axiom,
! [X0: \$o,X1: \$i,X2: \$i] :
( X0
=> ( ( if @ X0 @ X1 @ X2 )
= X1 ) ) ).

thf(if_i_or,axiom,
! [X0: \$o,X1: \$i,X2: \$i] :
( ( ( if @ X0 @ X1 @ X2 )
= X1 )
| ( ( if @ X0 @ X1 @ X2 )
= X2 ) ) ).

thf(typ_nIn,type,
nIn: \$i > \$i > \$o ).

thf(def_nIn,definition,
( nIn
= ( ^ [X0: \$i,X1: \$i] :
~ ( in @ X0 @ X1 ) ) ) ).

thf(k_PowerE,axiom,
! [X0: \$i,X1: \$i] :
( ( in @ X1 @ ( power @ X0 ) )
=> ( d_Subq @ X1 @ X0 ) ) ).

thf(k_PowerI,axiom,
! [X0: \$i,X1: \$i] :
( ( d_Subq @ X1 @ X0 )
=> ( in @ X1 @ ( power @ X0 ) ) ) ).

thf(k_Self_In_Power,axiom,
! [X0: \$i] : ( in @ X0 @ ( power @ X0 ) ) ).

thf(typ_d_UPair,type,
d_UPair: \$i > \$i > \$i ).

thf(def_d_UPair,definition,
( d_UPair
= ( ^ [X0: \$i,X1: \$i] :
( repl @ ( power @ ( power @ emptyset ) )
@ ^ [X2: \$i] : ( if @ ( in @ emptyset @ X2 ) @ X0 @ X1 ) ) ) ) ).

thf(typ_d_Sing,type,
d_Sing: \$i > \$i ).

thf(def_d_Sing,definition,
( d_Sing
= ( ^ [X0: \$i] : ( d_UPair @ X0 @ X0 ) ) ) ).

thf(typ_binunion,type,
binunion: \$i > \$i > \$i ).

thf(def_binunion,definition,
( binunion
= ( ^ [X0: \$i,X1: \$i] : ( union @ ( d_UPair @ X0 @ X1 ) ) ) ) ).

thf(typ_famunion,type,
famunion: \$i > ( \$i > \$i ) > \$i ).

thf(def_famunion,definition,
( famunion
= ( ^ [X0: \$i,X1: \$i > \$i] : ( union @ ( repl @ X0 @ X1 ) ) ) ) ).

thf(typ_d_Sep,type,
d_Sep: \$i > ( \$i > \$o ) > \$i ).

thf(def_d_Sep,definition,
( d_Sep
= ( ^ [X0: \$i,X1: \$i > \$o] :
( if
@ ? [X2: \$i] :
( ( in @ X2 @ X0 )
& ( X1 @ X2 ) )
@ ( repl @ X0
@ ^ [X2: \$i] :
( if @ ( X1 @ X2 ) @ X2
@ ( eps
@ ^ [X3: \$i] :
( ( in @ X3 @ X0 )
& ( X1 @ X3 ) ) ) ) )
@ emptyset ) ) ) ).

thf(k_SepI,axiom,
! [X0: \$i,X1: \$i > \$o,X2: \$i] :
( ( in @ X2 @ X0 )
=> ( ( X1 @ X2 )
=> ( in @ X2 @ ( d_Sep @ X0 @ X1 ) ) ) ) ).

thf(k_SepE1,axiom,
! [X0: \$i,X1: \$i > \$o,X2: \$i] :
( ( in @ X2 @ ( d_Sep @ X0 @ X1 ) )
=> ( in @ X2 @ X0 ) ) ).

thf(k_SepE2,axiom,
! [X0: \$i,X1: \$i > \$o,X2: \$i] :
( ( in @ X2 @ ( d_Sep @ X0 @ X1 ) )
=> ( X1 @ X2 ) ) ).

thf(typ_d_ReplSep,type,
d_ReplSep: \$i > ( \$i > \$o ) > ( \$i > \$i ) > \$i ).

thf(def_d_ReplSep,definition,
( d_ReplSep
= ( ^ [X0: \$i,X1: \$i > \$o] : ( repl @ ( d_Sep @ X0 @ X1 ) ) ) ) ).

thf(typ_setminus,type,
setminus: \$i > \$i > \$i ).

thf(def_setminus,definition,
( setminus
= ( ^ [X0: \$i,X1: \$i] :
( d_Sep @ X0
@ ^ [X2: \$i] : ( nIn @ X2 @ X1 ) ) ) ) ).

thf(typ_d_In_rec_G,type,
d_In_rec_G: ( \$i > ( \$i > \$i ) > \$i ) > \$i > \$i > \$o ).

thf(def_d_In_rec_G,definition,
( d_In_rec_G
= ( ^ [X0: \$i > ( \$i > \$i ) > \$i,X1: \$i,X2: \$i] :
! [X3: \$i > \$i > \$o] :
( ! [X4: \$i,X5: \$i > \$i] :
( ! [X6: \$i] :
( ( in @ X6 @ X4 )
=> ( X3 @ X6 @ ( X5 @ X6 ) ) )
=> ( X3 @ X4 @ ( X0 @ X4 @ X5 ) ) )
=> ( X3 @ X1 @ X2 ) ) ) ) ).

thf(typ_d_In_rec,type,
d_In_rec: ( \$i > ( \$i > \$i ) > \$i ) > \$i > \$i ).

thf(def_d_In_rec,definition,
( d_In_rec
= ( ^ [X0: \$i > ( \$i > \$i ) > \$i,X1: \$i] : ( eps @ ( d_In_rec_G @ X0 @ X1 ) ) ) ) ).

thf(typ_ordsucc,type,
ordsucc: \$i > \$i ).

thf(def_ordsucc,definition,
( ordsucc
= ( ^ [X0: \$i] : ( binunion @ X0 @ ( d_Sing @ X0 ) ) ) ) ).

thf(neq_ordsucc_0,axiom,
! [X0: \$i] :
( ( ordsucc @ X0 )
!= emptyset ) ).

thf(ordsucc_inj,axiom,
! [X0: \$i,X1: \$i] :
( ( ( ordsucc @ X0 )
= ( ordsucc @ X1 ) )
=> ( X0 = X1 ) ) ).

thf(k_In_0_1,axiom,
in @ emptyset @ ( ordsucc @ emptyset ) ).

thf(typ_nat_p,type,
nat_p: \$i > \$o ).

thf(def_nat_p,definition,
( nat_p
= ( ^ [X0: \$i] :
! [X1: \$i > \$o] :
( ( X1 @ emptyset )
=> ( ! [X2: \$i] :
( ( X1 @ X2 )
=> ( X1 @ ( ordsucc @ X2 ) ) )
=> ( X1 @ X0 ) ) ) ) ) ).

thf(nat_ordsucc,axiom,
! [X0: \$i] :
( ( nat_p @ X0 )
=> ( nat_p @ ( ordsucc @ X0 ) ) ) ).

thf(nat_1,axiom,
nat_p @ ( ordsucc @ emptyset ) ).

thf(nat_ind,axiom,
! [X0: \$i > \$o] :
( ( X0 @ emptyset )
=> ( ! [X1: \$i] :
( ( nat_p @ X1 )
=> ( ( X0 @ X1 )
=> ( X0 @ ( ordsucc @ X1 ) ) ) )
=> ! [X1: \$i] :
( ( nat_p @ X1 )
=> ( X0 @ X1 ) ) ) ) ).

thf(nat_inv,axiom,
! [X0: \$i] :
( ( nat_p @ X0 )
=> ( ( X0 = emptyset )
| ? [X1: \$i] :
( ( nat_p @ X1 )
& ( X0
= ( ordsucc @ X1 ) ) ) ) ) ).

thf(typ_omega,type,
omega: \$i ).

thf(def_omega,definition,
( omega
= ( d_Sep @ ( univof @ emptyset ) @ nat_p ) ) ).

thf(omega_nat_p,axiom,
! [X0: \$i] :
( ( in @ X0 @ omega )
=> ( nat_p @ X0 ) ) ).

thf(nat_p_omega,axiom,
! [X0: \$i] :
( ( nat_p @ X0 )
=> ( in @ X0 @ omega ) ) ).

thf(typ_d_Inj1,type,
d_Inj1: \$i > \$i ).

thf(def_d_Inj1,definition,
( d_Inj1
= ( d_In_rec
@ ^ [X0: \$i,X1: \$i > \$i] : ( binunion @ ( d_Sing @ emptyset ) @ ( repl @ X0 @ X1 ) ) ) ) ).

thf(typ_d_Inj0,type,
d_Inj0: \$i > \$i ).

thf(def_d_Inj0,definition,
( d_Inj0
= ( ^ [X0: \$i] : ( repl @ X0 @ d_Inj1 ) ) ) ).

thf(typ_d_Unj,type,
d_Unj: \$i > \$i ).

thf(def_d_Unj,definition,
( d_Unj
= ( d_In_rec
@ ^ [X0: \$i] : ( repl @ ( setminus @ X0 @ ( d_Sing @ emptyset ) ) ) ) ) ).

thf(typ_pair,type,
pair: \$i > \$i > \$i ).

thf(def_pair,definition,
( pair
= ( ^ [X0: \$i,X1: \$i] : ( binunion @ ( repl @ X0 @ d_Inj0 ) @ ( repl @ X1 @ d_Inj1 ) ) ) ) ).

thf(typ_proj0,type,
proj0: \$i > \$i ).

thf(def_proj0,definition,
( proj0
= ( ^ [X0: \$i] :
( d_ReplSep @ X0
@ ^ [X1: \$i] :
? [X2: \$i] :
( ( d_Inj0 @ X2 )
= X1 )
@ d_Unj ) ) ) ).

thf(typ_proj1,type,
proj1: \$i > \$i ).

thf(def_proj1,definition,
( proj1
= ( ^ [X0: \$i] :
( d_ReplSep @ X0
@ ^ [X1: \$i] :
? [X2: \$i] :
( ( d_Inj1 @ X2 )
= X1 )
@ d_Unj ) ) ) ).

thf(proj0_pair_eq,axiom,
! [X0: \$i,X1: \$i] :
( ( proj0 @ ( pair @ X0 @ X1 ) )
= X0 ) ).

thf(proj1_pair_eq,axiom,
! [X0: \$i,X1: \$i] :
( ( proj1 @ ( pair @ X0 @ X1 ) )
= X1 ) ).

thf(typ_d_Sigma,type,
d_Sigma: \$i > ( \$i > \$i ) > \$i ).

thf(def_d_Sigma,definition,
( d_Sigma
= ( ^ [X0: \$i,X1: \$i > \$i] :
( famunion @ X0
@ ^ [X2: \$i] : ( repl @ ( X1 @ X2 ) @ ( pair @ X2 ) ) ) ) ) ).

thf(pair_Sigma,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ X0 )
=> ! [X3: \$i] :
( ( in @ X3 @ ( X1 @ X2 ) )
=> ( in @ ( pair @ X2 @ X3 ) @ ( d_Sigma @ X0 @ X1 ) ) ) ) ).

thf(k_Sigma_eta_proj0_proj1,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( d_Sigma @ X0 @ X1 ) )
=> ( ( ( pair @ ( proj0 @ X2 ) @ ( proj1 @ X2 ) )
= X2 )
& ( in @ ( proj0 @ X2 ) @ X0 )
& ( in @ ( proj1 @ X2 ) @ ( X1 @ ( proj0 @ X2 ) ) ) ) ) ).

thf(proj_Sigma_eta,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( d_Sigma @ X0 @ X1 ) )
=> ( ( pair @ ( proj0 @ X2 ) @ ( proj1 @ X2 ) )
= X2 ) ) ).

thf(proj0_Sigma,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( d_Sigma @ X0 @ X1 ) )
=> ( in @ ( proj0 @ X2 ) @ X0 ) ) ).

thf(proj1_Sigma,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( d_Sigma @ X0 @ X1 ) )
=> ( in @ ( proj1 @ X2 ) @ ( X1 @ ( proj0 @ X2 ) ) ) ) ).

thf(typ_setprod,type,
setprod: \$i > \$i > \$i ).

thf(def_setprod,definition,
( setprod
= ( ^ [X0: \$i,X1: \$i] :
( d_Sigma @ X0
@ ^ [X2: \$i] : X1 ) ) ) ).

thf(typ_ap,type,
ap: \$i > \$i > \$i ).

thf(def_ap,definition,
( ap
= ( ^ [X0: \$i,X1: \$i] :
( d_ReplSep @ X0
@ ^ [X2: \$i] :
? [X3: \$i] :
( X2
= ( pair @ X1 @ X3 ) )
@ proj1 ) ) ) ).

thf(beta,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ X0 )
=> ( ( ap @ ( d_Sigma @ X0 @ X1 ) @ X2 )
= ( X1 @ X2 ) ) ) ).

thf(typ_pair_p,type,
pair_p: \$i > \$o ).

thf(def_pair_p,definition,
( pair_p
= ( ^ [X0: \$i] :
( ( pair @ ( ap @ X0 @ emptyset ) @ ( ap @ X0 @ ( ordsucc @ emptyset ) ) )
= X0 ) ) ) ).

thf(typ_d_Pi,type,
d_Pi: \$i > ( \$i > \$i ) > \$i ).

thf(def_d_Pi,definition,
( d_Pi
= ( ^ [X0: \$i,X1: \$i > \$i] :
( d_Sep
@ ( power
@ ( d_Sigma @ X0
@ ^ [X2: \$i] : ( union @ ( X1 @ X2 ) ) ) )
@ ^ [X2: \$i] :
! [X3: \$i] :
( ( in @ X3 @ X0 )
=> ( in @ ( ap @ X2 @ X3 ) @ ( X1 @ X3 ) ) ) ) ) ) ).

thf(lam_Pi,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i > \$i] :
( ! [X3: \$i] :
( ( in @ X3 @ X0 )
=> ( in @ ( X2 @ X3 ) @ ( X1 @ X3 ) ) )
=> ( in @ ( d_Sigma @ X0 @ X2 ) @ ( d_Pi @ X0 @ X1 ) ) ) ).

thf(ap_Pi,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i,X3: \$i] :
( ( in @ X2 @ ( d_Pi @ X0 @ X1 ) )
=> ( ( in @ X3 @ X0 )
=> ( in @ ( ap @ X2 @ X3 ) @ ( X1 @ X3 ) ) ) ) ).

thf(k_Pi_ext,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i] :
( ( in @ X2 @ ( d_Pi @ X0 @ X1 ) )
=> ! [X3: \$i] :
( ( in @ X3 @ ( d_Pi @ X0 @ X1 ) )
=> ( ! [X4: \$i] :
( ( in @ X4 @ X0 )
=> ( ( ap @ X2 @ X4 )
= ( ap @ X3 @ X4 ) ) )
=> ( X2 = X3 ) ) ) ) ).

thf(xi_ext,axiom,
! [X0: \$i,X1: \$i > \$i,X2: \$i > \$i] :
( ! [X3: \$i] :
( ( in @ X3 @ X0 )
=> ( ( X1 @ X3 )
= ( X2 @ X3 ) ) )
=> ( ( d_Sigma @ X0 @ X1 )
= ( d_Sigma @ X0 @ X2 ) ) ) ).

thf(k_If_In_01,axiom,
! [X0: \$o,X1: \$i,X2: \$i] :
( ( X0
=> ( in @ X1 @ X2 ) )
=> ( in @ ( if @ X0 @ X1 @ emptyset ) @ ( if @ X0 @ X2 @ ( ordsucc @ emptyset ) ) ) ) ).

thf(k_If_In_then_E,axiom,
! [X0: \$o,X1: \$i,X2: \$i,X3: \$i] :
( X0
=> ( ( in @ X1 @ ( if @ X0 @ X2 @ X3 ) )
=> ( in @ X1 @ X2 ) ) ) ).

thf(typ_imp,type,
imp: \$o > \$o > \$o ).

thf(def_imp,definition,
( imp
= ( ^ [X0: \$o,X1: \$o] :
( X0
=> X1 ) ) ) ).

thf(typ_d_not,type,
d_not: \$o > \$o ).

thf(def_d_not,definition,
( d_not
= ( ^ [X0: \$o] : ( imp @ X0 @ \$false ) ) ) ).

thf(typ_wel,type,
wel: \$o > \$o ).

thf(def_wel,definition,
( wel
= ( ^ [X0: \$o] : ( d_not @ ( d_not @ X0 ) ) ) ) ).

thf(l_et,axiom,
! [X0: \$o] :
( ( wel @ X0 )
=> X0 ) ).

thf(typ_obvious,type,
obvious: \$o ).

thf(def_obvious,definition,
( obvious
= ( imp @ \$false @ \$false ) ) ).

thf(typ_l_ec,type,
l_ec: \$o > \$o > \$o ).

thf(def_l_ec,definition,
( l_ec
= ( ^ [X0: \$o,X1: \$o] : ( imp @ X0 @ ( d_not @ X1 ) ) ) ) ).

thf(typ_d_and,type,
d_and: \$o > \$o > \$o ).

thf(def_d_and,definition,
( d_and
= ( ^ [X0: \$o,X1: \$o] : ( d_not @ ( l_ec @ X0 @ X1 ) ) ) ) ).

thf(typ_l_or,type,
l_or: \$o > \$o > \$o ).

thf(def_l_or,definition,
( l_or
= ( ^ [X0: \$o] : ( imp @ ( d_not @ X0 ) ) ) ) ).

thf(typ_orec,type,
orec: \$o > \$o > \$o ).

thf(def_orec,definition,
( orec
= ( ^ [X0: \$o,X1: \$o] : ( d_and @ ( l_or @ X0 @ X1 ) @ ( l_ec @ X0 @ X1 ) ) ) ) ).

thf(typ_l_iff,type,
l_iff: \$o > \$o > \$o ).

thf(def_l_iff,definition,
( l_iff
= ( ^ [X0: \$o,X1: \$o] : ( d_and @ ( imp @ X0 @ X1 ) @ ( imp @ X1 @ X0 ) ) ) ) ).

thf(typ_all,type,
all: \$i > ( \$i > \$o ) > \$o ).

thf(def_all,definition,
( all
= ( ^ [X0: \$i] :
( all_of
@ ^ [X1: \$i] : ( in @ X1 @ X0 ) ) ) ) ).

thf(typ_non,type,
non: \$i > ( \$i > \$o ) > \$i > \$o ).

thf(def_non,definition,
( non
= ( ^ [X0: \$i,X1: \$i > \$o,X2: \$i] : ( d_not @ ( X1 @ X2 ) ) ) ) ).

thf(typ_l_some,type,
l_some: \$i > ( \$i > \$o ) > \$o ).

thf(def_l_some,definition,
( l_some
= ( ^ [X0: \$i,X1: \$i > \$o] :
( d_not
@ ( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ( non @ X0 @ X1 ) ) ) ) ) ).

thf(typ_or3,type,
or3: \$o > \$o > \$o > \$o ).

thf(def_or3,definition,
( or3
= ( ^ [X0: \$o,X1: \$o,X2: \$o] : ( l_or @ X0 @ ( l_or @ X1 @ X2 ) ) ) ) ).

thf(typ_and3,type,
and3: \$o > \$o > \$o > \$o ).

thf(def_and3,definition,
( and3
= ( ^ [X0: \$o,X1: \$o,X2: \$o] : ( d_and @ X0 @ ( d_and @ X1 @ X2 ) ) ) ) ).

thf(typ_ec3,type,
ec3: \$o > \$o > \$o > \$o ).

thf(def_ec3,definition,
( ec3
= ( ^ [X0: \$o,X1: \$o,X2: \$o] : ( and3 @ ( l_ec @ X0 @ X1 ) @ ( l_ec @ X1 @ X2 ) @ ( l_ec @ X2 @ X0 ) ) ) ) ).

thf(typ_orec3,type,
orec3: \$o > \$o > \$o > \$o ).

thf(def_orec3,definition,
( orec3
= ( ^ [X0: \$o,X1: \$o,X2: \$o] : ( d_and @ ( or3 @ X0 @ X1 @ X2 ) @ ( ec3 @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_e_is,type,
e_is: \$i > \$i > \$i > \$o ).

thf(def_e_is,definition,
( e_is
= ( ^ [X0: \$i,X: \$i,Y: \$i] : ( X = Y ) ) ) ).

thf(refis,axiom,
! [X0: \$i] :
( all_of
@ ^ [X1: \$i] : ( in @ X1 @ X0 )
@ ^ [X1: \$i] : ( e_is @ X0 @ X1 @ X1 ) ) ).

thf(e_isp,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] : ( in @ X3 @ X0 )
@ ^ [X3: \$i] :
( ( X1 @ X2 )
=> ( ( e_is @ X0 @ X2 @ X3 )
=> ( X1 @ X3 ) ) ) ) ) ).

thf(typ_amone,type,
amone: \$i > ( \$i > \$o ) > \$o ).

thf(def_amone,definition,
( amone
= ( ^ [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] : ( in @ X3 @ X0 )
@ ^ [X3: \$i] :
( ( X1 @ X2 )
=> ( ( X1 @ X3 )
=> ( e_is @ X0 @ X2 @ X3 ) ) ) ) ) ) ) ).

thf(typ_one,type,
one: \$i > ( \$i > \$o ) > \$o ).

thf(def_one,definition,
( one
= ( ^ [X0: \$i,X1: \$i > \$o] : ( d_and @ ( amone @ X0 @ X1 ) @ ( l_some @ X0 @ X1 ) ) ) ) ).

thf(typ_ind,type,
ind: \$i > ( \$i > \$o ) > \$i ).

thf(def_ind,definition,
( ind
= ( ^ [X0: \$i,X1: \$i > \$o] :
( eps
@ ^ [X2: \$i] :
( ( in @ X2 @ X0 )
& ( X1 @ X2 ) ) ) ) ) ).

thf(ind_p,axiom,
! [X0: \$i,X1: \$i > \$o] :
( ( one @ X0 @ X1 )
=> ( is_of @ ( ind @ X0 @ X1 )
@ ^ [X2: \$i] : ( in @ X2 @ X0 ) ) ) ).

thf(oneax,axiom,
! [X0: \$i,X1: \$i > \$o] :
( ( one @ X0 @ X1 )
=> ( X1 @ ( ind @ X0 @ X1 ) ) ) ).

thf(typ_injective,type,
injective: \$i > \$i > \$i > \$o ).

thf(def_injective,definition,
( injective
= ( ^ [X0: \$i,X1: \$i,X2: \$i] :
( all @ X0
@ ^ [X3: \$i] :
( all @ X0
@ ^ [X4: \$i] : ( imp @ ( e_is @ X1 @ ( ap @ X2 @ X3 ) @ ( ap @ X2 @ X4 ) ) @ ( e_is @ X0 @ X3 @ X4 ) ) ) ) ) ) ).

thf(typ_image,type,
image: \$i > \$i > \$i > \$i > \$o ).

thf(def_image,definition,
( image
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i] :
( l_some @ X0
@ ^ [X4: \$i] : ( e_is @ X1 @ X3 @ ( ap @ X2 @ X4 ) ) ) ) ) ).

thf(typ_tofs,type,
tofs: \$i > \$i > \$i > \$i > \$i ).

thf(def_tofs,definition,
( tofs
= ( ^ [X0: \$i,X1: \$i] : ap ) ) ).

thf(typ_soft,type,
soft: \$i > \$i > \$i > \$i > \$i ).

thf(def_soft,definition,
( soft
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i] :
( ind @ X0
@ ^ [X4: \$i] : ( e_is @ X1 @ X3 @ ( ap @ X2 @ X4 ) ) ) ) ) ).

thf(typ_inverse,type,
inverse: \$i > \$i > \$i > \$i ).

thf(def_inverse,definition,
( inverse
= ( ^ [X0: \$i,X1: \$i,X2: \$i] :
( d_Sigma @ X1
@ ^ [X3: \$i] : ( if @ ( image @ X0 @ X1 @ X2 @ X3 ) @ ( soft @ X0 @ X1 @ X2 @ X3 ) @ emptyset ) ) ) ) ).

thf(typ_surjective,type,
surjective: \$i > \$i > \$i > \$o ).

thf(def_surjective,definition,
( surjective
= ( ^ [X0: \$i,X1: \$i,X2: \$i] : ( all @ X1 @ ( image @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_bijective,type,
bijective: \$i > \$i > \$i > \$o ).

thf(def_bijective,definition,
( bijective
= ( ^ [X0: \$i,X1: \$i,X2: \$i] : ( d_and @ ( injective @ X0 @ X1 @ X2 ) @ ( surjective @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_invf,type,
invf: \$i > \$i > \$i > \$i ).

thf(def_invf,definition,
( invf
= ( ^ [X0: \$i,X1: \$i,X2: \$i] : ( d_Sigma @ X1 @ ( soft @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_inj_h,type,
inj_h: \$i > \$i > \$i > \$i > \$i > \$i ).

thf(def_inj_h,definition,
( inj_h
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i,X4: \$i] :
( d_Sigma @ X0
@ ^ [X5: \$i] : ( ap @ X4 @ ( ap @ X3 @ X5 ) ) ) ) ) ).

thf(e_fisi,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] :
( in @ X2
@ ( d_Pi @ X0
@ ^ [X3: \$i] : X1 ) )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] :
( in @ X3
@ ( d_Pi @ X0
@ ^ [X4: \$i] : X1 ) )
@ ^ [X3: \$i] :
( ( all_of
@ ^ [X4: \$i] : ( in @ X4 @ X0 )
@ ^ [X4: \$i] : ( e_is @ X1 @ ( ap @ X2 @ X4 ) @ ( ap @ X3 @ X4 ) ) )
=> ( e_is
@ ( d_Pi @ X0
@ ^ [X4: \$i] : X1 )
@ X2
@ X3 ) ) ) ) ).

thf(typ_e_in,type,
e_in: \$i > ( \$i > \$o ) > \$i > \$i ).

thf(def_e_in,definition,
( e_in
= ( ^ [X0: \$i,X1: \$i > \$o,X2: \$i] : X2 ) ) ).

thf(e_in_p,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( d_Sep @ X0 @ X1 ) )
@ ^ [X2: \$i] :
( is_of @ ( e_in @ X0 @ X1 @ X2 )
@ ^ [X3: \$i] : ( in @ X3 @ X0 ) ) ) ).

thf(e_inp,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( d_Sep @ X0 @ X1 ) )
@ ^ [X2: \$i] : ( X1 @ ( e_in @ X0 @ X1 @ X2 ) ) ) ).

thf(otax1,axiom,
! [X0: \$i,X1: \$i > \$o] : ( injective @ ( d_Sep @ X0 @ X1 ) @ X0 @ ( d_Sigma @ ( d_Sep @ X0 @ X1 ) @ ( e_in @ X0 @ X1 ) ) ) ).

thf(otax2,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( ( X1 @ X2 )
=> ( image @ ( d_Sep @ X0 @ X1 ) @ X0 @ ( d_Sigma @ ( d_Sep @ X0 @ X1 ) @ ( e_in @ X0 @ X1 ) ) @ X2 ) ) ) ).

thf(typ_out,type,
out: \$i > ( \$i > \$o ) > \$i > \$i ).

thf(def_out,definition,
( out
= ( ^ [X0: \$i,X1: \$i > \$o] : ( soft @ ( d_Sep @ X0 @ X1 ) @ X0 @ ( d_Sigma @ ( d_Sep @ X0 @ X1 ) @ ( e_in @ X0 @ X1 ) ) ) ) ) ).

thf(typ_d_pair,type,
d_pair: \$i > \$i > \$i > \$i > \$i ).

thf(def_d_pair,definition,
( d_pair
= ( ^ [X0: \$i,X1: \$i] : pair ) ) ).

thf(e_pair_p,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] : ( in @ X3 @ X1 )
@ ^ [X3: \$i] :
( is_of @ ( d_pair @ X0 @ X1 @ X2 @ X3 )
@ ^ [X4: \$i] : ( in @ X4 @ ( setprod @ X0 @ X1 ) ) ) ) ) ).

thf(typ_first,type,
first: \$i > \$i > \$i > \$i ).

thf(def_first,definition,
( first
= ( ^ [X0: \$i,X1: \$i] : proj0 ) ) ).

thf(first_p,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( setprod @ X0 @ X1 ) )
@ ^ [X2: \$i] :
( is_of @ ( first @ X0 @ X1 @ X2 )
@ ^ [X3: \$i] : ( in @ X3 @ X0 ) ) ) ).

thf(typ_second,type,
second: \$i > \$i > \$i > \$i ).

thf(def_second,definition,
( second
= ( ^ [X0: \$i,X1: \$i] : proj1 ) ) ).

thf(second_p,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( setprod @ X0 @ X1 ) )
@ ^ [X2: \$i] :
( is_of @ ( second @ X0 @ X1 @ X2 )
@ ^ [X3: \$i] : ( in @ X3 @ X1 ) ) ) ).

thf(pairis1,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( setprod @ X0 @ X1 ) )
@ ^ [X2: \$i] : ( e_is @ ( setprod @ X0 @ X1 ) @ ( d_pair @ X0 @ X1 @ ( first @ X0 @ X1 @ X2 ) @ ( second @ X0 @ X1 @ X2 ) ) @ X2 ) ) ).

thf(firstis1,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] : ( in @ X3 @ X1 )
@ ^ [X3: \$i] : ( e_is @ X0 @ ( first @ X0 @ X1 @ ( d_pair @ X0 @ X1 @ X2 @ X3 ) ) @ X2 ) ) ) ).

thf(secondis1,axiom,
! [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( all_of
@ ^ [X3: \$i] : ( in @ X3 @ X1 )
@ ^ [X3: \$i] : ( e_is @ X1 @ ( second @ X0 @ X1 @ ( d_pair @ X0 @ X1 @ X2 @ X3 ) ) @ X3 ) ) ) ).

thf(typ_prop1,type,
prop1: \$o > \$i > \$i > \$i > \$i > \$o ).

thf(def_prop1,definition,
( prop1
= ( ^ [X0: \$o,X1: \$i,X2: \$i,X3: \$i,X4: \$i] : ( d_and @ ( imp @ X0 @ ( e_is @ X1 @ X4 @ X2 ) ) @ ( imp @ ( d_not @ X0 ) @ ( e_is @ X1 @ X4 @ X3 ) ) ) ) ) ).

thf(typ_ite,type,
ite: \$o > \$i > \$i > \$i > \$i ).

thf(def_ite,definition,
( ite
= ( ^ [X0: \$o,X1: \$i,X2: \$i,X3: \$i] : ( ind @ X1 @ ( prop1 @ X0 @ X1 @ X2 @ X3 ) ) ) ) ).

thf(typ_wissel_wa,type,
wissel_wa: \$i > \$i > \$i > \$i > \$i ).

thf(def_wissel_wa,definition,
( wissel_wa
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i] : ( ite @ ( e_is @ X0 @ X3 @ X1 ) @ X0 @ X2 @ X3 ) ) ) ).

thf(typ_wissel_wb,type,
wissel_wb: \$i > \$i > \$i > \$i > \$i ).

thf(def_wissel_wb,definition,
( wissel_wb
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i] : ( ite @ ( e_is @ X0 @ X3 @ X2 ) @ X0 @ X1 @ ( wissel_wa @ X0 @ X1 @ X2 @ X3 ) ) ) ) ).

thf(typ_wissel,type,
wissel: \$i > \$i > \$i > \$i ).

thf(def_wissel,definition,
( wissel
= ( ^ [X0: \$i,X1: \$i,X2: \$i] : ( d_Sigma @ X0 @ ( wissel_wb @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_changef,type,
changef: \$i > \$i > \$i > \$i > \$i > \$i ).

thf(def_changef,definition,
( changef
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i,X4: \$i] :
( d_Sigma @ X0
@ ^ [X5: \$i] : ( ap @ X2 @ ( ap @ ( wissel @ X0 @ X3 @ X4 ) @ X5 ) ) ) ) ) ).

thf(typ_r_ec,type,
r_ec: \$o > \$o > \$o ).

thf(def_r_ec,definition,
( r_ec
= ( ^ [X0: \$o,X1: \$o] :
( X0
=> ( d_not @ X1 ) ) ) ) ).

thf(typ_esti,type,
esti: \$i > \$i > \$i > \$o ).

thf(def_esti,definition,
( esti
= ( ^ [X0: \$i] : in ) ) ).

thf(setof_p,axiom,
! [X0: \$i,X1: \$i > \$o] :
( is_of @ ( d_Sep @ X0 @ X1 )
@ ^ [X2: \$i] : ( in @ X2 @ ( power @ X0 ) ) ) ).

thf(estii,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( ( X1 @ X2 )
=> ( esti @ X0 @ X2 @ ( d_Sep @ X0 @ X1 ) ) ) ) ).

thf(estie,axiom,
! [X0: \$i,X1: \$i > \$o] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ^ [X2: \$i] :
( ( esti @ X0 @ X2 @ ( d_Sep @ X0 @ X1 ) )
=> ( X1 @ X2 ) ) ) ).

thf(typ_empty,type,
empty: \$i > \$i > \$o ).

thf(def_empty,definition,
( empty
= ( ^ [X0: \$i,X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ X0 )
@ ( non @ X0
@ ^ [X2: \$i] : ( esti @ X0 @ X2 @ X1 ) ) ) ) ) ).

thf(typ_nonempty,type,
nonempty: \$i > \$i > \$o ).

thf(def_nonempty,definition,
( nonempty
= ( ^ [X0: \$i,X1: \$i] :
( l_some @ X0
@ ^ [X2: \$i] : ( esti @ X0 @ X2 @ X1 ) ) ) ) ).

thf(typ_incl,type,
incl: \$i > \$i > \$i > \$o ).

thf(def_incl,definition,
( incl
= ( ^ [X0: \$i,X1: \$i,X2: \$i] :
( all @ X0
@ ^ [X3: \$i] : ( imp @ ( esti @ X0 @ X3 @ X1 ) @ ( esti @ X0 @ X3 @ X2 ) ) ) ) ) ).

thf(typ_st_disj,type,
st_disj: \$i > \$i > \$i > \$o ).

thf(def_st_disj,definition,
( st_disj
= ( ^ [X0: \$i,X1: \$i,X2: \$i] :
( all @ X0
@ ^ [X3: \$i] : ( l_ec @ ( esti @ X0 @ X3 @ X1 ) @ ( esti @ X0 @ X3 @ X2 ) ) ) ) ) ).

thf(isseti,axiom,
! [X0: \$i] :
( all_of
@ ^ [X1: \$i] : ( in @ X1 @ ( power @ X0 ) )
@ ^ [X1: \$i] :
( all_of
@ ^ [X2: \$i] : ( in @ X2 @ ( power @ X0 ) )
@ ^ [X2: \$i] :
( ( incl @ X0 @ X1 @ X2 )
=> ( ( incl @ X0 @ X2 @ X1 )
=> ( e_is @ ( power @ X0 ) @ X1 @ X2 ) ) ) ) ) ).

thf(typ_nissetprop,type,
nissetprop: \$i > \$i > \$i > \$i > \$o ).

thf(def_nissetprop,definition,
( nissetprop
= ( ^ [X0: \$i,X1: \$i,X2: \$i,X3: \$i] : ( d_and @ ( esti @ X0 @ X3 @ X1 ) @ ( d_not @ ( esti @ X0 @ X3 @ X2 ) ) ) ) ) ).

thf(typ_unmore,type,
unmore: \$i > \$i > \$i > \$i ).

thf(def_unmore,definition,
( unmore
= ( ^ [X0: \$i,X1: \$i,X2: \$i] :
( d_Sep @ X0
@ ^ [X3: \$i] :
( l_some @ X1
@ ^ [X4: \$i] : ( esti @ X0 @ X3 @ ( ap @ X2 @ X4 ) ) ) ) ) ) ).

thf(typ_ecelt,type,
ecelt: \$i > ( \$i > \$i > \$o ) > \$i > \$i ).

thf(def_ecelt,definition,
( ecelt
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i] : ( d_Sep @ X0 @ ( X1 @ X2 ) ) ) ) ).

thf(typ_ecp,type,
ecp: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$o ).

thf(def_ecp,definition,
( ecp
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i] : ( e_is @ ( power @ X0 ) @ X2 @ ( ecelt @ X0 @ X1 @ X3 ) ) ) ) ).

thf(typ_anec,type,
anec: \$i > ( \$i > \$i > \$o ) > \$i > \$o ).

thf(def_anec,definition,
( anec
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i] : ( l_some @ X0 @ ( ecp @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_ect,type,
ect: \$i > ( \$i > \$i > \$o ) > \$i ).

thf(def_ect,definition,
( ect
= ( ^ [X0: \$i,X1: \$i > \$i > \$o] : ( d_Sep @ ( power @ X0 ) @ ( anec @ X0 @ X1 ) ) ) ) ).

thf(typ_ectset,type,
ectset: \$i > ( \$i > \$i > \$o ) > \$i > \$i ).

thf(def_ectset,definition,
( ectset
= ( ^ [X0: \$i,X1: \$i > \$i > \$o] : ( out @ ( power @ X0 ) @ ( anec @ X0 @ X1 ) ) ) ) ).

thf(typ_ectelt,type,
ectelt: \$i > ( \$i > \$i > \$o ) > \$i > \$i ).

thf(def_ectelt,definition,
( ectelt
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i] : ( ectset @ X0 @ X1 @ ( ecelt @ X0 @ X1 @ X2 ) ) ) ) ).

thf(typ_ecect,type,
ecect: \$i > ( \$i > \$i > \$o ) > \$i > \$i ).

thf(def_ecect,definition,
( ecect
= ( ^ [X0: \$i,X1: \$i > \$i > \$o] : ( e_in @ ( power @ X0 ) @ ( anec @ X0 @ X1 ) ) ) ) ).

thf(typ_fixfu,type,
fixfu: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$o ).

thf(def_fixfu,definition,
( fixfu
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i] :
( all_of
@ ^ [X4: \$i] : ( in @ X4 @ X0 )
@ ^ [X4: \$i] :
( all_of
@ ^ [X5: \$i] : ( in @ X5 @ X0 )
@ ^ [X5: \$i] :
( ( X1 @ X4 @ X5 )
=> ( e_is @ X2 @ ( ap @ X3 @ X4 ) @ ( ap @ X3 @ X5 ) ) ) ) ) ) ) ).

thf(typ_d_10_prop1,type,
d_10_prop1: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$i > \$i > \$i > \$o ).

thf(def_d_10_prop1,definition,
( d_10_prop1
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i,X4: \$i,X5: \$i,X6: \$i] : ( d_and @ ( esti @ X0 @ X6 @ ( ecect @ X0 @ X1 @ X4 ) ) @ ( e_is @ X2 @ ( ap @ X3 @ X6 ) @ X5 ) ) ) ) ).

thf(typ_prop2,type,
prop2: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$i > \$i > \$o ).

thf(def_prop2,definition,
( prop2
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i,X4: \$i,X5: \$i] : ( l_some @ X0 @ ( d_10_prop1 @ X0 @ X1 @ X2 @ X3 @ X4 @ X5 ) ) ) ) ).

thf(typ_indeq,type,
indeq: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$i > \$i ).

thf(def_indeq,definition,
( indeq
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i,X4: \$i] : ( ind @ X2 @ ( prop2 @ X0 @ X1 @ X2 @ X3 @ X4 ) ) ) ) ).

thf(typ_fixfu2,type,
fixfu2: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$o ).

thf(def_fixfu2,definition,
( fixfu2
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i] :
( all_of
@ ^ [X4: \$i] : ( in @ X4 @ X0 )
@ ^ [X4: \$i] :
( all_of
@ ^ [X5: \$i] : ( in @ X5 @ X0 )
@ ^ [X5: \$i] :
( all_of
@ ^ [X6: \$i] : ( in @ X6 @ X0 )
@ ^ [X6: \$i] :
( all_of
@ ^ [X7: \$i] : ( in @ X7 @ X0 )
@ ^ [X7: \$i] :
( ( X1 @ X4 @ X5 )
=> ( ( X1 @ X6 @ X7 )
=> ( e_is @ X2 @ ( ap @ ( ap @ X3 @ X4 ) @ X6 ) @ ( ap @ ( ap @ X3 @ X5 ) @ X7 ) ) ) ) ) ) ) ) ) ) ).

thf(typ_d_11_i,type,
d_11_i: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$i > \$i ).

thf(def_d_11_i,definition,
( d_11_i
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i] :
( indeq @ X0 @ X1
@ ( d_Pi @ X0
@ ^ [X3: \$i] : X2 ) ) ) ) ).

thf(typ_indeq2,type,
indeq2: \$i > ( \$i > \$i > \$o ) > \$i > \$i > \$i > \$i > \$i ).

thf(def_indeq2,definition,
( indeq2
= ( ^ [X0: \$i,X1: \$i > \$i > \$o,X2: \$i,X3: \$i,X4: \$i] : ( indeq @ X0 @ X1 @ X2 @ ( d_11_i @ X0 @ X1 @ X2 @ X3 @ X4 ) ) ) ) ).

thf(typ_nat,type,
nat: \$i ).

thf(def_nat,definition,
( nat
= ( d_Sep @ omega
@ ^ [X0: \$i] : ( X0 != emptyset ) ) ) ).

thf(typ_n_is,type,
n_is: \$i > \$i > \$o ).

thf(def_n_is,definition,
( n_is
= ( e_is @ nat ) ) ).

thf(typ_nis,type,
nis: \$i > \$i > \$o ).

thf(def_nis,definition,
( nis
= ( ^ [X0: \$i,X1: \$i] : ( d_not @ ( n_is @ X0 @ X1 ) ) ) ) ).

thf(typ_n_in,type,
n_in: \$i > \$i > \$o ).

thf(def_n_in,definition,
( n_in
= ( esti @ nat ) ) ).

thf(typ_n_some,type,
n_some: ( \$i > \$o ) > \$o ).

thf(def_n_some,definition,
( n_some
= ( l_some @ nat ) ) ).

thf(typ_n_all,type,
n_all: ( \$i > \$o ) > \$o ).

thf(def_n_all,definition,
( n_all
= ( all @ nat ) ) ).

thf(typ_n_one,type,
n_one: ( \$i > \$o ) > \$o ).

thf(def_n_one,definition,
( n_one
= ( one @ nat ) ) ).

thf(typ_n_1,type,
n_1: \$i ).

thf(def_n_1,definition,
( n_1
= ( ordsucc @ emptyset ) ) ).

thf(n_1_p,axiom,
( is_of @ n_1
@ ^ [X0: \$i] : ( in @ X0 @ nat ) ) ).

thf(suc_p,axiom,
( all_of
@ ^ [X0: \$i] : ( in @ X0 @ nat )
@ ^ [X0: \$i] :
( is_of @ ( ordsucc @ X0 )
@ ^ [X1: \$i] : ( in @ X1 @ nat ) ) ) ).

thf(n_ax3,axiom,
( all_of
@ ^ [X0: \$i] : ( in @ X0 @ nat )
@ ^ [X0: \$i] : ( nis @ ( ordsucc @ X0 ) @ n_1 ) ) ).

thf(n_ax4,axiom,
( all_of
@ ^ [X0: \$i] : ( in @ X0 @ nat )
@ ^ [X0: \$i] :
( all_of
@ ^ [X1: \$i] : ( in @ X1 @ nat )
@ ^ [X1: \$i] :
( ( n_is @ ( ordsucc @ X0 ) @ ( ordsucc @ X1 ) )
=> ( n_is @ X0 @ X1 ) ) ) ) ).

thf(typ_cond1,type,
cond1: \$i > \$o ).

thf(def_cond1,definition,
( cond1
= ( n_in @ n_1 ) ) ).

thf(typ_cond2,type,
cond2: \$i > \$o ).

thf(def_cond2,definition,
( cond2
= ( ^ [X0: \$i] :
( n_all
@ ^ [X1: \$i] : ( imp @ ( n_in @ X1 @ X0 ) @ ( n_in @ ( ordsucc @ X1 ) @ X0 ) ) ) ) ) ).

thf(n_ax5,axiom,
( all_of
@ ^ [X0: \$i] : ( in @ X0 @ ( power @ nat ) )
@ ^ [X0: \$i] :
( ( cond1 @ X0 )
=> ( ( cond2 @ X0 )
=> ( all_of
@ ^ [X1: \$i] : ( in @ X1 @ nat )
@ ^ [X1: \$i] : ( n_in @ X1 @ X0 ) ) ) ) ) ).

thf(typ_i1_s,type,
i1_s: ( \$i > \$o ) > \$i ).

thf(def_i1_s,definition,
( i1_s
= ( d_Sep @ nat ) ) ).

%------------------------------------------------------------------------------
```