TPTP Problem File: SLH0667^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SLH0000^1 : TPTP v8.2.0. Released v8.2.0.
% Domain   : Archive of Formal Proofs
% Problem  :
% Version  : Especial.
% English  :

% Refs     : [Des23] Desharnais (2023), Email to Geoff Sutcliffe
% Source   : [Des23]
% Names    : FO_Theory_Rewriting/0051_Multihole_Context/prob_00717_028768__18387224_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1775 ( 532 unt; 507 typ;   0 def)
%            Number of atoms       : 3588 (1905 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 15444 ( 295   ~;  37   |; 316   &;13112   @)
%                                         (   0 <=>;1684  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   20 (   7 avg)
%            Number of types       :   92 (  91 usr)
%            Number of type conns  : 1650 (1650   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  419 ( 416 usr;  14 con; 0-4 aty)
%            Number of variables   : 4333 ( 422   ^;3719   !; 192   ?;4333   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 12:00:59.948
%------------------------------------------------------------------------------
% Could-be-implicit typings (91)
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    list_P663537975658872777xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    set_Pr5222055312091025827xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    produc8494127946848941123xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    list_l3617196278519756467xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    list_P7131842637323686376xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_P1130580517404809453xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_P722677779202446637xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    set_Pr2918931875556005383xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    produc6905895558583355234xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc5546905550855713759rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc5791087442059780829xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_P8932400424873733501xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    list_P1100658841456022751rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_P342565762343447473xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    list_l6286693285371147089xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc1652119919080531751xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr192029575336711557rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    set_Pr8657308533078912087xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J_J,type,
    list_l5863831568797673340at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    list_P7973965478605097563rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J_J,type,
    list_P3344321720179456347_b_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    list_P2568480811734797659rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    list_P7940050157051400743st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc5516998621787785453xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc7015972594829525327rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc8346249999211258145xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_P3228452592230693057xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_J,type,
    list_P7850246372177104155_b_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    set_Pr3485164024271251509rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J_J,type,
    set_Pr8078892302700386101_b_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr7303051394255727413rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr3451248702717554689st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    set_Pr7474715036530099303xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_J,type,
    set_Pr2873136779621734593_b_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J_J,type,
    list_l6915976087506121044rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_J,type,
    list_l3111452873741819806xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_P2642790186314576758at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    list_P5366131564312172150at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    set_Pr9093778441882193744at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc6666515723797200341rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J,type,
    produc986806506860309717_b_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc7711739908350443733rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc1828647624359046049st_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_J,type,
    list_P4523178631563835595_b_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    list_P2364656488115551307rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    list_P7736225833432154391st_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    list_P5364314822750548887at_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_l3264859301627795341at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc6098685572150017969xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    produc7404713482084229387_b_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_J,type,
    set_Pr6708357783813671845_b_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr4549835640365387557rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr698032948827214833st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    set_Pr7549493975000385137at_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    list_l5544744485257374276rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_l2176991360922390168xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    set_li1439839802225400298rm_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    list_s5999687805303231594rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    set_li4886898032268842354xt_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    list_s6576866909217585906xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc85711943791777264at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc8199716216217303280at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    produc2720409071189015237_b_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc1234881154892807749rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc4575160907756185873st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc1540777390238407569at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_P6011104703257516679at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr1261947904930325089at_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    list_list_term_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    list_list_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    list_M4548637025958506770xt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_list_term_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    set_list_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    list_set_term_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    list_set_list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    set_Mu3903433398966807788xt_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    product_prod_nat_nat: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_nat_nat: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_nat_nat: $tType ).

thf(ty_n_t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    list_term_a_b: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    list_list_nat: $tType ).

thf(ty_n_t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    multihole_mctxt_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    set_term_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    set_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    list_set_nat: $tType ).

thf(ty_n_t__Term__Oterm_Itf__a_Mtf__b_J,type,
    term_a_b: $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__String__Ochar,type,
    char: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (416)
thf(sy_c_Euclidean__Division_Odivmod__nat,type,
    euclidean_divmod_nat: nat > nat > product_prod_nat_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
    minus_minus_nat: nat > nat > nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Groups__List_Omonoid__add__class_Osum__list_001t__Nat__Onat,type,
    groups4561878855575611511st_nat: list_nat > nat ).

thf(sy_c_HOL_Oundefined_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    undefi1222260922581163068rm_a_b: list_term_a_b ).

thf(sy_c_If_001t__Nat__Onat,type,
    if_nat: $o > nat > nat > nat ).

thf(sy_c_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    if_Pro6206227464963214023at_nat: $o > product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_List_Oappend_001t__Nat__Onat,type,
    append_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Oconcat_001t__List__Olist_It__Nat__Onat_J,type,
    concat_list_nat: list_list_list_nat > list_list_nat ).

thf(sy_c_List_Oconcat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    concat_list_term_a_b: list_l5544744485257374276rm_a_b > list_list_term_a_b ).

thf(sy_c_List_Oconcat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    concat7497117511338392013xt_a_b: list_l2176991360922390168xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Oconcat_001t__Nat__Onat,type,
    concat_nat: list_list_nat > list_nat ).

thf(sy_c_List_Oconcat_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    concat821400627202602033at_nat: list_l5863831568797673340at_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Oconcat_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    concat9016633620628051560xt_a_b: list_l3617196278519756467xt_a_b > list_P722677779202446637xt_a_b ).

thf(sy_c_List_Oconcat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    concat8681262159275538352xt_a_b: list_l6286693285371147089xt_a_b > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Oconcat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    concat7691415812945658306at_nat: list_l3264859301627795341at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oconcat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    concat_term_a_b: list_list_term_a_b > list_term_a_b ).

thf(sy_c_List_Odrop_001t__Nat__Onat,type,
    drop_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    cons_nat_nat: ( nat > nat ) > list_nat_nat > list_nat_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Nat__Onat_J,type,
    cons_list_nat: list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    cons_list_term_a_b: list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_OCons_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    cons_M2296632834101222338xt_a_b: multihole_mctxt_a_b > list_M4548637025958506770xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
    cons_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    cons_P4219629788700907686at_nat: produc8199716216217303280at_nat > list_P5366131564312172150at_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    cons_P5326967860006940539xt_a_b: produc6098685572150017969xt_a_b > list_P3228452592230693057xt_a_b > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    cons_P6512896166579812791at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_OCons_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    cons_term_a_b: term_a_b > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    map_na1011612288921435825at_nat: ( ( nat > nat ) > list_P5366131564312172150at_nat ) > list_nat_nat > list_l5863831568797673340at_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_li2855073862107769254st_nat: ( list_list_nat > list_list_nat ) > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_li8738166146099166938rm_a_b: ( list_list_nat > list_term_a_b ) > list_list_list_nat > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__Nat__Onat,type,
    map_li3275209578935457798at_nat: ( list_list_nat > nat ) > list_list_list_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_li9151929291086073246rm_a_b: ( list_list_term_a_b > list_term_a_b ) > list_l5544744485257374276rm_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__Nat__Onat,type,
    map_li4635931238991055562_b_nat: ( list_list_term_a_b > nat ) > list_l5544744485257374276rm_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    map_li1058689816389892766_b_nat: ( list_M4548637025958506770xt_a_b > nat ) > list_l2176991360922390168xt_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_li960784813134754710st_nat: ( list_nat > list_list_nat ) > list_list_nat > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    map_li7961330073342607834rm_a_b: ( list_nat > list_list_term_a_b ) > list_list_nat > list_l5544744485257374276rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_li7225945977422193158st_nat: ( list_nat > list_nat ) > list_list_nat > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_li6843877097126152394rm_a_b: ( list_nat > list_term_a_b ) > list_list_nat > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_li5320760322766927206xt_a_b: ( list_nat > multihole_mctxt_a_b ) > list_list_nat > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    map_list_nat_nat: ( list_nat > nat ) > list_list_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_li459708541515338042rm_a_b: ( list_nat > term_a_b ) > list_list_nat > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    map_li460715359580240059rm_a_b: ( list_P3228452592230693057xt_a_b > list_list_term_a_b ) > list_l6286693285371147089xt_a_b > list_l5544744485257374276rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_li610973864659103758rm_a_b: ( list_term_a_b > list_term_a_b ) > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    map_li2434073387748744506_b_nat: ( list_term_a_b > nat ) > list_list_term_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    map_Mu2778105981428788453xt_a_b: ( multihole_mctxt_a_b > list_P722677779202446637xt_a_b ) > list_M4548637025958506770xt_a_b > list_l3617196278519756467xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Mu8972564216984745708rm_a_b: ( multihole_mctxt_a_b > list_term_a_b ) > list_M4548637025958506770xt_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Mu1774380283460411076xt_a_b: ( multihole_mctxt_a_b > multihole_mctxt_a_b ) > list_M4548637025958506770xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    map_Mu2779885106702152216_b_nat: ( multihole_mctxt_a_b > nat ) > list_M4548637025958506770xt_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_Mu2085209600703003359xt_a_b: ( multihole_mctxt_a_b > produc1652119919080531751xt_a_b ) > list_M4548637025958506770xt_a_b > list_P722677779202446637xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_nat_nat_nat: ( nat > nat > nat ) > list_nat > list_nat_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    map_na7275842613452183514rm_a_b: ( nat > list_l5544744485257374276rm_a_b ) > list_nat > list_l6915976087506121044rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    map_na8347210260043766658xt_a_b: ( nat > list_l2176991360922390168xt_a_b ) > list_nat > list_l3111452873741819806xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_na6205611841492582150st_nat: ( nat > list_list_nat ) > list_nat > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    map_na6169479277252629834rm_a_b: ( nat > list_list_term_a_b ) > list_nat > list_l5544744485257374276rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    map_nat_list_nat: ( nat > list_nat ) > list_nat > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_na4561905831291441265at_nat: ( nat > list_P6011104703257516679at_nat ) > list_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_na2865332088629204026rm_a_b: ( nat > list_term_a_b ) > list_nat > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_na2920055545220517366xt_a_b: ( nat > multihole_mctxt_a_b ) > list_nat > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Nat__Onat,type,
    map_nat_nat: ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    map_na6722963242033808602at_nat: ( nat > produc8199716216217303280at_nat ) > list_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    map_na7104347607807304843st_nat: ( nat > produc1828647624359046049st_nat ) > list_nat > list_P7940050157051400743st_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_na7140517673233189559xt_a_b: ( nat > produc8346249999211258145xt_a_b ) > list_nat > list_P342565762343447473xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    map_na91578518272332155at_nat: ( nat > produc1540777390238407569at_nat ) > list_nat > list_P5364314822750548887at_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    map_na8501632657063841185_b_nat: ( nat > produc7404713482084229387_b_nat ) > list_nat > list_P7850246372177104155_b_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    map_na3125962035790110459st_nat: ( nat > produc4575160907756185873st_nat ) > list_nat > list_P7736225833432154391st_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_na7195604747129629767xt_a_b: ( nat > produc6098685572150017969xt_a_b ) > list_nat > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_na7298421622053143531at_nat: ( nat > product_prod_nat_nat ) > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_na9009054319781508143rm_a_b: ( nat > produc1234881154892807749rm_a_b ) > list_nat > list_P2364656488115551307rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    map_na1271210199222939823_b_nat: ( nat > produc2720409071189015237_b_nat ) > list_nat > list_P4523178631563835595_b_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_nat_term_a_b: ( nat > term_a_b ) > list_nat > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    map_Pr3320853351916576324at_nat: ( produc8199716216217303280at_nat > produc8199716216217303280at_nat ) > list_P5366131564312172150at_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_Pr6983766353102373973at_nat: ( produc8199716216217303280at_nat > product_prod_nat_nat ) > list_P5366131564312172150at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_Pr3957463622062228029st_nat: ( produc1828647624359046049st_nat > list_nat ) > list_P7940050157051400743st_nat > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr2506774558405657220st_nat: ( produc1828647624359046049st_nat > produc1828647624359046049st_nat ) > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    map_Pr6333486603615629956at_nat: ( produc1540777390238407569at_nat > produc1540777390238407569at_nat ) > list_P5364314822750548887at_nat > list_P5364314822750548887at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    map_Pr7513118284566237624_b_nat: ( produc1540777390238407569at_nat > produc2720409071189015237_b_nat ) > list_P5364314822750548887at_nat > list_P4523178631563835595_b_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr8405457714814006931st_nat: ( produc5791087442059780829xt_a_b > list_list_nat ) > list_P1130580517404809453xt_a_b > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr5065177961950628807rm_a_b: ( produc5791087442059780829xt_a_b > list_term_a_b ) > list_P1130580517404809453xt_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr6131601453978369717rm_a_b: ( produc986806506860309717_b_nat > list_term_a_b ) > list_P3344321720179456347_b_nat > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    map_Pr632729664102509281at_nat: ( produc986806506860309717_b_nat > nat ) > list_P3344321720179456347_b_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_Pr1156985001060548784at_nat: ( produc986806506860309717_b_nat > product_prod_nat_nat ) > list_P3344321720179456347_b_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Pr6655376335923373417xt_a_b: ( produc1652119919080531751xt_a_b > multihole_mctxt_a_b ) > list_P722677779202446637xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Pr135706006267208315xt_a_b: ( produc7404713482084229387_b_nat > multihole_mctxt_a_b ) > list_P7850246372177104155_b_nat > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    map_Pr7157534936861904161at_nat: ( produc7404713482084229387_b_nat > nat ) > list_P7850246372177104155_b_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_Pr5601633189573541250xt_a_b: ( produc7404713482084229387_b_nat > produc6098685572150017969xt_a_b ) > list_P7850246372177104155_b_nat > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Pr6694782673347976119xt_a_b: ( produc7015972594829525327rm_a_b > multihole_mctxt_a_b ) > list_P1100658841456022751rm_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_Pr6263640873875604137rm_a_b: ( produc7015972594829525327rm_a_b > term_a_b ) > list_P1100658841456022751rm_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    map_Pr8945054486622060868at_nat: ( produc85711943791777264at_nat > produc8199716216217303280at_nat ) > list_P2642790186314576758at_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr2349251439610057348st_nat: ( produc4575160907756185873st_nat > produc4575160907756185873st_nat ) > list_P7736225833432154391st_nat > list_P7736225833432154391st_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr8232343723601455032rm_a_b: ( produc4575160907756185873st_nat > produc1234881154892807749rm_a_b ) > list_P7736225833432154391st_nat > list_P2364656488115551307rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr5651210886198742965rm_a_b: ( produc6666515723797200341rm_a_b > list_term_a_b ) > list_P7973965478605097563rm_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__Nat__Onat,type,
    map_Pr9055313272579013601_b_nat: ( produc6666515723797200341rm_a_b > nat ) > list_P7973965478605097563rm_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_Pr2071052482765451184at_nat: ( produc6666515723797200341rm_a_b > product_prod_nat_nat ) > list_P7973965478605097563rm_a_b > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr5734484001264385127st_nat: ( produc6098685572150017969xt_a_b > list_list_nat ) > list_P3228452592230693057xt_a_b > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_Pr7594215371475158871st_nat: ( produc6098685572150017969xt_a_b > list_nat ) > list_P3228452592230693057xt_a_b > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr2394204248401007003rm_a_b: ( produc6098685572150017969xt_a_b > list_term_a_b ) > list_P3228452592230693057xt_a_b > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Pr3094254646210209877xt_a_b: ( produc6098685572150017969xt_a_b > multihole_mctxt_a_b ) > list_P3228452592230693057xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    map_Pr5574903923400807367_b_nat: ( produc6098685572150017969xt_a_b > nat ) > list_P3228452592230693057xt_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_Pr3187259118792397652xt_a_b: ( produc6098685572150017969xt_a_b > produc5791087442059780829xt_a_b ) > list_P3228452592230693057xt_a_b > list_P1130580517404809453xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    map_Pr2703387422056685698_b_nat: ( produc6098685572150017969xt_a_b > produc7404713482084229387_b_nat ) > list_P3228452592230693057xt_a_b > list_P7850246372177104155_b_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    map_Pr1397359512122474280xt_a_b: ( produc6098685572150017969xt_a_b > produc6098685572150017969xt_a_b ) > list_P3228452592230693057xt_a_b > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_Pr7124732436823040074at_nat: ( produc6098685572150017969xt_a_b > product_prod_nat_nat ) > list_P3228452592230693057xt_a_b > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_Pr827977935568303755rm_a_b: ( produc6098685572150017969xt_a_b > term_a_b ) > list_P3228452592230693057xt_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr5380166846722712749st_nat: ( product_prod_nat_nat > list_list_nat ) > list_P6011104703257516679at_nat > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    map_Pr2039887093859334625rm_a_b: ( product_prod_nat_nat > list_term_a_b ) > list_P6011104703257516679at_nat > list_list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    map_Pr3938374229010428429at_nat: ( product_prod_nat_nat > nat ) > list_P6011104703257516679at_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J,type,
    map_Pr4430119450359509848_b_nat: ( product_prod_nat_nat > produc986806506860309717_b_nat ) > list_P6011104703257516679at_nat > list_P3344321720179456347_b_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    map_Pr886456630441624664rm_a_b: ( product_prod_nat_nat > produc6666515723797200341rm_a_b ) > list_P6011104703257516679at_nat > list_P7973965478605097563rm_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_Pr8058819605623181956at_nat: ( product_prod_nat_nat > product_prod_nat_nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    map_Pr8278162681926648004xt_a_b: ( produc6905895558583355234xt_a_b > produc6905895558583355234xt_a_b ) > list_P7131842637323686376xt_a_b > list_P7131842637323686376xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_Pr1863336542361719921st_nat: ( produc1234881154892807749rm_a_b > list_list_nat ) > list_P2364656488115551307rm_a_b > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    map_Pr2460003174332794321_b_nat: ( produc1234881154892807749rm_a_b > nat ) > list_P2364656488115551307rm_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_Pr5547155842100845461rm_a_b: ( produc1234881154892807749rm_a_b > term_a_b ) > list_P2364656488115551307rm_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_Pr7928384560621064857xt_a_b: ( produc5516998621787785453xt_a_b > multihole_mctxt_a_b ) > list_P8932400424873733501xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_Pr3192148400092654407rm_a_b: ( produc5516998621787785453xt_a_b > term_a_b ) > list_P8932400424873733501xt_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    map_Pr7879634848707609169at_nat: ( produc2720409071189015237_b_nat > nat ) > list_P4523178631563835595_b_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_Pr1600174416192346133rm_a_b: ( produc2720409071189015237_b_nat > term_a_b ) > list_P4523178631563835595_b_nat > list_term_a_b ).

thf(sy_c_List_Olist_Omap_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_te6815174839403216586st_nat: ( term_a_b > list_list_nat ) > list_term_a_b > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    map_te2491508945343454514xt_a_b: ( term_a_b > multihole_mctxt_a_b ) > list_term_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Olist_Omap_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    map_term_a_b_nat: ( term_a_b > nat ) > list_term_a_b > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    map_te2328734355998148206rm_a_b: ( term_a_b > term_a_b ) > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Olist_Oset_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_nat_nat2: list_nat_nat > set_nat_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    set_list_list_nat2: list_list_list_nat > set_list_list_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_li4211081853627212639rm_a_b: list_l5544744485257374276rm_a_b > set_li1439839802225400298rm_a_b ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    set_li6105397052872267687xt_a_b: list_l2176991360922390168xt_a_b > set_li4886898032268842354xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Nat__Onat_J,type,
    set_list_nat2: list_list_nat > set_list_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    set_list_term_a_b2: list_list_term_a_b > set_list_term_a_b ).

thf(sy_c_List_Olist_Oset_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    set_Mu988262935377722401xt_a_b: list_M4548637025958506770xt_a_b > set_Mu3903433398966807788xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
    set_nat2: list_nat > set_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    set_Pr1941165898809491589at_nat: list_P5366131564312172150at_nat > set_Pr9093778441882193744at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    set_Pr3842133991353686454st_nat: list_P7940050157051400743st_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    set_Pr8153754009027415116xt_a_b: list_P342565762343447473xt_a_b > set_Pr8657308533078912087xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    set_Pr7715406932454250534at_nat: list_P5364314822750548887at_nat > set_Pr7549493975000385137at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    set_Pr501854238490308330rm_a_b: list_P2568480811734797659rm_a_b > set_Pr7303051394255727413rm_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J,type,
    set_Pr3000292873854950122_b_nat: list_P3344321720179456347_b_nat > set_Pr8078892302700386101_b_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    set_Pr3710758492808786620xt_a_b: list_P722677779202446637xt_a_b > set_Pr2918931875556005383xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    set_Pr1548094854715186614_b_nat: list_P7850246372177104155_b_nat > set_Pr2873136779621734593_b_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    set_Pr6823476604645682298rm_a_b: list_P1100658841456022751rm_a_b > set_Pr192029575336711557rm_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    set_Pr1526418413117253030st_nat: list_P7736225833432154391st_nat > set_Pr698032948827214833st_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr8680002090791840746rm_a_b: list_P7973965478605097563rm_a_b > set_Pr3485164024271251509rm_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    set_Pr242066944780975196xt_a_b: list_P3228452592230693057xt_a_b > set_Pr7474715036530099303xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_Pr5648618587558075414at_nat: list_P6011104703257516679at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    set_Pr7409510697108650714rm_a_b: list_P2364656488115551307rm_a_b > set_Pr4549835640365387557rm_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    set_Pr511010459394092120xt_a_b: list_P663537975658872777xt_a_b > set_Pr5222055312091025827xt_a_b ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    set_Pr8895038613404858202_b_nat: list_P4523178631563835595_b_nat > set_Pr6708357783813671845_b_nat ).

thf(sy_c_List_Olist_Oset_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    set_term_a_b2: list_term_a_b > set_term_a_b ).

thf(sy_c_List_Olistset_001t__List__Olist_It__Nat__Onat_J,type,
    listset_list_nat: list_set_list_nat > set_list_list_nat ).

thf(sy_c_List_Olistset_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    listse4995257020514275455rm_a_b: list_s5999687805303231594rm_a_b > set_li1439839802225400298rm_a_b ).

thf(sy_c_List_Olistset_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    listse8466990409332617329xt_a_b: list_s6576866909217585906xt_a_b > set_li4886898032268842354xt_a_b ).

thf(sy_c_List_Olistset_001t__Nat__Onat,type,
    listset_nat: list_set_nat > set_list_nat ).

thf(sy_c_List_Olistset_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    listset_term_a_b: list_set_term_a_b > set_list_term_a_b ).

thf(sy_c_List_Onth_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nth_nat_nat: list_nat_nat > nat > nat > nat ).

thf(sy_c_List_Onth_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    nth_list_list_nat: list_list_list_nat > nat > list_list_nat ).

thf(sy_c_List_Onth_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    nth_li1777312294383961325rm_a_b: list_l5544744485257374276rm_a_b > nat > list_list_term_a_b ).

thf(sy_c_List_Onth_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    nth_li6526745125630915225xt_a_b: list_l2176991360922390168xt_a_b > nat > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Onth_001t__List__Olist_It__Nat__Onat_J,type,
    nth_list_nat: list_list_nat > nat > list_nat ).

thf(sy_c_List_Onth_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    nth_li7848650713086546554xt_a_b: list_l6286693285371147089xt_a_b > nat > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Onth_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nth_li852852631024258574at_nat: list_l3264859301627795341at_nat > nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Onth_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    nth_list_term_a_b: list_list_term_a_b > nat > list_term_a_b ).

thf(sy_c_List_Onth_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    nth_Mu4187783769245775891xt_a_b: list_M4548637025958506770xt_a_b > nat > multihole_mctxt_a_b ).

thf(sy_c_List_Onth_001t__Nat__Onat,type,
    nth_nat: list_nat > nat > nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    nth_Pr4952906083868132727at_nat: list_P5366131564312172150at_nat > nat > produc8199716216217303280at_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    nth_Pr2569852650362941352st_nat: list_P7940050157051400743st_nat > nat > produc1828647624359046049st_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    nth_Pr3743076083212335834xt_a_b: list_P342565762343447473xt_a_b > nat > produc8346249999211258145xt_a_b ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    nth_Pr5605897354859925272at_nat: list_P5364314822750548887at_nat > nat > produc1540777390238407569at_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    nth_Pr864045139923200836_b_nat: list_P7850246372177104155_b_nat > nat > produc7404713482084229387_b_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    nth_Pr8640280872377703576st_nat: list_P7736225833432154391st_nat > nat > produc4575160907756185873st_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    nth_Pr8781389266843765226xt_a_b: list_P3228452592230693057xt_a_b > nat > produc6098685572150017969xt_a_b ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nth_Pr7617993195940197384at_nat: list_P6011104703257516679at_nat > nat > product_prod_nat_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    nth_Pr5300001119514325452rm_a_b: list_P2364656488115551307rm_a_b > nat > produc1234881154892807749rm_a_b ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    nth_Pr6785529035810532940_b_nat: list_P4523178631563835595_b_nat > nat > produc2720409071189015237_b_nat ).

thf(sy_c_List_Onth_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    nth_set_list_nat: list_set_list_nat > nat > set_list_nat ).

thf(sy_c_List_Onth_001t__Set__Oset_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    nth_se3970861680893152275rm_a_b: list_s5999687805303231594rm_a_b > nat > set_list_term_a_b ).

thf(sy_c_List_Onth_001t__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    nth_se8176043857954472435xt_a_b: list_s6576866909217585906xt_a_b > nat > set_Mu3903433398966807788xt_a_b ).

thf(sy_c_List_Onth_001t__Set__Oset_It__Nat__Onat_J,type,
    nth_set_nat: list_set_nat > nat > set_nat ).

thf(sy_c_List_Onth_001t__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    nth_set_term_a_b: list_set_term_a_b > nat > set_term_a_b ).

thf(sy_c_List_Onth_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    nth_term_a_b: list_term_a_b > nat > term_a_b ).

thf(sy_c_List_Oproduct_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    product_nat_nat_nat: list_nat_nat > list_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Oproduct_001t__Nat__Onat_001t__Nat__Onat,type,
    product_nat_nat: list_nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oproduct__lists_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc4816125487626072565rm_a_b: list_l5544744485257374276rm_a_b > list_l5544744485257374276rm_a_b ).

thf(sy_c_List_Oproduct__lists_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc8958955220159336827xt_a_b: list_l2176991360922390168xt_a_b > list_l2176991360922390168xt_a_b ).

thf(sy_c_List_Oproduct__lists_001t__Nat__Onat,type,
    product_lists_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Oproduct__lists_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc17669015410068453rm_a_b: list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Otake_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    take_list_term_a_b: nat > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Otake_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    take_M4740473043981999098xt_a_b: nat > list_M4548637025958506770xt_a_b > list_M4548637025958506770xt_a_b ).

thf(sy_c_List_Otake_001t__Nat__Onat,type,
    take_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Otake_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    take_term_a_b: nat > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Oupt,type,
    upt: nat > nat > list_nat ).

thf(sy_c_List_Ozip_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    zip_nat_nat_nat: list_nat_nat > list_nat > list_P5366131564312172150at_nat ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    zip_li7157463729305086713st_nat: list_list_nat > list_list_nat > list_P7940050157051400743st_nat ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    zip_li3256635972118132019xt_a_b: list_list_nat > list_M4548637025958506770xt_a_b > list_P342565762343447473xt_a_b ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    zip_list_nat_nat: list_list_nat > list_nat > list_P5364314822750548887at_nat ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    zip_li391226293398231597rm_a_b: list_list_nat > list_term_a_b > list_P2568480811734797659rm_a_b ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    zip_li8997900048465293935xt_a_b: list_list_term_a_b > list_M4548637025958506770xt_a_b > list_P1130580517404809453xt_a_b ).

thf(sy_c_List_Ozip_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    zip_li2365591139631638061_b_nat: list_list_term_a_b > list_nat > list_P3344321720179456347_b_nat ).

thf(sy_c_List_Ozip_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    zip_Mu757017058692220471xt_a_b: list_M4548637025958506770xt_a_b > list_M4548637025958506770xt_a_b > list_P722677779202446637xt_a_b ).

thf(sy_c_List_Ozip_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    zip_Mu2498538806789127269_b_nat: list_M4548637025958506770xt_a_b > list_nat > list_P7850246372177104155_b_nat ).

thf(sy_c_List_Ozip_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    zip_Mu1004234008415057961rm_a_b: list_M4548637025958506770xt_a_b > list_term_a_b > list_P1100658841456022751rm_a_b ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    zip_nat_nat_nat2: list_nat > list_nat_nat > list_P2642790186314576758at_nat ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    zip_nat_list_nat: list_nat > list_list_nat > list_P7736225833432154391st_nat ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    zip_na2796849840512097581rm_a_b: list_nat > list_list_term_a_b > list_P7973965478605097563rm_a_b ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    zip_na2638709245307492419xt_a_b: list_nat > list_M4548637025958506770xt_a_b > list_P3228452592230693057xt_a_b ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Nat__Onat,type,
    zip_nat_nat: list_nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    zip_na5409861735474425274xt_a_b: list_nat > list_P3228452592230693057xt_a_b > list_P7131842637323686376xt_a_b ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    zip_nat_term_a_b: list_nat > list_term_a_b > list_P2364656488115551307rm_a_b ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    zip_Pr4877436932732505627xt_a_b: list_P3228452592230693057xt_a_b > list_P3228452592230693057xt_a_b > list_P663537975658872777xt_a_b ).

thf(sy_c_List_Ozip_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    zip_te427384594694659327xt_a_b: list_term_a_b > list_M4548637025958506770xt_a_b > list_P8932400424873733501xt_a_b ).

thf(sy_c_List_Ozip_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    zip_term_a_b_nat: list_term_a_b > list_nat > list_P4523178631563835595_b_nat ).

thf(sy_c_Missing__List_Oadjust__idx__rev,type,
    missin3815256168798769645dx_rev: nat > nat > nat ).

thf(sy_c_Missing__List_Oconcat__lists_001t__List__Olist_It__Nat__Onat_J,type,
    missin5603497496030997514st_nat: list_list_list_nat > list_list_list_nat ).

thf(sy_c_Missing__List_Oconcat__lists_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin8123040988427075790rm_a_b: list_l5544744485257374276rm_a_b > list_l5544744485257374276rm_a_b ).

thf(sy_c_Missing__List_Oconcat__lists_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    missin8736853954854534242xt_a_b: list_l2176991360922390168xt_a_b > list_l2176991360922390168xt_a_b ).

thf(sy_c_Missing__List_Oconcat__lists_001t__Nat__Onat,type,
    missin4567272213201432058ts_nat: list_list_nat > list_list_nat ).

thf(sy_c_Missing__List_Oconcat__lists_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin8060632096978918206rm_a_b: list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_Missing__List_Ogenerate__lists_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin3226145738502737549rm_a_b: nat > list_list_term_a_b > list_l5544744485257374276rm_a_b ).

thf(sy_c_Missing__List_Ogenerate__lists_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    missin7414133217557581539xt_a_b: nat > list_M4548637025958506770xt_a_b > list_l2176991360922390168xt_a_b ).

thf(sy_c_Missing__List_Ogenerate__lists_001t__Nat__Onat,type,
    missin2047014633743487673ts_nat: nat > list_nat > list_list_nat ).

thf(sy_c_Missing__List_Ogenerate__lists_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin5236940920865543293rm_a_b: nat > list_term_a_b > list_list_term_a_b ).

thf(sy_c_Missing__List_Opermut_001t__List__Olist_It__Nat__Onat_J,type,
    missin2960327169605006088st_nat: list_list_nat > ( nat > nat ) > list_list_nat ).

thf(sy_c_Missing__List_Opermut_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin6533443037858246860rm_a_b: list_list_term_a_b > ( nat > nat ) > list_list_term_a_b ).

thf(sy_c_Missing__List_Opermut_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    missin3856663561325014244xt_a_b: list_M4548637025958506770xt_a_b > ( nat > nat ) > list_M4548637025958506770xt_a_b ).

thf(sy_c_Missing__List_Opermut_001t__Nat__Onat,type,
    missing_permut_nat: list_nat > ( nat > nat ) > list_nat ).

thf(sy_c_Missing__List_Opermut_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin5417461770552926780rm_a_b: list_term_a_b > ( nat > nat ) > list_term_a_b ).

thf(sy_c_Multihole__Context_Oeq__fill_001tf__a_001tf__b,type,
    multih34988865219335474ll_a_b: term_a_b > produc5546905550855713759rm_a_b > $o ).

thf(sy_c_Multihole__Context_Ofill__holes_001tf__a_001tf__b,type,
    multih7014478356578301647es_a_b: multihole_mctxt_a_b > list_term_a_b > term_a_b ).

thf(sy_c_Multihole__Context_Ofill__holes__mctxt_001tf__a_001tf__b,type,
    multih5237230941224847661xt_a_b: multihole_mctxt_a_b > list_M4548637025958506770xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Multihole__Context_Ohole__poss__list_001tf__a_001tf__b,type,
    multih2241604942620144928st_a_b: multihole_mctxt_a_b > list_list_nat ).

thf(sy_c_Multihole__Context_Oless__eq__mctxt_H_001tf__a_001tf__b,type,
    multih7967438480286772733xt_a_b: multihole_mctxt_a_b > multihole_mctxt_a_b > $o ).

thf(sy_c_Multihole__Context_Omctxt_OMFun_001tf__a_001tf__b,type,
    multihole_MFun_a_b: a > list_M4548637025958506770xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Multihole__Context_Omctxt__of__term_001tf__a_001tf__b,type,
    multih8235204711990112060rm_a_b: term_a_b > multihole_mctxt_a_b ).

thf(sy_c_Multihole__Context_Onum__holes_001tf__a_001tf__b,type,
    multih3217256941434035760es_a_b: multihole_mctxt_a_b > nat ).

thf(sy_c_Multihole__Context_Opartition__by_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    multih7929037350212099380rm_a_b: list_l5544744485257374276rm_a_b > list_nat > list_l6915976087506121044rm_a_b ).

thf(sy_c_Multihole__Context_Opartition__by_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    multih1863622132151294098xt_a_b: list_l2176991360922390168xt_a_b > list_nat > list_l3111452873741819806xt_a_b ).

thf(sy_c_Multihole__Context_Opartition__by_001t__List__Olist_It__Nat__Onat_J,type,
    multih5630945896903731040st_nat: list_list_nat > list_nat > list_list_list_nat ).

thf(sy_c_Multihole__Context_Opartition__by_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    multih776841144196503844rm_a_b: list_list_term_a_b > list_nat > list_l5544744485257374276rm_a_b ).

thf(sy_c_Multihole__Context_Opartition__by_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    multih8997278079985217164xt_a_b: list_M4548637025958506770xt_a_b > list_nat > list_l2176991360922390168xt_a_b ).

thf(sy_c_Multihole__Context_Opartition__by_001t__Nat__Onat,type,
    multih8544690682651757648by_nat: list_nat > list_nat > list_list_nat ).

thf(sy_c_Multihole__Context_Opartition__by_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    multih2582494620652353585xt_a_b: list_P3228452592230693057xt_a_b > list_nat > list_l6286693285371147089xt_a_b ).

thf(sy_c_Multihole__Context_Opartition__by_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    multih8088080497851651732rm_a_b: list_term_a_b > list_nat > list_list_term_a_b ).

thf(sy_c_Multihole__Context_Opartition__by__idx,type,
    multih7279076602905066526by_idx: nat > list_nat > nat > nat > nat ).

thf(sy_c_Multihole__Context_Ounfill__holes_001tf__a_001tf__b,type,
    multih4629214223431182294es_a_b: multihole_mctxt_a_b > term_a_b > list_term_a_b ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s8208510060688613859at_nat: list_nat_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    size_s6248950052170075156st_nat: list_list_list_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    size_s8422369774828843736rm_a_b: list_l5544744485257374276rm_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    size_s3306353116822741252xt_a_b: list_l2176991360922390168xt_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    size_s3023201423986296836st_nat: list_list_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    size_s877380706853472072rm_a_b: list_list_term_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    size_s6467537827362597246xt_a_b: list_M4548637025958506770xt_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Nat__Onat_J,type,
    size_size_list_nat: list_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s5460976970255530739at_nat: list_P6011104703257516679at_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    size_s40095690673326906st_nat: list_set_list_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    size_s6049900052119693054rm_a_b: list_s5999687805303231594rm_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    size_s3395177621122646878xt_a_b: list_s6576866909217585906xt_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    size_s3254054031482475050et_nat: list_set_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    size_s3891898382211499630rm_a_b: list_set_term_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    size_s8906293707977694520rm_a_b: list_term_a_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__String__Ochar,type,
    size_size_char: char > nat ).

thf(sy_c_Orderings_Oord__class_OLeast_001t__Nat__Onat,type,
    ord_Least_nat: ( nat > $o ) > nat ).

thf(sy_c_Orderings_Oord__class_Oless_001t__List__Olist_It__Nat__Onat_J,type,
    ord_less_list_nat: list_nat > list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    ord_le7933312735445578680xt_a_b: multihole_mctxt_a_b > multihole_mctxt_a_b > $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__eq_001_062_I_062_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Nat__Onat_M_Eo_J_J,type,
    ord_le5974136086019949911_nat_o: ( ( nat > nat ) > nat > $o ) > ( ( nat > nat ) > nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_M_Eo_J,type,
    ord_le7891048359022256977_a_b_o: ( multihole_mctxt_a_b > $o ) > ( multihole_mctxt_a_b > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J,type,
    ord_le2646555220125990790_nat_o: ( nat > nat > $o ) > ( nat > nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__List__Olist_It__Nat__Onat_J,type,
    ord_less_eq_list_nat: list_nat > list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    ord_le850117253035069100xt_a_b: multihole_mctxt_a_b > multihole_mctxt_a_b > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
    ord_less_eq_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_le6045566169113846134st_nat: set_list_nat > set_list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    ord_le8558390355660226490rm_a_b: set_list_term_a_b > set_list_term_a_b > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    ord_le4185538551145870476xt_a_b: set_Mu3903433398966807788xt_a_b > set_Mu3903433398966807788xt_a_b > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_eq_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    ord_le3678578370064672496at_nat: set_Pr9093778441882193744at_nat > set_Pr9093778441882193744at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le3146513528884898305at_nat: set_Pr1261947904930325089at_nat > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    ord_le2705286416250468010rm_a_b: set_term_a_b > set_term_a_b > $o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    produc72220940542539688at_nat: ( nat > nat ) > nat > produc8199716216217303280at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc2694037385005941721st_nat: list_nat > list_nat > produc1828647624359046049st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc1091263506549314643xt_a_b: list_nat > multihole_mctxt_a_b > produc8346249999211258145xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    produc1298395424260782409at_nat: list_nat > nat > produc1540777390238407569at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc6207649949611475343xt_a_b: list_term_a_b > multihole_mctxt_a_b > produc5791087442059780829xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    produc7125536832187268877_b_nat: list_term_a_b > nat > produc986806506860309717_b_nat ).

thf(sy_c_Product__Type_OPair_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc8492191230753176409rm_a_b: multihole_mctxt_a_b > list_term_a_b > produc5546905550855713759rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc67882520014434071xt_a_b: multihole_mctxt_a_b > multihole_mctxt_a_b > produc1652119919080531751xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc6379516792840104837_b_nat: multihole_mctxt_a_b > nat > produc7404713482084229387_b_nat ).

thf(sy_c_Product__Type_OPair_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc8062233579701016393rm_a_b: multihole_mctxt_a_b > term_a_b > produc7015972594829525327rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    produc8282810413953273033st_nat: nat > list_nat > produc4575160907756185873st_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc7556795533067728397rm_a_b: nat > list_term_a_b > produc6666515723797200341rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc6519687231358469987xt_a_b: nat > multihole_mctxt_a_b > produc6098685572150017969xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Nat__Onat,type,
    product_Pair_nat_nat: nat > nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc7607056999918671514xt_a_b: nat > produc6098685572150017969xt_a_b > produc6905895558583355234xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc1516572978046417917rm_a_b: nat > term_a_b > produc1234881154892807749rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc8903049886004406011xt_a_b: produc6098685572150017969xt_a_b > produc6098685572150017969xt_a_b > produc8494127946848941123xt_a_b ).

thf(sy_c_Product__Type_OPair_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc2478027105211390077_b_nat: term_a_b > nat > produc2720409071189015237_b_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat_001_Eo,type,
    produc1191635805960096411_nat_o: ( ( nat > nat ) > nat > $o ) > produc8199716216217303280at_nat > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc3780431343476367475at_nat: ( ( nat > nat ) > nat > produc8199716216217303280at_nat ) > produc8199716216217303280at_nat > produc8199716216217303280at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat_001t__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc3685369465382686447xt_a_b: ( ( nat > nat ) > nat > set_Mu3903433398966807788xt_a_b ) > produc8199716216217303280at_nat > set_Mu3903433398966807788xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc6026655337631754702st_nat: ( list_nat > list_nat > list_nat ) > produc1828647624359046049st_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc1621811400921161267st_nat: ( list_nat > list_nat > produc1828647624359046049st_nat ) > produc1828647624359046049st_nat > produc1828647624359046049st_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc7546969532005968819at_nat: ( list_nat > nat > produc1540777390238407569at_nat ) > produc1540777390238407569at_nat > produc1540777390238407569at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    produc8726601212956576487_b_nat: ( list_nat > nat > produc2720409071189015237_b_nat ) > produc1540777390238407569at_nat > produc2720409071189015237_b_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    produc1174737181333653746at_nat: ( list_term_a_b > nat > nat ) > produc986806506860309717_b_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc3045965207753194083xt_a_b: ( multihole_mctxt_a_b > nat > produc6098685572150017969xt_a_b ) > produc7404713482084229387_b_nat > produc6098685572150017969xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc8465370356862861811at_nat: ( nat > ( nat > nat ) > produc8199716216217303280at_nat ) > produc85711943791777264at_nat > produc8199716216217303280at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc6267044378106824115st_nat: ( nat > list_nat > produc4575160907756185873st_nat ) > produc4575160907756185873st_nat > produc4575160907756185873st_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc2926764625243445991rm_a_b: ( nat > list_nat > produc1234881154892807749rm_a_b ) > produc4575160907756185873st_nat > produc1234881154892807749rm_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    produc2069031206418169842_b_nat: ( nat > list_term_a_b > nat ) > produc6666515723797200341rm_a_b > nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc1129251993345788160st_nat: ( nat > multihole_mctxt_a_b > list_list_nat ) > produc6098685572150017969xt_a_b > list_list_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc887445302299407472st_nat: ( nat > multihole_mctxt_a_b > list_nat ) > produc6098685572150017969xt_a_b > list_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc7012344277337185844rm_a_b: ( nat > multihole_mctxt_a_b > list_term_a_b ) > produc6098685572150017969xt_a_b > list_term_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc1235081777213825376_b_nat: ( nat > multihole_mctxt_a_b > nat ) > produc6098685572150017969xt_a_b > nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc6741354669459122285xt_a_b: ( nat > multihole_mctxt_a_b > produc5791087442059780829xt_a_b ) > produc6098685572150017969xt_a_b > produc5791087442059780829xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    produc1402441579867567771_b_nat: ( nat > multihole_mctxt_a_b > produc7404713482084229387_b_nat ) > produc6098685572150017969xt_a_b > produc7404713482084229387_b_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc96413669933356353xt_a_b: ( nat > multihole_mctxt_a_b > produc6098685572150017969xt_a_b ) > produc6098685572150017969xt_a_b > produc6098685572150017969xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc6406067338994634609at_nat: ( nat > multihole_mctxt_a_b > product_prod_nat_nat ) > produc6098685572150017969xt_a_b > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    produc8116217744993975762xt_a_b: ( nat > multihole_mctxt_a_b > produc6905895558583355234xt_a_b ) > produc6098685572150017969xt_a_b > produc6905895558583355234xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc3344579903247328164rm_a_b: ( nat > multihole_mctxt_a_b > term_a_b ) > produc6098685572150017969xt_a_b > term_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001_Eo,type,
    produc6081775807080527818_nat_o: ( nat > nat > $o ) > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    produc2761476792215241774st_nat: ( nat > nat > list_nat ) > product_prod_nat_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc2500289907298629362rm_a_b: ( nat > nat > list_term_a_b ) > product_prod_nat_nat > list_term_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc1375252215732190526xt_a_b: ( nat > nat > multihole_mctxt_a_b ) > product_prod_nat_nat > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    produc6842872674320459806at_nat: ( nat > nat > nat ) > product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J,type,
    produc8281173900302646535_b_nat: ( nat > nat > produc986806506860309717_b_nat ) > product_prod_nat_nat > produc986806506860309717_b_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc4737511080384761351rm_a_b: ( nat > nat > produc6666515723797200341rm_a_b ) > product_prod_nat_nat > produc6666515723797200341rm_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc2626176000494625587at_nat: ( nat > nat > product_prod_nat_nat ) > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Set__Oset_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    produc535264916880268062xt_a_b: ( nat > nat > set_Mu3903433398966807788xt_a_b ) > product_prod_nat_nat > set_Mu3903433398966807788xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc5218611393163162466rm_a_b: ( nat > nat > term_a_b ) > product_prod_nat_nat > term_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    produc505125004736929395xt_a_b: ( nat > produc6098685572150017969xt_a_b > produc6905895558583355234xt_a_b ) > produc6905895558583355234xt_a_b > produc6905895558583355234xt_a_b ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc2746199311546328450st_nat: ( nat > term_a_b > list_list_nat ) > produc1234881154892807749rm_a_b > list_list_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    produc6156676138143019412at_nat: produc8199716216217303280at_nat > nat > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc1382935764643595205st_nat: produc1828647624359046049st_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc8292576803150675815xt_a_b: produc8346249999211258145xt_a_b > list_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    produc1299098336458792757at_nat: produc1540777390238407569at_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc3840070365591515897rm_a_b: produc7711739908350443733rm_a_b > list_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    produc5814435211824922361_b_nat: produc986806506860309717_b_nat > list_term_a_b ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc2029583840371251459xt_a_b: produc1652119919080531751xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc5564987526980563097_b_nat: produc7404713482084229387_b_nat > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc6040174839447601757rm_a_b: produc7015972594829525327rm_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    produc8283513326151283381st_nat: produc4575160907756185873st_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc6245693912705381881rm_a_b: produc6666515723797200341rm_a_b > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc5705157965498928247xt_a_b: produc6098685572150017969xt_a_b > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Nat__Onat,type,
    product_fst_nat_nat: product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc1517275890244428265rm_a_b: produc1234881154892807749rm_a_b > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc5463325425727203123xt_a_b: produc5516998621787785453xt_a_b > term_a_b ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc2478730017409400425_b_nat: produc2720409071189015237_b_nat > term_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    produc1852801350702243542at_nat: produc8199716216217303280at_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc5865812112468994567st_nat: produc1828647624359046049st_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Nat__Onat_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc2680651092779479461xt_a_b: produc8346249999211258145xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    produc3416681907195285111at_nat: produc1540777390238407569at_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc8322946713416915259rm_a_b: produc7711739908350443733rm_a_b > term_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__Nat__Onat,type,
    produc1073939522795545915_b_nat: produc986806506860309717_b_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc4775144687201070661xt_a_b: produc1652119919080531751xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc8945135801227680215_b_nat: produc7404713482084229387_b_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc428249129076405403rm_a_b: produc7015972594829525327rm_a_b > term_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    produc1177724860032999927st_nat: produc4575160907756185873st_nat > list_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc1505198223676005435rm_a_b: produc6666515723797200341rm_a_b > list_term_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc9085306239746045365xt_a_b: produc6098685572150017969xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Nat__Onat,type,
    product_snd_nat_nat: product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc3634859460980920619rm_a_b: produc1234881154892807749rm_a_b > term_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc9074771752210782577xt_a_b: produc5516998621787785453xt_a_b > multihole_mctxt_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    produc4596313588145892779_b_nat: produc2720409071189015237_b_nat > nat ).

thf(sy_c_Product__Type_Oproduct_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    produc2277787967776798051at_nat: set_nat_nat > set_nat > set_Pr9093778441882193744at_nat ).

thf(sy_c_Product__Type_Oproduct_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    produc5565214472325474514xt_a_b: set_Mu3903433398966807788xt_a_b > set_Mu3903433398966807788xt_a_b > set_Pr2918931875556005383xt_a_b ).

thf(sy_c_Product__Type_Oproduct_001t__Nat__Onat_001t__Nat__Onat,type,
    produc929334515565554804at_nat: set_nat > set_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_Seq_Oinf__concat,type,
    inf_concat: ( nat > nat ) > nat > product_prod_nat_nat ).

thf(sy_c_Seq_Oinf__concat__simple,type,
    inf_concat_simple: ( nat > nat ) > nat > product_prod_nat_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    collec5989764272469232197st_nat: ( list_list_nat > $o ) > set_list_list_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    collec5566874814092408073rm_a_b: ( list_list_term_a_b > $o ) > set_li1439839802225400298rm_a_b ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    collec1865976362583014269xt_a_b: ( list_M4548637025958506770xt_a_b > $o ) > set_li4886898032268842354xt_a_b ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Nat__Onat_J,type,
    collect_list_nat: ( list_nat > $o ) > set_list_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    collec2649484519605854073rm_a_b: ( list_term_a_b > $o ) > set_list_term_a_b ).

thf(sy_c_Set_OCollect_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    collec7587487095821320951xt_a_b: ( multihole_mctxt_a_b > $o ) > set_Mu3903433398966807788xt_a_b ).

thf(sy_c_String_Ochar_Osize__char,type,
    size_char: char > nat ).

thf(sy_c_Term_Oterm_OFun_001tf__a_001tf__b,type,
    fun_a_b: a > list_term_a_b > term_a_b ).

thf(sy_c_Term__Context_Osubt__at_001tf__a_001tf__b,type,
    term_subt_at_a_b: term_a_b > list_nat > term_a_b ).

thf(sy_c_Utils_Oconcat__index__split_001t__List__Olist_It__Nat__Onat_J,type,
    concat5120376260311099874st_nat: product_prod_nat_nat > list_list_list_nat > product_prod_nat_nat ).

thf(sy_c_Utils_Oconcat__index__split_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    concat7401677347670536870rm_a_b: product_prod_nat_nat > list_l5544744485257374276rm_a_b > product_prod_nat_nat ).

thf(sy_c_Utils_Oconcat__index__split_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    concat1345800444511605898xt_a_b: product_prod_nat_nat > list_l2176991360922390168xt_a_b > product_prod_nat_nat ).

thf(sy_c_Utils_Oconcat__index__split_001t__Nat__Onat,type,
    concat5568775588498683858it_nat: product_prod_nat_nat > list_list_nat > product_prod_nat_nat ).

thf(sy_c_Utils_Oconcat__index__split_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    concat2033898366915437183at_nat: product_prod_nat_nat > list_l3264859301627795341at_nat > product_prod_nat_nat ).

thf(sy_c_Utils_Oconcat__index__split_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    concat7577510861259020566rm_a_b: product_prod_nat_nat > list_list_term_a_b > product_prod_nat_nat ).

thf(sy_c_Utils_Ovarposs__list_001tf__a_001tf__b,type,
    varposs_list_a_b: term_a_b > list_list_nat ).

thf(sy_c_member_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member_nat_nat: ( nat > nat ) > set_nat_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    member3934321367748329163rm_a_b: list_list_term_a_b > set_li1439839802225400298rm_a_b > $o ).

thf(sy_c_member_001t__List__Olist_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    member4926864130519753019xt_a_b: list_M4548637025958506770xt_a_b > set_li4886898032268842354xt_a_b > $o ).

thf(sy_c_member_001t__List__Olist_It__Nat__Onat_J,type,
    member_list_nat: list_nat > set_list_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member_list_term_a_b: list_term_a_b > set_list_term_a_b > $o ).

thf(sy_c_member_001t__Multihole____Context__Omctxt_Itf__a_Mtf__b_J,type,
    member4915921492409311157xt_a_b: multihole_mctxt_a_b > set_Mu3903433398966807788xt_a_b > $o ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    member7226740684066999833at_nat: produc8199716216217303280at_nat > set_Pr9093778441882193744at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member7340969449405702474st_nat: produc1828647624359046049st_nat > set_Pr3451248702717554689st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    member4218287559662238136xt_a_b: produc8346249999211258145xt_a_b > set_Pr8657308533078912087xt_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    member7820552544826472890at_nat: produc1540777390238407569at_nat > set_Pr7549493975000385137at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member4000689696542324350rm_a_b: produc7711739908350443733rm_a_b > set_Pr7303051394255727413rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__Nat__Onat_J,type,
    member6499128331906966142_b_nat: produc986806506860309717_b_nat > set_Pr8078892302700386101_b_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    member6103717091360755792xt_a_b: produc1652119919080531751xt_a_b > set_Pr2918931875556005383xt_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    member2556407477037838626_b_nat: produc7404713482084229387_b_nat > set_Pr2873136779621734593_b_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member2888010155280505318rm_a_b: produc7015972594829525327rm_a_b > set_Pr192029575336711557rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member1631564025489475386st_nat: produc4575160907756185873st_nat > set_Pr698032948827214833st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    member2955465511989080958rm_a_b: produc6666515723797200341rm_a_b > set_Pr3485164024271251509rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J,type,
    member1250379567103627208xt_a_b: produc6098685572150017969xt_a_b > set_Pr7474715036530099303xt_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member8440522571783428010at_nat: product_prod_nat_nat > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member7514656309480873070rm_a_b: produc1234881154892807749rm_a_b > set_Pr4549835640365387557rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Multihole____Context__Omctxt_Itf__a_Mtf__b_J_J_J,type,
    member7446235603506994156xt_a_b: produc8494127946848941123xt_a_b > set_Pr5222055312091025827xt_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Nat__Onat_J,type,
    member9000184225777080558_b_nat: produc2720409071189015237_b_nat > set_Pr6708357783813671845_b_nat > $o ).

thf(sy_c_member_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    member_term_a_b: term_a_b > set_term_a_b > $o ).

thf(sy_v_C,type,
    c: multihole_mctxt_a_b ).

thf(sy_v_f____,type,
    f: a ).

thf(sy_v_i____,type,
    i: nat ).

thf(sy_v_m____,type,
    m: nat ).

thf(sy_v_n____,type,
    n: nat ).

thf(sy_v_ss____,type,
    ss: list_term_a_b ).

thf(sy_v_t,type,
    t: term_a_b ).

thf(sy_v_ta____,type,
    ta: term_a_b ).

thf(sy_v_ts____,type,
    ts: list_M4548637025958506770xt_a_b ).

% Relevant facts (1262)
thf(fact_0_l,axiom,
    ( ( size_s6467537827362597246xt_a_b @ ts )
    = ( size_s8906293707977694520rm_a_b @ ss ) ) ).

% l
thf(fact_1__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_Aconcat_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_B_Ai_A_061_Amap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_A_B_Am_A_B_An_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
            @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ( nth_term_a_b
          @ ( concat_term_a_b
            @ ( map_na2865332088629204026rm_a_b
              @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
          @ i )
        = ( nth_term_a_b
          @ ( nth_list_term_a_b
            @ ( map_na2865332088629204026rm_a_b
              @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) )
            @ M )
          @ N ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) = (m, n) \<Longrightarrow> concat (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) ! i = map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts] ! m ! n\<close>
thf(fact_2__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_Am_A_060_Alength_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
            @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ord_less_nat @ M
        @ ( size_s877380706853472072rm_a_b
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
            @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) = (m, n) \<Longrightarrow> m < length (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts])\<close>
thf(fact_3_ass,axiom,
    ( ord_less_nat @ i
    @ ( size_s8906293707977694520rm_a_b
      @ ( concat_term_a_b
        @ ( map_na2865332088629204026rm_a_b
          @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) ) ) ) ).

% ass
thf(fact_4__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_Aconcat_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_A_B_Ai_A_061_Amap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_A_B_Am_A_B_An_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_Pr2394204248401007003rm_a_b
            @ ^ [X: produc6098685572150017969xt_a_b] :
                ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                @ ( produc1129251993345788160st_nat
                  @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                  @ X ) )
            @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ( nth_term_a_b
          @ ( concat_term_a_b
            @ ( map_Pr2394204248401007003rm_a_b
              @ ^ [X: produc6098685572150017969xt_a_b] :
                  ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                  @ ( produc1129251993345788160st_nat
                    @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                    @ X ) )
              @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
          @ i )
        = ( nth_term_a_b
          @ ( nth_list_term_a_b
            @ ( map_Pr2394204248401007003rm_a_b
              @ ^ [X: produc6098685572150017969xt_a_b] :
                  ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                  @ ( produc1129251993345788160st_nat
                    @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                    @ X ) )
              @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) )
            @ M )
          @ N ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts)) = (m, n) \<Longrightarrow> concat (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts)) ! i = map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts) ! m ! n\<close>
thf(fact_5__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_An_A_060_Alength_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_A_B_Am_J_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
            @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ord_less_nat @ N
        @ ( size_s8906293707977694520rm_a_b
          @ ( nth_list_term_a_b
            @ ( map_na2865332088629204026rm_a_b
              @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) )
            @ M ) ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) = (m, n) \<Longrightarrow> n < length (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts] ! m)\<close>
thf(fact_6__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_Am_A_060_Alength_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_Pr2394204248401007003rm_a_b
            @ ^ [X: produc6098685572150017969xt_a_b] :
                ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                @ ( produc1129251993345788160st_nat
                  @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                  @ X ) )
            @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ord_less_nat @ M
        @ ( size_s877380706853472072rm_a_b
          @ ( map_Pr2394204248401007003rm_a_b
            @ ^ [X: produc6098685572150017969xt_a_b] :
                ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                @ ( produc1129251993345788160st_nat
                  @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                  @ X ) )
            @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts)) = (m, n) \<Longrightarrow> m < length (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts))\<close>
thf(fact_7__092_060open_062_092_060And_062n_Am_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_An_A_060_Alength_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_A_B_Am_J_092_060close_062,axiom,
    ! [M: nat,N: nat] :
      ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_Pr2394204248401007003rm_a_b
            @ ^ [X: produc6098685572150017969xt_a_b] :
                ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                @ ( produc1129251993345788160st_nat
                  @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                  @ X ) )
            @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
        = ( product_Pair_nat_nat @ M @ N ) )
     => ( ord_less_nat @ N
        @ ( size_s8906293707977694520rm_a_b
          @ ( nth_list_term_a_b
            @ ( map_Pr2394204248401007003rm_a_b
              @ ^ [X: produc6098685572150017969xt_a_b] :
                  ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
                  @ ( produc1129251993345788160st_nat
                    @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                    @ X ) )
              @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) )
            @ M ) ) ) ) ).

% \<open>\<And>n m. concat_index_split (0, i) (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts)) = (m, n) \<Longrightarrow> n < length (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts) ! m)\<close>
thf(fact_8__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062m_An_O_Aconcat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_061_A_Im_M_An_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [M2: nat,N2: nat] :
        ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
            @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
       != ( product_Pair_nat_nat @ M2 @ N2 ) ) ).

% \<open>\<And>thesis. (\<And>m n. concat_index_split (0, i) (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) = (m, n) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_9_lss,axiom,
    ( ord_less_nat @ i
    @ ( size_s8906293707977694520rm_a_b
      @ ( concat_term_a_b
        @ ( map_Pr2394204248401007003rm_a_b
          @ ^ [X: produc6098685572150017969xt_a_b] :
              ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
              @ ( produc1129251993345788160st_nat
                @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                @ X ) )
          @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) ) ) ) ).

% lss
thf(fact_10_eq__l,axiom,
    ( ( size_s8906293707977694520rm_a_b
      @ ( concat_term_a_b
        @ ( map_na2865332088629204026rm_a_b
          @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) ) )
    = ( size_s8906293707977694520rm_a_b
      @ ( concat_term_a_b
        @ ( map_Pr2394204248401007003rm_a_b
          @ ^ [X: produc6098685572150017969xt_a_b] :
              ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
              @ ( produc1129251993345788160st_nat
                @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                @ X ) )
          @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) ) ) ) ).

% eq_l
thf(fact_11__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062ss_O_A_092_060lbrakk_062t_A_061_AFun_Af_Ass_059_Alength_Ats_A_061_Alength_Ass_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Ss: list_term_a_b] :
        ( ( ta
          = ( fun_a_b @ f @ Ss ) )
       => ( ( size_s6467537827362597246xt_a_b @ ts )
         != ( size_s8906293707977694520rm_a_b @ Ss ) ) ) ).

% \<open>\<And>thesis. (\<And>ss. \<lbrakk>t = Fun f ss; length ts = length ss\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_12_nth__Cons__0,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b] :
      ( ( nth_term_a_b @ ( cons_term_a_b @ X2 @ Xs ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_13_nth__Cons__0,axiom,
    ! [X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( nth_Mu4187783769245775891xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X2 @ Xs ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_14_nth__Cons__0,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( nth_list_term_a_b @ ( cons_list_term_a_b @ X2 @ Xs ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_15_nth__Cons__0,axiom,
    ! [X2: list_nat,Xs: list_list_nat] :
      ( ( nth_list_nat @ ( cons_list_nat @ X2 @ Xs ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_16_nth__Cons__0,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( nth_nat @ ( cons_nat @ X2 @ Xs ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_17_map__upt__len__conv,axiom,
    ! [F: nat > nat,Xs: list_nat] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( F @ ( nth_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Xs ) ) )
      = ( map_nat_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_18_map__upt__len__conv,axiom,
    ! [F: list_nat > nat,Xs: list_list_nat] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Xs ) ) )
      = ( map_list_nat_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_19_map__upt__len__conv,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat] :
      ( ( map_nat_list_nat
        @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Xs ) ) )
      = ( map_li7225945977422193158st_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_20_map__upt__len__conv,axiom,
    ! [F: multihole_mctxt_a_b > nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) ) )
      = ( map_Mu2779885106702152216_b_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_21_map__upt__len__conv,axiom,
    ! [F: term_a_b > nat,Xs: list_term_a_b] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( F @ ( nth_term_a_b @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) ) )
      = ( map_term_a_b_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_22_map__upt__len__conv,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat] :
      ( ( map_nat_term_a_b
        @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Xs ) ) )
      = ( map_li459708541515338042rm_a_b @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_23_map__upt__len__conv,axiom,
    ! [F: list_term_a_b > nat,Xs: list_list_term_a_b] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( F @ ( nth_list_term_a_b @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s877380706853472072rm_a_b @ Xs ) ) )
      = ( map_li2434073387748744506_b_nat @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_24_map__upt__len__conv,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat] :
      ( ( map_na2865332088629204026rm_a_b
        @ ^ [I: nat] : ( F @ ( nth_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Xs ) ) )
      = ( map_na2865332088629204026rm_a_b @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_25_map__upt__len__conv,axiom,
    ! [F: list_nat > list_term_a_b,Xs: list_list_nat] :
      ( ( map_na2865332088629204026rm_a_b
        @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Xs ) ) )
      = ( map_li6843877097126152394rm_a_b @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_26_map__upt__len__conv,axiom,
    ! [F: multihole_mctxt_a_b > list_term_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( map_na2865332088629204026rm_a_b
        @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) ) )
      = ( map_Mu8972564216984745708rm_a_b @ F @ Xs ) ) ).

% map_upt_len_conv
thf(fact_27_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_28_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_list_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_29_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_list_nat
          @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_li7225945977422193158st_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_30_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,F: multihole_mctxt_a_b > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_Mu2779885106702152216_b_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_31_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,F: term_a_b > nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_term_a_b @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_term_a_b_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_32_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,F: nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Ys ) ) )
        = ( map_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_33_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,F: nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ys ) ) )
        = ( map_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_34_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_M4548637025958506770xt_a_b,F: list_nat > nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Ys ) ) )
        = ( map_list_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_35_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_term_a_b,F: list_nat > nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_nat_nat
          @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ys ) ) )
        = ( map_list_nat_nat @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_36_map__upt__len__same__len__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > term_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_term_a_b
          @ ^ [I: nat] : ( F @ ( nth_list_nat @ Xs @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) )
        = ( map_li459708541515338042rm_a_b @ F @ Xs ) ) ) ).

% map_upt_len_same_len_conv
thf(fact_37__092_060open_062concat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062x_O_Amap_A_I_I_124___J_A_IFun_Af_Ass_J_J_A_Icase_Ax_Aof_A_Ix_M_Ay_J_A_092_060Rightarrow_062_Amap_A_I_I_D_J_Ax_J_A_Ihole__poss__list_Ay_J_J_J_A_Izip_A_0910_O_O_060length_Ats_093_Ats_J_J_A_061_A_Im_M_An_J_092_060close_062,axiom,
    ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
      @ ( map_Pr2394204248401007003rm_a_b
        @ ^ [X: produc6098685572150017969xt_a_b] :
            ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
            @ ( produc1129251993345788160st_nat
              @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
              @ X ) )
        @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
    = ( product_Pair_nat_nat @ m @ n ) ) ).

% \<open>concat_index_split (0, i) (map (\<lambda>x. map ((|_) (Fun f ss)) (case x of (x, y) \<Rightarrow> map ((#) x) (hole_poss_list y))) (zip [0..<length ts] ts)) = (m, n)\<close>
thf(fact_38_map__nth,axiom,
    ! [Xs: list_list_nat] :
      ( ( map_nat_list_nat @ ( nth_list_nat @ Xs ) @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Xs ) ) )
      = Xs ) ).

% map_nth
thf(fact_39_map__nth,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b] :
      ( ( map_na2920055545220517366xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Xs ) @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) ) )
      = Xs ) ).

% map_nth
thf(fact_40_map__nth,axiom,
    ! [Xs: list_term_a_b] :
      ( ( map_nat_term_a_b @ ( nth_term_a_b @ Xs ) @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) ) )
      = Xs ) ).

% map_nth
thf(fact_41_map__nth,axiom,
    ! [Xs: list_list_term_a_b] :
      ( ( map_na2865332088629204026rm_a_b @ ( nth_list_term_a_b @ Xs ) @ ( upt @ zero_zero_nat @ ( size_s877380706853472072rm_a_b @ Xs ) ) )
      = Xs ) ).

% map_nth
thf(fact_42_map__nth,axiom,
    ! [Xs: list_nat] :
      ( ( map_nat_nat @ ( nth_nat @ Xs ) @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Xs ) ) )
      = Xs ) ).

% map_nth
thf(fact_43__092_060open_062t_A_061_AFun_Af_Ass_092_060close_062,axiom,
    ( ta
    = ( fun_a_b @ f @ ss ) ) ).

% \<open>t = Fun f ss\<close>
thf(fact_44_length__map,axiom,
    ! [F: nat > nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( map_nat_nat @ F @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_45_length__map,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat] :
      ( ( size_s3023201423986296836st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) )
      = ( size_s3023201423986296836st_nat @ Xs ) ) ).

% length_map
thf(fact_46_length__map,axiom,
    ! [F: nat > multihole_mctxt_a_b,Xs: list_nat] :
      ( ( size_s6467537827362597246xt_a_b @ ( map_na2920055545220517366xt_a_b @ F @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_47_length__map,axiom,
    ! [F: nat > term_a_b,Xs: list_nat] :
      ( ( size_s8906293707977694520rm_a_b @ ( map_nat_term_a_b @ F @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_48_length__map,axiom,
    ! [F: multihole_mctxt_a_b > nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( size_size_list_nat @ ( map_Mu2779885106702152216_b_nat @ F @ Xs ) )
      = ( size_s6467537827362597246xt_a_b @ Xs ) ) ).

% length_map
thf(fact_49_length__map,axiom,
    ! [F: term_a_b > nat,Xs: list_term_a_b] :
      ( ( size_size_list_nat @ ( map_term_a_b_nat @ F @ Xs ) )
      = ( size_s8906293707977694520rm_a_b @ Xs ) ) ).

% length_map
thf(fact_50_length__map,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat] :
      ( ( size_s8906293707977694520rm_a_b @ ( map_li459708541515338042rm_a_b @ F @ Xs ) )
      = ( size_s3023201423986296836st_nat @ Xs ) ) ).

% length_map
thf(fact_51_length__map,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat] :
      ( ( size_s877380706853472072rm_a_b @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_52_length__map,axiom,
    ! [F: list_term_a_b > nat,Xs: list_list_term_a_b] :
      ( ( size_size_list_nat @ ( map_li2434073387748744506_b_nat @ F @ Xs ) )
      = ( size_s877380706853472072rm_a_b @ Xs ) ) ).

% length_map
thf(fact_53_length__map,axiom,
    ! [F: multihole_mctxt_a_b > multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( size_s6467537827362597246xt_a_b @ ( map_Mu1774380283460411076xt_a_b @ F @ Xs ) )
      = ( size_s6467537827362597246xt_a_b @ Xs ) ) ).

% length_map
thf(fact_54_map2__map__map,axiom,
    ! [H: nat > nat > nat,F: nat > nat,Xs: list_nat,G: nat > nat] :
      ( ( map_Pr3938374229010428429at_nat @ ( produc6842872674320459806at_nat @ H ) @ ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_nat_nat @ G @ Xs ) ) )
      = ( map_nat_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_55_map2__map__map,axiom,
    ! [H: nat > multihole_mctxt_a_b > nat,F: nat > nat,Xs: list_nat,G: nat > multihole_mctxt_a_b] :
      ( ( map_Pr5574903923400807367_b_nat @ ( produc1235081777213825376_b_nat @ H ) @ ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_na2920055545220517366xt_a_b @ G @ Xs ) ) )
      = ( map_nat_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_56_map2__map__map,axiom,
    ! [H: nat > nat > product_prod_nat_nat,F: nat > nat,Xs: list_nat,G: nat > nat] :
      ( ( map_Pr8058819605623181956at_nat @ ( produc2626176000494625587at_nat @ H ) @ ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_nat_nat @ G @ Xs ) ) )
      = ( map_na7298421622053143531at_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_57_map2__map__map,axiom,
    ! [H: list_term_a_b > nat > nat,F: nat > list_term_a_b,Xs: list_nat,G: nat > nat] :
      ( ( map_Pr632729664102509281at_nat @ ( produc1174737181333653746at_nat @ H ) @ ( zip_li2365591139631638061_b_nat @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ ( map_nat_nat @ G @ Xs ) ) )
      = ( map_nat_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_58_map2__map__map,axiom,
    ! [H: nat > list_term_a_b > nat,F: nat > nat,Xs: list_nat,G: nat > list_term_a_b] :
      ( ( map_Pr9055313272579013601_b_nat @ ( produc2069031206418169842_b_nat @ H ) @ ( zip_na2796849840512097581rm_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_na2865332088629204026rm_a_b @ G @ Xs ) ) )
      = ( map_nat_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_59_map2__map__map,axiom,
    ! [H: nat > nat > list_term_a_b,F: nat > nat,Xs: list_nat,G: nat > nat] :
      ( ( map_Pr2039887093859334625rm_a_b @ ( produc2500289907298629362rm_a_b @ H ) @ ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_nat_nat @ G @ Xs ) ) )
      = ( map_na2865332088629204026rm_a_b
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_60_map2__map__map,axiom,
    ! [H: nat > multihole_mctxt_a_b > list_nat,F: list_nat > nat,Xs: list_list_nat,G: list_nat > multihole_mctxt_a_b] :
      ( ( map_Pr7594215371475158871st_nat @ ( produc887445302299407472st_nat @ H ) @ ( zip_na2638709245307492419xt_a_b @ ( map_list_nat_nat @ F @ Xs ) @ ( map_li5320760322766927206xt_a_b @ G @ Xs ) ) )
      = ( map_li7225945977422193158st_nat
        @ ^ [X: list_nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_61_map2__map__map,axiom,
    ! [H: list_nat > list_nat > list_nat,F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat] :
      ( ( map_Pr3957463622062228029st_nat @ ( produc6026655337631754702st_nat @ H ) @ ( zip_li7157463729305086713st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ ( map_li7225945977422193158st_nat @ G @ Xs ) ) )
      = ( map_li7225945977422193158st_nat
        @ ^ [X: list_nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_62_map2__map__map,axiom,
    ! [H: nat > multihole_mctxt_a_b > list_list_nat,F: nat > nat,Xs: list_nat,G: nat > multihole_mctxt_a_b] :
      ( ( map_Pr5734484001264385127st_nat @ ( produc1129251993345788160st_nat @ H ) @ ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_na2920055545220517366xt_a_b @ G @ Xs ) ) )
      = ( map_na6205611841492582150st_nat
        @ ^ [X: nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_63_map2__map__map,axiom,
    ! [H: nat > multihole_mctxt_a_b > term_a_b,F: list_nat > nat,Xs: list_list_nat,G: list_nat > multihole_mctxt_a_b] :
      ( ( map_Pr827977935568303755rm_a_b @ ( produc3344579903247328164rm_a_b @ H ) @ ( zip_na2638709245307492419xt_a_b @ ( map_list_nat_nat @ F @ Xs ) @ ( map_li5320760322766927206xt_a_b @ G @ Xs ) ) )
      = ( map_li459708541515338042rm_a_b
        @ ^ [X: list_nat] : ( H @ ( F @ X ) @ ( G @ X ) )
        @ Xs ) ) ).

% map2_map_map
thf(fact_64_subt__at_Osimps_I2_J,axiom,
    ! [F: a,Ss2: list_term_a_b,I2: nat,P: list_nat] :
      ( ( term_subt_at_a_b @ ( fun_a_b @ F @ Ss2 ) @ ( cons_nat @ I2 @ P ) )
      = ( term_subt_at_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ P ) ) ).

% subt_at.simps(2)
thf(fact_65__092_060open_062concat__index__split_A_I0_M_Ai_J_A_Imap_A_I_092_060lambda_062i_O_Aunfill__holes_A_Its_A_B_Ai_J_A_Iss_A_B_Ai_J_J_A_0910_O_O_060length_Ats_093_J_A_061_A_Im_M_An_J_092_060close_062,axiom,
    ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ i )
      @ ( map_na2865332088629204026rm_a_b
        @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
        @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
    = ( product_Pair_nat_nat @ m @ n ) ) ).

% \<open>concat_index_split (0, i) (map (\<lambda>i. unfill_holes (ts ! i) (ss ! i)) [0..<length ts]) = (m, n)\<close>
thf(fact_66_list_Oinject,axiom,
    ! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X22 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_67_concat__map__concat,axiom,
    ! [Xs: list_l5544744485257374276rm_a_b] :
      ( ( concat_term_a_b @ ( map_li9151929291086073246rm_a_b @ concat_term_a_b @ Xs ) )
      = ( concat_term_a_b @ ( concat_list_term_a_b @ Xs ) ) ) ).

% concat_map_concat
thf(fact_68_map__ident,axiom,
    ( ( map_li7225945977422193158st_nat
      @ ^ [X: list_nat] : X )
    = ( ^ [Xs2: list_list_nat] : Xs2 ) ) ).

% map_ident
thf(fact_69_map__ident,axiom,
    ( ( map_nat_nat
      @ ^ [X: nat] : X )
    = ( ^ [Xs2: list_nat] : Xs2 ) ) ).

% map_ident
thf(fact_70_zip__Cons__Cons,axiom,
    ! [X2: nat,Xs: list_nat,Y2: multihole_mctxt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_na2638709245307492419xt_a_b @ ( cons_nat @ X2 @ Xs ) @ ( cons_M2296632834101222338xt_a_b @ Y2 @ Ys ) )
      = ( cons_P5326967860006940539xt_a_b @ ( produc6519687231358469987xt_a_b @ X2 @ Y2 ) @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_71_zip__Cons__Cons,axiom,
    ! [X2: nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( zip_nat_nat @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_72_zip__Cons__Cons,axiom,
    ! [X2: nat > nat,Xs: list_nat_nat,Y2: nat,Ys: list_nat] :
      ( ( zip_nat_nat_nat @ ( cons_nat_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( cons_P4219629788700907686at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) @ ( zip_nat_nat_nat @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_73_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F: nat > nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( map_nat_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_74_nth__map,axiom,
    ! [N: nat,Xs: list_list_nat,F: list_nat > nat] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( nth_nat @ ( map_list_nat_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_list_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_75_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F: nat > list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_list_nat @ ( map_nat_list_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_76_nth__map,axiom,
    ! [N: nat,Xs: list_list_nat,F: list_nat > list_nat] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( nth_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_list_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_77_nth__map,axiom,
    ! [N: nat,Xs: list_M4548637025958506770xt_a_b,F: multihole_mctxt_a_b > nat] :
      ( ( ord_less_nat @ N @ ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( nth_nat @ ( map_Mu2779885106702152216_b_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_78_nth__map,axiom,
    ! [N: nat,Xs: list_term_a_b,F: term_a_b > nat] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_nat @ ( map_term_a_b_nat @ F @ Xs ) @ N )
        = ( F @ ( nth_term_a_b @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_79_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F: nat > term_a_b] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_term_a_b @ ( map_nat_term_a_b @ F @ Xs ) @ N )
        = ( F @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_80_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F: nat > multihole_mctxt_a_b] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_Mu4187783769245775891xt_a_b @ ( map_na2920055545220517366xt_a_b @ F @ Xs ) @ N )
        = ( F @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_81_nth__map,axiom,
    ! [N: nat,Xs: list_list_nat,F: list_nat > multihole_mctxt_a_b] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( nth_Mu4187783769245775891xt_a_b @ ( map_li5320760322766927206xt_a_b @ F @ Xs ) @ N )
        = ( F @ ( nth_list_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_82_nth__map,axiom,
    ! [N: nat,Xs: list_list_nat,F: list_nat > term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( nth_term_a_b @ ( map_li459708541515338042rm_a_b @ F @ Xs ) @ N )
        = ( F @ ( nth_list_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_83_nth__zip,axiom,
    ! [I2: nat,Xs: list_nat,Ys: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr7617993195940197384at_nat @ ( zip_nat_nat @ Xs @ Ys ) @ I2 )
          = ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I2 ) @ ( nth_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_84_nth__zip,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr5605897354859925272at_nat @ ( zip_list_nat_nat @ Xs @ Ys ) @ I2 )
          = ( produc1298395424260782409at_nat @ ( nth_list_nat @ Xs @ I2 ) @ ( nth_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_85_nth__zip,axiom,
    ! [I2: nat,Xs: list_nat,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ( nth_Pr8640280872377703576st_nat @ ( zip_nat_list_nat @ Xs @ Ys ) @ I2 )
          = ( produc8282810413953273033st_nat @ ( nth_nat @ Xs @ I2 ) @ ( nth_list_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_86_nth__zip,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ( nth_Pr2569852650362941352st_nat @ ( zip_li7157463729305086713st_nat @ Xs @ Ys ) @ I2 )
          = ( produc2694037385005941721st_nat @ ( nth_list_nat @ Xs @ I2 ) @ ( nth_list_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_87_nth__zip,axiom,
    ! [I2: nat,Xs: list_nat_nat,Ys: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8208510060688613859at_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr4952906083868132727at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) @ I2 )
          = ( produc72220940542539688at_nat @ ( nth_nat_nat @ Xs @ I2 ) @ ( nth_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_88_nth__zip,axiom,
    ! [I2: nat,Xs: list_M4548637025958506770xt_a_b,Ys: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr864045139923200836_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) @ I2 )
          = ( produc6379516792840104837_b_nat @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I2 ) @ ( nth_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_89_nth__zip,axiom,
    ! [I2: nat,Xs: list_term_a_b,Ys: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr6785529035810532940_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) @ I2 )
          = ( produc2478027105211390077_b_nat @ ( nth_term_a_b @ Xs @ I2 ) @ ( nth_nat @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_90_nth__zip,axiom,
    ! [I2: nat,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Ys ) )
       => ( ( nth_Pr8781389266843765226xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) @ I2 )
          = ( produc6519687231358469987xt_a_b @ ( nth_nat @ Xs @ I2 ) @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_91_nth__zip,axiom,
    ! [I2: nat,Xs: list_nat,Ys: list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ys ) )
       => ( ( nth_Pr5300001119514325452rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) @ I2 )
          = ( produc1516572978046417917rm_a_b @ ( nth_nat @ Xs @ I2 ) @ ( nth_term_a_b @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_92_nth__zip,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Ys ) )
       => ( ( nth_Pr3743076083212335834xt_a_b @ ( zip_li3256635972118132019xt_a_b @ Xs @ Ys ) @ I2 )
          = ( produc1091263506549314643xt_a_b @ ( nth_list_nat @ Xs @ I2 ) @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I2 ) ) ) ) ) ).

% nth_zip
thf(fact_93_zip__commute,axiom,
    ( zip_Mu2498538806789127269_b_nat
    = ( ^ [Xs2: list_M4548637025958506770xt_a_b,Ys2: list_nat] :
          ( map_Pr2703387422056685698_b_nat
          @ ( produc1402441579867567771_b_nat
            @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( produc6379516792840104837_b_nat @ Y @ X ) )
          @ ( zip_na2638709245307492419xt_a_b @ Ys2 @ Xs2 ) ) ) ) ).

% zip_commute
thf(fact_94_zip__commute,axiom,
    ( zip_na2638709245307492419xt_a_b
    = ( ^ [Xs2: list_nat,Ys2: list_M4548637025958506770xt_a_b] :
          ( map_Pr5601633189573541250xt_a_b
          @ ( produc3045965207753194083xt_a_b
            @ ^ [X: multihole_mctxt_a_b,Y: nat] : ( produc6519687231358469987xt_a_b @ Y @ X ) )
          @ ( zip_Mu2498538806789127269_b_nat @ Ys2 @ Xs2 ) ) ) ) ).

% zip_commute
thf(fact_95_zip__commute,axiom,
    ( zip_nat_nat_nat
    = ( ^ [Xs2: list_nat_nat,Ys2: list_nat] :
          ( map_Pr8945054486622060868at_nat
          @ ( produc8465370356862861811at_nat
            @ ^ [X: nat,Y: nat > nat] : ( produc72220940542539688at_nat @ Y @ X ) )
          @ ( zip_nat_nat_nat2 @ Ys2 @ Xs2 ) ) ) ) ).

% zip_commute
thf(fact_96_zip__commute,axiom,
    ( zip_nat_nat
    = ( ^ [Xs2: list_nat,Ys2: list_nat] :
          ( map_Pr8058819605623181956at_nat
          @ ( produc2626176000494625587at_nat
            @ ^ [X: nat,Y: nat] : ( product_Pair_nat_nat @ Y @ X ) )
          @ ( zip_nat_nat @ Ys2 @ Xs2 ) ) ) ) ).

% zip_commute
thf(fact_97_zip__left__commute,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs: list_M4548637025958506770xt_a_b] :
      ( ( zip_na5409861735474425274xt_a_b @ Xs @ ( zip_na2638709245307492419xt_a_b @ Ys @ Zs ) )
      = ( map_Pr8278162681926648004xt_a_b
        @ ( produc505125004736929395xt_a_b
          @ ^ [Y: nat] :
              ( produc8116217744993975762xt_a_b
              @ ^ [X: nat,Z: multihole_mctxt_a_b] : ( produc7607056999918671514xt_a_b @ X @ ( produc6519687231358469987xt_a_b @ Y @ Z ) ) ) )
        @ ( zip_na5409861735474425274xt_a_b @ Ys @ ( zip_na2638709245307492419xt_a_b @ Xs @ Zs ) ) ) ) ).

% zip_left_commute
thf(fact_98_zip__same__conv__map,axiom,
    ! [Xs: list_nat] :
      ( ( zip_nat_nat @ Xs @ Xs )
      = ( map_na7298421622053143531at_nat
        @ ^ [X: nat] : ( product_Pair_nat_nat @ X @ X )
        @ Xs ) ) ).

% zip_same_conv_map
thf(fact_99_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_nat_nat @ G @ Ys ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( product_Pair_nat_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_100_zip__map__map,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: nat > nat,Ys: list_nat] :
      ( ( zip_list_nat_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ ( map_nat_nat @ G @ Ys ) )
      = ( map_Pr6333486603615629956at_nat
        @ ( produc7546969532005968819at_nat
          @ ^ [X: list_nat,Y: nat] : ( produc1298395424260782409at_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_list_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_101_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( zip_nat_list_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( map_Pr2349251439610057348st_nat
        @ ( produc6267044378106824115st_nat
          @ ^ [X: nat,Y: list_nat] : ( produc8282810413953273033st_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_nat_list_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_102_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ G @ Ys ) )
      = ( map_Pr7124732436823040074at_nat
        @ ( produc6406067338994634609at_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( product_Pair_nat_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_103_zip__map__map,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( zip_li2365591139631638061_b_nat @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ ( map_nat_nat @ G @ Ys ) )
      = ( map_Pr4430119450359509848_b_nat
        @ ( produc8281173900302646535_b_nat
          @ ^ [X: nat,Y: nat] : ( produc7125536832187268877_b_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_104_zip__map__map,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,G: nat > nat,Ys: list_nat] :
      ( ( zip_term_a_b_nat @ ( map_li459708541515338042rm_a_b @ F @ Xs ) @ ( map_nat_nat @ G @ Ys ) )
      = ( map_Pr7513118284566237624_b_nat
        @ ( produc8726601212956576487_b_nat
          @ ^ [X: list_nat,Y: nat] : ( produc2478027105211390077_b_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_list_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_105_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > list_term_a_b,Ys: list_nat] :
      ( ( zip_na2796849840512097581rm_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_na2865332088629204026rm_a_b @ G @ Ys ) )
      = ( map_Pr886456630441624664rm_a_b
        @ ( produc4737511080384761351rm_a_b
          @ ^ [X: nat,Y: nat] : ( produc7556795533067728397rm_a_b @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_106_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: list_nat > term_a_b,Ys: list_list_nat] :
      ( ( zip_nat_term_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_li459708541515338042rm_a_b @ G @ Ys ) )
      = ( map_Pr8232343723601455032rm_a_b
        @ ( produc2926764625243445991rm_a_b
          @ ^ [X: nat,Y: list_nat] : ( produc1516572978046417917rm_a_b @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_nat_list_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_107_zip__map__map,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( zip_li7157463729305086713st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( map_Pr2506774558405657220st_nat
        @ ( produc1621811400921161267st_nat
          @ ^ [X: list_nat,Y: list_nat] : ( produc2694037385005941721st_nat @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_li7157463729305086713st_nat @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_108_zip__map__map,axiom,
    ! [F: nat > nat,Xs: list_nat,G: multihole_mctxt_a_b > multihole_mctxt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ F @ Xs ) @ ( map_Mu1774380283460411076xt_a_b @ G @ Ys ) )
      = ( map_Pr1397359512122474280xt_a_b
        @ ( produc96413669933356353xt_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( produc6519687231358469987xt_a_b @ ( F @ X ) @ ( G @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map_map
thf(fact_109_zip__map2,axiom,
    ! [Xs: list_nat,F: multihole_mctxt_a_b > multihole_mctxt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_na2638709245307492419xt_a_b @ Xs @ ( map_Mu1774380283460411076xt_a_b @ F @ Ys ) )
      = ( map_Pr1397359512122474280xt_a_b
        @ ( produc96413669933356353xt_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( produc6519687231358469987xt_a_b @ X @ ( F @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map2
thf(fact_110_zip__map2,axiom,
    ! [Xs: list_nat,F: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_nat_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ F @ Ys ) )
      = ( map_Pr7124732436823040074at_nat
        @ ( produc6406067338994634609at_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( product_Pair_nat_nat @ X @ ( F @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map2
thf(fact_111_zip__map2,axiom,
    ! [Xs: list_nat_nat,F: nat > nat,Ys: list_nat] :
      ( ( zip_nat_nat_nat @ Xs @ ( map_nat_nat @ F @ Ys ) )
      = ( map_Pr3320853351916576324at_nat
        @ ( produc3780431343476367475at_nat
          @ ^ [X: nat > nat,Y: nat] : ( produc72220940542539688at_nat @ X @ ( F @ Y ) ) )
        @ ( zip_nat_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map2
thf(fact_112_zip__map2,axiom,
    ! [Xs: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( zip_nat_nat @ Xs @ ( map_nat_nat @ F @ Ys ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( product_Pair_nat_nat @ X @ ( F @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map2
thf(fact_113_zip__map1,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_li8997900048465293935xt_a_b @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ Ys )
      = ( map_Pr3187259118792397652xt_a_b
        @ ( produc6741354669459122285xt_a_b
          @ ^ [X: nat] : ( produc6207649949611475343xt_a_b @ ( F @ X ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map1
thf(fact_114_zip__map1,axiom,
    ! [F: nat > nat,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ F @ Xs ) @ Ys )
      = ( map_Pr1397359512122474280xt_a_b
        @ ( produc96413669933356353xt_a_b
          @ ^ [X: nat] : ( produc6519687231358469987xt_a_b @ ( F @ X ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% zip_map1
thf(fact_115_zip__map1,axiom,
    ! [F: nat > nat,Xs: list_nat,Ys: list_nat] :
      ( ( zip_nat_nat @ ( map_nat_nat @ F @ Xs ) @ Ys )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat] : ( product_Pair_nat_nat @ ( F @ X ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% zip_map1
thf(fact_116_length__induct,axiom,
    ! [P2: list_M4548637025958506770xt_a_b > $o,Xs: list_M4548637025958506770xt_a_b] :
      ( ! [Xs3: list_M4548637025958506770xt_a_b] :
          ( ! [Ys3: list_M4548637025958506770xt_a_b] :
              ( ( ord_less_nat @ ( size_s6467537827362597246xt_a_b @ Ys3 ) @ ( size_s6467537827362597246xt_a_b @ Xs3 ) )
             => ( P2 @ Ys3 ) )
         => ( P2 @ Xs3 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_117_length__induct,axiom,
    ! [P2: list_term_a_b > $o,Xs: list_term_a_b] :
      ( ! [Xs3: list_term_a_b] :
          ( ! [Ys3: list_term_a_b] :
              ( ( ord_less_nat @ ( size_s8906293707977694520rm_a_b @ Ys3 ) @ ( size_s8906293707977694520rm_a_b @ Xs3 ) )
             => ( P2 @ Ys3 ) )
         => ( P2 @ Xs3 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_118_length__induct,axiom,
    ! [P2: list_list_term_a_b > $o,Xs: list_list_term_a_b] :
      ( ! [Xs3: list_list_term_a_b] :
          ( ! [Ys3: list_list_term_a_b] :
              ( ( ord_less_nat @ ( size_s877380706853472072rm_a_b @ Ys3 ) @ ( size_s877380706853472072rm_a_b @ Xs3 ) )
             => ( P2 @ Ys3 ) )
         => ( P2 @ Xs3 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_119_length__induct,axiom,
    ! [P2: list_nat > $o,Xs: list_nat] :
      ( ! [Xs3: list_nat] :
          ( ! [Ys3: list_nat] :
              ( ( ord_less_nat @ ( size_size_list_nat @ Ys3 ) @ ( size_size_list_nat @ Xs3 ) )
             => ( P2 @ Ys3 ) )
         => ( P2 @ Xs3 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_120_eq__length__concat__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( size_size_list_nat @ ( concat_nat @ Xs ) )
          = ( size_size_list_nat @ ( concat_nat @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_121_eq__length__concat__nth,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b,Ys: list_list_nat] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) )
          = ( size_size_list_nat @ ( concat_nat @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_122_eq__length__concat__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_l2176991360922390168xt_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_size_list_nat @ ( concat_nat @ Xs ) )
          = ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_123_eq__length__concat__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_list_term_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_size_list_nat @ ( concat_nat @ Xs ) )
          = ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_124_eq__length__concat__nth,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) )
          = ( size_size_list_nat @ ( concat_nat @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_125_eq__length__concat__nth,axiom,
    ! [Xs: list_l5544744485257374276rm_a_b,Ys: list_list_nat] :
      ( ( ( size_s8422369774828843736rm_a_b @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8422369774828843736rm_a_b @ Xs ) )
           => ( ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) )
          = ( size_size_list_nat @ ( concat_nat @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_126_eq__length__concat__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_l5544744485257374276rm_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s8422369774828843736rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_size_list_nat @ ( concat_nat @ Xs ) )
          = ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_127_eq__length__concat__nth,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b,Ys: list_l2176991360922390168xt_a_b] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) )
          = ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_128_eq__length__concat__nth,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b,Ys: list_list_term_a_b] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
              = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) )
          = ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_129_eq__length__concat__nth,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_l2176991360922390168xt_a_b] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
       => ( ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) )
          = ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) ) ) ) ) ).

% eq_length_concat_nth
thf(fact_130_not__Cons__self2,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( cons_nat @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_131_neq__if__length__neq,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
       != ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_132_neq__if__length__neq,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
       != ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_133_neq__if__length__neq,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
       != ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_134_neq__if__length__neq,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
       != ( size_size_list_nat @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_135_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_M4548637025958506770xt_a_b] :
      ( ( size_s6467537827362597246xt_a_b @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_136_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_term_a_b] :
      ( ( size_s8906293707977694520rm_a_b @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_137_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_list_term_a_b] :
      ( ( size_s877380706853472072rm_a_b @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_138_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_nat] :
      ( ( size_size_list_nat @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_139_Ex__list__of__length__P,axiom,
    ! [N: nat,P2: list_nat > nat > $o] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ? [X3: list_nat] : ( P2 @ X3 @ I3 ) )
     => ? [Xs3: list_list_nat] :
          ( ( ( size_s3023201423986296836st_nat @ Xs3 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P2 @ ( nth_list_nat @ Xs3 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_140_Ex__list__of__length__P,axiom,
    ! [N: nat,P2: multihole_mctxt_a_b > nat > $o] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ? [X3: multihole_mctxt_a_b] : ( P2 @ X3 @ I3 ) )
     => ? [Xs3: list_M4548637025958506770xt_a_b] :
          ( ( ( size_s6467537827362597246xt_a_b @ Xs3 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ Xs3 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_141_Ex__list__of__length__P,axiom,
    ! [N: nat,P2: term_a_b > nat > $o] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ? [X3: term_a_b] : ( P2 @ X3 @ I3 ) )
     => ? [Xs3: list_term_a_b] :
          ( ( ( size_s8906293707977694520rm_a_b @ Xs3 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P2 @ ( nth_term_a_b @ Xs3 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_142_Ex__list__of__length__P,axiom,
    ! [N: nat,P2: list_term_a_b > nat > $o] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ? [X3: list_term_a_b] : ( P2 @ X3 @ I3 ) )
     => ? [Xs3: list_list_term_a_b] :
          ( ( ( size_s877380706853472072rm_a_b @ Xs3 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P2 @ ( nth_list_term_a_b @ Xs3 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_143_Ex__list__of__length__P,axiom,
    ! [N: nat,P2: nat > nat > $o] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ? [X3: nat] : ( P2 @ X3 @ I3 ) )
     => ? [Xs3: list_nat] :
          ( ( ( size_size_list_nat @ Xs3 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P2 @ ( nth_nat @ Xs3 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_144_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_list_nat,Z2: list_list_nat] : ( Y3 = Z2 ) )
    = ( ^ [Xs2: list_list_nat,Ys2: list_list_nat] :
          ( ( ( size_s3023201423986296836st_nat @ Xs2 )
            = ( size_s3023201423986296836st_nat @ Ys2 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs2 ) )
             => ( ( nth_list_nat @ Xs2 @ I )
                = ( nth_list_nat @ Ys2 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_145_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_M4548637025958506770xt_a_b,Z2: list_M4548637025958506770xt_a_b] : ( Y3 = Z2 ) )
    = ( ^ [Xs2: list_M4548637025958506770xt_a_b,Ys2: list_M4548637025958506770xt_a_b] :
          ( ( ( size_s6467537827362597246xt_a_b @ Xs2 )
            = ( size_s6467537827362597246xt_a_b @ Ys2 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs2 ) )
             => ( ( nth_Mu4187783769245775891xt_a_b @ Xs2 @ I )
                = ( nth_Mu4187783769245775891xt_a_b @ Ys2 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_146_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_term_a_b,Z2: list_term_a_b] : ( Y3 = Z2 ) )
    = ( ^ [Xs2: list_term_a_b,Ys2: list_term_a_b] :
          ( ( ( size_s8906293707977694520rm_a_b @ Xs2 )
            = ( size_s8906293707977694520rm_a_b @ Ys2 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs2 ) )
             => ( ( nth_term_a_b @ Xs2 @ I )
                = ( nth_term_a_b @ Ys2 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_147_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_list_term_a_b,Z2: list_list_term_a_b] : ( Y3 = Z2 ) )
    = ( ^ [Xs2: list_list_term_a_b,Ys2: list_list_term_a_b] :
          ( ( ( size_s877380706853472072rm_a_b @ Xs2 )
            = ( size_s877380706853472072rm_a_b @ Ys2 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs2 ) )
             => ( ( nth_list_term_a_b @ Xs2 @ I )
                = ( nth_list_term_a_b @ Ys2 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_148_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_nat,Z2: list_nat] : ( Y3 = Z2 ) )
    = ( ^ [Xs2: list_nat,Ys2: list_nat] :
          ( ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_nat @ Ys2 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
             => ( ( nth_nat @ Xs2 @ I )
                = ( nth_nat @ Ys2 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_149_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > list_nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K )
           => ? [X4: list_nat] : ( P2 @ I @ X4 ) ) )
      = ( ? [Xs2: list_list_nat] :
            ( ( ( size_s3023201423986296836st_nat @ Xs2 )
              = K )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K )
               => ( P2 @ I @ ( nth_list_nat @ Xs2 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_150_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > multihole_mctxt_a_b > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K )
           => ? [X4: multihole_mctxt_a_b] : ( P2 @ I @ X4 ) ) )
      = ( ? [Xs2: list_M4548637025958506770xt_a_b] :
            ( ( ( size_s6467537827362597246xt_a_b @ Xs2 )
              = K )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K )
               => ( P2 @ I @ ( nth_Mu4187783769245775891xt_a_b @ Xs2 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_151_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > term_a_b > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K )
           => ? [X4: term_a_b] : ( P2 @ I @ X4 ) ) )
      = ( ? [Xs2: list_term_a_b] :
            ( ( ( size_s8906293707977694520rm_a_b @ Xs2 )
              = K )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K )
               => ( P2 @ I @ ( nth_term_a_b @ Xs2 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_152_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > list_term_a_b > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K )
           => ? [X4: list_term_a_b] : ( P2 @ I @ X4 ) ) )
      = ( ? [Xs2: list_list_term_a_b] :
            ( ( ( size_s877380706853472072rm_a_b @ Xs2 )
              = K )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K )
               => ( P2 @ I @ ( nth_list_term_a_b @ Xs2 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_153_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K )
           => ? [X4: nat] : ( P2 @ I @ X4 ) ) )
      = ( ? [Xs2: list_nat] :
            ( ( ( size_size_list_nat @ Xs2 )
              = K )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K )
               => ( P2 @ I @ ( nth_nat @ Xs2 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_154_nth__equalityI,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( nth_list_nat @ Xs @ I3 )
              = ( nth_list_nat @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_155_nth__equalityI,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
           => ( ( nth_Mu4187783769245775891xt_a_b @ Xs @ I3 )
              = ( nth_Mu4187783769245775891xt_a_b @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_156_nth__equalityI,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( nth_term_a_b @ Xs @ I3 )
              = ( nth_term_a_b @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_157_nth__equalityI,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( ( nth_list_term_a_b @ Xs @ I3 )
              = ( nth_list_term_a_b @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_158_nth__equalityI,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ Xs @ I3 )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_159_zip__eq__ConsE,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,Xy: produc6098685572150017969xt_a_b,Xys: list_P3228452592230693057xt_a_b] :
      ( ( ( zip_na2638709245307492419xt_a_b @ Xs @ Ys )
        = ( cons_P5326967860006940539xt_a_b @ Xy @ Xys ) )
     => ~ ! [X5: nat,Xs4: list_nat] :
            ( ( Xs
              = ( cons_nat @ X5 @ Xs4 ) )
           => ! [Y4: multihole_mctxt_a_b,Ys4: list_M4548637025958506770xt_a_b] :
                ( ( Ys
                  = ( cons_M2296632834101222338xt_a_b @ Y4 @ Ys4 ) )
               => ( ( Xy
                    = ( produc6519687231358469987xt_a_b @ X5 @ Y4 ) )
                 => ( Xys
                   != ( zip_na2638709245307492419xt_a_b @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_160_zip__eq__ConsE,axiom,
    ! [Xs: list_nat,Ys: list_nat,Xy: product_prod_nat_nat,Xys: list_P6011104703257516679at_nat] :
      ( ( ( zip_nat_nat @ Xs @ Ys )
        = ( cons_P6512896166579812791at_nat @ Xy @ Xys ) )
     => ~ ! [X5: nat,Xs4: list_nat] :
            ( ( Xs
              = ( cons_nat @ X5 @ Xs4 ) )
           => ! [Y4: nat,Ys4: list_nat] :
                ( ( Ys
                  = ( cons_nat @ Y4 @ Ys4 ) )
               => ( ( Xy
                    = ( product_Pair_nat_nat @ X5 @ Y4 ) )
                 => ( Xys
                   != ( zip_nat_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_161_zip__eq__ConsE,axiom,
    ! [Xs: list_nat_nat,Ys: list_nat,Xy: produc8199716216217303280at_nat,Xys: list_P5366131564312172150at_nat] :
      ( ( ( zip_nat_nat_nat @ Xs @ Ys )
        = ( cons_P4219629788700907686at_nat @ Xy @ Xys ) )
     => ~ ! [X5: nat > nat,Xs4: list_nat_nat] :
            ( ( Xs
              = ( cons_nat_nat @ X5 @ Xs4 ) )
           => ! [Y4: nat,Ys4: list_nat] :
                ( ( Ys
                  = ( cons_nat @ Y4 @ Ys4 ) )
               => ( ( Xy
                    = ( produc72220940542539688at_nat @ X5 @ Y4 ) )
                 => ( Xys
                   != ( zip_nat_nat_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_162_mem__Collect__eq,axiom,
    ! [A: multihole_mctxt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( member4915921492409311157xt_a_b @ A @ ( collec7587487095821320951xt_a_b @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_163_Collect__mem__eq,axiom,
    ! [A2: set_Mu3903433398966807788xt_a_b] :
      ( ( collec7587487095821320951xt_a_b
        @ ^ [X: multihole_mctxt_a_b] : ( member4915921492409311157xt_a_b @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_164_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_list_list_nat,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J2: nat,K2: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J2 @ K2 ) )
              & ( ord_less_nat @ J1 @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ J2 @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K2 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J2 ) ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I1 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I22 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J2 ) @ K2 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_165_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_l2176991360922390168xt_a_b,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J2: nat,K2: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J2 @ K2 ) )
              & ( ord_less_nat @ J1 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
              & ( ord_less_nat @ J2 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K2 @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J2 ) ) )
              & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I1 )
                = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I22 )
                = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J2 ) @ K2 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_166_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_list_term_a_b,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J2: nat,K2: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J2 @ K2 ) )
              & ( ord_less_nat @ J1 @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ J2 @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K2 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J2 ) ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I1 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I22 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J2 ) @ K2 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_167_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_l5544744485257374276rm_a_b,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J2: nat,K2: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J2 @ K2 ) )
              & ( ord_less_nat @ J1 @ ( size_s8422369774828843736rm_a_b @ Xs ) )
              & ( ord_less_nat @ J2 @ ( size_s8422369774828843736rm_a_b @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K2 @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J2 ) ) )
              & ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I1 )
                = ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I22 )
                = ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J2 ) @ K2 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_168_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_list_nat,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J2: nat,K2: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J2 @ K2 ) )
              & ( ord_less_nat @ J1 @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ J2 @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K2 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J2 ) ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I1 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I22 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J2 ) @ K2 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_169_list_Omap__ident,axiom,
    ! [T: list_list_nat] :
      ( ( map_li7225945977422193158st_nat
        @ ^ [X: list_nat] : X
        @ T )
      = T ) ).

% list.map_ident
thf(fact_170_list_Omap__ident,axiom,
    ! [T: list_nat] :
      ( ( map_nat_nat
        @ ^ [X: nat] : X
        @ T )
      = T ) ).

% list.map_ident
thf(fact_171_map__nth__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( map_nat_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
             => ( ( F @ ( nth_nat @ Xs @ I ) )
                = ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_172_map__nth__eq__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( map_list_nat_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
             => ( ( F @ ( nth_list_nat @ Xs @ I ) )
                = ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_173_map__nth__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_list_nat,F: nat > list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ( ( map_nat_list_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ys ) )
             => ( ( F @ ( nth_nat @ Xs @ I ) )
                = ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_174_map__nth__eq__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ys ) )
             => ( ( F @ ( nth_list_nat @ Xs @ I ) )
                = ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_175_map__nth__eq__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,F: multihole_mctxt_a_b > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( map_Mu2779885106702152216_b_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
             => ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
                = ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_176_map__nth__eq__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,F: term_a_b > nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( map_term_a_b_nat @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
             => ( ( F @ ( nth_term_a_b @ Xs @ I ) )
                = ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_177_map__nth__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,F: nat > multihole_mctxt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( ( map_na2920055545220517366xt_a_b @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Ys ) )
             => ( ( F @ ( nth_nat @ Xs @ I ) )
                = ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_178_map__nth__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,F: nat > term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( ( map_nat_term_a_b @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ys ) )
             => ( ( F @ ( nth_nat @ Xs @ I ) )
                = ( nth_term_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_179_map__nth__eq__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_M4548637025958506770xt_a_b,F: list_nat > multihole_mctxt_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( ( map_li5320760322766927206xt_a_b @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Ys ) )
             => ( ( F @ ( nth_list_nat @ Xs @ I ) )
                = ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_180_map__nth__eq__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_term_a_b,F: list_nat > term_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
          = Ys )
        = ( ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ys ) )
             => ( ( F @ ( nth_list_nat @ Xs @ I ) )
                = ( nth_term_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_nth_eq_conv
thf(fact_181_map__nth__conv,axiom,
    ! [F: nat > nat,Ss2: list_nat,G: nat > nat,Ts: list_nat] :
      ( ( ( map_nat_nat @ F @ Ss2 )
        = ( map_nat_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Ss2 ) )
         => ( ( F @ ( nth_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_182_map__nth__conv,axiom,
    ! [F: list_nat > nat,Ss2: list_list_nat,G: nat > nat,Ts: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Ss2 )
        = ( map_nat_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ Ss2 ) )
         => ( ( F @ ( nth_list_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_183_map__nth__conv,axiom,
    ! [F: nat > nat,Ss2: list_nat,G: list_nat > nat,Ts: list_list_nat] :
      ( ( ( map_nat_nat @ F @ Ss2 )
        = ( map_list_nat_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Ss2 ) )
         => ( ( F @ ( nth_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_list_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_184_map__nth__conv,axiom,
    ! [F: list_nat > list_nat,Ss2: list_list_nat,G: nat > list_nat,Ts: list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Ss2 )
        = ( map_nat_list_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ Ss2 ) )
         => ( ( F @ ( nth_list_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_185_map__nth__conv,axiom,
    ! [F: multihole_mctxt_a_b > nat,Ss2: list_M4548637025958506770xt_a_b,G: nat > nat,Ts: list_nat] :
      ( ( ( map_Mu2779885106702152216_b_nat @ F @ Ss2 )
        = ( map_nat_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ Ss2 ) )
         => ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_186_map__nth__conv,axiom,
    ! [F: term_a_b > nat,Ss2: list_term_a_b,G: nat > nat,Ts: list_nat] :
      ( ( ( map_term_a_b_nat @ F @ Ss2 )
        = ( map_nat_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
         => ( ( F @ ( nth_term_a_b @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_187_map__nth__conv,axiom,
    ! [F: nat > list_nat,Ss2: list_nat,G: list_nat > list_nat,Ts: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Ss2 )
        = ( map_li7225945977422193158st_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Ss2 ) )
         => ( ( F @ ( nth_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_list_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_188_map__nth__conv,axiom,
    ! [F: nat > nat,Ss2: list_nat,G: term_a_b > nat,Ts: list_term_a_b] :
      ( ( ( map_nat_nat @ F @ Ss2 )
        = ( map_term_a_b_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Ss2 ) )
         => ( ( F @ ( nth_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_term_a_b @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_189_map__nth__conv,axiom,
    ! [F: nat > nat,Ss2: list_nat,G: multihole_mctxt_a_b > nat,Ts: list_M4548637025958506770xt_a_b] :
      ( ( ( map_nat_nat @ F @ Ss2 )
        = ( map_Mu2779885106702152216_b_nat @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Ss2 ) )
         => ( ( F @ ( nth_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_Mu4187783769245775891xt_a_b @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_190_map__nth__conv,axiom,
    ! [F: list_nat > term_a_b,Ss2: list_list_nat,G: nat > term_a_b,Ts: list_nat] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Ss2 )
        = ( map_nat_term_a_b @ G @ Ts ) )
     => ! [I4: nat] :
          ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ Ss2 ) )
         => ( ( F @ ( nth_list_nat @ Ss2 @ I4 ) )
            = ( G @ ( nth_nat @ Ts @ I4 ) ) ) ) ) ).

% map_nth_conv
thf(fact_191_map__eq__conv_H,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_192_map__eq__conv_H,axiom,
    ! [F: list_nat > nat,Xs: list_list_nat,G: nat > nat,Ys: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_193_map__eq__conv_H,axiom,
    ! [F: nat > nat,Xs: list_nat,G: list_nat > nat,Ys: list_list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_list_nat_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_194_map__eq__conv_H,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: nat > list_nat,Ys: list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_nat_list_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_195_map__eq__conv_H,axiom,
    ! [F: multihole_mctxt_a_b > nat,Xs: list_M4548637025958506770xt_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_Mu2779885106702152216_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s6467537827362597246xt_a_b @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs ) )
           => ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_196_map__eq__conv_H,axiom,
    ! [F: term_a_b > nat,Xs: list_term_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_term_a_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s8906293707977694520rm_a_b @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( F @ ( nth_term_a_b @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_197_map__eq__conv_H,axiom,
    ! [F: nat > list_nat,Xs: list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_198_map__eq__conv_H,axiom,
    ! [F: nat > nat,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_Mu2779885106702152216_b_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s6467537827362597246xt_a_b @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_199_map__eq__conv_H,axiom,
    ! [F: nat > nat,Xs: list_nat,G: term_a_b > nat,Ys: list_term_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_term_a_b_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s8906293707977694520rm_a_b @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_term_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_200_map__eq__conv_H,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_conv'
thf(fact_201_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ys )
          = ( size_s3023201423986296836st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J ) ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_nat @ ( concat_nat @ Ys ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_202_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_list_nat,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ys )
          = ( size_s6248950052170075156st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) )
                = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J ) ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_nat @ ( concat_nat @ Ys ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_203_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s6248950052170075156st_nat @ Ys )
          = ( size_s3023201423986296836st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ys @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J ) ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Ys ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_204_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_list_nat,Ys: list_list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ( size_s6248950052170075156st_nat @ Ys )
          = ( size_s6248950052170075156st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ys @ I3 ) )
                = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J ) ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Ys ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_205_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ys )
          = ( size_s3306353116822741252xt_a_b @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) )
                = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s3306353116822741252xt_a_b @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J ) ) )
              & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I2 )
                = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J ) @ K3 ) )
              & ( ( nth_nat @ ( concat_nat @ Ys ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_206_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,Ys: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ys )
          = ( size_s877380706853472072rm_a_b @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) )
                = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J ) ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I2 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J ) @ K3 ) )
              & ( ( nth_nat @ ( concat_nat @ Ys ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_207_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Ys )
          = ( size_s3023201423986296836st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J ) ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) @ I2 )
                = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_208_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ys )
          = ( size_s3023201423986296836st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J ) ) )
              & ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
                = ( nth_nat @ ( nth_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Ys ) @ I2 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_209_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_list_nat,Ys: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Ys )
          = ( size_s6248950052170075156st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) )
                = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J ) ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) @ I2 )
                = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_210_nth__concat__two__lists,axiom,
    ! [I2: nat,Xs: list_list_list_nat,Ys: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ys )
          = ( size_s6248950052170075156st_nat @ Xs ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) )
                = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) ) )
         => ? [J: nat,K3: nat] :
              ( ( ord_less_nat @ J @ ( size_s6248950052170075156st_nat @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J ) ) )
              & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
                = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J ) @ K3 ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Ys ) @ I2 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Ys @ J ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_211_nth__concat__split,axiom,
    ! [I2: nat,Xs: list_list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ? [J: nat,K3: nat] :
          ( ( ord_less_nat @ J @ ( size_s6248950052170075156st_nat @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ J ) ) )
          & ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
            = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ J ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_212_nth__concat__split,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ? [J: nat,K3: nat] :
          ( ( ord_less_nat @ J @ ( size_s3306353116822741252xt_a_b @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J ) ) )
          & ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I2 )
            = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ J ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_213_nth__concat__split,axiom,
    ! [I2: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ? [J: nat,K3: nat] :
          ( ( ord_less_nat @ J @ ( size_s877380706853472072rm_a_b @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J ) ) )
          & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I2 )
            = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_214_nth__concat__split,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ? [J: nat,K3: nat] :
          ( ( ord_less_nat @ J @ ( size_s8422369774828843736rm_a_b @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J ) ) )
          & ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I2 )
            = ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ J ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_215_nth__concat__split,axiom,
    ! [I2: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ? [J: nat,K3: nat] :
          ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ J ) ) )
          & ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
            = ( nth_nat @ ( nth_list_nat @ Xs @ J ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_216_concat__all__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,P2: nat > nat > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_nat @ ( nth_list_nat @ Xs @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Xs ) @ K4 ) @ ( nth_nat @ ( concat_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_217_concat__all__nth,axiom,
    ! [Xs: list_list_list_nat,Ys: list_list_nat,P2: list_nat > nat > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Xs @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Xs ) @ K4 ) @ ( nth_nat @ ( concat_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_218_concat__all__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_list_list_nat,P2: nat > list_nat > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s6248950052170075156st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_nat @ ( nth_list_nat @ Xs @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Xs ) @ K4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_219_concat__all__nth,axiom,
    ! [Xs: list_list_list_nat,Ys: list_list_list_nat,P2: list_nat > list_nat > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Xs )
        = ( size_s6248950052170075156st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Xs @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Xs ) @ K4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_220_concat__all__nth,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b,Ys: list_list_nat,P2: multihole_mctxt_a_b > nat > $o] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
             => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ K4 ) @ ( nth_nat @ ( concat_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_221_concat__all__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_l2176991360922390168xt_a_b,P2: nat > multihole_mctxt_a_b > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_nat @ ( nth_list_nat @ Xs @ I3 ) @ J ) @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Xs ) @ K4 ) @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_222_concat__all__nth,axiom,
    ! [Xs: list_list_nat,Ys: list_list_term_a_b,P2: nat > term_a_b > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
              = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_nat @ ( nth_list_nat @ Xs @ I3 ) @ J ) @ ( nth_term_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Xs ) @ K4 ) @ ( nth_term_a_b @ ( concat_term_a_b @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_223_concat__all__nth,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_nat,P2: term_a_b > nat > $o] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
             => ( P2 @ ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ K4 ) @ ( nth_nat @ ( concat_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_224_concat__all__nth,axiom,
    ! [Xs: list_list_list_nat,Ys: list_l2176991360922390168xt_a_b,P2: list_nat > multihole_mctxt_a_b > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Xs @ I3 ) @ J ) @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Xs ) @ K4 ) @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_225_concat__all__nth,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b,Ys: list_list_list_nat,P2: multihole_mctxt_a_b > list_nat > $o] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xs )
        = ( size_s6248950052170075156st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ys @ I3 ) ) ) )
       => ( ! [I3: nat,J: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( ord_less_nat @ J @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) ) )
               => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ys @ I3 ) @ J ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
             => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ K4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_226_map__eq__Cons__conv,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b,Y2: list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
        = ( cons_list_term_a_b @ Y2 @ Ys ) )
      = ( ? [Z: produc6098685572150017969xt_a_b,Zs2: list_P3228452592230693057xt_a_b] :
            ( ( Xs
              = ( cons_P5326967860006940539xt_a_b @ Z @ Zs2 ) )
            & ( ( F @ Z )
              = Y2 )
            & ( ( map_Pr2394204248401007003rm_a_b @ F @ Zs2 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_227_map__eq__Cons__conv,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,Y2: term_a_b,Ys: list_term_a_b] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( cons_term_a_b @ Y2 @ Ys ) )
      = ( ? [Z: list_nat,Zs2: list_list_nat] :
            ( ( Xs
              = ( cons_list_nat @ Z @ Zs2 ) )
            & ( ( F @ Z )
              = Y2 )
            & ( ( map_li459708541515338042rm_a_b @ F @ Zs2 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_228_map__eq__Cons__conv,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,Y2: list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( cons_list_nat @ Y2 @ Ys ) )
      = ( ? [Z: list_nat,Zs2: list_list_nat] :
            ( ( Xs
              = ( cons_list_nat @ Z @ Zs2 ) )
            & ( ( F @ Z )
              = Y2 )
            & ( ( map_li7225945977422193158st_nat @ F @ Zs2 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_229_map__eq__Cons__conv,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,Y2: list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
        = ( cons_list_term_a_b @ Y2 @ Ys ) )
      = ( ? [Z: nat,Zs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Z @ Zs2 ) )
            & ( ( F @ Z )
              = Y2 )
            & ( ( map_na2865332088629204026rm_a_b @ F @ Zs2 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_230_map__eq__Cons__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( cons_nat @ Y2 @ Ys ) )
      = ( ? [Z: nat,Zs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Z @ Zs2 ) )
            & ( ( F @ Z )
              = Y2 )
            & ( ( map_nat_nat @ F @ Zs2 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_231_Cons__eq__map__conv,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,Ys: list_P3228452592230693057xt_a_b] :
      ( ( ( cons_list_term_a_b @ X2 @ Xs )
        = ( map_Pr2394204248401007003rm_a_b @ F @ Ys ) )
      = ( ? [Z: produc6098685572150017969xt_a_b,Zs2: list_P3228452592230693057xt_a_b] :
            ( ( Ys
              = ( cons_P5326967860006940539xt_a_b @ Z @ Zs2 ) )
            & ( X2
              = ( F @ Z ) )
            & ( Xs
              = ( map_Pr2394204248401007003rm_a_b @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_232_Cons__eq__map__conv,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b,F: list_nat > term_a_b,Ys: list_list_nat] :
      ( ( ( cons_term_a_b @ X2 @ Xs )
        = ( map_li459708541515338042rm_a_b @ F @ Ys ) )
      = ( ? [Z: list_nat,Zs2: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ Z @ Zs2 ) )
            & ( X2
              = ( F @ Z ) )
            & ( Xs
              = ( map_li459708541515338042rm_a_b @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_233_Cons__eq__map__conv,axiom,
    ! [X2: list_nat,Xs: list_list_nat,F: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( cons_list_nat @ X2 @ Xs )
        = ( map_li7225945977422193158st_nat @ F @ Ys ) )
      = ( ? [Z: list_nat,Zs2: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ Z @ Zs2 ) )
            & ( X2
              = ( F @ Z ) )
            & ( Xs
              = ( map_li7225945977422193158st_nat @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_234_Cons__eq__map__conv,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b,F: nat > list_term_a_b,Ys: list_nat] :
      ( ( ( cons_list_term_a_b @ X2 @ Xs )
        = ( map_na2865332088629204026rm_a_b @ F @ Ys ) )
      = ( ? [Z: nat,Zs2: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z @ Zs2 ) )
            & ( X2
              = ( F @ Z ) )
            & ( Xs
              = ( map_na2865332088629204026rm_a_b @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_235_Cons__eq__map__conv,axiom,
    ! [X2: nat,Xs: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X2 @ Xs )
        = ( map_nat_nat @ F @ Ys ) )
      = ( ? [Z: nat,Zs2: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z @ Zs2 ) )
            & ( X2
              = ( F @ Z ) )
            & ( Xs
              = ( map_nat_nat @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_236_map__eq__Cons__D,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b,Y2: list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
        = ( cons_list_term_a_b @ Y2 @ Ys ) )
     => ? [Z3: produc6098685572150017969xt_a_b,Zs3: list_P3228452592230693057xt_a_b] :
          ( ( Xs
            = ( cons_P5326967860006940539xt_a_b @ Z3 @ Zs3 ) )
          & ( ( F @ Z3 )
            = Y2 )
          & ( ( map_Pr2394204248401007003rm_a_b @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_237_map__eq__Cons__D,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,Y2: term_a_b,Ys: list_term_a_b] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( cons_term_a_b @ Y2 @ Ys ) )
     => ? [Z3: list_nat,Zs3: list_list_nat] :
          ( ( Xs
            = ( cons_list_nat @ Z3 @ Zs3 ) )
          & ( ( F @ Z3 )
            = Y2 )
          & ( ( map_li459708541515338042rm_a_b @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_238_map__eq__Cons__D,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,Y2: list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( cons_list_nat @ Y2 @ Ys ) )
     => ? [Z3: list_nat,Zs3: list_list_nat] :
          ( ( Xs
            = ( cons_list_nat @ Z3 @ Zs3 ) )
          & ( ( F @ Z3 )
            = Y2 )
          & ( ( map_li7225945977422193158st_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_239_map__eq__Cons__D,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,Y2: list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
        = ( cons_list_term_a_b @ Y2 @ Ys ) )
     => ? [Z3: nat,Zs3: list_nat] :
          ( ( Xs
            = ( cons_nat @ Z3 @ Zs3 ) )
          & ( ( F @ Z3 )
            = Y2 )
          & ( ( map_na2865332088629204026rm_a_b @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_240_map__eq__Cons__D,axiom,
    ! [F: nat > nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( cons_nat @ Y2 @ Ys ) )
     => ? [Z3: nat,Zs3: list_nat] :
          ( ( Xs
            = ( cons_nat @ Z3 @ Zs3 ) )
          & ( ( F @ Z3 )
            = Y2 )
          & ( ( map_nat_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_241_Cons__eq__map__D,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,Ys: list_P3228452592230693057xt_a_b] :
      ( ( ( cons_list_term_a_b @ X2 @ Xs )
        = ( map_Pr2394204248401007003rm_a_b @ F @ Ys ) )
     => ? [Z3: produc6098685572150017969xt_a_b,Zs3: list_P3228452592230693057xt_a_b] :
          ( ( Ys
            = ( cons_P5326967860006940539xt_a_b @ Z3 @ Zs3 ) )
          & ( X2
            = ( F @ Z3 ) )
          & ( Xs
            = ( map_Pr2394204248401007003rm_a_b @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_242_Cons__eq__map__D,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b,F: list_nat > term_a_b,Ys: list_list_nat] :
      ( ( ( cons_term_a_b @ X2 @ Xs )
        = ( map_li459708541515338042rm_a_b @ F @ Ys ) )
     => ? [Z3: list_nat,Zs3: list_list_nat] :
          ( ( Ys
            = ( cons_list_nat @ Z3 @ Zs3 ) )
          & ( X2
            = ( F @ Z3 ) )
          & ( Xs
            = ( map_li459708541515338042rm_a_b @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_243_Cons__eq__map__D,axiom,
    ! [X2: list_nat,Xs: list_list_nat,F: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( cons_list_nat @ X2 @ Xs )
        = ( map_li7225945977422193158st_nat @ F @ Ys ) )
     => ? [Z3: list_nat,Zs3: list_list_nat] :
          ( ( Ys
            = ( cons_list_nat @ Z3 @ Zs3 ) )
          & ( X2
            = ( F @ Z3 ) )
          & ( Xs
            = ( map_li7225945977422193158st_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_244_Cons__eq__map__D,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b,F: nat > list_term_a_b,Ys: list_nat] :
      ( ( ( cons_list_term_a_b @ X2 @ Xs )
        = ( map_na2865332088629204026rm_a_b @ F @ Ys ) )
     => ? [Z3: nat,Zs3: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z3 @ Zs3 ) )
          & ( X2
            = ( F @ Z3 ) )
          & ( Xs
            = ( map_na2865332088629204026rm_a_b @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_245_Cons__eq__map__D,axiom,
    ! [X2: nat,Xs: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X2 @ Xs )
        = ( map_nat_nat @ F @ Ys ) )
     => ? [Z3: nat,Zs3: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z3 @ Zs3 ) )
          & ( X2
            = ( F @ Z3 ) )
          & ( Xs
            = ( map_nat_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_246_list_Osimps_I9_J,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,X21: produc6098685572150017969xt_a_b,X22: list_P3228452592230693057xt_a_b] :
      ( ( map_Pr2394204248401007003rm_a_b @ F @ ( cons_P5326967860006940539xt_a_b @ X21 @ X22 ) )
      = ( cons_list_term_a_b @ ( F @ X21 ) @ ( map_Pr2394204248401007003rm_a_b @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_247_list_Osimps_I9_J,axiom,
    ! [F: list_nat > term_a_b,X21: list_nat,X22: list_list_nat] :
      ( ( map_li459708541515338042rm_a_b @ F @ ( cons_list_nat @ X21 @ X22 ) )
      = ( cons_term_a_b @ ( F @ X21 ) @ ( map_li459708541515338042rm_a_b @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_248_list_Osimps_I9_J,axiom,
    ! [F: list_nat > list_nat,X21: list_nat,X22: list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( cons_list_nat @ X21 @ X22 ) )
      = ( cons_list_nat @ ( F @ X21 ) @ ( map_li7225945977422193158st_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_249_list_Osimps_I9_J,axiom,
    ! [F: nat > list_term_a_b,X21: nat,X22: list_nat] :
      ( ( map_na2865332088629204026rm_a_b @ F @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_list_term_a_b @ ( F @ X21 ) @ ( map_na2865332088629204026rm_a_b @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_250_list_Osimps_I9_J,axiom,
    ! [F: nat > nat,X21: nat,X22: list_nat] :
      ( ( map_nat_nat @ F @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_nat @ ( F @ X21 ) @ ( map_nat_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_251_map__eq__imp__length__eq,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_252_map__eq__imp__length__eq,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: nat > list_nat,Ys: list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_nat_list_nat @ G @ Ys ) )
     => ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_253_map__eq__imp__length__eq,axiom,
    ! [F: multihole_mctxt_a_b > nat,Xs: list_M4548637025958506770xt_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_Mu2779885106702152216_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
     => ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_254_map__eq__imp__length__eq,axiom,
    ! [F: term_a_b > nat,Xs: list_term_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_term_a_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
     => ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_255_map__eq__imp__length__eq,axiom,
    ! [F: nat > list_nat,Xs: list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_256_map__eq__imp__length__eq,axiom,
    ! [F: nat > nat,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_Mu2779885106702152216_b_nat @ G @ Ys ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_257_map__eq__imp__length__eq,axiom,
    ! [F: nat > nat,Xs: list_nat,G: term_a_b > nat,Ys: list_term_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_term_a_b_nat @ G @ Ys ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_258_map__eq__imp__length__eq,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
     => ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_259_map__eq__imp__length__eq,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,G: nat > term_a_b,Ys: list_nat] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( map_nat_term_a_b @ G @ Ys ) )
     => ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_260_map__eq__imp__length__eq,axiom,
    ! [F: list_term_a_b > nat,Xs: list_list_term_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_li2434073387748744506_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
     => ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_261_map__zip__map2,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_nat,G: multihole_mctxt_a_b > multihole_mctxt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr2394204248401007003rm_a_b @ F @ ( zip_na2638709245307492419xt_a_b @ Xs @ ( map_Mu1774380283460411076xt_a_b @ G @ Ys ) ) )
      = ( map_Pr2394204248401007003rm_a_b
        @ ( produc7012344277337185844rm_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6519687231358469987xt_a_b @ X @ ( G @ Y ) ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_262_map__zip__map2,axiom,
    ! [F: product_prod_nat_nat > list_term_a_b,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr2039887093859334625rm_a_b @ F @ ( zip_nat_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ G @ Ys ) ) )
      = ( map_Pr2394204248401007003rm_a_b
        @ ( produc7012344277337185844rm_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( product_Pair_nat_nat @ X @ ( G @ Y ) ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_263_map__zip__map2,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_list_nat,Xs: list_nat,G: multihole_mctxt_a_b > multihole_mctxt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr5734484001264385127st_nat @ F @ ( zip_na2638709245307492419xt_a_b @ Xs @ ( map_Mu1774380283460411076xt_a_b @ G @ Ys ) ) )
      = ( map_Pr5734484001264385127st_nat
        @ ( produc1129251993345788160st_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6519687231358469987xt_a_b @ X @ ( G @ Y ) ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_264_map__zip__map2,axiom,
    ! [F: product_prod_nat_nat > list_list_nat,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr5380166846722712749st_nat @ F @ ( zip_nat_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ G @ Ys ) ) )
      = ( map_Pr5734484001264385127st_nat
        @ ( produc1129251993345788160st_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( product_Pair_nat_nat @ X @ ( G @ Y ) ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_265_map__zip__map2,axiom,
    ! [F: produc6098685572150017969xt_a_b > product_prod_nat_nat,Xs: list_nat,G: nat > multihole_mctxt_a_b,Ys: list_nat] :
      ( ( map_Pr7124732436823040074at_nat @ F @ ( zip_na2638709245307492419xt_a_b @ Xs @ ( map_na2920055545220517366xt_a_b @ G @ Ys ) ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( produc6519687231358469987xt_a_b @ X @ ( G @ Y ) ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_266_map__zip__map2,axiom,
    ! [F: produc6666515723797200341rm_a_b > product_prod_nat_nat,Xs: list_nat,G: nat > list_term_a_b,Ys: list_nat] :
      ( ( map_Pr2071052482765451184at_nat @ F @ ( zip_na2796849840512097581rm_a_b @ Xs @ ( map_na2865332088629204026rm_a_b @ G @ Ys ) ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( produc7556795533067728397rm_a_b @ X @ ( G @ Y ) ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_267_map__zip__map2,axiom,
    ! [F: product_prod_nat_nat > product_prod_nat_nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( map_Pr8058819605623181956at_nat @ F @ ( zip_nat_nat @ Xs @ ( map_nat_nat @ G @ Ys ) ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( product_Pair_nat_nat @ X @ ( G @ Y ) ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map2
thf(fact_268_map__zip__map,axiom,
    ! [F: produc5791087442059780829xt_a_b > list_term_a_b,G: nat > list_term_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr5065177961950628807rm_a_b @ F @ ( zip_li8997900048465293935xt_a_b @ ( map_na2865332088629204026rm_a_b @ G @ Xs ) @ Ys ) )
      = ( map_Pr2394204248401007003rm_a_b
        @ ( produc7012344277337185844rm_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6207649949611475343xt_a_b @ ( G @ X ) @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_269_map__zip__map,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,G: nat > nat,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr2394204248401007003rm_a_b @ F @ ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ G @ Xs ) @ Ys ) )
      = ( map_Pr2394204248401007003rm_a_b
        @ ( produc7012344277337185844rm_a_b
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6519687231358469987xt_a_b @ ( G @ X ) @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_270_map__zip__map,axiom,
    ! [F: produc5791087442059780829xt_a_b > list_list_nat,G: nat > list_term_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr8405457714814006931st_nat @ F @ ( zip_li8997900048465293935xt_a_b @ ( map_na2865332088629204026rm_a_b @ G @ Xs ) @ Ys ) )
      = ( map_Pr5734484001264385127st_nat
        @ ( produc1129251993345788160st_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6207649949611475343xt_a_b @ ( G @ X ) @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_271_map__zip__map,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_list_nat,G: nat > nat,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( map_Pr5734484001264385127st_nat @ F @ ( zip_na2638709245307492419xt_a_b @ ( map_nat_nat @ G @ Xs ) @ Ys ) )
      = ( map_Pr5734484001264385127st_nat
        @ ( produc1129251993345788160st_nat
          @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6519687231358469987xt_a_b @ ( G @ X ) @ Y ) ) )
        @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_272_map__zip__map,axiom,
    ! [F: produc986806506860309717_b_nat > product_prod_nat_nat,G: nat > list_term_a_b,Xs: list_nat,Ys: list_nat] :
      ( ( map_Pr1156985001060548784at_nat @ F @ ( zip_li2365591139631638061_b_nat @ ( map_na2865332088629204026rm_a_b @ G @ Xs ) @ Ys ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( produc7125536832187268877_b_nat @ ( G @ X ) @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_273_map__zip__map,axiom,
    ! [F: product_prod_nat_nat > product_prod_nat_nat,G: nat > nat,Xs: list_nat,Ys: list_nat] :
      ( ( map_Pr8058819605623181956at_nat @ F @ ( zip_nat_nat @ ( map_nat_nat @ G @ Xs ) @ Ys ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( product_Pair_nat_nat @ ( G @ X ) @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_274_map__zip__map,axiom,
    ! [F: produc8199716216217303280at_nat > product_prod_nat_nat,G: nat > nat > nat,Xs: list_nat,Ys: list_nat] :
      ( ( map_Pr6983766353102373973at_nat @ F @ ( zip_nat_nat_nat @ ( map_nat_nat_nat @ G @ Xs ) @ Ys ) )
      = ( map_Pr8058819605623181956at_nat
        @ ( produc2626176000494625587at_nat
          @ ^ [X: nat,Y: nat] : ( F @ ( produc72220940542539688at_nat @ ( G @ X ) @ Y ) ) )
        @ ( zip_nat_nat @ Xs @ Ys ) ) ) ).

% map_zip_map
thf(fact_275_map__concat,axiom,
    ! [F: term_a_b > term_a_b,Xs: list_list_term_a_b] :
      ( ( map_te2328734355998148206rm_a_b @ F @ ( concat_term_a_b @ Xs ) )
      = ( concat_term_a_b @ ( map_li610973864659103758rm_a_b @ ( map_te2328734355998148206rm_a_b @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_276_map__concat,axiom,
    ! [F: nat > list_term_a_b,Xs: list_list_nat] :
      ( ( map_na2865332088629204026rm_a_b @ F @ ( concat_nat @ Xs ) )
      = ( concat_list_term_a_b @ ( map_li7961330073342607834rm_a_b @ ( map_na2865332088629204026rm_a_b @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_277_map__concat,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_l6286693285371147089xt_a_b] :
      ( ( map_Pr2394204248401007003rm_a_b @ F @ ( concat8681262159275538352xt_a_b @ Xs ) )
      = ( concat_list_term_a_b @ ( map_li460715359580240059rm_a_b @ ( map_Pr2394204248401007003rm_a_b @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_278_map__concat,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_list_nat] :
      ( ( map_li459708541515338042rm_a_b @ F @ ( concat_list_nat @ Xs ) )
      = ( concat_term_a_b @ ( map_li8738166146099166938rm_a_b @ ( map_li459708541515338042rm_a_b @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_279_map__concat,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( concat_list_nat @ Xs ) )
      = ( concat_list_nat @ ( map_li2855073862107769254st_nat @ ( map_li7225945977422193158st_nat @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_280_map__concat,axiom,
    ! [F: nat > nat,Xs: list_list_nat] :
      ( ( map_nat_nat @ F @ ( concat_nat @ Xs ) )
      = ( concat_nat @ ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ Xs ) ) ) ).

% map_concat
thf(fact_281_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
        = ( produc2761476792215241774st_nat
          @ ^ [K5: nat] : ( nth_list_nat @ ( nth_list_list_nat @ Xs @ K5 ) )
          @ ( concat5120376260311099874st_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_282_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I2 )
        = ( produc1375252215732190526xt_a_b
          @ ^ [K5: nat] : ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ K5 ) )
          @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_283_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I2 )
        = ( produc2500289907298629362rm_a_b
          @ ^ [K5: nat] : ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ K5 ) )
          @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_284_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
        = ( produc6842872674320459806at_nat
          @ ^ [K5: nat] : ( nth_nat @ ( nth_list_nat @ Xs @ K5 ) )
          @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_285_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I2 )
        = ( produc5218611393163162466rm_a_b
          @ ^ [K5: nat] : ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ K5 ) )
          @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_286_concat__index__split__sound,axiom,
    ! [I2: nat,Xs: list_l3264859301627795341at_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ ( concat7691415812945658306at_nat @ Xs ) ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( concat7691415812945658306at_nat @ Xs ) @ I2 )
        = ( produc2626176000494625587at_nat
          @ ^ [K5: nat] : ( nth_Pr7617993195940197384at_nat @ ( nth_li852852631024258574at_nat @ Xs @ K5 ) )
          @ ( concat2033898366915437183at_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_sound
thf(fact_287_concat__index__split__less__length__concat_I4_J,axiom,
    ! [I2: nat,Xs: list_list_list_nat,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( ( concat5120376260311099874st_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
          = ( nth_list_nat @ ( nth_list_list_nat @ Xs @ M ) @ N ) ) ) ) ).

% concat_index_split_less_length_concat(4)
thf(fact_288_concat__index__split__less__length__concat_I4_J,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I2 )
          = ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ M ) @ N ) ) ) ) ).

% concat_index_split_less_length_concat(4)
thf(fact_289_concat__index__split__less__length__concat_I4_J,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I2 )
          = ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ M ) @ N ) ) ) ) ).

% concat_index_split_less_length_concat(4)
thf(fact_290_concat__index__split__less__length__concat_I4_J,axiom,
    ! [I2: nat,Xs: list_list_nat,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
          = ( nth_nat @ ( nth_list_nat @ Xs @ M ) @ N ) ) ) ) ).

% concat_index_split_less_length_concat(4)
thf(fact_291_concat__index__split__less__length__concat_I4_J,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I2 )
          = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ M ) @ N ) ) ) ) ).

% concat_index_split_less_length_concat(4)
thf(fact_292_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
         => ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_293_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,Ys: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
         => ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_294_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_l2176991360922390168xt_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s3306353116822741252xt_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
                = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_295_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_list_term_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s877380706853472072rm_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
                = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_296_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,Ys: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
         => ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_297_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,Ys: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( ( size_s8422369774828843736rm_a_b @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s8422369774828843736rm_a_b @ Xs ) )
             => ( ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ I3 ) )
                = ( size_size_list_nat @ ( nth_list_nat @ Ys @ I3 ) ) ) )
         => ( ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_298_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_nat,Ys: list_l5544744485257374276rm_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s8422369774828843736rm_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
             => ( ( size_size_list_nat @ ( nth_list_nat @ Xs @ I3 ) )
                = ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_299_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,Ys: list_l2176991360922390168xt_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Xs )
          = ( size_s3306353116822741252xt_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
                = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_300_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,Ys: list_list_term_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Xs )
          = ( size_s877380706853472072rm_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Xs ) )
             => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I3 ) )
                = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_301_concat__index__split__unique,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,Ys: list_l2176991360922390168xt_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Xs )
          = ( size_s3306353116822741252xt_a_b @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I3 ) )
                = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ys @ I3 ) ) ) )
         => ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs )
            = ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Ys ) ) ) ) ) ).

% concat_index_split_unique
thf(fact_302_concat__index__split__less__length__concat_I2_J,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ M @ ( size_s3306353116822741252xt_a_b @ Xs ) ) ) ) ).

% concat_index_split_less_length_concat(2)
thf(fact_303_concat__index__split__less__length__concat_I2_J,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ M @ ( size_s8422369774828843736rm_a_b @ Xs ) ) ) ) ).

% concat_index_split_less_length_concat(2)
thf(fact_304_concat__index__split__less__length__concat_I2_J,axiom,
    ! [I2: nat,Xs: list_list_nat,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ M @ ( size_s3023201423986296836st_nat @ Xs ) ) ) ) ).

% concat_index_split_less_length_concat(2)
thf(fact_305_concat__index__split__less__length__concat_I2_J,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ M @ ( size_s877380706853472072rm_a_b @ Xs ) ) ) ) ).

% concat_index_split_less_length_concat(2)
thf(fact_306_concat__index__split__less__length__concat_I3_J,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ N @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ M ) ) ) ) ) ).

% concat_index_split_less_length_concat(3)
thf(fact_307_concat__index__split__less__length__concat_I3_J,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ N @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ M ) ) ) ) ) ).

% concat_index_split_less_length_concat(3)
thf(fact_308_concat__index__split__less__length__concat_I3_J,axiom,
    ! [I2: nat,Xs: list_list_nat,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ N @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ M ) ) ) ) ) ).

% concat_index_split_less_length_concat(3)
thf(fact_309_concat__index__split__less__length__concat_I3_J,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,M: nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs )
          = ( product_Pair_nat_nat @ M @ N ) )
       => ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ M ) ) ) ) ) ).

% concat_index_split_less_length_concat(3)
thf(fact_310_zip__nth__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_nat_nat @ Xs @ Ys )
        = ( map_na7298421622053143531at_nat
          @ ^ [I: nat] : ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_311_zip__nth__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_list_nat_nat @ Xs @ Ys )
        = ( map_na91578518272332155at_nat
          @ ^ [I: nat] : ( produc1298395424260782409at_nat @ ( nth_list_nat @ Xs @ I ) @ ( nth_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_312_zip__nth__conv,axiom,
    ! [Xs: list_nat,Ys: list_list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ( zip_nat_list_nat @ Xs @ Ys )
        = ( map_na3125962035790110459st_nat
          @ ^ [I: nat] : ( produc8282810413953273033st_nat @ ( nth_nat @ Xs @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_313_zip__nth__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ( zip_li7157463729305086713st_nat @ Xs @ Ys )
        = ( map_na7104347607807304843st_nat
          @ ^ [I: nat] : ( produc2694037385005941721st_nat @ ( nth_list_nat @ Xs @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_314_zip__nth__conv,axiom,
    ! [Xs: list_nat_nat,Ys: list_nat] :
      ( ( ( size_s8208510060688613859at_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_nat_nat_nat @ Xs @ Ys )
        = ( map_na6722963242033808602at_nat
          @ ^ [I: nat] : ( produc72220940542539688at_nat @ ( nth_nat_nat @ Xs @ I ) @ ( nth_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_315_zip__nth__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys )
        = ( map_na8501632657063841185_b_nat
          @ ^ [I: nat] : ( produc6379516792840104837_b_nat @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) @ ( nth_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_316_zip__nth__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_term_a_b_nat @ Xs @ Ys )
        = ( map_na1271210199222939823_b_nat
          @ ^ [I: nat] : ( produc2478027105211390077_b_nat @ ( nth_term_a_b @ Xs @ I ) @ ( nth_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_317_zip__nth__conv,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( zip_na2638709245307492419xt_a_b @ Xs @ Ys )
        = ( map_na7195604747129629767xt_a_b
          @ ^ [I: nat] : ( produc6519687231358469987xt_a_b @ ( nth_nat @ Xs @ I ) @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_318_zip__nth__conv,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( zip_nat_term_a_b @ Xs @ Ys )
        = ( map_na9009054319781508143rm_a_b
          @ ^ [I: nat] : ( produc1516572978046417917rm_a_b @ ( nth_nat @ Xs @ I ) @ ( nth_term_a_b @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_319_zip__nth__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( zip_li3256635972118132019xt_a_b @ Xs @ Ys )
        = ( map_na7140517673233189559xt_a_b
          @ ^ [I: nat] : ( produc1091263506549314643xt_a_b @ ( nth_list_nat @ Xs @ I ) @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Ys ) ) ) ) ) ).

% zip_nth_conv
thf(fact_320_concat__nth__nthI,axiom,
    ! [Ss2: list_list_nat,Ts: list_list_nat,P2: nat > nat > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Ss2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_nat @ ( nth_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( concat_nat @ Ts ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Ss2 ) @ I4 ) @ ( nth_nat @ ( concat_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_321_concat__nth__nthI,axiom,
    ! [Ss2: list_list_list_nat,Ts: list_list_nat,P2: list_nat > nat > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Ss2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( concat_nat @ Ts ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Ss2 ) @ I4 ) @ ( nth_nat @ ( concat_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_322_concat__nth__nthI,axiom,
    ! [Ss2: list_list_nat,Ts: list_list_list_nat,P2: nat > list_nat > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Ss2 )
        = ( size_s6248950052170075156st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_nat @ ( nth_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Ts ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Ss2 ) @ I4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_323_concat__nth__nthI,axiom,
    ! [Ss2: list_list_list_nat,Ts: list_list_list_nat,P2: list_nat > list_nat > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Ss2 )
        = ( size_s6248950052170075156st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Ts ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Ss2 ) @ I4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_324_concat__nth__nthI,axiom,
    ! [Ss2: list_l2176991360922390168xt_a_b,Ts: list_list_nat,P2: multihole_mctxt_a_b > nat > $o] :
      ( ( ( size_s3306353116822741252xt_a_b @ Ss2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( concat_nat @ Ts ) ) )
             => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ss2 ) @ I4 ) @ ( nth_nat @ ( concat_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_325_concat__nth__nthI,axiom,
    ! [Ss2: list_list_nat,Ts: list_l2176991360922390168xt_a_b,P2: nat > multihole_mctxt_a_b > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Ss2 )
        = ( size_s3306353116822741252xt_a_b @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Ts ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_nat @ ( nth_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Ts ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Ss2 ) @ I4 ) @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_326_concat__nth__nthI,axiom,
    ! [Ss2: list_list_nat,Ts: list_list_term_a_b,P2: nat > term_a_b > $o] :
      ( ( ( size_s3023201423986296836st_nat @ Ss2 )
        = ( size_s877380706853472072rm_a_b @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Ts ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) )
              = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_nat @ ( nth_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_term_a_b @ ( nth_list_term_a_b @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Ts ) ) )
             => ( P2 @ ( nth_nat @ ( concat_nat @ Ss2 ) @ I4 ) @ ( nth_term_a_b @ ( concat_term_a_b @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_327_concat__nth__nthI,axiom,
    ! [Ss2: list_list_term_a_b,Ts: list_list_nat,P2: term_a_b > nat > $o] :
      ( ( ( size_s877380706853472072rm_a_b @ Ss2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ss2 @ I3 ) )
              = ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( nth_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_term_a_b @ ( nth_list_term_a_b @ Ss2 @ I3 ) @ J ) @ ( nth_nat @ ( nth_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( concat_nat @ Ts ) ) )
             => ( P2 @ ( nth_term_a_b @ ( concat_term_a_b @ Ss2 ) @ I4 ) @ ( nth_nat @ ( concat_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_328_concat__nth__nthI,axiom,
    ! [Ss2: list_list_list_nat,Ts: list_l2176991360922390168xt_a_b,P2: list_nat > multihole_mctxt_a_b > $o] :
      ( ( ( size_s6248950052170075156st_nat @ Ss2 )
        = ( size_s3306353116822741252xt_a_b @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Ts ) )
           => ( ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) )
              = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3306353116822741252xt_a_b @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_list_nat @ ( nth_list_list_nat @ Ss2 @ I3 ) @ J ) @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Ts ) ) )
             => ( P2 @ ( nth_list_nat @ ( concat_list_nat @ Ss2 ) @ I4 ) @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_329_concat__nth__nthI,axiom,
    ! [Ss2: list_l2176991360922390168xt_a_b,Ts: list_list_list_nat,P2: multihole_mctxt_a_b > list_nat > $o] :
      ( ( ( size_s3306353116822741252xt_a_b @ Ss2 )
        = ( size_s6248950052170075156st_nat @ Ts ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) )
              = ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Ts ) )
             => ! [J: nat] :
                  ( ( ord_less_nat @ J @ ( size_s3023201423986296836st_nat @ ( nth_list_list_nat @ Ts @ I3 ) ) )
                 => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) @ J ) @ ( nth_list_nat @ ( nth_list_list_nat @ Ts @ I3 ) @ J ) ) ) )
         => ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Ts ) ) )
             => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Ss2 ) @ I4 ) @ ( nth_list_nat @ ( concat_list_nat @ Ts ) @ I4 ) ) ) ) ) ) ).

% concat_nth_nthI
thf(fact_330_case__prod__conv,axiom,
    ! [F: nat > multihole_mctxt_a_b > list_list_nat,A: nat,B: multihole_mctxt_a_b] :
      ( ( produc1129251993345788160st_nat @ F @ ( produc6519687231358469987xt_a_b @ A @ B ) )
      = ( F @ A @ B ) ) ).

% case_prod_conv
thf(fact_331_case__prod__conv,axiom,
    ! [F: nat > nat > product_prod_nat_nat,A: nat,B: nat] :
      ( ( produc2626176000494625587at_nat @ F @ ( product_Pair_nat_nat @ A @ B ) )
      = ( F @ A @ B ) ) ).

% case_prod_conv
thf(fact_332_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_333_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_334_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ A ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_335_old_Oprod_Oinject,axiom,
    ! [A: nat,B: nat,A3: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_336_old_Oprod_Oinject,axiom,
    ! [A: nat > nat,B: nat,A3: nat > nat,B2: nat] :
      ( ( ( produc72220940542539688at_nat @ A @ B )
        = ( produc72220940542539688at_nat @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_337_prod_Oinject,axiom,
    ! [X1: nat,X23: nat,Y1: nat,Y23: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X23 )
        = ( product_Pair_nat_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_338_prod_Oinject,axiom,
    ! [X1: nat > nat,X23: nat,Y1: nat > nat,Y23: nat] :
      ( ( ( produc72220940542539688at_nat @ X1 @ X23 )
        = ( produc72220940542539688at_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_339_mem__case__prodI2,axiom,
    ! [P: product_prod_nat_nat,Z4: multihole_mctxt_a_b,C: nat > nat > set_Mu3903433398966807788xt_a_b] :
      ( ! [A4: nat,B3: nat] :
          ( ( P
            = ( product_Pair_nat_nat @ A4 @ B3 ) )
         => ( member4915921492409311157xt_a_b @ Z4 @ ( C @ A4 @ B3 ) ) )
     => ( member4915921492409311157xt_a_b @ Z4 @ ( produc535264916880268062xt_a_b @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_340_mem__case__prodI2,axiom,
    ! [P: produc8199716216217303280at_nat,Z4: multihole_mctxt_a_b,C: ( nat > nat ) > nat > set_Mu3903433398966807788xt_a_b] :
      ( ! [A4: nat > nat,B3: nat] :
          ( ( P
            = ( produc72220940542539688at_nat @ A4 @ B3 ) )
         => ( member4915921492409311157xt_a_b @ Z4 @ ( C @ A4 @ B3 ) ) )
     => ( member4915921492409311157xt_a_b @ Z4 @ ( produc3685369465382686447xt_a_b @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_341_mem__case__prodI,axiom,
    ! [Z4: multihole_mctxt_a_b,C: nat > nat > set_Mu3903433398966807788xt_a_b,A: nat,B: nat] :
      ( ( member4915921492409311157xt_a_b @ Z4 @ ( C @ A @ B ) )
     => ( member4915921492409311157xt_a_b @ Z4 @ ( produc535264916880268062xt_a_b @ C @ ( product_Pair_nat_nat @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_342_mem__case__prodI,axiom,
    ! [Z4: multihole_mctxt_a_b,C: ( nat > nat ) > nat > set_Mu3903433398966807788xt_a_b,A: nat > nat,B: nat] :
      ( ( member4915921492409311157xt_a_b @ Z4 @ ( C @ A @ B ) )
     => ( member4915921492409311157xt_a_b @ Z4 @ ( produc3685369465382686447xt_a_b @ C @ ( produc72220940542539688at_nat @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_343_case__prodI2,axiom,
    ! [P: product_prod_nat_nat,C: nat > nat > $o] :
      ( ! [A4: nat,B3: nat] :
          ( ( P
            = ( product_Pair_nat_nat @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc6081775807080527818_nat_o @ C @ P ) ) ).

% case_prodI2
thf(fact_344_case__prodI2,axiom,
    ! [P: produc8199716216217303280at_nat,C: ( nat > nat ) > nat > $o] :
      ( ! [A4: nat > nat,B3: nat] :
          ( ( P
            = ( produc72220940542539688at_nat @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc1191635805960096411_nat_o @ C @ P ) ) ).

% case_prodI2
thf(fact_345_case__prodI,axiom,
    ! [F: nat > nat > $o,A: nat,B: nat] :
      ( ( F @ A @ B )
     => ( produc6081775807080527818_nat_o @ F @ ( product_Pair_nat_nat @ A @ B ) ) ) ).

% case_prodI
thf(fact_346_case__prodI,axiom,
    ! [F: ( nat > nat ) > nat > $o,A: nat > nat,B: nat] :
      ( ( F @ A @ B )
     => ( produc1191635805960096411_nat_o @ F @ ( produc72220940542539688at_nat @ A @ B ) ) ) ).

% case_prodI
thf(fact_347_mem__case__prodE,axiom,
    ! [Z4: multihole_mctxt_a_b,C: nat > nat > set_Mu3903433398966807788xt_a_b,P: product_prod_nat_nat] :
      ( ( member4915921492409311157xt_a_b @ Z4 @ ( produc535264916880268062xt_a_b @ C @ P ) )
     => ~ ! [X5: nat,Y4: nat] :
            ( ( P
              = ( product_Pair_nat_nat @ X5 @ Y4 ) )
           => ~ ( member4915921492409311157xt_a_b @ Z4 @ ( C @ X5 @ Y4 ) ) ) ) ).

% mem_case_prodE
thf(fact_348_mem__case__prodE,axiom,
    ! [Z4: multihole_mctxt_a_b,C: ( nat > nat ) > nat > set_Mu3903433398966807788xt_a_b,P: produc8199716216217303280at_nat] :
      ( ( member4915921492409311157xt_a_b @ Z4 @ ( produc3685369465382686447xt_a_b @ C @ P ) )
     => ~ ! [X5: nat > nat,Y4: nat] :
            ( ( P
              = ( produc72220940542539688at_nat @ X5 @ Y4 ) )
           => ~ ( member4915921492409311157xt_a_b @ Z4 @ ( C @ X5 @ Y4 ) ) ) ) ).

% mem_case_prodE
thf(fact_349_Pair__inject,axiom,
    ! [A: nat,B: nat,A3: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_350_Pair__inject,axiom,
    ! [A: nat > nat,B: nat,A3: nat > nat,B2: nat] :
      ( ( ( produc72220940542539688at_nat @ A @ B )
        = ( produc72220940542539688at_nat @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_351_prod__cases,axiom,
    ! [P2: product_prod_nat_nat > $o,P: product_prod_nat_nat] :
      ( ! [A4: nat,B3: nat] : ( P2 @ ( product_Pair_nat_nat @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_352_prod__cases,axiom,
    ! [P2: produc8199716216217303280at_nat > $o,P: produc8199716216217303280at_nat] :
      ( ! [A4: nat > nat,B3: nat] : ( P2 @ ( produc72220940542539688at_nat @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_353_surj__pair,axiom,
    ! [P: product_prod_nat_nat] :
    ? [X5: nat,Y4: nat] :
      ( P
      = ( product_Pair_nat_nat @ X5 @ Y4 ) ) ).

% surj_pair
thf(fact_354_surj__pair,axiom,
    ! [P: produc8199716216217303280at_nat] :
    ? [X5: nat > nat,Y4: nat] :
      ( P
      = ( produc72220940542539688at_nat @ X5 @ Y4 ) ) ).

% surj_pair
thf(fact_355_old_Oprod_Oexhaust,axiom,
    ! [Y2: product_prod_nat_nat] :
      ~ ! [A4: nat,B3: nat] :
          ( Y2
         != ( product_Pair_nat_nat @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_356_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc8199716216217303280at_nat] :
      ~ ! [A4: nat > nat,B3: nat] :
          ( Y2
         != ( produc72220940542539688at_nat @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_357_size__neq__size__imp__neq,axiom,
    ! [X2: list_M4548637025958506770xt_a_b,Y2: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ X2 )
       != ( size_s6467537827362597246xt_a_b @ Y2 ) )
     => ( X2 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_358_size__neq__size__imp__neq,axiom,
    ! [X2: list_term_a_b,Y2: list_term_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ X2 )
       != ( size_s8906293707977694520rm_a_b @ Y2 ) )
     => ( X2 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_359_size__neq__size__imp__neq,axiom,
    ! [X2: list_list_term_a_b,Y2: list_list_term_a_b] :
      ( ( ( size_s877380706853472072rm_a_b @ X2 )
       != ( size_s877380706853472072rm_a_b @ Y2 ) )
     => ( X2 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_360_size__neq__size__imp__neq,axiom,
    ! [X2: list_nat,Y2: list_nat] :
      ( ( ( size_size_list_nat @ X2 )
       != ( size_size_list_nat @ Y2 ) )
     => ( X2 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_361_size__neq__size__imp__neq,axiom,
    ! [X2: char,Y2: char] :
      ( ( ( size_size_char @ X2 )
       != ( size_size_char @ Y2 ) )
     => ( X2 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_362_linorder__neqE__nat,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
     => ( ~ ( ord_less_nat @ X2 @ Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neqE_nat
thf(fact_363_infinite__descent,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ~ ( P2 @ N2 )
         => ? [M3: nat] :
              ( ( ord_less_nat @ M3 @ N2 )
              & ~ ( P2 @ M3 ) ) )
     => ( P2 @ N ) ) ).

% infinite_descent
thf(fact_364_nat__less__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_nat @ M3 @ N2 )
             => ( P2 @ M3 ) )
         => ( P2 @ N2 ) )
     => ( P2 @ N ) ) ).

% nat_less_induct
thf(fact_365_less__irrefl__nat,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_irrefl_nat
thf(fact_366_less__not__refl3,axiom,
    ! [S: nat,T: nat] :
      ( ( ord_less_nat @ S @ T )
     => ( S != T ) ) ).

% less_not_refl3
thf(fact_367_less__not__refl2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( M != N ) ) ).

% less_not_refl2
thf(fact_368_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_not_refl
thf(fact_369_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

% nat_neq_iff
thf(fact_370_case__prodE,axiom,
    ! [C: nat > nat > $o,P: product_prod_nat_nat] :
      ( ( produc6081775807080527818_nat_o @ C @ P )
     => ~ ! [X5: nat,Y4: nat] :
            ( ( P
              = ( product_Pair_nat_nat @ X5 @ Y4 ) )
           => ~ ( C @ X5 @ Y4 ) ) ) ).

% case_prodE
thf(fact_371_case__prodE,axiom,
    ! [C: ( nat > nat ) > nat > $o,P: produc8199716216217303280at_nat] :
      ( ( produc1191635805960096411_nat_o @ C @ P )
     => ~ ! [X5: nat > nat,Y4: nat] :
            ( ( P
              = ( produc72220940542539688at_nat @ X5 @ Y4 ) )
           => ~ ( C @ X5 @ Y4 ) ) ) ).

% case_prodE
thf(fact_372_case__prodD,axiom,
    ! [F: nat > nat > $o,A: nat,B: nat] :
      ( ( produc6081775807080527818_nat_o @ F @ ( product_Pair_nat_nat @ A @ B ) )
     => ( F @ A @ B ) ) ).

% case_prodD
thf(fact_373_case__prodD,axiom,
    ! [F: ( nat > nat ) > nat > $o,A: nat > nat,B: nat] :
      ( ( produc1191635805960096411_nat_o @ F @ ( produc72220940542539688at_nat @ A @ B ) )
     => ( F @ A @ B ) ) ).

% case_prodD
thf(fact_374_prod_Ocase__distrib,axiom,
    ! [H: list_list_nat > list_list_nat,F: nat > multihole_mctxt_a_b > list_list_nat,Prod: produc6098685572150017969xt_a_b] :
      ( ( H @ ( produc1129251993345788160st_nat @ F @ Prod ) )
      = ( produc1129251993345788160st_nat
        @ ^ [X12: nat,X24: multihole_mctxt_a_b] : ( H @ ( F @ X12 @ X24 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_375_prod_Ocase__distrib,axiom,
    ! [H: product_prod_nat_nat > product_prod_nat_nat,F: nat > nat > product_prod_nat_nat,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc2626176000494625587at_nat @ F @ Prod ) )
      = ( produc2626176000494625587at_nat
        @ ^ [X12: nat,X24: nat] : ( H @ ( F @ X12 @ X24 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_376_old_Oprod_Ocase,axiom,
    ! [F: nat > multihole_mctxt_a_b > list_list_nat,X1: nat,X23: multihole_mctxt_a_b] :
      ( ( produc1129251993345788160st_nat @ F @ ( produc6519687231358469987xt_a_b @ X1 @ X23 ) )
      = ( F @ X1 @ X23 ) ) ).

% old.prod.case
thf(fact_377_old_Oprod_Ocase,axiom,
    ! [F: nat > nat > product_prod_nat_nat,X1: nat,X23: nat] :
      ( ( produc2626176000494625587at_nat @ F @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = ( F @ X1 @ X23 ) ) ).

% old.prod.case
thf(fact_378_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_379_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_380_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_381_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_382_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_383_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_384_infinite__descent0,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ~ ( P2 @ N2 )
             => ? [M3: nat] :
                  ( ( ord_less_nat @ M3 @ N2 )
                  & ~ ( P2 @ M3 ) ) ) )
       => ( P2 @ N ) ) ) ).

% infinite_descent0
thf(fact_385_case__prodE2,axiom,
    ! [Q: list_list_nat > $o,P2: nat > multihole_mctxt_a_b > list_list_nat,Z4: produc6098685572150017969xt_a_b] :
      ( ( Q @ ( produc1129251993345788160st_nat @ P2 @ Z4 ) )
     => ~ ! [X5: nat,Y4: multihole_mctxt_a_b] :
            ( ( Z4
              = ( produc6519687231358469987xt_a_b @ X5 @ Y4 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y4 ) ) ) ) ).

% case_prodE2
thf(fact_386_case__prodE2,axiom,
    ! [Q: product_prod_nat_nat > $o,P2: nat > nat > product_prod_nat_nat,Z4: product_prod_nat_nat] :
      ( ( Q @ ( produc2626176000494625587at_nat @ P2 @ Z4 ) )
     => ~ ! [X5: nat,Y4: nat] :
            ( ( Z4
              = ( product_Pair_nat_nat @ X5 @ Y4 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y4 ) ) ) ) ).

% case_prodE2
thf(fact_387_case__prod__eta,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_list_nat] :
      ( ( produc1129251993345788160st_nat
        @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( F @ ( produc6519687231358469987xt_a_b @ X @ Y ) ) )
      = F ) ).

% case_prod_eta
thf(fact_388_case__prod__eta,axiom,
    ! [F: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( produc2626176000494625587at_nat
        @ ^ [X: nat,Y: nat] : ( F @ ( product_Pair_nat_nat @ X @ Y ) ) )
      = F ) ).

% case_prod_eta
thf(fact_389_cond__case__prod__eta,axiom,
    ! [F: nat > multihole_mctxt_a_b > list_list_nat,G: produc6098685572150017969xt_a_b > list_list_nat] :
      ( ! [X5: nat,Y4: multihole_mctxt_a_b] :
          ( ( F @ X5 @ Y4 )
          = ( G @ ( produc6519687231358469987xt_a_b @ X5 @ Y4 ) ) )
     => ( ( produc1129251993345788160st_nat @ F )
        = G ) ) ).

% cond_case_prod_eta
thf(fact_390_cond__case__prod__eta,axiom,
    ! [F: nat > nat > product_prod_nat_nat,G: product_prod_nat_nat > product_prod_nat_nat] :
      ( ! [X5: nat,Y4: nat] :
          ( ( F @ X5 @ Y4 )
          = ( G @ ( product_Pair_nat_nat @ X5 @ Y4 ) ) )
     => ( ( produc2626176000494625587at_nat @ F )
        = G ) ) ).

% cond_case_prod_eta
thf(fact_391_nth__equalityE,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( Xs = Ys )
     => ~ ( ( ( size_s3023201423986296836st_nat @ Xs )
            = ( size_s3023201423986296836st_nat @ Ys ) )
         => ~ ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_s3023201423986296836st_nat @ Xs ) )
               => ( ( nth_list_nat @ Xs @ I4 )
                  = ( nth_list_nat @ Ys @ I4 ) ) ) ) ) ).

% nth_equalityE
thf(fact_392_nth__equalityE,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( Xs = Ys )
     => ~ ( ( ( size_s6467537827362597246xt_a_b @ Xs )
            = ( size_s6467537827362597246xt_a_b @ Ys ) )
         => ~ ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
               => ( ( nth_Mu4187783769245775891xt_a_b @ Xs @ I4 )
                  = ( nth_Mu4187783769245775891xt_a_b @ Ys @ I4 ) ) ) ) ) ).

% nth_equalityE
thf(fact_393_nth__equalityE,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( Xs = Ys )
     => ~ ( ( ( size_s8906293707977694520rm_a_b @ Xs )
            = ( size_s8906293707977694520rm_a_b @ Ys ) )
         => ~ ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
               => ( ( nth_term_a_b @ Xs @ I4 )
                  = ( nth_term_a_b @ Ys @ I4 ) ) ) ) ) ).

% nth_equalityE
thf(fact_394_nth__equalityE,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( Xs = Ys )
     => ~ ( ( ( size_s877380706853472072rm_a_b @ Xs )
            = ( size_s877380706853472072rm_a_b @ Ys ) )
         => ~ ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_s877380706853472072rm_a_b @ Xs ) )
               => ( ( nth_list_term_a_b @ Xs @ I4 )
                  = ( nth_list_term_a_b @ Ys @ I4 ) ) ) ) ) ).

% nth_equalityE
thf(fact_395_nth__equalityE,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( Xs = Ys )
     => ~ ( ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys ) )
         => ~ ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Xs ) )
               => ( ( nth_nat @ Xs @ I4 )
                  = ( nth_nat @ Ys @ I4 ) ) ) ) ) ).

% nth_equalityE
thf(fact_396_nth__map__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > nat,G: nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I3 ) )
              = ( G @ ( nth_nat @ Ys @ I3 ) ) ) )
       => ( ( map_nat_nat @ F @ Xs )
          = ( map_nat_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_397_nth__map__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > nat,G: nat > nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I3 ) )
              = ( G @ ( nth_nat @ Ys @ I3 ) ) ) )
       => ( ( map_list_nat_nat @ F @ Xs )
          = ( map_nat_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_398_nth__map__conv,axiom,
    ! [Xs: list_nat,Ys: list_list_nat,F: nat > nat,G: list_nat > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I3 ) )
              = ( G @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( map_nat_nat @ F @ Xs )
          = ( map_list_nat_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_399_nth__map__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_nat,F: list_nat > list_nat,G: nat > list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I3 ) )
              = ( G @ ( nth_nat @ Ys @ I3 ) ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ Xs )
          = ( map_nat_list_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_400_nth__map__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,F: multihole_mctxt_a_b > nat,G: nat > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
           => ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I3 ) )
              = ( G @ ( nth_nat @ Ys @ I3 ) ) ) )
       => ( ( map_Mu2779885106702152216_b_nat @ F @ Xs )
          = ( map_nat_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_401_nth__map__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,F: term_a_b > nat,G: nat > nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( F @ ( nth_term_a_b @ Xs @ I3 ) )
              = ( G @ ( nth_nat @ Ys @ I3 ) ) ) )
       => ( ( map_term_a_b_nat @ F @ Xs )
          = ( map_nat_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_402_nth__map__conv,axiom,
    ! [Xs: list_nat,Ys: list_list_nat,F: nat > list_nat,G: list_nat > list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I3 ) )
              = ( G @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( map_nat_list_nat @ F @ Xs )
          = ( map_li7225945977422193158st_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_403_nth__map__conv,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,F: nat > nat,G: multihole_mctxt_a_b > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I3 ) )
              = ( G @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I3 ) ) ) )
       => ( ( map_nat_nat @ F @ Xs )
          = ( map_Mu2779885106702152216_b_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_404_nth__map__conv,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,F: nat > nat,G: term_a_b > nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( F @ ( nth_nat @ Xs @ I3 ) )
              = ( G @ ( nth_term_a_b @ Ys @ I3 ) ) ) )
       => ( ( map_nat_nat @ F @ Xs )
          = ( map_term_a_b_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_405_nth__map__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat,G: list_nat > list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I3 ) )
              = ( G @ ( nth_list_nat @ Ys @ I3 ) ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ Xs )
          = ( map_li7225945977422193158st_nat @ G @ Ys ) ) ) ) ).

% nth_map_conv
thf(fact_406_Cons__less__Cons,axiom,
    ! [A: nat,X2: list_nat,B: nat,Y2: list_nat] :
      ( ( ord_less_list_nat @ ( cons_nat @ A @ X2 ) @ ( cons_nat @ B @ Y2 ) )
      = ( ( ord_less_nat @ A @ B )
        | ( ( A = B )
          & ( ord_less_list_nat @ X2 @ Y2 ) ) ) ) ).

% Cons_less_Cons
thf(fact_407_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_408_map__eq__nth__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_409_map__eq__nth__conv,axiom,
    ! [F: list_nat > nat,Xs: list_list_nat,G: nat > nat,Ys: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_410_map__eq__nth__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,G: list_nat > nat,Ys: list_list_nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_list_nat_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ys ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_411_map__eq__nth__conv,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: nat > list_nat,Ys: list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_nat_list_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_412_map__eq__nth__conv,axiom,
    ! [F: multihole_mctxt_a_b > nat,Xs: list_M4548637025958506770xt_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_Mu2779885106702152216_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s6467537827362597246xt_a_b @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
           => ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_413_map__eq__nth__conv,axiom,
    ! [F: term_a_b > nat,Xs: list_term_a_b,G: nat > nat,Ys: list_nat] :
      ( ( ( map_term_a_b_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Ys ) )
      = ( ( ( size_s8906293707977694520rm_a_b @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
           => ( ( F @ ( nth_term_a_b @ Xs @ I ) )
              = ( G @ ( nth_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_414_map__eq__nth__conv,axiom,
    ! [F: nat > list_nat,Xs: list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ys ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_415_map__eq__nth__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,G: multihole_mctxt_a_b > nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_Mu2779885106702152216_b_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s6467537827362597246xt_a_b @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Ys ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_Mu4187783769245775891xt_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_416_map__eq__nth__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,G: term_a_b > nat,Ys: list_term_a_b] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_term_a_b_nat @ G @ Ys ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s8906293707977694520rm_a_b @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ys ) )
           => ( ( F @ ( nth_nat @ Xs @ I ) )
              = ( G @ ( nth_term_a_b @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_417_map__eq__nth__conv,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Ys ) )
      = ( ( ( size_s3023201423986296836st_nat @ Xs )
          = ( size_s3023201423986296836st_nat @ Ys ) )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ys ) )
           => ( ( F @ ( nth_list_nat @ Xs @ I ) )
              = ( G @ ( nth_list_nat @ Ys @ I ) ) ) ) ) ) ).

% map_eq_nth_conv
thf(fact_418_varposs__list_Osimps_I2_J,axiom,
    ! [F: a,Ts: list_term_a_b] :
      ( ( varposs_list_a_b @ ( fun_a_b @ F @ Ts ) )
      = ( concat_list_nat
        @ ( map_Pr1863336542361719921st_nat
          @ ( produc2746199311546328450st_nat
            @ ^ [X: nat,Y: term_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( varposs_list_a_b @ Y ) ) )
          @ ( zip_nat_term_a_b @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ts ) ) @ Ts ) ) ) ) ).

% varposs_list.simps(2)
thf(fact_419_permut__sound,axiom,
    ! [I2: nat,As: list_list_nat,F: nat > nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ As ) )
     => ( ( nth_list_nat @ ( missin2960327169605006088st_nat @ As @ F ) @ I2 )
        = ( nth_list_nat @ As @ ( F @ I2 ) ) ) ) ).

% permut_sound
thf(fact_420_permut__sound,axiom,
    ! [I2: nat,As: list_M4548637025958506770xt_a_b,F: nat > nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ As ) )
     => ( ( nth_Mu4187783769245775891xt_a_b @ ( missin3856663561325014244xt_a_b @ As @ F ) @ I2 )
        = ( nth_Mu4187783769245775891xt_a_b @ As @ ( F @ I2 ) ) ) ) ).

% permut_sound
thf(fact_421_permut__sound,axiom,
    ! [I2: nat,As: list_term_a_b,F: nat > nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ As ) )
     => ( ( nth_term_a_b @ ( missin5417461770552926780rm_a_b @ As @ F ) @ I2 )
        = ( nth_term_a_b @ As @ ( F @ I2 ) ) ) ) ).

% permut_sound
thf(fact_422_permut__sound,axiom,
    ! [I2: nat,As: list_list_term_a_b,F: nat > nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ As ) )
     => ( ( nth_list_term_a_b @ ( missin6533443037858246860rm_a_b @ As @ F ) @ I2 )
        = ( nth_list_term_a_b @ As @ ( F @ I2 ) ) ) ) ).

% permut_sound
thf(fact_423_permut__sound,axiom,
    ! [I2: nat,As: list_nat,F: nat > nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ As ) )
     => ( ( nth_nat @ ( missing_permut_nat @ As @ F ) @ I2 )
        = ( nth_nat @ As @ ( F @ I2 ) ) ) ) ).

% permut_sound
thf(fact_424_hole__poss__list_Osimps_I3_J,axiom,
    ! [F: a,Cs: list_M4548637025958506770xt_a_b] :
      ( ( multih2241604942620144928st_a_b @ ( multihole_MFun_a_b @ F @ Cs ) )
      = ( concat_list_nat
        @ ( map_Pr5734484001264385127st_nat
          @ ( produc1129251993345788160st_nat
            @ ^ [X: nat,Y: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( multih2241604942620144928st_a_b @ Y ) ) )
          @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs ) ) @ Cs ) ) ) ) ).

% hole_poss_list.simps(3)
thf(fact_425_term_Oinject_I2_J,axiom,
    ! [X21: a,X22: list_term_a_b,Y21: a,Y22: list_term_a_b] :
      ( ( ( fun_a_b @ X21 @ X22 )
        = ( fun_a_b @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% term.inject(2)
thf(fact_426_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( concat_list_nat @ Xs ) ) )
     => ( ( nth_list_nat @ ( concat_list_nat @ Xs ) @ I2 )
        = ( produc2761476792215241774st_nat
          @ ^ [K5: nat] : ( nth_list_nat @ ( nth_list_list_nat @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat5120376260311099874st_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_427_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ( nth_Mu4187783769245775891xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) @ I2 )
        = ( produc1375252215732190526xt_a_b
          @ ^ [K5: nat] : ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_428_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ( nth_list_term_a_b @ ( concat_list_term_a_b @ Xs ) @ I2 )
        = ( produc2500289907298629362rm_a_b
          @ ^ [K5: nat] : ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_429_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ( nth_nat @ ( concat_nat @ Xs ) @ I2 )
        = ( produc6842872674320459806at_nat
          @ ^ [K5: nat] : ( nth_nat @ ( nth_list_nat @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_430_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I2 )
        = ( produc5218611393163162466rm_a_b
          @ ^ [K5: nat] : ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_431_concat__index__split__split__sound__aux,axiom,
    ! [I2: nat,Xs: list_l3264859301627795341at_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ ( concat7691415812945658306at_nat @ Xs ) ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( concat7691415812945658306at_nat @ Xs ) @ I2 )
        = ( produc2626176000494625587at_nat
          @ ^ [K5: nat] : ( nth_Pr7617993195940197384at_nat @ ( nth_li852852631024258574at_nat @ Xs @ ( minus_minus_nat @ K5 @ N ) ) )
          @ ( concat2033898366915437183at_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_split_sound_aux
thf(fact_432_mctxt_Oinject_I2_J,axiom,
    ! [X31: a,X32: list_M4548637025958506770xt_a_b,Y31: a,Y32: list_M4548637025958506770xt_a_b] :
      ( ( ( multihole_MFun_a_b @ X31 @ X32 )
        = ( multihole_MFun_a_b @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% mctxt.inject(2)
thf(fact_433_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ A )
      = zero_zero_nat ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_434_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

% diff_zero
thf(fact_435_zero__diff,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_436_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_437_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_438_length__upt,axiom,
    ! [I2: nat,J3: nat] :
      ( ( size_size_list_nat @ ( upt @ I2 @ J3 ) )
      = ( minus_minus_nat @ J3 @ I2 ) ) ).

% length_upt
thf(fact_439_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M ) )
      = ( ord_less_nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_440_diff__commute,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I2 @ J3 ) @ K )
      = ( minus_minus_nat @ ( minus_minus_nat @ I2 @ K ) @ J3 ) ) ).

% diff_commute
thf(fact_441_diff__right__commute,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ C ) @ B )
      = ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_442_diffs0__imp__equal,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M )
          = zero_zero_nat )
       => ( M = N ) ) ) ).

% diffs0_imp_equal
thf(fact_443_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_444_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_445_less__imp__diff__less,axiom,
    ! [J3: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ J3 @ K )
     => ( ord_less_nat @ ( minus_minus_nat @ J3 @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_446_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_447_zero__reorient,axiom,
    ! [X2: nat] :
      ( ( zero_zero_nat = X2 )
      = ( X2 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_448_zero__less__iff__neq__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( N != zero_zero_nat ) ) ).

% zero_less_iff_neq_zero
thf(fact_449_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_450_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_451_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_452_less__list__code_I3_J,axiom,
    ! [X2: nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ord_less_list_nat @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_less_list_nat @ Xs @ Ys ) ) ) ) ).

% less_list_code(3)
thf(fact_453_case__prod__Pair__iden,axiom,
    ! [P: produc8199716216217303280at_nat] :
      ( ( produc3780431343476367475at_nat @ produc72220940542539688at_nat @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_454_case__prod__Pair__iden,axiom,
    ! [P: product_prod_nat_nat] :
      ( ( produc2626176000494625587at_nat @ product_Pair_nat_nat @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_455_eqf__MFunI,axiom,
    ! [Sss: list_list_term_a_b,Cs2: list_M4548637025958506770xt_a_b,Ts: list_term_a_b,F: a] :
      ( ( ( size_s877380706853472072rm_a_b @ Sss )
        = ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( ( size_s8906293707977694520rm_a_b @ Ts )
          = ( size_s6467537827362597246xt_a_b @ Cs2 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
             => ( multih34988865219335474ll_a_b @ ( nth_term_a_b @ Ts @ I3 ) @ ( produc8492191230753176409rm_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_term_a_b @ Sss @ I3 ) ) ) )
         => ( multih34988865219335474ll_a_b @ ( fun_a_b @ F @ Ts ) @ ( produc8492191230753176409rm_a_b @ ( multihole_MFun_a_b @ F @ Cs2 ) @ ( concat_term_a_b @ Sss ) ) ) ) ) ) ).

% eqf_MFunI
thf(fact_456_eqf__MFunE,axiom,
    ! [S: term_a_b,F: a,Cs2: list_M4548637025958506770xt_a_b,Ss2: list_term_a_b] :
      ( ( multih34988865219335474ll_a_b @ S @ ( produc8492191230753176409rm_a_b @ ( multihole_MFun_a_b @ F @ Cs2 ) @ Ss2 ) )
     => ~ ! [Ts2: list_term_a_b] :
            ( ( S
              = ( fun_a_b @ F @ Ts2 ) )
           => ( ( ( size_s8906293707977694520rm_a_b @ Ts2 )
                = ( size_s6467537827362597246xt_a_b @ Cs2 ) )
             => ! [Sss2: list_list_term_a_b] :
                  ( ( ( size_s877380706853472072rm_a_b @ Sss2 )
                    = ( size_s6467537827362597246xt_a_b @ Cs2 ) )
                 => ( ! [I4: nat] :
                        ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
                       => ( multih34988865219335474ll_a_b @ ( nth_term_a_b @ Ts2 @ I4 ) @ ( produc8492191230753176409rm_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I4 ) @ ( nth_list_term_a_b @ Sss2 @ I4 ) ) ) )
                   => ( Ss2
                     != ( concat_term_a_b @ Sss2 ) ) ) ) ) ) ) ).

% eqf_MFunE
thf(fact_457_MFun_Oprems,axiom,
    ord_le850117253035069100xt_a_b @ ( multihole_MFun_a_b @ f @ ts ) @ ( multih8235204711990112060rm_a_b @ ta ) ).

% MFun.prems
thf(fact_458_unfill__holes_Osimps_I3_J,axiom,
    ! [F: a,G: a,Ts: list_term_a_b,Cs2: list_M4548637025958506770xt_a_b] :
      ( ( ( ( F = G )
          & ( ( size_s8906293707977694520rm_a_b @ Ts )
            = ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
       => ( ( multih4629214223431182294es_a_b @ ( multihole_MFun_a_b @ G @ Cs2 ) @ ( fun_a_b @ F @ Ts ) )
          = ( concat_term_a_b
            @ ( map_na2865332088629204026rm_a_b
              @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_term_a_b @ Ts @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ts ) ) ) ) ) )
      & ( ~ ( ( F = G )
            & ( ( size_s8906293707977694520rm_a_b @ Ts )
              = ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
       => ( ( multih4629214223431182294es_a_b @ ( multihole_MFun_a_b @ G @ Cs2 ) @ ( fun_a_b @ F @ Ts ) )
          = undefi1222260922581163068rm_a_b ) ) ) ).

% unfill_holes.simps(3)
thf(fact_459_product__lists_Osimps_I2_J,axiom,
    ! [Xs: list_nat,Xss: list_list_nat] :
      ( ( product_lists_nat @ ( cons_list_nat @ Xs @ Xss ) )
      = ( concat_list_nat
        @ ( map_na6205611841492582150st_nat
          @ ^ [X: nat] : ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( product_lists_nat @ Xss ) )
          @ Xs ) ) ) ).

% product_lists.simps(2)
thf(fact_460_size__char__eq__0,axiom,
    ( size_size_char
    = ( ^ [C2: char] : zero_zero_nat ) ) ).

% size_char_eq_0
thf(fact_461_less__eq__mctxt_H_Ointros_I3_J,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ds: list_M4548637025958506770xt_a_b,F: a] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs )
        = ( size_s6467537827362597246xt_a_b @ Ds ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
           => ( multih7967438480286772733xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I3 ) @ ( nth_Mu4187783769245775891xt_a_b @ Ds @ I3 ) ) )
       => ( multih7967438480286772733xt_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ ( multihole_MFun_a_b @ F @ Ds ) ) ) ) ).

% less_eq_mctxt'.intros(3)
thf(fact_462_concat__index__split__sound__fst__arg,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_fst_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s3306353116822741252xt_a_b @ Xs ) ) ) ).

% concat_index_split_sound_fst_arg
thf(fact_463_concat__index__split__sound__fst__arg,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_fst_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s8422369774828843736rm_a_b @ Xs ) ) ) ).

% concat_index_split_sound_fst_arg
thf(fact_464_concat__index__split__sound__fst__arg,axiom,
    ! [I2: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ord_less_nat @ ( product_fst_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s3023201423986296836st_nat @ Xs ) ) ) ).

% concat_index_split_sound_fst_arg
thf(fact_465_concat__index__split__sound__fst__arg,axiom,
    ! [I2: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_fst_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s877380706853472072rm_a_b @ Xs ) ) ) ).

% concat_index_split_sound_fst_arg
thf(fact_466_assms,axiom,
    ord_le850117253035069100xt_a_b @ c @ ( multih8235204711990112060rm_a_b @ t ) ).

% assms
thf(fact_467_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_468_map__fst__zip,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr3938374229010428429at_nat @ product_fst_nat_nat @ ( zip_nat_nat @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_469_map__fst__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr135706006267208315xt_a_b @ produc5564987526980563097_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_470_map__fst__zip,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr1600174416192346133rm_a_b @ produc2478730017409400425_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_471_map__fst__zip,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr5574903923400807367_b_nat @ produc5705157965498928247xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_472_map__fst__zip,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_Pr2460003174332794321_b_nat @ produc1517275890244428265rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_473_map__fst__zip,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr6131601453978369717rm_a_b @ produc5814435211824922361_b_nat @ ( zip_li2365591139631638061_b_nat @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_474_map__fst__zip,axiom,
    ! [Xs: list_nat,Ys: list_list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ( map_Pr9055313272579013601_b_nat @ produc6245693912705381881rm_a_b @ ( zip_na2796849840512097581rm_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_475_map__fst__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr6655376335923373417xt_a_b @ produc2029583840371251459xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_476_map__fst__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_term_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_Pr6694782673347976119xt_a_b @ produc6040174839447601757rm_a_b @ ( zip_Mu1004234008415057961rm_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_477_map__fst__zip,axiom,
    ! [Xs: list_term_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr3192148400092654407rm_a_b @ produc5463325425727203123xt_a_b @ ( zip_te427384594694659327xt_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_478_less__mctxt__def,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [C3: multihole_mctxt_a_b,D: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ C3 @ D )
          & ~ ( ord_le850117253035069100xt_a_b @ D @ C3 ) ) ) ) ).

% less_mctxt_def
thf(fact_479_less__eq__mctxt__prime,axiom,
    ord_le850117253035069100xt_a_b = multih7967438480286772733xt_a_b ).

% less_eq_mctxt_prime
thf(fact_480_fst__conv,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_481_fst__conv,axiom,
    ! [X1: nat > nat,X23: nat] :
      ( ( produc6156676138143019412at_nat @ ( produc72220940542539688at_nat @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_482_fst__eqD,axiom,
    ! [X2: nat,Y2: nat,A: nat] :
      ( ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_483_fst__eqD,axiom,
    ! [X2: nat > nat,Y2: nat,A: nat > nat] :
      ( ( ( produc6156676138143019412at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_484_zero__le,axiom,
    ! [X2: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X2 ) ).

% zero_le
thf(fact_485_unfill__holles__hole__poss__list__length,axiom,
    ! [C4: multihole_mctxt_a_b,T: term_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ C4 @ ( multih8235204711990112060rm_a_b @ T ) )
     => ( ( size_s8906293707977694520rm_a_b @ ( multih4629214223431182294es_a_b @ C4 @ T ) )
        = ( size_s3023201423986296836st_nat @ ( multih2241604942620144928st_a_b @ C4 ) ) ) ) ).

% unfill_holles_hole_poss_list_length
thf(fact_486_less__eq__mctxt__intros_I3_J,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ds: list_M4548637025958506770xt_a_b,F: a] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs )
        = ( size_s6467537827362597246xt_a_b @ Ds ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
           => ( ord_le850117253035069100xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I3 ) @ ( nth_Mu4187783769245775891xt_a_b @ Ds @ I3 ) ) )
       => ( ord_le850117253035069100xt_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ ( multihole_MFun_a_b @ F @ Ds ) ) ) ) ).

% less_eq_mctxt_intros(3)
thf(fact_487_less__eq__mctxt__MFunE1,axiom,
    ! [F: a,Cs: list_M4548637025958506770xt_a_b,D2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ D2 )
     => ~ ! [Ds2: list_M4548637025958506770xt_a_b] :
            ( ( D2
              = ( multihole_MFun_a_b @ F @ Ds2 ) )
           => ( ( ( size_s6467537827362597246xt_a_b @ Cs )
                = ( size_s6467537827362597246xt_a_b @ Ds2 ) )
             => ~ ! [I4: nat] :
                    ( ( ord_less_nat @ I4 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
                   => ( ord_le850117253035069100xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I4 ) @ ( nth_Mu4187783769245775891xt_a_b @ Ds2 @ I4 ) ) ) ) ) ) ).

% less_eq_mctxt_MFunE1
thf(fact_488_mctxt__of__term_Osimps_I2_J,axiom,
    ! [F: a,Ts: list_term_a_b] :
      ( ( multih8235204711990112060rm_a_b @ ( fun_a_b @ F @ Ts ) )
      = ( multihole_MFun_a_b @ F @ ( map_te2491508945343454514xt_a_b @ multih8235204711990112060rm_a_b @ Ts ) ) ) ).

% mctxt_of_term.simps(2)
thf(fact_489_MFun_Ohyps,axiom,
    ! [X2a: multihole_mctxt_a_b,T: term_a_b] :
      ( ( member4915921492409311157xt_a_b @ X2a @ ( set_Mu988262935377722401xt_a_b @ ts ) )
     => ( ( ord_le850117253035069100xt_a_b @ X2a @ ( multih8235204711990112060rm_a_b @ T ) )
       => ( ( multih4629214223431182294es_a_b @ X2a @ T )
          = ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ T ) @ ( multih2241604942620144928st_a_b @ X2a ) ) ) ) ) ).

% MFun.hyps
thf(fact_490_size_H__char__eq__0,axiom,
    ( size_char
    = ( ^ [C2: char] : zero_zero_nat ) ) ).

% size'_char_eq_0
thf(fact_491_concat__lists_Osimps_I2_J,axiom,
    ! [As: list_nat,Xs: list_list_nat] :
      ( ( missin4567272213201432058ts_nat @ ( cons_list_nat @ As @ Xs ) )
      = ( concat_list_nat
        @ ( map_li960784813134754710st_nat
          @ ^ [Vec: list_nat] :
              ( map_nat_list_nat
              @ ^ [A5: nat] : ( cons_nat @ A5 @ Vec )
              @ As )
          @ ( missin4567272213201432058ts_nat @ Xs ) ) ) ) ).

% concat_lists.simps(2)
thf(fact_492_concat__index__split__sound__snd__arg__aux,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ ( minus_minus_nat @ ( product_fst_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ N ) ) ) ) ) ).

% concat_index_split_sound_snd_arg_aux
thf(fact_493_concat__index__split__sound__snd__arg__aux,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ ( minus_minus_nat @ ( product_fst_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ N ) ) ) ) ) ).

% concat_index_split_sound_snd_arg_aux
thf(fact_494_concat__index__split__sound__snd__arg__aux,axiom,
    ! [I2: nat,Xs: list_list_nat,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ ( minus_minus_nat @ ( product_fst_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ N ) ) ) ) ) ).

% concat_index_split_sound_snd_arg_aux
thf(fact_495_concat__index__split__sound__snd__arg__aux,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,N: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ ( minus_minus_nat @ ( product_fst_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ N @ I2 ) @ Xs ) ) @ N ) ) ) ) ) ).

% concat_index_split_sound_snd_arg_aux
thf(fact_496_concat__index__split__sound__snd__arg,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ ( product_fst_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ) ) ).

% concat_index_split_sound_snd_arg
thf(fact_497_concat__index__split__sound__snd__arg,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xs @ ( product_fst_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ) ) ).

% concat_index_split_sound_snd_arg
thf(fact_498_concat__index__split__sound__snd__arg,axiom,
    ! [I2: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_size_list_nat @ ( nth_list_nat @ Xs @ ( product_fst_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ) ) ).

% concat_index_split_sound_snd_arg
thf(fact_499_concat__index__split__sound__snd__arg,axiom,
    ! [I2: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ord_less_nat @ ( product_snd_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ ( product_fst_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 ) @ Xs ) ) ) ) ) ) ).

% concat_index_split_sound_snd_arg
thf(fact_500_partition__by__concat__id,axiom,
    ! [Xss: list_l2176991360922390168xt_a_b,Ys: list_nat] :
      ( ( ( size_s3306353116822741252xt_a_b @ Xss )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys ) )
           => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xss @ I3 ) )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( ( multih8997278079985217164xt_a_b @ ( concat7497117511338392013xt_a_b @ Xss ) @ Ys )
          = Xss ) ) ) ).

% partition_by_concat_id
thf(fact_501_partition__by__concat__id,axiom,
    ! [Xss: list_l5544744485257374276rm_a_b,Ys: list_nat] :
      ( ( ( size_s8422369774828843736rm_a_b @ Xss )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys ) )
           => ( ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Xss @ I3 ) )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( ( multih776841144196503844rm_a_b @ ( concat_list_term_a_b @ Xss ) @ Ys )
          = Xss ) ) ) ).

% partition_by_concat_id
thf(fact_502_partition__by__concat__id,axiom,
    ! [Xss: list_list_term_a_b,Ys: list_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xss )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xss @ I3 ) )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( ( multih8088080497851651732rm_a_b @ ( concat_term_a_b @ Xss ) @ Ys )
          = Xss ) ) ) ).

% partition_by_concat_id
thf(fact_503_partition__by__concat__id,axiom,
    ! [Xss: list_list_nat,Ys: list_nat] :
      ( ( ( size_s3023201423986296836st_nat @ Xss )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys ) )
           => ( ( size_size_list_nat @ ( nth_list_nat @ Xss @ I3 ) )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( ( multih8544690682651757648by_nat @ ( concat_nat @ Xss ) @ Ys )
          = Xss ) ) ) ).

% partition_by_concat_id
thf(fact_504_dual__order_Orefl,axiom,
    ! [A: multihole_mctxt_a_b] : ( ord_le850117253035069100xt_a_b @ A @ A ) ).

% dual_order.refl
thf(fact_505_dual__order_Orefl,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% dual_order.refl
thf(fact_506_order__refl,axiom,
    ! [X2: multihole_mctxt_a_b] : ( ord_le850117253035069100xt_a_b @ X2 @ X2 ) ).

% order_refl
thf(fact_507_order__refl,axiom,
    ! [X2: nat] : ( ord_less_eq_nat @ X2 @ X2 ) ).

% order_refl
thf(fact_508_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_509_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_510_diff__diff__cancel,axiom,
    ! [I2: nat,N: nat] :
      ( ( ord_less_eq_nat @ I2 @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I2 ) )
        = I2 ) ) ).

% diff_diff_cancel
thf(fact_511_Cons__le__Cons,axiom,
    ! [A: nat,X2: list_nat,B: nat,Y2: list_nat] :
      ( ( ord_less_eq_list_nat @ ( cons_nat @ A @ X2 ) @ ( cons_nat @ B @ Y2 ) )
      = ( ( ord_less_nat @ A @ B )
        | ( ( A = B )
          & ( ord_less_eq_list_nat @ X2 @ Y2 ) ) ) ) ).

% Cons_le_Cons
thf(fact_512_map__eq__conv,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,G: nat > list_term_a_b] :
      ( ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
        = ( map_na2865332088629204026rm_a_b @ G @ Xs ) )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
           => ( ( F @ X )
              = ( G @ X ) ) ) ) ) ).

% map_eq_conv
thf(fact_513_map__eq__conv,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b,G: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
        = ( map_Pr2394204248401007003rm_a_b @ G @ Xs ) )
      = ( ! [X: produc6098685572150017969xt_a_b] :
            ( ( member1250379567103627208xt_a_b @ X @ ( set_Pr242066944780975196xt_a_b @ Xs ) )
           => ( ( F @ X )
              = ( G @ X ) ) ) ) ) ).

% map_eq_conv
thf(fact_514_map__eq__conv,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,G: list_nat > term_a_b] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( map_li459708541515338042rm_a_b @ G @ Xs ) )
      = ( ! [X: list_nat] :
            ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
           => ( ( F @ X )
              = ( G @ X ) ) ) ) ) ).

% map_eq_conv
thf(fact_515_map__eq__conv,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,G: list_nat > list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Xs ) )
      = ( ! [X: list_nat] :
            ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
           => ( ( F @ X )
              = ( G @ X ) ) ) ) ) ).

% map_eq_conv
thf(fact_516_map__eq__conv,axiom,
    ! [F: nat > nat,Xs: list_nat,G: nat > nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Xs ) )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
           => ( ( F @ X )
              = ( G @ X ) ) ) ) ) ).

% map_eq_conv
thf(fact_517_diff__is__0__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% diff_is_0_eq
thf(fact_518_diff__is__0__eq_H,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_519_prod_Ocollapse,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_520_prod_Ocollapse,axiom,
    ! [Prod: produc8199716216217303280at_nat] :
      ( ( produc72220940542539688at_nat @ ( produc6156676138143019412at_nat @ Prod ) @ ( produc1852801350702243542at_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_521_length__partition__by,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat] :
      ( ( size_s877380706853472072rm_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) )
      = ( size_size_list_nat @ Ys ) ) ).

% length_partition_by
thf(fact_522_length__partition__by,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( size_s3023201423986296836st_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) )
      = ( size_size_list_nat @ Ys ) ) ).

% length_partition_by
thf(fact_523_map__snd__zip,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr3938374229010428429at_nat @ product_snd_nat_nat @ ( zip_nat_nat @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_524_map__snd__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr7157534936861904161at_nat @ produc8945135801227680215_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_525_map__snd__zip,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr7879634848707609169at_nat @ produc4596313588145892779_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_526_map__snd__zip,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr3094254646210209877xt_a_b @ produc9085306239746045365xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_527_map__snd__zip,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_Pr5547155842100845461rm_a_b @ produc3634859460980920619rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_528_map__snd__zip,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr632729664102509281at_nat @ produc1073939522795545915_b_nat @ ( zip_li2365591139631638061_b_nat @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_529_map__snd__zip,axiom,
    ! [Xs: list_nat,Ys: list_list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ( map_Pr5651210886198742965rm_a_b @ produc1505198223676005435rm_a_b @ ( zip_na2796849840512097581rm_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_530_map__snd__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr6655376335923373417xt_a_b @ produc4775144687201070661xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_531_map__snd__zip,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_term_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( map_Pr6263640873875604137rm_a_b @ produc428249129076405403rm_a_b @ ( zip_Mu1004234008415057961rm_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_532_map__snd__zip,axiom,
    ! [Xs: list_term_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( map_Pr7928384560621064857xt_a_b @ produc9074771752210782577xt_a_b @ ( zip_te427384594694659327xt_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_snd_zip
thf(fact_533_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: term_a_b > term_a_b,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_te2328734355998148206rm_a_b @ F @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_te2328734355998148206rm_a_b @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_534_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_Pr2394204248401007003rm_a_b @ F @ ( nth_li7848650713086546554xt_a_b @ ( multih2582494620652353585xt_a_b @ Xs @ Ys ) @ I2 ) )
        = ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ ( map_Pr2394204248401007003rm_a_b @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_535_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: list_nat > term_a_b,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_li459708541515338042rm_a_b @ F @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_li459708541515338042rm_a_b @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_536_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: list_nat > list_nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_li7225945977422193158st_nat @ F @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_537_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: term_a_b > nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_term_a_b_nat @ F @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( map_term_a_b_nat @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_538_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: nat > term_a_b,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_term_a_b @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_nat_term_a_b @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_539_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: nat > list_term_a_b,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_na2865332088629204026rm_a_b @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) )
        = ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_540_map__partition__by__nth,axiom,
    ! [I2: nat,Ys: list_nat,F: nat > nat,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
     => ( ( map_nat_nat @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) )
        = ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( map_nat_nat @ F @ Xs ) @ Ys ) @ I2 ) ) ) ).

% map_partition_by_nth
thf(fact_541_set__subset__Cons,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,X2: multihole_mctxt_a_b] : ( ord_le4185538551145870476xt_a_b @ ( set_Mu988262935377722401xt_a_b @ Xs ) @ ( set_Mu988262935377722401xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X2 @ Xs ) ) ) ).

% set_subset_Cons
thf(fact_542_set__subset__Cons,axiom,
    ! [Xs: list_nat,X2: nat] : ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ ( cons_nat @ X2 @ Xs ) ) ) ).

% set_subset_Cons
thf(fact_543_subset__code_I1_J,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,B4: set_Mu3903433398966807788xt_a_b] :
      ( ( ord_le4185538551145870476xt_a_b @ ( set_Mu988262935377722401xt_a_b @ Xs ) @ B4 )
      = ( ! [X: multihole_mctxt_a_b] :
            ( ( member4915921492409311157xt_a_b @ X @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
           => ( member4915921492409311157xt_a_b @ X @ B4 ) ) ) ) ).

% subset_code(1)
thf(fact_544_zip__snd,axiom,
    ! [P: produc6098685572150017969xt_a_b,As: list_nat,Bs: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ P @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ As @ Bs ) ) )
     => ( member4915921492409311157xt_a_b @ ( produc9085306239746045365xt_a_b @ P ) @ ( set_Mu988262935377722401xt_a_b @ Bs ) ) ) ).

% zip_snd
thf(fact_545_zip__same,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( member6103717091360755792xt_a_b @ ( produc67882520014434071xt_a_b @ A @ B ) @ ( set_Pr3710758492808786620xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Xs ) ) )
      = ( ( member4915921492409311157xt_a_b @ A @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
        & ( A = B ) ) ) ).

% zip_same
thf(fact_546_zip__same,axiom,
    ! [A: nat,B: nat,Xs: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Xs ) ) )
      = ( ( member_nat @ A @ ( set_nat2 @ Xs ) )
        & ( A = B ) ) ) ).

% zip_same
thf(fact_547_in__set__zipE,axiom,
    ! [X2: nat,Y2: multihole_mctxt_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ ( produc6519687231358469987xt_a_b @ X2 @ Y2 ) @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) )
     => ~ ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
         => ~ ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_548_in__set__zipE,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member6103717091360755792xt_a_b @ ( produc67882520014434071xt_a_b @ X2 @ Y2 ) @ ( set_Pr3710758492808786620xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys ) ) )
     => ~ ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
         => ~ ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_549_in__set__zipE,axiom,
    ! [X2: nat,Y2: nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
     => ~ ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
         => ~ ( member_nat @ Y2 @ ( set_nat2 @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_550_in__set__zipE,axiom,
    ! [X2: nat > nat,Y2: nat,Xs: list_nat_nat,Ys: list_nat] :
      ( ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) @ ( set_Pr1941165898809491589at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) ) )
     => ~ ( ( member_nat_nat @ X2 @ ( set_nat_nat2 @ Xs ) )
         => ~ ( member_nat @ Y2 @ ( set_nat2 @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_551_set__zip__leftD,axiom,
    ! [X2: nat,Y2: multihole_mctxt_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ ( produc6519687231358469987xt_a_b @ X2 @ Y2 ) @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) )
     => ( member_nat @ X2 @ ( set_nat2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_552_set__zip__leftD,axiom,
    ! [X2: nat,Y2: nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
     => ( member_nat @ X2 @ ( set_nat2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_553_set__zip__leftD,axiom,
    ! [X2: nat > nat,Y2: nat,Xs: list_nat_nat,Ys: list_nat] :
      ( ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) @ ( set_Pr1941165898809491589at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) ) )
     => ( member_nat_nat @ X2 @ ( set_nat_nat2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_554_set__zip__rightD,axiom,
    ! [X2: nat,Y2: multihole_mctxt_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ ( produc6519687231358469987xt_a_b @ X2 @ Y2 ) @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) )
     => ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_555_set__zip__rightD,axiom,
    ! [X2: nat,Y2: nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
     => ( member_nat @ Y2 @ ( set_nat2 @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_556_set__zip__rightD,axiom,
    ! [X2: nat > nat,Y2: nat,Xs: list_nat_nat,Ys: list_nat] :
      ( ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) @ ( set_Pr1941165898809491589at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) ) )
     => ( member_nat @ Y2 @ ( set_nat2 @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_557_zip__fst,axiom,
    ! [P: produc6098685572150017969xt_a_b,As: list_nat,Bs: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ P @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ As @ Bs ) ) )
     => ( member_nat @ ( produc5705157965498928247xt_a_b @ P ) @ ( set_nat2 @ As ) ) ) ).

% zip_fst
thf(fact_558_snd__eqD,axiom,
    ! [X2: nat,Y2: nat,A: nat] :
      ( ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
        = A )
     => ( Y2 = A ) ) ).

% snd_eqD
thf(fact_559_snd__eqD,axiom,
    ! [X2: nat > nat,Y2: nat,A: nat] :
      ( ( ( produc1852801350702243542at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) )
        = A )
     => ( Y2 = A ) ) ).

% snd_eqD
thf(fact_560_snd__conv,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X23 ) ).

% snd_conv
thf(fact_561_snd__conv,axiom,
    ! [X1: nat > nat,X23: nat] :
      ( ( produc1852801350702243542at_nat @ ( produc72220940542539688at_nat @ X1 @ X23 ) )
      = X23 ) ).

% snd_conv
thf(fact_562_set__ConsD,axiom,
    ! [Y2: multihole_mctxt_a_b,X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_563_set__ConsD,axiom,
    ! [Y2: nat,X2: nat,Xs: list_nat] :
      ( ( member_nat @ Y2 @ ( set_nat2 @ ( cons_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_nat @ Y2 @ ( set_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_564_list_Oset__cases,axiom,
    ! [E: multihole_mctxt_a_b,A: list_M4548637025958506770xt_a_b] :
      ( ( member4915921492409311157xt_a_b @ E @ ( set_Mu988262935377722401xt_a_b @ A ) )
     => ( ! [Z22: list_M4548637025958506770xt_a_b] :
            ( A
           != ( cons_M2296632834101222338xt_a_b @ E @ Z22 ) )
       => ~ ! [Z1: multihole_mctxt_a_b,Z22: list_M4548637025958506770xt_a_b] :
              ( ( A
                = ( cons_M2296632834101222338xt_a_b @ Z1 @ Z22 ) )
             => ~ ( member4915921492409311157xt_a_b @ E @ ( set_Mu988262935377722401xt_a_b @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_565_list_Oset__cases,axiom,
    ! [E: nat,A: list_nat] :
      ( ( member_nat @ E @ ( set_nat2 @ A ) )
     => ( ! [Z22: list_nat] :
            ( A
           != ( cons_nat @ E @ Z22 ) )
       => ~ ! [Z1: nat,Z22: list_nat] :
              ( ( A
                = ( cons_nat @ Z1 @ Z22 ) )
             => ~ ( member_nat @ E @ ( set_nat2 @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_566_list_Oset__intros_I1_J,axiom,
    ! [X21: multihole_mctxt_a_b,X22: list_M4548637025958506770xt_a_b] : ( member4915921492409311157xt_a_b @ X21 @ ( set_Mu988262935377722401xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_567_list_Oset__intros_I1_J,axiom,
    ! [X21: nat,X22: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_568_list_Oset__intros_I2_J,axiom,
    ! [Y2: multihole_mctxt_a_b,X22: list_M4548637025958506770xt_a_b,X21: multihole_mctxt_a_b] :
      ( ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ X22 ) )
     => ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_569_list_Oset__intros_I2_J,axiom,
    ! [Y2: nat,X22: list_nat,X21: nat] :
      ( ( member_nat @ Y2 @ ( set_nat2 @ X22 ) )
     => ( member_nat @ Y2 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_570_ex__map__conv,axiom,
    ! [Ys: list_list_term_a_b,F: nat > list_term_a_b] :
      ( ( ? [Xs2: list_nat] :
            ( Ys
            = ( map_na2865332088629204026rm_a_b @ F @ Xs2 ) ) )
      = ( ! [X: list_term_a_b] :
            ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys ) )
           => ? [Y: nat] :
                ( X
                = ( F @ Y ) ) ) ) ) ).

% ex_map_conv
thf(fact_571_ex__map__conv,axiom,
    ! [Ys: list_list_term_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ( ? [Xs2: list_P3228452592230693057xt_a_b] :
            ( Ys
            = ( map_Pr2394204248401007003rm_a_b @ F @ Xs2 ) ) )
      = ( ! [X: list_term_a_b] :
            ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys ) )
           => ? [Y: produc6098685572150017969xt_a_b] :
                ( X
                = ( F @ Y ) ) ) ) ) ).

% ex_map_conv
thf(fact_572_ex__map__conv,axiom,
    ! [Ys: list_term_a_b,F: list_nat > term_a_b] :
      ( ( ? [Xs2: list_list_nat] :
            ( Ys
            = ( map_li459708541515338042rm_a_b @ F @ Xs2 ) ) )
      = ( ! [X: term_a_b] :
            ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Ys ) )
           => ? [Y: list_nat] :
                ( X
                = ( F @ Y ) ) ) ) ) ).

% ex_map_conv
thf(fact_573_ex__map__conv,axiom,
    ! [Ys: list_list_nat,F: list_nat > list_nat] :
      ( ( ? [Xs2: list_list_nat] :
            ( Ys
            = ( map_li7225945977422193158st_nat @ F @ Xs2 ) ) )
      = ( ! [X: list_nat] :
            ( ( member_list_nat @ X @ ( set_list_nat2 @ Ys ) )
           => ? [Y: list_nat] :
                ( X
                = ( F @ Y ) ) ) ) ) ).

% ex_map_conv
thf(fact_574_ex__map__conv,axiom,
    ! [Ys: list_nat,F: nat > nat] :
      ( ( ? [Xs2: list_nat] :
            ( Ys
            = ( map_nat_nat @ F @ Xs2 ) ) )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Ys ) )
           => ? [Y: nat] :
                ( X
                = ( F @ Y ) ) ) ) ) ).

% ex_map_conv
thf(fact_575_map__cong,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > list_term_a_b,G: nat > list_term_a_b] :
      ( ( Xs = Ys )
     => ( ! [X5: nat] :
            ( ( member_nat @ X5 @ ( set_nat2 @ Ys ) )
           => ( ( F @ X5 )
              = ( G @ X5 ) ) )
       => ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
          = ( map_na2865332088629204026rm_a_b @ G @ Ys ) ) ) ) ).

% map_cong
thf(fact_576_map__cong,axiom,
    ! [Xs: list_P3228452592230693057xt_a_b,Ys: list_P3228452592230693057xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,G: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ( Xs = Ys )
     => ( ! [X5: produc6098685572150017969xt_a_b] :
            ( ( member1250379567103627208xt_a_b @ X5 @ ( set_Pr242066944780975196xt_a_b @ Ys ) )
           => ( ( F @ X5 )
              = ( G @ X5 ) ) )
       => ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
          = ( map_Pr2394204248401007003rm_a_b @ G @ Ys ) ) ) ) ).

% map_cong
thf(fact_577_map__cong,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,F: list_nat > term_a_b,G: list_nat > term_a_b] :
      ( ( Xs = Ys )
     => ( ! [X5: list_nat] :
            ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Ys ) )
           => ( ( F @ X5 )
              = ( G @ X5 ) ) )
       => ( ( map_li459708541515338042rm_a_b @ F @ Xs )
          = ( map_li459708541515338042rm_a_b @ G @ Ys ) ) ) ) ).

% map_cong
thf(fact_578_map__cong,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat,G: list_nat > list_nat] :
      ( ( Xs = Ys )
     => ( ! [X5: list_nat] :
            ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Ys ) )
           => ( ( F @ X5 )
              = ( G @ X5 ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ Xs )
          = ( map_li7225945977422193158st_nat @ G @ Ys ) ) ) ) ).

% map_cong
thf(fact_579_map__cong,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > nat,G: nat > nat] :
      ( ( Xs = Ys )
     => ( ! [X5: nat] :
            ( ( member_nat @ X5 @ ( set_nat2 @ Ys ) )
           => ( ( F @ X5 )
              = ( G @ X5 ) ) )
       => ( ( map_nat_nat @ F @ Xs )
          = ( map_nat_nat @ G @ Ys ) ) ) ) ).

% map_cong
thf(fact_580_map__idI,axiom,
    ! [Xs: list_list_nat,F: list_nat > list_nat] :
      ( ! [X5: list_nat] :
          ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = X5 ) )
     => ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = Xs ) ) ).

% map_idI
thf(fact_581_map__idI,axiom,
    ! [Xs: list_nat,F: nat > nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = X5 ) )
     => ( ( map_nat_nat @ F @ Xs )
        = Xs ) ) ).

% map_idI
thf(fact_582_map__idI,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b] :
      ( ! [X5: multihole_mctxt_a_b] :
          ( ( member4915921492409311157xt_a_b @ X5 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
         => ( ( F @ X5 )
            = X5 ) )
     => ( ( map_Mu1774380283460411076xt_a_b @ F @ Xs )
        = Xs ) ) ).

% map_idI
thf(fact_583_map__ext,axiom,
    ! [Xs: list_nat,F: nat > list_term_a_b,G: nat > list_term_a_b] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = ( G @ X5 ) ) )
     => ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
        = ( map_na2865332088629204026rm_a_b @ G @ Xs ) ) ) ).

% map_ext
thf(fact_584_map__ext,axiom,
    ! [Xs: list_P3228452592230693057xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,G: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ! [X5: produc6098685572150017969xt_a_b] :
          ( ( member1250379567103627208xt_a_b @ X5 @ ( set_Pr242066944780975196xt_a_b @ Xs ) )
         => ( ( F @ X5 )
            = ( G @ X5 ) ) )
     => ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
        = ( map_Pr2394204248401007003rm_a_b @ G @ Xs ) ) ) ).

% map_ext
thf(fact_585_map__ext,axiom,
    ! [Xs: list_list_nat,F: list_nat > term_a_b,G: list_nat > term_a_b] :
      ( ! [X5: list_nat] :
          ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = ( G @ X5 ) ) )
     => ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( map_li459708541515338042rm_a_b @ G @ Xs ) ) ) ).

% map_ext
thf(fact_586_map__ext,axiom,
    ! [Xs: list_list_nat,F: list_nat > list_nat,G: list_nat > list_nat] :
      ( ! [X5: list_nat] :
          ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = ( G @ X5 ) ) )
     => ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ G @ Xs ) ) ) ).

% map_ext
thf(fact_587_map__ext,axiom,
    ! [Xs: list_nat,F: nat > nat,G: nat > nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ( F @ X5 )
            = ( G @ X5 ) ) )
     => ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ G @ Xs ) ) ) ).

% map_ext
thf(fact_588_list_Omap__ident__strong,axiom,
    ! [T: list_list_nat,F: list_nat > list_nat] :
      ( ! [Z3: list_nat] :
          ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ T ) )
         => ( ( F @ Z3 )
            = Z3 ) )
     => ( ( map_li7225945977422193158st_nat @ F @ T )
        = T ) ) ).

% list.map_ident_strong
thf(fact_589_list_Omap__ident__strong,axiom,
    ! [T: list_nat,F: nat > nat] :
      ( ! [Z3: nat] :
          ( ( member_nat @ Z3 @ ( set_nat2 @ T ) )
         => ( ( F @ Z3 )
            = Z3 ) )
     => ( ( map_nat_nat @ F @ T )
        = T ) ) ).

% list.map_ident_strong
thf(fact_590_list_Omap__ident__strong,axiom,
    ! [T: list_M4548637025958506770xt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b] :
      ( ! [Z3: multihole_mctxt_a_b] :
          ( ( member4915921492409311157xt_a_b @ Z3 @ ( set_Mu988262935377722401xt_a_b @ T ) )
         => ( ( F @ Z3 )
            = Z3 ) )
     => ( ( map_Mu1774380283460411076xt_a_b @ F @ T )
        = T ) ) ).

% list.map_ident_strong
thf(fact_591_list_Oinj__map__strong,axiom,
    ! [X2: list_nat,Xa: list_nat,F: nat > list_term_a_b,Fa: nat > list_term_a_b] :
      ( ! [Z3: nat,Za: nat] :
          ( ( member_nat @ Z3 @ ( set_nat2 @ X2 ) )
         => ( ( member_nat @ Za @ ( set_nat2 @ Xa ) )
           => ( ( ( F @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_na2865332088629204026rm_a_b @ F @ X2 )
          = ( map_na2865332088629204026rm_a_b @ Fa @ Xa ) )
       => ( X2 = Xa ) ) ) ).

% list.inj_map_strong
thf(fact_592_list_Oinj__map__strong,axiom,
    ! [X2: list_P3228452592230693057xt_a_b,Xa: list_P3228452592230693057xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,Fa: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ! [Z3: produc6098685572150017969xt_a_b,Za: produc6098685572150017969xt_a_b] :
          ( ( member1250379567103627208xt_a_b @ Z3 @ ( set_Pr242066944780975196xt_a_b @ X2 ) )
         => ( ( member1250379567103627208xt_a_b @ Za @ ( set_Pr242066944780975196xt_a_b @ Xa ) )
           => ( ( ( F @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_Pr2394204248401007003rm_a_b @ F @ X2 )
          = ( map_Pr2394204248401007003rm_a_b @ Fa @ Xa ) )
       => ( X2 = Xa ) ) ) ).

% list.inj_map_strong
thf(fact_593_list_Oinj__map__strong,axiom,
    ! [X2: list_list_nat,Xa: list_list_nat,F: list_nat > term_a_b,Fa: list_nat > term_a_b] :
      ( ! [Z3: list_nat,Za: list_nat] :
          ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ X2 ) )
         => ( ( member_list_nat @ Za @ ( set_list_nat2 @ Xa ) )
           => ( ( ( F @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_li459708541515338042rm_a_b @ F @ X2 )
          = ( map_li459708541515338042rm_a_b @ Fa @ Xa ) )
       => ( X2 = Xa ) ) ) ).

% list.inj_map_strong
thf(fact_594_list_Oinj__map__strong,axiom,
    ! [X2: list_list_nat,Xa: list_list_nat,F: list_nat > list_nat,Fa: list_nat > list_nat] :
      ( ! [Z3: list_nat,Za: list_nat] :
          ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ X2 ) )
         => ( ( member_list_nat @ Za @ ( set_list_nat2 @ Xa ) )
           => ( ( ( F @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_li7225945977422193158st_nat @ F @ X2 )
          = ( map_li7225945977422193158st_nat @ Fa @ Xa ) )
       => ( X2 = Xa ) ) ) ).

% list.inj_map_strong
thf(fact_595_list_Oinj__map__strong,axiom,
    ! [X2: list_nat,Xa: list_nat,F: nat > nat,Fa: nat > nat] :
      ( ! [Z3: nat,Za: nat] :
          ( ( member_nat @ Z3 @ ( set_nat2 @ X2 ) )
         => ( ( member_nat @ Za @ ( set_nat2 @ Xa ) )
           => ( ( ( F @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_nat_nat @ F @ X2 )
          = ( map_nat_nat @ Fa @ Xa ) )
       => ( X2 = Xa ) ) ) ).

% list.inj_map_strong
thf(fact_596_list_Omap__cong0,axiom,
    ! [X2: list_nat,F: nat > list_term_a_b,G: nat > list_term_a_b] :
      ( ! [Z3: nat] :
          ( ( member_nat @ Z3 @ ( set_nat2 @ X2 ) )
         => ( ( F @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_na2865332088629204026rm_a_b @ F @ X2 )
        = ( map_na2865332088629204026rm_a_b @ G @ X2 ) ) ) ).

% list.map_cong0
thf(fact_597_list_Omap__cong0,axiom,
    ! [X2: list_P3228452592230693057xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,G: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ! [Z3: produc6098685572150017969xt_a_b] :
          ( ( member1250379567103627208xt_a_b @ Z3 @ ( set_Pr242066944780975196xt_a_b @ X2 ) )
         => ( ( F @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_Pr2394204248401007003rm_a_b @ F @ X2 )
        = ( map_Pr2394204248401007003rm_a_b @ G @ X2 ) ) ) ).

% list.map_cong0
thf(fact_598_list_Omap__cong0,axiom,
    ! [X2: list_list_nat,F: list_nat > term_a_b,G: list_nat > term_a_b] :
      ( ! [Z3: list_nat] :
          ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ X2 ) )
         => ( ( F @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_li459708541515338042rm_a_b @ F @ X2 )
        = ( map_li459708541515338042rm_a_b @ G @ X2 ) ) ) ).

% list.map_cong0
thf(fact_599_list_Omap__cong0,axiom,
    ! [X2: list_list_nat,F: list_nat > list_nat,G: list_nat > list_nat] :
      ( ! [Z3: list_nat] :
          ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ X2 ) )
         => ( ( F @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_li7225945977422193158st_nat @ F @ X2 )
        = ( map_li7225945977422193158st_nat @ G @ X2 ) ) ) ).

% list.map_cong0
thf(fact_600_list_Omap__cong0,axiom,
    ! [X2: list_nat,F: nat > nat,G: nat > nat] :
      ( ! [Z3: nat] :
          ( ( member_nat @ Z3 @ ( set_nat2 @ X2 ) )
         => ( ( F @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_nat_nat @ F @ X2 )
        = ( map_nat_nat @ G @ X2 ) ) ) ).

% list.map_cong0
thf(fact_601_list_Omap__cong,axiom,
    ! [X2: list_nat,Ya: list_nat,F: nat > list_term_a_b,G: nat > list_term_a_b] :
      ( ( X2 = Ya )
     => ( ! [Z3: nat] :
            ( ( member_nat @ Z3 @ ( set_nat2 @ Ya ) )
           => ( ( F @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_na2865332088629204026rm_a_b @ F @ X2 )
          = ( map_na2865332088629204026rm_a_b @ G @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_602_list_Omap__cong,axiom,
    ! [X2: list_P3228452592230693057xt_a_b,Ya: list_P3228452592230693057xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,G: produc6098685572150017969xt_a_b > list_term_a_b] :
      ( ( X2 = Ya )
     => ( ! [Z3: produc6098685572150017969xt_a_b] :
            ( ( member1250379567103627208xt_a_b @ Z3 @ ( set_Pr242066944780975196xt_a_b @ Ya ) )
           => ( ( F @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_Pr2394204248401007003rm_a_b @ F @ X2 )
          = ( map_Pr2394204248401007003rm_a_b @ G @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_603_list_Omap__cong,axiom,
    ! [X2: list_list_nat,Ya: list_list_nat,F: list_nat > term_a_b,G: list_nat > term_a_b] :
      ( ( X2 = Ya )
     => ( ! [Z3: list_nat] :
            ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ Ya ) )
           => ( ( F @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_li459708541515338042rm_a_b @ F @ X2 )
          = ( map_li459708541515338042rm_a_b @ G @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_604_list_Omap__cong,axiom,
    ! [X2: list_list_nat,Ya: list_list_nat,F: list_nat > list_nat,G: list_nat > list_nat] :
      ( ( X2 = Ya )
     => ( ! [Z3: list_nat] :
            ( ( member_list_nat @ Z3 @ ( set_list_nat2 @ Ya ) )
           => ( ( F @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ X2 )
          = ( map_li7225945977422193158st_nat @ G @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_605_list_Omap__cong,axiom,
    ! [X2: list_nat,Ya: list_nat,F: nat > nat,G: nat > nat] :
      ( ( X2 = Ya )
     => ( ! [Z3: nat] :
            ( ( member_nat @ Z3 @ ( set_nat2 @ Ya ) )
           => ( ( F @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_nat_nat @ F @ X2 )
          = ( map_nat_nat @ G @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_606_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_607_bot__nat__0_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_uniqueI
thf(fact_608_bot__nat__0_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
      = ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_unique
thf(fact_609_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_610_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M4: nat,N3: nat] :
          ( ( ord_less_eq_nat @ M4 @ N3 )
          & ( M4 != N3 ) ) ) ) ).

% nat_less_le
thf(fact_611_less__imp__le__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_imp_le_nat
thf(fact_612_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M4: nat,N3: nat] :
          ( ( ord_less_nat @ M4 @ N3 )
          | ( M4 = N3 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_613_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_614_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_615_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I2: nat,J3: nat] :
      ( ! [I3: nat,J: nat] :
          ( ( ord_less_nat @ I3 @ J )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J ) ) )
     => ( ( ord_less_eq_nat @ I2 @ J3 )
       => ( ord_less_eq_nat @ ( F @ I2 ) @ ( F @ J3 ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_616_inf__pigeonhole__principle,axiom,
    ! [N: nat,F: nat > nat > $o] :
      ( ! [K3: nat] :
        ? [I4: nat] :
          ( ( ord_less_nat @ I4 @ N )
          & ( F @ K3 @ I4 ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
          & ! [K4: nat] :
            ? [K6: nat] :
              ( ( ord_less_eq_nat @ K4 @ K6 )
              & ( F @ K6 @ I3 ) ) ) ) ).

% inf_pigeonhole_principle
thf(fact_617_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ).

% diff_le_mono2
thf(fact_618_le__diff__iff_H,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C @ A ) @ ( minus_minus_nat @ C @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_619_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_620_diff__le__mono,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_621_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_622_le__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_623_eq__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_624_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys: list_nat,Y2: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ Y2 @ ( set_nat2 @ Ys ) )
       => ~ ! [X5: nat] :
              ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X5 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_625_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat_nat,Ys: list_nat,Y2: nat] :
      ( ( ( size_s8208510060688613859at_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ Y2 @ ( set_nat2 @ Ys ) )
       => ~ ! [X5: nat > nat] :
              ~ ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X5 @ Y2 ) @ ( set_Pr1941165898809491589at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_626_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,Y2: nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ Y2 @ ( set_nat2 @ Ys ) )
       => ~ ! [X5: multihole_mctxt_a_b] :
              ~ ( member2556407477037838626_b_nat @ ( produc6379516792840104837_b_nat @ X5 @ Y2 ) @ ( set_Pr1548094854715186614_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_627_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,Y2: nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ Y2 @ ( set_nat2 @ Ys ) )
       => ~ ! [X5: term_a_b] :
              ~ ( member9000184225777080558_b_nat @ ( produc2478027105211390077_b_nat @ X5 @ Y2 ) @ ( set_Pr8895038613404858202_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_628_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Ys ) )
       => ~ ! [X5: nat] :
              ~ ( member1250379567103627208xt_a_b @ ( produc6519687231358469987xt_a_b @ X5 @ Y2 ) @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_629_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,Y2: term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( member_term_a_b @ Y2 @ ( set_term_a_b2 @ Ys ) )
       => ~ ! [X5: nat] :
              ~ ( member7514656309480873070rm_a_b @ ( produc1516572978046417917rm_a_b @ X5 @ Y2 ) @ ( set_Pr7409510697108650714rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_630_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_nat,Y2: nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ Y2 @ ( set_nat2 @ Ys ) )
       => ~ ! [X5: list_term_a_b] :
              ~ ( member6499128331906966142_b_nat @ ( produc7125536832187268877_b_nat @ X5 @ Y2 ) @ ( set_Pr3000292873854950122_b_nat @ ( zip_li2365591139631638061_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_631_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys: list_list_term_a_b,Y2: list_term_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ( member_list_term_a_b @ Y2 @ ( set_list_term_a_b2 @ Ys ) )
       => ~ ! [X5: nat] :
              ~ ( member2955465511989080958rm_a_b @ ( produc7556795533067728397rm_a_b @ X5 @ Y2 ) @ ( set_Pr8680002090791840746rm_a_b @ ( zip_na2796849840512097581rm_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_632_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( member4915921492409311157xt_a_b @ Y2 @ ( set_Mu988262935377722401xt_a_b @ Ys ) )
       => ~ ! [X5: multihole_mctxt_a_b] :
              ~ ( member6103717091360755792xt_a_b @ ( produc67882520014434071xt_a_b @ X5 @ Y2 ) @ ( set_Pr3710758492808786620xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_633_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_term_a_b,Y2: term_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( member_term_a_b @ Y2 @ ( set_term_a_b2 @ Ys ) )
       => ~ ! [X5: multihole_mctxt_a_b] :
              ~ ( member2888010155280505318rm_a_b @ ( produc8062233579701016393rm_a_b @ X5 @ Y2 ) @ ( set_Pr6823476604645682298rm_a_b @ ( zip_Mu1004234008415057961rm_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_634_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys: list_nat,X2: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
       => ~ ! [Y4: nat] :
              ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y4 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_635_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat_nat,Ys: list_nat,X2: nat > nat] :
      ( ( ( size_s8208510060688613859at_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_nat_nat @ X2 @ ( set_nat_nat2 @ Xs ) )
       => ~ ! [Y4: nat] :
              ~ ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X2 @ Y4 ) @ ( set_Pr1941165898809491589at_nat @ ( zip_nat_nat_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_636_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,X2: multihole_mctxt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
       => ~ ! [Y4: nat] :
              ~ ( member2556407477037838626_b_nat @ ( produc6379516792840104837_b_nat @ X2 @ Y4 ) @ ( set_Pr1548094854715186614_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_637_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,X2: term_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
       => ~ ! [Y4: nat] :
              ~ ( member9000184225777080558_b_nat @ ( produc2478027105211390077_b_nat @ X2 @ Y4 ) @ ( set_Pr8895038613404858202_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_638_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,X2: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
       => ~ ! [Y4: multihole_mctxt_a_b] :
              ~ ( member1250379567103627208xt_a_b @ ( produc6519687231358469987xt_a_b @ X2 @ Y4 ) @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_639_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,X2: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
       => ~ ! [Y4: term_a_b] :
              ~ ( member7514656309480873070rm_a_b @ ( produc1516572978046417917rm_a_b @ X2 @ Y4 ) @ ( set_Pr7409510697108650714rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_640_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_nat,X2: list_term_a_b] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
       => ~ ! [Y4: nat] :
              ~ ( member6499128331906966142_b_nat @ ( produc7125536832187268877_b_nat @ X2 @ Y4 ) @ ( set_Pr3000292873854950122_b_nat @ ( zip_li2365591139631638061_b_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_641_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys: list_list_term_a_b,X2: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
       => ~ ! [Y4: list_term_a_b] :
              ~ ( member2955465511989080958rm_a_b @ ( produc7556795533067728397rm_a_b @ X2 @ Y4 ) @ ( set_Pr8680002090791840746rm_a_b @ ( zip_na2796849840512097581rm_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_642_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b,X2: multihole_mctxt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
       => ~ ! [Y4: multihole_mctxt_a_b] :
              ~ ( member6103717091360755792xt_a_b @ ( produc67882520014434071xt_a_b @ X2 @ Y4 ) @ ( set_Pr3710758492808786620xt_a_b @ ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_643_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_term_a_b,X2: multihole_mctxt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
       => ~ ! [Y4: term_a_b] :
              ~ ( member2888010155280505318rm_a_b @ ( produc8062233579701016393rm_a_b @ X2 @ Y4 ) @ ( set_Pr6823476604645682298rm_a_b @ ( zip_Mu1004234008415057961rm_a_b @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_644_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_list_nat,A2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs ) @ A2 )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( member_list_nat @ ( nth_list_nat @ Xs @ I ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_645_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,A2: set_Mu3903433398966807788xt_a_b] :
      ( ( ord_le4185538551145870476xt_a_b @ ( set_Mu988262935377722401xt_a_b @ Xs ) @ A2 )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs ) )
           => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_646_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_term_a_b,A2: set_term_a_b] :
      ( ( ord_le2705286416250468010rm_a_b @ ( set_term_a_b2 @ Xs ) @ A2 )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( member_term_a_b @ ( nth_term_a_b @ Xs @ I ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_647_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_list_term_a_b,A2: set_list_term_a_b] :
      ( ( ord_le8558390355660226490rm_a_b @ ( set_list_term_a_b2 @ Xs ) @ A2 )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( member_list_term_a_b @ ( nth_list_term_a_b @ Xs @ I ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_648_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_nat,A2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ A2 )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( member_nat @ ( nth_nat @ Xs @ I ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_649_subseteq__set__conv__nth,axiom,
    ! [Ss2: list_list_nat,T2: set_list_nat] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Ss2 ) )
           => ( member_list_nat @ ( nth_list_nat @ Ss2 @ I ) @ T2 ) ) )
      = ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Ss2 ) @ T2 ) ) ).

% subseteq_set_conv_nth
thf(fact_650_subseteq__set__conv__nth,axiom,
    ! [Ss2: list_M4548637025958506770xt_a_b,T2: set_Mu3903433398966807788xt_a_b] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Ss2 ) )
           => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Ss2 @ I ) @ T2 ) ) )
      = ( ord_le4185538551145870476xt_a_b @ ( set_Mu988262935377722401xt_a_b @ Ss2 ) @ T2 ) ) ).

% subseteq_set_conv_nth
thf(fact_651_subseteq__set__conv__nth,axiom,
    ! [Ss2: list_term_a_b,T2: set_term_a_b] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
           => ( member_term_a_b @ ( nth_term_a_b @ Ss2 @ I ) @ T2 ) ) )
      = ( ord_le2705286416250468010rm_a_b @ ( set_term_a_b2 @ Ss2 ) @ T2 ) ) ).

% subseteq_set_conv_nth
thf(fact_652_subseteq__set__conv__nth,axiom,
    ! [Ss2: list_list_term_a_b,T2: set_list_term_a_b] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Ss2 ) )
           => ( member_list_term_a_b @ ( nth_list_term_a_b @ Ss2 @ I ) @ T2 ) ) )
      = ( ord_le8558390355660226490rm_a_b @ ( set_list_term_a_b2 @ Ss2 ) @ T2 ) ) ).

% subseteq_set_conv_nth
thf(fact_653_subseteq__set__conv__nth,axiom,
    ! [Ss2: list_nat,T2: set_nat] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ss2 ) )
           => ( member_nat @ ( nth_nat @ Ss2 @ I ) @ T2 ) ) )
      = ( ord_less_eq_set_nat @ ( set_nat2 @ Ss2 ) @ T2 ) ) ).

% subseteq_set_conv_nth
thf(fact_654_nth__equal__first__eq,axiom,
    ! [X2: list_nat,Xs: list_list_nat,N: nat] :
      ( ~ ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
       => ( ( ( nth_list_nat @ ( cons_list_nat @ X2 @ Xs ) @ N )
            = X2 )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_655_nth__equal__first__eq,axiom,
    ! [X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b,N: nat] :
      ( ~ ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_s6467537827362597246xt_a_b @ Xs ) )
       => ( ( ( nth_Mu4187783769245775891xt_a_b @ ( cons_M2296632834101222338xt_a_b @ X2 @ Xs ) @ N )
            = X2 )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_656_nth__equal__first__eq,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b,N: nat] :
      ( ~ ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( ( nth_term_a_b @ ( cons_term_a_b @ X2 @ Xs ) @ N )
            = X2 )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_657_nth__equal__first__eq,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b,N: nat] :
      ( ~ ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_s877380706853472072rm_a_b @ Xs ) )
       => ( ( ( nth_list_term_a_b @ ( cons_list_term_a_b @ X2 @ Xs ) @ N )
            = X2 )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_658_nth__equal__first__eq,axiom,
    ! [X2: nat,Xs: list_nat,N: nat] :
      ( ~ ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Xs ) )
       => ( ( ( nth_nat @ ( cons_nat @ X2 @ Xs ) @ N )
            = X2 )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_659_surjective__pairing,axiom,
    ! [T: product_prod_nat_nat] :
      ( T
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ T ) @ ( product_snd_nat_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_660_surjective__pairing,axiom,
    ! [T: produc8199716216217303280at_nat] :
      ( T
      = ( produc72220940542539688at_nat @ ( produc6156676138143019412at_nat @ T ) @ ( produc1852801350702243542at_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_661_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( Prod
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_662_prod_Oexhaust__sel,axiom,
    ! [Prod: produc8199716216217303280at_nat] :
      ( Prod
      = ( produc72220940542539688at_nat @ ( produc6156676138143019412at_nat @ Prod ) @ ( produc1852801350702243542at_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_663_case__prod__beta,axiom,
    ( produc1129251993345788160st_nat
    = ( ^ [F2: nat > multihole_mctxt_a_b > list_list_nat,P3: produc6098685572150017969xt_a_b] : ( F2 @ ( produc5705157965498928247xt_a_b @ P3 ) @ ( produc9085306239746045365xt_a_b @ P3 ) ) ) ) ).

% case_prod_beta
thf(fact_664_case__prod__beta,axiom,
    ( produc2626176000494625587at_nat
    = ( ^ [F2: nat > nat > product_prod_nat_nat,P3: product_prod_nat_nat] : ( F2 @ ( product_fst_nat_nat @ P3 ) @ ( product_snd_nat_nat @ P3 ) ) ) ) ).

% case_prod_beta
thf(fact_665_split__beta,axiom,
    ( produc1129251993345788160st_nat
    = ( ^ [F2: nat > multihole_mctxt_a_b > list_list_nat,Prod2: produc6098685572150017969xt_a_b] : ( F2 @ ( produc5705157965498928247xt_a_b @ Prod2 ) @ ( produc9085306239746045365xt_a_b @ Prod2 ) ) ) ) ).

% split_beta
thf(fact_666_split__beta,axiom,
    ( produc2626176000494625587at_nat
    = ( ^ [F2: nat > nat > product_prod_nat_nat,Prod2: product_prod_nat_nat] : ( F2 @ ( product_fst_nat_nat @ Prod2 ) @ ( product_snd_nat_nat @ Prod2 ) ) ) ) ).

% split_beta
thf(fact_667_less__eq__list__code_I3_J,axiom,
    ! [X2: nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ord_less_eq_list_nat @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_less_eq_list_nat @ Xs @ Ys ) ) ) ) ).

% less_eq_list_code(3)
thf(fact_668_impossible__Cons,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b,X2: multihole_mctxt_a_b] :
      ( ( ord_less_eq_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) @ ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( Xs
       != ( cons_M2296632834101222338xt_a_b @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_669_impossible__Cons,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,X2: term_a_b] :
      ( ( ord_less_eq_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) @ ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( Xs
       != ( cons_term_a_b @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_670_impossible__Cons,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b,X2: list_term_a_b] :
      ( ( ord_less_eq_nat @ ( size_s877380706853472072rm_a_b @ Xs ) @ ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( Xs
       != ( cons_list_term_a_b @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_671_impossible__Cons,axiom,
    ! [Xs: list_nat,Ys: list_nat,X2: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_nat @ Ys ) )
     => ( Xs
       != ( cons_nat @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_672_ex__least__nat__le,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_673_diff__less__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ C ) ) ) ) ).

% diff_less_mono
thf(fact_674_less__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_675_case__prod__beta_H,axiom,
    ( produc1129251993345788160st_nat
    = ( ^ [F2: nat > multihole_mctxt_a_b > list_list_nat,X: produc6098685572150017969xt_a_b] : ( F2 @ ( produc5705157965498928247xt_a_b @ X ) @ ( produc9085306239746045365xt_a_b @ X ) ) ) ) ).

% case_prod_beta'
thf(fact_676_case__prod__beta_H,axiom,
    ( produc2626176000494625587at_nat
    = ( ^ [F2: nat > nat > product_prod_nat_nat,X: product_prod_nat_nat] : ( F2 @ ( product_fst_nat_nat @ X ) @ ( product_snd_nat_nat @ X ) ) ) ) ).

% case_prod_beta'
thf(fact_677_case__prod__unfold,axiom,
    ( produc1129251993345788160st_nat
    = ( ^ [C2: nat > multihole_mctxt_a_b > list_list_nat,P3: produc6098685572150017969xt_a_b] : ( C2 @ ( produc5705157965498928247xt_a_b @ P3 ) @ ( produc9085306239746045365xt_a_b @ P3 ) ) ) ) ).

% case_prod_unfold
thf(fact_678_case__prod__unfold,axiom,
    ( produc2626176000494625587at_nat
    = ( ^ [C2: nat > nat > product_prod_nat_nat,P3: product_prod_nat_nat] : ( C2 @ ( product_fst_nat_nat @ P3 ) @ ( product_snd_nat_nat @ P3 ) ) ) ) ).

% case_prod_unfold
thf(fact_679_map__map__partition__by,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b,Ys: list_nat] :
      ( ( map_li460715359580240059rm_a_b @ ( map_Pr2394204248401007003rm_a_b @ F ) @ ( multih2582494620652353585xt_a_b @ Xs @ Ys ) )
      = ( multih776841144196503844rm_a_b @ ( map_Pr2394204248401007003rm_a_b @ F @ Xs ) @ Ys ) ) ).

% map_map_partition_by
thf(fact_680_map__map__partition__by,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,Ys: list_nat] :
      ( ( map_li8738166146099166938rm_a_b @ ( map_li459708541515338042rm_a_b @ F ) @ ( multih5630945896903731040st_nat @ Xs @ Ys ) )
      = ( multih8088080497851651732rm_a_b @ ( map_li459708541515338042rm_a_b @ F @ Xs ) @ Ys ) ) ).

% map_map_partition_by
thf(fact_681_map__map__partition__by,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,Ys: list_nat] :
      ( ( map_li2855073862107769254st_nat @ ( map_li7225945977422193158st_nat @ F ) @ ( multih5630945896903731040st_nat @ Xs @ Ys ) )
      = ( multih5630945896903731040st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ Ys ) ) ).

% map_map_partition_by
thf(fact_682_map__map__partition__by,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,Ys: list_nat] :
      ( ( map_li7961330073342607834rm_a_b @ ( map_na2865332088629204026rm_a_b @ F ) @ ( multih8544690682651757648by_nat @ Xs @ Ys ) )
      = ( multih776841144196503844rm_a_b @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ Ys ) ) ).

% map_map_partition_by
thf(fact_683_map__map__partition__by,axiom,
    ! [F: nat > nat,Xs: list_nat,Ys: list_nat] :
      ( ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ ( multih8544690682651757648by_nat @ Xs @ Ys ) )
      = ( multih8544690682651757648by_nat @ ( map_nat_nat @ F @ Xs ) @ Ys ) ) ).

% map_map_partition_by
thf(fact_684_prod_Osplit__sel,axiom,
    ! [P2: list_list_nat > $o,F: nat > multihole_mctxt_a_b > list_list_nat,Prod: produc6098685572150017969xt_a_b] :
      ( ( P2 @ ( produc1129251993345788160st_nat @ F @ Prod ) )
      = ( ( Prod
          = ( produc6519687231358469987xt_a_b @ ( produc5705157965498928247xt_a_b @ Prod ) @ ( produc9085306239746045365xt_a_b @ Prod ) ) )
       => ( P2 @ ( F @ ( produc5705157965498928247xt_a_b @ Prod ) @ ( produc9085306239746045365xt_a_b @ Prod ) ) ) ) ) ).

% prod.split_sel
thf(fact_685_prod_Osplit__sel,axiom,
    ! [P2: product_prod_nat_nat > $o,F: nat > nat > product_prod_nat_nat,Prod: product_prod_nat_nat] :
      ( ( P2 @ ( produc2626176000494625587at_nat @ F @ Prod ) )
      = ( ( Prod
          = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) )
       => ( P2 @ ( F @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) ) ) ) ).

% prod.split_sel
thf(fact_686_prod_Osplit__sel__asm,axiom,
    ! [P2: list_list_nat > $o,F: nat > multihole_mctxt_a_b > list_list_nat,Prod: produc6098685572150017969xt_a_b] :
      ( ( P2 @ ( produc1129251993345788160st_nat @ F @ Prod ) )
      = ( ~ ( ( Prod
              = ( produc6519687231358469987xt_a_b @ ( produc5705157965498928247xt_a_b @ Prod ) @ ( produc9085306239746045365xt_a_b @ Prod ) ) )
            & ~ ( P2 @ ( F @ ( produc5705157965498928247xt_a_b @ Prod ) @ ( produc9085306239746045365xt_a_b @ Prod ) ) ) ) ) ) ).

% prod.split_sel_asm
thf(fact_687_prod_Osplit__sel__asm,axiom,
    ! [P2: product_prod_nat_nat > $o,F: nat > nat > product_prod_nat_nat,Prod: product_prod_nat_nat] :
      ( ( P2 @ ( produc2626176000494625587at_nat @ F @ Prod ) )
      = ( ~ ( ( Prod
              = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) )
            & ~ ( P2 @ ( F @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) ) ) ) ) ).

% prod.split_sel_asm
thf(fact_688_length__pos__if__in__set,axiom,
    ! [X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_689_length__pos__if__in__set,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_690_length__pos__if__in__set,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_s877380706853472072rm_a_b @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_691_length__pos__if__in__set,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_692_in__set__idx,axiom,
    ! [X2: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
          & ( ( nth_list_nat @ Xs @ I3 )
            = X2 ) ) ) ).

% in_set_idx
thf(fact_693_in__set__idx,axiom,
    ! [X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
          & ( ( nth_Mu4187783769245775891xt_a_b @ Xs @ I3 )
            = X2 ) ) ) ).

% in_set_idx
thf(fact_694_in__set__idx,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
          & ( ( nth_term_a_b @ Xs @ I3 )
            = X2 ) ) ) ).

% in_set_idx
thf(fact_695_in__set__idx,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
          & ( ( nth_list_term_a_b @ Xs @ I3 )
            = X2 ) ) ) ).

% in_set_idx
thf(fact_696_in__set__idx,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
          & ( ( nth_nat @ Xs @ I3 )
            = X2 ) ) ) ).

% in_set_idx
thf(fact_697_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_list_nat,P2: list_nat > $o] :
      ( ( ? [X: list_nat] :
            ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
            & ( P2 @ X ) ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( P2 @ ( nth_list_nat @ Xs @ I ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_698_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( ? [X: multihole_mctxt_a_b] :
            ( ( member4915921492409311157xt_a_b @ X @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
            & ( P2 @ X ) ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs ) )
            & ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_699_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_term_a_b,P2: term_a_b > $o] :
      ( ( ? [X: term_a_b] :
            ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
            & ( P2 @ X ) ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( P2 @ ( nth_term_a_b @ Xs @ I ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_700_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_list_term_a_b,P2: list_term_a_b > $o] :
      ( ( ? [X: list_term_a_b] :
            ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
            & ( P2 @ X ) ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs ) )
            & ( P2 @ ( nth_list_term_a_b @ Xs @ I ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_701_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_nat,P2: nat > $o] :
      ( ( ? [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
            & ( P2 @ X ) ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
            & ( P2 @ ( nth_nat @ Xs @ I ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_702_all__set__conv__all__nth,axiom,
    ! [Xs: list_list_nat,P2: list_nat > $o] :
      ( ( ! [X: list_nat] :
            ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
           => ( P2 @ X ) ) )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( P2 @ ( nth_list_nat @ Xs @ I ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_703_all__set__conv__all__nth,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( ! [X: multihole_mctxt_a_b] :
            ( ( member4915921492409311157xt_a_b @ X @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
           => ( P2 @ X ) ) )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs ) )
           => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_704_all__set__conv__all__nth,axiom,
    ! [Xs: list_term_a_b,P2: term_a_b > $o] :
      ( ( ! [X: term_a_b] :
            ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
           => ( P2 @ X ) ) )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( P2 @ ( nth_term_a_b @ Xs @ I ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_705_all__set__conv__all__nth,axiom,
    ! [Xs: list_list_term_a_b,P2: list_term_a_b > $o] :
      ( ( ! [X: list_term_a_b] :
            ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
           => ( P2 @ X ) ) )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( P2 @ ( nth_list_term_a_b @ Xs @ I ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_706_all__set__conv__all__nth,axiom,
    ! [Xs: list_nat,P2: nat > $o] :
      ( ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
           => ( P2 @ X ) ) )
      = ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
           => ( P2 @ ( nth_nat @ Xs @ I ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_707_all__nth__imp__all__set,axiom,
    ! [Xs: list_list_nat,P2: list_nat > $o,X2: list_nat] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
         => ( P2 @ ( nth_list_nat @ Xs @ I3 ) ) )
     => ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
       => ( P2 @ X2 ) ) ) ).

% all_nth_imp_all_set
thf(fact_708_all__nth__imp__all__set,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,P2: multihole_mctxt_a_b > $o,X2: multihole_mctxt_a_b] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
         => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ I3 ) ) )
     => ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
       => ( P2 @ X2 ) ) ) ).

% all_nth_imp_all_set
thf(fact_709_all__nth__imp__all__set,axiom,
    ! [Xs: list_term_a_b,P2: term_a_b > $o,X2: term_a_b] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
         => ( P2 @ ( nth_term_a_b @ Xs @ I3 ) ) )
     => ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
       => ( P2 @ X2 ) ) ) ).

% all_nth_imp_all_set
thf(fact_710_all__nth__imp__all__set,axiom,
    ! [Xs: list_list_term_a_b,P2: list_term_a_b > $o,X2: list_term_a_b] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
         => ( P2 @ ( nth_list_term_a_b @ Xs @ I3 ) ) )
     => ( ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
       => ( P2 @ X2 ) ) ) ).

% all_nth_imp_all_set
thf(fact_711_all__nth__imp__all__set,axiom,
    ! [Xs: list_nat,P2: nat > $o,X2: nat] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
         => ( P2 @ ( nth_nat @ Xs @ I3 ) ) )
     => ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
       => ( P2 @ X2 ) ) ) ).

% all_nth_imp_all_set
thf(fact_712_in__set__conv__nth,axiom,
    ! [X2: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ( nth_list_nat @ Xs @ I )
              = X2 ) ) ) ) ).

% in_set_conv_nth
thf(fact_713_in__set__conv__nth,axiom,
    ! [X2: multihole_mctxt_a_b,Xs: list_M4548637025958506770xt_a_b] :
      ( ( member4915921492409311157xt_a_b @ X2 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s6467537827362597246xt_a_b @ Xs ) )
            & ( ( nth_Mu4187783769245775891xt_a_b @ Xs @ I )
              = X2 ) ) ) ) ).

% in_set_conv_nth
thf(fact_714_in__set__conv__nth,axiom,
    ! [X2: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( ( nth_term_a_b @ Xs @ I )
              = X2 ) ) ) ) ).

% in_set_conv_nth
thf(fact_715_in__set__conv__nth,axiom,
    ! [X2: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X2 @ ( set_list_term_a_b2 @ Xs ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs ) )
            & ( ( nth_list_term_a_b @ Xs @ I )
              = X2 ) ) ) ) ).

% in_set_conv_nth
thf(fact_716_in__set__conv__nth,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
      = ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
            & ( ( nth_nat @ Xs @ I )
              = X2 ) ) ) ) ).

% in_set_conv_nth
thf(fact_717_list__ball__nth,axiom,
    ! [N: nat,Xs: list_list_nat,P2: list_nat > $o] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ! [X5: list_nat] :
            ( ( member_list_nat @ X5 @ ( set_list_nat2 @ Xs ) )
           => ( P2 @ X5 ) )
       => ( P2 @ ( nth_list_nat @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_718_list__ball__nth,axiom,
    ! [N: nat,Xs: list_M4548637025958506770xt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( ord_less_nat @ N @ ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ! [X5: multihole_mctxt_a_b] :
            ( ( member4915921492409311157xt_a_b @ X5 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
           => ( P2 @ X5 ) )
       => ( P2 @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_719_list__ball__nth,axiom,
    ! [N: nat,Xs: list_term_a_b,P2: term_a_b > $o] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ! [X5: term_a_b] :
            ( ( member_term_a_b @ X5 @ ( set_term_a_b2 @ Xs ) )
           => ( P2 @ X5 ) )
       => ( P2 @ ( nth_term_a_b @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_720_list__ball__nth,axiom,
    ! [N: nat,Xs: list_list_term_a_b,P2: list_term_a_b > $o] :
      ( ( ord_less_nat @ N @ ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ! [X5: list_term_a_b] :
            ( ( member_list_term_a_b @ X5 @ ( set_list_term_a_b2 @ Xs ) )
           => ( P2 @ X5 ) )
       => ( P2 @ ( nth_list_term_a_b @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_721_list__ball__nth,axiom,
    ! [N: nat,Xs: list_nat,P2: nat > $o] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ! [X5: nat] :
            ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
           => ( P2 @ X5 ) )
       => ( P2 @ ( nth_nat @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_722_nth__mem,axiom,
    ! [N: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( member_list_nat @ ( nth_list_nat @ Xs @ N ) @ ( set_list_nat2 @ Xs ) ) ) ).

% nth_mem
thf(fact_723_nth__mem,axiom,
    ! [N: nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( ord_less_nat @ N @ ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Xs @ N ) @ ( set_Mu988262935377722401xt_a_b @ Xs ) ) ) ).

% nth_mem
thf(fact_724_nth__mem,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( member_term_a_b @ ( nth_term_a_b @ Xs @ N ) @ ( set_term_a_b2 @ Xs ) ) ) ).

% nth_mem
thf(fact_725_nth__mem,axiom,
    ! [N: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( member_list_term_a_b @ ( nth_list_term_a_b @ Xs @ N ) @ ( set_list_term_a_b2 @ Xs ) ) ) ).

% nth_mem
thf(fact_726_nth__mem,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( member_nat @ ( nth_nat @ Xs @ N ) @ ( set_nat2 @ Xs ) ) ) ).

% nth_mem
thf(fact_727_zip__map__fst__snd,axiom,
    ! [Zs: list_P3228452592230693057xt_a_b] :
      ( ( zip_na2638709245307492419xt_a_b @ ( map_Pr5574903923400807367_b_nat @ produc5705157965498928247xt_a_b @ Zs ) @ ( map_Pr3094254646210209877xt_a_b @ produc9085306239746045365xt_a_b @ Zs ) )
      = Zs ) ).

% zip_map_fst_snd
thf(fact_728_nle__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_eq_nat @ A @ B ) )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( B != A ) ) ) ).

% nle_le
thf(fact_729_le__cases3,axiom,
    ! [X2: nat,Y2: nat,Z4: nat] :
      ( ( ( ord_less_eq_nat @ X2 @ Y2 )
       => ~ ( ord_less_eq_nat @ Y2 @ Z4 ) )
     => ( ( ( ord_less_eq_nat @ Y2 @ X2 )
         => ~ ( ord_less_eq_nat @ X2 @ Z4 ) )
       => ( ( ( ord_less_eq_nat @ X2 @ Z4 )
           => ~ ( ord_less_eq_nat @ Z4 @ Y2 ) )
         => ( ( ( ord_less_eq_nat @ Z4 @ Y2 )
             => ~ ( ord_less_eq_nat @ Y2 @ X2 ) )
           => ( ( ( ord_less_eq_nat @ Y2 @ Z4 )
               => ~ ( ord_less_eq_nat @ Z4 @ X2 ) )
             => ~ ( ( ord_less_eq_nat @ Z4 @ X2 )
                 => ~ ( ord_less_eq_nat @ X2 @ Y2 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_730_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y3: multihole_mctxt_a_b,Z2: multihole_mctxt_a_b] : ( Y3 = Z2 ) )
    = ( ^ [X: multihole_mctxt_a_b,Y: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ X @ Y )
          & ( ord_le850117253035069100xt_a_b @ Y @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_731_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y3: nat,Z2: nat] : ( Y3 = Z2 ) )
    = ( ^ [X: nat,Y: nat] :
          ( ( ord_less_eq_nat @ X @ Y )
          & ( ord_less_eq_nat @ Y @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_732_ord__eq__le__trans,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( A = B )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ord_le850117253035069100xt_a_b @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_733_ord__eq__le__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_734_ord__le__eq__trans,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( B = C )
       => ( ord_le850117253035069100xt_a_b @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_735_ord__le__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_736_order__antisym,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
     => ( ( ord_le850117253035069100xt_a_b @ Y2 @ X2 )
       => ( X2 = Y2 ) ) ) ).

% order_antisym
thf(fact_737_order__antisym,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ X2 )
       => ( X2 = Y2 ) ) ) ).

% order_antisym
thf(fact_738_order_Otrans,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ord_le850117253035069100xt_a_b @ A @ C ) ) ) ).

% order.trans
thf(fact_739_order_Otrans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_740_order__trans,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b,Z4: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
     => ( ( ord_le850117253035069100xt_a_b @ Y2 @ Z4 )
       => ( ord_le850117253035069100xt_a_b @ X2 @ Z4 ) ) ) ).

% order_trans
thf(fact_741_order__trans,axiom,
    ! [X2: nat,Y2: nat,Z4: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ Z4 )
       => ( ord_less_eq_nat @ X2 @ Z4 ) ) ) ).

% order_trans
thf(fact_742_linorder__wlog,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A4 @ B3 )
         => ( P2 @ A4 @ B3 ) )
     => ( ! [A4: nat,B3: nat] :
            ( ( P2 @ B3 @ A4 )
           => ( P2 @ A4 @ B3 ) )
       => ( P2 @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_743_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y3: multihole_mctxt_a_b,Z2: multihole_mctxt_a_b] : ( Y3 = Z2 ) )
    = ( ^ [A5: multihole_mctxt_a_b,B5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ B5 @ A5 )
          & ( ord_le850117253035069100xt_a_b @ A5 @ B5 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_744_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y3: nat,Z2: nat] : ( Y3 = Z2 ) )
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ B5 @ A5 )
          & ( ord_less_eq_nat @ A5 @ B5 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_745_dual__order_Oantisym,axiom,
    ! [B: multihole_mctxt_a_b,A: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ B @ A )
     => ( ( ord_le850117253035069100xt_a_b @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_746_dual__order_Oantisym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_747_dual__order_Otrans,axiom,
    ! [B: multihole_mctxt_a_b,A: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ B @ A )
     => ( ( ord_le850117253035069100xt_a_b @ C @ B )
       => ( ord_le850117253035069100xt_a_b @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_748_dual__order_Otrans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_749_antisym,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_750_antisym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_751_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y3: multihole_mctxt_a_b,Z2: multihole_mctxt_a_b] : ( Y3 = Z2 ) )
    = ( ^ [A5: multihole_mctxt_a_b,B5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ A5 @ B5 )
          & ( ord_le850117253035069100xt_a_b @ B5 @ A5 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_752_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y3: nat,Z2: nat] : ( Y3 = Z2 ) )
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ A5 @ B5 )
          & ( ord_less_eq_nat @ B5 @ A5 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_753_order__subst1,axiom,
    ! [A: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_754_order__subst1,axiom,
    ! [A: multihole_mctxt_a_b,F: nat > multihole_mctxt_a_b,B: nat,C: nat] :
      ( ( ord_le850117253035069100xt_a_b @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_755_order__subst1,axiom,
    ! [A: nat,F: multihole_mctxt_a_b > nat,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_756_order__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_757_order__subst2,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ ( F @ B ) @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_758_order__subst2,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > nat,C: nat] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_759_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_760_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_761_order__eq__refl,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( X2 = Y2 )
     => ( ord_le850117253035069100xt_a_b @ X2 @ Y2 ) ) ).

% order_eq_refl
thf(fact_762_order__eq__refl,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 = Y2 )
     => ( ord_less_eq_nat @ X2 @ Y2 ) ) ).

% order_eq_refl
thf(fact_763_linorder__linear,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
      | ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% linorder_linear
thf(fact_764_ord__eq__le__subst,axiom,
    ! [A: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_765_ord__eq__le__subst,axiom,
    ! [A: nat,F: multihole_mctxt_a_b > nat,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_766_ord__eq__le__subst,axiom,
    ! [A: multihole_mctxt_a_b,F: nat > multihole_mctxt_a_b,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_767_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_768_ord__le__eq__subst,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_769_ord__le__eq__subst,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > nat,C: nat] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_770_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le850117253035069100xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_771_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_772_linorder__le__cases,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% linorder_le_cases
thf(fact_773_order__antisym__conv,axiom,
    ! [Y2: multihole_mctxt_a_b,X2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ Y2 @ X2 )
     => ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% order_antisym_conv
thf(fact_774_order__antisym__conv,axiom,
    ! [Y2: nat,X2: nat] :
      ( ( ord_less_eq_nat @ Y2 @ X2 )
     => ( ( ord_less_eq_nat @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% order_antisym_conv
thf(fact_775_gt__ex,axiom,
    ! [X2: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X2 @ X_1 ) ).

% gt_ex
thf(fact_776_less__imp__neq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( X2 != Y2 ) ) ).

% less_imp_neq
thf(fact_777_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_778_ord__eq__less__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_779_ord__less__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_780_less__induct,axiom,
    ! [P2: nat > $o,A: nat] :
      ( ! [X5: nat] :
          ( ! [Y5: nat] :
              ( ( ord_less_nat @ Y5 @ X5 )
             => ( P2 @ Y5 ) )
         => ( P2 @ X5 ) )
     => ( P2 @ A ) ) ).

% less_induct
thf(fact_781_antisym__conv3,axiom,
    ! [Y2: nat,X2: nat] :
      ( ~ ( ord_less_nat @ Y2 @ X2 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv3
thf(fact_782_linorder__cases,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ( X2 != Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_cases
thf(fact_783_dual__order_Oasym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ~ ( ord_less_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_784_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_785_exists__least__iff,axiom,
    ( ( ^ [P4: nat > $o] :
        ? [X6: nat] : ( P4 @ X6 ) )
    = ( ^ [P5: nat > $o] :
        ? [N3: nat] :
          ( ( P5 @ N3 )
          & ! [M4: nat] :
              ( ( ord_less_nat @ M4 @ N3 )
             => ~ ( P5 @ M4 ) ) ) ) ) ).

% exists_least_iff
thf(fact_786_linorder__less__wlog,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( ord_less_nat @ A4 @ B3 )
         => ( P2 @ A4 @ B3 ) )
     => ( ! [A4: nat] : ( P2 @ A4 @ A4 )
       => ( ! [A4: nat,B3: nat] :
              ( ( P2 @ B3 @ A4 )
             => ( P2 @ A4 @ B3 ) )
         => ( P2 @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_787_order_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_788_not__less__iff__gr__or__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ Y2 @ X2 )
        | ( X2 = Y2 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_789_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_790_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_791_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_792_linorder__neqE,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
     => ( ~ ( ord_less_nat @ X2 @ Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neqE
thf(fact_793_order__less__asym,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_asym
thf(fact_794_linorder__neq__iff,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neq_iff
thf(fact_795_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_796_order__less__trans,axiom,
    ! [X2: nat,Y2: nat,Z4: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z4 )
       => ( ord_less_nat @ X2 @ Z4 ) ) ) ).

% order_less_trans
thf(fact_797_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_798_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_799_order__less__irrefl,axiom,
    ! [X2: nat] :
      ~ ( ord_less_nat @ X2 @ X2 ) ).

% order_less_irrefl
thf(fact_800_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_801_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_802_order__less__not__sym,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_not_sym
thf(fact_803_order__less__imp__triv,axiom,
    ! [X2: nat,Y2: nat,P2: $o] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ X2 )
       => P2 ) ) ).

% order_less_imp_triv
thf(fact_804_linorder__less__linear,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
      | ( X2 = Y2 )
      | ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_less_linear
thf(fact_805_order__less__imp__not__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( X2 != Y2 ) ) ).

% order_less_imp_not_eq
thf(fact_806_order__less__imp__not__eq2,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( Y2 != X2 ) ) ).

% order_less_imp_not_eq2
thf(fact_807_order__less__imp__not__less,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_imp_not_less
thf(fact_808_zip__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( zip_nat_nat @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr3938374229010428429at_nat @ product_fst_nat_nat @ Zs )
            = Xs )
          & ( ( map_Pr3938374229010428429at_nat @ product_snd_nat_nat @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_809_zip__eq__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_nat,Zs: list_P7850246372177104155_b_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr135706006267208315xt_a_b @ produc5564987526980563097_b_nat @ Zs )
            = Xs )
          & ( ( map_Pr7157534936861904161at_nat @ produc8945135801227680215_b_nat @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_810_zip__eq__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_nat,Zs: list_P4523178631563835595_b_nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( zip_term_a_b_nat @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr1600174416192346133rm_a_b @ produc2478730017409400425_b_nat @ Zs )
            = Xs )
          & ( ( map_Pr7879634848707609169at_nat @ produc4596313588145892779_b_nat @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_811_zip__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_M4548637025958506770xt_a_b,Zs: list_P3228452592230693057xt_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( ( zip_na2638709245307492419xt_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr5574903923400807367_b_nat @ produc5705157965498928247xt_a_b @ Zs )
            = Xs )
          & ( ( map_Pr3094254646210209877xt_a_b @ produc9085306239746045365xt_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_812_zip__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_term_a_b,Zs: list_P2364656488115551307rm_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( ( zip_nat_term_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr2460003174332794321_b_nat @ produc1517275890244428265rm_a_b @ Zs )
            = Xs )
          & ( ( map_Pr5547155842100845461rm_a_b @ produc3634859460980920619rm_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_813_zip__eq__conv,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_nat,Zs: list_P3344321720179456347_b_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( zip_li2365591139631638061_b_nat @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr6131601453978369717rm_a_b @ produc5814435211824922361_b_nat @ Zs )
            = Xs )
          & ( ( map_Pr632729664102509281at_nat @ produc1073939522795545915_b_nat @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_814_zip__eq__conv,axiom,
    ! [Xs: list_nat,Ys: list_list_term_a_b,Zs: list_P7973965478605097563rm_a_b] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ( ( zip_na2796849840512097581rm_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr9055313272579013601_b_nat @ produc6245693912705381881rm_a_b @ Zs )
            = Xs )
          & ( ( map_Pr5651210886198742965rm_a_b @ produc1505198223676005435rm_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_815_zip__eq__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b,Zs: list_P722677779202446637xt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( ( zip_Mu757017058692220471xt_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr6655376335923373417xt_a_b @ produc2029583840371251459xt_a_b @ Zs )
            = Xs )
          & ( ( map_Pr6655376335923373417xt_a_b @ produc4775144687201070661xt_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_816_zip__eq__conv,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_term_a_b,Zs: list_P1100658841456022751rm_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ( ( zip_Mu1004234008415057961rm_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr6694782673347976119xt_a_b @ produc6040174839447601757rm_a_b @ Zs )
            = Xs )
          & ( ( map_Pr6263640873875604137rm_a_b @ produc428249129076405403rm_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_817_zip__eq__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_M4548637025958506770xt_a_b,Zs: list_P8932400424873733501xt_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s6467537827362597246xt_a_b @ Ys ) )
     => ( ( ( zip_te427384594694659327xt_a_b @ Xs @ Ys )
          = Zs )
        = ( ( ( map_Pr3192148400092654407rm_a_b @ produc5463325425727203123xt_a_b @ Zs )
            = Xs )
          & ( ( map_Pr7928384560621064857xt_a_b @ produc9074771752210782577xt_a_b @ Zs )
            = Ys ) ) ) ) ).

% zip_eq_conv
thf(fact_818_order__le__imp__less__or__eq,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
     => ( ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 )
        | ( X2 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_819_order__le__imp__less__or__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ X2 @ Y2 )
        | ( X2 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_820_linorder__le__less__linear,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
      | ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_le_less_linear
thf(fact_821_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_le7933312735445578680xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_822_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_823_order__less__le__subst1,axiom,
    ! [A: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ A @ ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_824_order__less__le__subst1,axiom,
    ! [A: nat,F: multihole_mctxt_a_b > nat,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_825_order__less__le__subst1,axiom,
    ! [A: multihole_mctxt_a_b,F: nat > multihole_mctxt_a_b,B: nat,C: nat] :
      ( ( ord_le7933312735445578680xt_a_b @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_826_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_827_order__le__less__subst2,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_le7933312735445578680xt_a_b @ ( F @ B ) @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_828_order__le__less__subst2,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,F: multihole_mctxt_a_b > nat,C: nat] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: multihole_mctxt_a_b,Y4: multihole_mctxt_a_b] :
              ( ( ord_le850117253035069100xt_a_b @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_829_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le7933312735445578680xt_a_b @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_le850117253035069100xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_830_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_831_order__le__less__subst1,axiom,
    ! [A: multihole_mctxt_a_b,F: nat > multihole_mctxt_a_b,B: nat,C: nat] :
      ( ( ord_le850117253035069100xt_a_b @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_le7933312735445578680xt_a_b @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_le7933312735445578680xt_a_b @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_832_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y4: nat] :
              ( ( ord_less_nat @ X5 @ Y4 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_833_order__less__le__trans,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b,Z4: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 )
     => ( ( ord_le850117253035069100xt_a_b @ Y2 @ Z4 )
       => ( ord_le7933312735445578680xt_a_b @ X2 @ Z4 ) ) ) ).

% order_less_le_trans
thf(fact_834_order__less__le__trans,axiom,
    ! [X2: nat,Y2: nat,Z4: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ Z4 )
       => ( ord_less_nat @ X2 @ Z4 ) ) ) ).

% order_less_le_trans
thf(fact_835_order__le__less__trans,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b,Z4: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
     => ( ( ord_le7933312735445578680xt_a_b @ Y2 @ Z4 )
       => ( ord_le7933312735445578680xt_a_b @ X2 @ Z4 ) ) ) ).

% order_le_less_trans
thf(fact_836_order__le__less__trans,axiom,
    ! [X2: nat,Y2: nat,Z4: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z4 )
       => ( ord_less_nat @ X2 @ Z4 ) ) ) ).

% order_le_less_trans
thf(fact_837_order__neq__le__trans,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b] :
      ( ( A != B )
     => ( ( ord_le850117253035069100xt_a_b @ A @ B )
       => ( ord_le7933312735445578680xt_a_b @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_838_order__neq__le__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_839_order__le__neq__trans,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( A != B )
       => ( ord_le7933312735445578680xt_a_b @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_840_order__le__neq__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_841_order__less__imp__le,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 )
     => ( ord_le850117253035069100xt_a_b @ X2 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_842_order__less__imp__le,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ord_less_eq_nat @ X2 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_843_linorder__not__less,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
      = ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% linorder_not_less
thf(fact_844_linorder__not__le,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_eq_nat @ X2 @ Y2 ) )
      = ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_not_le
thf(fact_845_order__less__le,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [X: multihole_mctxt_a_b,Y: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ X @ Y )
          & ( X != Y ) ) ) ) ).

% order_less_le
thf(fact_846_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X: nat,Y: nat] :
          ( ( ord_less_eq_nat @ X @ Y )
          & ( X != Y ) ) ) ) ).

% order_less_le
thf(fact_847_order__le__less,axiom,
    ( ord_le850117253035069100xt_a_b
    = ( ^ [X: multihole_mctxt_a_b,Y: multihole_mctxt_a_b] :
          ( ( ord_le7933312735445578680xt_a_b @ X @ Y )
          | ( X = Y ) ) ) ) ).

% order_le_less
thf(fact_848_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X: nat,Y: nat] :
          ( ( ord_less_nat @ X @ Y )
          | ( X = Y ) ) ) ) ).

% order_le_less
thf(fact_849_dual__order_Ostrict__implies__order,axiom,
    ! [B: multihole_mctxt_a_b,A: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ B @ A )
     => ( ord_le850117253035069100xt_a_b @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_850_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_851_order_Ostrict__implies__order,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ A @ B )
     => ( ord_le850117253035069100xt_a_b @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_852_order_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_853_dual__order_Ostrict__iff__not,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [B5: multihole_mctxt_a_b,A5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ B5 @ A5 )
          & ~ ( ord_le850117253035069100xt_a_b @ A5 @ B5 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_854_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B5: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B5 @ A5 )
          & ~ ( ord_less_eq_nat @ A5 @ B5 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_855_dual__order_Ostrict__trans2,axiom,
    ! [B: multihole_mctxt_a_b,A: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ B @ A )
     => ( ( ord_le850117253035069100xt_a_b @ C @ B )
       => ( ord_le7933312735445578680xt_a_b @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_856_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_857_dual__order_Ostrict__trans1,axiom,
    ! [B: multihole_mctxt_a_b,A: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ B @ A )
     => ( ( ord_le7933312735445578680xt_a_b @ C @ B )
       => ( ord_le7933312735445578680xt_a_b @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_858_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_859_dual__order_Ostrict__iff__order,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [B5: multihole_mctxt_a_b,A5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ B5 @ A5 )
          & ( A5 != B5 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_860_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B5: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B5 @ A5 )
          & ( A5 != B5 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_861_dual__order_Oorder__iff__strict,axiom,
    ( ord_le850117253035069100xt_a_b
    = ( ^ [B5: multihole_mctxt_a_b,A5: multihole_mctxt_a_b] :
          ( ( ord_le7933312735445578680xt_a_b @ B5 @ A5 )
          | ( A5 = B5 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_862_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B5: nat,A5: nat] :
          ( ( ord_less_nat @ B5 @ A5 )
          | ( A5 = B5 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_863_order_Ostrict__iff__not,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [A5: multihole_mctxt_a_b,B5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ A5 @ B5 )
          & ~ ( ord_le850117253035069100xt_a_b @ B5 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_864_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ A5 @ B5 )
          & ~ ( ord_less_eq_nat @ B5 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_865_order_Ostrict__trans2,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le7933312735445578680xt_a_b @ A @ B )
     => ( ( ord_le850117253035069100xt_a_b @ B @ C )
       => ( ord_le7933312735445578680xt_a_b @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_866_order_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_867_order_Ostrict__trans1,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b,C: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ A @ B )
     => ( ( ord_le7933312735445578680xt_a_b @ B @ C )
       => ( ord_le7933312735445578680xt_a_b @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_868_order_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_869_order_Ostrict__iff__order,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [A5: multihole_mctxt_a_b,B5: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ A5 @ B5 )
          & ( A5 != B5 ) ) ) ) ).

% order.strict_iff_order
thf(fact_870_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ A5 @ B5 )
          & ( A5 != B5 ) ) ) ) ).

% order.strict_iff_order
thf(fact_871_order_Oorder__iff__strict,axiom,
    ( ord_le850117253035069100xt_a_b
    = ( ^ [A5: multihole_mctxt_a_b,B5: multihole_mctxt_a_b] :
          ( ( ord_le7933312735445578680xt_a_b @ A5 @ B5 )
          | ( A5 = B5 ) ) ) ) ).

% order.order_iff_strict
thf(fact_872_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_nat @ A5 @ B5 )
          | ( A5 = B5 ) ) ) ) ).

% order.order_iff_strict
thf(fact_873_not__le__imp__less,axiom,
    ! [Y2: nat,X2: nat] :
      ( ~ ( ord_less_eq_nat @ Y2 @ X2 )
     => ( ord_less_nat @ X2 @ Y2 ) ) ).

% not_le_imp_less
thf(fact_874_less__le__not__le,axiom,
    ( ord_le7933312735445578680xt_a_b
    = ( ^ [X: multihole_mctxt_a_b,Y: multihole_mctxt_a_b] :
          ( ( ord_le850117253035069100xt_a_b @ X @ Y )
          & ~ ( ord_le850117253035069100xt_a_b @ Y @ X ) ) ) ) ).

% less_le_not_le
thf(fact_875_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X: nat,Y: nat] :
          ( ( ord_less_eq_nat @ X @ Y )
          & ~ ( ord_less_eq_nat @ Y @ X ) ) ) ) ).

% less_le_not_le
thf(fact_876_antisym__conv2,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
     => ( ( ~ ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_877_antisym__conv2,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_878_antisym__conv1,axiom,
    ! [X2: multihole_mctxt_a_b,Y2: multihole_mctxt_a_b] :
      ( ~ ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 )
     => ( ( ord_le850117253035069100xt_a_b @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_879_antisym__conv1,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_880_nless__le,axiom,
    ! [A: multihole_mctxt_a_b,B: multihole_mctxt_a_b] :
      ( ( ~ ( ord_le7933312735445578680xt_a_b @ A @ B ) )
      = ( ~ ( ord_le850117253035069100xt_a_b @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_881_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_882_leI,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% leI
thf(fact_883_leD,axiom,
    ! [Y2: multihole_mctxt_a_b,X2: multihole_mctxt_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ Y2 @ X2 )
     => ~ ( ord_le7933312735445578680xt_a_b @ X2 @ Y2 ) ) ).

% leD
thf(fact_884_leD,axiom,
    ! [Y2: nat,X2: nat] :
      ( ( ord_less_eq_nat @ Y2 @ X2 )
     => ~ ( ord_less_nat @ X2 @ Y2 ) ) ).

% leD
thf(fact_885_concat__index__split__mono__first__arg,axiom,
    ! [I2: nat,Xs: list_l2176991360922390168xt_a_b,O_idx: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xs ) ) )
     => ( ord_less_eq_nat @ O_idx @ ( product_fst_nat_nat @ ( concat1345800444511605898xt_a_b @ ( product_Pair_nat_nat @ O_idx @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_mono_first_arg
thf(fact_886_concat__index__split__mono__first__arg,axiom,
    ! [I2: nat,Xs: list_l5544744485257374276rm_a_b,O_idx: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xs ) ) )
     => ( ord_less_eq_nat @ O_idx @ ( product_fst_nat_nat @ ( concat7401677347670536870rm_a_b @ ( product_Pair_nat_nat @ O_idx @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_mono_first_arg
thf(fact_887_concat__index__split__mono__first__arg,axiom,
    ! [I2: nat,Xs: list_list_nat,O_idx: nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ ( concat_nat @ Xs ) ) )
     => ( ord_less_eq_nat @ O_idx @ ( product_fst_nat_nat @ ( concat5568775588498683858it_nat @ ( product_Pair_nat_nat @ O_idx @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_mono_first_arg
thf(fact_888_concat__index__split__mono__first__arg,axiom,
    ! [I2: nat,Xs: list_list_term_a_b,O_idx: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ord_less_eq_nat @ O_idx @ ( product_fst_nat_nat @ ( concat7577510861259020566rm_a_b @ ( product_Pair_nat_nat @ O_idx @ I2 ) @ Xs ) ) ) ) ).

% concat_index_split_mono_first_arg
thf(fact_889_set__generate__lists,axiom,
    ! [N: nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( set_li6105397052872267687xt_a_b @ ( missin7414133217557581539xt_a_b @ N @ Xs ) )
      = ( collec1865976362583014269xt_a_b
        @ ^ [As2: list_M4548637025958506770xt_a_b] :
            ( ( ( size_s6467537827362597246xt_a_b @ As2 )
              = N )
            & ( ord_le4185538551145870476xt_a_b @ ( set_Mu988262935377722401xt_a_b @ As2 ) @ ( set_Mu988262935377722401xt_a_b @ Xs ) ) ) ) ) ).

% set_generate_lists
thf(fact_890_set__generate__lists,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( set_list_term_a_b2 @ ( missin5236940920865543293rm_a_b @ N @ Xs ) )
      = ( collec2649484519605854073rm_a_b
        @ ^ [As2: list_term_a_b] :
            ( ( ( size_s8906293707977694520rm_a_b @ As2 )
              = N )
            & ( ord_le2705286416250468010rm_a_b @ ( set_term_a_b2 @ As2 ) @ ( set_term_a_b2 @ Xs ) ) ) ) ) ).

% set_generate_lists
thf(fact_891_set__generate__lists,axiom,
    ! [N: nat,Xs: list_list_term_a_b] :
      ( ( set_li4211081853627212639rm_a_b @ ( missin3226145738502737549rm_a_b @ N @ Xs ) )
      = ( collec5566874814092408073rm_a_b
        @ ^ [As2: list_list_term_a_b] :
            ( ( ( size_s877380706853472072rm_a_b @ As2 )
              = N )
            & ( ord_le8558390355660226490rm_a_b @ ( set_list_term_a_b2 @ As2 ) @ ( set_list_term_a_b2 @ Xs ) ) ) ) ) ).

% set_generate_lists
thf(fact_892_set__generate__lists,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( set_list_nat2 @ ( missin2047014633743487673ts_nat @ N @ Xs ) )
      = ( collect_list_nat
        @ ^ [As2: list_nat] :
            ( ( ( size_size_list_nat @ As2 )
              = N )
            & ( ord_less_eq_set_nat @ ( set_nat2 @ As2 ) @ ( set_nat2 @ Xs ) ) ) ) ) ).

% set_generate_lists
thf(fact_893_generate__lists__def,axiom,
    ( missin5236940920865543293rm_a_b
    = ( ^ [N3: nat,Xs2: list_term_a_b] :
          ( missin8060632096978918206rm_a_b
          @ ( map_na2865332088629204026rm_a_b
            @ ^ [Uu: nat] : Xs2
            @ ( upt @ zero_zero_nat @ N3 ) ) ) ) ) ).

% generate_lists_def
thf(fact_894_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_nat,Ss2: list_list_nat,F: multihole_mctxt_a_b > list_nat > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_size_list_nat @ Ts ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ss2 )
          = ( size_size_list_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_nat @ Ss2 @ I3 ) )
                  = ( nth_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( concat_nat @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_895_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_list_nat,Ss2: list_list_nat,F: multihole_mctxt_a_b > list_nat > list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ss2 )
          = ( size_s3023201423986296836st_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_nat @ Ss2 @ I3 ) )
                  = ( nth_list_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_list_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( concat_nat @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_896_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_nat,Ss2: list_l2176991360922390168xt_a_b,F: multihole_mctxt_a_b > list_M4548637025958506770xt_a_b > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_size_list_nat @ Ts ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Ss2 )
          = ( size_size_list_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) )
                  = ( nth_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ ( concat7497117511338392013xt_a_b @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_897_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_nat,Ss2: list_list_term_a_b,F: multihole_mctxt_a_b > list_term_a_b > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_size_list_nat @ Ts ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ss2 )
          = ( size_size_list_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_term_a_b @ Ss2 @ I3 ) )
                  = ( nth_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( concat_term_a_b @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_898_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_M4548637025958506770xt_a_b,Ss2: list_list_nat,F: multihole_mctxt_a_b > list_nat > multihole_mctxt_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s6467537827362597246xt_a_b @ Ts ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ss2 )
          = ( size_s6467537827362597246xt_a_b @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s6467537827362597246xt_a_b @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_nat @ Ss2 @ I3 ) )
                  = ( nth_Mu4187783769245775891xt_a_b @ Ts @ I3 ) ) ) )
         => ( ( map_na2920055545220517366xt_a_b
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( concat_nat @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_899_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_term_a_b,Ss2: list_list_nat,F: multihole_mctxt_a_b > list_nat > term_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s8906293707977694520rm_a_b @ Ts ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ss2 )
          = ( size_s8906293707977694520rm_a_b @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_nat @ Ss2 @ I3 ) )
                  = ( nth_term_a_b @ Ts @ I3 ) ) ) )
         => ( ( map_nat_term_a_b
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( concat_nat @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_900_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_list_nat,Ss2: list_l2176991360922390168xt_a_b,F: multihole_mctxt_a_b > list_M4548637025958506770xt_a_b > list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ( ( size_s3306353116822741252xt_a_b @ Ss2 )
          = ( size_s3023201423986296836st_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_li6526745125630915225xt_a_b @ Ss2 @ I3 ) )
                  = ( nth_list_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_list_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ ( concat7497117511338392013xt_a_b @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_901_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_list_nat,Ss2: list_list_term_a_b,F: multihole_mctxt_a_b > list_term_a_b > list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s3023201423986296836st_nat @ Ts ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ss2 )
          = ( size_s3023201423986296836st_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_term_a_b @ Ss2 @ I3 ) )
                  = ( nth_list_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_list_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( concat_term_a_b @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_902_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_nat,Ss2: list_l5544744485257374276rm_a_b,F: multihole_mctxt_a_b > list_list_term_a_b > nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_size_list_nat @ Ts ) )
     => ( ( ( size_s8422369774828843736rm_a_b @ Ss2 )
          = ( size_size_list_nat @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_li1777312294383961325rm_a_b @ Ss2 @ I3 ) )
                  = ( nth_nat @ Ts @ I3 ) ) ) )
         => ( ( map_nat_nat
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ ( concat_list_term_a_b @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_903_fill__holes__arbitrary,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_list_term_a_b,Ss2: list_list_nat,F: multihole_mctxt_a_b > list_nat > list_term_a_b] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s877380706853472072rm_a_b @ Ts ) )
     => ( ( ( size_s3023201423986296836st_nat @ Ss2 )
          = ( size_s877380706853472072rm_a_b @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_size_list_nat @ ( nth_list_nat @ Ss2 @ I3 ) ) )
                & ( ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_nat @ Ss2 @ I3 ) )
                  = ( nth_list_term_a_b @ Ts @ I3 ) ) ) )
         => ( ( map_na2865332088629204026rm_a_b
              @ ^ [I: nat] : ( F @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( concat_nat @ Ss2 ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
              @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) )
            = Ts ) ) ) ) ).

% fill_holes_arbitrary
thf(fact_904_exE__realizer,axiom,
    ! [P2: multihole_mctxt_a_b > nat > $o,P: produc6098685572150017969xt_a_b,Q: list_list_nat > $o,F: nat > multihole_mctxt_a_b > list_list_nat] :
      ( ( P2 @ ( produc9085306239746045365xt_a_b @ P ) @ ( produc5705157965498928247xt_a_b @ P ) )
     => ( ! [X5: nat,Y4: multihole_mctxt_a_b] :
            ( ( P2 @ Y4 @ X5 )
           => ( Q @ ( F @ X5 @ Y4 ) ) )
       => ( Q @ ( produc1129251993345788160st_nat @ F @ P ) ) ) ) ).

% exE_realizer
thf(fact_905_exE__realizer,axiom,
    ! [P2: nat > nat > $o,P: product_prod_nat_nat,Q: product_prod_nat_nat > $o,F: nat > nat > product_prod_nat_nat] :
      ( ( P2 @ ( product_snd_nat_nat @ P ) @ ( product_fst_nat_nat @ P ) )
     => ( ! [X5: nat,Y4: nat] :
            ( ( P2 @ Y4 @ X5 )
           => ( Q @ ( F @ X5 @ Y4 ) ) )
       => ( Q @ ( produc2626176000494625587at_nat @ F @ P ) ) ) ) ).

% exE_realizer
thf(fact_906_product__code,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_M4548637025958506770xt_a_b] :
      ( ( produc5565214472325474514xt_a_b @ ( set_Mu988262935377722401xt_a_b @ Xs ) @ ( set_Mu988262935377722401xt_a_b @ Ys ) )
      = ( set_Pr3710758492808786620xt_a_b
        @ ( concat9016633620628051560xt_a_b
          @ ( map_Mu2778105981428788453xt_a_b
            @ ^ [X: multihole_mctxt_a_b] : ( map_Mu2085209600703003359xt_a_b @ ( produc67882520014434071xt_a_b @ X ) @ Ys )
            @ Xs ) ) ) ) ).

% product_code
thf(fact_907_product__code,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( produc929334515565554804at_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ Ys ) )
      = ( set_Pr5648618587558075414at_nat
        @ ( concat7691415812945658306at_nat
          @ ( map_na4561905831291441265at_nat
            @ ^ [X: nat] : ( map_na7298421622053143531at_nat @ ( product_Pair_nat_nat @ X ) @ Ys )
            @ Xs ) ) ) ) ).

% product_code
thf(fact_908_product__code,axiom,
    ! [Xs: list_nat_nat,Ys: list_nat] :
      ( ( produc2277787967776798051at_nat @ ( set_nat_nat2 @ Xs ) @ ( set_nat2 @ Ys ) )
      = ( set_Pr1941165898809491589at_nat
        @ ( concat821400627202602033at_nat
          @ ( map_na1011612288921435825at_nat
            @ ^ [X: nat > nat] : ( map_na6722963242033808602at_nat @ ( produc72220940542539688at_nat @ X ) @ Ys )
            @ Xs ) ) ) ) ).

% product_code
thf(fact_909_partition__by__idx__def,axiom,
    ( multih7279076602905066526by_idx
    = ( ^ [L2: nat,Ys2: list_nat,I: nat] : ( nth_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( upt @ zero_zero_nat @ L2 ) @ Ys2 ) @ I ) ) ) ) ).

% partition_by_idx_def
thf(fact_910_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P2: nat > nat > $o,X2: nat,Y2: nat,A: product_prod_nat_nat] :
      ( ( P2 @ X2 @ Y2 )
     => ( ( A
          = ( product_Pair_nat_nat @ X2 @ Y2 ) )
       => ( P2 @ ( product_fst_nat_nat @ A ) @ ( product_snd_nat_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_911_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P2: ( nat > nat ) > nat > $o,X2: nat > nat,Y2: nat,A: produc8199716216217303280at_nat] :
      ( ( P2 @ X2 @ Y2 )
     => ( ( A
          = ( produc72220940542539688at_nat @ X2 @ Y2 ) )
       => ( P2 @ ( produc6156676138143019412at_nat @ A ) @ ( produc1852801350702243542at_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_912_length__partition__holes,axiom,
    ! [Xs: list_term_a_b,Cs2: list_M4548637025958506770xt_a_b] :
      ( ( size_s877380706853472072rm_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) )
      = ( size_s6467537827362597246xt_a_b @ Cs2 ) ) ).

% length_partition_holes
thf(fact_913_length__partition__holes,axiom,
    ! [Xs: list_nat,Cs2: list_M4548637025958506770xt_a_b] :
      ( ( size_s3023201423986296836st_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) )
      = ( size_s6467537827362597246xt_a_b @ Cs2 ) ) ).

% length_partition_holes
thf(fact_914_length__unfill__holes,axiom,
    ! [C4: multihole_mctxt_a_b,T: term_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ C4 @ ( multih8235204711990112060rm_a_b @ T ) )
     => ( ( size_s8906293707977694520rm_a_b @ ( multih4629214223431182294es_a_b @ C4 @ T ) )
        = ( multih3217256941434035760es_a_b @ C4 ) ) ) ).

% length_unfill_holes
thf(fact_915_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: term_a_b > term_a_b,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_te2328734355998148206rm_a_b @ F @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_te2328734355998148206rm_a_b @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_916_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_Pr2394204248401007003rm_a_b @ F @ ( nth_li7848650713086546554xt_a_b @ ( multih2582494620652353585xt_a_b @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ ( map_Pr2394204248401007003rm_a_b @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_917_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: list_nat > term_a_b,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_li459708541515338042rm_a_b @ F @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_li459708541515338042rm_a_b @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_918_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: list_nat > list_nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_li7225945977422193158st_nat @ F @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ ( map_li7225945977422193158st_nat @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_919_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: term_a_b > nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_term_a_b_nat @ F @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( map_term_a_b_nat @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_920_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: nat > term_a_b,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_nat_term_a_b @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ ( map_nat_term_a_b @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_921_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: nat > list_term_a_b,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_na2865332088629204026rm_a_b @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ ( map_na2865332088629204026rm_a_b @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_922_map__partition__holes__nth,axiom,
    ! [I2: nat,Cs2: list_M4548637025958506770xt_a_b,F: nat > nat,Xs: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs2 ) )
     => ( ( map_nat_nat @ F @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) )
        = ( nth_list_nat @ ( multih8544690682651757648by_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I2 ) ) ) ).

% map_partition_holes_nth
thf(fact_923_subset__Collect__iff,axiom,
    ! [B4: set_Mu3903433398966807788xt_a_b,A2: set_Mu3903433398966807788xt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( ord_le4185538551145870476xt_a_b @ B4 @ A2 )
     => ( ( ord_le4185538551145870476xt_a_b @ B4
          @ ( collec7587487095821320951xt_a_b
            @ ^ [X: multihole_mctxt_a_b] :
                ( ( member4915921492409311157xt_a_b @ X @ A2 )
                & ( P2 @ X ) ) ) )
        = ( ! [X: multihole_mctxt_a_b] :
              ( ( member4915921492409311157xt_a_b @ X @ B4 )
             => ( P2 @ X ) ) ) ) ) ).

% subset_Collect_iff
thf(fact_924_subset__CollectI,axiom,
    ! [B4: set_Mu3903433398966807788xt_a_b,A2: set_Mu3903433398966807788xt_a_b,Q: multihole_mctxt_a_b > $o,P2: multihole_mctxt_a_b > $o] :
      ( ( ord_le4185538551145870476xt_a_b @ B4 @ A2 )
     => ( ! [X5: multihole_mctxt_a_b] :
            ( ( member4915921492409311157xt_a_b @ X5 @ B4 )
           => ( ( Q @ X5 )
             => ( P2 @ X5 ) ) )
       => ( ord_le4185538551145870476xt_a_b
          @ ( collec7587487095821320951xt_a_b
            @ ^ [X: multihole_mctxt_a_b] :
                ( ( member4915921492409311157xt_a_b @ X @ B4 )
                & ( Q @ X ) ) )
          @ ( collec7587487095821320951xt_a_b
            @ ^ [X: multihole_mctxt_a_b] :
                ( ( member4915921492409311157xt_a_b @ X @ A2 )
                & ( P2 @ X ) ) ) ) ) ) ).

% subset_CollectI
thf(fact_925_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_926_le__trans,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( ord_less_eq_nat @ J3 @ K )
       => ( ord_less_eq_nat @ I2 @ K ) ) ) ).

% le_trans
thf(fact_927_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_928_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_929_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
      | ( ord_less_eq_nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_930_Nat_Oex__has__greatest__nat,axiom,
    ! [P2: nat > $o,K: nat,B: nat] :
      ( ( P2 @ K )
     => ( ! [Y4: nat] :
            ( ( P2 @ Y4 )
           => ( ord_less_eq_nat @ Y4 @ B ) )
       => ? [X5: nat] :
            ( ( P2 @ X5 )
            & ! [Y5: nat] :
                ( ( P2 @ Y5 )
               => ( ord_less_eq_nat @ Y5 @ X5 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_931_hole__poss__list__length,axiom,
    ! [D2: multihole_mctxt_a_b] :
      ( ( size_s3023201423986296836st_nat @ ( multih2241604942620144928st_a_b @ D2 ) )
      = ( multih3217256941434035760es_a_b @ D2 ) ) ).

% hole_poss_list_length
thf(fact_932_map__eq__set__zipD,axiom,
    ! [F: produc6098685572150017969xt_a_b > list_term_a_b,Xs: list_P3228452592230693057xt_a_b,Ys: list_P3228452592230693057xt_a_b,X2: produc6098685572150017969xt_a_b,Y2: produc6098685572150017969xt_a_b] :
      ( ( ( map_Pr2394204248401007003rm_a_b @ F @ Xs )
        = ( map_Pr2394204248401007003rm_a_b @ F @ Ys ) )
     => ( ( member7446235603506994156xt_a_b @ ( produc8903049886004406011xt_a_b @ X2 @ Y2 ) @ ( set_Pr511010459394092120xt_a_b @ ( zip_Pr4877436932732505627xt_a_b @ Xs @ Ys ) ) )
       => ( ( F @ X2 )
          = ( F @ Y2 ) ) ) ) ).

% map_eq_set_zipD
thf(fact_933_map__eq__set__zipD,axiom,
    ! [F: list_nat > term_a_b,Xs: list_list_nat,Ys: list_list_nat,X2: list_nat,Y2: list_nat] :
      ( ( ( map_li459708541515338042rm_a_b @ F @ Xs )
        = ( map_li459708541515338042rm_a_b @ F @ Ys ) )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X2 @ Y2 ) @ ( set_Pr3842133991353686454st_nat @ ( zip_li7157463729305086713st_nat @ Xs @ Ys ) ) )
       => ( ( F @ X2 )
          = ( F @ Y2 ) ) ) ) ).

% map_eq_set_zipD
thf(fact_934_map__eq__set__zipD,axiom,
    ! [F: list_nat > list_nat,Xs: list_list_nat,Ys: list_list_nat,X2: list_nat,Y2: list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs )
        = ( map_li7225945977422193158st_nat @ F @ Ys ) )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X2 @ Y2 ) @ ( set_Pr3842133991353686454st_nat @ ( zip_li7157463729305086713st_nat @ Xs @ Ys ) ) )
       => ( ( F @ X2 )
          = ( F @ Y2 ) ) ) ) ).

% map_eq_set_zipD
thf(fact_935_map__eq__set__zipD,axiom,
    ! [F: nat > list_term_a_b,Xs: list_nat,Ys: list_nat,X2: nat,Y2: nat] :
      ( ( ( map_na2865332088629204026rm_a_b @ F @ Xs )
        = ( map_na2865332088629204026rm_a_b @ F @ Ys ) )
     => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
       => ( ( F @ X2 )
          = ( F @ Y2 ) ) ) ) ).

% map_eq_set_zipD
thf(fact_936_map__eq__set__zipD,axiom,
    ! [F: nat > nat,Xs: list_nat,Ys: list_nat,X2: nat,Y2: nat] :
      ( ( ( map_nat_nat @ F @ Xs )
        = ( map_nat_nat @ F @ Ys ) )
     => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
       => ( ( F @ X2 )
          = ( F @ Y2 ) ) ) ) ).

% map_eq_set_zipD
thf(fact_937_in__set__product__lists__length,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Xss: list_l2176991360922390168xt_a_b] :
      ( ( member4926864130519753019xt_a_b @ Xs @ ( set_li6105397052872267687xt_a_b @ ( produc8958955220159336827xt_a_b @ Xss ) ) )
     => ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( size_s3306353116822741252xt_a_b @ Xss ) ) ) ).

% in_set_product_lists_length
thf(fact_938_in__set__product__lists__length,axiom,
    ! [Xs: list_term_a_b,Xss: list_list_term_a_b] :
      ( ( member_list_term_a_b @ Xs @ ( set_list_term_a_b2 @ ( produc17669015410068453rm_a_b @ Xss ) ) )
     => ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s877380706853472072rm_a_b @ Xss ) ) ) ).

% in_set_product_lists_length
thf(fact_939_in__set__product__lists__length,axiom,
    ! [Xs: list_list_term_a_b,Xss: list_l5544744485257374276rm_a_b] :
      ( ( member3934321367748329163rm_a_b @ Xs @ ( set_li4211081853627212639rm_a_b @ ( produc4816125487626072565rm_a_b @ Xss ) ) )
     => ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s8422369774828843736rm_a_b @ Xss ) ) ) ).

% in_set_product_lists_length
thf(fact_940_in__set__product__lists__length,axiom,
    ! [Xs: list_nat,Xss: list_list_nat] :
      ( ( member_list_nat @ Xs @ ( set_list_nat2 @ ( product_lists_nat @ Xss ) ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Xss ) ) ) ).

% in_set_product_lists_length
thf(fact_941_eqfE_I2_J,axiom,
    ! [T: term_a_b,D2: multihole_mctxt_a_b,Ss2: list_term_a_b] :
      ( ( multih34988865219335474ll_a_b @ T @ ( produc8492191230753176409rm_a_b @ D2 @ Ss2 ) )
     => ( ( multih3217256941434035760es_a_b @ D2 )
        = ( size_s8906293707977694520rm_a_b @ Ss2 ) ) ) ).

% eqfE(2)
thf(fact_942_vaposs__list__fun,axiom,
    ! [P: list_nat,F: a,Ts: list_term_a_b] :
      ( ( member_list_nat @ P @ ( set_list_nat2 @ ( varposs_list_a_b @ ( fun_a_b @ F @ Ts ) ) ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
           => ! [Ps: list_nat] :
                ( P
               != ( cons_nat @ I3 @ Ps ) ) ) ) ).

% vaposs_list_fun
thf(fact_943_in__set__zip,axiom,
    ! [P: product_prod_nat_nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ P @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_nat @ Xs @ N3 )
              = ( product_fst_nat_nat @ P ) )
            & ( ( nth_nat @ Ys @ N3 )
              = ( product_snd_nat_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_944_in__set__zip,axiom,
    ! [P: produc1540777390238407569at_nat,Xs: list_list_nat,Ys: list_nat] :
      ( ( member7820552544826472890at_nat @ P @ ( set_Pr7715406932454250534at_nat @ ( zip_list_nat_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_list_nat @ Xs @ N3 )
              = ( produc1299098336458792757at_nat @ P ) )
            & ( ( nth_nat @ Ys @ N3 )
              = ( produc3416681907195285111at_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_945_in__set__zip,axiom,
    ! [P: produc4575160907756185873st_nat,Xs: list_nat,Ys: list_list_nat] :
      ( ( member1631564025489475386st_nat @ P @ ( set_Pr1526418413117253030st_nat @ ( zip_nat_list_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_nat @ Xs @ N3 )
              = ( produc8283513326151283381st_nat @ P ) )
            & ( ( nth_list_nat @ Ys @ N3 )
              = ( produc1177724860032999927st_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_946_in__set__zip,axiom,
    ! [P: produc1828647624359046049st_nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( member7340969449405702474st_nat @ P @ ( set_Pr3842133991353686454st_nat @ ( zip_li7157463729305086713st_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_list_nat @ Xs @ N3 )
              = ( produc1382935764643595205st_nat @ P ) )
            & ( ( nth_list_nat @ Ys @ N3 )
              = ( produc5865812112468994567st_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_947_in__set__zip,axiom,
    ! [P: produc7404713482084229387_b_nat,Xs: list_M4548637025958506770xt_a_b,Ys: list_nat] :
      ( ( member2556407477037838626_b_nat @ P @ ( set_Pr1548094854715186614_b_nat @ ( zip_Mu2498538806789127269_b_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_Mu4187783769245775891xt_a_b @ Xs @ N3 )
              = ( produc5564987526980563097_b_nat @ P ) )
            & ( ( nth_nat @ Ys @ N3 )
              = ( produc8945135801227680215_b_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s6467537827362597246xt_a_b @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_948_in__set__zip,axiom,
    ! [P: produc2720409071189015237_b_nat,Xs: list_term_a_b,Ys: list_nat] :
      ( ( member9000184225777080558_b_nat @ P @ ( set_Pr8895038613404858202_b_nat @ ( zip_term_a_b_nat @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_term_a_b @ Xs @ N3 )
              = ( produc2478730017409400425_b_nat @ P ) )
            & ( ( nth_nat @ Ys @ N3 )
              = ( produc4596313588145892779_b_nat @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_949_in__set__zip,axiom,
    ! [P: produc6098685572150017969xt_a_b,Xs: list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member1250379567103627208xt_a_b @ P @ ( set_Pr242066944780975196xt_a_b @ ( zip_na2638709245307492419xt_a_b @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_nat @ Xs @ N3 )
              = ( produc5705157965498928247xt_a_b @ P ) )
            & ( ( nth_Mu4187783769245775891xt_a_b @ Ys @ N3 )
              = ( produc9085306239746045365xt_a_b @ P ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s6467537827362597246xt_a_b @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_950_in__set__zip,axiom,
    ! [P: produc1234881154892807749rm_a_b,Xs: list_nat,Ys: list_term_a_b] :
      ( ( member7514656309480873070rm_a_b @ P @ ( set_Pr7409510697108650714rm_a_b @ ( zip_nat_term_a_b @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_nat @ Xs @ N3 )
              = ( produc1517275890244428265rm_a_b @ P ) )
            & ( ( nth_term_a_b @ Ys @ N3 )
              = ( produc3634859460980920619rm_a_b @ P ) )
            & ( ord_less_nat @ N3 @ ( size_size_list_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_951_in__set__zip,axiom,
    ! [P: produc8346249999211258145xt_a_b,Xs: list_list_nat,Ys: list_M4548637025958506770xt_a_b] :
      ( ( member4218287559662238136xt_a_b @ P @ ( set_Pr8153754009027415116xt_a_b @ ( zip_li3256635972118132019xt_a_b @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_list_nat @ Xs @ N3 )
              = ( produc8292576803150675815xt_a_b @ P ) )
            & ( ( nth_Mu4187783769245775891xt_a_b @ Ys @ N3 )
              = ( produc2680651092779479461xt_a_b @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s6467537827362597246xt_a_b @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_952_in__set__zip,axiom,
    ! [P: produc7711739908350443733rm_a_b,Xs: list_list_nat,Ys: list_term_a_b] :
      ( ( member4000689696542324350rm_a_b @ P @ ( set_Pr501854238490308330rm_a_b @ ( zip_li391226293398231597rm_a_b @ Xs @ Ys ) ) )
      = ( ? [N3: nat] :
            ( ( ( nth_list_nat @ Xs @ N3 )
              = ( produc3840070365591515897rm_a_b @ P ) )
            & ( ( nth_term_a_b @ Ys @ N3 )
              = ( produc8322946713416915259rm_a_b @ P ) )
            & ( ord_less_nat @ N3 @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Ys ) ) ) ) ) ).

% in_set_zip
thf(fact_953_exI__realizer,axiom,
    ! [P2: nat > nat > $o,Y2: nat,X2: nat] :
      ( ( P2 @ Y2 @ X2 )
     => ( P2 @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) ) @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) ) ) ) ).

% exI_realizer
thf(fact_954_exI__realizer,axiom,
    ! [P2: nat > ( nat > nat ) > $o,Y2: nat,X2: nat > nat] :
      ( ( P2 @ Y2 @ X2 )
     => ( P2 @ ( produc1852801350702243542at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) ) @ ( produc6156676138143019412at_nat @ ( produc72220940542539688at_nat @ X2 @ Y2 ) ) ) ) ).

% exI_realizer
thf(fact_955_conjI__realizer,axiom,
    ! [P2: nat > $o,P: nat,Q: nat > $o,Q2: nat] :
      ( ( P2 @ P )
     => ( ( Q @ Q2 )
       => ( ( P2 @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ P @ Q2 ) ) )
          & ( Q @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ P @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_956_conjI__realizer,axiom,
    ! [P2: ( nat > nat ) > $o,P: nat > nat,Q: nat > $o,Q2: nat] :
      ( ( P2 @ P )
     => ( ( Q @ Q2 )
       => ( ( P2 @ ( produc6156676138143019412at_nat @ ( produc72220940542539688at_nat @ P @ Q2 ) ) )
          & ( Q @ ( produc1852801350702243542at_nat @ ( produc72220940542539688at_nat @ P @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_957_fill__holes__MFun,axiom,
    ! [Cs2: list_M4548637025958506770xt_a_b,Ts: list_term_a_b,Ss2: list_list_term_a_b,F: a] :
      ( ( ( size_s6467537827362597246xt_a_b @ Cs2 )
        = ( size_s8906293707977694520rm_a_b @ Ts ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ss2 )
          = ( size_s8906293707977694520rm_a_b @ Ts ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
             => ( ( ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) )
                  = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ss2 @ I3 ) ) )
                & ( ( multih7014478356578301647es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I3 ) @ ( nth_list_term_a_b @ Ss2 @ I3 ) )
                  = ( nth_term_a_b @ Ts @ I3 ) ) ) )
         => ( ( multih7014478356578301647es_a_b @ ( multihole_MFun_a_b @ F @ Cs2 ) @ ( concat_term_a_b @ Ss2 ) )
            = ( fun_a_b @ F @ Ts ) ) ) ) ) ).

% fill_holes_MFun
thf(fact_958_fill__holes_Osimps_I3_J,axiom,
    ! [F: a,Cs: list_M4548637025958506770xt_a_b,Ts: list_term_a_b] :
      ( ( multih7014478356578301647es_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ Ts )
      = ( fun_a_b @ F
        @ ( map_nat_term_a_b
          @ ^ [I: nat] : ( multih7014478356578301647es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I ) @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs ) ) ) ) ) ).

% fill_holes.simps(3)
thf(fact_959_partition__holes__fill__holes__conv,axiom,
    ! [F: a,Cs: list_M4548637025958506770xt_a_b,Ts: list_term_a_b] :
      ( ( multih7014478356578301647es_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ Ts )
      = ( fun_a_b @ F
        @ ( map_nat_term_a_b
          @ ^ [I: nat] : ( multih7014478356578301647es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I ) @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs ) ) ) ) ) ).

% partition_holes_fill_holes_conv
thf(fact_960_fill__holes__mctxt_Osimps_I4_J,axiom,
    ! [F: a,Cs: list_M4548637025958506770xt_a_b,Ts: list_M4548637025958506770xt_a_b] :
      ( ( multih5237230941224847661xt_a_b @ ( multihole_MFun_a_b @ F @ Cs ) @ Ts )
      = ( multihole_MFun_a_b @ F
        @ ( map_na2920055545220517366xt_a_b
          @ ^ [I: nat] : ( multih5237230941224847661xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I ) @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs ) ) ) ) ) ).

% fill_holes_mctxt.simps(4)
thf(fact_961_partition__holes__fill__holes__mctxt__conv,axiom,
    ! [F: a,Cs2: list_M4548637025958506770xt_a_b,Ts: list_M4548637025958506770xt_a_b] :
      ( ( multih5237230941224847661xt_a_b @ ( multihole_MFun_a_b @ F @ Cs2 ) @ Ts )
      = ( multihole_MFun_a_b @ F
        @ ( map_na2920055545220517366xt_a_b
          @ ^ [I: nat] : ( multih5237230941224847661xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs2 @ I ) @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs2 ) ) @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ Cs2 ) ) ) ) ) ).

% partition_holes_fill_holes_mctxt_conv
thf(fact_962_fill__unfill__holes,axiom,
    ! [C4: multihole_mctxt_a_b,T: term_a_b] :
      ( ( ord_le850117253035069100xt_a_b @ C4 @ ( multih8235204711990112060rm_a_b @ T ) )
     => ( ( multih7014478356578301647es_a_b @ C4 @ ( multih4629214223431182294es_a_b @ C4 @ T ) )
        = T ) ) ).

% fill_unfill_holes
thf(fact_963_eq__fill_Ointros,axiom,
    ! [T: term_a_b,D2: multihole_mctxt_a_b,Ss2: list_term_a_b] :
      ( ( T
        = ( multih7014478356578301647es_a_b @ D2 @ Ss2 ) )
     => ( ( ( multih3217256941434035760es_a_b @ D2 )
          = ( size_s8906293707977694520rm_a_b @ Ss2 ) )
       => ( multih34988865219335474ll_a_b @ T @ ( produc8492191230753176409rm_a_b @ D2 @ Ss2 ) ) ) ) ).

% eq_fill.intros
thf(fact_964_eq__fill_Osimps,axiom,
    ( multih34988865219335474ll_a_b
    = ( ^ [A1: term_a_b,A22: produc5546905550855713759rm_a_b] :
        ? [T3: term_a_b,D: multihole_mctxt_a_b,Ss3: list_term_a_b] :
          ( ( A1 = T3 )
          & ( A22
            = ( produc8492191230753176409rm_a_b @ D @ Ss3 ) )
          & ( T3
            = ( multih7014478356578301647es_a_b @ D @ Ss3 ) )
          & ( ( multih3217256941434035760es_a_b @ D )
            = ( size_s8906293707977694520rm_a_b @ Ss3 ) ) ) ) ) ).

% eq_fill.simps
thf(fact_965_eq__fill_Ocases,axiom,
    ! [A12: term_a_b,A23: produc5546905550855713759rm_a_b] :
      ( ( multih34988865219335474ll_a_b @ A12 @ A23 )
     => ~ ! [D3: multihole_mctxt_a_b,Ss: list_term_a_b] :
            ( ( A23
              = ( produc8492191230753176409rm_a_b @ D3 @ Ss ) )
           => ( ( A12
                = ( multih7014478356578301647es_a_b @ D3 @ Ss ) )
             => ( ( multih3217256941434035760es_a_b @ D3 )
               != ( size_s8906293707977694520rm_a_b @ Ss ) ) ) ) ) ).

% eq_fill.cases
thf(fact_966_pred__subset__eq2,axiom,
    ! [R: set_Pr1261947904930325089at_nat,S2: set_Pr1261947904930325089at_nat] :
      ( ( ord_le2646555220125990790_nat_o
        @ ^ [X: nat,Y: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
        @ ^ [X: nat,Y: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ S2 ) )
      = ( ord_le3146513528884898305at_nat @ R @ S2 ) ) ).

% pred_subset_eq2
thf(fact_967_pred__subset__eq2,axiom,
    ! [R: set_Pr9093778441882193744at_nat,S2: set_Pr9093778441882193744at_nat] :
      ( ( ord_le5974136086019949911_nat_o
        @ ^ [X: nat > nat,Y: nat] : ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X @ Y ) @ R )
        @ ^ [X: nat > nat,Y: nat] : ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X @ Y ) @ S2 ) )
      = ( ord_le3678578370064672496at_nat @ R @ S2 ) ) ).

% pred_subset_eq2
thf(fact_968_product__concat__map,axiom,
    ( product_nat_nat
    = ( ^ [Xs2: list_nat,Ys2: list_nat] :
          ( concat7691415812945658306at_nat
          @ ( map_na4561905831291441265at_nat
            @ ^ [X: nat] : ( map_na7298421622053143531at_nat @ ( product_Pair_nat_nat @ X ) @ Ys2 )
            @ Xs2 ) ) ) ) ).

% product_concat_map
thf(fact_969_product__concat__map,axiom,
    ( product_nat_nat_nat
    = ( ^ [Xs2: list_nat_nat,Ys2: list_nat] :
          ( concat821400627202602033at_nat
          @ ( map_na1011612288921435825at_nat
            @ ^ [X: nat > nat] : ( map_na6722963242033808602at_nat @ ( produc72220940542539688at_nat @ X ) @ Ys2 )
            @ Xs2 ) ) ) ) ).

% product_concat_map
thf(fact_970_set__concat__lists,axiom,
    ! [Xs: list_list_list_nat] :
      ( ( set_list_list_nat2 @ ( missin5603497496030997514st_nat @ Xs ) )
      = ( collec5989764272469232197st_nat
        @ ^ [As2: list_list_nat] :
            ( ( ( size_s3023201423986296836st_nat @ As2 )
              = ( size_s6248950052170075156st_nat @ Xs ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s6248950052170075156st_nat @ Xs ) )
               => ( member_list_nat @ ( nth_list_nat @ As2 @ I ) @ ( set_list_nat2 @ ( nth_list_list_nat @ Xs @ I ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_971_set__concat__lists,axiom,
    ! [Xs: list_l2176991360922390168xt_a_b] :
      ( ( set_li6105397052872267687xt_a_b @ ( missin8736853954854534242xt_a_b @ Xs ) )
      = ( collec1865976362583014269xt_a_b
        @ ^ [As2: list_M4548637025958506770xt_a_b] :
            ( ( ( size_s6467537827362597246xt_a_b @ As2 )
              = ( size_s3306353116822741252xt_a_b @ Xs ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s3306353116822741252xt_a_b @ Xs ) )
               => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ As2 @ I ) @ ( set_Mu988262935377722401xt_a_b @ ( nth_li6526745125630915225xt_a_b @ Xs @ I ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_972_set__concat__lists,axiom,
    ! [Xs: list_list_term_a_b] :
      ( ( set_list_term_a_b2 @ ( missin8060632096978918206rm_a_b @ Xs ) )
      = ( collec2649484519605854073rm_a_b
        @ ^ [As2: list_term_a_b] :
            ( ( ( size_s8906293707977694520rm_a_b @ As2 )
              = ( size_s877380706853472072rm_a_b @ Xs ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xs ) )
               => ( member_term_a_b @ ( nth_term_a_b @ As2 @ I ) @ ( set_term_a_b2 @ ( nth_list_term_a_b @ Xs @ I ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_973_set__concat__lists,axiom,
    ! [Xs: list_l5544744485257374276rm_a_b] :
      ( ( set_li4211081853627212639rm_a_b @ ( missin8123040988427075790rm_a_b @ Xs ) )
      = ( collec5566874814092408073rm_a_b
        @ ^ [As2: list_list_term_a_b] :
            ( ( ( size_s877380706853472072rm_a_b @ As2 )
              = ( size_s8422369774828843736rm_a_b @ Xs ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s8422369774828843736rm_a_b @ Xs ) )
               => ( member_list_term_a_b @ ( nth_list_term_a_b @ As2 @ I ) @ ( set_list_term_a_b2 @ ( nth_li1777312294383961325rm_a_b @ Xs @ I ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_974_set__concat__lists,axiom,
    ! [Xs: list_list_nat] :
      ( ( set_list_nat2 @ ( missin4567272213201432058ts_nat @ Xs ) )
      = ( collect_list_nat
        @ ^ [As2: list_nat] :
            ( ( ( size_size_list_nat @ As2 )
              = ( size_s3023201423986296836st_nat @ Xs ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s3023201423986296836st_nat @ Xs ) )
               => ( member_nat @ ( nth_nat @ As2 @ I ) @ ( set_nat2 @ ( nth_list_nat @ Xs @ I ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_975_length__partition__holes__nth,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ts: list_M4548637025958506770xt_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) )
        = ( size_s6467537827362597246xt_a_b @ Ts ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
       => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I2 ) )
          = ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I2 ) ) ) ) ) ).

% length_partition_holes_nth
thf(fact_976_length__partition__holes__nth,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ts: list_term_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) )
        = ( size_s8906293707977694520rm_a_b @ Ts ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
       => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I2 ) )
          = ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I2 ) ) ) ) ) ).

% length_partition_holes_nth
thf(fact_977_length__partition__holes__nth,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ts: list_list_term_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) )
        = ( size_s877380706853472072rm_a_b @ Ts ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
       => ( ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I2 ) )
          = ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I2 ) ) ) ) ) ).

% length_partition_holes_nth
thf(fact_978_length__partition__holes__nth,axiom,
    ! [Cs: list_M4548637025958506770xt_a_b,Ts: list_nat,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) )
        = ( size_size_list_nat @ Ts ) )
     => ( ( ord_less_nat @ I2 @ ( size_s6467537827362597246xt_a_b @ Cs ) )
       => ( ( size_size_list_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Ts @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Cs ) ) @ I2 ) )
          = ( multih3217256941434035760es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Cs @ I2 ) ) ) ) ) ).

% length_partition_holes_nth
thf(fact_979_partition__by__partition__by,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,Ys: list_list_nat] :
      ( ( ( size_s6467537827362597246xt_a_b @ Xs )
        = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) )
     => ( ( multih1863622132151294098xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ ( concat_nat @ Ys ) ) @ ( map_list_nat_nat @ size_size_list_nat @ Ys ) )
        = ( map_na8347210260043766658xt_a_b
          @ ^ [I: nat] : ( multih8997278079985217164xt_a_b @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_partition_by
thf(fact_980_partition__by__partition__by,axiom,
    ! [Xs: list_term_a_b,Ys: list_list_nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) )
     => ( ( multih776841144196503844rm_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( concat_nat @ Ys ) ) @ ( map_list_nat_nat @ size_size_list_nat @ Ys ) )
        = ( map_na6169479277252629834rm_a_b
          @ ^ [I: nat] : ( multih8088080497851651732rm_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_partition_by
thf(fact_981_partition__by__partition__by,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_nat] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) )
     => ( ( multih7929037350212099380rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ ( concat_nat @ Ys ) ) @ ( map_list_nat_nat @ size_size_list_nat @ Ys ) )
        = ( map_na7275842613452183514rm_a_b
          @ ^ [I: nat] : ( multih776841144196503844rm_a_b @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_partition_by
thf(fact_982_partition__by__partition__by,axiom,
    ! [Xs: list_nat,Ys: list_list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) )
     => ( ( multih5630945896903731040st_nat @ ( multih8544690682651757648by_nat @ Xs @ ( concat_nat @ Ys ) ) @ ( map_list_nat_nat @ size_size_list_nat @ Ys ) )
        = ( map_na6205611841492582150st_nat
          @ ^ [I: nat] : ( multih8544690682651757648by_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_partition_by
thf(fact_983_concat__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( concat7497117511338392013xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% concat_partition_by
thf(fact_984_concat__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( concat_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% concat_partition_by
thf(fact_985_concat__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( concat_list_term_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) )
        = Xs ) ) ).

% concat_partition_by
thf(fact_986_concat__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( concat_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) )
        = Xs ) ) ).

% concat_partition_by
thf(fact_987_map__length__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( map_li1058689816389892766_b_nat @ size_s6467537827362597246xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_length_partition_by
thf(fact_988_map__length__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( map_li2434073387748744506_b_nat @ size_s8906293707977694520rm_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_length_partition_by
thf(fact_989_map__length__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( map_li4635931238991055562_b_nat @ size_s877380706853472072rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) )
        = Ys ) ) ).

% map_length_partition_by
thf(fact_990_map__length__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( map_list_nat_nat @ size_size_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) )
        = Ys ) ) ).

% map_length_partition_by
thf(fact_991_sum__list__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,F: multihole_mctxt_a_b > nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( groups4561878855575611511st_nat
          @ ( map_li1058689816389892766_b_nat
            @ ^ [X: list_M4548637025958506770xt_a_b] : ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ F @ X ) )
            @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) ) )
        = ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ F @ Xs ) ) ) ) ).

% sum_list_partition_by
thf(fact_992_sum__list__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,F: term_a_b > nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( groups4561878855575611511st_nat
          @ ( map_li2434073387748744506_b_nat
            @ ^ [X: list_term_a_b] : ( groups4561878855575611511st_nat @ ( map_term_a_b_nat @ F @ X ) )
            @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) ) )
        = ( groups4561878855575611511st_nat @ ( map_term_a_b_nat @ F @ Xs ) ) ) ) ).

% sum_list_partition_by
thf(fact_993_sum__list__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,F: list_term_a_b > nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( groups4561878855575611511st_nat
          @ ( map_li4635931238991055562_b_nat
            @ ^ [X: list_list_term_a_b] : ( groups4561878855575611511st_nat @ ( map_li2434073387748744506_b_nat @ F @ X ) )
            @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) ) )
        = ( groups4561878855575611511st_nat @ ( map_li2434073387748744506_b_nat @ F @ Xs ) ) ) ) ).

% sum_list_partition_by
thf(fact_994_sum__list__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_nat,F: nat > nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( groups4561878855575611511st_nat
          @ ( map_list_nat_nat
            @ ^ [X: list_nat] : ( groups4561878855575611511st_nat @ ( map_nat_nat @ F @ X ) )
            @ ( multih8544690682651757648by_nat @ Xs @ Ys ) ) )
        = ( groups4561878855575611511st_nat @ ( map_nat_nat @ F @ Xs ) ) ) ) ).

% sum_list_partition_by
thf(fact_995_Utility_Osum__list__0,axiom,
    ! [Xs: list_nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( X5 = zero_zero_nat ) )
     => ( ( groups4561878855575611511st_nat @ Xs )
        = zero_zero_nat ) ) ).

% Utility.sum_list_0
thf(fact_996_sum__list__concat,axiom,
    ! [Ls: list_list_nat] :
      ( ( groups4561878855575611511st_nat @ ( concat_nat @ Ls ) )
      = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ls ) ) ) ).

% sum_list_concat
thf(fact_997_nth__sum__listI,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ Xs @ I3 )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( ( groups4561878855575611511st_nat @ Xs )
          = ( groups4561878855575611511st_nat @ Ys ) ) ) ) ).

% nth_sum_listI
thf(fact_998_num__holes_Osimps_I3_J,axiom,
    ! [Uv: a,Ctxts: list_M4548637025958506770xt_a_b] :
      ( ( multih3217256941434035760es_a_b @ ( multihole_MFun_a_b @ Uv @ Ctxts ) )
      = ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ multih3217256941434035760es_a_b @ Ctxts ) ) ) ).

% num_holes.simps(3)
thf(fact_999_Ball__set__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,P2: multihole_mctxt_a_b > $o] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ! [X: list_M4548637025958506770xt_a_b] :
              ( ( member4926864130519753019xt_a_b @ X @ ( set_li6105397052872267687xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) ) )
             => ! [Y: multihole_mctxt_a_b] :
                  ( ( member4915921492409311157xt_a_b @ Y @ ( set_Mu988262935377722401xt_a_b @ X ) )
                 => ( P2 @ Y ) ) ) )
        = ( ! [X: multihole_mctxt_a_b] :
              ( ( member4915921492409311157xt_a_b @ X @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
             => ( P2 @ X ) ) ) ) ) ).

% Ball_set_partition_by
thf(fact_1000_Ball__set__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,P2: term_a_b > $o] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ! [X: list_term_a_b] :
              ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) ) )
             => ! [Y: term_a_b] :
                  ( ( member_term_a_b @ Y @ ( set_term_a_b2 @ X ) )
                 => ( P2 @ Y ) ) ) )
        = ( ! [X: term_a_b] :
              ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
             => ( P2 @ X ) ) ) ) ) ).

% Ball_set_partition_by
thf(fact_1001_Ball__set__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,P2: list_term_a_b > $o] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( ! [X: list_list_term_a_b] :
              ( ( member3934321367748329163rm_a_b @ X @ ( set_li4211081853627212639rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) ) )
             => ! [Y: list_term_a_b] :
                  ( ( member_list_term_a_b @ Y @ ( set_list_term_a_b2 @ X ) )
                 => ( P2 @ Y ) ) ) )
        = ( ! [X: list_term_a_b] :
              ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
             => ( P2 @ X ) ) ) ) ) ).

% Ball_set_partition_by
thf(fact_1002_Ball__set__partition__by,axiom,
    ! [Ys: list_nat,Xs: list_nat,P2: nat > $o] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( ! [X: list_nat] :
              ( ( member_list_nat @ X @ ( set_list_nat2 @ ( multih8544690682651757648by_nat @ Xs @ Ys ) ) )
             => ! [Y: nat] :
                  ( ( member_nat @ Y @ ( set_nat2 @ X ) )
                 => ( P2 @ Y ) ) ) )
        = ( ! [X: nat] :
              ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
             => ( P2 @ X ) ) ) ) ) ).

% Ball_set_partition_by
thf(fact_1003_pred__equals__eq2,axiom,
    ! [R: set_Pr1261947904930325089at_nat,S2: set_Pr1261947904930325089at_nat] :
      ( ( ( ^ [X: nat,Y: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R ) )
        = ( ^ [X: nat,Y: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_1004_pred__equals__eq2,axiom,
    ! [R: set_Pr9093778441882193744at_nat,S2: set_Pr9093778441882193744at_nat] :
      ( ( ( ^ [X: nat > nat,Y: nat] : ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X @ Y ) @ R ) )
        = ( ^ [X: nat > nat,Y: nat] : ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X @ Y ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_1005_pred__subset__eq,axiom,
    ! [R: set_Mu3903433398966807788xt_a_b,S2: set_Mu3903433398966807788xt_a_b] :
      ( ( ord_le7891048359022256977_a_b_o
        @ ^ [X: multihole_mctxt_a_b] : ( member4915921492409311157xt_a_b @ X @ R )
        @ ^ [X: multihole_mctxt_a_b] : ( member4915921492409311157xt_a_b @ X @ S2 ) )
      = ( ord_le4185538551145870476xt_a_b @ R @ S2 ) ) ).

% pred_subset_eq
thf(fact_1006_partition__by__nth__nth_I2_J,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ord_less_nat @ ( multih7279076602905066526by_idx @ ( size_s6467537827362597246xt_a_b @ Xs ) @ Ys @ I2 @ J3 ) @ ( size_s6467537827362597246xt_a_b @ Xs ) ) ) ) ) ).

% partition_by_nth_nth(2)
thf(fact_1007_partition__by__nth__nth_I2_J,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ord_less_nat @ ( multih7279076602905066526by_idx @ ( size_s8906293707977694520rm_a_b @ Xs ) @ Ys @ I2 @ J3 ) @ ( size_s8906293707977694520rm_a_b @ Xs ) ) ) ) ) ).

% partition_by_nth_nth(2)
thf(fact_1008_partition__by__nth__nth_I2_J,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ord_less_nat @ ( multih7279076602905066526by_idx @ ( size_s877380706853472072rm_a_b @ Xs ) @ Ys @ I2 @ J3 ) @ ( size_s877380706853472072rm_a_b @ Xs ) ) ) ) ) ).

% partition_by_nth_nth(2)
thf(fact_1009_partition__by__nth__nth_I2_J,axiom,
    ! [Ys: list_nat,Xs: list_nat,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ord_less_nat @ ( multih7279076602905066526by_idx @ ( size_size_list_nat @ Xs ) @ Ys @ I2 @ J3 ) @ ( size_size_list_nat @ Xs ) ) ) ) ) ).

% partition_by_nth_nth(2)
thf(fact_1010_length__partition__by__nth,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( size_s6467537827362597246xt_a_b @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) @ I2 ) )
          = ( nth_nat @ Ys @ I2 ) ) ) ) ).

% length_partition_by_nth
thf(fact_1011_length__partition__by__nth,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) @ I2 ) )
          = ( nth_nat @ Ys @ I2 ) ) ) ) ).

% length_partition_by_nth
thf(fact_1012_length__partition__by__nth,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( size_s877380706853472072rm_a_b @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) @ I2 ) )
          = ( nth_nat @ Ys @ I2 ) ) ) ) ).

% length_partition_by_nth
thf(fact_1013_length__partition__by__nth,axiom,
    ! [Ys: list_nat,Xs: list_nat,I2: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( size_size_list_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) )
          = ( nth_nat @ Ys @ I2 ) ) ) ) ).

% length_partition_by_nth
thf(fact_1014_subrelI,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,S: set_Pr1261947904930325089at_nat] :
      ( ! [X5: nat,Y4: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X5 @ Y4 ) @ R2 )
         => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X5 @ Y4 ) @ S ) )
     => ( ord_le3146513528884898305at_nat @ R2 @ S ) ) ).

% subrelI
thf(fact_1015_subrelI,axiom,
    ! [R2: set_Pr9093778441882193744at_nat,S: set_Pr9093778441882193744at_nat] :
      ( ! [X5: nat > nat,Y4: nat] :
          ( ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X5 @ Y4 ) @ R2 )
         => ( member7226740684066999833at_nat @ ( produc72220940542539688at_nat @ X5 @ Y4 ) @ S ) )
     => ( ord_le3678578370064672496at_nat @ R2 @ S ) ) ).

% subrelI
thf(fact_1016_partition__by__nth__nth__elem,axiom,
    ! [Ys: list_nat,Xs: list_list_nat,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( member_list_nat @ ( nth_list_nat @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ Ys ) @ I2 ) @ J3 ) @ ( set_list_nat2 @ Xs ) ) ) ) ) ).

% partition_by_nth_nth_elem
thf(fact_1017_partition__by__nth__nth__elem,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) @ I2 ) @ J3 ) @ ( set_Mu988262935377722401xt_a_b @ Xs ) ) ) ) ) ).

% partition_by_nth_nth_elem
thf(fact_1018_partition__by__nth__nth__elem,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( member_term_a_b @ ( nth_term_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) @ I2 ) @ J3 ) @ ( set_term_a_b2 @ Xs ) ) ) ) ) ).

% partition_by_nth_nth_elem
thf(fact_1019_partition__by__nth__nth__elem,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( member_list_term_a_b @ ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) @ I2 ) @ J3 ) @ ( set_list_term_a_b2 @ Xs ) ) ) ) ) ).

% partition_by_nth_nth_elem
thf(fact_1020_partition__by__nth__nth__elem,axiom,
    ! [Ys: list_nat,Xs: list_nat,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( member_nat @ ( nth_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) @ J3 ) @ ( set_nat2 @ Xs ) ) ) ) ) ).

% partition_by_nth_nth_elem
thf(fact_1021_partition__by__concat2,axiom,
    ! [Xs: list_term_a_b,Ys: list_list_nat] :
      ( ( multih8088080497851651732rm_a_b @ Xs @ ( concat_nat @ Ys ) )
      = ( concat_list_term_a_b
        @ ( map_na6169479277252629834rm_a_b
          @ ^ [I: nat] : ( multih8088080497851651732rm_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_concat2
thf(fact_1022_partition__by__concat2,axiom,
    ! [Xs: list_nat,Ys: list_list_nat] :
      ( ( multih8544690682651757648by_nat @ Xs @ ( concat_nat @ Ys ) )
      = ( concat_list_nat
        @ ( map_na6205611841492582150st_nat
          @ ^ [I: nat] : ( multih8544690682651757648by_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ ( map_list_nat_nat @ groups4561878855575611511st_nat @ Ys ) ) @ I ) @ ( nth_list_nat @ Ys @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s3023201423986296836st_nat @ Ys ) ) ) ) ) ).

% partition_by_concat2
thf(fact_1023_partition__by__nth__nth_I1_J,axiom,
    ! [Ys: list_nat,Xs: list_list_nat,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s3023201423986296836st_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ( nth_list_nat @ ( nth_list_list_nat @ ( multih5630945896903731040st_nat @ Xs @ Ys ) @ I2 ) @ J3 )
            = ( nth_list_nat @ Xs @ ( multih7279076602905066526by_idx @ ( size_s3023201423986296836st_nat @ Xs ) @ Ys @ I2 @ J3 ) ) ) ) ) ) ).

% partition_by_nth_nth(1)
thf(fact_1024_partition__by__nth__nth_I1_J,axiom,
    ! [Ys: list_nat,Xs: list_M4548637025958506770xt_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s6467537827362597246xt_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ( nth_Mu4187783769245775891xt_a_b @ ( nth_li6526745125630915225xt_a_b @ ( multih8997278079985217164xt_a_b @ Xs @ Ys ) @ I2 ) @ J3 )
            = ( nth_Mu4187783769245775891xt_a_b @ Xs @ ( multih7279076602905066526by_idx @ ( size_s6467537827362597246xt_a_b @ Xs ) @ Ys @ I2 @ J3 ) ) ) ) ) ) ).

% partition_by_nth_nth(1)
thf(fact_1025_partition__by__nth__nth_I1_J,axiom,
    ! [Ys: list_nat,Xs: list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ( nth_term_a_b @ ( nth_list_term_a_b @ ( multih8088080497851651732rm_a_b @ Xs @ Ys ) @ I2 ) @ J3 )
            = ( nth_term_a_b @ Xs @ ( multih7279076602905066526by_idx @ ( size_s8906293707977694520rm_a_b @ Xs ) @ Ys @ I2 @ J3 ) ) ) ) ) ) ).

% partition_by_nth_nth(1)
thf(fact_1026_partition__by__nth__nth_I1_J,axiom,
    ! [Ys: list_nat,Xs: list_list_term_a_b,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_s877380706853472072rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ( nth_list_term_a_b @ ( nth_li1777312294383961325rm_a_b @ ( multih776841144196503844rm_a_b @ Xs @ Ys ) @ I2 ) @ J3 )
            = ( nth_list_term_a_b @ Xs @ ( multih7279076602905066526by_idx @ ( size_s877380706853472072rm_a_b @ Xs ) @ Ys @ I2 @ J3 ) ) ) ) ) ) ).

% partition_by_nth_nth(1)
thf(fact_1027_partition__by__nth__nth_I1_J,axiom,
    ! [Ys: list_nat,Xs: list_nat,I2: nat,J3: nat] :
      ( ( ( groups4561878855575611511st_nat @ Ys )
        = ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys ) )
       => ( ( ord_less_nat @ J3 @ ( nth_nat @ Ys @ I2 ) )
         => ( ( nth_nat @ ( nth_list_nat @ ( multih8544690682651757648by_nat @ Xs @ Ys ) @ I2 ) @ J3 )
            = ( nth_nat @ Xs @ ( multih7279076602905066526by_idx @ ( size_size_list_nat @ Xs ) @ Ys @ I2 @ J3 ) ) ) ) ) ) ).

% partition_by_nth_nth(1)
thf(fact_1028_monoid__add__class_Osum__list__0,axiom,
    ! [Xs: list_nat] :
      ( ( groups4561878855575611511st_nat
        @ ( map_nat_nat
          @ ^ [X: nat] : zero_zero_nat
          @ Xs ) )
      = zero_zero_nat ) ).

% monoid_add_class.sum_list_0
thf(fact_1029_sum__list__eq__0__iff,axiom,
    ! [Ns: list_nat] :
      ( ( ( groups4561878855575611511st_nat @ Ns )
        = zero_zero_nat )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ Ns ) )
           => ( X = zero_zero_nat ) ) ) ) ).

% sum_list_eq_0_iff
thf(fact_1030_elem__le__sum__list,axiom,
    ! [K: nat,Ns: list_nat] :
      ( ( ord_less_nat @ K @ ( size_size_list_nat @ Ns ) )
     => ( ord_less_eq_nat @ ( nth_nat @ Ns @ K ) @ ( groups4561878855575611511st_nat @ Ns ) ) ) ).

% elem_le_sum_list
thf(fact_1031_sum__list__mono2,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ord_less_eq_nat @ ( nth_nat @ Xs @ I3 ) @ ( nth_nat @ Ys @ I3 ) ) )
       => ( ord_less_eq_nat @ ( groups4561878855575611511st_nat @ Xs ) @ ( groups4561878855575611511st_nat @ Ys ) ) ) ) ).

% sum_list_mono2
thf(fact_1032_member__le__sum__list,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
     => ( ord_less_eq_nat @ X2 @ ( groups4561878855575611511st_nat @ Xs ) ) ) ).

% member_le_sum_list
thf(fact_1033_sum__list__nonpos,axiom,
    ! [Xs: list_nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ord_less_eq_nat @ X5 @ zero_zero_nat ) )
     => ( ord_less_eq_nat @ ( groups4561878855575611511st_nat @ Xs ) @ zero_zero_nat ) ) ).

% sum_list_nonpos
thf(fact_1034_sum__list__nonneg__eq__0__iff,axiom,
    ! [Xs: list_nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ord_less_eq_nat @ zero_zero_nat @ X5 ) )
     => ( ( ( groups4561878855575611511st_nat @ Xs )
          = zero_zero_nat )
        = ( ! [X: nat] :
              ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
             => ( X = zero_zero_nat ) ) ) ) ) ).

% sum_list_nonneg_eq_0_iff
thf(fact_1035_Groups__List_Osum__list__nonneg,axiom,
    ! [Xs: list_nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ord_less_eq_nat @ zero_zero_nat @ X5 ) )
     => ( ord_less_eq_nat @ zero_zero_nat @ ( groups4561878855575611511st_nat @ Xs ) ) ) ).

% Groups_List.sum_list_nonneg
thf(fact_1036_sum__list__mono,axiom,
    ! [Xs: list_nat,F: nat > nat,G: nat > nat] :
      ( ! [X5: nat] :
          ( ( member_nat @ X5 @ ( set_nat2 @ Xs ) )
         => ( ord_less_eq_nat @ ( F @ X5 ) @ ( G @ X5 ) ) )
     => ( ord_less_eq_nat @ ( groups4561878855575611511st_nat @ ( map_nat_nat @ F @ Xs ) ) @ ( groups4561878855575611511st_nat @ ( map_nat_nat @ G @ Xs ) ) ) ) ).

% sum_list_mono
thf(fact_1037_sum__list__mono,axiom,
    ! [Xs: list_M4548637025958506770xt_a_b,F: multihole_mctxt_a_b > nat,G: multihole_mctxt_a_b > nat] :
      ( ! [X5: multihole_mctxt_a_b] :
          ( ( member4915921492409311157xt_a_b @ X5 @ ( set_Mu988262935377722401xt_a_b @ Xs ) )
         => ( ord_less_eq_nat @ ( F @ X5 ) @ ( G @ X5 ) ) )
     => ( ord_less_eq_nat @ ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ F @ Xs ) ) @ ( groups4561878855575611511st_nat @ ( map_Mu2779885106702152216_b_nat @ G @ Xs ) ) ) ) ).

% sum_list_mono
thf(fact_1038_length__concat,axiom,
    ! [Xss: list_l2176991360922390168xt_a_b] :
      ( ( size_s6467537827362597246xt_a_b @ ( concat7497117511338392013xt_a_b @ Xss ) )
      = ( groups4561878855575611511st_nat @ ( map_li1058689816389892766_b_nat @ size_s6467537827362597246xt_a_b @ Xss ) ) ) ).

% length_concat
thf(fact_1039_length__concat,axiom,
    ! [Xss: list_list_term_a_b] :
      ( ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xss ) )
      = ( groups4561878855575611511st_nat @ ( map_li2434073387748744506_b_nat @ size_s8906293707977694520rm_a_b @ Xss ) ) ) ).

% length_concat
thf(fact_1040_length__concat,axiom,
    ! [Xss: list_l5544744485257374276rm_a_b] :
      ( ( size_s877380706853472072rm_a_b @ ( concat_list_term_a_b @ Xss ) )
      = ( groups4561878855575611511st_nat @ ( map_li4635931238991055562_b_nat @ size_s877380706853472072rm_a_b @ Xss ) ) ) ).

% length_concat
thf(fact_1041_length__concat,axiom,
    ! [Xss: list_list_nat] :
      ( ( size_size_list_nat @ ( concat_nat @ Xss ) )
      = ( groups4561878855575611511st_nat @ ( map_list_nat_nat @ size_size_list_nat @ Xss ) ) ) ).

% length_concat
thf(fact_1042_varposs__list__nth,axiom,
    ! [I2: nat,F: a,Ts: list_term_a_b,K: nat,J3: nat] :
      ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ ( varposs_list_a_b @ ( fun_a_b @ F @ Ts ) ) ) )
     => ( ( ( concat5120376260311099874st_nat @ ( product_Pair_nat_nat @ zero_zero_nat @ I2 )
            @ ( map_Pr1863336542361719921st_nat
              @ ( produc2746199311546328450st_nat
                @ ^ [X: nat,Y: term_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( varposs_list_a_b @ Y ) ) )
              @ ( zip_nat_term_a_b @ ( upt @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ts ) ) @ Ts ) ) )
          = ( product_Pair_nat_nat @ K @ J3 ) )
       => ( ( ord_less_nat @ K @ ( size_s8906293707977694520rm_a_b @ Ts ) )
          & ( ord_less_nat @ J3 @ ( size_s3023201423986296836st_nat @ ( varposs_list_a_b @ ( nth_term_a_b @ Ts @ K ) ) ) )
          & ( ( nth_list_nat @ ( varposs_list_a_b @ ( fun_a_b @ F @ Ts ) ) @ I2 )
            = ( cons_nat @ K @ ( nth_list_nat @ ( nth_list_list_nat @ ( map_te6815174839403216586st_nat @ varposs_list_a_b @ Ts ) @ K ) @ J3 ) ) )
          & ( I2
            = ( plus_plus_nat @ ( groups4561878855575611511st_nat @ ( map_li3275209578935457798at_nat @ size_s3023201423986296836st_nat @ ( map_te6815174839403216586st_nat @ varposs_list_a_b @ ( take_term_a_b @ K @ Ts ) ) ) ) @ J3 ) ) ) ) ) ).

% varposs_list_nth
thf(fact_1043_listset,axiom,
    ( listset_list_nat
    = ( ^ [Xs2: list_set_list_nat] :
          ( collec5989764272469232197st_nat
          @ ^ [Ys2: list_list_nat] :
              ( ( ( size_s3023201423986296836st_nat @ Ys2 )
                = ( size_s40095690673326906st_nat @ Xs2 ) )
              & ! [I: nat] :
                  ( ( ord_less_nat @ I @ ( size_s40095690673326906st_nat @ Xs2 ) )
                 => ( member_list_nat @ ( nth_list_nat @ Ys2 @ I ) @ ( nth_set_list_nat @ Xs2 @ I ) ) ) ) ) ) ) ).

% listset
thf(fact_1044_listset,axiom,
    ( listse8466990409332617329xt_a_b
    = ( ^ [Xs2: list_s6576866909217585906xt_a_b] :
          ( collec1865976362583014269xt_a_b
          @ ^ [Ys2: list_M4548637025958506770xt_a_b] :
              ( ( ( size_s6467537827362597246xt_a_b @ Ys2 )
                = ( size_s3395177621122646878xt_a_b @ Xs2 ) )
              & ! [I: nat] :
                  ( ( ord_less_nat @ I @ ( size_s3395177621122646878xt_a_b @ Xs2 ) )
                 => ( member4915921492409311157xt_a_b @ ( nth_Mu4187783769245775891xt_a_b @ Ys2 @ I ) @ ( nth_se8176043857954472435xt_a_b @ Xs2 @ I ) ) ) ) ) ) ) ).

% listset
thf(fact_1045_listset,axiom,
    ( listset_term_a_b
    = ( ^ [Xs2: list_set_term_a_b] :
          ( collec2649484519605854073rm_a_b
          @ ^ [Ys2: list_term_a_b] :
              ( ( ( size_s8906293707977694520rm_a_b @ Ys2 )
                = ( size_s3891898382211499630rm_a_b @ Xs2 ) )
              & ! [I: nat] :
                  ( ( ord_less_nat @ I @ ( size_s3891898382211499630rm_a_b @ Xs2 ) )
                 => ( member_term_a_b @ ( nth_term_a_b @ Ys2 @ I ) @ ( nth_set_term_a_b @ Xs2 @ I ) ) ) ) ) ) ) ).

% listset
thf(fact_1046_listset,axiom,
    ( listse4995257020514275455rm_a_b
    = ( ^ [Xs2: list_s5999687805303231594rm_a_b] :
          ( collec5566874814092408073rm_a_b
          @ ^ [Ys2: list_list_term_a_b] :
              ( ( ( size_s877380706853472072rm_a_b @ Ys2 )
                = ( size_s6049900052119693054rm_a_b @ Xs2 ) )
              & ! [I: nat] :
                  ( ( ord_less_nat @ I @ ( size_s6049900052119693054rm_a_b @ Xs2 ) )
                 => ( member_list_term_a_b @ ( nth_list_term_a_b @ Ys2 @ I ) @ ( nth_se3970861680893152275rm_a_b @ Xs2 @ I ) ) ) ) ) ) ) ).

% listset
thf(fact_1047_listset,axiom,
    ( listset_nat
    = ( ^ [Xs2: list_set_nat] :
          ( collect_list_nat
          @ ^ [Ys2: list_nat] :
              ( ( ( size_size_list_nat @ Ys2 )
                = ( size_s3254054031482475050et_nat @ Xs2 ) )
              & ! [I: nat] :
                  ( ( ord_less_nat @ I @ ( size_s3254054031482475050et_nat @ Xs2 ) )
                 => ( member_nat @ ( nth_nat @ Ys2 @ I ) @ ( nth_set_nat @ Xs2 @ I ) ) ) ) ) ) ) ).

% listset
thf(fact_1048_less__eq__set__def,axiom,
    ( ord_le4185538551145870476xt_a_b
    = ( ^ [A6: set_Mu3903433398966807788xt_a_b,B6: set_Mu3903433398966807788xt_a_b] :
          ( ord_le7891048359022256977_a_b_o
          @ ^ [X: multihole_mctxt_a_b] : ( member4915921492409311157xt_a_b @ X @ A6 )
          @ ^ [X: multihole_mctxt_a_b] : ( member4915921492409311157xt_a_b @ X @ B6 ) ) ) ) ).

% less_eq_set_def
thf(fact_1049_subsetI,axiom,
    ! [A2: set_Mu3903433398966807788xt_a_b,B4: set_Mu3903433398966807788xt_a_b] :
      ( ! [X5: multihole_mctxt_a_b] :
          ( ( member4915921492409311157xt_a_b @ X5 @ A2 )
         => ( member4915921492409311157xt_a_b @ X5 @ B4 ) )
     => ( ord_le4185538551145870476xt_a_b @ A2 @ B4 ) ) ).

% subsetI
thf(fact_1050_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_1051_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_1052_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_1053_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_1054_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_1055_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_1056_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_1057_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_1058_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_1059_add__eq__0__iff__both__eq__0,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( plus_plus_nat @ X2 @ Y2 )
        = zero_zero_nat )
      = ( ( X2 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_1060_zero__eq__add__iff__both__eq__0,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X2 @ Y2 ) )
      = ( ( X2 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_1061_add__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add_0
thf(fact_1062_add__less__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_1063_add__less__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_1064_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_1065_add__diff__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_1066_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_1067_add__diff__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_1068_add__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_1069_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_1070_nat__add__left__cancel__less,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_1071_nat__add__left__cancel__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_1072_diff__diff__left,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I2 @ J3 ) @ K )
      = ( minus_minus_nat @ I2 @ ( plus_plus_nat @ J3 @ K ) ) ) ).

% diff_diff_left
thf(fact_1073_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_1074_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_1075_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_1076_le__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel2
thf(fact_1077_add__less__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel1
thf(fact_1078_add__less__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel2
thf(fact_1079_less__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel1
thf(fact_1080_less__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel2
thf(fact_1081_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_1082_add__gr__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_1083_sum__list_OCons,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( groups4561878855575611511st_nat @ ( cons_nat @ X2 @ Xs ) )
      = ( plus_plus_nat @ X2 @ ( groups4561878855575611511st_nat @ Xs ) ) ) ).

% sum_list.Cons
thf(fact_1084_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( plus_plus_nat @ I2 @ ( minus_minus_nat @ J3 @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I2 @ J3 ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1085_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J3 @ K ) @ I2 )
        = ( minus_minus_nat @ ( plus_plus_nat @ J3 @ I2 ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1086_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( minus_minus_nat @ I2 @ ( minus_minus_nat @ J3 @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I2 @ K ) @ J3 ) ) ) ).

% Nat.diff_diff_right
thf(fact_1087_take__all__iff,axiom,
    ! [N: nat,Xs: list_M4548637025958506770xt_a_b] :
      ( ( ( take_M4740473043981999098xt_a_b @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s6467537827362597246xt_a_b @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_1088_take__all__iff,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( ( take_term_a_b @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_1089_take__all__iff,axiom,
    ! [N: nat,Xs: list_list_term_a_b] :
      ( ( ( take_list_term_a_b @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s877380706853472072rm_a_b @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_1090_take__all__iff,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ( take_nat @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_1091_take__all,axiom,
    ! [Xs: list_list_term_a_b,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s877380706853472072rm_a_b @ Xs ) @ N )
     => ( ( take_list_term_a_b @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_1092_take__all,axiom,
    ! [Xs: list_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ N )
     => ( ( take_nat @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_1093_nth__upt,axiom,
    ! [I2: nat,K: nat,J3: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ J3 )
     => ( ( nth_nat @ ( upt @ I2 @ J3 ) @ K )
        = ( plus_plus_nat @ I2 @ K ) ) ) ).

% nth_upt
thf(fact_1094_add__leE,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE
thf(fact_1095_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_1096_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_1097_add__leD1,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_1098_add__leD2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_1099_le__Suc__ex,axiom,
    ! [K: nat,L: nat] :
      ( ( ord_less_eq_nat @ K @ L )
     => ? [N2: nat] :
          ( L
          = ( plus_plus_nat @ K @ N2 ) ) ) ).

% le_Suc_ex
thf(fact_1100_add__le__mono,axiom,
    ! [I2: nat,J3: nat,K: nat,L: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( ord_less_eq_nat @ K @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J3 @ L ) ) ) ) ).

% add_le_mono
thf(fact_1101_add__le__mono1,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J3 @ K ) ) ) ).

% add_le_mono1
thf(fact_1102_trans__le__add1,axiom,
    ! [I2: nat,J3: nat,M: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ord_less_eq_nat @ I2 @ ( plus_plus_nat @ J3 @ M ) ) ) ).

% trans_le_add1
thf(fact_1103_trans__le__add2,axiom,
    ! [I2: nat,J3: nat,M: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ord_less_eq_nat @ I2 @ ( plus_plus_nat @ M @ J3 ) ) ) ).

% trans_le_add2
thf(fact_1104_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M4: nat,N3: nat] :
        ? [K5: nat] :
          ( N3
          = ( plus_plus_nat @ M4 @ K5 ) ) ) ) ).

% nat_le_iff_add
thf(fact_1105_less__add__eq__less,axiom,
    ! [K: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_1106_trans__less__add2,axiom,
    ! [I2: nat,J3: nat,M: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ord_less_nat @ I2 @ ( plus_plus_nat @ M @ J3 ) ) ) ).

% trans_less_add2
thf(fact_1107_trans__less__add1,axiom,
    ! [I2: nat,J3: nat,M: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ord_less_nat @ I2 @ ( plus_plus_nat @ J3 @ M ) ) ) ).

% trans_less_add1
thf(fact_1108_add__less__mono1,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J3 @ K ) ) ) ).

% add_less_mono1
thf(fact_1109_not__add__less2,axiom,
    ! [J3: nat,I2: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J3 @ I2 ) @ I2 ) ).

% not_add_less2
thf(fact_1110_not__add__less1,axiom,
    ! [I2: nat,J3: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I2 @ J3 ) @ I2 ) ).

% not_add_less1
thf(fact_1111_add__less__mono,axiom,
    ! [I2: nat,J3: nat,K: nat,L: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ( ord_less_nat @ K @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J3 @ L ) ) ) ) ).

% add_less_mono
thf(fact_1112_add__lessD1,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I2 @ J3 ) @ K )
     => ( ord_less_nat @ I2 @ K ) ) ).

% add_lessD1
thf(fact_1113_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_1114_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_1115_diff__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_1116_Nat_Odiff__cancel,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_1117_add__eq__self__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = M )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_1118_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_1119_less__imp__add__positive,axiom,
    ! [I2: nat,J3: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I2 @ K3 )
            = J3 ) ) ) ).

% less_imp_add_positive
thf(fact_1120_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K: nat] :
      ( ! [M2: nat,N2: nat] :
          ( ( ord_less_nat @ M2 @ N2 )
         => ( ord_less_nat @ ( F @ M2 ) @ ( F @ N2 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K ) @ ( F @ ( plus_plus_nat @ M @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_1121_diff__add__0,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_1122_less__diff__conv,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_nat @ I2 @ ( minus_minus_nat @ J3 @ K ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ J3 ) ) ).

% less_diff_conv
thf(fact_1123_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_1124_le__diff__conv,axiom,
    ! [J3: nat,K: nat,I2: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J3 @ K ) @ I2 )
      = ( ord_less_eq_nat @ J3 @ ( plus_plus_nat @ I2 @ K ) ) ) ).

% le_diff_conv
thf(fact_1125_Nat_Ole__diff__conv2,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( ord_less_eq_nat @ I2 @ ( minus_minus_nat @ J3 @ K ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I2 @ K ) @ J3 ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1126_Nat_Odiff__add__assoc,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I2 @ J3 ) @ K )
        = ( plus_plus_nat @ I2 @ ( minus_minus_nat @ J3 @ K ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1127_Nat_Odiff__add__assoc2,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J3 @ I2 ) @ K )
        = ( plus_plus_nat @ ( minus_minus_nat @ J3 @ K ) @ I2 ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1128_Nat_Ole__imp__diff__is__add,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( ( minus_minus_nat @ J3 @ I2 )
          = K )
        = ( J3
          = ( plus_plus_nat @ K @ I2 ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1129_map__add__upt,axiom,
    ! [N: nat,M: nat] :
      ( ( map_nat_nat
        @ ^ [I: nat] : ( plus_plus_nat @ I @ N )
        @ ( upt @ zero_zero_nat @ M ) )
      = ( upt @ N @ ( plus_plus_nat @ M @ N ) ) ) ).

% map_add_upt
thf(fact_1130_nat__diff__split__asm,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P2 @ zero_zero_nat ) )
            | ? [D4: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D4 ) )
                & ~ ( P2 @ D4 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_1131_nat__diff__split,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P2 @ zero_zero_nat ) )
        & ! [D4: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D4 ) )
           => ( P2 @ D4 ) ) ) ) ).

% nat_diff_split
thf(fact_1132_less__diff__conv2,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J3 @ K ) @ I2 )
        = ( ord_less_nat @ J3 @ ( plus_plus_nat @ I2 @ K ) ) ) ) ).

% less_diff_conv2
thf(fact_1133_take__upt,axiom,
    ! [I2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I2 @ M ) @ N )
     => ( ( take_nat @ M @ ( upt @ I2 @ N ) )
        = ( upt @ I2 @ ( plus_plus_nat @ I2 @ M ) ) ) ) ).

% take_upt
thf(fact_1134_drop__upt,axiom,
    ! [M: nat,I2: nat,J3: nat] :
      ( ( drop_nat @ M @ ( upt @ I2 @ J3 ) )
      = ( upt @ ( plus_plus_nat @ I2 @ M ) @ J3 ) ) ).

% drop_upt
thf(fact_1135_sum__list__take__eq,axiom,
    ! [K: nat,I2: nat,Xs: list_nat] :
      ( ( ord_less_nat @ K @ I2 )
     => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
       => ( ( groups4561878855575611511st_nat @ ( take_nat @ I2 @ Xs ) )
          = ( plus_plus_nat @ ( plus_plus_nat @ ( groups4561878855575611511st_nat @ ( take_nat @ K @ Xs ) ) @ ( nth_nat @ Xs @ K ) ) @ ( groups4561878855575611511st_nat @ ( take_nat @ ( minus_minus_nat @ I2 @ ( suc @ K ) ) @ ( drop_nat @ ( suc @ K ) @ Xs ) ) ) ) ) ) ) ).

% sum_list_take_eq
thf(fact_1136_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_1137_nat_Oinject,axiom,
    ! [X23: nat,Y23: nat] :
      ( ( ( suc @ X23 )
        = ( suc @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% nat.inject
thf(fact_1138_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_1139_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_1140_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_less_eq
thf(fact_1141_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_1142_add__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ M @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc_right
thf(fact_1143_diff__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_Suc_Suc
thf(fact_1144_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_1145_Least__eq__0,axiom,
    ! [P2: nat > $o] :
      ( ( P2 @ zero_zero_nat )
     => ( ( ord_Least_nat @ P2 )
        = zero_zero_nat ) ) ).

% Least_eq_0
thf(fact_1146_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1147_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1148_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_1149_diff__Suc__diff__eq1,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( minus_minus_nat @ I2 @ ( suc @ ( minus_minus_nat @ J3 @ K ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I2 @ K ) @ ( suc @ J3 ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1150_diff__Suc__diff__eq2,axiom,
    ! [K: nat,J3: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K @ J3 )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J3 @ K ) ) @ I2 )
        = ( minus_minus_nat @ ( suc @ J3 ) @ ( plus_plus_nat @ K @ I2 ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1151_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_1152_Nat_OlessE,axiom,
    ! [I2: nat,K: nat] :
      ( ( ord_less_nat @ I2 @ K )
     => ( ( K
         != ( suc @ I2 ) )
       => ~ ! [J: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( K
               != ( suc @ J ) ) ) ) ) ).

% Nat.lessE
thf(fact_1153_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_1154_Suc__lessE,axiom,
    ! [I2: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I2 ) @ K )
     => ~ ! [J: nat] :
            ( ( ord_less_nat @ I2 @ J )
           => ( K
             != ( suc @ J ) ) ) ) ).

% Suc_lessE
thf(fact_1155_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_1156_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_1157_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_1158_Ex__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( suc @ N ) )
            & ( P2 @ I ) ) )
      = ( ( P2 @ N )
        | ? [I: nat] :
            ( ( ord_less_nat @ I @ N )
            & ( P2 @ I ) ) ) ) ).

% Ex_less_Suc
thf(fact_1159_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_1160_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_1161_All__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( suc @ N ) )
           => ( P2 @ I ) ) )
      = ( ( P2 @ N )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ N )
           => ( P2 @ I ) ) ) ) ).

% All_less_Suc
thf(fact_1162_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M5: nat] :
            ( ( M
              = ( suc @ M5 ) )
            & ( ord_less_nat @ N @ M5 ) ) ) ) ).

% Suc_less_eq2
thf(fact_1163_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_1164_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_1165_less__trans__Suc,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ( ord_less_nat @ J3 @ K )
       => ( ord_less_nat @ ( suc @ I2 ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_1166_less__Suc__induct,axiom,
    ! [I2: nat,J3: nat,P2: nat > nat > $o] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ! [I3: nat] : ( P2 @ I3 @ ( suc @ I3 ) )
       => ( ! [I3: nat,J: nat,K3: nat] :
              ( ( ord_less_nat @ I3 @ J )
             => ( ( ord_less_nat @ J @ K3 )
               => ( ( P2 @ I3 @ J )
                 => ( ( P2 @ J @ K3 )
                   => ( P2 @ I3 @ K3 ) ) ) ) )
         => ( P2 @ I2 @ J3 ) ) ) ) ).

% less_Suc_induct
thf(fact_1167_strict__inc__induct,axiom,
    ! [I2: nat,J3: nat,P2: nat > $o] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ! [I3: nat] :
            ( ( J3
              = ( suc @ I3 ) )
           => ( P2 @ I3 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ J3 )
             => ( ( P2 @ ( suc @ I3 ) )
               => ( P2 @ I3 ) ) )
         => ( P2 @ I2 ) ) ) ) ).

% strict_inc_induct
thf(fact_1168_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_1169_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M4: nat] :
            ( N
            = ( suc @ M4 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1170_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M2: nat] :
          ( N
          = ( suc @ M2 ) ) ) ).

% gr0_implies_Suc
thf(fact_1171_ex__Suc__conv,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I: nat] :
            ( ( ord_less_nat @ I @ ( suc @ N ) )
            & ( P2 @ I ) ) )
      = ( ( P2 @ zero_zero_nat )
        | ? [I: nat] :
            ( ( ord_less_nat @ I @ N )
            & ( P2 @ ( suc @ I ) ) ) ) ) ).

% ex_Suc_conv
thf(fact_1172_all__Suc__conv,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( suc @ N ) )
           => ( P2 @ I ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ! [I: nat] :
            ( ( ord_less_nat @ I @ N )
           => ( P2 @ ( suc @ I ) ) ) ) ) ).

% all_Suc_conv
thf(fact_1173_all__less__two,axiom,
    ! [P2: nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ ( suc @ ( suc @ zero_zero_nat ) ) )
           => ( P2 @ I ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ( P2 @ ( suc @ zero_zero_nat ) ) ) ) ).

% all_less_two
thf(fact_1174_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J4: nat] :
            ( ( M
              = ( suc @ J4 ) )
            & ( ord_less_nat @ J4 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1175_nat_Odistinct_I1_J,axiom,
    ! [X23: nat] :
      ( zero_zero_nat
     != ( suc @ X23 ) ) ).

% nat.distinct(1)
thf(fact_1176_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_1177_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_1178_nat_OdiscI,axiom,
    ! [Nat: nat,X23: nat] :
      ( ( Nat
        = ( suc @ X23 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_1179_old_Onat_Oexhaust,axiom,
    ! [Y2: nat] :
      ( ( Y2 != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y2
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_1180_nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( P2 @ N2 )
           => ( P2 @ ( suc @ N2 ) ) )
       => ( P2 @ N ) ) ) ).

% nat_induct
thf(fact_1181_diff__induct,axiom,
    ! [P2: nat > nat > $o,M: nat,N: nat] :
      ( ! [X5: nat] : ( P2 @ X5 @ zero_zero_nat )
     => ( ! [Y4: nat] : ( P2 @ zero_zero_nat @ ( suc @ Y4 ) )
       => ( ! [X5: nat,Y4: nat] :
              ( ( P2 @ X5 @ Y4 )
             => ( P2 @ ( suc @ X5 ) @ ( suc @ Y4 ) ) )
         => ( P2 @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_1182_zero__induct,axiom,
    ! [P2: nat > $o,K: nat] :
      ( ( P2 @ K )
     => ( ! [N2: nat] :
            ( ( P2 @ ( suc @ N2 ) )
           => ( P2 @ N2 ) )
       => ( P2 @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_1183_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_1184_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_1185_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_1186_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M2: nat] :
          ( N
          = ( suc @ M2 ) ) ) ).

% not0_implies_Suc
thf(fact_1187_Least__Suc,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ( ( ord_Least_nat @ P2 )
          = ( suc
            @ ( ord_Least_nat
              @ ^ [M4: nat] : ( P2 @ ( suc @ M4 ) ) ) ) ) ) ) ).

% Least_Suc
thf(fact_1188_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_1189_Suc__inject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
     => ( X2 = Y2 ) ) ).

% Suc_inject
thf(fact_1190_Least__Suc2,axiom,
    ! [P2: nat > $o,N: nat,Q: nat > $o,M: nat] :
      ( ( P2 @ N )
     => ( ( Q @ M )
       => ( ~ ( P2 @ zero_zero_nat )
         => ( ! [K3: nat] :
                ( ( P2 @ ( suc @ K3 ) )
                = ( Q @ K3 ) )
           => ( ( ord_Least_nat @ P2 )
              = ( suc @ ( ord_Least_nat @ Q ) ) ) ) ) ) ) ).

% Least_Suc2
thf(fact_1191_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X5: nat] : ( R @ X5 @ X5 )
       => ( ! [X5: nat,Y4: nat,Z3: nat] :
              ( ( R @ X5 @ Y4 )
             => ( ( R @ Y4 @ Z3 )
               => ( R @ X5 @ Z3 ) ) )
         => ( ! [N2: nat] : ( R @ N2 @ ( suc @ N2 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_1192_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P2 @ M )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ M @ N2 )
             => ( ( P2 @ N2 )
               => ( P2 @ ( suc @ N2 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_1193_full__nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M3 ) @ N2 )
             => ( P2 @ M3 ) )
         => ( P2 @ N2 ) )
     => ( P2 @ N ) ) ).

% full_nat_induct
thf(fact_1194_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_1195_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_1196_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_1197_Suc__le__D,axiom,
    ! [N: nat,M6: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M6 )
     => ? [M2: nat] :
          ( M6
          = ( suc @ M2 ) ) ) ).

% Suc_le_D
thf(fact_1198_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_1199_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_1200_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_1201_zero__induct__lemma,axiom,
    ! [P2: nat > $o,K: nat,I2: nat] :
      ( ( P2 @ K )
     => ( ! [N2: nat] :
            ( ( P2 @ ( suc @ N2 ) )
           => ( P2 @ N2 ) )
       => ( P2 @ ( minus_minus_nat @ K @ I2 ) ) ) ) ).

% zero_induct_lemma
thf(fact_1202_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_1203_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_1204_nat__arith_Osuc1,axiom,
    ! [A2: nat,K: nat,A: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A2 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_1205_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1206_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1207_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_1208_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M4: nat,N3: nat] :
        ? [K5: nat] :
          ( N3
          = ( suc @ ( plus_plus_nat @ M4 @ K5 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_1209_less__add__Suc2,axiom,
    ! [I2: nat,M: nat] : ( ord_less_nat @ I2 @ ( suc @ ( plus_plus_nat @ M @ I2 ) ) ) ).

% less_add_Suc2
thf(fact_1210_less__add__Suc1,axiom,
    ! [I2: nat,M: nat] : ( ord_less_nat @ I2 @ ( suc @ ( plus_plus_nat @ I2 @ M ) ) ) ).

% less_add_Suc1
thf(fact_1211_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q3: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q3 ) ) ) ) ).

% less_natE
thf(fact_1212_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_1213_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_1214_dec__induct,axiom,
    ! [I2: nat,J3: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( P2 @ I2 )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N2 )
             => ( ( ord_less_nat @ N2 @ J3 )
               => ( ( P2 @ N2 )
                 => ( P2 @ ( suc @ N2 ) ) ) ) )
         => ( P2 @ J3 ) ) ) ) ).

% dec_induct
thf(fact_1215_inc__induct,axiom,
    ! [I2: nat,J3: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( P2 @ J3 )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N2 )
             => ( ( ord_less_nat @ N2 @ J3 )
               => ( ( P2 @ ( suc @ N2 ) )
                 => ( P2 @ N2 ) ) ) )
         => ( P2 @ I2 ) ) ) ) ).

% inc_induct
thf(fact_1216_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_1217_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_1218_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_1219_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N3: nat] : ( ord_less_eq_nat @ ( suc @ N3 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_1220_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_1221_add__is__1,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_1222_one__is__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M @ N ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_1223_upt__conv__Cons__Cons,axiom,
    ! [M: nat,N: nat,Ns: list_nat,Q2: nat] :
      ( ( ( cons_nat @ M @ ( cons_nat @ N @ Ns ) )
        = ( upt @ M @ Q2 ) )
      = ( ( cons_nat @ N @ Ns )
        = ( upt @ ( suc @ M ) @ Q2 ) ) ) ).

% upt_conv_Cons_Cons
thf(fact_1224_map__Suc__upt,axiom,
    ! [M: nat,N: nat] :
      ( ( map_nat_nat @ suc @ ( upt @ M @ N ) )
      = ( upt @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% map_Suc_upt
thf(fact_1225_upt__add__eq__append,axiom,
    ! [I2: nat,J3: nat,K: nat] :
      ( ( ord_less_eq_nat @ I2 @ J3 )
     => ( ( upt @ I2 @ ( plus_plus_nat @ J3 @ K ) )
        = ( append_nat @ ( upt @ I2 @ J3 ) @ ( upt @ J3 @ ( plus_plus_nat @ J3 @ K ) ) ) ) ) ).

% upt_add_eq_append
thf(fact_1226_ex__least__nat__less,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ ( suc @ K3 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1227_diff__Suc__less,axiom,
    ! [N: nat,I2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I2 ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_1228_upt__conv__Cons,axiom,
    ! [I2: nat,J3: nat] :
      ( ( ord_less_nat @ I2 @ J3 )
     => ( ( upt @ I2 @ J3 )
        = ( cons_nat @ I2 @ ( upt @ ( suc @ I2 ) @ J3 ) ) ) ) ).

% upt_conv_Cons
thf(fact_1229_map__decr__upt,axiom,
    ! [M: nat,N: nat] :
      ( ( map_nat_nat
        @ ^ [N3: nat] : ( minus_minus_nat @ N3 @ ( suc @ zero_zero_nat ) )
        @ ( upt @ ( suc @ M ) @ ( suc @ N ) ) )
      = ( upt @ M @ N ) ) ).

% map_decr_upt
thf(fact_1230_sum__list__1__E,axiom,
    ! [Xs: list_nat] :
      ( ( ( groups4561878855575611511st_nat @ Xs )
        = ( suc @ zero_zero_nat ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( ( nth_nat @ Xs @ I3 )
                = ( suc @ zero_zero_nat ) )
             => ~ ! [J5: nat] :
                    ( ( ord_less_nat @ J5 @ ( size_size_list_nat @ Xs ) )
                   => ( ( J5 != I3 )
                     => ( ( nth_nat @ Xs @ J5 )
                        = zero_zero_nat ) ) ) ) ) ) ).

% sum_list_1_E
thf(fact_1231_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_1232_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_1233_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_1234_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_1235_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_1236_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_1237_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N3: nat] : ( plus_plus_nat @ N3 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_1238_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_1239_nat__induct__non__zero,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P2 @ one_one_nat )
       => ( ! [N2: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N2 )
             => ( ( P2 @ N2 )
               => ( P2 @ ( suc @ N2 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1240_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( minus_minus_nat @ M @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_1241_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_1242_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M4: nat,N3: nat] : ( if_nat @ ( M4 = zero_zero_nat ) @ N3 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M4 @ one_one_nat ) @ N3 ) ) ) ) ) ).

% add_eq_if
thf(fact_1243_upt__eq__Cons__conv,axiom,
    ! [I2: nat,J3: nat,X2: nat,Xs: list_nat] :
      ( ( ( upt @ I2 @ J3 )
        = ( cons_nat @ X2 @ Xs ) )
      = ( ( ord_less_nat @ I2 @ J3 )
        & ( I2 = X2 )
        & ( ( upt @ ( plus_plus_nat @ I2 @ one_one_nat ) @ J3 )
          = Xs ) ) ) ).

% upt_eq_Cons_conv
thf(fact_1244_bounded__Max__nat,axiom,
    ! [P2: nat > $o,X2: nat,M7: nat] :
      ( ( P2 @ X2 )
     => ( ! [X5: nat] :
            ( ( P2 @ X5 )
           => ( ord_less_eq_nat @ X5 @ M7 ) )
       => ~ ! [M2: nat] :
              ( ( P2 @ M2 )
             => ~ ! [X3: nat] :
                    ( ( P2 @ X3 )
                   => ( ord_less_eq_nat @ X3 @ M2 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_1245_prod__decode__aux_Ocases,axiom,
    ! [X2: product_prod_nat_nat] :
      ~ ! [K3: nat,M2: nat] :
          ( X2
         != ( product_Pair_nat_nat @ K3 @ M2 ) ) ).

% prod_decode_aux.cases
thf(fact_1246_list__decode_Ocases,axiom,
    ! [X2: nat] :
      ( ( X2 != zero_zero_nat )
     => ~ ! [N2: nat] :
            ( X2
           != ( suc @ N2 ) ) ) ).

% list_decode.cases
thf(fact_1247_inf__concat__simple_Ocases,axiom,
    ! [X2: produc8199716216217303280at_nat] :
      ( ! [F3: nat > nat] :
          ( X2
         != ( produc72220940542539688at_nat @ F3 @ zero_zero_nat ) )
     => ~ ! [F3: nat > nat,N2: nat] :
            ( X2
           != ( produc72220940542539688at_nat @ F3 @ ( suc @ N2 ) ) ) ) ).

% inf_concat_simple.cases
thf(fact_1248_adjust__idx__rev__def,axiom,
    ( missin3815256168798769645dx_rev
    = ( ^ [I: nat,J4: nat] : ( if_nat @ ( ord_less_nat @ J4 @ I ) @ J4 @ ( minus_minus_nat @ J4 @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% adjust_idx_rev_def
thf(fact_1249_inf__concat__step,axiom,
    ! [N: nat > nat,K: nat,I2: nat,J3: nat,M: nat] :
      ( ( ( inf_concat @ N @ K )
        = ( product_Pair_nat_nat @ I2 @ J3 ) )
     => ( ( ( suc @ ( plus_plus_nat @ J3 @ M ) )
          = ( N @ I2 ) )
       => ( ( inf_concat @ N @ ( plus_plus_nat @ K @ ( suc @ M ) ) )
          = ( product_Pair_nat_nat
            @ ( ord_Least_nat
              @ ^ [I5: nat] :
                  ( ( ord_less_nat @ I2 @ I5 )
                  & ( ord_less_nat @ zero_zero_nat @ ( N @ I5 ) ) ) )
            @ zero_zero_nat ) ) ) ) ).

% inf_concat_step
thf(fact_1250_inf__concat__surj,axiom,
    ! [J3: nat,N: nat > nat,I2: nat] :
      ( ( ord_less_nat @ J3 @ ( N @ I2 ) )
     => ? [K3: nat] :
          ( ( inf_concat @ N @ K3 )
          = ( product_Pair_nat_nat @ I2 @ J3 ) ) ) ).

% inf_concat_surj
thf(fact_1251_inf__concat__surj__zero,axiom,
    ! [N: nat > nat,I2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( N @ I2 ) )
     => ? [K3: nat] :
          ( ( inf_concat @ N @ K3 )
          = ( product_Pair_nat_nat @ I2 @ zero_zero_nat ) ) ) ).

% inf_concat_surj_zero
thf(fact_1252_inf__concat__add,axiom,
    ! [N: nat > nat,K: nat,I2: nat,J3: nat,M: nat] :
      ( ( ( inf_concat @ N @ K )
        = ( product_Pair_nat_nat @ I2 @ J3 ) )
     => ( ( ord_less_nat @ ( plus_plus_nat @ J3 @ M ) @ ( N @ I2 ) )
       => ( ( inf_concat @ N @ ( plus_plus_nat @ K @ M ) )
          = ( product_Pair_nat_nat @ I2 @ ( plus_plus_nat @ J3 @ M ) ) ) ) ) ).

% inf_concat_add
thf(fact_1253_inf__concat_Osimps_I1_J,axiom,
    ! [N: nat > nat] :
      ( ( inf_concat @ N @ zero_zero_nat )
      = ( product_Pair_nat_nat
        @ ( ord_Least_nat
          @ ^ [J4: nat] : ( ord_less_nat @ zero_zero_nat @ ( N @ J4 ) ) )
        @ zero_zero_nat ) ) ).

% inf_concat.simps(1)
thf(fact_1254_inf__concat_Oelims,axiom,
    ! [X2: nat > nat,Xa: nat,Y2: product_prod_nat_nat] :
      ( ( ( inf_concat @ X2 @ Xa )
        = Y2 )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y2
           != ( product_Pair_nat_nat
              @ ( ord_Least_nat
                @ ^ [J4: nat] : ( ord_less_nat @ zero_zero_nat @ ( X2 @ J4 ) ) )
              @ zero_zero_nat ) ) )
       => ~ ! [K3: nat] :
              ( ( Xa
                = ( suc @ K3 ) )
             => ( Y2
               != ( produc2626176000494625587at_nat
                  @ ^ [I: nat,J4: nat] :
                      ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J4 ) @ ( X2 @ I ) ) @ ( product_Pair_nat_nat @ I @ ( suc @ J4 ) )
                      @ ( product_Pair_nat_nat
                        @ ( ord_Least_nat
                          @ ^ [I5: nat] :
                              ( ( ord_less_nat @ I @ I5 )
                              & ( ord_less_nat @ zero_zero_nat @ ( X2 @ I5 ) ) ) )
                        @ zero_zero_nat ) )
                  @ ( inf_concat @ X2 @ K3 ) ) ) ) ) ) ).

% inf_concat.elims
thf(fact_1255_inf__concat_Osimps_I2_J,axiom,
    ! [N: nat > nat,K: nat] :
      ( ( inf_concat @ N @ ( suc @ K ) )
      = ( produc2626176000494625587at_nat
        @ ^ [I: nat,J4: nat] :
            ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J4 ) @ ( N @ I ) ) @ ( product_Pair_nat_nat @ I @ ( suc @ J4 ) )
            @ ( product_Pair_nat_nat
              @ ( ord_Least_nat
                @ ^ [I5: nat] :
                    ( ( ord_less_nat @ I @ I5 )
                    & ( ord_less_nat @ zero_zero_nat @ ( N @ I5 ) ) ) )
              @ zero_zero_nat ) )
        @ ( inf_concat @ N @ K ) ) ) ).

% inf_concat.simps(2)
thf(fact_1256_Euclidean__Division_Odivmod__nat__if,axiom,
    ( euclidean_divmod_nat
    = ( ^ [M4: nat,N3: nat] :
          ( if_Pro6206227464963214023at_nat
          @ ( ( N3 = zero_zero_nat )
            | ( ord_less_nat @ M4 @ N3 ) )
          @ ( product_Pair_nat_nat @ zero_zero_nat @ M4 )
          @ ( produc2626176000494625587at_nat
            @ ^ [Q4: nat] : ( product_Pair_nat_nat @ ( suc @ Q4 ) )
            @ ( euclidean_divmod_nat @ ( minus_minus_nat @ M4 @ N3 ) @ N3 ) ) ) ) ) ).

% Euclidean_Division.divmod_nat_if
thf(fact_1257_inf__concat__simple_Osimps_I2_J,axiom,
    ! [F: nat > nat,N: nat] :
      ( ( inf_concat_simple @ F @ ( suc @ N ) )
      = ( produc2626176000494625587at_nat
        @ ^ [I: nat,J4: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J4 ) @ ( F @ I ) ) @ ( product_Pair_nat_nat @ I @ ( suc @ J4 ) ) @ ( product_Pair_nat_nat @ ( suc @ I ) @ zero_zero_nat ) )
        @ ( inf_concat_simple @ F @ N ) ) ) ).

% inf_concat_simple.simps(2)
thf(fact_1258_inf__concat__simple_Oelims,axiom,
    ! [X2: nat > nat,Xa: nat,Y2: product_prod_nat_nat] :
      ( ( ( inf_concat_simple @ X2 @ Xa )
        = Y2 )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y2
           != ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) )
       => ~ ! [N2: nat] :
              ( ( Xa
                = ( suc @ N2 ) )
             => ( Y2
               != ( produc2626176000494625587at_nat
                  @ ^ [I: nat,J4: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J4 ) @ ( X2 @ I ) ) @ ( product_Pair_nat_nat @ I @ ( suc @ J4 ) ) @ ( product_Pair_nat_nat @ ( suc @ I ) @ zero_zero_nat ) )
                  @ ( inf_concat_simple @ X2 @ N2 ) ) ) ) ) ) ).

% inf_concat_simple.elims
thf(fact_1259_inf__concat__simple_Osimps_I1_J,axiom,
    ! [F: nat > nat] :
      ( ( inf_concat_simple @ F @ zero_zero_nat )
      = ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) ).

% inf_concat_simple.simps(1)
thf(fact_1260_inf__concat__simple__surj__zero,axiom,
    ! [F: nat > nat,I2: nat] :
    ? [K3: nat] :
      ( ( inf_concat_simple @ F @ K3 )
      = ( product_Pair_nat_nat @ I2 @ zero_zero_nat ) ) ).

% inf_concat_simple_surj_zero
thf(fact_1261_inf__concat__simple__surj,axiom,
    ! [J3: nat,F: nat > nat,I2: nat] :
      ( ( ord_less_nat @ J3 @ ( F @ I2 ) )
     => ? [K3: nat] :
          ( ( inf_concat_simple @ F @ K3 )
          = ( product_Pair_nat_nat @ I2 @ J3 ) ) ) ).

% inf_concat_simple_surj

% Helper facts (5)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( if_nat @ $false @ X2 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( if_nat @ $true @ X2 @ Y2 )
      = X2 ) ).

thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [P2: $o] :
      ( ( P2 = $true )
      | ( P2 = $false ) ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X2: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $false @ X2 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X2: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $true @ X2 @ Y2 )
      = X2 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( nth_term_a_b
      @ ( concat_term_a_b
        @ ( map_na2865332088629204026rm_a_b
          @ ^ [I: nat] : ( multih4629214223431182294es_a_b @ ( nth_Mu4187783769245775891xt_a_b @ ts @ I ) @ ( nth_term_a_b @ ss @ I ) )
          @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) ) )
      @ i )
    = ( nth_term_a_b
      @ ( concat_term_a_b
        @ ( map_Pr2394204248401007003rm_a_b
          @ ^ [X: produc6098685572150017969xt_a_b] :
              ( map_li459708541515338042rm_a_b @ ( term_subt_at_a_b @ ( fun_a_b @ f @ ss ) )
              @ ( produc1129251993345788160st_nat
                @ ^ [Y: nat,Z: multihole_mctxt_a_b] : ( map_li7225945977422193158st_nat @ ( cons_nat @ Y ) @ ( multih2241604942620144928st_a_b @ Z ) )
                @ X ) )
          @ ( zip_na2638709245307492419xt_a_b @ ( upt @ zero_zero_nat @ ( size_s6467537827362597246xt_a_b @ ts ) ) @ ts ) ) )
      @ i ) ) ).

%------------------------------------------------------------------------------