TPTP Problem File: ITP197^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP197^1 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer Type problem prob_386__3259180_1
% Version : Especial.
% English :
% Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source : [Des21]
% Names : Type/prob_386__3259180_1 [Des21]
% Status : Theorem
% Rating : 0.38 v9.0.0, 0.50 v8.2.0, 0.38 v8.1.0, 0.36 v7.5.0
% Syntax : Number of formulae : 463 ( 194 unt; 103 typ; 0 def)
% Number of atoms : 1024 ( 428 equ; 0 cnn)
% Maximal formula atoms : 10 ( 2 avg)
% Number of connectives : 2773 ( 147 ~; 28 |; 82 &;2109 @)
% ( 0 <=>; 407 =>; 0 <=; 0 <~>)
% Maximal formula depth : 20 ( 6 avg)
% Number of types : 15 ( 14 usr)
% Number of type conns : 442 ( 442 >; 0 *; 0 +; 0 <<)
% Number of symbols : 92 ( 89 usr; 11 con; 0-3 aty)
% Number of variables : 1070 ( 86 ^; 935 !; 49 ?;1070 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 15:34:01.522
%------------------------------------------------------------------------------
% Could-be-implicit typings (14)
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
list_l1704431731scheme: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
list_l865305402le_typ: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
list_l1334080099scheme: $tType ).
thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
list_n396811828le_typ: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
list_l1790670291le_typ: $tType ).
thf(ty_n_t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
list_T247403987scheme: $tType ).
thf(ty_n_t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
list_T1103309005le_typ: $tType ).
thf(ty_n_t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
type_M1694694083scheme: $tType ).
thf(ty_n_t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
list_set_nat: $tType ).
thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J,type,
list_nat_o: $tType ).
thf(ty_n_t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_Mirabelle_typ: $tType ).
thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
list_nat: $tType ).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
set_nat: $tType ).
thf(ty_n_t__Nat__Onat,type,
nat: $tType ).
% Explicit typings (89)
thf(sy_c_HOL_OThe_001t__Nat__Onat,type,
the_nat: ( nat > $o ) > nat ).
thf(sy_c_If_001t__Nat__Onat,type,
if_nat: $o > nat > nat > nat ).
thf(sy_c_If_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
if_Typ1169047309le_typ: $o > type_Mirabelle_typ > type_Mirabelle_typ > type_Mirabelle_typ ).
thf(sy_c_Lattices_Osemilattice__neutr_001_062_It__Nat__Onat_M_Eo_J,type,
semila1414375521_nat_o: ( ( nat > $o ) > ( nat > $o ) > nat > $o ) > ( nat > $o ) > $o ).
thf(sy_c_Lattices_Osemilattice__neutr_001t__Set__Oset_It__Nat__Onat_J,type,
semila1369944356et_nat: ( set_nat > set_nat > set_nat ) > set_nat > $o ).
thf(sy_c_Lattices_Osup__class_Osup_001_062_It__Nat__Onat_M_Eo_J,type,
sup_sup_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Nat__Onat,type,
sup_sup_nat: nat > nat > nat ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J,type,
sup_sup_set_nat: set_nat > set_nat > set_nat ).
thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_M_Eo_J,type,
cons_nat_o: ( nat > $o ) > list_nat_o > list_nat_o ).
thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
cons_n499085924le_typ: ( nat > type_Mirabelle_typ ) > list_n396811828le_typ > list_n396811828le_typ ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
cons_l1800589546le_typ: list_n396811828le_typ > list_l865305402le_typ > list_l865305402le_typ ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
cons_l531914285scheme: list_l1334080099scheme > list_l1704431731scheme > list_l1704431731scheme ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
cons_l392684675le_typ: list_T1103309005le_typ > list_l1790670291le_typ > list_l1790670291le_typ ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
cons_l1910959773scheme: list_T247403987scheme > list_l1334080099scheme > list_l1334080099scheme ).
thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
cons_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Nat__Onat_J,type,
cons_set_nat: set_nat > list_set_nat > list_set_nat ).
thf(sy_c_List_Olist_OCons_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
cons_T363929085le_typ: type_Mirabelle_typ > list_T1103309005le_typ > list_T1103309005le_typ ).
thf(sy_c_List_Olist_OCons_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
cons_T633159821scheme: type_M1694694083scheme > list_T247403987scheme > list_T247403987scheme ).
thf(sy_c_List_Olist_ONil_001_062_It__Nat__Onat_M_Eo_J,type,
nil_nat_o: list_nat_o ).
thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
nil_nat: list_nat ).
thf(sy_c_List_Olist_ONil_001t__Set__Oset_It__Nat__Onat_J,type,
nil_set_nat: list_set_nat ).
thf(sy_c_List_Olist_ONil_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
nil_Ty61485117scheme: list_T247403987scheme ).
thf(sy_c_List_Oord__class_Olexordp__eq_001_062_It__Nat__Onat_M_Eo_J,type,
ord_lexordp_eq_nat_o: list_nat_o > list_nat_o > $o ).
thf(sy_c_List_Oord__class_Olexordp__eq_001t__Nat__Onat,type,
ord_lexordp_eq_nat: list_nat > list_nat > $o ).
thf(sy_c_List_Oord__class_Olexordp__eq_001t__Set__Oset_It__Nat__Onat_J,type,
ord_le727790544et_nat: list_set_nat > list_set_nat > $o ).
thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J,type,
bot_bot_nat_o: nat > $o ).
thf(sy_c_Orderings_Obot__class_Obot_001_Eo,type,
bot_bot_o: $o ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
bot_bot_nat: nat ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
bot_bot_set_nat: set_nat ).
thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Nat__Onat_M_Eo_J,type,
ord_less_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
ord_less_nat: nat > nat > $o ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Nat__Onat_J,type,
ord_less_set_nat: set_nat > set_nat > $o ).
thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
collect_nat: ( nat > $o ) > set_nat ).
thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
insert_nat: nat > set_nat > set_nat ).
thf(sy_c_Set_Ois__empty_001t__Nat__Onat,type,
is_empty_nat: set_nat > $o ).
thf(sy_c_Set_Ois__singleton_001t__Nat__Onat,type,
is_singleton_nat: set_nat > $o ).
thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
the_elem_nat: set_nat > nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Ocod,type,
type_Mirabelle_cod: ( nat > type_Mirabelle_typ ) > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Odom,type,
type_Mirabelle_dom: ( nat > type_Mirabelle_typ ) > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Oid__subst,type,
type_M405566558_subst: nat > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Omk__scheme,type,
type_M1006385707scheme: type_Mirabelle_typ > type_M1694694083scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M1734147655le_typ: nat > ( nat > type_Mirabelle_typ ) > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M244876119le_typ: nat > list_n396811828le_typ > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
type_M2086816231le_typ: nat > list_l865305402le_typ > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
type_M1172169604scheme: nat > list_l1704431731scheme > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M1826376056le_typ: nat > list_l1790670291le_typ > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
type_M1377662078scheme: nat > list_l1334080099scheme > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M263553000le_typ: nat > list_T1103309005le_typ > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
type_M2064939256scheme: nat > list_T247403987scheme > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_M1211611096le_typ: nat > type_Mirabelle_typ > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Onew__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
type_M1963061490scheme: nat > type_M1694694083scheme > $o ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Oof__nat__class_Oof__nat_001t__Nat__Onat,type,
type_M1898948661at_nat: nat > nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp_OFun,type,
type_Mirabelle_Fun: type_Mirabelle_typ > type_Mirabelle_typ > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp_OTVar,type,
type_Mirabelle_TVar: nat > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otyp__of__class_Otyp__of_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_M1743451154le_typ: type_Mirabelle_typ > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OBVar,type,
type_M2048935292e_BVar: nat > type_M1694694083scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OFVar,type,
type_M876316792e_FVar: nat > type_M1694694083scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__scheme_OSFun,type,
type_M155660035e_SFun: type_M1694694083scheme > type_M1694694083scheme > type_M1694694083scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M1158474302le_typ: ( nat > type_Mirabelle_typ ) > ( nat > type_Mirabelle_typ ) > nat > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M737052622le_typ: ( nat > type_Mirabelle_typ ) > list_n396811828le_typ > list_n396811828le_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
type_M1385924301scheme: ( nat > type_Mirabelle_typ ) > list_l1704431731scheme > list_l1704431731scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M1913464047le_typ: ( nat > type_Mirabelle_typ ) > list_l1790670291le_typ > list_l1790670291le_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
type_M1061687367scheme: ( nat > type_Mirabelle_typ ) > list_l1334080099scheme > list_l1334080099scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M1440203487le_typ: ( nat > type_Mirabelle_typ ) > list_T1103309005le_typ > list_T1103309005le_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
type_M1944210753scheme: ( nat > type_Mirabelle_typ ) > list_T247403987scheme > list_T247403987scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_M784671311le_typ: ( nat > type_Mirabelle_typ ) > type_Mirabelle_typ > type_Mirabelle_typ ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Oapp__subst_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
type_M1690910139scheme: ( nat > type_Mirabelle_typ ) > type_M1694694083scheme > type_M1694694083scheme ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M772783356le_typ: ( nat > type_Mirabelle_typ ) > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M513401740le_typ: list_n396811828le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
type_M1496178953scheme: list_l1334080099scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M1539052445le_typ: list_T1103309005le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
type_M961603331scheme: list_T247403987scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_M801073677le_typ: type_Mirabelle_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Obound__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
type_M326705277scheme: type_M1694694083scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M1715972684le_typ: ( nat > type_Mirabelle_typ ) > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M1691543772le_typ: list_n396811828le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Type____Mirabelle____lczmhmumaa__Otyp_J_J_J,type,
type_M906078444le_typ: list_l865305402le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J_J,type,
type_M1926053183scheme: list_l1704431731scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J_J,type,
type_M1418941437le_typ: list_l1790670291le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J_J,type,
type_M1958029241scheme: list_l1334080099scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otyp_J,type,
type_M510873837le_typ: list_T1103309005le_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__List__Olist_It__Type____Mirabelle____lczmhmumaa__Otype____scheme_J,type,
type_M141510067scheme: list_T247403987scheme > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__Type____Mirabelle____lczmhmumaa__Otyp,type,
type_M49385309le_typ: type_Mirabelle_typ > set_nat ).
thf(sy_c_Type__Mirabelle__lczmhmumaa_Otype__struct__class_Ofree__tv_001t__Type____Mirabelle____lczmhmumaa__Otype____scheme,type,
type_M1050318637scheme: type_M1694694083scheme > set_nat ).
thf(sy_c_member_001t__Nat__Onat,type,
member_nat: nat > set_nat > $o ).
thf(sy_v_S1,type,
s1: nat > type_Mirabelle_typ ).
thf(sy_v_S2,type,
s2: nat > type_Mirabelle_typ ).
thf(sy_v_n,type,
n: nat ).
thf(sy_v_x,type,
x: nat ).
% Relevant facts (354)
thf(fact_0_type__scheme_Oinject_I1_J,axiom,
! [X1: nat,Y1: nat] :
( ( ( type_M876316792e_FVar @ X1 )
= ( type_M876316792e_FVar @ Y1 ) )
= ( X1 = Y1 ) ) ).
% type_scheme.inject(1)
thf(fact_1_eq__free__eq__subst__type__scheme,axiom,
! [Sch: type_M1694694083scheme,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
( ! [N: nat] :
( ( member_nat @ N @ ( type_M1050318637scheme @ Sch ) )
=> ( ( S1 @ N )
= ( S2 @ N ) ) )
=> ( ( type_M1690910139scheme @ S1 @ Sch )
= ( type_M1690910139scheme @ S2 @ Sch ) ) ) ).
% eq_free_eq_subst_type_scheme
thf(fact_2_scheme__substitutions__only__on__free__variables,axiom,
! [Sch: type_M1694694083scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
( ! [X: nat] :
( ( member_nat @ X @ ( type_M1050318637scheme @ Sch ) )
=> ( ( S @ X )
= ( S3 @ X ) ) )
=> ( ( type_M1690910139scheme @ S @ Sch )
= ( type_M1690910139scheme @ S3 @ Sch ) ) ) ).
% scheme_substitutions_only_on_free_variables
thf(fact_3_app__subst__type__scheme_Osimps_I1_J,axiom,
! [S: nat > type_Mirabelle_typ,N2: nat] :
( ( type_M1690910139scheme @ S @ ( type_M876316792e_FVar @ N2 ) )
= ( type_M1006385707scheme @ ( S @ N2 ) ) ) ).
% app_subst_type_scheme.simps(1)
thf(fact_4_app__subst__type__scheme_Osimps_I2_J,axiom,
! [S: nat > type_Mirabelle_typ,N2: nat] :
( ( type_M1690910139scheme @ S @ ( type_M2048935292e_BVar @ N2 ) )
= ( type_M2048935292e_BVar @ N2 ) ) ).
% app_subst_type_scheme.simps(2)
thf(fact_5_app__subst__type__scheme_Osimps_I3_J,axiom,
! [S: nat > type_Mirabelle_typ,Sch1: type_M1694694083scheme,Sch2: type_M1694694083scheme] :
( ( type_M1690910139scheme @ S @ ( type_M155660035e_SFun @ Sch1 @ Sch2 ) )
= ( type_M155660035e_SFun @ ( type_M1690910139scheme @ S @ Sch1 ) @ ( type_M1690910139scheme @ S @ Sch2 ) ) ) ).
% app_subst_type_scheme.simps(3)
thf(fact_6_type__scheme_Odistinct_I1_J,axiom,
! [X1: nat,X2: nat] :
( ( type_M876316792e_FVar @ X1 )
!= ( type_M2048935292e_BVar @ X2 ) ) ).
% type_scheme.distinct(1)
thf(fact_7_type__scheme_Odistinct_I3_J,axiom,
! [X1: nat,X31: type_M1694694083scheme,X32: type_M1694694083scheme] :
( ( type_M876316792e_FVar @ X1 )
!= ( type_M155660035e_SFun @ X31 @ X32 ) ) ).
% type_scheme.distinct(3)
thf(fact_8_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
( ( type_M737052622le_typ @ S @ ( cons_n499085924le_typ @ X3 @ L ) )
= ( cons_n499085924le_typ @ ( type_M1158474302le_typ @ S @ X3 ) @ ( type_M737052622le_typ @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_9_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: list_l1334080099scheme,L: list_l1704431731scheme] :
( ( type_M1385924301scheme @ S @ ( cons_l531914285scheme @ X3 @ L ) )
= ( cons_l531914285scheme @ ( type_M1061687367scheme @ S @ X3 ) @ ( type_M1385924301scheme @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_10_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
( ( type_M1913464047le_typ @ S @ ( cons_l392684675le_typ @ X3 @ L ) )
= ( cons_l392684675le_typ @ ( type_M1440203487le_typ @ S @ X3 ) @ ( type_M1913464047le_typ @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_11_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
( ( type_M1440203487le_typ @ S @ ( cons_T363929085le_typ @ X3 @ L ) )
= ( cons_T363929085le_typ @ ( type_M784671311le_typ @ S @ X3 ) @ ( type_M1440203487le_typ @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_12_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: list_T247403987scheme,L: list_l1334080099scheme] :
( ( type_M1061687367scheme @ S @ ( cons_l1910959773scheme @ X3 @ L ) )
= ( cons_l1910959773scheme @ ( type_M1944210753scheme @ S @ X3 ) @ ( type_M1061687367scheme @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_13_app__subst__Cons,axiom,
! [S: nat > type_Mirabelle_typ,X3: type_M1694694083scheme,L: list_T247403987scheme] :
( ( type_M1944210753scheme @ S @ ( cons_T633159821scheme @ X3 @ L ) )
= ( cons_T633159821scheme @ ( type_M1690910139scheme @ S @ X3 ) @ ( type_M1944210753scheme @ S @ L ) ) ) ).
% app_subst_Cons
thf(fact_14_free__tv__mk__scheme,axiom,
! [T: type_Mirabelle_typ] :
( ( type_M1050318637scheme @ ( type_M1006385707scheme @ T ) )
= ( type_M49385309le_typ @ T ) ) ).
% free_tv_mk_scheme
thf(fact_15_free__tv__type__scheme_Osimps_I1_J,axiom,
! [M: nat] :
( ( type_M1050318637scheme @ ( type_M876316792e_FVar @ M ) )
= ( insert_nat @ M @ bot_bot_set_nat ) ) ).
% free_tv_type_scheme.simps(1)
thf(fact_16_new__if__subst__type__scheme,axiom,
! [N2: nat,Sch: type_M1694694083scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
( ( type_M1963061490scheme @ N2 @ Sch )
=> ( ( type_M1690910139scheme
@ ^ [K: nat] : ( if_Typ1169047309le_typ @ ( ord_less_nat @ K @ N2 ) @ ( S @ K ) @ ( S3 @ K ) )
@ Sch )
= ( type_M1690910139scheme @ S @ Sch ) ) ) ).
% new_if_subst_type_scheme
thf(fact_17_type__scheme_Oinject_I3_J,axiom,
! [X31: type_M1694694083scheme,X32: type_M1694694083scheme,Y31: type_M1694694083scheme,Y32: type_M1694694083scheme] :
( ( ( type_M155660035e_SFun @ X31 @ X32 )
= ( type_M155660035e_SFun @ Y31 @ Y32 ) )
= ( ( X31 = Y31 )
& ( X32 = Y32 ) ) ) ).
% type_scheme.inject(3)
thf(fact_18_type__scheme_Oinject_I2_J,axiom,
! [X2: nat,Y2: nat] :
( ( ( type_M2048935292e_BVar @ X2 )
= ( type_M2048935292e_BVar @ Y2 ) )
= ( X2 = Y2 ) ) ).
% type_scheme.inject(2)
thf(fact_19_new__tv__Cons,axiom,
! [N2: nat,X3: list_n396811828le_typ,L: list_l865305402le_typ] :
( ( type_M2086816231le_typ @ N2 @ ( cons_l1800589546le_typ @ X3 @ L ) )
= ( ( type_M244876119le_typ @ N2 @ X3 )
& ( type_M2086816231le_typ @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_20_new__tv__Cons,axiom,
! [N2: nat,X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
( ( type_M1826376056le_typ @ N2 @ ( cons_l392684675le_typ @ X3 @ L ) )
= ( ( type_M263553000le_typ @ N2 @ X3 )
& ( type_M1826376056le_typ @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_21_new__tv__Cons,axiom,
! [N2: nat,X3: list_l1334080099scheme,L: list_l1704431731scheme] :
( ( type_M1172169604scheme @ N2 @ ( cons_l531914285scheme @ X3 @ L ) )
= ( ( type_M1377662078scheme @ N2 @ X3 )
& ( type_M1172169604scheme @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_22_new__tv__Cons,axiom,
! [N2: nat,X3: list_T247403987scheme,L: list_l1334080099scheme] :
( ( type_M1377662078scheme @ N2 @ ( cons_l1910959773scheme @ X3 @ L ) )
= ( ( type_M2064939256scheme @ N2 @ X3 )
& ( type_M1377662078scheme @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_23_new__tv__Cons,axiom,
! [N2: nat,X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
( ( type_M263553000le_typ @ N2 @ ( cons_T363929085le_typ @ X3 @ L ) )
= ( ( type_M1211611096le_typ @ N2 @ X3 )
& ( type_M263553000le_typ @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_24_new__tv__Cons,axiom,
! [N2: nat,X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
( ( type_M244876119le_typ @ N2 @ ( cons_n499085924le_typ @ X3 @ L ) )
= ( ( type_M1734147655le_typ @ N2 @ X3 )
& ( type_M244876119le_typ @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_25_new__tv__Cons,axiom,
! [N2: nat,X3: type_M1694694083scheme,L: list_T247403987scheme] :
( ( type_M2064939256scheme @ N2 @ ( cons_T633159821scheme @ X3 @ L ) )
= ( ( type_M1963061490scheme @ N2 @ X3 )
& ( type_M2064939256scheme @ N2 @ L ) ) ) ).
% new_tv_Cons
thf(fact_26_subst__mk__scheme,axiom,
! [S: nat > type_Mirabelle_typ,T: type_Mirabelle_typ] :
( ( type_M1690910139scheme @ S @ ( type_M1006385707scheme @ T ) )
= ( type_M1006385707scheme @ ( type_M784671311le_typ @ S @ T ) ) ) ).
% subst_mk_scheme
thf(fact_27_new__tv__Fun2,axiom,
! [N2: nat,T1: type_M1694694083scheme,T2: type_M1694694083scheme] :
( ( type_M1963061490scheme @ N2 @ ( type_M155660035e_SFun @ T1 @ T2 ) )
= ( ( type_M1963061490scheme @ N2 @ T1 )
& ( type_M1963061490scheme @ N2 @ T2 ) ) ) ).
% new_tv_Fun2
thf(fact_28_new__tv__BVar,axiom,
! [N2: nat,M: nat] : ( type_M1963061490scheme @ N2 @ ( type_M2048935292e_BVar @ M ) ) ).
% new_tv_BVar
thf(fact_29_new__tv__FVar,axiom,
! [N2: nat,M: nat] :
( ( type_M1963061490scheme @ N2 @ ( type_M876316792e_FVar @ M ) )
= ( ord_less_nat @ M @ N2 ) ) ).
% new_tv_FVar
thf(fact_30_type__scheme_Odistinct_I5_J,axiom,
! [X2: nat,X31: type_M1694694083scheme,X32: type_M1694694083scheme] :
( ( type_M2048935292e_BVar @ X2 )
!= ( type_M155660035e_SFun @ X31 @ X32 ) ) ).
% type_scheme.distinct(5)
thf(fact_31_mk__scheme__Fun,axiom,
! [T: type_Mirabelle_typ,Sch1: type_M1694694083scheme,Sch2: type_M1694694083scheme] :
( ( ( type_M1006385707scheme @ T )
= ( type_M155660035e_SFun @ Sch1 @ Sch2 ) )
=> ? [T12: type_Mirabelle_typ,T22: type_Mirabelle_typ] :
( ( Sch1
= ( type_M1006385707scheme @ T12 ) )
& ( Sch2
= ( type_M1006385707scheme @ T22 ) ) ) ) ).
% mk_scheme_Fun
thf(fact_32_eq__free__eq__subst__te,axiom,
! [T: type_Mirabelle_typ,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
( ! [N: nat] :
( ( member_nat @ N @ ( type_M49385309le_typ @ T ) )
=> ( ( S1 @ N )
= ( S2 @ N ) ) )
=> ( ( type_M784671311le_typ @ S1 @ T )
= ( type_M784671311le_typ @ S2 @ T ) ) ) ).
% eq_free_eq_subst_te
thf(fact_33_eq__subst__te__eq__free,axiom,
! [S1: nat > type_Mirabelle_typ,T: type_Mirabelle_typ,S2: nat > type_Mirabelle_typ,N2: nat] :
( ( ( type_M784671311le_typ @ S1 @ T )
= ( type_M784671311le_typ @ S2 @ T ) )
=> ( ( member_nat @ N2 @ ( type_M49385309le_typ @ T ) )
=> ( ( S1 @ N2 )
= ( S2 @ N2 ) ) ) ) ).
% eq_subst_te_eq_free
thf(fact_34_typ__substitutions__only__on__free__variables,axiom,
! [T: type_Mirabelle_typ,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
( ! [X: nat] :
( ( member_nat @ X @ ( type_M49385309le_typ @ T ) )
=> ( ( S @ X )
= ( S3 @ X ) ) )
=> ( ( type_M784671311le_typ @ S @ T )
= ( type_M784671311le_typ @ S3 @ T ) ) ) ).
% typ_substitutions_only_on_free_variables
thf(fact_35_mk__scheme__injective,axiom,
! [T: type_Mirabelle_typ,T3: type_Mirabelle_typ] :
( ( ( type_M1006385707scheme @ T )
= ( type_M1006385707scheme @ T3 ) )
=> ( T = T3 ) ) ).
% mk_scheme_injective
thf(fact_36_free__tv__type__scheme_Osimps_I2_J,axiom,
! [M: nat] :
( ( type_M1050318637scheme @ ( type_M2048935292e_BVar @ M ) )
= bot_bot_set_nat ) ).
% free_tv_type_scheme.simps(2)
thf(fact_37_type__scheme_Oexhaust,axiom,
! [Y: type_M1694694083scheme] :
( ! [X12: nat] :
( Y
!= ( type_M876316792e_FVar @ X12 ) )
=> ( ! [X22: nat] :
( Y
!= ( type_M2048935292e_BVar @ X22 ) )
=> ~ ! [X312: type_M1694694083scheme,X322: type_M1694694083scheme] :
( Y
!= ( type_M155660035e_SFun @ X312 @ X322 ) ) ) ) ).
% type_scheme.exhaust
thf(fact_38_type__scheme_Oinduct,axiom,
! [P: type_M1694694083scheme > $o,Type_scheme: type_M1694694083scheme] :
( ! [X: nat] : ( P @ ( type_M876316792e_FVar @ X ) )
=> ( ! [X: nat] : ( P @ ( type_M2048935292e_BVar @ X ) )
=> ( ! [X1a: type_M1694694083scheme,X2a: type_M1694694083scheme] :
( ( P @ X1a )
=> ( ( P @ X2a )
=> ( P @ ( type_M155660035e_SFun @ X1a @ X2a ) ) ) )
=> ( P @ Type_scheme ) ) ) ) ).
% type_scheme.induct
thf(fact_39_new__tv__def,axiom,
( type_M244876119le_typ
= ( ^ [N3: nat,Ts: list_n396811828le_typ] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M1691543772le_typ @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_40_new__tv__def,axiom,
( type_M1377662078scheme
= ( ^ [N3: nat,Ts: list_l1334080099scheme] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M1958029241scheme @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_41_new__tv__def,axiom,
( type_M263553000le_typ
= ( ^ [N3: nat,Ts: list_T1103309005le_typ] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M510873837le_typ @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_42_new__tv__def,axiom,
( type_M1963061490scheme
= ( ^ [N3: nat,Ts: type_M1694694083scheme] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M1050318637scheme @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_43_new__tv__def,axiom,
( type_M1211611096le_typ
= ( ^ [N3: nat,Ts: type_Mirabelle_typ] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M49385309le_typ @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_44_new__tv__def,axiom,
( type_M2064939256scheme
= ( ^ [N3: nat,Ts: list_T247403987scheme] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M141510067scheme @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_45_new__tv__def,axiom,
( type_M1734147655le_typ
= ( ^ [N3: nat,Ts: nat > type_Mirabelle_typ] :
! [M2: nat] :
( ( member_nat @ M2 @ ( type_M1715972684le_typ @ Ts ) )
=> ( ord_less_nat @ M2 @ N3 ) ) ) ) ).
% new_tv_def
thf(fact_46_singleton__conv,axiom,
! [A: nat] :
( ( collect_nat
@ ^ [X4: nat] : ( X4 = A ) )
= ( insert_nat @ A @ bot_bot_set_nat ) ) ).
% singleton_conv
thf(fact_47_singleton__conv2,axiom,
! [A: nat] :
( ( collect_nat
@ ( ^ [Y3: nat,Z: nat] : ( Y3 = Z )
@ A ) )
= ( insert_nat @ A @ bot_bot_set_nat ) ) ).
% singleton_conv2
thf(fact_48_singletonI,axiom,
! [A: nat] : ( member_nat @ A @ ( insert_nat @ A @ bot_bot_set_nat ) ) ).
% singletonI
thf(fact_49_insertCI,axiom,
! [A: nat,B: set_nat,B2: nat] :
( ( ~ ( member_nat @ A @ B )
=> ( A = B2 ) )
=> ( member_nat @ A @ ( insert_nat @ B2 @ B ) ) ) ).
% insertCI
thf(fact_50_insert__iff,axiom,
! [A: nat,B2: nat,A2: set_nat] :
( ( member_nat @ A @ ( insert_nat @ B2 @ A2 ) )
= ( ( A = B2 )
| ( member_nat @ A @ A2 ) ) ) ).
% insert_iff
thf(fact_51_insert__absorb2,axiom,
! [X3: nat,A2: set_nat] :
( ( insert_nat @ X3 @ ( insert_nat @ X3 @ A2 ) )
= ( insert_nat @ X3 @ A2 ) ) ).
% insert_absorb2
thf(fact_52_list_Oinject,axiom,
! [X21: type_M1694694083scheme,X222: list_T247403987scheme,Y21: type_M1694694083scheme,Y22: list_T247403987scheme] :
( ( ( cons_T633159821scheme @ X21 @ X222 )
= ( cons_T633159821scheme @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% list.inject
thf(fact_53_list_Oinject,axiom,
! [X21: list_T247403987scheme,X222: list_l1334080099scheme,Y21: list_T247403987scheme,Y22: list_l1334080099scheme] :
( ( ( cons_l1910959773scheme @ X21 @ X222 )
= ( cons_l1910959773scheme @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% list.inject
thf(fact_54_list_Oinject,axiom,
! [X21: type_Mirabelle_typ,X222: list_T1103309005le_typ,Y21: type_Mirabelle_typ,Y22: list_T1103309005le_typ] :
( ( ( cons_T363929085le_typ @ X21 @ X222 )
= ( cons_T363929085le_typ @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% list.inject
thf(fact_55_list_Oinject,axiom,
! [X21: nat > type_Mirabelle_typ,X222: list_n396811828le_typ,Y21: nat > type_Mirabelle_typ,Y22: list_n396811828le_typ] :
( ( ( cons_n499085924le_typ @ X21 @ X222 )
= ( cons_n499085924le_typ @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% list.inject
thf(fact_56_list_Oinject,axiom,
! [X21: nat,X222: list_nat,Y21: nat,Y22: list_nat] :
( ( ( cons_nat @ X21 @ X222 )
= ( cons_nat @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% list.inject
thf(fact_57_empty__iff,axiom,
! [C: nat] :
~ ( member_nat @ C @ bot_bot_set_nat ) ).
% empty_iff
thf(fact_58_mem__Collect__eq,axiom,
! [A: nat,P: nat > $o] :
( ( member_nat @ A @ ( collect_nat @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_59_Collect__mem__eq,axiom,
! [A2: set_nat] :
( ( collect_nat
@ ^ [X4: nat] : ( member_nat @ X4 @ A2 ) )
= A2 ) ).
% Collect_mem_eq
thf(fact_60_Collect__cong,axiom,
! [P: nat > $o,Q: nat > $o] :
( ! [X: nat] :
( ( P @ X )
= ( Q @ X ) )
=> ( ( collect_nat @ P )
= ( collect_nat @ Q ) ) ) ).
% Collect_cong
thf(fact_61_all__not__in__conv,axiom,
! [A2: set_nat] :
( ( ! [X4: nat] :
~ ( member_nat @ X4 @ A2 ) )
= ( A2 = bot_bot_set_nat ) ) ).
% all_not_in_conv
thf(fact_62_Collect__empty__eq,axiom,
! [P: nat > $o] :
( ( ( collect_nat @ P )
= bot_bot_set_nat )
= ( ! [X4: nat] :
~ ( P @ X4 ) ) ) ).
% Collect_empty_eq
thf(fact_63_empty__Collect__eq,axiom,
! [P: nat > $o] :
( ( bot_bot_set_nat
= ( collect_nat @ P ) )
= ( ! [X4: nat] :
~ ( P @ X4 ) ) ) ).
% empty_Collect_eq
thf(fact_64_new__if__subst__type__scheme__list,axiom,
! [N2: nat,A2: list_T247403987scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
( ( type_M2064939256scheme @ N2 @ A2 )
=> ( ( type_M1944210753scheme
@ ^ [K: nat] : ( if_Typ1169047309le_typ @ ( ord_less_nat @ K @ N2 ) @ ( S @ K ) @ ( S3 @ K ) )
@ A2 )
= ( type_M1944210753scheme @ S @ A2 ) ) ) ).
% new_if_subst_type_scheme_list
thf(fact_65_ex__in__conv,axiom,
! [A2: set_nat] :
( ( ? [X4: nat] : ( member_nat @ X4 @ A2 ) )
= ( A2 != bot_bot_set_nat ) ) ).
% ex_in_conv
thf(fact_66_equals0I,axiom,
! [A2: set_nat] :
( ! [Y4: nat] :
~ ( member_nat @ Y4 @ A2 )
=> ( A2 = bot_bot_set_nat ) ) ).
% equals0I
thf(fact_67_equals0D,axiom,
! [A2: set_nat,A: nat] :
( ( A2 = bot_bot_set_nat )
=> ~ ( member_nat @ A @ A2 ) ) ).
% equals0D
thf(fact_68_emptyE,axiom,
! [A: nat] :
~ ( member_nat @ A @ bot_bot_set_nat ) ).
% emptyE
thf(fact_69_not__Cons__self2,axiom,
! [X3: type_M1694694083scheme,Xs: list_T247403987scheme] :
( ( cons_T633159821scheme @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_70_not__Cons__self2,axiom,
! [X3: list_T247403987scheme,Xs: list_l1334080099scheme] :
( ( cons_l1910959773scheme @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_71_not__Cons__self2,axiom,
! [X3: type_Mirabelle_typ,Xs: list_T1103309005le_typ] :
( ( cons_T363929085le_typ @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_72_not__Cons__self2,axiom,
! [X3: nat > type_Mirabelle_typ,Xs: list_n396811828le_typ] :
( ( cons_n499085924le_typ @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_73_not__Cons__self2,axiom,
! [X3: nat,Xs: list_nat] :
( ( cons_nat @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_74_mk__disjoint__insert,axiom,
! [A: nat,A2: set_nat] :
( ( member_nat @ A @ A2 )
=> ? [B3: set_nat] :
( ( A2
= ( insert_nat @ A @ B3 ) )
& ~ ( member_nat @ A @ B3 ) ) ) ).
% mk_disjoint_insert
thf(fact_75_insert__commute,axiom,
! [X3: nat,Y: nat,A2: set_nat] :
( ( insert_nat @ X3 @ ( insert_nat @ Y @ A2 ) )
= ( insert_nat @ Y @ ( insert_nat @ X3 @ A2 ) ) ) ).
% insert_commute
thf(fact_76_insert__eq__iff,axiom,
! [A: nat,A2: set_nat,B2: nat,B: set_nat] :
( ~ ( member_nat @ A @ A2 )
=> ( ~ ( member_nat @ B2 @ B )
=> ( ( ( insert_nat @ A @ A2 )
= ( insert_nat @ B2 @ B ) )
= ( ( ( A = B2 )
=> ( A2 = B ) )
& ( ( A != B2 )
=> ? [C2: set_nat] :
( ( A2
= ( insert_nat @ B2 @ C2 ) )
& ~ ( member_nat @ B2 @ C2 )
& ( B
= ( insert_nat @ A @ C2 ) )
& ~ ( member_nat @ A @ C2 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_77_insert__absorb,axiom,
! [A: nat,A2: set_nat] :
( ( member_nat @ A @ A2 )
=> ( ( insert_nat @ A @ A2 )
= A2 ) ) ).
% insert_absorb
thf(fact_78_insert__ident,axiom,
! [X3: nat,A2: set_nat,B: set_nat] :
( ~ ( member_nat @ X3 @ A2 )
=> ( ~ ( member_nat @ X3 @ B )
=> ( ( ( insert_nat @ X3 @ A2 )
= ( insert_nat @ X3 @ B ) )
= ( A2 = B ) ) ) ) ).
% insert_ident
thf(fact_79_Set_Oset__insert,axiom,
! [X3: nat,A2: set_nat] :
( ( member_nat @ X3 @ A2 )
=> ~ ! [B3: set_nat] :
( ( A2
= ( insert_nat @ X3 @ B3 ) )
=> ( member_nat @ X3 @ B3 ) ) ) ).
% Set.set_insert
thf(fact_80_insertI2,axiom,
! [A: nat,B: set_nat,B2: nat] :
( ( member_nat @ A @ B )
=> ( member_nat @ A @ ( insert_nat @ B2 @ B ) ) ) ).
% insertI2
thf(fact_81_insertI1,axiom,
! [A: nat,B: set_nat] : ( member_nat @ A @ ( insert_nat @ A @ B ) ) ).
% insertI1
thf(fact_82_insertE,axiom,
! [A: nat,B2: nat,A2: set_nat] :
( ( member_nat @ A @ ( insert_nat @ B2 @ A2 ) )
=> ( ( A != B2 )
=> ( member_nat @ A @ A2 ) ) ) ).
% insertE
thf(fact_83_empty__def,axiom,
( bot_bot_set_nat
= ( collect_nat
@ ^ [X4: nat] : $false ) ) ).
% empty_def
thf(fact_84_insert__Collect,axiom,
! [A: nat,P: nat > $o] :
( ( insert_nat @ A @ ( collect_nat @ P ) )
= ( collect_nat
@ ^ [U: nat] :
( ( U != A )
=> ( P @ U ) ) ) ) ).
% insert_Collect
thf(fact_85_insert__compr,axiom,
( insert_nat
= ( ^ [A3: nat,B4: set_nat] :
( collect_nat
@ ^ [X4: nat] :
( ( X4 = A3 )
| ( member_nat @ X4 @ B4 ) ) ) ) ) ).
% insert_compr
thf(fact_86_singleton__inject,axiom,
! [A: nat,B2: nat] :
( ( ( insert_nat @ A @ bot_bot_set_nat )
= ( insert_nat @ B2 @ bot_bot_set_nat ) )
=> ( A = B2 ) ) ).
% singleton_inject
thf(fact_87_insert__not__empty,axiom,
! [A: nat,A2: set_nat] :
( ( insert_nat @ A @ A2 )
!= bot_bot_set_nat ) ).
% insert_not_empty
thf(fact_88_doubleton__eq__iff,axiom,
! [A: nat,B2: nat,C: nat,D: nat] :
( ( ( insert_nat @ A @ ( insert_nat @ B2 @ bot_bot_set_nat ) )
= ( insert_nat @ C @ ( insert_nat @ D @ bot_bot_set_nat ) ) )
= ( ( ( A = C )
& ( B2 = D ) )
| ( ( A = D )
& ( B2 = C ) ) ) ) ).
% doubleton_eq_iff
thf(fact_89_singleton__iff,axiom,
! [B2: nat,A: nat] :
( ( member_nat @ B2 @ ( insert_nat @ A @ bot_bot_set_nat ) )
= ( B2 = A ) ) ).
% singleton_iff
thf(fact_90_singletonD,axiom,
! [B2: nat,A: nat] :
( ( member_nat @ B2 @ ( insert_nat @ A @ bot_bot_set_nat ) )
=> ( B2 = A ) ) ).
% singletonD
thf(fact_91_Collect__conv__if2,axiom,
! [P: nat > $o,A: nat] :
( ( ( P @ A )
=> ( ( collect_nat
@ ^ [X4: nat] :
( ( A = X4 )
& ( P @ X4 ) ) )
= ( insert_nat @ A @ bot_bot_set_nat ) ) )
& ( ~ ( P @ A )
=> ( ( collect_nat
@ ^ [X4: nat] :
( ( A = X4 )
& ( P @ X4 ) ) )
= bot_bot_set_nat ) ) ) ).
% Collect_conv_if2
thf(fact_92_Collect__conv__if,axiom,
! [P: nat > $o,A: nat] :
( ( ( P @ A )
=> ( ( collect_nat
@ ^ [X4: nat] :
( ( X4 = A )
& ( P @ X4 ) ) )
= ( insert_nat @ A @ bot_bot_set_nat ) ) )
& ( ~ ( P @ A )
=> ( ( collect_nat
@ ^ [X4: nat] :
( ( X4 = A )
& ( P @ X4 ) ) )
= bot_bot_set_nat ) ) ) ).
% Collect_conv_if
thf(fact_93_the__elem__eq,axiom,
! [X3: nat] :
( ( the_elem_nat @ ( insert_nat @ X3 @ bot_bot_set_nat ) )
= X3 ) ).
% the_elem_eq
thf(fact_94_bot__apply,axiom,
( bot_bot_nat_o
= ( ^ [X4: nat] : bot_bot_o ) ) ).
% bot_apply
thf(fact_95_bound__tv__type__scheme_Osimps_I2_J,axiom,
! [M: nat] :
( ( type_M326705277scheme @ ( type_M2048935292e_BVar @ M ) )
= ( insert_nat @ M @ bot_bot_set_nat ) ) ).
% bound_tv_type_scheme.simps(2)
thf(fact_96_is__singletonI,axiom,
! [X3: nat] : ( is_singleton_nat @ ( insert_nat @ X3 @ bot_bot_set_nat ) ) ).
% is_singletonI
thf(fact_97_bot_Onot__eq__extremum,axiom,
! [A: nat > $o] :
( ( A != bot_bot_nat_o )
= ( ord_less_nat_o @ bot_bot_nat_o @ A ) ) ).
% bot.not_eq_extremum
thf(fact_98_bot_Onot__eq__extremum,axiom,
! [A: set_nat] :
( ( A != bot_bot_set_nat )
= ( ord_less_set_nat @ bot_bot_set_nat @ A ) ) ).
% bot.not_eq_extremum
thf(fact_99_bot_Onot__eq__extremum,axiom,
! [A: nat] :
( ( A != bot_bot_nat )
= ( ord_less_nat @ bot_bot_nat @ A ) ) ).
% bot.not_eq_extremum
thf(fact_100_bot_Oextremum__strict,axiom,
! [A: nat > $o] :
~ ( ord_less_nat_o @ A @ bot_bot_nat_o ) ).
% bot.extremum_strict
thf(fact_101_bot_Oextremum__strict,axiom,
! [A: set_nat] :
~ ( ord_less_set_nat @ A @ bot_bot_set_nat ) ).
% bot.extremum_strict
thf(fact_102_bot_Oextremum__strict,axiom,
! [A: nat] :
~ ( ord_less_nat @ A @ bot_bot_nat ) ).
% bot.extremum_strict
thf(fact_103_free__tv__TVar,axiom,
! [M: nat] :
( ( type_M49385309le_typ @ ( type_Mirabelle_TVar @ M ) )
= ( insert_nat @ M @ bot_bot_set_nat ) ) ).
% free_tv_TVar
thf(fact_104_bound__tv__type__scheme_Osimps_I1_J,axiom,
! [M: nat] :
( ( type_M326705277scheme @ ( type_M876316792e_FVar @ M ) )
= bot_bot_set_nat ) ).
% bound_tv_type_scheme.simps(1)
thf(fact_105_typ_Oinject_I1_J,axiom,
! [X1: nat,Y1: nat] :
( ( ( type_Mirabelle_TVar @ X1 )
= ( type_Mirabelle_TVar @ Y1 ) )
= ( X1 = Y1 ) ) ).
% typ.inject(1)
thf(fact_106_new__tv__TVar,axiom,
! [N2: nat,M: nat] :
( ( type_M1211611096le_typ @ N2 @ ( type_Mirabelle_TVar @ M ) )
= ( ord_less_nat @ M @ N2 ) ) ).
% new_tv_TVar
thf(fact_107_new__tv__TVar__subst,axiom,
! [N2: nat] : ( type_M1734147655le_typ @ N2 @ type_Mirabelle_TVar ) ).
% new_tv_TVar_subst
thf(fact_108_eq__free__eq__subst__scheme__list,axiom,
! [A2: list_T247403987scheme,S1: nat > type_Mirabelle_typ,S2: nat > type_Mirabelle_typ] :
( ! [N: nat] :
( ( member_nat @ N @ ( type_M141510067scheme @ A2 ) )
=> ( ( S1 @ N )
= ( S2 @ N ) ) )
=> ( ( type_M1944210753scheme @ S1 @ A2 )
= ( type_M1944210753scheme @ S2 @ A2 ) ) ) ).
% eq_free_eq_subst_scheme_list
thf(fact_109_scheme__list__substitutions__only__on__free__variables,axiom,
! [A2: list_T247403987scheme,S: nat > type_Mirabelle_typ,S3: nat > type_Mirabelle_typ] :
( ! [X: nat] :
( ( member_nat @ X @ ( type_M141510067scheme @ A2 ) )
=> ( ( S @ X )
= ( S3 @ X ) ) )
=> ( ( type_M1944210753scheme @ S @ A2 )
= ( type_M1944210753scheme @ S3 @ A2 ) ) ) ).
% scheme_list_substitutions_only_on_free_variables
thf(fact_110_bot__set__def,axiom,
( bot_bot_set_nat
= ( collect_nat @ bot_bot_nat_o ) ) ).
% bot_set_def
thf(fact_111_not__psubset__empty,axiom,
! [A2: set_nat] :
~ ( ord_less_set_nat @ A2 @ bot_bot_set_nat ) ).
% not_psubset_empty
thf(fact_112_app__subst__TVar,axiom,
! [S: nat > type_Mirabelle_typ,N2: nat] :
( ( type_M784671311le_typ @ S @ ( type_Mirabelle_TVar @ N2 ) )
= ( S @ N2 ) ) ).
% app_subst_TVar
thf(fact_113_is__singleton__the__elem,axiom,
( is_singleton_nat
= ( ^ [A4: set_nat] :
( A4
= ( insert_nat @ ( the_elem_nat @ A4 ) @ bot_bot_set_nat ) ) ) ) ).
% is_singleton_the_elem
thf(fact_114_is__singletonI_H,axiom,
! [A2: set_nat] :
( ( A2 != bot_bot_set_nat )
=> ( ! [X: nat,Y4: nat] :
( ( member_nat @ X @ A2 )
=> ( ( member_nat @ Y4 @ A2 )
=> ( X = Y4 ) ) )
=> ( is_singleton_nat @ A2 ) ) ) ).
% is_singletonI'
thf(fact_115_ord__eq__less__subst,axiom,
! [A: set_nat,F: nat > set_nat,B2: nat,C: nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_116_ord__eq__less__subst,axiom,
! [A: nat > $o,F: nat > nat > $o,B2: nat,C: nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_117_ord__eq__less__subst,axiom,
! [A: nat,F: set_nat > nat,B2: set_nat,C: set_nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_118_ord__eq__less__subst,axiom,
! [A: set_nat,F: set_nat > set_nat,B2: set_nat,C: set_nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_119_ord__eq__less__subst,axiom,
! [A: nat > $o,F: set_nat > nat > $o,B2: set_nat,C: set_nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_120_ord__eq__less__subst,axiom,
! [A: nat,F: ( nat > $o ) > nat,B2: nat > $o,C: nat > $o] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_121_ord__eq__less__subst,axiom,
! [A: set_nat,F: ( nat > $o ) > set_nat,B2: nat > $o,C: nat > $o] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_122_ord__eq__less__subst,axiom,
! [A: nat > $o,F: ( nat > $o ) > nat > $o,B2: nat > $o,C: nat > $o] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_123_ord__eq__less__subst,axiom,
! [A: nat,F: nat > nat,B2: nat,C: nat] :
( ( A
= ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% ord_eq_less_subst
thf(fact_124_ord__less__eq__subst,axiom,
! [A: nat,B2: nat,F: nat > set_nat,C: set_nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_125_ord__less__eq__subst,axiom,
! [A: nat,B2: nat,F: nat > nat > $o,C: nat > $o] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_126_ord__less__eq__subst,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > nat,C: nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_127_ord__less__eq__subst,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > set_nat,C: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_128_ord__less__eq__subst,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > nat > $o,C: nat > $o] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_129_ord__less__eq__subst,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat,C: nat] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_130_ord__less__eq__subst,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > set_nat,C: set_nat] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_131_ord__less__eq__subst,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_132_ord__less__eq__subst,axiom,
! [A: nat,B2: nat,F: nat > nat,C: nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ( F @ B2 )
= C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% ord_less_eq_subst
thf(fact_133_order__less__subst1,axiom,
! [A: nat,F: set_nat > nat,B2: set_nat,C: set_nat] :
( ( ord_less_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_134_order__less__subst1,axiom,
! [A: nat,F: ( nat > $o ) > nat,B2: nat > $o,C: nat > $o] :
( ( ord_less_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_135_order__less__subst1,axiom,
! [A: set_nat,F: nat > set_nat,B2: nat,C: nat] :
( ( ord_less_set_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_136_order__less__subst1,axiom,
! [A: set_nat,F: set_nat > set_nat,B2: set_nat,C: set_nat] :
( ( ord_less_set_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_137_order__less__subst1,axiom,
! [A: set_nat,F: ( nat > $o ) > set_nat,B2: nat > $o,C: nat > $o] :
( ( ord_less_set_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_138_order__less__subst1,axiom,
! [A: nat > $o,F: nat > nat > $o,B2: nat,C: nat] :
( ( ord_less_nat_o @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_139_order__less__subst1,axiom,
! [A: nat > $o,F: set_nat > nat > $o,B2: set_nat,C: set_nat] :
( ( ord_less_nat_o @ A @ ( F @ B2 ) )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_140_order__less__subst1,axiom,
! [A: nat > $o,F: ( nat > $o ) > nat > $o,B2: nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_141_order__less__subst1,axiom,
! [A: nat,F: nat > nat,B2: nat,C: nat] :
( ( ord_less_nat @ A @ ( F @ B2 ) )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).
% order_less_subst1
thf(fact_142_order__less__subst2,axiom,
! [A: nat,B2: nat,F: nat > set_nat,C: set_nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_143_order__less__subst2,axiom,
! [A: nat,B2: nat,F: nat > nat > $o,C: nat > $o] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_144_order__less__subst2,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > nat,C: nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ord_less_nat @ ( F @ B2 ) @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_145_order__less__subst2,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > set_nat,C: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_146_order__less__subst2,axiom,
! [A: set_nat,B2: set_nat,F: set_nat > nat > $o,C: nat > $o] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
=> ( ! [X: set_nat,Y4: set_nat] :
( ( ord_less_set_nat @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_147_order__less__subst2,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat,C: nat] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ord_less_nat @ ( F @ B2 ) @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_148_order__less__subst2,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > set_nat,C: set_nat] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ord_less_set_nat @ ( F @ B2 ) @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_set_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_149_order__less__subst2,axiom,
! [A: nat > $o,B2: nat > $o,F: ( nat > $o ) > nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ord_less_nat_o @ ( F @ B2 ) @ C )
=> ( ! [X: nat > $o,Y4: nat > $o] :
( ( ord_less_nat_o @ X @ Y4 )
=> ( ord_less_nat_o @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat_o @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_150_order__less__subst2,axiom,
! [A: nat,B2: nat,F: nat > nat,C: nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ord_less_nat @ ( F @ B2 ) @ C )
=> ( ! [X: nat,Y4: nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
=> ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).
% order_less_subst2
thf(fact_151_gt__ex,axiom,
! [X3: nat] :
? [X_1: nat] : ( ord_less_nat @ X3 @ X_1 ) ).
% gt_ex
thf(fact_152_neqE,axiom,
! [X3: nat,Y: nat] :
( ( X3 != Y )
=> ( ~ ( ord_less_nat @ X3 @ Y )
=> ( ord_less_nat @ Y @ X3 ) ) ) ).
% neqE
thf(fact_153_neq__iff,axiom,
! [X3: nat,Y: nat] :
( ( X3 != Y )
= ( ( ord_less_nat @ X3 @ Y )
| ( ord_less_nat @ Y @ X3 ) ) ) ).
% neq_iff
thf(fact_154_order_Oasym,axiom,
! [A: set_nat,B2: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ~ ( ord_less_set_nat @ B2 @ A ) ) ).
% order.asym
thf(fact_155_order_Oasym,axiom,
! [A: nat > $o,B2: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ~ ( ord_less_nat_o @ B2 @ A ) ) ).
% order.asym
thf(fact_156_order_Oasym,axiom,
! [A: nat,B2: nat] :
( ( ord_less_nat @ A @ B2 )
=> ~ ( ord_less_nat @ B2 @ A ) ) ).
% order.asym
thf(fact_157_less__imp__neq,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_neq
thf(fact_158_less__imp__neq,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_neq
thf(fact_159_less__imp__neq,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_neq
thf(fact_160_less__asym,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ~ ( ord_less_set_nat @ Y @ X3 ) ) ).
% less_asym
thf(fact_161_less__asym,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ~ ( ord_less_nat_o @ Y @ X3 ) ) ).
% less_asym
thf(fact_162_less__asym,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ~ ( ord_less_nat @ Y @ X3 ) ) ).
% less_asym
thf(fact_163_less__asym_H,axiom,
! [A: set_nat,B2: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ~ ( ord_less_set_nat @ B2 @ A ) ) ).
% less_asym'
thf(fact_164_less__asym_H,axiom,
! [A: nat > $o,B2: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ~ ( ord_less_nat_o @ B2 @ A ) ) ).
% less_asym'
thf(fact_165_less__asym_H,axiom,
! [A: nat,B2: nat] :
( ( ord_less_nat @ A @ B2 )
=> ~ ( ord_less_nat @ B2 @ A ) ) ).
% less_asym'
thf(fact_166_less__trans,axiom,
! [X3: set_nat,Y: set_nat,Z2: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( ( ord_less_set_nat @ Y @ Z2 )
=> ( ord_less_set_nat @ X3 @ Z2 ) ) ) ).
% less_trans
thf(fact_167_less__trans,axiom,
! [X3: nat > $o,Y: nat > $o,Z2: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( ( ord_less_nat_o @ Y @ Z2 )
=> ( ord_less_nat_o @ X3 @ Z2 ) ) ) ).
% less_trans
thf(fact_168_less__trans,axiom,
! [X3: nat,Y: nat,Z2: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( ( ord_less_nat @ Y @ Z2 )
=> ( ord_less_nat @ X3 @ Z2 ) ) ) ).
% less_trans
thf(fact_169_less__linear,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
| ( X3 = Y )
| ( ord_less_nat @ Y @ X3 ) ) ).
% less_linear
thf(fact_170_less__irrefl,axiom,
! [X3: set_nat] :
~ ( ord_less_set_nat @ X3 @ X3 ) ).
% less_irrefl
thf(fact_171_less__irrefl,axiom,
! [X3: nat > $o] :
~ ( ord_less_nat_o @ X3 @ X3 ) ).
% less_irrefl
thf(fact_172_less__irrefl,axiom,
! [X3: nat] :
~ ( ord_less_nat @ X3 @ X3 ) ).
% less_irrefl
thf(fact_173_ord__eq__less__trans,axiom,
! [A: set_nat,B2: set_nat,C: set_nat] :
( ( A = B2 )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ord_less_set_nat @ A @ C ) ) ) ).
% ord_eq_less_trans
thf(fact_174_ord__eq__less__trans,axiom,
! [A: nat > $o,B2: nat > $o,C: nat > $o] :
( ( A = B2 )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ord_less_nat_o @ A @ C ) ) ) ).
% ord_eq_less_trans
thf(fact_175_ord__eq__less__trans,axiom,
! [A: nat,B2: nat,C: nat] :
( ( A = B2 )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ord_less_nat @ A @ C ) ) ) ).
% ord_eq_less_trans
thf(fact_176_ord__less__eq__trans,axiom,
! [A: set_nat,B2: set_nat,C: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( B2 = C )
=> ( ord_less_set_nat @ A @ C ) ) ) ).
% ord_less_eq_trans
thf(fact_177_ord__less__eq__trans,axiom,
! [A: nat > $o,B2: nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( B2 = C )
=> ( ord_less_nat_o @ A @ C ) ) ) ).
% ord_less_eq_trans
thf(fact_178_ord__less__eq__trans,axiom,
! [A: nat,B2: nat,C: nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( B2 = C )
=> ( ord_less_nat @ A @ C ) ) ) ).
% ord_less_eq_trans
thf(fact_179_dual__order_Oasym,axiom,
! [B2: set_nat,A: set_nat] :
( ( ord_less_set_nat @ B2 @ A )
=> ~ ( ord_less_set_nat @ A @ B2 ) ) ).
% dual_order.asym
thf(fact_180_dual__order_Oasym,axiom,
! [B2: nat > $o,A: nat > $o] :
( ( ord_less_nat_o @ B2 @ A )
=> ~ ( ord_less_nat_o @ A @ B2 ) ) ).
% dual_order.asym
thf(fact_181_dual__order_Oasym,axiom,
! [B2: nat,A: nat] :
( ( ord_less_nat @ B2 @ A )
=> ~ ( ord_less_nat @ A @ B2 ) ) ).
% dual_order.asym
thf(fact_182_less__imp__not__eq,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_not_eq
thf(fact_183_less__imp__not__eq,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_not_eq
thf(fact_184_less__imp__not__eq,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( X3 != Y ) ) ).
% less_imp_not_eq
thf(fact_185_less__not__sym,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ~ ( ord_less_set_nat @ Y @ X3 ) ) ).
% less_not_sym
thf(fact_186_less__not__sym,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ~ ( ord_less_nat_o @ Y @ X3 ) ) ).
% less_not_sym
thf(fact_187_less__not__sym,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ~ ( ord_less_nat @ Y @ X3 ) ) ).
% less_not_sym
thf(fact_188_less__induct,axiom,
! [P: nat > $o,A: nat] :
( ! [X: nat] :
( ! [Y5: nat] :
( ( ord_less_nat @ Y5 @ X )
=> ( P @ Y5 ) )
=> ( P @ X ) )
=> ( P @ A ) ) ).
% less_induct
thf(fact_189_antisym__conv3,axiom,
! [Y: nat,X3: nat] :
( ~ ( ord_less_nat @ Y @ X3 )
=> ( ( ~ ( ord_less_nat @ X3 @ Y ) )
= ( X3 = Y ) ) ) ).
% antisym_conv3
thf(fact_190_less__imp__not__eq2,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( Y != X3 ) ) ).
% less_imp_not_eq2
thf(fact_191_less__imp__not__eq2,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( Y != X3 ) ) ).
% less_imp_not_eq2
thf(fact_192_less__imp__not__eq2,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( Y != X3 ) ) ).
% less_imp_not_eq2
thf(fact_193_less__imp__triv,axiom,
! [X3: set_nat,Y: set_nat,P: $o] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( ( ord_less_set_nat @ Y @ X3 )
=> P ) ) ).
% less_imp_triv
thf(fact_194_less__imp__triv,axiom,
! [X3: nat > $o,Y: nat > $o,P: $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( ( ord_less_nat_o @ Y @ X3 )
=> P ) ) ).
% less_imp_triv
thf(fact_195_less__imp__triv,axiom,
! [X3: nat,Y: nat,P: $o] :
( ( ord_less_nat @ X3 @ Y )
=> ( ( ord_less_nat @ Y @ X3 )
=> P ) ) ).
% less_imp_triv
thf(fact_196_linorder__cases,axiom,
! [X3: nat,Y: nat] :
( ~ ( ord_less_nat @ X3 @ Y )
=> ( ( X3 != Y )
=> ( ord_less_nat @ Y @ X3 ) ) ) ).
% linorder_cases
thf(fact_197_dual__order_Oirrefl,axiom,
! [A: set_nat] :
~ ( ord_less_set_nat @ A @ A ) ).
% dual_order.irrefl
thf(fact_198_dual__order_Oirrefl,axiom,
! [A: nat > $o] :
~ ( ord_less_nat_o @ A @ A ) ).
% dual_order.irrefl
thf(fact_199_dual__order_Oirrefl,axiom,
! [A: nat] :
~ ( ord_less_nat @ A @ A ) ).
% dual_order.irrefl
thf(fact_200_order_Ostrict__trans,axiom,
! [A: set_nat,B2: set_nat,C: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( ( ord_less_set_nat @ B2 @ C )
=> ( ord_less_set_nat @ A @ C ) ) ) ).
% order.strict_trans
thf(fact_201_order_Ostrict__trans,axiom,
! [A: nat > $o,B2: nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ( ( ord_less_nat_o @ B2 @ C )
=> ( ord_less_nat_o @ A @ C ) ) ) ).
% order.strict_trans
thf(fact_202_order_Ostrict__trans,axiom,
! [A: nat,B2: nat,C: nat] :
( ( ord_less_nat @ A @ B2 )
=> ( ( ord_less_nat @ B2 @ C )
=> ( ord_less_nat @ A @ C ) ) ) ).
% order.strict_trans
thf(fact_203_less__imp__not__less,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ~ ( ord_less_set_nat @ Y @ X3 ) ) ).
% less_imp_not_less
thf(fact_204_less__imp__not__less,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ~ ( ord_less_nat_o @ Y @ X3 ) ) ).
% less_imp_not_less
thf(fact_205_less__imp__not__less,axiom,
! [X3: nat,Y: nat] :
( ( ord_less_nat @ X3 @ Y )
=> ~ ( ord_less_nat @ Y @ X3 ) ) ).
% less_imp_not_less
thf(fact_206_exists__least__iff,axiom,
( ( ^ [P2: nat > $o] :
? [X5: nat] : ( P2 @ X5 ) )
= ( ^ [P3: nat > $o] :
? [N3: nat] :
( ( P3 @ N3 )
& ! [M2: nat] :
( ( ord_less_nat @ M2 @ N3 )
=> ~ ( P3 @ M2 ) ) ) ) ) ).
% exists_least_iff
thf(fact_207_linorder__less__wlog,axiom,
! [P: nat > nat > $o,A: nat,B2: nat] :
( ! [A5: nat,B5: nat] :
( ( ord_less_nat @ A5 @ B5 )
=> ( P @ A5 @ B5 ) )
=> ( ! [A5: nat] : ( P @ A5 @ A5 )
=> ( ! [A5: nat,B5: nat] :
( ( P @ B5 @ A5 )
=> ( P @ A5 @ B5 ) )
=> ( P @ A @ B2 ) ) ) ) ).
% linorder_less_wlog
thf(fact_208_dual__order_Ostrict__trans,axiom,
! [B2: set_nat,A: set_nat,C: set_nat] :
( ( ord_less_set_nat @ B2 @ A )
=> ( ( ord_less_set_nat @ C @ B2 )
=> ( ord_less_set_nat @ C @ A ) ) ) ).
% dual_order.strict_trans
thf(fact_209_dual__order_Ostrict__trans,axiom,
! [B2: nat > $o,A: nat > $o,C: nat > $o] :
( ( ord_less_nat_o @ B2 @ A )
=> ( ( ord_less_nat_o @ C @ B2 )
=> ( ord_less_nat_o @ C @ A ) ) ) ).
% dual_order.strict_trans
thf(fact_210_dual__order_Ostrict__trans,axiom,
! [B2: nat,A: nat,C: nat] :
( ( ord_less_nat @ B2 @ A )
=> ( ( ord_less_nat @ C @ B2 )
=> ( ord_less_nat @ C @ A ) ) ) ).
% dual_order.strict_trans
thf(fact_211_not__less__iff__gr__or__eq,axiom,
! [X3: nat,Y: nat] :
( ( ~ ( ord_less_nat @ X3 @ Y ) )
= ( ( ord_less_nat @ Y @ X3 )
| ( X3 = Y ) ) ) ).
% not_less_iff_gr_or_eq
thf(fact_212_order_Ostrict__implies__not__eq,axiom,
! [A: set_nat,B2: set_nat] :
( ( ord_less_set_nat @ A @ B2 )
=> ( A != B2 ) ) ).
% order.strict_implies_not_eq
thf(fact_213_order_Ostrict__implies__not__eq,axiom,
! [A: nat > $o,B2: nat > $o] :
( ( ord_less_nat_o @ A @ B2 )
=> ( A != B2 ) ) ).
% order.strict_implies_not_eq
thf(fact_214_order_Ostrict__implies__not__eq,axiom,
! [A: nat,B2: nat] :
( ( ord_less_nat @ A @ B2 )
=> ( A != B2 ) ) ).
% order.strict_implies_not_eq
thf(fact_215_dual__order_Ostrict__implies__not__eq,axiom,
! [B2: set_nat,A: set_nat] :
( ( ord_less_set_nat @ B2 @ A )
=> ( A != B2 ) ) ).
% dual_order.strict_implies_not_eq
thf(fact_216_dual__order_Ostrict__implies__not__eq,axiom,
! [B2: nat > $o,A: nat > $o] :
( ( ord_less_nat_o @ B2 @ A )
=> ( A != B2 ) ) ).
% dual_order.strict_implies_not_eq
thf(fact_217_dual__order_Ostrict__implies__not__eq,axiom,
! [B2: nat,A: nat] :
( ( ord_less_nat @ B2 @ A )
=> ( A != B2 ) ) ).
% dual_order.strict_implies_not_eq
thf(fact_218_bot__fun__def,axiom,
( bot_bot_nat_o
= ( ^ [X4: nat] : bot_bot_o ) ) ).
% bot_fun_def
thf(fact_219_mk__scheme_Osimps_I1_J,axiom,
! [N2: nat] :
( ( type_M1006385707scheme @ ( type_Mirabelle_TVar @ N2 ) )
= ( type_M876316792e_FVar @ N2 ) ) ).
% mk_scheme.simps(1)
thf(fact_220_is__singletonE,axiom,
! [A2: set_nat] :
( ( is_singleton_nat @ A2 )
=> ~ ! [X: nat] :
( A2
!= ( insert_nat @ X @ bot_bot_set_nat ) ) ) ).
% is_singletonE
thf(fact_221_is__singleton__def,axiom,
( is_singleton_nat
= ( ^ [A4: set_nat] :
? [X4: nat] :
( A4
= ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ).
% is_singleton_def
thf(fact_222_free__tv__id__subst,axiom,
( ( type_M1715972684le_typ @ type_M405566558_subst )
= bot_bot_set_nat ) ).
% free_tv_id_subst
thf(fact_223_Set_Ois__empty__def,axiom,
( is_empty_nat
= ( ^ [A4: set_nat] : ( A4 = bot_bot_set_nat ) ) ) ).
% Set.is_empty_def
thf(fact_224_the__elem__def,axiom,
( the_elem_nat
= ( ^ [X6: set_nat] :
( the_nat
@ ^ [X4: nat] :
( X6
= ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ) ).
% the_elem_def
thf(fact_225_mk__scheme_Osimps_I2_J,axiom,
! [T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
( ( type_M1006385707scheme @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
= ( type_M155660035e_SFun @ ( type_M1006385707scheme @ T1 ) @ ( type_M1006385707scheme @ T2 ) ) ) ).
% mk_scheme.simps(2)
thf(fact_226_Type__Mirabelle__lczmhmumaa_Odom__def,axiom,
( type_Mirabelle_dom
= ( ^ [S4: nat > type_Mirabelle_typ] :
( collect_nat
@ ^ [N3: nat] :
( ( S4 @ N3 )
!= ( type_Mirabelle_TVar @ N3 ) ) ) ) ) ).
% Type_Mirabelle_lczmhmumaa.dom_def
thf(fact_227_id__subst__def,axiom,
type_M405566558_subst = type_Mirabelle_TVar ).
% id_subst_def
thf(fact_228_typ_Oinject_I2_J,axiom,
! [X21: type_Mirabelle_typ,X222: type_Mirabelle_typ,Y21: type_Mirabelle_typ,Y22: type_Mirabelle_typ] :
( ( ( type_Mirabelle_Fun @ X21 @ X222 )
= ( type_Mirabelle_Fun @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X222 = Y22 ) ) ) ).
% typ.inject(2)
thf(fact_229_new__tv__Fun,axiom,
! [N2: nat,T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
( ( type_M1211611096le_typ @ N2 @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
= ( ( type_M1211611096le_typ @ N2 @ T1 )
& ( type_M1211611096le_typ @ N2 @ T2 ) ) ) ).
% new_tv_Fun
thf(fact_230_dom__id__subst,axiom,
( ( type_Mirabelle_dom @ type_M405566558_subst )
= bot_bot_set_nat ) ).
% dom_id_subst
thf(fact_231_psubsetD,axiom,
! [A2: set_nat,B: set_nat,C: nat] :
( ( ord_less_set_nat @ A2 @ B )
=> ( ( member_nat @ C @ A2 )
=> ( member_nat @ C @ B ) ) ) ).
% psubsetD
thf(fact_232_less__set__def,axiom,
( ord_less_set_nat
= ( ^ [A4: set_nat,B4: set_nat] :
( ord_less_nat_o
@ ^ [X4: nat] : ( member_nat @ X4 @ A4 )
@ ^ [X4: nat] : ( member_nat @ X4 @ B4 ) ) ) ) ).
% less_set_def
thf(fact_233_psubset__trans,axiom,
! [A2: set_nat,B: set_nat,C3: set_nat] :
( ( ord_less_set_nat @ A2 @ B )
=> ( ( ord_less_set_nat @ B @ C3 )
=> ( ord_less_set_nat @ A2 @ C3 ) ) ) ).
% psubset_trans
thf(fact_234_new__tv__id__subst,axiom,
! [N2: nat] : ( type_M1734147655le_typ @ N2 @ type_M405566558_subst ) ).
% new_tv_id_subst
thf(fact_235_app__subst__Fun,axiom,
! [S: nat > type_Mirabelle_typ,T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
( ( type_M784671311le_typ @ S @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
= ( type_Mirabelle_Fun @ ( type_M784671311le_typ @ S @ T1 ) @ ( type_M784671311le_typ @ S @ T2 ) ) ) ).
% app_subst_Fun
thf(fact_236_typ_Oexhaust,axiom,
! [Y: type_Mirabelle_typ] :
( ! [X12: nat] :
( Y
!= ( type_Mirabelle_TVar @ X12 ) )
=> ~ ! [X212: type_Mirabelle_typ,X223: type_Mirabelle_typ] :
( Y
!= ( type_Mirabelle_Fun @ X212 @ X223 ) ) ) ).
% typ.exhaust
thf(fact_237_typ_Oinduct,axiom,
! [P: type_Mirabelle_typ > $o,Typ: type_Mirabelle_typ] :
( ! [X: nat] : ( P @ ( type_Mirabelle_TVar @ X ) )
=> ( ! [X1a: type_Mirabelle_typ,X22: type_Mirabelle_typ] :
( ( P @ X1a )
=> ( ( P @ X22 )
=> ( P @ ( type_Mirabelle_Fun @ X1a @ X22 ) ) ) )
=> ( P @ Typ ) ) ) ).
% typ.induct
thf(fact_238_typ_Odistinct_I1_J,axiom,
! [X1: nat,X21: type_Mirabelle_typ,X222: type_Mirabelle_typ] :
( ( type_Mirabelle_TVar @ X1 )
!= ( type_Mirabelle_Fun @ X21 @ X222 ) ) ).
% typ.distinct(1)
thf(fact_239_the__sym__eq__trivial,axiom,
! [X3: nat] :
( ( the_nat
@ ( ^ [Y3: nat,Z: nat] : ( Y3 = Z )
@ X3 ) )
= X3 ) ).
% the_sym_eq_trivial
thf(fact_240_the__eq__trivial,axiom,
! [A: nat] :
( ( the_nat
@ ^ [X4: nat] : ( X4 = A ) )
= A ) ).
% the_eq_trivial
thf(fact_241_the__equality,axiom,
! [P: nat > $o,A: nat] :
( ( P @ A )
=> ( ! [X: nat] :
( ( P @ X )
=> ( X = A ) )
=> ( ( the_nat @ P )
= A ) ) ) ).
% the_equality
thf(fact_242_cod__id__subst,axiom,
( ( type_Mirabelle_cod @ type_M405566558_subst )
= bot_bot_set_nat ) ).
% cod_id_subst
thf(fact_243_theI,axiom,
! [P: nat > $o,A: nat] :
( ( P @ A )
=> ( ! [X: nat] :
( ( P @ X )
=> ( X = A ) )
=> ( P @ ( the_nat @ P ) ) ) ) ).
% theI
thf(fact_244_theI_H,axiom,
! [P: nat > $o] :
( ? [X7: nat] :
( ( P @ X7 )
& ! [Y4: nat] :
( ( P @ Y4 )
=> ( Y4 = X7 ) ) )
=> ( P @ ( the_nat @ P ) ) ) ).
% theI'
thf(fact_245_theI2,axiom,
! [P: nat > $o,A: nat,Q: nat > $o] :
( ( P @ A )
=> ( ! [X: nat] :
( ( P @ X )
=> ( X = A ) )
=> ( ! [X: nat] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( the_nat @ P ) ) ) ) ) ).
% theI2
thf(fact_246_If__def,axiom,
( if_nat
= ( ^ [P3: $o,X4: nat,Y6: nat] :
( the_nat
@ ^ [Z3: nat] :
( ( P3
=> ( Z3 = X4 ) )
& ( ~ P3
=> ( Z3 = Y6 ) ) ) ) ) ) ).
% If_def
thf(fact_247_the1I2,axiom,
! [P: nat > $o,Q: nat > $o] :
( ? [X7: nat] :
( ( P @ X7 )
& ! [Y4: nat] :
( ( P @ Y4 )
=> ( Y4 = X7 ) ) )
=> ( ! [X: nat] :
( ( P @ X )
=> ( Q @ X ) )
=> ( Q @ ( the_nat @ P ) ) ) ) ).
% the1I2
thf(fact_248_the1__equality,axiom,
! [P: nat > $o,A: nat] :
( ? [X7: nat] :
( ( P @ X7 )
& ! [Y4: nat] :
( ( P @ Y4 )
=> ( Y4 = X7 ) ) )
=> ( ( P @ A )
=> ( ( the_nat @ P )
= A ) ) ) ).
% the1_equality
thf(fact_249_Collect__empty__eq__bot,axiom,
! [P: nat > $o] :
( ( ( collect_nat @ P )
= bot_bot_set_nat )
= ( P = bot_bot_nat_o ) ) ).
% Collect_empty_eq_bot
thf(fact_250_bot__empty__eq,axiom,
( bot_bot_nat_o
= ( ^ [X4: nat] : ( member_nat @ X4 @ bot_bot_set_nat ) ) ) ).
% bot_empty_eq
thf(fact_251_free__tv__subst,axiom,
( type_M1715972684le_typ
= ( ^ [S4: nat > type_Mirabelle_typ] : ( sup_sup_set_nat @ ( type_Mirabelle_dom @ S4 ) @ ( type_Mirabelle_cod @ S4 ) ) ) ) ).
% free_tv_subst
thf(fact_252_UnCI,axiom,
! [C: nat,B: set_nat,A2: set_nat] :
( ( ~ ( member_nat @ C @ B )
=> ( member_nat @ C @ A2 ) )
=> ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).
% UnCI
thf(fact_253_Un__iff,axiom,
! [C: nat,A2: set_nat,B: set_nat] :
( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) )
= ( ( member_nat @ C @ A2 )
| ( member_nat @ C @ B ) ) ) ).
% Un_iff
thf(fact_254_Un__empty,axiom,
! [A2: set_nat,B: set_nat] :
( ( ( sup_sup_set_nat @ A2 @ B )
= bot_bot_set_nat )
= ( ( A2 = bot_bot_set_nat )
& ( B = bot_bot_set_nat ) ) ) ).
% Un_empty
thf(fact_255_Un__insert__left,axiom,
! [A: nat,B: set_nat,C3: set_nat] :
( ( sup_sup_set_nat @ ( insert_nat @ A @ B ) @ C3 )
= ( insert_nat @ A @ ( sup_sup_set_nat @ B @ C3 ) ) ) ).
% Un_insert_left
thf(fact_256_Un__insert__right,axiom,
! [A2: set_nat,A: nat,B: set_nat] :
( ( sup_sup_set_nat @ A2 @ ( insert_nat @ A @ B ) )
= ( insert_nat @ A @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).
% Un_insert_right
thf(fact_257_weaken__asm__Un,axiom,
! [A2: set_nat,P: nat > $o,Q: $o,B: set_nat] :
( ( ! [X7: nat] :
( ( member_nat @ X7 @ A2 )
=> ( P @ X7 ) )
=> Q )
=> ( ! [X: nat] :
( ( member_nat @ X @ ( sup_sup_set_nat @ A2 @ B ) )
=> ( P @ X ) )
=> Q ) ) ).
% weaken_asm_Un
thf(fact_258_UnE,axiom,
! [C: nat,A2: set_nat,B: set_nat] :
( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) )
=> ( ~ ( member_nat @ C @ A2 )
=> ( member_nat @ C @ B ) ) ) ).
% UnE
thf(fact_259_UnI1,axiom,
! [C: nat,A2: set_nat,B: set_nat] :
( ( member_nat @ C @ A2 )
=> ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).
% UnI1
thf(fact_260_UnI2,axiom,
! [C: nat,B: set_nat,A2: set_nat] :
( ( member_nat @ C @ B )
=> ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B ) ) ) ).
% UnI2
thf(fact_261_Un__def,axiom,
( sup_sup_set_nat
= ( ^ [A4: set_nat,B4: set_nat] :
( collect_nat
@ ^ [X4: nat] :
( ( member_nat @ X4 @ A4 )
| ( member_nat @ X4 @ B4 ) ) ) ) ) ).
% Un_def
thf(fact_262_bex__Un,axiom,
! [A2: set_nat,B: set_nat,P: nat > $o] :
( ( ? [X4: nat] :
( ( member_nat @ X4 @ ( sup_sup_set_nat @ A2 @ B ) )
& ( P @ X4 ) ) )
= ( ? [X4: nat] :
( ( member_nat @ X4 @ A2 )
& ( P @ X4 ) )
| ? [X4: nat] :
( ( member_nat @ X4 @ B )
& ( P @ X4 ) ) ) ) ).
% bex_Un
thf(fact_263_ball__Un,axiom,
! [A2: set_nat,B: set_nat,P: nat > $o] :
( ( ! [X4: nat] :
( ( member_nat @ X4 @ ( sup_sup_set_nat @ A2 @ B ) )
=> ( P @ X4 ) ) )
= ( ! [X4: nat] :
( ( member_nat @ X4 @ A2 )
=> ( P @ X4 ) )
& ! [X4: nat] :
( ( member_nat @ X4 @ B )
=> ( P @ X4 ) ) ) ) ).
% ball_Un
thf(fact_264_Un__assoc,axiom,
! [A2: set_nat,B: set_nat,C3: set_nat] :
( ( sup_sup_set_nat @ ( sup_sup_set_nat @ A2 @ B ) @ C3 )
= ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ B @ C3 ) ) ) ).
% Un_assoc
thf(fact_265_Un__absorb,axiom,
! [A2: set_nat] :
( ( sup_sup_set_nat @ A2 @ A2 )
= A2 ) ).
% Un_absorb
thf(fact_266_Un__commute,axiom,
( sup_sup_set_nat
= ( ^ [A4: set_nat,B4: set_nat] : ( sup_sup_set_nat @ B4 @ A4 ) ) ) ).
% Un_commute
thf(fact_267_Un__left__absorb,axiom,
! [A2: set_nat,B: set_nat] :
( ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ A2 @ B ) )
= ( sup_sup_set_nat @ A2 @ B ) ) ).
% Un_left_absorb
thf(fact_268_Collect__disj__eq,axiom,
! [P: nat > $o,Q: nat > $o] :
( ( collect_nat
@ ^ [X4: nat] :
( ( P @ X4 )
| ( Q @ X4 ) ) )
= ( sup_sup_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).
% Collect_disj_eq
thf(fact_269_Un__left__commute,axiom,
! [A2: set_nat,B: set_nat,C3: set_nat] :
( ( sup_sup_set_nat @ A2 @ ( sup_sup_set_nat @ B @ C3 ) )
= ( sup_sup_set_nat @ B @ ( sup_sup_set_nat @ A2 @ C3 ) ) ) ).
% Un_left_commute
thf(fact_270_insert__def,axiom,
( insert_nat
= ( ^ [A3: nat] :
( sup_sup_set_nat
@ ( collect_nat
@ ^ [X4: nat] : ( X4 = A3 ) ) ) ) ) ).
% insert_def
thf(fact_271_Un__empty__left,axiom,
! [B: set_nat] :
( ( sup_sup_set_nat @ bot_bot_set_nat @ B )
= B ) ).
% Un_empty_left
thf(fact_272_Un__empty__right,axiom,
! [A2: set_nat] :
( ( sup_sup_set_nat @ A2 @ bot_bot_set_nat )
= A2 ) ).
% Un_empty_right
thf(fact_273_singleton__Un__iff,axiom,
! [X3: nat,A2: set_nat,B: set_nat] :
( ( ( insert_nat @ X3 @ bot_bot_set_nat )
= ( sup_sup_set_nat @ A2 @ B ) )
= ( ( ( A2 = bot_bot_set_nat )
& ( B
= ( insert_nat @ X3 @ bot_bot_set_nat ) ) )
| ( ( A2
= ( insert_nat @ X3 @ bot_bot_set_nat ) )
& ( B = bot_bot_set_nat ) )
| ( ( A2
= ( insert_nat @ X3 @ bot_bot_set_nat ) )
& ( B
= ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ) ) ).
% singleton_Un_iff
thf(fact_274_Un__singleton__iff,axiom,
! [A2: set_nat,B: set_nat,X3: nat] :
( ( ( sup_sup_set_nat @ A2 @ B )
= ( insert_nat @ X3 @ bot_bot_set_nat ) )
= ( ( ( A2 = bot_bot_set_nat )
& ( B
= ( insert_nat @ X3 @ bot_bot_set_nat ) ) )
| ( ( A2
= ( insert_nat @ X3 @ bot_bot_set_nat ) )
& ( B = bot_bot_set_nat ) )
| ( ( A2
= ( insert_nat @ X3 @ bot_bot_set_nat ) )
& ( B
= ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ) ) ).
% Un_singleton_iff
thf(fact_275_insert__is__Un,axiom,
( insert_nat
= ( ^ [A3: nat] : ( sup_sup_set_nat @ ( insert_nat @ A3 @ bot_bot_set_nat ) ) ) ) ).
% insert_is_Un
thf(fact_276_bound__tv__list_Osimps_I2_J,axiom,
! [X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
( ( type_M1539052445le_typ @ ( cons_T363929085le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M801073677le_typ @ X3 ) @ ( type_M1539052445le_typ @ L ) ) ) ).
% bound_tv_list.simps(2)
thf(fact_277_bound__tv__list_Osimps_I2_J,axiom,
! [X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
( ( type_M513401740le_typ @ ( cons_n499085924le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M772783356le_typ @ X3 ) @ ( type_M513401740le_typ @ L ) ) ) ).
% bound_tv_list.simps(2)
thf(fact_278_bound__tv__list_Osimps_I2_J,axiom,
! [X3: list_T247403987scheme,L: list_l1334080099scheme] :
( ( type_M1496178953scheme @ ( cons_l1910959773scheme @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M961603331scheme @ X3 ) @ ( type_M1496178953scheme @ L ) ) ) ).
% bound_tv_list.simps(2)
thf(fact_279_bound__tv__list_Osimps_I2_J,axiom,
! [X3: type_M1694694083scheme,L: list_T247403987scheme] :
( ( type_M961603331scheme @ ( cons_T633159821scheme @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M326705277scheme @ X3 ) @ ( type_M961603331scheme @ L ) ) ) ).
% bound_tv_list.simps(2)
thf(fact_280_free__tv__Fun,axiom,
! [T1: type_Mirabelle_typ,T2: type_Mirabelle_typ] :
( ( type_M49385309le_typ @ ( type_Mirabelle_Fun @ T1 @ T2 ) )
= ( sup_sup_set_nat @ ( type_M49385309le_typ @ T1 ) @ ( type_M49385309le_typ @ T2 ) ) ) ).
% free_tv_Fun
thf(fact_281_free__tv__type__scheme_Osimps_I3_J,axiom,
! [S1: type_M1694694083scheme,S2: type_M1694694083scheme] :
( ( type_M1050318637scheme @ ( type_M155660035e_SFun @ S1 @ S2 ) )
= ( sup_sup_set_nat @ ( type_M1050318637scheme @ S1 ) @ ( type_M1050318637scheme @ S2 ) ) ) ).
% free_tv_type_scheme.simps(3)
thf(fact_282_bound__tv__type__scheme_Osimps_I3_J,axiom,
! [S1: type_M1694694083scheme,S2: type_M1694694083scheme] :
( ( type_M326705277scheme @ ( type_M155660035e_SFun @ S1 @ S2 ) )
= ( sup_sup_set_nat @ ( type_M326705277scheme @ S1 ) @ ( type_M326705277scheme @ S2 ) ) ) ).
% bound_tv_type_scheme.simps(3)
thf(fact_283_free__tv__list_Osimps_I2_J,axiom,
! [X3: list_n396811828le_typ,L: list_l865305402le_typ] :
( ( type_M906078444le_typ @ ( cons_l1800589546le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M1691543772le_typ @ X3 ) @ ( type_M906078444le_typ @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_284_free__tv__list_Osimps_I2_J,axiom,
! [X3: list_l1334080099scheme,L: list_l1704431731scheme] :
( ( type_M1926053183scheme @ ( cons_l531914285scheme @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M1958029241scheme @ X3 ) @ ( type_M1926053183scheme @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_285_free__tv__list_Osimps_I2_J,axiom,
! [X3: list_T1103309005le_typ,L: list_l1790670291le_typ] :
( ( type_M1418941437le_typ @ ( cons_l392684675le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M510873837le_typ @ X3 ) @ ( type_M1418941437le_typ @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_286_free__tv__list_Osimps_I2_J,axiom,
! [X3: type_Mirabelle_typ,L: list_T1103309005le_typ] :
( ( type_M510873837le_typ @ ( cons_T363929085le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M49385309le_typ @ X3 ) @ ( type_M510873837le_typ @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_287_free__tv__list_Osimps_I2_J,axiom,
! [X3: list_T247403987scheme,L: list_l1334080099scheme] :
( ( type_M1958029241scheme @ ( cons_l1910959773scheme @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M141510067scheme @ X3 ) @ ( type_M1958029241scheme @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_288_free__tv__list_Osimps_I2_J,axiom,
! [X3: nat > type_Mirabelle_typ,L: list_n396811828le_typ] :
( ( type_M1691543772le_typ @ ( cons_n499085924le_typ @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M1715972684le_typ @ X3 ) @ ( type_M1691543772le_typ @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_289_free__tv__list_Osimps_I2_J,axiom,
! [X3: type_M1694694083scheme,L: list_T247403987scheme] :
( ( type_M141510067scheme @ ( cons_T633159821scheme @ X3 @ L ) )
= ( sup_sup_set_nat @ ( type_M1050318637scheme @ X3 ) @ ( type_M141510067scheme @ L ) ) ) ).
% free_tv_list.simps(2)
thf(fact_290_free__tv__fun__def,axiom,
( type_M1715972684le_typ
= ( ^ [F2: nat > type_Mirabelle_typ] :
( sup_sup_set_nat
@ ( type_Mirabelle_dom
@ ^ [N3: nat] : ( type_M1743451154le_typ @ ( F2 @ ( type_M1898948661at_nat @ N3 ) ) ) )
@ ( type_Mirabelle_cod
@ ^ [N3: nat] : ( type_M1743451154le_typ @ ( F2 @ ( type_M1898948661at_nat @ N3 ) ) ) ) ) ) ) ).
% free_tv_fun_def
thf(fact_291_sup__bot__left,axiom,
! [X3: nat > $o] :
( ( sup_sup_nat_o @ bot_bot_nat_o @ X3 )
= X3 ) ).
% sup_bot_left
thf(fact_292_sup__bot__left,axiom,
! [X3: set_nat] :
( ( sup_sup_set_nat @ bot_bot_set_nat @ X3 )
= X3 ) ).
% sup_bot_left
thf(fact_293_sup__bot__right,axiom,
! [X3: nat > $o] :
( ( sup_sup_nat_o @ X3 @ bot_bot_nat_o )
= X3 ) ).
% sup_bot_right
thf(fact_294_sup__bot__right,axiom,
! [X3: set_nat] :
( ( sup_sup_set_nat @ X3 @ bot_bot_set_nat )
= X3 ) ).
% sup_bot_right
thf(fact_295_sup__bot_Oright__neutral,axiom,
! [A: nat > $o] :
( ( sup_sup_nat_o @ A @ bot_bot_nat_o )
= A ) ).
% sup_bot.right_neutral
thf(fact_296_sup__bot_Oright__neutral,axiom,
! [A: set_nat] :
( ( sup_sup_set_nat @ A @ bot_bot_set_nat )
= A ) ).
% sup_bot.right_neutral
thf(fact_297_sup__bot_Oneutr__eq__iff,axiom,
! [A: nat > $o,B2: nat > $o] :
( ( bot_bot_nat_o
= ( sup_sup_nat_o @ A @ B2 ) )
= ( ( A = bot_bot_nat_o )
& ( B2 = bot_bot_nat_o ) ) ) ).
% sup_bot.neutr_eq_iff
thf(fact_298_sup__bot_Oneutr__eq__iff,axiom,
! [A: set_nat,B2: set_nat] :
( ( bot_bot_set_nat
= ( sup_sup_set_nat @ A @ B2 ) )
= ( ( A = bot_bot_set_nat )
& ( B2 = bot_bot_set_nat ) ) ) ).
% sup_bot.neutr_eq_iff
thf(fact_299_sup__bot_Oleft__neutral,axiom,
! [A: nat > $o] :
( ( sup_sup_nat_o @ bot_bot_nat_o @ A )
= A ) ).
% sup_bot.left_neutral
thf(fact_300_sup__bot_Oleft__neutral,axiom,
! [A: set_nat] :
( ( sup_sup_set_nat @ bot_bot_set_nat @ A )
= A ) ).
% sup_bot.left_neutral
thf(fact_301_sup__bot_Oeq__neutr__iff,axiom,
! [A: nat > $o,B2: nat > $o] :
( ( ( sup_sup_nat_o @ A @ B2 )
= bot_bot_nat_o )
= ( ( A = bot_bot_nat_o )
& ( B2 = bot_bot_nat_o ) ) ) ).
% sup_bot.eq_neutr_iff
thf(fact_302_sup__bot_Oeq__neutr__iff,axiom,
! [A: set_nat,B2: set_nat] :
( ( ( sup_sup_set_nat @ A @ B2 )
= bot_bot_set_nat )
= ( ( A = bot_bot_set_nat )
& ( B2 = bot_bot_set_nat ) ) ) ).
% sup_bot.eq_neutr_iff
thf(fact_303_sup__eq__bot__iff,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( ( sup_sup_nat_o @ X3 @ Y )
= bot_bot_nat_o )
= ( ( X3 = bot_bot_nat_o )
& ( Y = bot_bot_nat_o ) ) ) ).
% sup_eq_bot_iff
thf(fact_304_sup__eq__bot__iff,axiom,
! [X3: set_nat,Y: set_nat] :
( ( ( sup_sup_set_nat @ X3 @ Y )
= bot_bot_set_nat )
= ( ( X3 = bot_bot_set_nat )
& ( Y = bot_bot_set_nat ) ) ) ).
% sup_eq_bot_iff
thf(fact_305_bot__eq__sup__iff,axiom,
! [X3: nat > $o,Y: nat > $o] :
( ( bot_bot_nat_o
= ( sup_sup_nat_o @ X3 @ Y ) )
= ( ( X3 = bot_bot_nat_o )
& ( Y = bot_bot_nat_o ) ) ) ).
% bot_eq_sup_iff
thf(fact_306_bot__eq__sup__iff,axiom,
! [X3: set_nat,Y: set_nat] :
( ( bot_bot_set_nat
= ( sup_sup_set_nat @ X3 @ Y ) )
= ( ( X3 = bot_bot_set_nat )
& ( Y = bot_bot_set_nat ) ) ) ).
% bot_eq_sup_iff
thf(fact_307_sup__Un__eq,axiom,
! [R: set_nat,S: set_nat] :
( ( sup_sup_nat_o
@ ^ [X4: nat] : ( member_nat @ X4 @ R )
@ ^ [X4: nat] : ( member_nat @ X4 @ S ) )
= ( ^ [X4: nat] : ( member_nat @ X4 @ ( sup_sup_set_nat @ R @ S ) ) ) ) ).
% sup_Un_eq
thf(fact_308_sup__set__def,axiom,
( sup_sup_set_nat
= ( ^ [A4: set_nat,B4: set_nat] :
( collect_nat
@ ( sup_sup_nat_o
@ ^ [X4: nat] : ( member_nat @ X4 @ A4 )
@ ^ [X4: nat] : ( member_nat @ X4 @ B4 ) ) ) ) ) ).
% sup_set_def
thf(fact_309_less__supI1,axiom,
! [X3: nat > $o,A: nat > $o,B2: nat > $o] :
( ( ord_less_nat_o @ X3 @ A )
=> ( ord_less_nat_o @ X3 @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).
% less_supI1
thf(fact_310_less__supI1,axiom,
! [X3: set_nat,A: set_nat,B2: set_nat] :
( ( ord_less_set_nat @ X3 @ A )
=> ( ord_less_set_nat @ X3 @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).
% less_supI1
thf(fact_311_less__supI1,axiom,
! [X3: nat,A: nat,B2: nat] :
( ( ord_less_nat @ X3 @ A )
=> ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B2 ) ) ) ).
% less_supI1
thf(fact_312_less__supI2,axiom,
! [X3: nat > $o,B2: nat > $o,A: nat > $o] :
( ( ord_less_nat_o @ X3 @ B2 )
=> ( ord_less_nat_o @ X3 @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).
% less_supI2
thf(fact_313_less__supI2,axiom,
! [X3: set_nat,B2: set_nat,A: set_nat] :
( ( ord_less_set_nat @ X3 @ B2 )
=> ( ord_less_set_nat @ X3 @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).
% less_supI2
thf(fact_314_less__supI2,axiom,
! [X3: nat,B2: nat,A: nat] :
( ( ord_less_nat @ X3 @ B2 )
=> ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B2 ) ) ) ).
% less_supI2
thf(fact_315_sup_Ostrict__boundedE,axiom,
! [B2: nat > $o,C: nat > $o,A: nat > $o] :
( ( ord_less_nat_o @ ( sup_sup_nat_o @ B2 @ C ) @ A )
=> ~ ( ( ord_less_nat_o @ B2 @ A )
=> ~ ( ord_less_nat_o @ C @ A ) ) ) ).
% sup.strict_boundedE
thf(fact_316_sup_Ostrict__boundedE,axiom,
! [B2: set_nat,C: set_nat,A: set_nat] :
( ( ord_less_set_nat @ ( sup_sup_set_nat @ B2 @ C ) @ A )
=> ~ ( ( ord_less_set_nat @ B2 @ A )
=> ~ ( ord_less_set_nat @ C @ A ) ) ) ).
% sup.strict_boundedE
thf(fact_317_sup_Ostrict__boundedE,axiom,
! [B2: nat,C: nat,A: nat] :
( ( ord_less_nat @ ( sup_sup_nat @ B2 @ C ) @ A )
=> ~ ( ( ord_less_nat @ B2 @ A )
=> ~ ( ord_less_nat @ C @ A ) ) ) ).
% sup.strict_boundedE
thf(fact_318_sup_Ostrict__order__iff,axiom,
( ord_less_nat_o
= ( ^ [B6: nat > $o,A3: nat > $o] :
( ( A3
= ( sup_sup_nat_o @ A3 @ B6 ) )
& ( A3 != B6 ) ) ) ) ).
% sup.strict_order_iff
thf(fact_319_sup_Ostrict__order__iff,axiom,
( ord_less_set_nat
= ( ^ [B6: set_nat,A3: set_nat] :
( ( A3
= ( sup_sup_set_nat @ A3 @ B6 ) )
& ( A3 != B6 ) ) ) ) ).
% sup.strict_order_iff
thf(fact_320_sup_Ostrict__order__iff,axiom,
( ord_less_nat
= ( ^ [B6: nat,A3: nat] :
( ( A3
= ( sup_sup_nat @ A3 @ B6 ) )
& ( A3 != B6 ) ) ) ) ).
% sup.strict_order_iff
thf(fact_321_sup_Ostrict__coboundedI1,axiom,
! [C: nat > $o,A: nat > $o,B2: nat > $o] :
( ( ord_less_nat_o @ C @ A )
=> ( ord_less_nat_o @ C @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).
% sup.strict_coboundedI1
thf(fact_322_sup_Ostrict__coboundedI1,axiom,
! [C: set_nat,A: set_nat,B2: set_nat] :
( ( ord_less_set_nat @ C @ A )
=> ( ord_less_set_nat @ C @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).
% sup.strict_coboundedI1
thf(fact_323_sup_Ostrict__coboundedI1,axiom,
! [C: nat,A: nat,B2: nat] :
( ( ord_less_nat @ C @ A )
=> ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B2 ) ) ) ).
% sup.strict_coboundedI1
thf(fact_324_sup_Ostrict__coboundedI2,axiom,
! [C: nat > $o,B2: nat > $o,A: nat > $o] :
( ( ord_less_nat_o @ C @ B2 )
=> ( ord_less_nat_o @ C @ ( sup_sup_nat_o @ A @ B2 ) ) ) ).
% sup.strict_coboundedI2
thf(fact_325_sup_Ostrict__coboundedI2,axiom,
! [C: set_nat,B2: set_nat,A: set_nat] :
( ( ord_less_set_nat @ C @ B2 )
=> ( ord_less_set_nat @ C @ ( sup_sup_set_nat @ A @ B2 ) ) ) ).
% sup.strict_coboundedI2
thf(fact_326_sup_Ostrict__coboundedI2,axiom,
! [C: nat,B2: nat,A: nat] :
( ( ord_less_nat @ C @ B2 )
=> ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B2 ) ) ) ).
% sup.strict_coboundedI2
thf(fact_327_Nitpick_OThe__psimp,axiom,
! [P: nat > $o,X3: nat] :
( ( P
= ( ^ [Y3: nat,Z: nat] : ( Y3 = Z )
@ X3 ) )
=> ( ( the_nat @ P )
= X3 ) ) ).
% Nitpick.The_psimp
thf(fact_328_theI__unique,axiom,
! [P: nat > $o,X3: nat] :
( ? [X7: nat] :
( ( P @ X7 )
& ! [Y4: nat] :
( ( P @ Y4 )
=> ( Y4 = X7 ) ) )
=> ( ( P @ X3 )
= ( X3
= ( the_nat @ P ) ) ) ) ).
% theI_unique
thf(fact_329_sup__bot_Osemilattice__neutr__axioms,axiom,
semila1414375521_nat_o @ sup_sup_nat_o @ bot_bot_nat_o ).
% sup_bot.semilattice_neutr_axioms
thf(fact_330_sup__bot_Osemilattice__neutr__axioms,axiom,
semila1369944356et_nat @ sup_sup_set_nat @ bot_bot_set_nat ).
% sup_bot.semilattice_neutr_axioms
thf(fact_331_lexordp__eq__simps_I4_J,axiom,
! [X3: set_nat,Xs: list_set_nat,Y: set_nat,Ys: list_set_nat] :
( ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) )
= ( ( ord_less_set_nat @ X3 @ Y )
| ( ~ ( ord_less_set_nat @ Y @ X3 )
& ( ord_le727790544et_nat @ Xs @ Ys ) ) ) ) ).
% lexordp_eq_simps(4)
thf(fact_332_lexordp__eq__simps_I4_J,axiom,
! [X3: nat > $o,Xs: list_nat_o,Y: nat > $o,Ys: list_nat_o] :
( ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) )
= ( ( ord_less_nat_o @ X3 @ Y )
| ( ~ ( ord_less_nat_o @ Y @ X3 )
& ( ord_lexordp_eq_nat_o @ Xs @ Ys ) ) ) ) ).
% lexordp_eq_simps(4)
thf(fact_333_lexordp__eq__simps_I4_J,axiom,
! [X3: nat,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) )
= ( ( ord_less_nat @ X3 @ Y )
| ( ~ ( ord_less_nat @ Y @ X3 )
& ( ord_lexordp_eq_nat @ Xs @ Ys ) ) ) ) ).
% lexordp_eq_simps(4)
thf(fact_334_lexordp__eq_OCons__eq,axiom,
! [X3: set_nat,Y: set_nat,Xs: list_set_nat,Ys: list_set_nat] :
( ~ ( ord_less_set_nat @ X3 @ Y )
=> ( ~ ( ord_less_set_nat @ Y @ X3 )
=> ( ( ord_le727790544et_nat @ Xs @ Ys )
=> ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) ) ) ) ) ).
% lexordp_eq.Cons_eq
thf(fact_335_lexordp__eq_OCons__eq,axiom,
! [X3: nat > $o,Y: nat > $o,Xs: list_nat_o,Ys: list_nat_o] :
( ~ ( ord_less_nat_o @ X3 @ Y )
=> ( ~ ( ord_less_nat_o @ Y @ X3 )
=> ( ( ord_lexordp_eq_nat_o @ Xs @ Ys )
=> ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) ) ) ) ) ).
% lexordp_eq.Cons_eq
thf(fact_336_lexordp__eq_OCons__eq,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
( ~ ( ord_less_nat @ X3 @ Y )
=> ( ~ ( ord_less_nat @ Y @ X3 )
=> ( ( ord_lexordp_eq_nat @ Xs @ Ys )
=> ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ) ) ).
% lexordp_eq.Cons_eq
thf(fact_337_lexordp__eq_OCons,axiom,
! [X3: set_nat,Y: set_nat,Xs: list_set_nat,Ys: list_set_nat] :
( ( ord_less_set_nat @ X3 @ Y )
=> ( ord_le727790544et_nat @ ( cons_set_nat @ X3 @ Xs ) @ ( cons_set_nat @ Y @ Ys ) ) ) ).
% lexordp_eq.Cons
thf(fact_338_lexordp__eq_OCons,axiom,
! [X3: nat > $o,Y: nat > $o,Xs: list_nat_o,Ys: list_nat_o] :
( ( ord_less_nat_o @ X3 @ Y )
=> ( ord_lexordp_eq_nat_o @ ( cons_nat_o @ X3 @ Xs ) @ ( cons_nat_o @ Y @ Ys ) ) ) ).
% lexordp_eq.Cons
thf(fact_339_lexordp__eq_OCons,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ).
% lexordp_eq.Cons
thf(fact_340_lexordp__eq__antisym,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ord_lexordp_eq_nat @ Xs @ Ys )
=> ( ( ord_lexordp_eq_nat @ Ys @ Xs )
=> ( Xs = Ys ) ) ) ).
% lexordp_eq_antisym
thf(fact_341_lexordp__eq__linear,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ord_lexordp_eq_nat @ Xs @ Ys )
| ( ord_lexordp_eq_nat @ Ys @ Xs ) ) ).
% lexordp_eq_linear
thf(fact_342_lexordp__eq__trans,axiom,
! [Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( ord_lexordp_eq_nat @ Xs @ Ys )
=> ( ( ord_lexordp_eq_nat @ Ys @ Zs )
=> ( ord_lexordp_eq_nat @ Xs @ Zs ) ) ) ).
% lexordp_eq_trans
thf(fact_343_lexordp__eq__refl,axiom,
! [Xs: list_nat] : ( ord_lexordp_eq_nat @ Xs @ Xs ) ).
% lexordp_eq_refl
thf(fact_344_lexordp__eq_Ocases,axiom,
! [A1: list_set_nat,A22: list_set_nat] :
( ( ord_le727790544et_nat @ A1 @ A22 )
=> ( ( A1 != nil_set_nat )
=> ( ! [X: set_nat] :
( ? [Xs2: list_set_nat] :
( A1
= ( cons_set_nat @ X @ Xs2 ) )
=> ! [Y4: set_nat] :
( ? [Ys2: list_set_nat] :
( A22
= ( cons_set_nat @ Y4 @ Ys2 ) )
=> ~ ( ord_less_set_nat @ X @ Y4 ) ) )
=> ~ ! [X: set_nat,Y4: set_nat,Xs2: list_set_nat] :
( ( A1
= ( cons_set_nat @ X @ Xs2 ) )
=> ! [Ys2: list_set_nat] :
( ( A22
= ( cons_set_nat @ Y4 @ Ys2 ) )
=> ( ~ ( ord_less_set_nat @ X @ Y4 )
=> ( ~ ( ord_less_set_nat @ Y4 @ X )
=> ~ ( ord_le727790544et_nat @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% lexordp_eq.cases
thf(fact_345_lexordp__eq_Ocases,axiom,
! [A1: list_nat_o,A22: list_nat_o] :
( ( ord_lexordp_eq_nat_o @ A1 @ A22 )
=> ( ( A1 != nil_nat_o )
=> ( ! [X: nat > $o] :
( ? [Xs2: list_nat_o] :
( A1
= ( cons_nat_o @ X @ Xs2 ) )
=> ! [Y4: nat > $o] :
( ? [Ys2: list_nat_o] :
( A22
= ( cons_nat_o @ Y4 @ Ys2 ) )
=> ~ ( ord_less_nat_o @ X @ Y4 ) ) )
=> ~ ! [X: nat > $o,Y4: nat > $o,Xs2: list_nat_o] :
( ( A1
= ( cons_nat_o @ X @ Xs2 ) )
=> ! [Ys2: list_nat_o] :
( ( A22
= ( cons_nat_o @ Y4 @ Ys2 ) )
=> ( ~ ( ord_less_nat_o @ X @ Y4 )
=> ( ~ ( ord_less_nat_o @ Y4 @ X )
=> ~ ( ord_lexordp_eq_nat_o @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% lexordp_eq.cases
thf(fact_346_lexordp__eq_Ocases,axiom,
! [A1: list_nat,A22: list_nat] :
( ( ord_lexordp_eq_nat @ A1 @ A22 )
=> ( ( A1 != nil_nat )
=> ( ! [X: nat] :
( ? [Xs2: list_nat] :
( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Y4: nat] :
( ? [Ys2: list_nat] :
( A22
= ( cons_nat @ Y4 @ Ys2 ) )
=> ~ ( ord_less_nat @ X @ Y4 ) ) )
=> ~ ! [X: nat,Y4: nat,Xs2: list_nat] :
( ( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Ys2: list_nat] :
( ( A22
= ( cons_nat @ Y4 @ Ys2 ) )
=> ( ~ ( ord_less_nat @ X @ Y4 )
=> ( ~ ( ord_less_nat @ Y4 @ X )
=> ~ ( ord_lexordp_eq_nat @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% lexordp_eq.cases
thf(fact_347_lexordp__eq_Osimps,axiom,
( ord_le727790544et_nat
= ( ^ [A12: list_set_nat,A23: list_set_nat] :
( ? [Ys3: list_set_nat] :
( ( A12 = nil_set_nat )
& ( A23 = Ys3 ) )
| ? [X4: set_nat,Y6: set_nat,Xs3: list_set_nat,Ys3: list_set_nat] :
( ( A12
= ( cons_set_nat @ X4 @ Xs3 ) )
& ( A23
= ( cons_set_nat @ Y6 @ Ys3 ) )
& ( ord_less_set_nat @ X4 @ Y6 ) )
| ? [X4: set_nat,Y6: set_nat,Xs3: list_set_nat,Ys3: list_set_nat] :
( ( A12
= ( cons_set_nat @ X4 @ Xs3 ) )
& ( A23
= ( cons_set_nat @ Y6 @ Ys3 ) )
& ~ ( ord_less_set_nat @ X4 @ Y6 )
& ~ ( ord_less_set_nat @ Y6 @ X4 )
& ( ord_le727790544et_nat @ Xs3 @ Ys3 ) ) ) ) ) ).
% lexordp_eq.simps
thf(fact_348_lexordp__eq_Osimps,axiom,
( ord_lexordp_eq_nat_o
= ( ^ [A12: list_nat_o,A23: list_nat_o] :
( ? [Ys3: list_nat_o] :
( ( A12 = nil_nat_o )
& ( A23 = Ys3 ) )
| ? [X4: nat > $o,Y6: nat > $o,Xs3: list_nat_o,Ys3: list_nat_o] :
( ( A12
= ( cons_nat_o @ X4 @ Xs3 ) )
& ( A23
= ( cons_nat_o @ Y6 @ Ys3 ) )
& ( ord_less_nat_o @ X4 @ Y6 ) )
| ? [X4: nat > $o,Y6: nat > $o,Xs3: list_nat_o,Ys3: list_nat_o] :
( ( A12
= ( cons_nat_o @ X4 @ Xs3 ) )
& ( A23
= ( cons_nat_o @ Y6 @ Ys3 ) )
& ~ ( ord_less_nat_o @ X4 @ Y6 )
& ~ ( ord_less_nat_o @ Y6 @ X4 )
& ( ord_lexordp_eq_nat_o @ Xs3 @ Ys3 ) ) ) ) ) ).
% lexordp_eq.simps
thf(fact_349_lexordp__eq_Osimps,axiom,
( ord_lexordp_eq_nat
= ( ^ [A12: list_nat,A23: list_nat] :
( ? [Ys3: list_nat] :
( ( A12 = nil_nat )
& ( A23 = Ys3 ) )
| ? [X4: nat,Y6: nat,Xs3: list_nat,Ys3: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A23
= ( cons_nat @ Y6 @ Ys3 ) )
& ( ord_less_nat @ X4 @ Y6 ) )
| ? [X4: nat,Y6: nat,Xs3: list_nat,Ys3: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A23
= ( cons_nat @ Y6 @ Ys3 ) )
& ~ ( ord_less_nat @ X4 @ Y6 )
& ~ ( ord_less_nat @ Y6 @ X4 )
& ( ord_lexordp_eq_nat @ Xs3 @ Ys3 ) ) ) ) ) ).
% lexordp_eq.simps
thf(fact_350_app__subst__Nil,axiom,
! [S: nat > type_Mirabelle_typ] :
( ( type_M1944210753scheme @ S @ nil_Ty61485117scheme )
= nil_Ty61485117scheme ) ).
% app_subst_Nil
thf(fact_351_new__tv__Nil,axiom,
! [N2: nat] : ( type_M2064939256scheme @ N2 @ nil_Ty61485117scheme ) ).
% new_tv_Nil
thf(fact_352_free__tv__list_Osimps_I1_J,axiom,
( ( type_M141510067scheme @ nil_Ty61485117scheme )
= bot_bot_set_nat ) ).
% free_tv_list.simps(1)
thf(fact_353_lexordp__eq_Oinducts,axiom,
! [X1: list_nat,X2: list_nat,P: list_nat > list_nat > $o] :
( ( ord_lexordp_eq_nat @ X1 @ X2 )
=> ( ! [X_1: list_nat] : ( P @ nil_nat @ X_1 )
=> ( ! [X: nat,Y4: nat,Xs2: list_nat,Ys2: list_nat] :
( ( ord_less_nat @ X @ Y4 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y4 @ Ys2 ) ) )
=> ( ! [X: nat,Y4: nat,Xs2: list_nat,Ys2: list_nat] :
( ~ ( ord_less_nat @ X @ Y4 )
=> ( ~ ( ord_less_nat @ Y4 @ X )
=> ( ( ord_lexordp_eq_nat @ Xs2 @ Ys2 )
=> ( ( P @ Xs2 @ Ys2 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y4 @ Ys2 ) ) ) ) ) )
=> ( P @ X1 @ X2 ) ) ) ) ) ).
% lexordp_eq.inducts
% Helper facts (5)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
! [X3: nat,Y: nat] :
( ( if_nat @ $false @ X3 @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
! [X3: nat,Y: nat] :
( ( if_nat @ $true @ X3 @ Y )
= X3 ) ).
thf(help_If_3_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
! [X3: type_Mirabelle_typ,Y: type_Mirabelle_typ] :
( ( if_Typ1169047309le_typ @ $false @ X3 @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Type____Mirabelle____lczmhmumaa__Otyp_T,axiom,
! [X3: type_Mirabelle_typ,Y: type_Mirabelle_typ] :
( ( if_Typ1169047309le_typ @ $true @ X3 @ Y )
= X3 ) ).
% Conjectures (1)
thf(conj_0,conjecture,
( ( ( type_M1690910139scheme @ s1 @ ( type_M876316792e_FVar @ x ) )
!= ( type_M1690910139scheme @ s2 @ ( type_M876316792e_FVar @ x ) ) )
| ~ ( member_nat @ n @ ( type_M1050318637scheme @ ( type_M876316792e_FVar @ x ) ) )
| ( ( s1 @ n )
= ( s2 @ n ) ) ) ).
%------------------------------------------------------------------------------