TPTP Problem File: SLH0490^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    : VYDRA_MDL/0011_Monitor/prob_01203_059733__17172476_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1788 ( 535 unt; 531 typ;   0 def)
%            Number of atoms       : 3664 (1813 equ;   0 cnn)
%            Maximal formula atoms :   14 (   2 avg)
%            Number of connectives : 14113 ( 591   ~;  96   |; 427   &;11293   @)
%                                         (   0 <=>;1706  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   8 avg)
%            Number of types       :  117 ( 116 usr)
%            Number of type conns  : 1616 (1616   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  416 ( 415 usr;  23 con; 0-4 aty)
%            Number of variables   : 4485 ( 151   ^;3992   !; 342   ?;4485   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 14:54:54.481
%------------------------------------------------------------------------------
% Could-be-implicit typings (116)
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc1567931372339730013at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc7107213267932946349at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc349518998152878311at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc3608954904941188477at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_Mt__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_J_J_J,type,
    produc5816723004105191512at_o_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Mapping__Omapping_It__Nat__Onat_M_Eo_J_J_J_J,type,
    produc1783361409637995907_nat_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J_J,type,
    produc2229987674471600001_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc5065989759464263123at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc5405368317271509971at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J,type,
    produc4535606905352993814_o_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    option4126803632048996308at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J,type,
    produc5723048513406048339_o_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr1542805901266377927at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc4471711990508489141at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc2009451851958091931od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc6121082497140218670at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_Mt__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_J_J,type,
    produc3031009754516090993at_o_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc1133278724512500366at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc6392793444374437607at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    option7387190471253296173at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J_J,type,
    option1789852112156740998ay_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_P8469869581646625389at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr8693737435421807431at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Mapping__Omapping_It__Nat__Onat_M_Eo_J_J_J,type,
    produc6863188293027480355_nat_o: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    option365729051104679374at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    produc6061052005203129518_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc3027252292617403629od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc6452300523622238572od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    produc2240436093699763644_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc859450856879609959at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J,type,
    produc1378641366369459382ay_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc2687737633280426365at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc6331134716478936840at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    option5867295888766699645_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_Mt__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_J,type,
    produc1103767450382441353at_o_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr3866525736087607754st_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    option4534702620024642204od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8472197452120411308at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    option1942655187168591086at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5747662315571815230od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J_J,type,
    option153729910130368901ay_nat: $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__Option__Ooption_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    set_op5342683524702764932_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    produc3836566408362883245_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc2640991683014372628st_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_Itf__c_J_J_J,type,
    option7259194426680946509rray_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    option695368374342530005od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc8373899037510109440at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc7248412053542808358at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Mapping__Omapping_It__Nat__Onat_M_Eo_J_J,type,
    produc228893250607966907_nat_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc6475121930738208726od_b_c: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    list_P9162950289778280392at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J_J,type,
    set_Pr2058341694840537735list_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J_J,type,
    set_Pr5144097936830532296list_c: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_op4508134149509766951at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc8679724179870777384at_nat: $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__Option__Ooption_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    option7421465107808516430_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J,type,
    produc595522270058332597ay_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    produc7819656566062154093et_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    list_P6702368983108350734_o_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    set_Pr4354077987950702516_o_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_Itf__c_J_J,type,
    produc262403610523852423rray_c: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    set_op4768578956735245710od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc2271636064823979023od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J,type,
    produc7985223085803476903list_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J,type,
    produc4034331450184888424list_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    option4927543243414619207at_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    list_l8907847357763382004od_b_c: $tType ).

thf(ty_n_t__IArray__Oiarray_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    iarray2988189292124903271at_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__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    produc7491599851749785783at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    produc2400336064389900727et_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    option7520157102916957007_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J,type,
    produc3048290430667652772_nat_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    produc3074792404157404414_o_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    list_P5561950507774946575_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mtf__c_J_J,type,
    list_P2993859830824179253_nat_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    set_Pr6903500605879609269_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mtf__c_J_J,type,
    set_Pr4335409928928841947_nat_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_Itf__c_J_Mt__Nat__Onat_J,type,
    produc7315074893075223263_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_Itf__c_J_J,type,
    produc3017861269653467909_set_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    option4080930501838102381od_c_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    option4716579502443089070od_b_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    list_P267710562049004973od_c_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    list_P903359562653991662od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    set_Product_prod_c_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    set_Product_prod_b_c: $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__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J,type,
    mapping_nat_o_o: $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_It__Option__Ooption_It__Nat__Onat_J_J,type,
    set_option_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    product_prod_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mtf__c_J,type,
    product_prod_nat_c: $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_I_062_It__Nat__Onat_M_Eo_J_J,type,
    list_nat_o: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_M_Eo_J_J,type,
    set_nat_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    product_prod_c_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    product_prod_b_c: $tType ).

thf(ty_n_t__Mapping__Omapping_It__Nat__Onat_M_Eo_J,type,
    mapping_nat_o: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_Itf__c_J_J,type,
    list_list_c: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_Itf__c_J_J,type,
    set_list_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Nat__Onat_J,type,
    option_nat: $tType ).

thf(ty_n_t__IArray__Oiarray_It__Nat__Onat_J,type,
    iarray_nat: $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__Option__Ooption_Itf__c_J,type,
    option_c: $tType ).

thf(ty_n_t__IArray__Oiarray_Itf__c_J,type,
    iarray_c: $tType ).

thf(ty_n_t__List__Olist_Itf__c_J,type,
    list_c: $tType ).

thf(ty_n_t__List__Olist_Itf__b_J,type,
    list_b: $tType ).

thf(ty_n_t__Set__Oset_Itf__c_J,type,
    set_c: $tType ).

thf(ty_n_t__Set__Oset_Itf__b_J,type,
    set_b: $tType ).

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

thf(ty_n_tf__c,type,
    c: $tType ).

thf(ty_n_tf__b,type,
    b: $tType ).

% Explicit typings (415)
thf(sy_c_AList_Omap__default_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    map_de5982079881621851255_o_nat: ( nat > $o ) > nat > ( nat > nat ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_AList_Omap__default_001t__Nat__Onat_001t__Nat__Onat,type,
    map_default_nat_nat: nat > nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__default_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_de6203744875203570968at_nat: product_prod_nat_nat > product_prod_nat_nat > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_AList_Omap__default_001tf__b_001tf__c,type,
    map_default_b_c: b > c > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Omap__default__rel_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    map_de3261325013690768622_o_nat: produc2229987674471600001_o_nat > produc2229987674471600001_o_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    map_de1546328871509799619at_nat: produc5405368317271509971at_nat > produc5405368317271509971at_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_de5316453281594923105at_nat: produc1567931372339730013at_nat > produc1567931372339730013at_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001tf__c,type,
    map_default_rel_b_c: produc2009451851958091931od_b_c > produc2009451851958091931od_b_c > $o ).

thf(sy_c_AList_Omap__entry_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    map_entry_nat_o_nat: ( nat > $o ) > ( nat > nat ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_AList_Omap__entry_001t__Nat__Onat_001t__Nat__Onat,type,
    map_entry_nat_nat: nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__entry_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_en2982961774263949193at_nat: product_prod_nat_nat > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_AList_Omap__entry_001tf__b_001tf__c,type,
    map_entry_b_c: b > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Omap__entry__rel_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    map_en7335419289407203423_o_nat: produc4535606905352993814_o_nat > produc4535606905352993814_o_nat > $o ).

thf(sy_c_AList_Omap__entry__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    map_en6292189407319230482at_nat: produc6121082497140218670at_nat > produc6121082497140218670at_nat > $o ).

thf(sy_c_AList_Omap__entry__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_en3598323725108157232at_nat: produc7107213267932946349at_nat > produc7107213267932946349at_nat > $o ).

thf(sy_c_AList_Omap__entry__rel_001tf__b_001tf__c,type,
    map_entry_rel_b_c: produc6452300523622238572od_b_c > produc6452300523622238572od_b_c > $o ).

thf(sy_c_AList_Omap__ran_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat_001t__Nat__Onat,type,
    map_ra2050320490842838954at_nat: ( ( nat > $o ) > nat > nat ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_AList_Omap__ran_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    map_ran_nat_nat_nat: ( nat > nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__ran_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_ra4011674865287502026at_nat: ( product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_AList_Omap__ran_001tf__b_001tf__c_001tf__c,type,
    map_ran_b_c_c: ( b > c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Oupdate_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    update_nat_o_nat: ( nat > $o ) > nat > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_AList_Oupdate_001t__Nat__Onat_001t__Nat__Onat,type,
    update_nat_nat: nat > nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Oupdate_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    update2015088200033559612at_nat: product_prod_nat_nat > product_prod_nat_nat > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_AList_Oupdate_001tf__b_001tf__c,type,
    update_b_c: b > c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Oupdate_001tf__c_001tf__c,type,
    update_c_c: c > c > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_AList_Oupdate__with__aux_001t__Nat__Onat_001_062_It__Nat__Onat_M_Eo_J,type,
    update5461917218004680235_nat_o: nat > ( nat > $o ) > ( nat > nat ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Nat__Onat_001t__Nat__Onat,type,
    update528237659335440164at_nat: nat > nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    update8621587714000398146at_nat: product_prod_nat_nat > product_prod_nat_nat > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_AList_Oupdate__with__aux_001tf__c_001tf__b,type,
    update_with_aux_c_b: c > b > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Oupdates_001tf__c_001tf__c,type,
    updates_c_c: list_c > list_c > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Nat__Onat,type,
    bNF_Gr1872714664788909425ft_nat: set_list_nat > nat > set_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Nat__Onat,type,
    bNF_Gr6352880689984616693cc_nat: set_list_nat > list_nat > set_nat ).

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

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

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    plus_p9057090461656269880at_nat: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    plus_p4591053195553783070at_nat: produc859450856879609959at_nat > produc859450856879609959at_nat > produc859450856879609959at_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Option__Ooption_It__Nat__Onat_J,type,
    zero_zero_option_nat: option_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    zero_z3979849011205770936at_nat: product_prod_nat_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    zero_z8332228408419305374at_nat: produc859450856879609959at_nat ).

thf(sy_c_IArray_Oiarray_OIArray_001tf__c,type,
    iArray_c: list_c > iarray_c ).

thf(sy_c_IArray_Olength_001tf__c,type,
    length_c: iarray_c > nat ).

thf(sy_c_IArray_Osub_001t__Nat__Onat,type,
    sub_nat: iarray_nat > nat > nat ).

thf(sy_c_IArray_Osub_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    sub_Pr239364662247069820at_nat: iarray2988189292124903271at_nat > nat > product_prod_nat_nat ).

thf(sy_c_IArray_Osub_001tf__c,type,
    sub_c: iarray_c > nat > c ).

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

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    append7826542997976574883_o_nat: list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    append985823374593552924at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__c_J,type,
    append1694031015033483850_nat_c: list_P2993859830824179253_nat_c > list_P2993859830824179253_nat_c > list_P2993859830824179253_nat_c ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    append8751754712269456642at_nat: list_P8469869581646625389at_nat > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    append2547753245680614915od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    append8983669700562714690od_c_c: list_P267710562049004973od_c_c > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Oappend_001tf__c,type,
    append_c: list_c > list_c > list_c ).

thf(sy_c_List_Odrop_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    drop_l3568355655282140980od_b_c: nat > list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

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

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    drop_P621514002884824632_o_nat: nat > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    drop_P8868858903918902087at_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    drop_P5669314423915875758od_b_c: nat > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    drop_P2881858841943199725od_c_c: nat > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Odrop_001tf__c,type,
    drop_c: nat > list_c > list_c ).

thf(sy_c_List_Oenumerate_001t__Nat__Onat,type,
    enumerate_nat: nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oenumerate_001tf__c,type,
    enumerate_c: nat > list_c > list_P2993859830824179253_nat_c ).

thf(sy_c_List_Ofind_001t__Nat__Onat,type,
    find_nat: ( nat > $o ) > list_nat > option_nat ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    find_P6897154011258892258_o_nat: ( produc3074792404157404414_o_nat > $o ) > list_P6702368983108350734_o_nat > option7421465107808516430_o_nat ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    find_P8199882355184865565at_nat: ( product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > option4927543243414619207at_nat ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_P8684871256470843524od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > option4716579502443089070od_b_c ).

thf(sy_c_List_Ofind_001tf__c,type,
    find_c: ( c > $o ) > list_c > option_c ).

thf(sy_c_List_Olenlex_001t__Nat__Onat,type,
    lenlex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olenlex_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lenlex325483962726685836at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olenlex_001tf__c,type,
    lenlex_c: set_Product_prod_c_c > set_Pr2058341694840537735list_c ).

thf(sy_c_List_Olex_001t__Nat__Onat,type,
    lex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olex_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lex_Pr8571645452597969515at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olex_001tf__c,type,
    lex_c: set_Product_prod_c_c > set_Pr2058341694840537735list_c ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_M_Eo_J,type,
    cons_nat_o: ( nat > $o ) > list_nat_o > list_nat_o ).

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

thf(sy_c_List_Olist_OCons_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    cons_P4861729644591583992at_nat: ( product_prod_nat_nat > nat ) > list_P9162950289778280392at_nat > list_P9162950289778280392at_nat ).

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_M_Eo_J_Mt__Nat__Onat_J,type,
    cons_P1301391208966372296_o_nat: produc3074792404157404414_o_nat > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

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__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    cons_P8732206157123786781at_nat: produc859450856879609959at_nat > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    cons_P4529483553340347422od_b_c: product_prod_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist_OCons_001tf__b,type,
    cons_b: b > list_b > list_b ).

thf(sy_c_List_Olist_OCons_001tf__c,type,
    cons_c: c > list_c > list_c ).

thf(sy_c_List_Olist_ONil_001_062_It__Nat__Onat_M_Eo_J,type,
    nil_nat_o: list_nat_o ).

thf(sy_c_List_Olist_ONil_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_nat_nat: list_nat_nat ).

thf(sy_c_List_Olist_ONil_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    nil_Pr2865493887535707976at_nat: list_P9162950289778280392at_nat ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    nil_Pr3919464568974123896_o_nat: list_P6702368983108350734_o_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_Pr5478986624290739719at_nat: list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nil_Pr2582115297535392877at_nat: list_P8469869581646625389at_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    nil_Product_prod_b_c: list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist_ONil_001tf__b,type,
    nil_b: list_b ).

thf(sy_c_List_Olist_ONil_001tf__c,type,
    nil_c: list_c ).

thf(sy_c_List_Olist_Ohd_001_062_It__Nat__Onat_M_Eo_J,type,
    hd_nat_o: list_nat_o > nat > $o ).

thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
    hd_nat: list_nat > nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    hd_Pro6610215617467528531_o_nat: list_P6702368983108350734_o_nat > produc3074792404157404414_o_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    hd_Pro3460610213475200108at_nat: list_P6011104703257516679at_nat > product_prod_nat_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    hd_Pro8462011474880202578at_nat: list_P8469869581646625389at_nat > produc859450856879609959at_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    hd_Product_prod_b_c: list_P903359562653991662od_b_c > product_prod_b_c ).

thf(sy_c_List_Olist_Ohd_001tf__b,type,
    hd_b: list_b > b ).

thf(sy_c_List_Olist_Ohd_001tf__c,type,
    hd_c: list_c > c ).

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_M_Eo_J_Mt__Nat__Onat_J,type,
    map_na3641099364221688468_o_nat: ( nat > produc3074792404157404414_o_nat ) > list_nat > list_P6702368983108350734_o_nat ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_Pr9105590726435236202at_nat: ( product_prod_nat_nat > produc859450856879609959at_nat ) > list_P6011104703257516679at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__c_Mtf__c_J_001tf__c,type,
    map_Pr4595138825521553757_c_c_c: ( product_prod_c_c > c ) > list_P267710562049004973od_c_c > list_c ).

thf(sy_c_List_Olist_Omap_001tf__c_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    map_c_3793715988870728620od_b_c: ( c > product_prod_b_c ) > list_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist_Omap_001tf__c_001tf__c,type,
    map_c_c: ( c > c ) > list_c > list_c ).

thf(sy_c_List_Olist_Oset_001_062_It__Nat__Onat_M_Eo_J,type,
    set_nat_o2: list_nat_o > set_nat_o ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_Itf__c_J,type,
    set_list_c2: list_list_c > set_list_c ).

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_M_Eo_J_Mt__Nat__Onat_J,type,
    set_Pr6755523435573161513_o_nat: list_P6702368983108350734_o_nat > set_Pr4354077987950702516_o_nat ).

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_Mtf__c_J,type,
    set_Pr4163146846833169104_nat_c: list_P2993859830824179253_nat_c > set_Pr4335409928928841947_nat_c ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr5518436109238095868at_nat: list_P8469869581646625389at_nat > set_Pr8693737435421807431at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    set_Product_prod_b_c2: list_P903359562653991662od_b_c > set_Product_prod_b_c ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    set_Pr3395872032415823530_c_nat: list_P5561950507774946575_c_nat > set_Pr6903500605879609269_c_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    set_Product_prod_c_c2: list_P267710562049004973od_c_c > set_Product_prod_c_c ).

thf(sy_c_List_Olist_Oset_001tf__b,type,
    set_b2: list_b > set_b ).

thf(sy_c_List_Olist_Oset_001tf__c,type,
    set_c2: list_c > set_c ).

thf(sy_c_List_Olist__update_001_062_It__Nat__Onat_M_Eo_J,type,
    list_update_nat_o: list_nat_o > nat > ( nat > $o ) > list_nat_o ).

thf(sy_c_List_Olist__update_001t__Nat__Onat,type,
    list_update_nat: list_nat > nat > nat > list_nat ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    list_u3762978705656335120_o_nat: list_P6702368983108350734_o_nat > nat > produc3074792404157404414_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    list_u6180841689913720943at_nat: list_P6011104703257516679at_nat > nat > product_prod_nat_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_u5003261594476800725at_nat: list_P8469869581646625389at_nat > nat > produc859450856879609959at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    list_u2180296049635073750od_b_c: list_P903359562653991662od_b_c > nat > product_prod_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist__update_001tf__b,type,
    list_update_b: list_b > nat > b > list_b ).

thf(sy_c_List_Olist__update_001tf__c,type,
    list_update_c: list_c > nat > c > list_c ).

thf(sy_c_List_Olistrel1_001t__Nat__Onat,type,
    listrel1_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olistrel1_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    listre4828114922151135584at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olistrel1_001tf__c,type,
    listrel1_c: set_Product_prod_c_c > set_Pr2058341694840537735list_c ).

thf(sy_c_List_Olistrel_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    listrel_nat_o_nat: set_Pr4354077987950702516_o_nat > set_Pr3866525736087607754st_nat ).

thf(sy_c_List_Olistrel_001t__Nat__Onat_001t__Nat__Onat,type,
    listrel_nat_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    listre818007680106770737at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olistrel_001tf__b_001tf__c,type,
    listrel_b_c: set_Product_prod_b_c > set_Pr5144097936830532296list_c ).

thf(sy_c_List_Olistrel_001tf__c_001tf__c,type,
    listrel_c_c: set_Product_prod_c_c > set_Pr2058341694840537735list_c ).

thf(sy_c_List_Omeasures_001t__Nat__Onat,type,
    measures_nat: list_nat_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_List_Omeasures_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    measur2679027848233739777at_nat: list_P9162950289778280392at_nat > set_Pr8693737435421807431at_nat ).

thf(sy_c_List_On__lists_001tf__c,type,
    n_lists_c: nat > list_c > list_list_c ).

thf(sy_c_List_Onth_001_062_It__Nat__Onat_M_Eo_J,type,
    nth_nat_o: list_nat_o > nat > nat > $o ).

thf(sy_c_List_Onth_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    nth_li5970670012456435445od_b_c: list_l8907847357763382004od_b_c > nat > list_P903359562653991662od_b_c ).

thf(sy_c_List_Onth_001t__List__Olist_Itf__c_J,type,
    nth_list_c: list_list_c > nat > list_c ).

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_M_Eo_J_Mt__Nat__Onat_J,type,
    nth_Pr8224016110953687223_o_nat: list_P6702368983108350734_o_nat > nat > produc3074792404157404414_o_nat ).

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_Mtf__c_J,type,
    nth_Pr2476257089995772766_nat_c: list_P2993859830824179253_nat_c > nat > product_prod_nat_c ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nth_Pr6744343527793145070at_nat: list_P8469869581646625389at_nat > nat > produc859450856879609959at_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    nth_Product_prod_b_c: list_P903359562653991662od_b_c > nat > product_prod_b_c ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    nth_Product_prod_c_c: list_P267710562049004973od_c_c > nat > product_prod_c_c ).

thf(sy_c_List_Onth_001tf__b,type,
    nth_b: list_b > nat > b ).

thf(sy_c_List_Onth_001tf__c,type,
    nth_c: list_c > nat > c ).

thf(sy_c_List_Oproduct_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    product_nat_o_nat: list_nat_o > list_nat > list_P6702368983108350734_o_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_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc3544356994491977349at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Oproduct_001tf__b_001tf__c,type,
    product_b_c: list_b > list_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Oproduct__lists_001tf__c,type,
    product_lists_c: list_list_c > list_list_c ).

thf(sy_c_List_OtakeWhile_001_062_It__Nat__Onat_M_Eo_J,type,
    takeWhile_nat_o: ( ( nat > $o ) > $o ) > list_nat_o > list_nat_o ).

thf(sy_c_List_OtakeWhile_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    takeWh4077192067580143341od_b_c: ( list_P903359562653991662od_b_c > $o ) > list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_List_OtakeWhile_001t__List__Olist_Itf__c_J,type,
    takeWhile_list_c: ( list_c > $o ) > list_list_c > list_list_c ).

thf(sy_c_List_OtakeWhile_001t__Nat__Onat,type,
    takeWhile_nat: ( nat > $o ) > list_nat > list_nat ).

thf(sy_c_List_OtakeWhile_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    takeWh2567599821982740159_o_nat: ( produc3074792404157404414_o_nat > $o ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_List_OtakeWhile_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    takeWh6395431351003862016at_nat: ( product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_OtakeWhile_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    takeWh4752197550908997095od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_OtakeWhile_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    takeWh1964741968936321062od_c_c: ( product_prod_c_c > $o ) > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_OtakeWhile_001tf__b,type,
    takeWhile_b: ( b > $o ) > list_b > list_b ).

thf(sy_c_List_OtakeWhile_001tf__c,type,
    takeWhile_c: ( c > $o ) > list_c > list_c ).

thf(sy_c_List_Otake_001_062_It__Nat__Onat_M_Eo_J,type,
    take_nat_o: nat > list_nat_o > list_nat_o ).

thf(sy_c_List_Otake_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    take_l2014012074268970460od_b_c: nat > list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_List_Otake_001t__List__Olist_Itf__c_J,type,
    take_list_c: nat > list_list_c > list_list_c ).

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

thf(sy_c_List_Otake_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    take_P3755762718101561744_o_nat: nat > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    take_P2173866234530122223at_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    take_P8422700459012106326od_b_c: nat > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    take_P5635244877039430293od_c_c: nat > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Otake_001tf__b,type,
    take_b: nat > list_b > list_b ).

thf(sy_c_List_Otake_001tf__c,type,
    take_c: nat > list_c > list_c ).

thf(sy_c_List_Ozip_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    zip_nat_o_nat: list_nat_o > list_nat > list_P6702368983108350734_o_nat ).

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_001tf__c,type,
    zip_nat_c: list_nat > list_c > list_P2993859830824179253_nat_c ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    zip_Pr4664179122662387191at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_List_Ozip_001tf__b_001tf__c,type,
    zip_b_c: list_b > list_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Ozip_001tf__c_001t__Nat__Onat,type,
    zip_c_nat: list_c > list_nat > list_P5561950507774946575_c_nat ).

thf(sy_c_List_Ozip_001tf__c_001tf__c,type,
    zip_c_c: list_c > list_c > list_P267710562049004973od_c_c ).

thf(sy_c_Monitor_OVYDRA__MDL_Olast__before,type,
    vYDRA_last_before: ( nat > $o ) > nat > option_nat ).

thf(sy_c_Monitor_OVYDRA__MDL_Olast__before__rel,type,
    vYDRA_5175910486691664417re_rel: produc3074792404157404414_o_nat > produc3074792404157404414_o_nat > $o ).

thf(sy_c_Monitor_Oread__t_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    read_t_nat_o_nat: option7421465107808516430_o_nat > option_nat ).

thf(sy_c_Monitor_Oread__t_001t__Nat__Onat_001t__Nat__Onat,type,
    read_t_nat_nat: option4927543243414619207at_nat > option_nat ).

thf(sy_c_Monitor_Oread__t_001tf__c_001t__Nat__Onat,type,
    read_t_c_nat: option7520157102916957007_c_nat > option_nat ).

thf(sy_c_Monitor_Orun__subs_001tf__c_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat_001t__Nat__Onat,type,
    run_su8141779459891561811at_nat: ( c > option7387190471253296173at_nat ) > list_c > option1789852112156740998ay_nat ).

thf(sy_c_Monitor_Orun__subs_001tf__c_001tf__c_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    run_su8487233880789838111_o_nat: ( c > option5867295888766699645_o_nat ) > list_c > option153729910130368901ay_nat ).

thf(sy_c_Monitor_Orun__subs_001tf__c_001tf__c_001t__Nat__Onat_001t__Nat__Onat,type,
    run_subs_c_c_nat_nat: ( c > option1942655187168591086at_nat ) > list_c > option153729910130368901ay_nat ).

thf(sy_c_Monitor_Orun__subs_001tf__c_001tf__c_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    run_su5013010240692750960at_nat: ( c > option4126803632048996308at_nat ) > list_c > option365729051104679374at_nat ).

thf(sy_c_Monitor_Orun__subs_001tf__c_001tf__c_001tf__b_001tf__c,type,
    run_subs_c_c_b_c: ( c > option695368374342530005od_b_c ) > list_c > option7259194426680946509rray_c ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__IArray__Oiarray_Itf__c_J,type,
    size_size_iarray_c: iarray_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J,type,
    size_size_list_nat_o: list_nat_o > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    size_s4150533072628932448od_b_c: list_l8907847357763382004od_b_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_Itf__c_J_J,type,
    size_s491565468217265656list_c: list_list_c > 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_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    size_s1814491460036751778_o_nat: list_P6702368983108350734_o_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__Product____Type__Oprod_It__Nat__Onat_Mtf__c_J_J,type,
    size_s385972143775086793_nat_c: list_P2993859830824179253_nat_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    size_s3392097710323735898od_b_c: list_P903359562653991662od_b_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    size_s2756448709718749209od_c_c: list_P267710562049004973od_c_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__b_J,type,
    size_size_list_b: list_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__c_J,type,
    size_size_list_c: list_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__Nat__Onat_J,type,
    size_size_option_nat: option_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    size_s6535971456587555810_o_nat: option7421465107808516430_o_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s170228958280169651at_nat: option4927543243414619207at_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    size_s9142868521107192602od_b_c: option4716579502443089070od_b_c > nat ).

thf(sy_c_Option_Ooption_ONone_001t__Nat__Onat,type,
    none_nat: option_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    none_P4770284390835442525_o_nat: option7421465107808516430_o_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    none_P5556105721700978146at_nat: option4927543243414619207at_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    none_P8350622247268937417od_b_c: option4716579502443089070od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Nat__Onat,type,
    some_nat: nat > option_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    some_P2630223654056210137_o_nat: produc3074792404157404414_o_nat > option7421465107808516430_o_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J,type,
    some_P5749799957969227281ay_nat: produc1378641366369459382ay_nat > option1789852112156740998ay_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Nat__Onat_J_J,type,
    some_P3194109803288802448ay_nat: produc595522270058332597ay_nat > option153729910130368901ay_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    some_P6146885190290032237at_nat: produc6331134716478936840at_nat > option365729051104679374at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__IArray__Oiarray_Itf__c_J_J,type,
    some_P8225123078406057068rray_c: produc262403610523852423rray_c > option7259194426680946509rray_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    some_P7363390416028606310at_nat: product_prod_nat_nat > option4927543243414619207at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    some_P8600064857277225804at_nat: produc859450856879609959at_nat > option7387190471253296173at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    some_P2601565919338736699od_b_c: produc6475121930738208726od_b_c > option4534702620024642204od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    some_P804611721829158477od_b_c: product_prod_b_c > option4716579502443089070od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    some_P8722241760384591706_c_nat: product_prod_c_nat > option7520157102916957007_c_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    some_P1114528500415430536_o_nat: produc3836566408362883245_o_nat > option5867295888766699645_o_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    some_P5406115939492372877at_nat: produc8679724179870777384at_nat > option1942655187168591086at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    some_P6326260653552803955at_nat: produc1133278724512500366at_nat > option4126803632048996308at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    some_P7665882026316300020od_b_c: produc2271636064823979023od_b_c > option695368374342530005od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    some_P7240528176711258252od_c_c: product_prod_c_c > option4080930501838102381od_c_c ).

thf(sy_c_Option_Ooption_OSome_001tf__c,type,
    some_c: c > option_c ).

thf(sy_c_Option_Ooption_Osize__option_001t__Nat__Onat,type,
    size_option_nat: ( nat > nat ) > option_nat > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    size_o1772288556313164699_o_nat: ( produc3074792404157404414_o_nat > nat ) > option7421465107808516430_o_nat > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    size_o8335143837870341156at_nat: ( product_prod_nat_nat > nat ) > option4927543243414619207at_nat > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    size_o3611909499323622411od_b_c: ( product_prod_b_c > nat ) > option4716579502443089070od_b_c > nat ).

thf(sy_c_Option_Othese_001t__Nat__Onat,type,
    these_nat: set_option_nat > set_nat ).

thf(sy_c_Option_Othese_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    these_1536481741333579393_o_nat: set_op5342683524702764932_o_nat > set_Pr4354077987950702516_o_nat ).

thf(sy_c_Option_Othese_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    these_8061402112538453438at_nat: set_op4508134149509766951at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_Option_Othese_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    these_2312933384211351717od_b_c: set_op4768578956735245710od_b_c > set_Product_prod_b_c ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_less_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    ord_le1440161272000278354_o_nat: produc3074792404157404414_o_nat > produc3074792404157404414_o_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J,type,
    ord_le1413659298510526712_nat_o: produc3048290430667652772_nat_o > produc3048290430667652772_nat_o > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    ord_le1203424502768444845at_nat: product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le6999532794533465978at_nat: produc7248412053542808358at_nat > produc7248412053542808358at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le9004977590230453859et_nat: produc2400336064389900727et_nat > produc2400336064389900727et_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    ord_le8125019778500767060at_nat: produc8373899037510109440at_nat > produc8373899037510109440at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le9033551061567896339at_nat: produc859450856879609959at_nat > produc859450856879609959at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    ord_le4872869340735563107at_nat: produc7491599851749785783at_nat > produc7491599851749785783at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le3483226128287266329et_nat: produc7819656566062154093et_nat > produc7819656566062154093et_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Set__Oset_Itf__c_J_Mt__Nat__Onat_J,type,
    ord_le4863175949916193075_c_nat: produc7315074893075223263_c_nat > produc7315074893075223263_c_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_Itf__c_J,type,
    ord_less_set_c: set_c > set_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_less_eq_nat_o: ( nat > $o ) > ( nat > $o ) > $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__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    ord_le1595970101268698462_o_nat: produc3074792404157404414_o_nat > produc3074792404157404414_o_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J,type,
    ord_le1569468127778946820_nat_o: produc3048290430667652772_nat_o > produc3048290430667652772_nat_o > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    ord_le8460144461188290721at_nat: product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le4284901688344473943et_nat: produc2400336064389900727et_nat > produc2400336064389900727et_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_Itf__c_J_J,type,
    ord_le6749433133306467173_set_c: produc3017861269653467909_set_c > produc3017861269653467909_set_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    ord_le5101934774805231968at_nat: produc8373899037510109440at_nat > produc8373899037510109440at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le6722121967309221895at_nat: produc859450856879609959at_nat > produc859450856879609959at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Nat__Onat_J,type,
    ord_le152793438849583191at_nat: produc7491599851749785783at_nat > produc7491599851749785783at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Nat__Onat_J_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le2041963031926835469et_nat: produc7819656566062154093et_nat > produc7819656566062154093et_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_Itf__c_J_Mt__Nat__Onat_J,type,
    ord_le1823274719873446719_c_nat: produc7315074893075223263_c_nat > produc7315074893075223263_c_nat > $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_M_Eo_J_Mt__Nat__Onat_J_J,type,
    ord_le1487873752969080852_o_nat: set_Pr4354077987950702516_o_nat > set_Pr4354077987950702516_o_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__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    ord_le3000389064537975527at_nat: set_Pr8693737435421807431at_nat > set_Pr8693737435421807431at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_le253122037897321832od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__c_J,type,
    ord_less_eq_set_c: set_c > set_c > $o ).

thf(sy_c_Product__Type_OPair_001_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_001t__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J,type,
    produc1456212329495349441at_o_o: ( ( nat > $o ) > $o ) > mapping_nat_o_o > produc1103767450382441353at_o_o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc3209952032786966637at_nat: ( nat > nat > nat ) > produc7248412053542808358at_nat > produc4471711990508489141at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    produc2328698179167866934_o_nat: ( nat > $o ) > list_P6702368983108350734_o_nat > produc2240436093699763644_o_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Mapping__Omapping_It__Nat__Onat_M_Eo_J,type,
    produc1708576699232315691_nat_o: ( nat > $o ) > mapping_nat_o > produc228893250607966907_nat_o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    produc7277522915581678840_o_nat: ( nat > $o ) > nat > produc3074792404157404414_o_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Product____Type__Oprod_I_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_Mt__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_J,type,
    produc5255738932537225313at_o_o: ( nat > $o ) > produc1103767450382441353at_o_o > produc3031009754516090993at_o_o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Mapping__Omapping_It__Nat__Onat_M_Eo_J_J,type,
    produc4390676519605123987_nat_o: ( nat > $o ) > produc228893250607966907_nat_o > produc6863188293027480355_nat_o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    produc3608434710519062918_o_nat: ( nat > $o ) > produc6061052005203129518_o_nat > produc4535606905352993814_o_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J,type,
    produc8011531828263402875_o_nat: ( nat > $o ) > produc5723048513406048339_o_nat > produc2229987674471600001_o_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    produc3499944987805792998_o_nat: ( nat > nat ) > list_P6702368983108350734_o_nat > produc6061052005203129518_o_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1236331799044183215at_nat: ( nat > nat ) > list_P6011104703257516679at_nat > produc2687737633280426365at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc6834379443701339823at_nat: ( product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > produc3608954904941188477at_nat ).

thf(sy_c_Product__Type_OPair_001_062_Itf__c_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1101678828523717360od_b_c: ( c > c ) > list_P903359562653991662od_b_c > produc5747662315571815230od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc1237022150899190286st_nat: list_nat_o > list_nat > produc2640991683014372628st_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__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_Mt__Mapping__Omapping_I_062_It__Nat__Onat_M_Eo_J_M_Eo_J_J_J,type,
    produc3344241553587936010at_o_o: list_P6702368983108350734_o_nat > produc3031009754516090993at_o_o > produc5816723004105191512at_o_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__IArray__Oiarray_It__Nat__Onat_J,type,
    produc725266354104814896ay_nat: list_P6011104703257516679at_nat > iarray_nat > produc1378641366369459382ay_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc5943733680697469783at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > produc6392793444374437607at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Mapping__Omapping_It__Nat__Onat_M_Eo_J_J_J,type,
    produc5654405827127464947_nat_o: list_P6011104703257516679at_nat > produc6863188293027480355_nat_o > produc1783361409637995907_nat_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__b_J_001t__List__Olist_Itf__c_J,type,
    produc1564554182611693912list_c: list_b > list_c > produc4034331450184888424list_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__c_J_001t__IArray__Oiarray_It__Nat__Onat_J,type,
    produc6853315806101474991ay_nat: list_c > iarray_nat > produc595522270058332597ay_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__c_J_001t__IArray__Oiarray_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc2926882024281562104at_nat: list_c > iarray2988189292124903271at_nat > produc6331134716478936840at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__c_J_001t__IArray__Oiarray_Itf__c_J,type,
    produc7143374292325356663rray_c: list_c > iarray_c > produc262403610523852423rray_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__c_J_001t__List__Olist_Itf__c_J,type,
    produc5515445818230282391list_c: list_c > list_c > produc7985223085803476903list_c ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001_062_It__Nat__Onat_M_Eo_J,type,
    produc7064632490799849302_nat_o: nat > ( nat > $o ) > produc3048290430667652772_nat_o ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc6109913384486294878at_nat: nat > list_P6011104703257516679at_nat > produc8472197452120411308at_nat ).

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_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J,type,
    produc3774508109030907653_o_nat: nat > produc6061052005203129518_o_nat > produc5723048513406048339_o_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc1709345877921393766at_nat: nat > produc2687737633280426365at_nat > produc6121082497140218670at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc487386426758144856at_nat: nat > product_prod_nat_nat > produc7248412053542808358at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc2291548248119593221at_nat: nat > produc6121082497140218670at_nat > produc5405368317271509971at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    produc4207506657711014383et_nat: nat > set_nat > produc2400336064389900727et_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Set__Oset_Itf__c_J,type,
    produc4534374746698477879_set_c: nat > set_c > produc3017861269653467909_set_c ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001tf__c,type,
    product_Pair_nat_c: nat > c > product_prod_nat_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc4832291263848940611at_nat: product_prod_nat_nat > list_P8469869581646625389at_nat > produc5065989759464263123at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    produc6350711070570205562at_nat: product_prod_nat_nat > nat > produc8373899037510109440at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc3729545303729125927at_nat: product_prod_nat_nat > produc3608954904941188477at_nat > produc7107213267932946349at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc6161850002892822231at_nat: product_prod_nat_nat > product_prod_nat_nat > produc859450856879609959at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc4714689090139462999at_nat: product_prod_nat_nat > produc7107213267932946349at_nat > produc1567931372339730013at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc4662710985925991255at_nat: produc859450856879609959at_nat > produc859450856879609959at_nat > produc349518998152878311at_nat ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    produc641871753055645167at_nat: set_nat > nat > produc7491599851749785783at_nat ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    produc4532415448927165861et_nat: set_nat > set_nat > produc7819656566062154093et_nat ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_Itf__c_J_001t__Nat__Onat,type,
    produc1346649906574177241_c_nat: set_c > nat > produc7315074893075223263_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc561751498933632326od_b_c: b > list_P903359562653991662od_b_c > produc6475121930738208726od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7015427828931889894od_b_c: b > produc5747662315571815230od_b_c > produc6452300523622238572od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc1384939585547926677od_b_c: b > produc3027252292617403629od_b_c > produc2009451851958091931od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_001tf__c,type,
    product_Pair_b_c: b > c > product_prod_b_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Nat__Onat,type,
    product_Pair_c_nat: c > nat > product_prod_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    produc3561542052008300199_o_nat: c > produc3074792404157404414_o_nat > produc3836566408362883245_o_nat ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3590379597927054951od_b_c: c > produc5747662315571815230od_b_c > produc3027252292617403629od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc857244808498201112at_nat: c > product_prod_nat_nat > produc8679724179870777384at_nat ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc4246841689041464062at_nat: c > produc859450856879609959at_nat > produc1133278724512500366at_nat ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc5588881204248199167od_b_c: c > product_prod_b_c > produc2271636064823979023od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001tf__c,type,
    product_Pair_c_c: c > c > product_prod_c_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    produc7643701372303132684_o_nat: produc3074792404157404414_o_nat > nat > $o ).

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_001tf__c,type,
    product_fst_nat_c: product_prod_nat_c > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc3213797794245857475at_nat: produc859450856879609959at_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001tf__c,type,
    product_fst_b_c: product_prod_b_c > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__c_001tf__c,type,
    product_fst_c_c: product_prod_c_c > c ).

thf(sy_c_Product__Type_Oprod_Osnd_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    produc3470649411511297610_o_nat: produc3074792404157404414_o_nat > nat ).

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_001tf__c,type,
    product_snd_nat_c: product_prod_nat_c > c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc6408287024330202629at_nat: produc859450856879609959at_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001tf__c,type,
    product_snd_b_c: product_prod_b_c > c ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__c_001tf__c,type,
    product_snd_c_c: product_prod_c_c > c ).

thf(sy_c_Set_OCollect_001_062_It__Nat__Onat_M_Eo_J,type,
    collect_nat_o: ( ( nat > $o ) > $o ) > set_nat_o ).

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_Itf__c_J,type,
    collect_list_c: ( list_c > $o ) > set_list_c ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001tf__b,type,
    collect_b: ( b > $o ) > set_b ).

thf(sy_c_Set_OCollect_001tf__c,type,
    collect_c: ( c > $o ) > set_c ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat,type,
    image_nat_nat: ( nat > nat ) > set_nat > set_nat ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Option__Ooption_It__Nat__Onat_J,type,
    image_nat_option_nat: ( nat > option_nat ) > set_nat > set_option_nat ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001tf__c,type,
    image_nat_c: ( nat > c ) > set_nat > set_c ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    image_1508029995769352915_o_nat: ( produc3074792404157404414_o_nat > option7421465107808516430_o_nat ) > set_Pr4354077987950702516_o_nat > set_op5342683524702764932_o_nat ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    image_4198897800814241419at_nat: ( product_prod_nat_nat > option4927543243414619207at_nat ) > set_Pr1261947904930325089at_nat > set_op4508134149509766951at_nat ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    image_5367747327570481611od_b_c: ( product_prod_b_c > option4716579502443089070od_b_c ) > set_Product_prod_b_c > set_op4768578956735245710od_b_c ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat,type,
    set_or4665077453230672383an_nat: nat > nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OgreaterThanLessThan_001t__Nat__Onat,type,
    set_or5834768355832116004an_nat: nat > nat > set_nat ).

thf(sy_c_Temporal_Opos_001tf__c,type,
    pos_c: c > list_c > option_nat ).

thf(sy_c_Trace_Osorted__list_001t__Nat__Onat,type,
    sorted_list_nat: list_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    accp_P7902722568424861365_o_nat: ( produc3074792404157404414_o_nat > produc3074792404157404414_o_nat > $o ) > produc3074792404157404414_o_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J,type,
    accp_P4578661819182688671_o_nat: ( produc4535606905352993814_o_nat > produc4535606905352993814_o_nat > $o ) > produc4535606905352993814_o_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P8769620910306374328_o_nat: ( produc2229987674471600001_o_nat > produc2229987674471600001_o_nat > $o ) > produc2229987674471600001_o_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    accp_P9053349721105380151at_nat: ( produc6121082497140218670at_nat > produc6121082497140218670at_nat > $o ) > produc6121082497140218670at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P8262604802235901066at_nat: ( produc5405368317271509971at_nat > produc5405368317271509971at_nat > $o ) > produc5405368317271509971at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P3051470004375116644at_nat: ( produc7107213267932946349at_nat > produc7107213267932946349at_nat > $o ) > produc7107213267932946349at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    accp_P1227563337489974164at_nat: ( produc1567931372339730013at_nat > produc1567931372339730013at_nat > $o ) > produc1567931372339730013at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    accp_P4462124054252585635od_b_c: ( produc6452300523622238572od_b_c > produc6452300523622238572od_b_c > $o ) > produc6452300523622238572od_b_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    accp_P2383248136236608210od_b_c: ( produc2009451851958091931od_b_c > produc2009451851958091931od_b_c > $o ) > produc2009451851958091931od_b_c > $o ).

thf(sy_c_Window_Ochain__le_001t__Nat__Onat,type,
    chain_le_nat: list_nat > $o ).

thf(sy_c_Window_Ommap__combine_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    mmap_c1133237450458404219_o_nat: ( nat > $o ) > nat > ( nat > nat > nat ) > list_P6702368983108350734_o_nat > list_P6702368983108350734_o_nat ).

thf(sy_c_Window_Ommap__combine_001t__Nat__Onat_001t__Nat__Onat,type,
    mmap_combine_nat_nat: nat > nat > ( nat > nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Window_Ommap__combine_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    mmap_c5430662108209933588at_nat: product_prod_nat_nat > product_prod_nat_nat > ( product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ) > list_P8469869581646625389at_nat > list_P8469869581646625389at_nat ).

thf(sy_c_Window_Ommap__combine_001tf__b_001tf__c,type,
    mmap_combine_b_c: b > c > ( c > c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Oreaches_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    reaches_nat_o_nat: ( ( nat > $o ) > option7421465107808516430_o_nat ) > ( nat > $o ) > nat > ( nat > $o ) > $o ).

thf(sy_c_Window_Oreaches_001t__Nat__Onat_001t__Nat__Onat,type,
    reaches_nat_nat: ( nat > option4927543243414619207at_nat ) > nat > nat > nat > $o ).

thf(sy_c_Window_Oreaches_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reache8454888495609270085at_nat: ( product_prod_nat_nat > option7387190471253296173at_nat ) > product_prod_nat_nat > nat > product_prod_nat_nat > $o ).

thf(sy_c_Window_Oreaches_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    reache4190940867893757620od_b_c: ( b > option4534702620024642204od_b_c ) > b > nat > b > $o ).

thf(sy_c_Window_Oreaches_001tf__b_001tf__c,type,
    reaches_b_c: ( b > option4716579502443089070od_b_c ) > b > nat > b > $o ).

thf(sy_c_Window_Oreaches_001tf__c_001t__Nat__Onat,type,
    reaches_c_nat: ( c > option7520157102916957007_c_nat ) > c > nat > c > $o ).

thf(sy_c_Window_Oreaches_001tf__c_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    reache7676631594583440569_o_nat: ( c > option5867295888766699645_o_nat ) > c > nat > c > $o ).

thf(sy_c_Window_Oreaches_001tf__c_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reache3437733211291613574at_nat: ( c > option1942655187168591086at_nat ) > c > nat > c > $o ).

thf(sy_c_Window_Oreaches_001tf__c_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    reache2525847660596713581od_b_c: ( c > option695368374342530005od_b_c ) > c > nat > c > $o ).

thf(sy_c_Window_Oreaches_001tf__c_001tf__c,type,
    reaches_c_c: ( c > option4080930501838102381od_c_c ) > c > nat > c > $o ).

thf(sy_c_Window_Oreaches__on_001_062_It__Nat__Onat_M_Eo_J_001t__Nat__Onat,type,
    reaches_on_nat_o_nat: ( ( nat > $o ) > option7421465107808516430_o_nat ) > ( nat > $o ) > list_nat > ( nat > $o ) > $o ).

thf(sy_c_Window_Oreaches__on_001t__Nat__Onat_001t__Nat__Onat,type,
    reaches_on_nat_nat: ( nat > option4927543243414619207at_nat ) > nat > list_nat > nat > $o ).

thf(sy_c_Window_Oreaches__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reache7802105818613033796at_nat: ( product_prod_nat_nat > option7387190471253296173at_nat ) > product_prod_nat_nat > list_P6011104703257516679at_nat > product_prod_nat_nat > $o ).

thf(sy_c_Window_Oreaches__on_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    reache1893517197922682675od_b_c: ( b > option4534702620024642204od_b_c ) > b > list_l8907847357763382004od_b_c > b > $o ).

thf(sy_c_Window_Oreaches__on_001tf__b_001tf__c,type,
    reaches_on_b_c: ( b > option4716579502443089070od_b_c ) > b > list_c > b > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001t__Nat__Onat,type,
    reaches_on_c_nat: ( c > option7520157102916957007_c_nat ) > c > list_nat > c > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    reache7414395445689801210_o_nat: ( c > option5867295888766699645_o_nat ) > c > list_P6702368983108350734_o_nat > c > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reache8491605544138840325at_nat: ( c > option1942655187168591086at_nat ) > c > list_P6011104703257516679at_nat > c > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    reache6952892432467403884od_b_c: ( c > option695368374342530005od_b_c ) > c > list_P903359562653991662od_b_c > c > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001tf__c,type,
    reaches_on_c_c: ( c > option4080930501838102381od_c_c ) > c > list_c > c > $o ).

thf(sy_c_member_001_062_It__Nat__Onat_M_Eo_J,type,
    member_nat_o: ( nat > $o ) > set_nat_o > $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_Itf__c_J,type,
    member_list_c: list_c > set_list_c > $o ).

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

thf(sy_c_member_001t__Option__Ooption_It__Nat__Onat_J,type,
    member_option_nat: option_nat > set_option_nat > $o ).

thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J_J,type,
    member2573159102762125669_o_nat: option7421465107808516430_o_nat > set_op5342683524702764932_o_nat > $o ).

thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member3954567711264315760at_nat: option4927543243414619207at_nat > set_op4508134149509766951at_nat > $o ).

thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    member7689803564361728343od_b_c: option4716579502443089070od_b_c > set_op4768578956735245710od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__Nat__Onat_J,type,
    member2897238310647649173_o_nat: produc3074792404157404414_o_nat > set_Pr4354077987950702516_o_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member69777164926368939st_nat: produc2640991683014372628st_nat > set_Pr3866525736087607754st_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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6693912407220327184at_nat: produc6392793444374437607at_nat > set_Pr1542805901266377927at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J,type,
    member3061355918034584977list_c: produc4034331450184888424list_c > set_Pr5144097936830532296list_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J,type,
    member7012247553653173456list_c: produc7985223085803476903list_c > set_Pr2058341694840537735list_c > $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_Mtf__c_J,type,
    member8962352060716553276_nat_c: product_prod_nat_c > set_Pr4335409928928841947_nat_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member8206827879206165904at_nat: produc859450856879609959at_nat > set_Pr8693737435421807431at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    member7862447941013992593od_b_c: product_prod_b_c > set_Product_prod_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    member8195077246299207702_c_nat: product_prod_c_nat > set_Pr6903500605879609269_c_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    member5074992359041316560od_c_c: product_prod_c_c > set_Product_prod_c_c > $o ).

thf(sy_c_member_001tf__b,type,
    member_b: b > set_b > $o ).

thf(sy_c_member_001tf__c,type,
    member_c: c > set_c > $o ).

thf(sy_v_r,type,
    r: b > option4716579502443089070od_b_c ).

thf(sy_v_s,type,
    s: b ).

thf(sy_v_s_H,type,
    s2: b ).

thf(sy_v_s_H_H,type,
    s3: b ).

thf(sy_v_vs,type,
    vs: list_c ).

thf(sy_v_vs_H,type,
    vs2: list_c ).

% Relevant facts (1256)
thf(fact_0_assms_I2_J,axiom,
    reaches_on_b_c @ r @ s @ vs2 @ s3 ).

% assms(2)
thf(fact_1__092_060open_062_092_060And_062vs_H_At_H_O_A_092_060lbrakk_062reaches__on_Ar_As_Avs_H_At_H_059_Alength_Avs_A_061_Alength_Avs_H_092_060rbrakk_062_A_092_060Longrightarrow_062_Avs_A_061_Avs_H_A_092_060and_062_As_H_A_061_At_H_092_060close_062,axiom,
    ! [Vs: list_c,T: b] :
      ( ( reaches_on_b_c @ r @ s @ Vs @ T )
     => ( ( ( size_size_list_c @ vs )
          = ( size_size_list_c @ Vs ) )
       => ( ( vs = Vs )
          & ( s2 = T ) ) ) ) ).

% \<open>\<And>vs' t'. \<lbrakk>reaches_on r s vs' t'; length vs = length vs'\<rbrakk> \<Longrightarrow> vs = vs' \<and> s' = t'\<close>
thf(fact_2_assms_I1_J,axiom,
    reaches_on_b_c @ r @ s @ vs @ s2 ).

% assms(1)
thf(fact_3__092_060open_062_092_060exists_062s_H_Ha_As_H_H_H_O_Areaches__on_Ar_As_A_Itake_A_Ilength_Avs_J_Avs_H_J_As_H_Ha_A_092_060and_062_Ar_As_H_Ha_A_061_ASome_A_Is_H_H_H_M_Avs_H_A_B_Alength_Avs_J_A_092_060and_062_Areaches__on_Ar_As_H_H_H_A_Idrop_A_ISuc_A_Ilength_Avs_J_J_Avs_H_J_As_H_H_092_060close_062,axiom,
    ? [S: b,S2: b] :
      ( ( reaches_on_b_c @ r @ s @ ( take_c @ ( size_size_list_c @ vs ) @ vs2 ) @ S )
      & ( ( r @ S )
        = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S2 @ ( nth_c @ vs2 @ ( size_size_list_c @ vs ) ) ) ) )
      & ( reaches_on_b_c @ r @ S2 @ ( drop_c @ ( suc @ ( size_size_list_c @ vs ) ) @ vs2 ) @ s3 ) ) ).

% \<open>\<exists>s''a s'''. reaches_on r s (take (length vs) vs') s''a \<and> r s''a = Some (s''', vs' ! length vs) \<and> reaches_on r s''' (drop (Suc (length vs)) vs') s''\<close>
thf(fact_4_option_Oinject,axiom,
    ! [X2: produc1133278724512500366at_nat,Y2: produc1133278724512500366at_nat] :
      ( ( ( some_P6326260653552803955at_nat @ X2 )
        = ( some_P6326260653552803955at_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_5_option_Oinject,axiom,
    ! [X2: produc8679724179870777384at_nat,Y2: produc8679724179870777384at_nat] :
      ( ( ( some_P5406115939492372877at_nat @ X2 )
        = ( some_P5406115939492372877at_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_6_option_Oinject,axiom,
    ! [X2: produc3836566408362883245_o_nat,Y2: produc3836566408362883245_o_nat] :
      ( ( ( some_P1114528500415430536_o_nat @ X2 )
        = ( some_P1114528500415430536_o_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_7_option_Oinject,axiom,
    ! [X2: produc2271636064823979023od_b_c,Y2: produc2271636064823979023od_b_c] :
      ( ( ( some_P7665882026316300020od_b_c @ X2 )
        = ( some_P7665882026316300020od_b_c @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_8_option_Oinject,axiom,
    ! [X2: c,Y2: c] :
      ( ( ( some_c @ X2 )
        = ( some_c @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_9_option_Oinject,axiom,
    ! [X2: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( ( some_P7363390416028606310at_nat @ X2 )
        = ( some_P7363390416028606310at_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_10_option_Oinject,axiom,
    ! [X2: produc3074792404157404414_o_nat,Y2: produc3074792404157404414_o_nat] :
      ( ( ( some_P2630223654056210137_o_nat @ X2 )
        = ( some_P2630223654056210137_o_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_11_option_Oinject,axiom,
    ! [X2: product_prod_b_c,Y2: product_prod_b_c] :
      ( ( ( some_P804611721829158477od_b_c @ X2 )
        = ( some_P804611721829158477od_b_c @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_12_option_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( some_nat @ X2 )
        = ( some_nat @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_13_prod_Oinject,axiom,
    ! [X1: c,X2: nat,Y1: c,Y2: nat] :
      ( ( ( product_Pair_c_nat @ X1 @ X2 )
        = ( product_Pair_c_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_14_prod_Oinject,axiom,
    ! [X1: c,X2: c,Y1: c,Y2: c] :
      ( ( ( product_Pair_c_c @ X1 @ X2 )
        = ( product_Pair_c_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_15_prod_Oinject,axiom,
    ! [X1: b,X2: produc5747662315571815230od_b_c,Y1: b,Y2: produc5747662315571815230od_b_c] :
      ( ( ( produc7015427828931889894od_b_c @ X1 @ X2 )
        = ( produc7015427828931889894od_b_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_16_prod_Oinject,axiom,
    ! [X1: b,X2: produc3027252292617403629od_b_c,Y1: b,Y2: produc3027252292617403629od_b_c] :
      ( ( ( produc1384939585547926677od_b_c @ X1 @ X2 )
        = ( produc1384939585547926677od_b_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_17_prod_Oinject,axiom,
    ! [X1: b,X2: list_P903359562653991662od_b_c,Y1: b,Y2: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ X1 @ X2 )
        = ( produc561751498933632326od_b_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_18_prod_Oinject,axiom,
    ! [X1: product_prod_nat_nat,X2: product_prod_nat_nat,Y1: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( ( produc6161850002892822231at_nat @ X1 @ X2 )
        = ( produc6161850002892822231at_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_19_prod_Oinject,axiom,
    ! [X1: b,X2: c,Y1: b,Y2: c] :
      ( ( ( product_Pair_b_c @ X1 @ X2 )
        = ( product_Pair_b_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_20_prod_Oinject,axiom,
    ! [X1: nat > $o,X2: nat,Y1: nat > $o,Y2: nat] :
      ( ( ( produc7277522915581678840_o_nat @ X1 @ X2 )
        = ( produc7277522915581678840_o_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_21_prod_Oinject,axiom,
    ! [X1: nat,X2: nat,Y1: nat,Y2: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X2 )
        = ( product_Pair_nat_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_22_old_Oprod_Oinject,axiom,
    ! [A: c,B: nat,A2: c,B2: nat] :
      ( ( ( product_Pair_c_nat @ A @ B )
        = ( product_Pair_c_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_23_old_Oprod_Oinject,axiom,
    ! [A: c,B: c,A2: c,B2: c] :
      ( ( ( product_Pair_c_c @ A @ B )
        = ( product_Pair_c_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_24_old_Oprod_Oinject,axiom,
    ! [A: b,B: produc5747662315571815230od_b_c,A2: b,B2: produc5747662315571815230od_b_c] :
      ( ( ( produc7015427828931889894od_b_c @ A @ B )
        = ( produc7015427828931889894od_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_25_old_Oprod_Oinject,axiom,
    ! [A: b,B: produc3027252292617403629od_b_c,A2: b,B2: produc3027252292617403629od_b_c] :
      ( ( ( produc1384939585547926677od_b_c @ A @ B )
        = ( produc1384939585547926677od_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_26_old_Oprod_Oinject,axiom,
    ! [A: b,B: list_P903359562653991662od_b_c,A2: b,B2: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ A @ B )
        = ( produc561751498933632326od_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_27_old_Oprod_Oinject,axiom,
    ! [A: product_prod_nat_nat,B: product_prod_nat_nat,A2: product_prod_nat_nat,B2: product_prod_nat_nat] :
      ( ( ( produc6161850002892822231at_nat @ A @ B )
        = ( produc6161850002892822231at_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_28_old_Oprod_Oinject,axiom,
    ! [A: b,B: c,A2: b,B2: c] :
      ( ( ( product_Pair_b_c @ A @ B )
        = ( product_Pair_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_29_old_Oprod_Oinject,axiom,
    ! [A: nat > $o,B: nat,A2: nat > $o,B2: nat] :
      ( ( ( produc7277522915581678840_o_nat @ A @ B )
        = ( produc7277522915581678840_o_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_30_old_Oprod_Oinject,axiom,
    ! [A: nat,B: nat,A2: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_31_read__t_Osimps_I2_J,axiom,
    ! [E: c,T2: nat] :
      ( ( read_t_c_nat @ ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ E @ T2 ) ) )
      = ( some_nat @ T2 ) ) ).

% read_t.simps(2)
thf(fact_32_read__t_Osimps_I2_J,axiom,
    ! [E: nat > $o,T2: nat] :
      ( ( read_t_nat_o_nat @ ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ E @ T2 ) ) )
      = ( some_nat @ T2 ) ) ).

% read_t.simps(2)
thf(fact_33_read__t_Osimps_I2_J,axiom,
    ! [E: nat,T2: nat] :
      ( ( read_t_nat_nat @ ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ E @ T2 ) ) )
      = ( some_nat @ T2 ) ) ).

% read_t.simps(2)
thf(fact_34_plus__prod_Ocases,axiom,
    ! [X: produc349518998152878311at_nat] :
      ~ ! [A3: product_prod_nat_nat,B3: product_prod_nat_nat,C: product_prod_nat_nat,D: product_prod_nat_nat] :
          ( X
         != ( produc4662710985925991255at_nat @ ( produc6161850002892822231at_nat @ A3 @ B3 ) @ ( produc6161850002892822231at_nat @ C @ D ) ) ) ).

% plus_prod.cases
thf(fact_35_plus__prod_Ocases,axiom,
    ! [X: produc859450856879609959at_nat] :
      ~ ! [A3: nat,B3: nat,C: nat,D: nat] :
          ( X
         != ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A3 @ B3 ) @ ( product_Pair_nat_nat @ C @ D ) ) ) ).

% plus_prod.cases
thf(fact_36_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_c_nat] :
      ~ ! [A3: c,B3: nat] :
          ( Y
         != ( product_Pair_c_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_37_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_c_c] :
      ~ ! [A3: c,B3: c] :
          ( Y
         != ( product_Pair_c_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_38_old_Oprod_Oexhaust,axiom,
    ! [Y: produc6452300523622238572od_b_c] :
      ~ ! [A3: b,B3: produc5747662315571815230od_b_c] :
          ( Y
         != ( produc7015427828931889894od_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_39_old_Oprod_Oexhaust,axiom,
    ! [Y: produc2009451851958091931od_b_c] :
      ~ ! [A3: b,B3: produc3027252292617403629od_b_c] :
          ( Y
         != ( produc1384939585547926677od_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_40_old_Oprod_Oexhaust,axiom,
    ! [Y: produc6475121930738208726od_b_c] :
      ~ ! [A3: b,B3: list_P903359562653991662od_b_c] :
          ( Y
         != ( produc561751498933632326od_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_41_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_b_c] :
      ~ ! [A3: b,B3: c] :
          ( Y
         != ( product_Pair_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_42_old_Oprod_Oexhaust,axiom,
    ! [Y: produc3074792404157404414_o_nat] :
      ~ ! [A3: nat > $o,B3: nat] :
          ( Y
         != ( produc7277522915581678840_o_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_43_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_nat_nat] :
      ~ ! [A3: nat,B3: nat] :
          ( Y
         != ( product_Pair_nat_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_44_old_Oprod_Oexhaust,axiom,
    ! [Y: produc859450856879609959at_nat] :
      ~ ! [A3: product_prod_nat_nat,B3: product_prod_nat_nat] :
          ( Y
         != ( produc6161850002892822231at_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_45_assms_I3_J,axiom,
    ord_less_nat @ ( size_size_list_c @ vs ) @ ( size_size_list_c @ vs2 ) ).

% assms(3)
thf(fact_46_reaches__on__inj,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,T2: product_prod_nat_nat,Vs: list_P6011104703257516679at_nat,T: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ T2 )
     => ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs @ T )
       => ( ( ( size_s5460976970255530739at_nat @ Vs2 )
            = ( size_s5460976970255530739at_nat @ Vs ) )
         => ( ( Vs2 = Vs )
            & ( T2 = T ) ) ) ) ) ).

% reaches_on_inj
thf(fact_47_reaches__on__inj,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,T2: nat > $o,Vs: list_nat,T: nat > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ T2 )
     => ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs @ T )
       => ( ( ( size_size_list_nat @ Vs2 )
            = ( size_size_list_nat @ Vs ) )
         => ( ( Vs2 = Vs )
            & ( T2 = T ) ) ) ) ) ).

% reaches_on_inj
thf(fact_48_reaches__on__inj,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,T2: nat,Vs: list_nat,T: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ T2 )
     => ( ( reaches_on_nat_nat @ Run @ S3 @ Vs @ T )
       => ( ( ( size_size_list_nat @ Vs2 )
            = ( size_size_list_nat @ Vs ) )
         => ( ( Vs2 = Vs )
            & ( T2 = T ) ) ) ) ) ).

% reaches_on_inj
thf(fact_49_reaches__on__inj,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,T2: b,Vs: list_c,T: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ T2 )
     => ( ( reaches_on_b_c @ Run @ S3 @ Vs @ T )
       => ( ( ( size_size_list_c @ Vs2 )
            = ( size_size_list_c @ Vs ) )
         => ( ( Vs2 = Vs )
            & ( T2 = T ) ) ) ) ) ).

% reaches_on_inj
thf(fact_50_prod__induct4,axiom,
    ! [P: produc2009451851958091931od_b_c > $o,X: produc2009451851958091931od_b_c] :
      ( ! [A3: b,B3: c,C: c > c,D: list_P903359562653991662od_b_c] : ( P @ ( produc1384939585547926677od_b_c @ A3 @ ( produc3590379597927054951od_b_c @ B3 @ ( produc1101678828523717360od_b_c @ C @ D ) ) ) )
     => ( P @ X ) ) ).

% prod_induct4
thf(fact_51_prod__induct3,axiom,
    ! [P: produc6452300523622238572od_b_c > $o,X: produc6452300523622238572od_b_c] :
      ( ! [A3: b,B3: c > c,C: list_P903359562653991662od_b_c] : ( P @ ( produc7015427828931889894od_b_c @ A3 @ ( produc1101678828523717360od_b_c @ B3 @ C ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_52_prod__induct3,axiom,
    ! [P: produc2009451851958091931od_b_c > $o,X: produc2009451851958091931od_b_c] :
      ( ! [A3: b,B3: c,C: produc5747662315571815230od_b_c] : ( P @ ( produc1384939585547926677od_b_c @ A3 @ ( produc3590379597927054951od_b_c @ B3 @ C ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_53_prod__induct3,axiom,
    ! [P: produc859450856879609959at_nat > $o,X: produc859450856879609959at_nat] :
      ( ! [A3: product_prod_nat_nat,B3: nat,C: nat] : ( P @ ( produc6161850002892822231at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ C ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_54_prod__cases4,axiom,
    ! [Y: produc2009451851958091931od_b_c] :
      ~ ! [A3: b,B3: c,C: c > c,D: list_P903359562653991662od_b_c] :
          ( Y
         != ( produc1384939585547926677od_b_c @ A3 @ ( produc3590379597927054951od_b_c @ B3 @ ( produc1101678828523717360od_b_c @ C @ D ) ) ) ) ).

% prod_cases4
thf(fact_55_prod__cases3,axiom,
    ! [Y: produc6452300523622238572od_b_c] :
      ~ ! [A3: b,B3: c > c,C: list_P903359562653991662od_b_c] :
          ( Y
         != ( produc7015427828931889894od_b_c @ A3 @ ( produc1101678828523717360od_b_c @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_56_prod__cases3,axiom,
    ! [Y: produc2009451851958091931od_b_c] :
      ~ ! [A3: b,B3: c,C: produc5747662315571815230od_b_c] :
          ( Y
         != ( produc1384939585547926677od_b_c @ A3 @ ( produc3590379597927054951od_b_c @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_57_prod__cases3,axiom,
    ! [Y: produc859450856879609959at_nat] :
      ~ ! [A3: product_prod_nat_nat,B3: nat,C: nat] :
          ( Y
         != ( produc6161850002892822231at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_58_Pair__inject,axiom,
    ! [A: c,B: nat,A2: c,B2: nat] :
      ( ( ( product_Pair_c_nat @ A @ B )
        = ( product_Pair_c_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_59_Pair__inject,axiom,
    ! [A: c,B: c,A2: c,B2: c] :
      ( ( ( product_Pair_c_c @ A @ B )
        = ( product_Pair_c_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_60_Pair__inject,axiom,
    ! [A: b,B: produc5747662315571815230od_b_c,A2: b,B2: produc5747662315571815230od_b_c] :
      ( ( ( produc7015427828931889894od_b_c @ A @ B )
        = ( produc7015427828931889894od_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_61_Pair__inject,axiom,
    ! [A: b,B: produc3027252292617403629od_b_c,A2: b,B2: produc3027252292617403629od_b_c] :
      ( ( ( produc1384939585547926677od_b_c @ A @ B )
        = ( produc1384939585547926677od_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_62_Pair__inject,axiom,
    ! [A: b,B: list_P903359562653991662od_b_c,A2: b,B2: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ A @ B )
        = ( produc561751498933632326od_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_63_Pair__inject,axiom,
    ! [A: b,B: c,A2: b,B2: c] :
      ( ( ( product_Pair_b_c @ A @ B )
        = ( product_Pair_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_64_Pair__inject,axiom,
    ! [A: nat > $o,B: nat,A2: nat > $o,B2: nat] :
      ( ( ( produc7277522915581678840_o_nat @ A @ B )
        = ( produc7277522915581678840_o_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_65_Pair__inject,axiom,
    ! [A: nat,B: nat,A2: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_66_Pair__inject,axiom,
    ! [A: product_prod_nat_nat,B: product_prod_nat_nat,A2: product_prod_nat_nat,B2: product_prod_nat_nat] :
      ( ( ( produc6161850002892822231at_nat @ A @ B )
        = ( produc6161850002892822231at_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_67_prod__cases,axiom,
    ! [P: product_prod_c_nat > $o,P2: product_prod_c_nat] :
      ( ! [A3: c,B3: nat] : ( P @ ( product_Pair_c_nat @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_68_prod__cases,axiom,
    ! [P: product_prod_c_c > $o,P2: product_prod_c_c] :
      ( ! [A3: c,B3: c] : ( P @ ( product_Pair_c_c @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_69_prod__cases,axiom,
    ! [P: produc6452300523622238572od_b_c > $o,P2: produc6452300523622238572od_b_c] :
      ( ! [A3: b,B3: produc5747662315571815230od_b_c] : ( P @ ( produc7015427828931889894od_b_c @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_70_prod__cases,axiom,
    ! [P: produc2009451851958091931od_b_c > $o,P2: produc2009451851958091931od_b_c] :
      ( ! [A3: b,B3: produc3027252292617403629od_b_c] : ( P @ ( produc1384939585547926677od_b_c @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_71_prod__cases,axiom,
    ! [P: produc6475121930738208726od_b_c > $o,P2: produc6475121930738208726od_b_c] :
      ( ! [A3: b,B3: list_P903359562653991662od_b_c] : ( P @ ( produc561751498933632326od_b_c @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_72_prod__cases,axiom,
    ! [P: product_prod_b_c > $o,P2: product_prod_b_c] :
      ( ! [A3: b,B3: c] : ( P @ ( product_Pair_b_c @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_73_prod__cases,axiom,
    ! [P: produc3074792404157404414_o_nat > $o,P2: produc3074792404157404414_o_nat] :
      ( ! [A3: nat > $o,B3: nat] : ( P @ ( produc7277522915581678840_o_nat @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_74_prod__cases,axiom,
    ! [P: product_prod_nat_nat > $o,P2: product_prod_nat_nat] :
      ( ! [A3: nat,B3: nat] : ( P @ ( product_Pair_nat_nat @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_75_prod__cases,axiom,
    ! [P: produc859450856879609959at_nat > $o,P2: produc859450856879609959at_nat] :
      ( ! [A3: product_prod_nat_nat,B3: product_prod_nat_nat] : ( P @ ( produc6161850002892822231at_nat @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_76_surj__pair,axiom,
    ! [P2: product_prod_c_nat] :
    ? [X3: c,Y3: nat] :
      ( P2
      = ( product_Pair_c_nat @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_77_surj__pair,axiom,
    ! [P2: product_prod_c_c] :
    ? [X3: c,Y3: c] :
      ( P2
      = ( product_Pair_c_c @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_78_surj__pair,axiom,
    ! [P2: produc6452300523622238572od_b_c] :
    ? [X3: b,Y3: produc5747662315571815230od_b_c] :
      ( P2
      = ( produc7015427828931889894od_b_c @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_79_surj__pair,axiom,
    ! [P2: produc2009451851958091931od_b_c] :
    ? [X3: b,Y3: produc3027252292617403629od_b_c] :
      ( P2
      = ( produc1384939585547926677od_b_c @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_80_surj__pair,axiom,
    ! [P2: produc6475121930738208726od_b_c] :
    ? [X3: b,Y3: list_P903359562653991662od_b_c] :
      ( P2
      = ( produc561751498933632326od_b_c @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_81_surj__pair,axiom,
    ! [P2: product_prod_b_c] :
    ? [X3: b,Y3: c] :
      ( P2
      = ( product_Pair_b_c @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_82_surj__pair,axiom,
    ! [P2: produc3074792404157404414_o_nat] :
    ? [X3: nat > $o,Y3: nat] :
      ( P2
      = ( produc7277522915581678840_o_nat @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_83_surj__pair,axiom,
    ! [P2: product_prod_nat_nat] :
    ? [X3: nat,Y3: nat] :
      ( P2
      = ( product_Pair_nat_nat @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_84_surj__pair,axiom,
    ! [P2: produc859450856879609959at_nat] :
    ? [X3: product_prod_nat_nat,Y3: product_prod_nat_nat] :
      ( P2
      = ( produc6161850002892822231at_nat @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_85_reaches__on__split,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat,I: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Vs2 ) )
       => ? [S: nat,S2: nat] :
            ( ( reaches_on_nat_nat @ Run @ S3 @ ( take_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S2 @ ( nth_nat @ Vs2 @ I ) ) ) )
            & ( reaches_on_nat_nat @ Run @ S2 @ ( drop_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_86_reaches__on__split,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,I: nat] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Vs2 ) )
       => ? [S: b,S2: b] :
            ( ( reaches_on_b_c @ Run @ S3 @ ( take_c @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S2 @ ( nth_c @ Vs2 @ I ) ) ) )
            & ( reaches_on_b_c @ Run @ S2 @ ( drop_c @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_87_reaches__on__split,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o,I: nat] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Vs2 ) )
       => ? [S: nat > $o,S2: nat > $o] :
            ( ( reaches_on_nat_o_nat @ Run @ S3 @ ( take_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S2 @ ( nth_nat @ Vs2 @ I ) ) ) )
            & ( reaches_on_nat_o_nat @ Run @ S2 @ ( drop_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_88_reaches__on__split,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat,I: nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_s5460976970255530739at_nat @ Vs2 ) )
       => ? [S: product_prod_nat_nat,S2: product_prod_nat_nat] :
            ( ( reache7802105818613033796at_nat @ Run @ S3 @ ( take_P2173866234530122223at_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S2 @ ( nth_Pr7617993195940197384at_nat @ Vs2 @ I ) ) ) )
            & ( reache7802105818613033796at_nat @ Run @ S2 @ ( drop_P8868858903918902087at_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_89_reaches__on__split,axiom,
    ! [Run: c > option4080930501838102381od_c_c,S3: c,Vs2: list_c,S4: c,I: nat] :
      ( ( reaches_on_c_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Vs2 ) )
       => ? [S: c,S2: c] :
            ( ( reaches_on_c_c @ Run @ S3 @ ( take_c @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ S2 @ ( nth_c @ Vs2 @ I ) ) ) )
            & ( reaches_on_c_c @ Run @ S2 @ ( drop_c @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_90_reaches__on__split,axiom,
    ! [Run: c > option7520157102916957007_c_nat,S3: c,Vs2: list_nat,S4: c,I: nat] :
      ( ( reaches_on_c_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Vs2 ) )
       => ? [S: c,S2: c] :
            ( ( reaches_on_c_nat @ Run @ S3 @ ( take_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ S2 @ ( nth_nat @ Vs2 @ I ) ) ) )
            & ( reaches_on_c_nat @ Run @ S2 @ ( drop_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_91_reaches__on__split,axiom,
    ! [Run: c > option1942655187168591086at_nat,S3: c,Vs2: list_P6011104703257516679at_nat,S4: c,I: nat] :
      ( ( reache8491605544138840325at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_s5460976970255530739at_nat @ Vs2 ) )
       => ? [S: c,S2: c] :
            ( ( reache8491605544138840325at_nat @ Run @ S3 @ ( take_P2173866234530122223at_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ S2 @ ( nth_Pr7617993195940197384at_nat @ Vs2 @ I ) ) ) )
            & ( reache8491605544138840325at_nat @ Run @ S2 @ ( drop_P8868858903918902087at_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_92_reaches__on__split,axiom,
    ! [Run: c > option695368374342530005od_b_c,S3: c,Vs2: list_P903359562653991662od_b_c,S4: c,I: nat] :
      ( ( reache6952892432467403884od_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_s3392097710323735898od_b_c @ Vs2 ) )
       => ? [S: c,S2: c] :
            ( ( reache6952892432467403884od_b_c @ Run @ S3 @ ( take_P8422700459012106326od_b_c @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ S2 @ ( nth_Product_prod_b_c @ Vs2 @ I ) ) ) )
            & ( reache6952892432467403884od_b_c @ Run @ S2 @ ( drop_P5669314423915875758od_b_c @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_93_reaches__on__split,axiom,
    ! [Run: b > option4534702620024642204od_b_c,S3: b,Vs2: list_l8907847357763382004od_b_c,S4: b,I: nat] :
      ( ( reache1893517197922682675od_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_s4150533072628932448od_b_c @ Vs2 ) )
       => ? [S: b,S2: b] :
            ( ( reache1893517197922682675od_b_c @ Run @ S3 @ ( take_l2014012074268970460od_b_c @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ S2 @ ( nth_li5970670012456435445od_b_c @ Vs2 @ I ) ) ) )
            & ( reache1893517197922682675od_b_c @ Run @ S2 @ ( drop_l3568355655282140980od_b_c @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_94_reaches__on__split,axiom,
    ! [Run: c > option5867295888766699645_o_nat,S3: c,Vs2: list_P6702368983108350734_o_nat,S4: c,I: nat] :
      ( ( reache7414395445689801210_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_nat @ I @ ( size_s1814491460036751778_o_nat @ Vs2 ) )
       => ? [S: c,S2: c] :
            ( ( reache7414395445689801210_o_nat @ Run @ S3 @ ( take_P3755762718101561744_o_nat @ I @ Vs2 ) @ S )
            & ( ( Run @ S )
              = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ S2 @ ( nth_Pr8224016110953687223_o_nat @ Vs2 @ I ) ) ) )
            & ( reache7414395445689801210_o_nat @ Run @ S2 @ ( drop_P621514002884824632_o_nat @ ( suc @ I ) @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split
thf(fact_95_reaches__on__takeWhile,axiom,
    ! [R: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat,S5: nat,V: nat,F: nat > $o,Vs: list_nat] :
      ( ( reaches_on_nat_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWhile_nat @ F @ Vs2 ) )
           => ? [T3: nat,T4: nat,V2: nat] :
                ( ( reaches_on_nat_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reaches_on_nat_nat @ R @ T3 @ ( drop_nat @ ( size_size_list_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_96_reaches__on__takeWhile,axiom,
    ! [R: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,S5: b,V: c,F: c > $o,Vs: list_c] :
      ( ( reaches_on_b_c @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWhile_c @ F @ Vs2 ) )
           => ? [T3: b,T4: b,V2: c] :
                ( ( reaches_on_b_c @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reaches_on_b_c @ R @ T3 @ ( drop_c @ ( size_size_list_c @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_97_reaches__on__takeWhile,axiom,
    ! [R: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o,S5: nat > $o,V: nat,F: nat > $o,Vs: list_nat] :
      ( ( reaches_on_nat_o_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWhile_nat @ F @ Vs2 ) )
           => ? [T3: nat > $o,T4: nat > $o,V2: nat] :
                ( ( reaches_on_nat_o_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reaches_on_nat_o_nat @ R @ T3 @ ( drop_nat @ ( size_size_list_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_98_reaches__on__takeWhile,axiom,
    ! [R: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat,S5: product_prod_nat_nat,V: product_prod_nat_nat,F: product_prod_nat_nat > $o,Vs: list_P6011104703257516679at_nat] :
      ( ( reache7802105818613033796at_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWh6395431351003862016at_nat @ F @ Vs2 ) )
           => ? [T3: product_prod_nat_nat,T4: product_prod_nat_nat,V2: product_prod_nat_nat] :
                ( ( reache7802105818613033796at_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reache7802105818613033796at_nat @ R @ T3 @ ( drop_P8868858903918902087at_nat @ ( size_s5460976970255530739at_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_99_reaches__on__takeWhile,axiom,
    ! [R: c > option4080930501838102381od_c_c,S3: c,Vs2: list_c,S4: c,S5: c,V: c,F: c > $o,Vs: list_c] :
      ( ( reaches_on_c_c @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWhile_c @ F @ Vs2 ) )
           => ? [T3: c,T4: c,V2: c] :
                ( ( reaches_on_c_c @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reaches_on_c_c @ R @ T3 @ ( drop_c @ ( size_size_list_c @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_100_reaches__on__takeWhile,axiom,
    ! [R: c > option7520157102916957007_c_nat,S3: c,Vs2: list_nat,S4: c,S5: c,V: nat,F: nat > $o,Vs: list_nat] :
      ( ( reaches_on_c_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWhile_nat @ F @ Vs2 ) )
           => ? [T3: c,T4: c,V2: nat] :
                ( ( reaches_on_c_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reaches_on_c_nat @ R @ T3 @ ( drop_nat @ ( size_size_list_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_101_reaches__on__takeWhile,axiom,
    ! [R: c > option1942655187168591086at_nat,S3: c,Vs2: list_P6011104703257516679at_nat,S4: c,S5: c,V: product_prod_nat_nat,F: product_prod_nat_nat > $o,Vs: list_P6011104703257516679at_nat] :
      ( ( reache8491605544138840325at_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWh6395431351003862016at_nat @ F @ Vs2 ) )
           => ? [T3: c,T4: c,V2: product_prod_nat_nat] :
                ( ( reache8491605544138840325at_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reache8491605544138840325at_nat @ R @ T3 @ ( drop_P8868858903918902087at_nat @ ( size_s5460976970255530739at_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_102_reaches__on__takeWhile,axiom,
    ! [R: c > option695368374342530005od_b_c,S3: c,Vs2: list_P903359562653991662od_b_c,S4: c,S5: c,V: product_prod_b_c,F: product_prod_b_c > $o,Vs: list_P903359562653991662od_b_c] :
      ( ( reache6952892432467403884od_b_c @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWh4752197550908997095od_b_c @ F @ Vs2 ) )
           => ? [T3: c,T4: c,V2: product_prod_b_c] :
                ( ( reache6952892432467403884od_b_c @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reache6952892432467403884od_b_c @ R @ T3 @ ( drop_P5669314423915875758od_b_c @ ( size_s3392097710323735898od_b_c @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_103_reaches__on__takeWhile,axiom,
    ! [R: b > option4534702620024642204od_b_c,S3: b,Vs2: list_l8907847357763382004od_b_c,S4: b,S5: b,V: list_P903359562653991662od_b_c,F: list_P903359562653991662od_b_c > $o,Vs: list_l8907847357763382004od_b_c] :
      ( ( reache1893517197922682675od_b_c @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWh4077192067580143341od_b_c @ F @ Vs2 ) )
           => ? [T3: b,T4: b,V2: list_P903359562653991662od_b_c] :
                ( ( reache1893517197922682675od_b_c @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reache1893517197922682675od_b_c @ R @ T3 @ ( drop_l3568355655282140980od_b_c @ ( size_s4150533072628932448od_b_c @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_104_reaches__on__takeWhile,axiom,
    ! [R: c > option5867295888766699645_o_nat,S3: c,Vs2: list_P6702368983108350734_o_nat,S4: c,S5: c,V: produc3074792404157404414_o_nat,F: produc3074792404157404414_o_nat > $o,Vs: list_P6702368983108350734_o_nat] :
      ( ( reache7414395445689801210_o_nat @ R @ S3 @ Vs2 @ S4 )
     => ( ( ( R @ S4 )
          = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ S5 @ V ) ) )
       => ( ~ ( F @ V )
         => ( ( Vs
              = ( takeWh2567599821982740159_o_nat @ F @ Vs2 ) )
           => ? [T3: c,T4: c,V2: produc3074792404157404414_o_nat] :
                ( ( reache7414395445689801210_o_nat @ R @ S3 @ Vs @ T3 )
                & ( ( R @ T3 )
                  = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ T4 @ V2 ) ) )
                & ~ ( F @ V2 )
                & ( reache7414395445689801210_o_nat @ R @ T3 @ ( drop_P621514002884824632_o_nat @ ( size_s1814491460036751778_o_nat @ Vs ) @ Vs2 ) @ S4 ) ) ) ) ) ) ).

% reaches_on_takeWhile
thf(fact_105_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_106_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_107_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_P903359562653991662od_b_c] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Product_prod_b_c @ ( take_P8422700459012106326od_b_c @ N @ Xs ) @ I )
        = ( nth_Product_prod_b_c @ Xs @ I ) ) ) ).

% nth_take
thf(fact_108_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_nat_o] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_nat_o @ ( take_nat_o @ N @ Xs ) @ I )
        = ( nth_nat_o @ Xs @ I ) ) ) ).

% nth_take
thf(fact_109_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_b] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_b @ ( take_b @ N @ Xs ) @ I )
        = ( nth_b @ Xs @ I ) ) ) ).

% nth_take
thf(fact_110_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_nat] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_nat @ ( take_nat @ N @ Xs ) @ I )
        = ( nth_nat @ Xs @ I ) ) ) ).

% nth_take
thf(fact_111_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Pr7617993195940197384at_nat @ ( take_P2173866234530122223at_nat @ N @ Xs ) @ I )
        = ( nth_Pr7617993195940197384at_nat @ Xs @ I ) ) ) ).

% nth_take
thf(fact_112_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_P267710562049004973od_c_c] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Product_prod_c_c @ ( take_P5635244877039430293od_c_c @ N @ Xs ) @ I )
        = ( nth_Product_prod_c_c @ Xs @ I ) ) ) ).

% nth_take
thf(fact_113_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_c @ ( take_c @ N @ Xs ) @ I )
        = ( nth_c @ Xs @ I ) ) ) ).

% nth_take
thf(fact_114_reaches__on__split_H,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat,I: nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_eq_nat @ I @ ( size_s5460976970255530739at_nat @ Vs2 ) )
       => ? [S: product_prod_nat_nat] :
            ( ( reache7802105818613033796at_nat @ Run @ S3 @ ( take_P2173866234530122223at_nat @ I @ Vs2 ) @ S )
            & ( reache7802105818613033796at_nat @ Run @ S @ ( drop_P8868858903918902087at_nat @ I @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split'
thf(fact_115_reaches__on__split_H,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o,I: nat] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_eq_nat @ I @ ( size_size_list_nat @ Vs2 ) )
       => ? [S: nat > $o] :
            ( ( reaches_on_nat_o_nat @ Run @ S3 @ ( take_nat @ I @ Vs2 ) @ S )
            & ( reaches_on_nat_o_nat @ Run @ S @ ( drop_nat @ I @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split'
thf(fact_116_reaches__on__split_H,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat,I: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_eq_nat @ I @ ( size_size_list_nat @ Vs2 ) )
       => ? [S: nat] :
            ( ( reaches_on_nat_nat @ Run @ S3 @ ( take_nat @ I @ Vs2 ) @ S )
            & ( reaches_on_nat_nat @ Run @ S @ ( drop_nat @ I @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split'
thf(fact_117_reaches__on__split_H,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,I: nat] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ord_less_eq_nat @ I @ ( size_size_list_c @ Vs2 ) )
       => ? [S: b] :
            ( ( reaches_on_b_c @ Run @ S3 @ ( take_c @ I @ Vs2 ) @ S )
            & ( reaches_on_b_c @ Run @ S @ ( drop_c @ I @ Vs2 ) @ S4 ) ) ) ) ).

% reaches_on_split'
thf(fact_118_reaches__Suc__split__last,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,N: nat,S4: b] :
      ( ( reaches_b_c @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: b,X3: c] :
          ( ( reaches_b_c @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_119_reaches__Suc__split__last,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,N: nat,S4: nat] :
      ( ( reaches_nat_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: nat,X3: nat] :
          ( ( reaches_nat_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_120_reaches__Suc__split__last,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,N: nat,S4: nat > $o] :
      ( ( reaches_nat_o_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: nat > $o,X3: nat] :
          ( ( reaches_nat_o_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_121_reaches__Suc__split__last,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,N: nat,S4: product_prod_nat_nat] :
      ( ( reache8454888495609270085at_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: product_prod_nat_nat,X3: product_prod_nat_nat] :
          ( ( reache8454888495609270085at_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_122_reaches__Suc__split__last,axiom,
    ! [Run: c > option7520157102916957007_c_nat,S3: c,N: nat,S4: c] :
      ( ( reaches_c_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: c,X3: nat] :
          ( ( reaches_c_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_123_reaches__Suc__split__last,axiom,
    ! [Run: c > option4080930501838102381od_c_c,S3: c,N: nat,S4: c] :
      ( ( reaches_c_c @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: c,X3: c] :
          ( ( reaches_c_c @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_124_reaches__Suc__split__last,axiom,
    ! [Run: c > option1942655187168591086at_nat,S3: c,N: nat,S4: c] :
      ( ( reache3437733211291613574at_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: c,X3: product_prod_nat_nat] :
          ( ( reache3437733211291613574at_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_125_reaches__Suc__split__last,axiom,
    ! [Run: c > option695368374342530005od_b_c,S3: c,N: nat,S4: c] :
      ( ( reache2525847660596713581od_b_c @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: c,X3: product_prod_b_c] :
          ( ( reache2525847660596713581od_b_c @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_126_reaches__Suc__split__last,axiom,
    ! [Run: b > option4534702620024642204od_b_c,S3: b,N: nat,S4: b] :
      ( ( reache4190940867893757620od_b_c @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: b,X3: list_P903359562653991662od_b_c] :
          ( ( reache4190940867893757620od_b_c @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_127_reaches__Suc__split__last,axiom,
    ! [Run: c > option5867295888766699645_o_nat,S3: c,N: nat,S4: c] :
      ( ( reache7676631594583440569_o_nat @ Run @ S3 @ ( suc @ N ) @ S4 )
     => ? [S: c,X3: produc3074792404157404414_o_nat] :
          ( ( reache7676631594583440569_o_nat @ Run @ S3 @ N @ S )
          & ( ( Run @ S )
            = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ S4 @ X3 ) ) ) ) ) ).

% reaches_Suc_split_last
thf(fact_128_reaches_Ointros_I2_J,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,S4: b,V: c,N: nat,S5: b] :
      ( ( ( Run @ S3 )
        = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S4 @ V ) ) )
     => ( ( reaches_b_c @ Run @ S4 @ N @ S5 )
       => ( reaches_b_c @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_129_reaches_Ointros_I2_J,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,S4: nat,V: nat,N: nat,S5: nat] :
      ( ( ( Run @ S3 )
        = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S4 @ V ) ) )
     => ( ( reaches_nat_nat @ Run @ S4 @ N @ S5 )
       => ( reaches_nat_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_130_reaches_Ointros_I2_J,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,S4: nat > $o,V: nat,N: nat,S5: nat > $o] :
      ( ( ( Run @ S3 )
        = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S4 @ V ) ) )
     => ( ( reaches_nat_o_nat @ Run @ S4 @ N @ S5 )
       => ( reaches_nat_o_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_131_reaches_Ointros_I2_J,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,S4: product_prod_nat_nat,V: product_prod_nat_nat,N: nat,S5: product_prod_nat_nat] :
      ( ( ( Run @ S3 )
        = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S4 @ V ) ) )
     => ( ( reache8454888495609270085at_nat @ Run @ S4 @ N @ S5 )
       => ( reache8454888495609270085at_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_132_reaches_Ointros_I2_J,axiom,
    ! [Run: c > option7520157102916957007_c_nat,S3: c,S4: c,V: nat,N: nat,S5: c] :
      ( ( ( Run @ S3 )
        = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ S4 @ V ) ) )
     => ( ( reaches_c_nat @ Run @ S4 @ N @ S5 )
       => ( reaches_c_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_133_reaches_Ointros_I2_J,axiom,
    ! [Run: c > option4080930501838102381od_c_c,S3: c,S4: c,V: c,N: nat,S5: c] :
      ( ( ( Run @ S3 )
        = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ S4 @ V ) ) )
     => ( ( reaches_c_c @ Run @ S4 @ N @ S5 )
       => ( reaches_c_c @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_134_reaches_Ointros_I2_J,axiom,
    ! [Run: c > option1942655187168591086at_nat,S3: c,S4: c,V: product_prod_nat_nat,N: nat,S5: c] :
      ( ( ( Run @ S3 )
        = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ S4 @ V ) ) )
     => ( ( reache3437733211291613574at_nat @ Run @ S4 @ N @ S5 )
       => ( reache3437733211291613574at_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_135_reaches_Ointros_I2_J,axiom,
    ! [Run: c > option695368374342530005od_b_c,S3: c,S4: c,V: product_prod_b_c,N: nat,S5: c] :
      ( ( ( Run @ S3 )
        = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ S4 @ V ) ) )
     => ( ( reache2525847660596713581od_b_c @ Run @ S4 @ N @ S5 )
       => ( reache2525847660596713581od_b_c @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_136_reaches_Ointros_I2_J,axiom,
    ! [Run: b > option4534702620024642204od_b_c,S3: b,S4: b,V: list_P903359562653991662od_b_c,N: nat,S5: b] :
      ( ( ( Run @ S3 )
        = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ S4 @ V ) ) )
     => ( ( reache4190940867893757620od_b_c @ Run @ S4 @ N @ S5 )
       => ( reache4190940867893757620od_b_c @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_137_reaches_Ointros_I2_J,axiom,
    ! [Run: c > option5867295888766699645_o_nat,S3: c,S4: c,V: produc3074792404157404414_o_nat,N: nat,S5: c] :
      ( ( ( Run @ S3 )
        = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ S4 @ V ) ) )
     => ( ( reache7676631594583440569_o_nat @ Run @ S4 @ N @ S5 )
       => ( reache7676631594583440569_o_nat @ Run @ S3 @ ( suc @ N ) @ S5 ) ) ) ).

% reaches.intros(2)
thf(fact_138_takeWhile__idem,axiom,
    ! [P: c > $o,Xs: list_c] :
      ( ( takeWhile_c @ P @ ( takeWhile_c @ P @ Xs ) )
      = ( takeWhile_c @ P @ Xs ) ) ).

% takeWhile_idem
thf(fact_139_takeWhile__idem,axiom,
    ! [P: nat > $o,Xs: list_nat] :
      ( ( takeWhile_nat @ P @ ( takeWhile_nat @ P @ Xs ) )
      = ( takeWhile_nat @ P @ Xs ) ) ).

% takeWhile_idem
thf(fact_140_takeWhile__idem,axiom,
    ! [P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( takeWh6395431351003862016at_nat @ P @ ( takeWh6395431351003862016at_nat @ P @ Xs ) )
      = ( takeWh6395431351003862016at_nat @ P @ Xs ) ) ).

% takeWhile_idem
thf(fact_141_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_142_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_143_mem__Collect__eq,axiom,
    ! [A: list_nat,P: list_nat > $o] :
      ( ( member_list_nat @ A @ ( collect_list_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_144_mem__Collect__eq,axiom,
    ! [A: list_c,P: list_c > $o] :
      ( ( member_list_c @ A @ ( collect_list_c @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_145_mem__Collect__eq,axiom,
    ! [A: nat > $o,P: ( nat > $o ) > $o] :
      ( ( member_nat_o @ A @ ( collect_nat_o @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_146_mem__Collect__eq,axiom,
    ! [A: c,P: c > $o] :
      ( ( member_c @ A @ ( collect_c @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_147_mem__Collect__eq,axiom,
    ! [A: b,P: b > $o] :
      ( ( member_b @ A @ ( collect_b @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_148_mem__Collect__eq,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_149_Collect__mem__eq,axiom,
    ! [A4: set_list_nat] :
      ( ( collect_list_nat
        @ ^ [X4: list_nat] : ( member_list_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_150_Collect__mem__eq,axiom,
    ! [A4: set_list_c] :
      ( ( collect_list_c
        @ ^ [X4: list_c] : ( member_list_c @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_151_Collect__mem__eq,axiom,
    ! [A4: set_nat_o] :
      ( ( collect_nat_o
        @ ^ [X4: nat > $o] : ( member_nat_o @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_152_Collect__mem__eq,axiom,
    ! [A4: set_c] :
      ( ( collect_c
        @ ^ [X4: c] : ( member_c @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_153_Collect__mem__eq,axiom,
    ! [A4: set_b] :
      ( ( collect_b
        @ ^ [X4: b] : ( member_b @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_154_Collect__mem__eq,axiom,
    ! [A4: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_155_Collect__cong,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect_nat @ P )
        = ( collect_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_156_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_157_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_158_take__all__iff,axiom,
    ! [N: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( take_P2173866234530122223at_nat @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_159_take__all__iff,axiom,
    ! [N: nat,Xs: list_P267710562049004973od_c_c] :
      ( ( ( take_P5635244877039430293od_c_c @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s2756448709718749209od_c_c @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_160_take__all__iff,axiom,
    ! [N: nat,Xs: list_P903359562653991662od_b_c] :
      ( ( ( take_P8422700459012106326od_b_c @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_161_take__all__iff,axiom,
    ! [N: nat,Xs: list_list_c] :
      ( ( ( take_list_c @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s491565468217265656list_c @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_162_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_163_take__all__iff,axiom,
    ! [N: nat,Xs: list_nat_o] :
      ( ( ( take_nat_o @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_nat_o @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_164_take__all__iff,axiom,
    ! [N: nat,Xs: list_b] :
      ( ( ( take_b @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_b @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_165_take__all__iff,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( take_c @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_166_take__all,axiom,
    ! [Xs: list_P6011104703257516679at_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ N )
     => ( ( take_P2173866234530122223at_nat @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_167_take__all,axiom,
    ! [Xs: list_P267710562049004973od_c_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s2756448709718749209od_c_c @ Xs ) @ N )
     => ( ( take_P5635244877039430293od_c_c @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_168_take__all,axiom,
    ! [Xs: list_P903359562653991662od_b_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Xs ) @ N )
     => ( ( take_P8422700459012106326od_b_c @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_169_take__all,axiom,
    ! [Xs: list_list_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s491565468217265656list_c @ Xs ) @ N )
     => ( ( take_list_c @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_170_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_171_take__all,axiom,
    ! [Xs: list_nat_o,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat_o @ Xs ) @ N )
     => ( ( take_nat_o @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_172_take__all,axiom,
    ! [Xs: list_b,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_b @ Xs ) @ N )
     => ( ( take_b @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_173_take__all,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N )
     => ( ( take_c @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_174_lift__Suc__mono__le,axiom,
    ! [F: nat > set_Pr4354077987950702516_o_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le1487873752969080852_o_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le1487873752969080852_o_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_175_lift__Suc__mono__le,axiom,
    ! [F: nat > set_Product_prod_b_c,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le253122037897321832od_b_c @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le253122037897321832od_b_c @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_176_lift__Suc__mono__le,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_177_lift__Suc__mono__le,axiom,
    ! [F: nat > set_c,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_c @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_c @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_178_lift__Suc__mono__le,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_179_lift__Suc__mono__le,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_180_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_Pr4354077987950702516_o_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le1487873752969080852_o_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le1487873752969080852_o_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_181_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_Product_prod_b_c,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le253122037897321832od_b_c @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le253122037897321832od_b_c @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_182_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_183_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_c,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_c @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_c @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_184_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat_o @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat_o @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_185_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_186_timestamp__total,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
      | ( ord_less_eq_nat @ B @ A ) ) ).

% timestamp_total
thf(fact_187_length__takeWhile__le,axiom,
    ! [P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] : ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) ) @ ( size_s5460976970255530739at_nat @ Xs ) ) ).

% length_takeWhile_le
thf(fact_188_length__takeWhile__le,axiom,
    ! [P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] : ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) ) @ ( size_s3392097710323735898od_b_c @ Xs ) ) ).

% length_takeWhile_le
thf(fact_189_length__takeWhile__le,axiom,
    ! [P: list_c > $o,Xs: list_list_c] : ( ord_less_eq_nat @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P @ Xs ) ) @ ( size_s491565468217265656list_c @ Xs ) ) ).

% length_takeWhile_le
thf(fact_190_length__takeWhile__le,axiom,
    ! [P: nat > $o,Xs: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( takeWhile_nat @ P @ Xs ) ) @ ( size_size_list_nat @ Xs ) ) ).

% length_takeWhile_le
thf(fact_191_length__takeWhile__le,axiom,
    ! [P: ( nat > $o ) > $o,Xs: list_nat_o] : ( ord_less_eq_nat @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P @ Xs ) ) @ ( size_size_list_nat_o @ Xs ) ) ).

% length_takeWhile_le
thf(fact_192_length__takeWhile__le,axiom,
    ! [P: b > $o,Xs: list_b] : ( ord_less_eq_nat @ ( size_size_list_b @ ( takeWhile_b @ P @ Xs ) ) @ ( size_size_list_b @ Xs ) ) ).

% length_takeWhile_le
thf(fact_193_length__takeWhile__le,axiom,
    ! [P: c > $o,Xs: list_c] : ( ord_less_eq_nat @ ( size_size_list_c @ ( takeWhile_c @ P @ Xs ) ) @ ( size_size_list_c @ Xs ) ) ).

% length_takeWhile_le
thf(fact_194_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F @ I2 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_195_dropWhile__dropWhile2,axiom,
    ! [P: c > $o,Q: c > $o,Xs: list_c] :
      ( ! [X3: c] :
          ( ( P @ X3 )
         => ( Q @ X3 ) )
     => ( ( takeWhile_c @ P @ ( takeWhile_c @ Q @ Xs ) )
        = ( takeWhile_c @ P @ Xs ) ) ) ).

% dropWhile_dropWhile2
thf(fact_196_dropWhile__dropWhile2,axiom,
    ! [P: nat > $o,Q: nat > $o,Xs: list_nat] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
         => ( Q @ X3 ) )
     => ( ( takeWhile_nat @ P @ ( takeWhile_nat @ Q @ Xs ) )
        = ( takeWhile_nat @ P @ Xs ) ) ) ).

% dropWhile_dropWhile2
thf(fact_197_dropWhile__dropWhile2,axiom,
    ! [P: product_prod_nat_nat > $o,Q: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat] :
          ( ( P @ X3 )
         => ( Q @ X3 ) )
     => ( ( takeWh6395431351003862016at_nat @ P @ ( takeWh6395431351003862016at_nat @ Q @ Xs ) )
        = ( takeWh6395431351003862016at_nat @ P @ Xs ) ) ) ).

% dropWhile_dropWhile2
thf(fact_198_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_199_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y3: nat] :
            ( ( P @ Y3 )
           => ( ord_less_eq_nat @ Y3 @ B ) )
       => ? [X3: nat] :
            ( ( P @ X3 )
            & ! [Y4: nat] :
                ( ( P @ Y4 )
               => ( ord_less_eq_nat @ Y4 @ X3 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_200_linorder__neqE__nat,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
     => ( ~ ( ord_less_nat @ X @ Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neqE_nat
thf(fact_201_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_202_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N4: nat] :
          ( ( ord_less_nat @ M2 @ N4 )
          | ( M2 = N4 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_203_infinite__descent,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P @ N3 )
         => ? [M3: nat] :
              ( ( ord_less_nat @ M3 @ N3 )
              & ~ ( P @ M3 ) ) )
     => ( P @ N ) ) ).

% infinite_descent
thf(fact_204_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_nat @ M3 @ N3 )
             => ( P @ M3 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% nat_less_induct
thf(fact_205_less__irrefl__nat,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_irrefl_nat
thf(fact_206_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_207_less__not__refl3,axiom,
    ! [S3: nat,T2: nat] :
      ( ( ord_less_nat @ S3 @ T2 )
     => ( S3 != T2 ) ) ).

% less_not_refl3
thf(fact_208_less__not__refl2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( M != N ) ) ).

% less_not_refl2
thf(fact_209_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_210_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_not_refl
thf(fact_211_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_212_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N4: nat] :
          ( ( ord_less_eq_nat @ M2 @ N4 )
          & ( M2 != N4 ) ) ) ) ).

% nat_less_le
thf(fact_213_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_214_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_215_le__trans,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ K )
       => ( ord_less_eq_nat @ I @ K ) ) ) ).

% le_trans
thf(fact_216_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_217_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_218_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N4: nat] : ( ord_less_eq_nat @ ( suc @ N4 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_219_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_220_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_221_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_222_inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ J )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ ( suc @ N3 ) )
                 => ( P @ N3 ) ) ) )
         => ( P @ I ) ) ) ) ).

% inc_induct
thf(fact_223_dec__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ I )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ N3 )
                 => ( P @ ( suc @ N3 ) ) ) ) )
         => ( P @ J ) ) ) ) ).

% dec_induct
thf(fact_224_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_225_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_226_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R2: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X3: nat] : ( R2 @ X3 @ X3 )
       => ( ! [X3: nat,Y3: nat,Z: nat] :
              ( ( R2 @ X3 @ Y3 )
             => ( ( R2 @ Y3 @ Z )
               => ( R2 @ X3 @ Z ) ) )
         => ( ! [N3: nat] : ( R2 @ N3 @ ( suc @ N3 ) )
           => ( R2 @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_227_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P @ M )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ M @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_228_full__nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M3 ) @ N3 )
             => ( P @ M3 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% full_nat_induct
thf(fact_229_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_230_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_231_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_232_Suc__le__D,axiom,
    ! [N: nat,M4: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M4 )
     => ? [M5: nat] :
          ( M4
          = ( suc @ M5 ) ) ) ).

% Suc_le_D
thf(fact_233_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_234_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_235_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_236_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: product_prod_c_c > $o,Xs: list_P267710562049004973od_c_c] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_Product_prod_c_c @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_s2756448709718749209od_c_c @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_s2756448709718749209od_c_c @ ( takeWh1964741968936321062od_c_c @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_237_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_s5460976970255530739at_nat @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_238_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_Product_prod_b_c @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_s3392097710323735898od_b_c @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_239_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: list_c > $o,Xs: list_list_c] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_list_c @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_s491565468217265656list_c @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_240_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: nat > $o,Xs: list_nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_nat @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_size_list_nat @ ( takeWhile_nat @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_241_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: ( nat > $o ) > $o,Xs: list_nat_o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_nat_o @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat_o @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_242_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: b > $o,Xs: list_b] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_b @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_b @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_size_list_b @ ( takeWhile_b @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_243_length__takeWhile__less__P__nth,axiom,
    ! [J: nat,P: c > $o,Xs: list_c] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ J )
         => ( P @ ( nth_c @ Xs @ I2 ) ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_c @ Xs ) )
       => ( ord_less_eq_nat @ J @ ( size_size_list_c @ ( takeWhile_c @ P @ Xs ) ) ) ) ) ).

% length_takeWhile_less_P_nth
thf(fact_244_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > product_prod_nat_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_le1203424502768444845at_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_le1203424502768444845at_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_245_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > produc3074792404157404414_o_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_le1440161272000278354_o_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_le1440161272000278354_o_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_246_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat > $o,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat_o @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_247_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > produc859450856879609959at_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_le9033551061567896339at_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_le9033551061567896339at_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_248_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > set_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_set_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_249_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_250_lift__Suc__mono__less,axiom,
    ! [F: nat > product_prod_nat_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le1203424502768444845at_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_le1203424502768444845at_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_251_lift__Suc__mono__less,axiom,
    ! [F: nat > produc3074792404157404414_o_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le1440161272000278354_o_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_le1440161272000278354_o_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_252_lift__Suc__mono__less,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_253_lift__Suc__mono__less,axiom,
    ! [F: nat > produc859450856879609959at_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le9033551061567896339at_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_le9033551061567896339at_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_254_lift__Suc__mono__less,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_set_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_255_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_256_nth__length__takeWhile,axiom,
    ! [P: product_prod_c_c > $o,Xs: list_P267710562049004973od_c_c] :
      ( ( ord_less_nat @ ( size_s2756448709718749209od_c_c @ ( takeWh1964741968936321062od_c_c @ P @ Xs ) ) @ ( size_s2756448709718749209od_c_c @ Xs ) )
     => ~ ( P @ ( nth_Product_prod_c_c @ Xs @ ( size_s2756448709718749209od_c_c @ ( takeWh1964741968936321062od_c_c @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_257_nth__length__takeWhile,axiom,
    ! [P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) ) @ ( size_s5460976970255530739at_nat @ Xs ) )
     => ~ ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_258_nth__length__takeWhile,axiom,
    ! [P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( ord_less_nat @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) ) @ ( size_s3392097710323735898od_b_c @ Xs ) )
     => ~ ( P @ ( nth_Product_prod_b_c @ Xs @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_259_nth__length__takeWhile,axiom,
    ! [P: list_c > $o,Xs: list_list_c] :
      ( ( ord_less_nat @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P @ Xs ) ) @ ( size_s491565468217265656list_c @ Xs ) )
     => ~ ( P @ ( nth_list_c @ Xs @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_260_nth__length__takeWhile,axiom,
    ! [P: nat > $o,Xs: list_nat] :
      ( ( ord_less_nat @ ( size_size_list_nat @ ( takeWhile_nat @ P @ Xs ) ) @ ( size_size_list_nat @ Xs ) )
     => ~ ( P @ ( nth_nat @ Xs @ ( size_size_list_nat @ ( takeWhile_nat @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_261_nth__length__takeWhile,axiom,
    ! [P: ( nat > $o ) > $o,Xs: list_nat_o] :
      ( ( ord_less_nat @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P @ Xs ) ) @ ( size_size_list_nat_o @ Xs ) )
     => ~ ( P @ ( nth_nat_o @ Xs @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_262_nth__length__takeWhile,axiom,
    ! [P: b > $o,Xs: list_b] :
      ( ( ord_less_nat @ ( size_size_list_b @ ( takeWhile_b @ P @ Xs ) ) @ ( size_size_list_b @ Xs ) )
     => ~ ( P @ ( nth_b @ Xs @ ( size_size_list_b @ ( takeWhile_b @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_263_nth__length__takeWhile,axiom,
    ! [P: c > $o,Xs: list_c] :
      ( ( ord_less_nat @ ( size_size_list_c @ ( takeWhile_c @ P @ Xs ) ) @ ( size_size_list_c @ Xs ) )
     => ~ ( P @ ( nth_c @ Xs @ ( size_size_list_c @ ( takeWhile_c @ P @ Xs ) ) ) ) ) ).

% nth_length_takeWhile
thf(fact_264_takeWhile__nth,axiom,
    ! [J: nat,P: product_prod_c_c > $o,Xs: list_P267710562049004973od_c_c] :
      ( ( ord_less_nat @ J @ ( size_s2756448709718749209od_c_c @ ( takeWh1964741968936321062od_c_c @ P @ Xs ) ) )
     => ( ( nth_Product_prod_c_c @ ( takeWh1964741968936321062od_c_c @ P @ Xs ) @ J )
        = ( nth_Product_prod_c_c @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_265_takeWhile__nth,axiom,
    ! [J: nat,P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ J @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( takeWh6395431351003862016at_nat @ P @ Xs ) @ J )
        = ( nth_Pr7617993195940197384at_nat @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_266_takeWhile__nth,axiom,
    ! [J: nat,P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( ord_less_nat @ J @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) ) )
     => ( ( nth_Product_prod_b_c @ ( takeWh4752197550908997095od_b_c @ P @ Xs ) @ J )
        = ( nth_Product_prod_b_c @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_267_takeWhile__nth,axiom,
    ! [J: nat,P: list_c > $o,Xs: list_list_c] :
      ( ( ord_less_nat @ J @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P @ Xs ) ) )
     => ( ( nth_list_c @ ( takeWhile_list_c @ P @ Xs ) @ J )
        = ( nth_list_c @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_268_takeWhile__nth,axiom,
    ! [J: nat,P: nat > $o,Xs: list_nat] :
      ( ( ord_less_nat @ J @ ( size_size_list_nat @ ( takeWhile_nat @ P @ Xs ) ) )
     => ( ( nth_nat @ ( takeWhile_nat @ P @ Xs ) @ J )
        = ( nth_nat @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_269_takeWhile__nth,axiom,
    ! [J: nat,P: ( nat > $o ) > $o,Xs: list_nat_o] :
      ( ( ord_less_nat @ J @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P @ Xs ) ) )
     => ( ( nth_nat_o @ ( takeWhile_nat_o @ P @ Xs ) @ J )
        = ( nth_nat_o @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_270_takeWhile__nth,axiom,
    ! [J: nat,P: b > $o,Xs: list_b] :
      ( ( ord_less_nat @ J @ ( size_size_list_b @ ( takeWhile_b @ P @ Xs ) ) )
     => ( ( nth_b @ ( takeWhile_b @ P @ Xs ) @ J )
        = ( nth_b @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_271_takeWhile__nth,axiom,
    ! [J: nat,P: c > $o,Xs: list_c] :
      ( ( ord_less_nat @ J @ ( size_size_list_c @ ( takeWhile_c @ P @ Xs ) ) )
     => ( ( nth_c @ ( takeWhile_c @ P @ Xs ) @ J )
        = ( nth_c @ Xs @ J ) ) ) ).

% takeWhile_nth
thf(fact_272_takeWhile__eq__take,axiom,
    ( takeWh1964741968936321062od_c_c
    = ( ^ [P3: product_prod_c_c > $o,Xs2: list_P267710562049004973od_c_c] : ( take_P5635244877039430293od_c_c @ ( size_s2756448709718749209od_c_c @ ( takeWh1964741968936321062od_c_c @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_273_takeWhile__eq__take,axiom,
    ( takeWh6395431351003862016at_nat
    = ( ^ [P3: product_prod_nat_nat > $o,Xs2: list_P6011104703257516679at_nat] : ( take_P2173866234530122223at_nat @ ( size_s5460976970255530739at_nat @ ( takeWh6395431351003862016at_nat @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_274_takeWhile__eq__take,axiom,
    ( takeWh4752197550908997095od_b_c
    = ( ^ [P3: product_prod_b_c > $o,Xs2: list_P903359562653991662od_b_c] : ( take_P8422700459012106326od_b_c @ ( size_s3392097710323735898od_b_c @ ( takeWh4752197550908997095od_b_c @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_275_takeWhile__eq__take,axiom,
    ( takeWhile_list_c
    = ( ^ [P3: list_c > $o,Xs2: list_list_c] : ( take_list_c @ ( size_s491565468217265656list_c @ ( takeWhile_list_c @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_276_takeWhile__eq__take,axiom,
    ( takeWhile_nat
    = ( ^ [P3: nat > $o,Xs2: list_nat] : ( take_nat @ ( size_size_list_nat @ ( takeWhile_nat @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_277_takeWhile__eq__take,axiom,
    ( takeWhile_nat_o
    = ( ^ [P3: ( nat > $o ) > $o,Xs2: list_nat_o] : ( take_nat_o @ ( size_size_list_nat_o @ ( takeWhile_nat_o @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_278_takeWhile__eq__take,axiom,
    ( takeWhile_b
    = ( ^ [P3: b > $o,Xs2: list_b] : ( take_b @ ( size_size_list_b @ ( takeWhile_b @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_279_takeWhile__eq__take,axiom,
    ( takeWhile_c
    = ( ^ [P3: c > $o,Xs2: list_c] : ( take_c @ ( size_size_list_c @ ( takeWhile_c @ P3 @ Xs2 ) ) @ Xs2 ) ) ) ).

% takeWhile_eq_take
thf(fact_280_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_281_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P @ ( suc @ I2 ) )
               => ( P @ I2 ) ) )
         => ( P @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_282_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] : ( P @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J2: nat,K2: nat] :
              ( ( ord_less_nat @ I2 @ J2 )
             => ( ( ord_less_nat @ J2 @ K2 )
               => ( ( P @ I2 @ J2 )
                 => ( ( P @ J2 @ K2 )
                   => ( P @ I2 @ K2 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_283_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_284_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_285_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_286_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M6: nat] :
            ( ( M
              = ( suc @ M6 ) )
            & ( ord_less_nat @ N @ M6 ) ) ) ) ).

% Suc_less_eq2
thf(fact_287_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P @ I3 ) ) )
      = ( ( P @ N )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P @ I3 ) ) ) ) ).

% All_less_Suc
thf(fact_288_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_289_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_290_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ N )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ I3 ) ) ) ) ).

% Ex_less_Suc
thf(fact_291_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_292_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_293_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_294_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J2: nat] :
            ( ( ord_less_nat @ I @ J2 )
           => ( K
             != ( suc @ J2 ) ) ) ) ).

% Suc_lessE
thf(fact_295_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_296_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J2: nat] :
              ( ( ord_less_nat @ I @ J2 )
             => ( K
               != ( suc @ J2 ) ) ) ) ) ).

% Nat.lessE
thf(fact_297_length__induct,axiom,
    ! [P: list_P903359562653991662od_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ! [Xs3: list_P903359562653991662od_b_c] :
          ( ! [Ys: list_P903359562653991662od_b_c] :
              ( ( ord_less_nat @ ( size_s3392097710323735898od_b_c @ Ys ) @ ( size_s3392097710323735898od_b_c @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_298_length__induct,axiom,
    ! [P: list_list_c > $o,Xs: list_list_c] :
      ( ! [Xs3: list_list_c] :
          ( ! [Ys: list_list_c] :
              ( ( ord_less_nat @ ( size_s491565468217265656list_c @ Ys ) @ ( size_s491565468217265656list_c @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_299_length__induct,axiom,
    ! [P: list_nat > $o,Xs: list_nat] :
      ( ! [Xs3: list_nat] :
          ( ! [Ys: list_nat] :
              ( ( ord_less_nat @ ( size_size_list_nat @ Ys ) @ ( size_size_list_nat @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_300_length__induct,axiom,
    ! [P: list_nat_o > $o,Xs: list_nat_o] :
      ( ! [Xs3: list_nat_o] :
          ( ! [Ys: list_nat_o] :
              ( ( ord_less_nat @ ( size_size_list_nat_o @ Ys ) @ ( size_size_list_nat_o @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_301_length__induct,axiom,
    ! [P: list_b > $o,Xs: list_b] :
      ( ! [Xs3: list_b] :
          ( ! [Ys: list_b] :
              ( ( ord_less_nat @ ( size_size_list_b @ Ys ) @ ( size_size_list_b @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_302_length__induct,axiom,
    ! [P: list_c > $o,Xs: list_c] :
      ( ! [Xs3: list_c] :
          ( ! [Ys: list_c] :
              ( ( ord_less_nat @ ( size_size_list_c @ Ys ) @ ( size_size_list_c @ Xs3 ) )
             => ( P @ Ys ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_303_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_P267710562049004973od_c_c,P: product_prod_c_c > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_s2756448709718749209od_c_c @ Xs ) )
           => ( P @ ( nth_Product_prod_c_c @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_s2756448709718749209od_c_c @ Xs ) )
         => ~ ( P @ ( nth_Product_prod_c_c @ Xs @ N ) ) )
       => ( ( takeWh1964741968936321062od_c_c @ P @ Xs )
          = ( take_P5635244877039430293od_c_c @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_304_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_P6011104703257516679at_nat,P: product_prod_nat_nat > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Xs ) )
           => ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_s5460976970255530739at_nat @ Xs ) )
         => ~ ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ N ) ) )
       => ( ( takeWh6395431351003862016at_nat @ P @ Xs )
          = ( take_P2173866234530122223at_nat @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_305_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_P903359562653991662od_b_c,P: product_prod_b_c > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_s3392097710323735898od_b_c @ Xs ) )
           => ( P @ ( nth_Product_prod_b_c @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_s3392097710323735898od_b_c @ Xs ) )
         => ~ ( P @ ( nth_Product_prod_b_c @ Xs @ N ) ) )
       => ( ( takeWh4752197550908997095od_b_c @ P @ Xs )
          = ( take_P8422700459012106326od_b_c @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_306_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_list_c,P: list_c > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_s491565468217265656list_c @ Xs ) )
           => ( P @ ( nth_list_c @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_s491565468217265656list_c @ Xs ) )
         => ~ ( P @ ( nth_list_c @ Xs @ N ) ) )
       => ( ( takeWhile_list_c @ P @ Xs )
          = ( take_list_c @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_307_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_nat,P: nat > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
           => ( P @ ( nth_nat @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
         => ~ ( P @ ( nth_nat @ Xs @ N ) ) )
       => ( ( takeWhile_nat @ P @ Xs )
          = ( take_nat @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_308_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_nat_o,P: ( nat > $o ) > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_size_list_nat_o @ Xs ) )
           => ( P @ ( nth_nat_o @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_size_list_nat_o @ Xs ) )
         => ~ ( P @ ( nth_nat_o @ Xs @ N ) ) )
       => ( ( takeWhile_nat_o @ P @ Xs )
          = ( take_nat_o @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_309_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_b,P: b > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_size_list_b @ Xs ) )
           => ( P @ ( nth_b @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_size_list_b @ Xs ) )
         => ~ ( P @ ( nth_b @ Xs @ N ) ) )
       => ( ( takeWhile_b @ P @ Xs )
          = ( take_b @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_310_takeWhile__eq__take__P__nth,axiom,
    ! [N: nat,Xs: list_c,P: c > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ( ord_less_nat @ I2 @ ( size_size_list_c @ Xs ) )
           => ( P @ ( nth_c @ Xs @ I2 ) ) ) )
     => ( ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
         => ~ ( P @ ( nth_c @ Xs @ N ) ) )
       => ( ( takeWhile_c @ P @ Xs )
          = ( take_c @ N @ Xs ) ) ) ) ).

% takeWhile_eq_take_P_nth
thf(fact_311_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( ord_less_eq_nat @ K @ ( size_s5460976970255530739at_nat @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s5460976970255530739at_nat @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_Pr7617993195940197384at_nat @ Xs @ I2 )
                = ( nth_Pr7617993195940197384at_nat @ Ys2 @ I2 ) ) )
         => ( ( take_P2173866234530122223at_nat @ K @ Xs )
            = ( take_P2173866234530122223at_nat @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_312_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_P267710562049004973od_c_c,Ys2: list_P267710562049004973od_c_c] :
      ( ( ord_less_eq_nat @ K @ ( size_s2756448709718749209od_c_c @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s2756448709718749209od_c_c @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_Product_prod_c_c @ Xs @ I2 )
                = ( nth_Product_prod_c_c @ Ys2 @ I2 ) ) )
         => ( ( take_P5635244877039430293od_c_c @ K @ Xs )
            = ( take_P5635244877039430293od_c_c @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_313_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
      ( ( ord_less_eq_nat @ K @ ( size_s3392097710323735898od_b_c @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s3392097710323735898od_b_c @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_Product_prod_b_c @ Xs @ I2 )
                = ( nth_Product_prod_b_c @ Ys2 @ I2 ) ) )
         => ( ( take_P8422700459012106326od_b_c @ K @ Xs )
            = ( take_P8422700459012106326od_b_c @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_314_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_list_c,Ys2: list_list_c] :
      ( ( ord_less_eq_nat @ K @ ( size_s491565468217265656list_c @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s491565468217265656list_c @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_list_c @ Xs @ I2 )
                = ( nth_list_c @ Ys2 @ I2 ) ) )
         => ( ( take_list_c @ K @ Xs )
            = ( take_list_c @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_315_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_nat @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_nat @ Xs @ I2 )
                = ( nth_nat @ Ys2 @ I2 ) ) )
         => ( ( take_nat @ K @ Xs )
            = ( take_nat @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_316_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_nat_o,Ys2: list_nat_o] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_nat_o @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_nat_o @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_nat_o @ Xs @ I2 )
                = ( nth_nat_o @ Ys2 @ I2 ) ) )
         => ( ( take_nat_o @ K @ Xs )
            = ( take_nat_o @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_317_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_b,Ys2: list_b] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_b @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_b @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_b @ Xs @ I2 )
                = ( nth_b @ Ys2 @ I2 ) ) )
         => ( ( take_b @ K @ Xs )
            = ( take_b @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_318_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_c,Ys2: list_c] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_c @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_c @ Ys2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K )
             => ( ( nth_c @ Xs @ I2 )
                = ( nth_c @ Ys2 @ I2 ) ) )
         => ( ( take_c @ K @ Xs )
            = ( take_c @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_319_reaches__invar,axiom,
    ! [F: b > option4716579502443089070od_b_c,X: b,N: nat,Y: b,P: b > $o] :
      ( ( reaches_b_c @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: b,Z2: b,V3: c] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_320_reaches__invar,axiom,
    ! [F: nat > option4927543243414619207at_nat,X: nat,N: nat,Y: nat,P: nat > $o] :
      ( ( reaches_nat_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: nat,Z2: nat,V3: nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_321_reaches__invar,axiom,
    ! [F: ( nat > $o ) > option7421465107808516430_o_nat,X: nat > $o,N: nat,Y: nat > $o,P: ( nat > $o ) > $o] :
      ( ( reaches_nat_o_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: nat > $o,Z2: nat > $o,V3: nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_322_reaches__invar,axiom,
    ! [F: product_prod_nat_nat > option7387190471253296173at_nat,X: product_prod_nat_nat,N: nat,Y: product_prod_nat_nat,P: product_prod_nat_nat > $o] :
      ( ( reache8454888495609270085at_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: product_prod_nat_nat,Z2: product_prod_nat_nat,V3: product_prod_nat_nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_323_reaches__invar,axiom,
    ! [F: c > option7520157102916957007_c_nat,X: c,N: nat,Y: c,P: c > $o] :
      ( ( reaches_c_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: c,Z2: c,V3: nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_324_reaches__invar,axiom,
    ! [F: c > option4080930501838102381od_c_c,X: c,N: nat,Y: c,P: c > $o] :
      ( ( reaches_c_c @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: c,Z2: c,V3: c] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P7240528176711258252od_c_c @ ( product_Pair_c_c @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_325_reaches__invar,axiom,
    ! [F: c > option1942655187168591086at_nat,X: c,N: nat,Y: c,P: c > $o] :
      ( ( reache3437733211291613574at_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: c,Z2: c,V3: product_prod_nat_nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_326_reaches__invar,axiom,
    ! [F: c > option695368374342530005od_b_c,X: c,N: nat,Y: c,P: c > $o] :
      ( ( reache2525847660596713581od_b_c @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: c,Z2: c,V3: product_prod_b_c] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_327_reaches__invar,axiom,
    ! [F: b > option4534702620024642204od_b_c,X: b,N: nat,Y: b,P: b > $o] :
      ( ( reache4190940867893757620od_b_c @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: b,Z2: b,V3: list_P903359562653991662od_b_c] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_328_reaches__invar,axiom,
    ! [F: c > option5867295888766699645_o_nat,X: c,N: nat,Y: c,P: c > $o] :
      ( ( reache7676631594583440569_o_nat @ F @ X @ N @ Y )
     => ( ( P @ X )
       => ( ! [Z: c,Z2: c,V3: produc3074792404157404414_o_nat] :
              ( ( P @ Z )
             => ( ( ( F @ Z )
                  = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ Z2 @ V3 ) ) )
               => ( P @ Z2 ) ) )
         => ( P @ Y ) ) ) ) ).

% reaches_invar
thf(fact_329_reaches__on__n,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( reache8454888495609270085at_nat @ Run @ S3 @ ( size_s5460976970255530739at_nat @ Vs2 ) @ S4 ) ) ).

% reaches_on_n
thf(fact_330_reaches__on__n,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( reaches_nat_o_nat @ Run @ S3 @ ( size_size_list_nat @ Vs2 ) @ S4 ) ) ).

% reaches_on_n
thf(fact_331_reaches__on__n,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( reaches_nat_nat @ Run @ S3 @ ( size_size_list_nat @ Vs2 ) @ S4 ) ) ).

% reaches_on_n
thf(fact_332_reaches__on__n,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( reaches_b_c @ Run @ S3 @ ( size_size_list_c @ Vs2 ) @ S4 ) ) ).

% reaches_on_n
thf(fact_333_reaches__on,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,N: nat,S4: product_prod_nat_nat] :
      ( ( reache8454888495609270085at_nat @ Run @ S3 @ N @ S4 )
     => ? [Vs3: list_P6011104703257516679at_nat] :
          ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs3 @ S4 )
          & ( ( size_s5460976970255530739at_nat @ Vs3 )
            = N ) ) ) ).

% reaches_on
thf(fact_334_reaches__on,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,N: nat,S4: nat > $o] :
      ( ( reaches_nat_o_nat @ Run @ S3 @ N @ S4 )
     => ? [Vs3: list_nat] :
          ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs3 @ S4 )
          & ( ( size_size_list_nat @ Vs3 )
            = N ) ) ) ).

% reaches_on
thf(fact_335_reaches__on,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,N: nat,S4: nat] :
      ( ( reaches_nat_nat @ Run @ S3 @ N @ S4 )
     => ? [Vs3: list_nat] :
          ( ( reaches_on_nat_nat @ Run @ S3 @ Vs3 @ S4 )
          & ( ( size_size_list_nat @ Vs3 )
            = N ) ) ) ).

% reaches_on
thf(fact_336_reaches__on,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,N: nat,S4: b] :
      ( ( reaches_b_c @ Run @ S3 @ N @ S4 )
     => ? [Vs3: list_c] :
          ( ( reaches_on_b_c @ Run @ S3 @ Vs3 @ S4 )
          & ( ( size_size_list_c @ Vs3 )
            = N ) ) ) ).

% reaches_on
thf(fact_337_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_338_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_339_size__neq__size__imp__neq,axiom,
    ! [X: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( size_s3392097710323735898od_b_c @ X )
       != ( size_s3392097710323735898od_b_c @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_340_size__neq__size__imp__neq,axiom,
    ! [X: list_list_c,Y: list_list_c] :
      ( ( ( size_s491565468217265656list_c @ X )
       != ( size_s491565468217265656list_c @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_341_size__neq__size__imp__neq,axiom,
    ! [X: list_nat,Y: list_nat] :
      ( ( ( size_size_list_nat @ X )
       != ( size_size_list_nat @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_342_size__neq__size__imp__neq,axiom,
    ! [X: list_nat_o,Y: list_nat_o] :
      ( ( ( size_size_list_nat_o @ X )
       != ( size_size_list_nat_o @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_343_size__neq__size__imp__neq,axiom,
    ! [X: list_b,Y: list_b] :
      ( ( ( size_size_list_b @ X )
       != ( size_size_list_b @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_344_size__neq__size__imp__neq,axiom,
    ! [X: list_c,Y: list_c] :
      ( ( ( size_size_list_c @ X )
       != ( size_size_list_c @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_345_neq__if__length__neq,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
       != ( size_s3392097710323735898od_b_c @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

% neq_if_length_neq
thf(fact_346_neq__if__length__neq,axiom,
    ! [Xs: list_list_c,Ys2: list_list_c] :
      ( ( ( size_s491565468217265656list_c @ Xs )
       != ( size_s491565468217265656list_c @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

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

% neq_if_length_neq
thf(fact_348_neq__if__length__neq,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat_o] :
      ( ( ( size_size_list_nat_o @ Xs )
       != ( size_size_list_nat_o @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

% neq_if_length_neq
thf(fact_349_neq__if__length__neq,axiom,
    ! [Xs: list_b,Ys2: list_b] :
      ( ( ( size_size_list_b @ Xs )
       != ( size_size_list_b @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

% neq_if_length_neq
thf(fact_350_neq__if__length__neq,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( ( size_size_list_c @ Xs )
       != ( size_size_list_c @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

% neq_if_length_neq
thf(fact_351_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_P903359562653991662od_b_c] :
      ( ( size_s3392097710323735898od_b_c @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_352_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_list_c] :
      ( ( size_s491565468217265656list_c @ Xs3 )
      = N ) ).

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

% Ex_list_of_length
thf(fact_354_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_nat_o] :
      ( ( size_size_list_nat_o @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_355_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_b] :
      ( ( size_size_list_b @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_356_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_c] :
      ( ( size_size_list_c @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_357_take__equalityI,axiom,
    ! [Xs: list_nat,Ys2: list_nat] :
      ( ! [I2: nat] :
          ( ( take_nat @ I2 @ Xs )
          = ( take_nat @ I2 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_358_take__equalityI,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ! [I2: nat] :
          ( ( take_P2173866234530122223at_nat @ I2 @ Xs )
          = ( take_P2173866234530122223at_nat @ I2 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_359_take__equalityI,axiom,
    ! [Xs: list_P267710562049004973od_c_c,Ys2: list_P267710562049004973od_c_c] :
      ( ! [I2: nat] :
          ( ( take_P5635244877039430293od_c_c @ I2 @ Xs )
          = ( take_P5635244877039430293od_c_c @ I2 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_360_take__equalityI,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ! [I2: nat] :
          ( ( take_c @ I2 @ Xs )
          = ( take_c @ I2 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_361_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_P267710562049004973od_c_c,Z3: list_P267710562049004973od_c_c] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_P267710562049004973od_c_c,Ys3: list_P267710562049004973od_c_c] :
          ( ( ( size_s2756448709718749209od_c_c @ Xs2 )
            = ( size_s2756448709718749209od_c_c @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s2756448709718749209od_c_c @ Xs2 ) )
             => ( ( nth_Product_prod_c_c @ Xs2 @ I3 )
                = ( nth_Product_prod_c_c @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_362_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_P903359562653991662od_b_c,Z3: list_P903359562653991662od_b_c] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_P903359562653991662od_b_c,Ys3: list_P903359562653991662od_b_c] :
          ( ( ( size_s3392097710323735898od_b_c @ Xs2 )
            = ( size_s3392097710323735898od_b_c @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3392097710323735898od_b_c @ Xs2 ) )
             => ( ( nth_Product_prod_b_c @ Xs2 @ I3 )
                = ( nth_Product_prod_b_c @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_363_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_list_c,Z3: list_list_c] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_list_c,Ys3: list_list_c] :
          ( ( ( size_s491565468217265656list_c @ Xs2 )
            = ( size_s491565468217265656list_c @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s491565468217265656list_c @ Xs2 ) )
             => ( ( nth_list_c @ Xs2 @ I3 )
                = ( nth_list_c @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_364_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_nat,Z3: list_nat] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_nat,Ys3: list_nat] :
          ( ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_nat @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs2 ) )
             => ( ( nth_nat @ Xs2 @ I3 )
                = ( nth_nat @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_365_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_nat_o,Z3: list_nat_o] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_nat_o,Ys3: list_nat_o] :
          ( ( ( size_size_list_nat_o @ Xs2 )
            = ( size_size_list_nat_o @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat_o @ Xs2 ) )
             => ( ( nth_nat_o @ Xs2 @ I3 )
                = ( nth_nat_o @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_366_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_b,Z3: list_b] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_b,Ys3: list_b] :
          ( ( ( size_size_list_b @ Xs2 )
            = ( size_size_list_b @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_b @ Xs2 ) )
             => ( ( nth_b @ Xs2 @ I3 )
                = ( nth_b @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_367_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y5: list_c,Z3: list_c] : ( Y5 = Z3 ) )
    = ( ^ [Xs2: list_c,Ys3: list_c] :
          ( ( ( size_size_list_c @ Xs2 )
            = ( size_size_list_c @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs2 ) )
             => ( ( nth_c @ Xs2 @ I3 )
                = ( nth_c @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_368_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_c_c > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: product_prod_c_c] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_P267710562049004973od_c_c] :
            ( ( ( size_s2756448709718749209od_c_c @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_Product_prod_c_c @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_369_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_b_c > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: product_prod_b_c] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_P903359562653991662od_b_c] :
            ( ( ( size_s3392097710323735898od_b_c @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_Product_prod_b_c @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_370_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > list_c > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: list_c] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_list_c] :
            ( ( ( size_s491565468217265656list_c @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_list_c @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_371_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: nat] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_nat] :
            ( ( ( size_size_list_nat @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_nat @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_372_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > ( nat > $o ) > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: nat > $o] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_nat_o] :
            ( ( ( size_size_list_nat_o @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_nat_o @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_373_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > b > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: b] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_b] :
            ( ( ( size_size_list_b @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_b @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_374_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > c > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X5: c] : ( P @ I3 @ X5 ) ) )
      = ( ? [Xs2: list_c] :
            ( ( ( size_size_list_c @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_c @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_375_nth__equalityI,axiom,
    ! [Xs: list_P267710562049004973od_c_c,Ys2: list_P267710562049004973od_c_c] :
      ( ( ( size_s2756448709718749209od_c_c @ Xs )
        = ( size_s2756448709718749209od_c_c @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2756448709718749209od_c_c @ Xs ) )
           => ( ( nth_Product_prod_c_c @ Xs @ I2 )
              = ( nth_Product_prod_c_c @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_376_nth__equalityI,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3392097710323735898od_b_c @ Xs ) )
           => ( ( nth_Product_prod_b_c @ Xs @ I2 )
              = ( nth_Product_prod_b_c @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_377_nth__equalityI,axiom,
    ! [Xs: list_list_c,Ys2: list_list_c] :
      ( ( ( size_s491565468217265656list_c @ Xs )
        = ( size_s491565468217265656list_c @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s491565468217265656list_c @ Xs ) )
           => ( ( nth_list_c @ Xs @ I2 )
              = ( nth_list_c @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_378_nth__equalityI,axiom,
    ! [Xs: list_nat,Ys2: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ Xs @ I2 )
              = ( nth_nat @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_379_nth__equalityI,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat_o] :
      ( ( ( size_size_list_nat_o @ Xs )
        = ( size_size_list_nat_o @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_nat_o @ Xs ) )
           => ( ( nth_nat_o @ Xs @ I2 )
              = ( nth_nat_o @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_380_nth__equalityI,axiom,
    ! [Xs: list_b,Ys2: list_b] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_b @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_b @ Xs ) )
           => ( ( nth_b @ Xs @ I2 )
              = ( nth_b @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_381_nth__equalityI,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_c @ Xs ) )
           => ( ( nth_c @ Xs @ I2 )
              = ( nth_c @ Ys2 @ I2 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_382_less__prod__simp,axiom,
    ! [X1: nat,Y1: nat,X2: nat,Y2: nat] :
      ( ( ord_le1203424502768444845at_nat @ ( product_Pair_nat_nat @ X1 @ Y1 ) @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_383_less__prod__simp,axiom,
    ! [X1: nat > $o,Y1: nat,X2: nat > $o,Y2: nat] :
      ( ( ord_le1440161272000278354_o_nat @ ( produc7277522915581678840_o_nat @ X1 @ Y1 ) @ ( produc7277522915581678840_o_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat_o @ X1 @ X2 )
        | ( ( ord_less_eq_nat_o @ X1 @ X2 )
          & ( ord_less_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_384_less__prod__simp,axiom,
    ! [X1: product_prod_nat_nat,Y1: product_prod_nat_nat,X2: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( ord_le9033551061567896339at_nat @ ( produc6161850002892822231at_nat @ X1 @ Y1 ) @ ( produc6161850002892822231at_nat @ X2 @ Y2 ) )
      = ( ( ord_le1203424502768444845at_nat @ X1 @ X2 )
        | ( ( ord_le8460144461188290721at_nat @ X1 @ X2 )
          & ( ord_le1203424502768444845at_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_385_less__prod__simp,axiom,
    ! [X1: nat,Y1: set_nat,X2: nat,Y2: set_nat] :
      ( ( ord_le9004977590230453859et_nat @ ( produc4207506657711014383et_nat @ X1 @ Y1 ) @ ( produc4207506657711014383et_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_set_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_386_less__prod__simp,axiom,
    ! [X1: set_nat,Y1: nat,X2: set_nat,Y2: nat] :
      ( ( ord_le4872869340735563107at_nat @ ( produc641871753055645167at_nat @ X1 @ Y1 ) @ ( produc641871753055645167at_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_nat @ X1 @ X2 )
        | ( ( ord_less_eq_set_nat @ X1 @ X2 )
          & ( ord_less_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_387_less__prod__simp,axiom,
    ! [X1: set_c,Y1: nat,X2: set_c,Y2: nat] :
      ( ( ord_le4863175949916193075_c_nat @ ( produc1346649906574177241_c_nat @ X1 @ Y1 ) @ ( produc1346649906574177241_c_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_c @ X1 @ X2 )
        | ( ( ord_less_eq_set_c @ X1 @ X2 )
          & ( ord_less_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_388_less__prod__simp,axiom,
    ! [X1: product_prod_nat_nat,Y1: nat,X2: product_prod_nat_nat,Y2: nat] :
      ( ( ord_le8125019778500767060at_nat @ ( produc6350711070570205562at_nat @ X1 @ Y1 ) @ ( produc6350711070570205562at_nat @ X2 @ Y2 ) )
      = ( ( ord_le1203424502768444845at_nat @ X1 @ X2 )
        | ( ( ord_le8460144461188290721at_nat @ X1 @ X2 )
          & ( ord_less_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_389_less__prod__simp,axiom,
    ! [X1: nat,Y1: product_prod_nat_nat,X2: nat,Y2: product_prod_nat_nat] :
      ( ( ord_le6999532794533465978at_nat @ ( produc487386426758144856at_nat @ X1 @ Y1 ) @ ( produc487386426758144856at_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_le1203424502768444845at_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_390_less__prod__simp,axiom,
    ! [X1: nat,Y1: nat > $o,X2: nat,Y2: nat > $o] :
      ( ( ord_le1413659298510526712_nat_o @ ( produc7064632490799849302_nat_o @ X1 @ Y1 ) @ ( produc7064632490799849302_nat_o @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_nat_o @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_391_less__prod__simp,axiom,
    ! [X1: set_nat,Y1: set_nat,X2: set_nat,Y2: set_nat] :
      ( ( ord_le3483226128287266329et_nat @ ( produc4532415448927165861et_nat @ X1 @ Y1 ) @ ( produc4532415448927165861et_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_nat @ X1 @ X2 )
        | ( ( ord_less_eq_set_nat @ X1 @ X2 )
          & ( ord_less_set_nat @ Y1 @ Y2 ) ) ) ) ).

% less_prod_simp
thf(fact_392_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: nat,X2: nat,Y2: nat] :
      ( ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ X1 @ Y1 ) @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_eq_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_393_less__eq__prod__simp,axiom,
    ! [X1: nat > $o,Y1: nat,X2: nat > $o,Y2: nat] :
      ( ( ord_le1595970101268698462_o_nat @ ( produc7277522915581678840_o_nat @ X1 @ Y1 ) @ ( produc7277522915581678840_o_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat_o @ X1 @ X2 )
        | ( ( ord_less_eq_nat_o @ X1 @ X2 )
          & ( ord_less_eq_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_394_less__eq__prod__simp,axiom,
    ! [X1: product_prod_nat_nat,Y1: product_prod_nat_nat,X2: product_prod_nat_nat,Y2: product_prod_nat_nat] :
      ( ( ord_le6722121967309221895at_nat @ ( produc6161850002892822231at_nat @ X1 @ Y1 ) @ ( produc6161850002892822231at_nat @ X2 @ Y2 ) )
      = ( ( ord_le1203424502768444845at_nat @ X1 @ X2 )
        | ( ( ord_le8460144461188290721at_nat @ X1 @ X2 )
          & ( ord_le8460144461188290721at_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_395_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: set_nat,X2: nat,Y2: set_nat] :
      ( ( ord_le4284901688344473943et_nat @ ( produc4207506657711014383et_nat @ X1 @ Y1 ) @ ( produc4207506657711014383et_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_eq_set_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_396_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: set_c,X2: nat,Y2: set_c] :
      ( ( ord_le6749433133306467173_set_c @ ( produc4534374746698477879_set_c @ X1 @ Y1 ) @ ( produc4534374746698477879_set_c @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_eq_set_c @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_397_less__eq__prod__simp,axiom,
    ! [X1: set_nat,Y1: nat,X2: set_nat,Y2: nat] :
      ( ( ord_le152793438849583191at_nat @ ( produc641871753055645167at_nat @ X1 @ Y1 ) @ ( produc641871753055645167at_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_nat @ X1 @ X2 )
        | ( ( ord_less_eq_set_nat @ X1 @ X2 )
          & ( ord_less_eq_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_398_less__eq__prod__simp,axiom,
    ! [X1: set_c,Y1: nat,X2: set_c,Y2: nat] :
      ( ( ord_le1823274719873446719_c_nat @ ( produc1346649906574177241_c_nat @ X1 @ Y1 ) @ ( produc1346649906574177241_c_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_c @ X1 @ X2 )
        | ( ( ord_less_eq_set_c @ X1 @ X2 )
          & ( ord_less_eq_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_399_less__eq__prod__simp,axiom,
    ! [X1: product_prod_nat_nat,Y1: nat,X2: product_prod_nat_nat,Y2: nat] :
      ( ( ord_le5101934774805231968at_nat @ ( produc6350711070570205562at_nat @ X1 @ Y1 ) @ ( produc6350711070570205562at_nat @ X2 @ Y2 ) )
      = ( ( ord_le1203424502768444845at_nat @ X1 @ X2 )
        | ( ( ord_le8460144461188290721at_nat @ X1 @ X2 )
          & ( ord_less_eq_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_400_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: nat > $o,X2: nat,Y2: nat > $o] :
      ( ( ord_le1569468127778946820_nat_o @ ( produc7064632490799849302_nat_o @ X1 @ Y1 ) @ ( produc7064632490799849302_nat_o @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ X1 @ X2 )
        | ( ( ord_less_eq_nat @ X1 @ X2 )
          & ( ord_less_eq_nat_o @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_401_less__eq__prod__simp,axiom,
    ! [X1: set_nat,Y1: set_nat,X2: set_nat,Y2: set_nat] :
      ( ( ord_le2041963031926835469et_nat @ ( produc4532415448927165861et_nat @ X1 @ Y1 ) @ ( produc4532415448927165861et_nat @ X2 @ Y2 ) )
      = ( ( ord_less_set_nat @ X1 @ X2 )
        | ( ( ord_less_eq_set_nat @ X1 @ X2 )
          & ( ord_less_eq_set_nat @ Y1 @ Y2 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_402_dual__order_Orefl,axiom,
    ! [A: set_Pr4354077987950702516_o_nat] : ( ord_le1487873752969080852_o_nat @ A @ A ) ).

% dual_order.refl
thf(fact_403_dual__order_Orefl,axiom,
    ! [A: set_Product_prod_b_c] : ( ord_le253122037897321832od_b_c @ A @ A ) ).

% dual_order.refl
thf(fact_404_dual__order_Orefl,axiom,
    ! [A: set_nat] : ( ord_less_eq_set_nat @ A @ A ) ).

% dual_order.refl
thf(fact_405_dual__order_Orefl,axiom,
    ! [A: set_c] : ( ord_less_eq_set_c @ A @ A ) ).

% dual_order.refl
thf(fact_406_dual__order_Orefl,axiom,
    ! [A: nat > $o] : ( ord_less_eq_nat_o @ A @ A ) ).

% dual_order.refl
thf(fact_407_dual__order_Orefl,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% dual_order.refl
thf(fact_408_order__refl,axiom,
    ! [X: nat > $o] : ( ord_less_eq_nat_o @ X @ X ) ).

% order_refl
thf(fact_409_order__refl,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ X @ X ) ).

% order_refl
thf(fact_410_chain__le,axiom,
    ! [Xs: list_nat,I: nat,J: nat] :
      ( ( chain_le_nat @ Xs )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs ) )
         => ( ord_less_eq_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Xs @ J ) ) ) ) ) ).

% chain_le
thf(fact_411_reaches__on__suffix,axiom,
    ! [R: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,Vs: list_c,S5: b] :
      ( ( reaches_on_b_c @ R @ S3 @ Vs2 @ S4 )
     => ( ( reaches_on_b_c @ R @ S3 @ Vs @ S5 )
       => ( ( ord_less_eq_nat @ ( size_size_list_c @ Vs ) @ ( size_size_list_c @ Vs2 ) )
         => ? [Vs4: list_c] :
              ( ( reaches_on_b_c @ R @ S5 @ Vs4 @ S4 )
              & ( Vs2
                = ( append_c @ Vs @ Vs4 ) ) ) ) ) ) ).

% reaches_on_suffix
thf(fact_412_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K2: nat] :
          ( ( ord_less_nat @ N @ K2 )
         => ( P @ K2 ) )
     => ( ! [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
           => ( ! [I4: nat] :
                  ( ( ord_less_nat @ K2 @ I4 )
                 => ( P @ I4 ) )
             => ( P @ K2 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_413_lex__take__index,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( lex_nat @ R ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
           => ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ys2 ) )
             => ( ( ( take_nat @ I2 @ Xs )
                  = ( take_nat @ I2 @ Ys2 ) )
               => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I2 ) @ ( nth_nat @ Ys2 @ I2 ) ) @ R ) ) ) ) ) ).

% lex_take_index
thf(fact_414_lex__take__index,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( lex_Pr8571645452597969515at_nat @ R ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Xs ) )
           => ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Ys2 ) )
             => ( ( ( take_P2173866234530122223at_nat @ I2 @ Xs )
                  = ( take_P2173866234530122223at_nat @ I2 @ Ys2 ) )
               => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ I2 ) @ ( nth_Pr7617993195940197384at_nat @ Ys2 @ I2 ) ) @ R ) ) ) ) ) ).

% lex_take_index
thf(fact_415_lex__take__index,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( lex_c @ R ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_c @ Xs ) )
           => ( ( ord_less_nat @ I2 @ ( size_size_list_c @ Ys2 ) )
             => ( ( ( take_c @ I2 @ Xs )
                  = ( take_c @ I2 @ Ys2 ) )
               => ~ ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ ( nth_c @ Xs @ I2 ) @ ( nth_c @ Ys2 @ I2 ) ) @ R ) ) ) ) ) ).

% lex_take_index
thf(fact_416_order__le__imp__less__or__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_nat @ X @ Y )
        | ( X = Y ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_417_append__eq__append__conv,axiom,
    ! [Xs: list_c,Ys2: list_c,Us: list_c,Vs2: list_c] :
      ( ( ( ( size_size_list_c @ Xs )
          = ( size_size_list_c @ Ys2 ) )
        | ( ( size_size_list_c @ Us )
          = ( size_size_list_c @ Vs2 ) ) )
     => ( ( ( append_c @ Xs @ Us )
          = ( append_c @ Ys2 @ Vs2 ) )
        = ( ( Xs = Ys2 )
          & ( Us = Vs2 ) ) ) ) ).

% append_eq_append_conv
thf(fact_418_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( append_c @ ( take_c @ N @ Xs ) @ ( drop_c @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_419_lex__append__left__iff,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat,Zs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys2 ) @ ( append_nat @ Xs @ Zs ) ) @ ( lex_nat @ R ) )
        = ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Zs ) @ ( lex_nat @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_420_lex__append__left__iff,axiom,
    ! [R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ X3 ) @ R )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ Ys2 ) @ ( append985823374593552924at_nat @ Xs @ Zs ) ) @ ( lex_Pr8571645452597969515at_nat @ R ) )
        = ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Zs ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_421_lex__append__leftD,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat,Zs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys2 ) @ ( append_nat @ Xs @ Zs ) ) @ ( lex_nat @ R ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Zs ) @ ( lex_nat @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_422_lex__append__leftD,axiom,
    ! [R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ X3 ) @ R )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ Ys2 ) @ ( append985823374593552924at_nat @ Xs @ Zs ) ) @ ( lex_Pr8571645452597969515at_nat @ R ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Zs ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_423_lex__append__rightI,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c,Vs2: list_c,Us: list_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( lex_c @ R ) )
     => ( ( ( size_size_list_c @ Vs2 )
          = ( size_size_list_c @ Us ) )
       => ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ ( append_c @ Xs @ Us ) @ ( append_c @ Ys2 @ Vs2 ) ) @ ( lex_c @ R ) ) ) ) ).

% lex_append_rightI
thf(fact_424_reaches__on__trans,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,Vs: list_c,S5: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( reaches_on_b_c @ Run @ S4 @ Vs @ S5 )
       => ( reaches_on_b_c @ Run @ S3 @ ( append_c @ Vs2 @ Vs ) @ S5 ) ) ) ).

% reaches_on_trans
thf(fact_425_reaches__on__split__app,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,Vs: list_c,S4: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ ( append_c @ Vs2 @ Vs ) @ S4 )
     => ? [S: b] :
          ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S )
          & ( reaches_on_b_c @ Run @ S @ Vs @ S4 ) ) ) ).

% reaches_on_split_app
thf(fact_426_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_427_le__cases3,axiom,
    ! [X: nat,Y: nat,Z4: nat] :
      ( ( ( ord_less_eq_nat @ X @ Y )
       => ~ ( ord_less_eq_nat @ Y @ Z4 ) )
     => ( ( ( ord_less_eq_nat @ Y @ X )
         => ~ ( ord_less_eq_nat @ X @ Z4 ) )
       => ( ( ( ord_less_eq_nat @ X @ Z4 )
           => ~ ( ord_less_eq_nat @ Z4 @ Y ) )
         => ( ( ( ord_less_eq_nat @ Z4 @ Y )
             => ~ ( ord_less_eq_nat @ Y @ X ) )
           => ( ( ( ord_less_eq_nat @ Y @ Z4 )
               => ~ ( ord_less_eq_nat @ Z4 @ X ) )
             => ~ ( ( ord_less_eq_nat @ Z4 @ X )
                 => ~ ( ord_less_eq_nat @ X @ Y ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_428_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat,Z3: nat] : ( Y5 = Z3 ) )
    = ( ^ [X4: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y6 )
          & ( ord_less_eq_nat @ Y6 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_429_ord__eq__le__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ A @ C2 ) ) ) ).

% ord_eq_le_trans
thf(fact_430_ord__le__eq__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( B = C2 )
       => ( ord_less_eq_nat @ A @ C2 ) ) ) ).

% ord_le_eq_trans
thf(fact_431_order__antisym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ X )
       => ( X = Y ) ) ) ).

% order_antisym
thf(fact_432_order_Otrans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ A @ C2 ) ) ) ).

% order.trans
thf(fact_433_order__trans,axiom,
    ! [X: nat,Y: nat,Z4: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z4 )
       => ( ord_less_eq_nat @ X @ Z4 ) ) ) ).

% order_trans
thf(fact_434_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A3 @ B3 )
         => ( P @ A3 @ B3 ) )
     => ( ! [A3: nat,B3: nat] :
            ( ( P @ B3 @ A3 )
           => ( P @ A3 @ B3 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_435_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: nat,Z3: nat] : ( Y5 = Z3 ) )
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ( ord_less_eq_nat @ A5 @ B4 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_436_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_437_dual__order_Otrans,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_eq_nat @ C2 @ A ) ) ) ).

% dual_order.trans
thf(fact_438_antisym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_439_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat,Z3: nat] : ( Y5 = Z3 ) )
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ( ord_less_eq_nat @ B4 @ A5 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_440_order__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_subst1
thf(fact_441_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_subst2
thf(fact_442_order__eq__refl,axiom,
    ! [X: nat,Y: nat] :
      ( ( X = Y )
     => ( ord_less_eq_nat @ X @ Y ) ) ).

% order_eq_refl
thf(fact_443_linorder__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
      | ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_linear
thf(fact_444_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_445_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% ord_le_eq_subst
thf(fact_446_linorder__le__cases,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_eq_nat @ X @ Y )
     => ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_le_cases
thf(fact_447_order__antisym__conv,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( ord_less_eq_nat @ X @ Y )
        = ( X = Y ) ) ) ).

% order_antisym_conv
thf(fact_448_append__eq__conv__conj,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c] :
      ( ( ( append_c @ Xs @ Ys2 )
        = Zs )
      = ( ( Xs
          = ( take_c @ ( size_size_list_c @ Xs ) @ Zs ) )
        & ( Ys2
          = ( drop_c @ ( size_size_list_c @ Xs ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_449_gt__ex,axiom,
    ! [X: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X @ X_1 ) ).

% gt_ex
thf(fact_450_less__imp__neq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( X != Y ) ) ).

% less_imp_neq
thf(fact_451_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_452_ord__eq__less__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( A = B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% ord_eq_less_trans
thf(fact_453_ord__less__eq__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( B = C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% ord_less_eq_trans
thf(fact_454_less__induct,axiom,
    ! [P: nat > $o,A: nat] :
      ( ! [X3: nat] :
          ( ! [Y4: nat] :
              ( ( ord_less_nat @ Y4 @ X3 )
             => ( P @ Y4 ) )
         => ( P @ X3 ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_455_antisym__conv3,axiom,
    ! [Y: nat,X: nat] :
      ( ~ ( ord_less_nat @ Y @ X )
     => ( ( ~ ( ord_less_nat @ X @ Y ) )
        = ( X = Y ) ) ) ).

% antisym_conv3
thf(fact_456_linorder__cases,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ( X != Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_cases
thf(fact_457_dual__order_Oasym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ~ ( ord_less_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_458_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_459_exists__least__iff,axiom,
    ( ( ^ [P4: nat > $o] :
        ? [X6: nat] : ( P4 @ X6 ) )
    = ( ^ [P3: nat > $o] :
        ? [N4: nat] :
          ( ( P3 @ N4 )
          & ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N4 )
             => ~ ( P3 @ M2 ) ) ) ) ) ).

% exists_least_iff
thf(fact_460_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( ord_less_nat @ A3 @ B3 )
         => ( P @ A3 @ B3 ) )
     => ( ! [A3: nat] : ( P @ A3 @ A3 )
       => ( ! [A3: nat,B3: nat] :
              ( ( P @ B3 @ A3 )
             => ( P @ A3 @ B3 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_461_order_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans
thf(fact_462_not__less__iff__gr__or__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X @ Y ) )
      = ( ( ord_less_nat @ Y @ X )
        | ( X = Y ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_463_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_464_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_465_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_466_linorder__neqE,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
     => ( ~ ( ord_less_nat @ X @ Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neqE
thf(fact_467_order__less__asym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_asym
thf(fact_468_linorder__neq__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
      = ( ( ord_less_nat @ X @ Y )
        | ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neq_iff
thf(fact_469_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_470_order__less__trans,axiom,
    ! [X: nat,Y: nat,Z4: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ Z4 )
       => ( ord_less_nat @ X @ Z4 ) ) ) ).

% order_less_trans
thf(fact_471_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_472_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% ord_less_eq_subst
thf(fact_473_order__less__irrefl,axiom,
    ! [X: nat] :
      ~ ( ord_less_nat @ X @ X ) ).

% order_less_irrefl
thf(fact_474_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_subst1
thf(fact_475_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_less_subst2
thf(fact_476_order__less__not__sym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_not_sym
thf(fact_477_order__less__imp__triv,axiom,
    ! [X: nat,Y: nat,P: $o] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ X )
       => P ) ) ).

% order_less_imp_triv
thf(fact_478_linorder__less__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
      | ( X = Y )
      | ( ord_less_nat @ Y @ X ) ) ).

% linorder_less_linear
thf(fact_479_order__less__imp__not__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( X != Y ) ) ).

% order_less_imp_not_eq
thf(fact_480_order__less__imp__not__eq2,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( Y != X ) ) ).

% order_less_imp_not_eq2
thf(fact_481_order__less__imp__not__less,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_imp_not_less
thf(fact_482_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_c,Xs_2: list_c,Ys_1: list_c,Ys_2: list_c] :
      ( ( ( append_c @ Xs_1 @ Xs_2 )
        = ( append_c @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs_1 ) @ ( size_size_list_c @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_c @ ( size_size_list_c @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append_c @ ( drop_c @ ( size_size_list_c @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_size_list_c @ Xs_1 ) @ ( size_size_list_c @ Ys_1 ) )
         => ( ( ( take_c @ ( size_size_list_c @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append_c @ ( drop_c @ ( size_size_list_c @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_483_leD,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ~ ( ord_less_nat @ X @ Y ) ) ).

% leD
thf(fact_484_leI,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ord_less_eq_nat @ Y @ X ) ) ).

% leI
thf(fact_485_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_486_antisym__conv1,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ X @ Y )
        = ( X = Y ) ) ) ).

% antisym_conv1
thf(fact_487_antisym__conv2,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ~ ( ord_less_nat @ X @ Y ) )
        = ( X = Y ) ) ) ).

% antisym_conv2
thf(fact_488_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y6 )
          & ~ ( ord_less_eq_nat @ Y6 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_489_not__le__imp__less,axiom,
    ! [Y: nat,X: nat] :
      ( ~ ( ord_less_eq_nat @ Y @ X )
     => ( ord_less_nat @ X @ Y ) ) ).

% not_le_imp_less
thf(fact_490_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_nat @ A5 @ B4 )
          | ( A5 = B4 ) ) ) ) ).

% order.order_iff_strict
thf(fact_491_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ( A5 != B4 ) ) ) ) ).

% order.strict_iff_order
thf(fact_492_order_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans1
thf(fact_493_order_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans2
thf(fact_494_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ~ ( ord_less_eq_nat @ B4 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_495_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_nat @ B4 @ A5 )
          | ( A5 = B4 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_496_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ( A5 != B4 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_497_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_498_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_499_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ~ ( ord_less_eq_nat @ A5 @ B4 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_500_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_501_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_502_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X4: nat,Y6: nat] :
          ( ( ord_less_nat @ X4 @ Y6 )
          | ( X4 = Y6 ) ) ) ) ).

% order_le_less
thf(fact_503_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y6 )
          & ( X4 != Y6 ) ) ) ) ).

% order_less_le
thf(fact_504_linorder__not__le,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_eq_nat @ X @ Y ) )
      = ( ord_less_nat @ Y @ X ) ) ).

% linorder_not_le
thf(fact_505_linorder__not__less,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X @ Y ) )
      = ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_not_less
thf(fact_506_order__less__imp__le,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ord_less_eq_nat @ X @ Y ) ) ).

% order_less_imp_le
thf(fact_507_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_508_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_509_order__le__less__trans,axiom,
    ! [X: nat,Y: nat,Z4: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ Z4 )
       => ( ord_less_nat @ X @ Z4 ) ) ) ).

% order_le_less_trans
thf(fact_510_order__less__le__trans,axiom,
    ! [X: nat,Y: nat,Z4: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z4 )
       => ( ord_less_nat @ X @ Z4 ) ) ) ).

% order_less_le_trans
thf(fact_511_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_512_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_513_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_514_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_less_le_subst2
thf(fact_515_linorder__le__less__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
      | ( ord_less_nat @ Y @ X ) ) ).

% linorder_le_less_linear
thf(fact_516_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( Xs
        = ( append_c @ ( take_c @ I @ Xs ) @ ( cons_c @ ( nth_c @ Xs @ I ) @ ( drop_c @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_517_minf_I8_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ~ ( ord_less_eq_nat @ T2 @ X7 ) ) ).

% minf(8)
thf(fact_518_minf_I6_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ( ord_less_eq_nat @ X7 @ T2 ) ) ).

% minf(6)
thf(fact_519_pinf_I8_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ( ord_less_eq_nat @ T2 @ X7 ) ) ).

% pinf(8)
thf(fact_520_pinf_I6_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ~ ( ord_less_eq_nat @ X7 @ T2 ) ) ).

% pinf(6)
thf(fact_521_verit__comp__simplify1_I3_J,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ~ ( ord_less_eq_nat @ B2 @ A2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_522_complete__interval,axiom,
    ! [A: nat,B: nat,P: nat > $o] :
      ( ( ord_less_nat @ A @ B )
     => ( ( P @ A )
       => ( ~ ( P @ B )
         => ? [C: nat] :
              ( ( ord_less_eq_nat @ A @ C )
              & ( ord_less_eq_nat @ C @ B )
              & ! [X7: nat] :
                  ( ( ( ord_less_eq_nat @ A @ X7 )
                    & ( ord_less_nat @ X7 @ C ) )
                 => ( P @ X7 ) )
              & ! [D2: nat] :
                  ( ! [X3: nat] :
                      ( ( ( ord_less_eq_nat @ A @ X3 )
                        & ( ord_less_nat @ X3 @ D2 ) )
                     => ( P @ X3 ) )
                 => ( ord_less_eq_nat @ D2 @ C ) ) ) ) ) ) ).

% complete_interval
thf(fact_523_find__Some__iff2,axiom,
    ! [X: product_prod_b_c,P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( ( some_P804611721829158477od_b_c @ X )
        = ( find_P8684871256470843524od_b_c @ P @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3392097710323735898od_b_c @ Xs ) )
            & ( P @ ( nth_Product_prod_b_c @ Xs @ I3 ) )
            & ( X
              = ( nth_Product_prod_b_c @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Product_prod_b_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_524_find__Some__iff2,axiom,
    ! [X: nat,P: nat > $o,Xs: list_nat] :
      ( ( ( some_nat @ X )
        = ( find_nat @ P @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
            & ( P @ ( nth_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_525_find__Some__iff2,axiom,
    ! [X: product_prod_nat_nat,P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( ( some_P7363390416028606310at_nat @ X )
        = ( find_P8199882355184865565at_nat @ P @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5460976970255530739at_nat @ Xs ) )
            & ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_Pr7617993195940197384at_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_526_find__Some__iff2,axiom,
    ! [X: produc3074792404157404414_o_nat,P: produc3074792404157404414_o_nat > $o,Xs: list_P6702368983108350734_o_nat] :
      ( ( ( some_P2630223654056210137_o_nat @ X )
        = ( find_P6897154011258892258_o_nat @ P @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s1814491460036751778_o_nat @ Xs ) )
            & ( P @ ( nth_Pr8224016110953687223_o_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_Pr8224016110953687223_o_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Pr8224016110953687223_o_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_527_find__Some__iff2,axiom,
    ! [X: c,P: c > $o,Xs: list_c] :
      ( ( ( some_c @ X )
        = ( find_c @ P @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs ) )
            & ( P @ ( nth_c @ Xs @ I3 ) )
            & ( X
              = ( nth_c @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_528_find__Some__iff,axiom,
    ! [P: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,X: product_prod_b_c] :
      ( ( ( find_P8684871256470843524od_b_c @ P @ Xs )
        = ( some_P804611721829158477od_b_c @ X ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3392097710323735898od_b_c @ Xs ) )
            & ( P @ ( nth_Product_prod_b_c @ Xs @ I3 ) )
            & ( X
              = ( nth_Product_prod_b_c @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Product_prod_b_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_529_find__Some__iff,axiom,
    ! [P: nat > $o,Xs: list_nat,X: nat] :
      ( ( ( find_nat @ P @ Xs )
        = ( some_nat @ X ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
            & ( P @ ( nth_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_530_find__Some__iff,axiom,
    ! [P: product_prod_nat_nat > $o,Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat] :
      ( ( ( find_P8199882355184865565at_nat @ P @ Xs )
        = ( some_P7363390416028606310at_nat @ X ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5460976970255530739at_nat @ Xs ) )
            & ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_Pr7617993195940197384at_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Pr7617993195940197384at_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_531_find__Some__iff,axiom,
    ! [P: produc3074792404157404414_o_nat > $o,Xs: list_P6702368983108350734_o_nat,X: produc3074792404157404414_o_nat] :
      ( ( ( find_P6897154011258892258_o_nat @ P @ Xs )
        = ( some_P2630223654056210137_o_nat @ X ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s1814491460036751778_o_nat @ Xs ) )
            & ( P @ ( nth_Pr8224016110953687223_o_nat @ Xs @ I3 ) )
            & ( X
              = ( nth_Pr8224016110953687223_o_nat @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_Pr8224016110953687223_o_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_532_find__Some__iff,axiom,
    ! [P: c > $o,Xs: list_c,X: c] :
      ( ( ( find_c @ P @ Xs )
        = ( some_c @ X ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs ) )
            & ( P @ ( nth_c @ Xs @ I3 ) )
            & ( X
              = ( nth_c @ Xs @ I3 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I3 )
               => ~ ( P @ ( nth_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_533_nth__Cons__Suc,axiom,
    ! [X: c,Xs: list_c,N: nat] :
      ( ( nth_c @ ( cons_c @ X @ Xs ) @ ( suc @ N ) )
      = ( nth_c @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_534_take__Suc__Cons,axiom,
    ! [N: nat,X: c,Xs: list_c] :
      ( ( take_c @ ( suc @ N ) @ ( cons_c @ X @ Xs ) )
      = ( cons_c @ X @ ( take_c @ N @ Xs ) ) ) ).

% take_Suc_Cons
thf(fact_535_drop__Suc__Cons,axiom,
    ! [N: nat,X: c,Xs: list_c] :
      ( ( drop_c @ ( suc @ N ) @ ( cons_c @ X @ Xs ) )
      = ( drop_c @ N @ Xs ) ) ).

% drop_Suc_Cons
thf(fact_536_nth__append__length,axiom,
    ! [Xs: list_c,X: c,Ys2: list_c] :
      ( ( nth_c @ ( append_c @ Xs @ ( cons_c @ X @ Ys2 ) ) @ ( size_size_list_c @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_537_Cons__in__lex,axiom,
    ! [X: nat,Xs: list_nat,Y: nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( lex_nat @ R ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
          & ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( lex_nat @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_538_Cons__in__lex,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( lex_Pr8571645452597969515at_nat @ R ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R )
          & ( ( size_s5460976970255530739at_nat @ Xs )
            = ( size_s5460976970255530739at_nat @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_539_Cons__in__lex,axiom,
    ! [X: c,Xs: list_c,Y: c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ ( cons_c @ X @ Xs ) @ ( cons_c @ Y @ Ys2 ) ) @ ( lex_c @ R ) )
      = ( ( ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ X @ Y ) @ R )
          & ( ( size_size_list_c @ Xs )
            = ( size_size_list_c @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( lex_c @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_540_find_Osimps_I2_J,axiom,
    ! [P: product_prod_b_c > $o,X: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( P @ X )
       => ( ( find_P8684871256470843524od_b_c @ P @ ( cons_P4529483553340347422od_b_c @ X @ Xs ) )
          = ( some_P804611721829158477od_b_c @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P8684871256470843524od_b_c @ P @ ( cons_P4529483553340347422od_b_c @ X @ Xs ) )
          = ( find_P8684871256470843524od_b_c @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_541_find_Osimps_I2_J,axiom,
    ! [P: nat > $o,X: nat,Xs: list_nat] :
      ( ( ( P @ X )
       => ( ( find_nat @ P @ ( cons_nat @ X @ Xs ) )
          = ( some_nat @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_nat @ P @ ( cons_nat @ X @ Xs ) )
          = ( find_nat @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_542_find_Osimps_I2_J,axiom,
    ! [P: product_prod_nat_nat > $o,X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( P @ X )
       => ( ( find_P8199882355184865565at_nat @ P @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
          = ( some_P7363390416028606310at_nat @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P8199882355184865565at_nat @ P @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
          = ( find_P8199882355184865565at_nat @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_543_find_Osimps_I2_J,axiom,
    ! [P: produc3074792404157404414_o_nat > $o,X: produc3074792404157404414_o_nat,Xs: list_P6702368983108350734_o_nat] :
      ( ( ( P @ X )
       => ( ( find_P6897154011258892258_o_nat @ P @ ( cons_P1301391208966372296_o_nat @ X @ Xs ) )
          = ( some_P2630223654056210137_o_nat @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P6897154011258892258_o_nat @ P @ ( cons_P1301391208966372296_o_nat @ X @ Xs ) )
          = ( find_P6897154011258892258_o_nat @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_544_reaches__onD,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,T2: nat,B: nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ T2 @ B ) @ Vs2 ) @ S4 )
     => ? [S: product_prod_nat_nat] :
          ( ( ( Run @ S3 )
            = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S @ ( product_Pair_nat_nat @ T2 @ B ) ) ) )
          & ( reache7802105818613033796at_nat @ Run @ S @ Vs2 @ S4 ) ) ) ).

% reaches_onD
thf(fact_545_length__Suc__conv,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ( size_size_list_c @ Xs )
        = ( suc @ N ) )
      = ( ? [Y6: c,Ys3: list_c] :
            ( ( Xs
              = ( cons_c @ Y6 @ Ys3 ) )
            & ( ( size_size_list_c @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_546_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( suc @ N )
        = ( size_size_list_c @ Xs ) )
      = ( ? [Y6: c,Ys3: list_c] :
            ( ( Xs
              = ( cons_c @ Y6 @ Ys3 ) )
            & ( ( size_size_list_c @ Ys3 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_547_impossible__Cons,axiom,
    ! [Xs: list_c,Ys2: list_c,X: c] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ ( size_size_list_c @ Ys2 ) )
     => ( Xs
       != ( cons_c @ X @ Ys2 ) ) ) ).

% impossible_Cons
thf(fact_548_nth__via__drop,axiom,
    ! [N: nat,Xs: list_c,Y: c,Ys2: list_c] :
      ( ( ( drop_c @ N @ Xs )
        = ( cons_c @ Y @ Ys2 ) )
     => ( ( nth_c @ Xs @ N )
        = Y ) ) ).

% nth_via_drop
thf(fact_549_chain__le__cons,axiom,
    ! [Y: nat,Xs: list_nat,X: nat] :
      ( ( chain_le_nat @ ( cons_nat @ Y @ Xs ) )
     => ( ( ord_less_eq_nat @ X @ Y )
       => ( chain_le_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) ) ) ) ).

% chain_le_cons
thf(fact_550_Suc__le__length__iff,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_c @ Xs ) )
      = ( ? [X4: c,Ys3: list_c] :
            ( ( Xs
              = ( cons_c @ X4 @ Ys3 ) )
            & ( ord_less_eq_nat @ N @ ( size_size_list_c @ Ys3 ) ) ) ) ) ).

% Suc_le_length_iff
thf(fact_551_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_552_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_553_reaches__on_Ointros_I2_J,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,S4: product_prod_nat_nat,V: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S5: product_prod_nat_nat] :
      ( ( ( Run @ S3 )
        = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S4 @ V ) ) )
     => ( ( reache7802105818613033796at_nat @ Run @ S4 @ Vs2 @ S5 )
       => ( reache7802105818613033796at_nat @ Run @ S3 @ ( cons_P6512896166579812791at_nat @ V @ Vs2 ) @ S5 ) ) ) ).

% reaches_on.intros(2)
thf(fact_554_reaches__on_Ointros_I2_J,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,S4: b,V: c,Vs2: list_c,S5: b] :
      ( ( ( Run @ S3 )
        = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S4 @ V ) ) )
     => ( ( reaches_on_b_c @ Run @ S4 @ Vs2 @ S5 )
       => ( reaches_on_b_c @ Run @ S3 @ ( cons_c @ V @ Vs2 ) @ S5 ) ) ) ).

% reaches_on.intros(2)
thf(fact_555_reaches__on_Ointros_I2_J,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,S4: nat,V: nat,Vs2: list_nat,S5: nat] :
      ( ( ( Run @ S3 )
        = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S4 @ V ) ) )
     => ( ( reaches_on_nat_nat @ Run @ S4 @ Vs2 @ S5 )
       => ( reaches_on_nat_nat @ Run @ S3 @ ( cons_nat @ V @ Vs2 ) @ S5 ) ) ) ).

% reaches_on.intros(2)
thf(fact_556_reaches__on_Ointros_I2_J,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,S4: nat > $o,V: nat,Vs2: list_nat,S5: nat > $o] :
      ( ( ( Run @ S3 )
        = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S4 @ V ) ) )
     => ( ( reaches_on_nat_o_nat @ Run @ S4 @ Vs2 @ S5 )
       => ( reaches_on_nat_o_nat @ Run @ S3 @ ( cons_nat @ V @ Vs2 ) @ S5 ) ) ) ).

% reaches_on.intros(2)
thf(fact_557_reaches__on__ConsD,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,Q2: product_prod_nat_nat,X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Q3: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ Q2 @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Q3 )
     => ? [Q4: product_prod_nat_nat] :
          ( ( ( Run @ Q2 )
            = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ Q4 @ X ) ) )
          & ( reache7802105818613033796at_nat @ Run @ Q4 @ Xs @ Q3 ) ) ) ).

% reaches_on_ConsD
thf(fact_558_reaches__on__ConsD,axiom,
    ! [Run: b > option4716579502443089070od_b_c,Q2: b,X: c,Xs: list_c,Q3: b] :
      ( ( reaches_on_b_c @ Run @ Q2 @ ( cons_c @ X @ Xs ) @ Q3 )
     => ? [Q4: b] :
          ( ( ( Run @ Q2 )
            = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ Q4 @ X ) ) )
          & ( reaches_on_b_c @ Run @ Q4 @ Xs @ Q3 ) ) ) ).

% reaches_on_ConsD
thf(fact_559_reaches__on__ConsD,axiom,
    ! [Run: nat > option4927543243414619207at_nat,Q2: nat,X: nat,Xs: list_nat,Q3: nat] :
      ( ( reaches_on_nat_nat @ Run @ Q2 @ ( cons_nat @ X @ Xs ) @ Q3 )
     => ? [Q4: nat] :
          ( ( ( Run @ Q2 )
            = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ Q4 @ X ) ) )
          & ( reaches_on_nat_nat @ Run @ Q4 @ Xs @ Q3 ) ) ) ).

% reaches_on_ConsD
thf(fact_560_reaches__on__ConsD,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,Q2: nat > $o,X: nat,Xs: list_nat,Q3: nat > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ Q2 @ ( cons_nat @ X @ Xs ) @ Q3 )
     => ? [Q4: nat > $o] :
          ( ( ( Run @ Q2 )
            = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ Q4 @ X ) ) )
          & ( reaches_on_nat_o_nat @ Run @ Q4 @ Xs @ Q3 ) ) ) ).

% reaches_on_ConsD
thf(fact_561_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_562_pinf_I1_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q: nat > $o,Q5: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P5 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q5 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ Z @ X7 )
           => ( ( ( P @ X7 )
                & ( Q @ X7 ) )
              = ( ( P5 @ X7 )
                & ( Q5 @ X7 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_563_pinf_I2_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q: nat > $o,Q5: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P5 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q5 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ Z @ X7 )
           => ( ( ( P @ X7 )
                | ( Q @ X7 ) )
              = ( ( P5 @ X7 )
                | ( Q5 @ X7 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_564_pinf_I3_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ( X7 != T2 ) ) ).

% pinf(3)
thf(fact_565_pinf_I4_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ( X7 != T2 ) ) ).

% pinf(4)
thf(fact_566_pinf_I5_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ~ ( ord_less_nat @ X7 @ T2 ) ) ).

% pinf(5)
thf(fact_567_pinf_I7_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z @ X7 )
     => ( ord_less_nat @ T2 @ X7 ) ) ).

% pinf(7)
thf(fact_568_minf_I1_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q: nat > $o,Q5: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P5 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q5 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ X7 @ Z )
           => ( ( ( P @ X7 )
                & ( Q @ X7 ) )
              = ( ( P5 @ X7 )
                & ( Q5 @ X7 ) ) ) ) ) ) ).

% minf(1)
thf(fact_569_minf_I2_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q: nat > $o,Q5: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P5 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q5 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ X7 @ Z )
           => ( ( ( P @ X7 )
                | ( Q @ X7 ) )
              = ( ( P5 @ X7 )
                | ( Q5 @ X7 ) ) ) ) ) ) ).

% minf(2)
thf(fact_570_minf_I3_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ( X7 != T2 ) ) ).

% minf(3)
thf(fact_571_minf_I4_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ( X7 != T2 ) ) ).

% minf(4)
thf(fact_572_minf_I5_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ( ord_less_nat @ X7 @ T2 ) ) ).

% minf(5)
thf(fact_573_minf_I7_J,axiom,
    ! [T2: nat] :
    ? [Z: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z )
     => ~ ( ord_less_nat @ T2 @ X7 ) ) ).

% minf(7)
thf(fact_574_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( cons_c @ ( nth_c @ Xs @ I ) @ ( drop_c @ ( suc @ I ) @ Xs ) )
        = ( drop_c @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_575_length__Cons,axiom,
    ! [X: c,Xs: list_c] :
      ( ( size_size_list_c @ ( cons_c @ X @ Xs ) )
      = ( suc @ ( size_size_list_c @ Xs ) ) ) ).

% length_Cons
thf(fact_576_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( take_c @ ( suc @ I ) @ Xs )
        = ( append_c @ ( take_c @ I @ Xs ) @ ( cons_c @ ( nth_c @ Xs @ I ) @ nil_c ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_577_upd__conv__take__nth__drop,axiom,
    ! [I: nat,Xs: list_c,A: c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( list_update_c @ Xs @ I @ A )
        = ( append_c @ ( take_c @ I @ Xs ) @ ( cons_c @ A @ ( drop_c @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% upd_conv_take_nth_drop
thf(fact_578_Cons__lenlex__iff,axiom,
    ! [M: nat,Ms: list_nat,N: nat,Ns: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ M @ Ms ) @ ( cons_nat @ N @ Ns ) ) @ ( lenlex_nat @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) )
        | ( ( ( size_size_list_nat @ Ms )
            = ( size_size_list_nat @ Ns ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_579_Cons__lenlex__iff,axiom,
    ! [M: product_prod_nat_nat,Ms: list_P6011104703257516679at_nat,N: product_prod_nat_nat,Ns: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ M @ Ms ) @ ( cons_P6512896166579812791at_nat @ N @ Ns ) ) @ ( lenlex325483962726685836at_nat @ R ) )
      = ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ Ms ) @ ( size_s5460976970255530739at_nat @ Ns ) )
        | ( ( ( size_s5460976970255530739at_nat @ Ms )
            = ( size_s5460976970255530739at_nat @ Ns ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ms @ Ns ) @ ( lenlex325483962726685836at_nat @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_580_Cons__lenlex__iff,axiom,
    ! [M: c,Ms: list_c,N: c,Ns: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ ( cons_c @ M @ Ms ) @ ( cons_c @ N @ Ns ) ) @ ( lenlex_c @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_c @ Ms ) @ ( size_size_list_c @ Ns ) )
        | ( ( ( size_size_list_c @ Ms )
            = ( size_size_list_c @ Ns ) )
          & ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Ms @ Ns ) @ ( lenlex_c @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_581_enumerate__simps_I2_J,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( enumerate_nat @ N @ ( cons_nat @ X @ Xs ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ N @ X ) @ ( enumerate_nat @ ( suc @ N ) @ Xs ) ) ) ).

% enumerate_simps(2)
thf(fact_582_listrel__iff__nth,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat,R: set_Pr4354077987950702516_o_nat] :
      ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs @ Ys2 ) @ ( listrel_nat_o_nat @ R ) )
      = ( ( ( size_size_list_nat_o @ Xs )
          = ( size_size_list_nat @ Ys2 ) )
        & ! [N4: nat] :
            ( ( ord_less_nat @ N4 @ ( size_size_list_nat_o @ Xs ) )
           => ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ ( nth_nat_o @ Xs @ N4 ) @ ( nth_nat @ Ys2 @ N4 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_583_listrel__iff__nth,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel_nat_nat @ R ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys2 ) )
        & ! [N4: nat] :
            ( ( ord_less_nat @ N4 @ ( size_size_list_nat @ Xs ) )
           => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ N4 ) @ ( nth_nat @ Ys2 @ N4 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_584_listrel__iff__nth,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) )
      = ( ( ( size_s5460976970255530739at_nat @ Xs )
          = ( size_s5460976970255530739at_nat @ Ys2 ) )
        & ! [N4: nat] :
            ( ( ord_less_nat @ N4 @ ( size_s5460976970255530739at_nat @ Xs ) )
           => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ N4 ) @ ( nth_Pr7617993195940197384at_nat @ Ys2 @ N4 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_585_listrel__iff__nth,axiom,
    ! [Xs: list_b,Ys2: list_c,R: set_Product_prod_b_c] :
      ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs @ Ys2 ) @ ( listrel_b_c @ R ) )
      = ( ( ( size_size_list_b @ Xs )
          = ( size_size_list_c @ Ys2 ) )
        & ! [N4: nat] :
            ( ( ord_less_nat @ N4 @ ( size_size_list_b @ Xs ) )
           => ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ ( nth_b @ Xs @ N4 ) @ ( nth_c @ Ys2 @ N4 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_586_listrel__iff__nth,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( listrel_c_c @ R ) )
      = ( ( ( size_size_list_c @ Xs )
          = ( size_size_list_c @ Ys2 ) )
        & ! [N4: nat] :
            ( ( ord_less_nat @ N4 @ ( size_size_list_c @ Xs ) )
           => ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ ( nth_c @ Xs @ N4 ) @ ( nth_c @ Ys2 @ N4 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_587_length__list__update,axiom,
    ! [Xs: list_c,I: nat,X: c] :
      ( ( size_size_list_c @ ( list_update_c @ Xs @ I @ X ) )
      = ( size_size_list_c @ Xs ) ) ).

% length_list_update
thf(fact_588_list__update__id,axiom,
    ! [Xs: list_c,I: nat] :
      ( ( list_update_c @ Xs @ I @ ( nth_c @ Xs @ I ) )
      = Xs ) ).

% list_update_id
thf(fact_589_nth__list__update__neq,axiom,
    ! [I: nat,J: nat,Xs: list_c,X: c] :
      ( ( I != J )
     => ( ( nth_c @ ( list_update_c @ Xs @ I @ X ) @ J )
        = ( nth_c @ Xs @ J ) ) ) ).

% nth_list_update_neq
thf(fact_590_length__enumerate,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( size_s385972143775086793_nat_c @ ( enumerate_c @ N @ Xs ) )
      = ( size_size_list_c @ Xs ) ) ).

% length_enumerate
thf(fact_591_list__update__beyond,axiom,
    ! [Xs: list_c,I: nat,X: c] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ I )
     => ( ( list_update_c @ Xs @ I @ X )
        = Xs ) ) ).

% list_update_beyond
thf(fact_592_take__update__cancel,axiom,
    ! [N: nat,M: nat,Xs: list_c,Y: c] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( take_c @ N @ ( list_update_c @ Xs @ M @ Y ) )
        = ( take_c @ N @ Xs ) ) ) ).

% take_update_cancel
thf(fact_593_drop__update__cancel,axiom,
    ! [N: nat,M: nat,Xs: list_c,X: c] :
      ( ( ord_less_nat @ N @ M )
     => ( ( drop_c @ M @ ( list_update_c @ Xs @ N @ X ) )
        = ( drop_c @ M @ Xs ) ) ) ).

% drop_update_cancel
thf(fact_594_drop__all,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N )
     => ( ( drop_c @ N @ Xs )
        = nil_c ) ) ).

% drop_all
thf(fact_595_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( drop_c @ N @ Xs )
        = nil_c )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_596_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( nil_c
        = ( drop_c @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_597_list__update__length,axiom,
    ! [Xs: list_c,X: c,Ys2: list_c,Y: c] :
      ( ( list_update_c @ ( append_c @ Xs @ ( cons_c @ X @ Ys2 ) ) @ ( size_size_list_c @ Xs ) @ Y )
      = ( append_c @ Xs @ ( cons_c @ Y @ Ys2 ) ) ) ).

% list_update_length
thf(fact_598_nth__list__update__eq,axiom,
    ! [I: nat,Xs: list_c,X: c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( nth_c @ ( list_update_c @ Xs @ I @ X ) @ I )
        = X ) ) ).

% nth_list_update_eq
thf(fact_599_take__update__swap,axiom,
    ! [M: nat,Xs: list_c,N: nat,X: c] :
      ( ( take_c @ M @ ( list_update_c @ Xs @ N @ X ) )
      = ( list_update_c @ ( take_c @ M @ Xs ) @ N @ X ) ) ).

% take_update_swap
thf(fact_600_reaches__on_Ointros_I1_J,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b] : ( reaches_on_b_c @ Run @ S3 @ nil_c @ S3 ) ).

% reaches_on.intros(1)
thf(fact_601_reaches__on__NilD,axiom,
    ! [Run: b > option4716579502443089070od_b_c,Q2: b,Q3: b] :
      ( ( reaches_on_b_c @ Run @ Q2 @ nil_c @ Q3 )
     => ( Q2 = Q3 ) ) ).

% reaches_on_NilD
thf(fact_602_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_c @ N @ nil_c )
      = nil_c ) ).

% take_Nil
thf(fact_603_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_c @ N @ nil_c )
      = nil_c ) ).

% drop_Nil
thf(fact_604_listrel_Ocases,axiom,
    ! [A1: list_b,A22: list_c,R: set_Product_prod_b_c] :
      ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ A1 @ A22 ) @ ( listrel_b_c @ R ) )
     => ( ( ( A1 = nil_b )
         => ( A22 != nil_c ) )
       => ~ ! [X3: b,Y3: c,Xs3: list_b] :
              ( ( A1
                = ( cons_b @ X3 @ Xs3 ) )
             => ! [Ys4: list_c] :
                  ( ( A22
                    = ( cons_c @ Y3 @ Ys4 ) )
                 => ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X3 @ Y3 ) @ R )
                   => ~ ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs3 @ Ys4 ) @ ( listrel_b_c @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_605_listrel_Ocases,axiom,
    ! [A1: list_nat_o,A22: list_nat,R: set_Pr4354077987950702516_o_nat] :
      ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ A1 @ A22 ) @ ( listrel_nat_o_nat @ R ) )
     => ( ( ( A1 = nil_nat_o )
         => ( A22 != nil_nat ) )
       => ~ ! [X3: nat > $o,Y3: nat,Xs3: list_nat_o] :
              ( ( A1
                = ( cons_nat_o @ X3 @ Xs3 ) )
             => ! [Ys4: list_nat] :
                  ( ( A22
                    = ( cons_nat @ Y3 @ Ys4 ) )
                 => ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X3 @ Y3 ) @ R )
                   => ~ ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs3 @ Ys4 ) @ ( listrel_nat_o_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_606_listrel_Ocases,axiom,
    ! [A1: list_nat,A22: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R ) )
     => ( ( ( A1 = nil_nat )
         => ( A22 != nil_nat ) )
       => ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs3 ) )
             => ! [Ys4: list_nat] :
                  ( ( A22
                    = ( cons_nat @ Y3 @ Ys4 ) )
                 => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y3 ) @ R )
                   => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs3 @ Ys4 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_607_listrel_Ocases,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R ) )
     => ( ( ( A1 = nil_Pr5478986624290739719at_nat )
         => ( A22 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Y3: product_prod_nat_nat,Xs3: list_P6011104703257516679at_nat] :
              ( ( A1
                = ( cons_P6512896166579812791at_nat @ X3 @ Xs3 ) )
             => ! [Ys4: list_P6011104703257516679at_nat] :
                  ( ( A22
                    = ( cons_P6512896166579812791at_nat @ Y3 @ Ys4 ) )
                 => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y3 ) @ R )
                   => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs3 @ Ys4 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_608_listrel_Osimps,axiom,
    ! [A1: list_b,A22: list_c,R: set_Product_prod_b_c] :
      ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ A1 @ A22 ) @ ( listrel_b_c @ R ) )
      = ( ( ( A1 = nil_b )
          & ( A22 = nil_c ) )
        | ? [X4: b,Y6: c,Xs2: list_b,Ys3: list_c] :
            ( ( A1
              = ( cons_b @ X4 @ Xs2 ) )
            & ( A22
              = ( cons_c @ Y6 @ Ys3 ) )
            & ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X4 @ Y6 ) @ R )
            & ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs2 @ Ys3 ) @ ( listrel_b_c @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_609_listrel_Osimps,axiom,
    ! [A1: list_nat_o,A22: list_nat,R: set_Pr4354077987950702516_o_nat] :
      ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ A1 @ A22 ) @ ( listrel_nat_o_nat @ R ) )
      = ( ( ( A1 = nil_nat_o )
          & ( A22 = nil_nat ) )
        | ? [X4: nat > $o,Y6: nat,Xs2: list_nat_o,Ys3: list_nat] :
            ( ( A1
              = ( cons_nat_o @ X4 @ Xs2 ) )
            & ( A22
              = ( cons_nat @ Y6 @ Ys3 ) )
            & ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X4 @ Y6 ) @ R )
            & ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs2 @ Ys3 ) @ ( listrel_nat_o_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_610_listrel_Osimps,axiom,
    ! [A1: list_nat,A22: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R ) )
      = ( ( ( A1 = nil_nat )
          & ( A22 = nil_nat ) )
        | ? [X4: nat,Y6: nat,Xs2: list_nat,Ys3: list_nat] :
            ( ( A1
              = ( cons_nat @ X4 @ Xs2 ) )
            & ( A22
              = ( cons_nat @ Y6 @ Ys3 ) )
            & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ Y6 ) @ R )
            & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys3 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_611_listrel_Osimps,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R ) )
      = ( ( ( A1 = nil_Pr5478986624290739719at_nat )
          & ( A22 = nil_Pr5478986624290739719at_nat ) )
        | ? [X4: product_prod_nat_nat,Y6: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys3: list_P6011104703257516679at_nat] :
            ( ( A1
              = ( cons_P6512896166579812791at_nat @ X4 @ Xs2 ) )
            & ( A22
              = ( cons_P6512896166579812791at_nat @ Y6 @ Ys3 ) )
            & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ Y6 ) @ R )
            & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys3 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_612_list__induct2,axiom,
    ! [Xs: list_c,Ys2: list_c,P: list_c > list_c > $o] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( P @ nil_c @ nil_c )
       => ( ! [X3: c,Xs3: list_c,Y3: c,Ys4: list_c] :
              ( ( ( size_size_list_c @ Xs3 )
                = ( size_size_list_c @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_c @ X3 @ Xs3 ) @ ( cons_c @ Y3 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys2 ) ) ) ) ).

% list_induct2
thf(fact_613_list__induct3,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c,P: list_c > list_c > list_c > $o] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( ( size_size_list_c @ Ys2 )
          = ( size_size_list_c @ Zs ) )
       => ( ( P @ nil_c @ nil_c @ nil_c )
         => ( ! [X3: c,Xs3: list_c,Y3: c,Ys4: list_c,Z: c,Zs2: list_c] :
                ( ( ( size_size_list_c @ Xs3 )
                  = ( size_size_list_c @ Ys4 ) )
               => ( ( ( size_size_list_c @ Ys4 )
                    = ( size_size_list_c @ Zs2 ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs2 )
                   => ( P @ ( cons_c @ X3 @ Xs3 ) @ ( cons_c @ Y3 @ Ys4 ) @ ( cons_c @ Z @ Zs2 ) ) ) ) )
           => ( P @ Xs @ Ys2 @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_614_list__induct4,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c,Ws: list_c,P: list_c > list_c > list_c > list_c > $o] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( ( size_size_list_c @ Ys2 )
          = ( size_size_list_c @ Zs ) )
       => ( ( ( size_size_list_c @ Zs )
            = ( size_size_list_c @ Ws ) )
         => ( ( P @ nil_c @ nil_c @ nil_c @ nil_c )
           => ( ! [X3: c,Xs3: list_c,Y3: c,Ys4: list_c,Z: c,Zs2: list_c,W: c,Ws2: list_c] :
                  ( ( ( size_size_list_c @ Xs3 )
                    = ( size_size_list_c @ Ys4 ) )
                 => ( ( ( size_size_list_c @ Ys4 )
                      = ( size_size_list_c @ Zs2 ) )
                   => ( ( ( size_size_list_c @ Zs2 )
                        = ( size_size_list_c @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_c @ X3 @ Xs3 ) @ ( cons_c @ Y3 @ Ys4 ) @ ( cons_c @ Z @ Zs2 ) @ ( cons_c @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys2 @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_615_listrel__eq__len,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( listrel_c_c @ R ) )
     => ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) ) ) ).

% listrel_eq_len
thf(fact_616_length__append__singleton,axiom,
    ! [Xs: list_c,X: c] :
      ( ( size_size_list_c @ ( append_c @ Xs @ ( cons_c @ X @ nil_c ) ) )
      = ( suc @ ( size_size_list_c @ Xs ) ) ) ).

% length_append_singleton
thf(fact_617_lenlex__irreflexive,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Xs ) @ ( lenlex_nat @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_618_lenlex__irreflexive,axiom,
    ! [R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ X3 ) @ R )
     => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Xs ) @ ( lenlex325483962726685836at_nat @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_619_list__update__append1,axiom,
    ! [I: nat,Xs: list_c,Ys2: list_c,X: c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( list_update_c @ ( append_c @ Xs @ Ys2 ) @ I @ X )
        = ( append_c @ ( list_update_c @ Xs @ I @ X ) @ Ys2 ) ) ) ).

% list_update_append1
thf(fact_620_nth__list__update,axiom,
    ! [I: nat,Xs: list_c,J: nat,X: c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( ( I = J )
         => ( ( nth_c @ ( list_update_c @ Xs @ I @ X ) @ J )
            = X ) )
        & ( ( I != J )
         => ( ( nth_c @ ( list_update_c @ Xs @ I @ X ) @ J )
            = ( nth_c @ Xs @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_621_list__update__same__conv,axiom,
    ! [I: nat,Xs: list_c,X: c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( ( list_update_c @ Xs @ I @ X )
          = Xs )
        = ( ( nth_c @ Xs @ I )
          = X ) ) ) ).

% list_update_same_conv
thf(fact_622_same__length__different,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( Xs != Ys2 )
     => ( ( ( size_size_list_c @ Xs )
          = ( size_size_list_c @ Ys2 ) )
       => ? [Pre: list_c,X3: c,Xs4: list_c,Y3: c,Ys5: list_c] :
            ( ( X3 != Y3 )
            & ( Xs
              = ( append_c @ Pre @ ( append_c @ ( cons_c @ X3 @ nil_c ) @ Xs4 ) ) )
            & ( Ys2
              = ( append_c @ Pre @ ( append_c @ ( cons_c @ Y3 @ nil_c ) @ Ys5 ) ) ) ) ) ) ).

% same_length_different
thf(fact_623_chain__le_Ocases,axiom,
    ! [A: list_nat] :
      ( ( chain_le_nat @ A )
     => ( ( A != nil_nat )
       => ( ! [X3: nat] :
              ( A
             != ( cons_nat @ X3 @ nil_nat ) )
         => ~ ! [Y3: nat,Xs3: list_nat,X3: nat] :
                ( ( A
                  = ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
               => ( ( chain_le_nat @ ( cons_nat @ Y3 @ Xs3 ) )
                 => ~ ( ord_less_eq_nat @ X3 @ Y3 ) ) ) ) ) ) ).

% chain_le.cases
thf(fact_624_chain__le_Osimps,axiom,
    ( chain_le_nat
    = ( ^ [A5: list_nat] :
          ( ( A5 = nil_nat )
          | ? [X4: nat] :
              ( A5
              = ( cons_nat @ X4 @ nil_nat ) )
          | ? [Y6: nat,Xs2: list_nat,X4: nat] :
              ( ( A5
                = ( cons_nat @ X4 @ ( cons_nat @ Y6 @ Xs2 ) ) )
              & ( chain_le_nat @ ( cons_nat @ Y6 @ Xs2 ) )
              & ( ord_less_eq_nat @ X4 @ Y6 ) ) ) ) ) ).

% chain_le.simps
thf(fact_625_listrel__Cons2,axiom,
    ! [Xs: list_b,Y: c,Ys2: list_c,R: set_Product_prod_b_c] :
      ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs @ ( cons_c @ Y @ Ys2 ) ) @ ( listrel_b_c @ R ) )
     => ~ ! [X3: b,Xs3: list_b] :
            ( ( Xs
              = ( cons_b @ X3 @ Xs3 ) )
           => ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X3 @ Y ) @ R )
             => ~ ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs3 @ Ys2 ) @ ( listrel_b_c @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_626_listrel__Cons2,axiom,
    ! [Xs: list_nat_o,Y: nat,Ys2: list_nat,R: set_Pr4354077987950702516_o_nat] :
      ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_o_nat @ R ) )
     => ~ ! [X3: nat > $o,Xs3: list_nat_o] :
            ( ( Xs
              = ( cons_nat_o @ X3 @ Xs3 ) )
           => ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X3 @ Y ) @ R )
             => ~ ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs3 @ Ys2 ) @ ( listrel_nat_o_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_627_listrel__Cons2,axiom,
    ! [Xs: list_nat,Y: nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_nat @ R ) )
     => ~ ! [X3: nat,Xs3: list_nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Xs3 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y ) @ R )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs3 @ Ys2 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_628_listrel__Cons2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre818007680106770737at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Xs3: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs3 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs3 @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_629_listrel__Cons1,axiom,
    ! [Y: b,Ys2: list_b,Xs: list_c,R: set_Product_prod_b_c] :
      ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ ( cons_b @ Y @ Ys2 ) @ Xs ) @ ( listrel_b_c @ R ) )
     => ~ ! [Y3: c,Ys4: list_c] :
            ( ( Xs
              = ( cons_c @ Y3 @ Ys4 ) )
           => ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ Y @ Y3 ) @ R )
             => ~ ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Ys2 @ Ys4 ) @ ( listrel_b_c @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_630_listrel__Cons1,axiom,
    ! [Y: nat > $o,Ys2: list_nat_o,Xs: list_nat,R: set_Pr4354077987950702516_o_nat] :
      ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ ( cons_nat_o @ Y @ Ys2 ) @ Xs ) @ ( listrel_nat_o_nat @ R ) )
     => ~ ! [Y3: nat,Ys4: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y3 @ Ys4 ) )
           => ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ Y @ Y3 ) @ R )
             => ~ ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Ys2 @ Ys4 ) @ ( listrel_nat_o_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_631_listrel__Cons1,axiom,
    ! [Y: nat,Ys2: list_nat,Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ Y @ Ys2 ) @ Xs ) @ ( listrel_nat_nat @ R ) )
     => ~ ! [Y3: nat,Ys4: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y3 @ Ys4 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ Y @ Y3 ) @ R )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Ys4 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_632_listrel__Cons1,axiom,
    ! [Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) @ Xs ) @ ( listre818007680106770737at_nat @ R ) )
     => ~ ! [Y3: product_prod_nat_nat,Ys4: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Y3 @ Ys4 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ Y @ Y3 ) @ R )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Ys4 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_633_listrel_OCons,axiom,
    ! [X: b,Y: c,R: set_Product_prod_b_c,Xs: list_b,Ys2: list_c] :
      ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ R )
     => ( ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ Xs @ Ys2 ) @ ( listrel_b_c @ R ) )
       => ( member3061355918034584977list_c @ ( produc1564554182611693912list_c @ ( cons_b @ X @ Xs ) @ ( cons_c @ Y @ Ys2 ) ) @ ( listrel_b_c @ R ) ) ) ) ).

% listrel.Cons
thf(fact_634_listrel_OCons,axiom,
    ! [X: nat > $o,Y: nat,R: set_Pr4354077987950702516_o_nat,Xs: list_nat_o,Ys2: list_nat] :
      ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) @ R )
     => ( ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ Xs @ Ys2 ) @ ( listrel_nat_o_nat @ R ) )
       => ( member69777164926368939st_nat @ ( produc1237022150899190286st_nat @ ( cons_nat_o @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_o_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_635_listrel_OCons,axiom,
    ! [X: nat,Y: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel_nat_nat @ R ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_636_listrel_OCons,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_637_length__Suc__conv__rev,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ( size_size_list_c @ Xs )
        = ( suc @ N ) )
      = ( ? [Y6: c,Ys3: list_c] :
            ( ( Xs
              = ( append_c @ Ys3 @ ( cons_c @ Y6 @ nil_c ) ) )
            & ( ( size_size_list_c @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_638_reaches__on_Osimps,axiom,
    ( reache7802105818613033796at_nat
    = ( ^ [Run2: product_prod_nat_nat > option7387190471253296173at_nat,A12: product_prod_nat_nat,A23: list_P6011104703257516679at_nat,A32: product_prod_nat_nat] :
          ( ? [S6: product_prod_nat_nat] :
              ( ( A12 = S6 )
              & ( A23 = nil_Pr5478986624290739719at_nat )
              & ( A32 = S6 ) )
          | ? [S6: product_prod_nat_nat,S7: product_prod_nat_nat,V4: product_prod_nat_nat,Vs5: list_P6011104703257516679at_nat,S8: product_prod_nat_nat] :
              ( ( A12 = S6 )
              & ( A23
                = ( cons_P6512896166579812791at_nat @ V4 @ Vs5 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S7 @ V4 ) ) )
              & ( reache7802105818613033796at_nat @ Run2 @ S7 @ Vs5 @ S8 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_639_reaches__on_Osimps,axiom,
    ( reaches_on_b_c
    = ( ^ [Run2: b > option4716579502443089070od_b_c,A12: b,A23: list_c,A32: b] :
          ( ? [S6: b] :
              ( ( A12 = S6 )
              & ( A23 = nil_c )
              & ( A32 = S6 ) )
          | ? [S6: b,S7: b,V4: c,Vs5: list_c,S8: b] :
              ( ( A12 = S6 )
              & ( A23
                = ( cons_c @ V4 @ Vs5 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S7 @ V4 ) ) )
              & ( reaches_on_b_c @ Run2 @ S7 @ Vs5 @ S8 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_640_reaches__on_Osimps,axiom,
    ( reaches_on_nat_nat
    = ( ^ [Run2: nat > option4927543243414619207at_nat,A12: nat,A23: list_nat,A32: nat] :
          ( ? [S6: nat] :
              ( ( A12 = S6 )
              & ( A23 = nil_nat )
              & ( A32 = S6 ) )
          | ? [S6: nat,S7: nat,V4: nat,Vs5: list_nat,S8: nat] :
              ( ( A12 = S6 )
              & ( A23
                = ( cons_nat @ V4 @ Vs5 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S7 @ V4 ) ) )
              & ( reaches_on_nat_nat @ Run2 @ S7 @ Vs5 @ S8 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_641_reaches__on_Osimps,axiom,
    ( reaches_on_nat_o_nat
    = ( ^ [Run2: ( nat > $o ) > option7421465107808516430_o_nat,A12: nat > $o,A23: list_nat,A32: nat > $o] :
          ( ? [S6: nat > $o] :
              ( ( A12 = S6 )
              & ( A23 = nil_nat )
              & ( A32 = S6 ) )
          | ? [S6: nat > $o,S7: nat > $o,V4: nat,Vs5: list_nat,S8: nat > $o] :
              ( ( A12 = S6 )
              & ( A23
                = ( cons_nat @ V4 @ Vs5 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S7 @ V4 ) ) )
              & ( reaches_on_nat_o_nat @ Run2 @ S7 @ Vs5 @ S8 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_642_reaches__on_Ocases,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,A1: product_prod_nat_nat,A22: list_P6011104703257516679at_nat,A33: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = nil_Pr5478986624290739719at_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: product_prod_nat_nat,V3: product_prod_nat_nat,Vs3: list_P6011104703257516679at_nat] :
              ( ( A22
                = ( cons_P6512896166579812791at_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S9 @ V3 ) ) )
               => ~ ( reache7802105818613033796at_nat @ Run @ S9 @ Vs3 @ A33 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_643_reaches__on_Ocases,axiom,
    ! [Run: b > option4716579502443089070od_b_c,A1: b,A22: list_c,A33: b] :
      ( ( reaches_on_b_c @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = nil_c )
         => ( A33 != A1 ) )
       => ~ ! [S9: b,V3: c,Vs3: list_c] :
              ( ( A22
                = ( cons_c @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S9 @ V3 ) ) )
               => ~ ( reaches_on_b_c @ Run @ S9 @ Vs3 @ A33 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_644_reaches__on_Ocases,axiom,
    ! [Run: nat > option4927543243414619207at_nat,A1: nat,A22: list_nat,A33: nat] :
      ( ( reaches_on_nat_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = nil_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: nat,V3: nat,Vs3: list_nat] :
              ( ( A22
                = ( cons_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S9 @ V3 ) ) )
               => ~ ( reaches_on_nat_nat @ Run @ S9 @ Vs3 @ A33 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_645_reaches__on_Ocases,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,A1: nat > $o,A22: list_nat,A33: nat > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = nil_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: nat > $o,V3: nat,Vs3: list_nat] :
              ( ( A22
                = ( cons_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S9 @ V3 ) ) )
               => ~ ( reaches_on_nat_o_nat @ Run @ S9 @ Vs3 @ A33 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_646_lenlex__length,axiom,
    ! [Ms: list_c,Ns: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Ms @ Ns ) @ ( lenlex_c @ R ) )
     => ( ord_less_eq_nat @ ( size_size_list_c @ Ms ) @ ( size_size_list_c @ Ns ) ) ) ).

% lenlex_length
thf(fact_647_lenlex__append1,axiom,
    ! [Us: list_c,Xs: list_c,R2: set_Product_prod_c_c,Vs2: list_c,Ys2: list_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Us @ Xs ) @ ( lenlex_c @ R2 ) )
     => ( ( ( size_size_list_c @ Vs2 )
          = ( size_size_list_c @ Ys2 ) )
       => ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ ( append_c @ Us @ Vs2 ) @ ( append_c @ Xs @ Ys2 ) ) @ ( lenlex_c @ R2 ) ) ) ) ).

% lenlex_append1
thf(fact_648_chain__le__app,axiom,
    ! [Zs: list_nat,Z4: nat,W2: nat] :
      ( ( chain_le_nat @ ( append_nat @ Zs @ ( cons_nat @ Z4 @ nil_nat ) ) )
     => ( ( ord_less_eq_nat @ Z4 @ W2 )
       => ( chain_le_nat @ ( append_nat @ ( append_nat @ Zs @ ( cons_nat @ Z4 @ nil_nat ) ) @ ( cons_nat @ W2 @ nil_nat ) ) ) ) ) ).

% chain_le_app
thf(fact_649_reaches__on__app,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat,S5: product_prod_nat_nat,V: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ( Run @ S4 )
          = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S5 @ V ) ) )
       => ( reache7802105818613033796at_nat @ Run @ S3 @ ( append985823374593552924at_nat @ Vs2 @ ( cons_P6512896166579812791at_nat @ V @ nil_Pr5478986624290739719at_nat ) ) @ S5 ) ) ) ).

% reaches_on_app
thf(fact_650_reaches__on__app,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,S5: b,V: c] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ( Run @ S4 )
          = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S5 @ V ) ) )
       => ( reaches_on_b_c @ Run @ S3 @ ( append_c @ Vs2 @ ( cons_c @ V @ nil_c ) ) @ S5 ) ) ) ).

% reaches_on_app
thf(fact_651_reaches__on__app,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat,S5: nat,V: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ( Run @ S4 )
          = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S5 @ V ) ) )
       => ( reaches_on_nat_nat @ Run @ S3 @ ( append_nat @ Vs2 @ ( cons_nat @ V @ nil_nat ) ) @ S5 ) ) ) ).

% reaches_on_app
thf(fact_652_reaches__on__app,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o,S5: nat > $o,V: nat] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ( ( Run @ S4 )
          = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S5 @ V ) ) )
       => ( reaches_on_nat_o_nat @ Run @ S3 @ ( append_nat @ Vs2 @ ( cons_nat @ V @ nil_nat ) ) @ S5 ) ) ) ).

% reaches_on_app
thf(fact_653_reaches__on__rev__induct,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Vs2: list_P6011104703257516679at_nat,S4: product_prod_nat_nat,P: product_prod_nat_nat > list_P6011104703257516679at_nat > product_prod_nat_nat > $o] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ! [S10: product_prod_nat_nat] : ( P @ S10 @ nil_Pr5478986624290739719at_nat @ S10 )
       => ( ! [S10: product_prod_nat_nat,S9: product_prod_nat_nat,V3: product_prod_nat_nat,Vs3: list_P6011104703257516679at_nat,S: product_prod_nat_nat] :
              ( ( reache7802105818613033796at_nat @ Run @ S10 @ Vs3 @ S9 )
             => ( ( P @ S10 @ Vs3 @ S9 )
               => ( ( ( Run @ S9 )
                    = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S @ V3 ) ) )
                 => ( P @ S10 @ ( append985823374593552924at_nat @ Vs3 @ ( cons_P6512896166579812791at_nat @ V3 @ nil_Pr5478986624290739719at_nat ) ) @ S ) ) ) )
         => ( P @ S3 @ Vs2 @ S4 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_654_reaches__on__rev__induct,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,P: b > list_c > b > $o] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ! [S10: b] : ( P @ S10 @ nil_c @ S10 )
       => ( ! [S10: b,S9: b,V3: c,Vs3: list_c,S: b] :
              ( ( reaches_on_b_c @ Run @ S10 @ Vs3 @ S9 )
             => ( ( P @ S10 @ Vs3 @ S9 )
               => ( ( ( Run @ S9 )
                    = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S @ V3 ) ) )
                 => ( P @ S10 @ ( append_c @ Vs3 @ ( cons_c @ V3 @ nil_c ) ) @ S ) ) ) )
         => ( P @ S3 @ Vs2 @ S4 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_655_reaches__on__rev__induct,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Vs2: list_nat,S4: nat,P: nat > list_nat > nat > $o] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ! [S10: nat] : ( P @ S10 @ nil_nat @ S10 )
       => ( ! [S10: nat,S9: nat,V3: nat,Vs3: list_nat,S: nat] :
              ( ( reaches_on_nat_nat @ Run @ S10 @ Vs3 @ S9 )
             => ( ( P @ S10 @ Vs3 @ S9 )
               => ( ( ( Run @ S9 )
                    = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S @ V3 ) ) )
                 => ( P @ S10 @ ( append_nat @ Vs3 @ ( cons_nat @ V3 @ nil_nat ) ) @ S ) ) ) )
         => ( P @ S3 @ Vs2 @ S4 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_656_reaches__on__rev__induct,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Vs2: list_nat,S4: nat > $o,P: ( nat > $o ) > list_nat > ( nat > $o ) > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ Vs2 @ S4 )
     => ( ! [S10: nat > $o] : ( P @ S10 @ nil_nat @ S10 )
       => ( ! [S10: nat > $o,S9: nat > $o,V3: nat,Vs3: list_nat,S: nat > $o] :
              ( ( reaches_on_nat_o_nat @ Run @ S10 @ Vs3 @ S9 )
             => ( ( P @ S10 @ Vs3 @ S9 )
               => ( ( ( Run @ S9 )
                    = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S @ V3 ) ) )
                 => ( P @ S10 @ ( append_nat @ Vs3 @ ( cons_nat @ V3 @ nil_nat ) ) @ S ) ) ) )
         => ( P @ S3 @ Vs2 @ S4 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_657_reaches__on__split__last,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,S3: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,S5: product_prod_nat_nat] :
      ( ( reache7802105818613033796at_nat @ Run @ S3 @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) @ S5 )
     => ? [S9: product_prod_nat_nat] :
          ( ( reache7802105818613033796at_nat @ Run @ S3 @ Xs @ S9 )
          & ( ( Run @ S9 )
            = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S5 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_658_reaches__on__split__last,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Xs: list_c,X: c,S5: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ ( append_c @ Xs @ ( cons_c @ X @ nil_c ) ) @ S5 )
     => ? [S9: b] :
          ( ( reaches_on_b_c @ Run @ S3 @ Xs @ S9 )
          & ( ( Run @ S9 )
            = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S5 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_659_reaches__on__split__last,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S3: nat,Xs: list_nat,X: nat,S5: nat] :
      ( ( reaches_on_nat_nat @ Run @ S3 @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ S5 )
     => ? [S9: nat] :
          ( ( reaches_on_nat_nat @ Run @ S3 @ Xs @ S9 )
          & ( ( Run @ S9 )
            = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S5 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_660_reaches__on__split__last,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,S3: nat > $o,Xs: list_nat,X: nat,S5: nat > $o] :
      ( ( reaches_on_nat_o_nat @ Run @ S3 @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ S5 )
     => ? [S9: nat > $o] :
          ( ( reaches_on_nat_o_nat @ Run @ S3 @ Xs @ S9 )
          & ( ( Run @ S9 )
            = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S5 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_661_take__hd__drop,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( append_c @ ( take_c @ N @ Xs ) @ ( cons_c @ ( hd_c @ ( drop_c @ N @ Xs ) ) @ nil_c ) )
        = ( take_c @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_662_ex__key_Ocases,axiom,
    ! [X: produc5816723004105191512at_o_o] :
      ( ! [Time: nat > $o,Accept: ( nat > $o ) > $o,Ac: mapping_nat_o_o] :
          ( X
         != ( produc3344241553587936010at_o_o @ nil_Pr3919464568974123896_o_nat @ ( produc5255738932537225313at_o_o @ Time @ ( produc1456212329495349441at_o_o @ Accept @ Ac ) ) ) )
     => ~ ! [Q6: nat > $o,T5: nat,Qts: list_P6702368983108350734_o_nat,Time: nat > $o,Accept: ( nat > $o ) > $o,Ac: mapping_nat_o_o] :
            ( X
           != ( produc3344241553587936010at_o_o @ ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ Q6 @ T5 ) @ Qts ) @ ( produc5255738932537225313at_o_o @ Time @ ( produc1456212329495349441at_o_o @ Accept @ Ac ) ) ) ) ) ).

% ex_key.cases
thf(fact_663_ex__key_Ocases,axiom,
    ! [X: produc1783361409637995907_nat_o] :
      ( ! [Time: nat > $o,Accept: nat > $o,Ac: mapping_nat_o] :
          ( X
         != ( produc5654405827127464947_nat_o @ nil_Pr5478986624290739719at_nat @ ( produc4390676519605123987_nat_o @ Time @ ( produc1708576699232315691_nat_o @ Accept @ Ac ) ) ) )
     => ~ ! [Q6: nat,T5: nat,Qts: list_P6011104703257516679at_nat,Time: nat > $o,Accept: nat > $o,Ac: mapping_nat_o] :
            ( X
           != ( produc5654405827127464947_nat_o @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Q6 @ T5 ) @ Qts ) @ ( produc4390676519605123987_nat_o @ Time @ ( produc1708576699232315691_nat_o @ Accept @ Ac ) ) ) ) ) ).

% ex_key.cases
thf(fact_664_delete__aux_Ocases,axiom,
    ! [X: produc6475121930738208726od_b_c] :
      ( ! [K2: b] :
          ( X
         != ( produc561751498933632326od_b_c @ K2 @ nil_Product_prod_b_c ) )
     => ~ ! [K2: b,K3: b,V3: c,Xs3: list_P903359562653991662od_b_c] :
            ( X
           != ( produc561751498933632326od_b_c @ K2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K3 @ V3 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_665_delete__aux_Ocases,axiom,
    ! [X: produc2240436093699763644_o_nat] :
      ( ! [K2: nat > $o] :
          ( X
         != ( produc2328698179167866934_o_nat @ K2 @ nil_Pr3919464568974123896_o_nat ) )
     => ~ ! [K2: nat > $o,K3: nat > $o,V3: nat,Xs3: list_P6702368983108350734_o_nat] :
            ( X
           != ( produc2328698179167866934_o_nat @ K2 @ ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K3 @ V3 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_666_delete__aux_Ocases,axiom,
    ! [X: produc8472197452120411308at_nat] :
      ( ! [K2: nat] :
          ( X
         != ( produc6109913384486294878at_nat @ K2 @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [K2: nat,K3: nat,V3: nat,Xs3: list_P6011104703257516679at_nat] :
            ( X
           != ( produc6109913384486294878at_nat @ K2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V3 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_667_delete__aux_Ocases,axiom,
    ! [X: produc5065989759464263123at_nat] :
      ( ! [K2: product_prod_nat_nat] :
          ( X
         != ( produc4832291263848940611at_nat @ K2 @ nil_Pr2582115297535392877at_nat ) )
     => ~ ! [K2: product_prod_nat_nat,K3: product_prod_nat_nat,V3: product_prod_nat_nat,Xs3: list_P8469869581646625389at_nat] :
            ( X
           != ( produc4832291263848940611at_nat @ K2 @ ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K3 @ V3 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_668_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( hd_c @ ( drop_c @ N @ Xs ) )
        = ( nth_c @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_669_run__subs__vD,axiom,
    ! [Run: c > option695368374342530005od_b_c,Vs2: list_c,Vs: list_c,Bs: iarray_c,J: nat] :
      ( ( ( run_subs_c_c_b_c @ Run @ Vs2 )
        = ( some_P8225123078406057068rray_c @ ( produc7143374292325356663rray_c @ Vs @ Bs ) ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Vs2 ) )
       => ? [Vj: c,Tj: b,Bj: c] :
            ( ( ( Run @ ( nth_c @ Vs2 @ J ) )
              = ( some_P7665882026316300020od_b_c @ ( produc5588881204248199167od_b_c @ Vj @ ( product_Pair_b_c @ Tj @ Bj ) ) ) )
            & ( ( nth_c @ Vs @ J )
              = Vj )
            & ( ( sub_c @ Bs @ J )
              = Bj ) ) ) ) ).

% run_subs_vD
thf(fact_670_run__subs__vD,axiom,
    ! [Run: c > option5867295888766699645_o_nat,Vs2: list_c,Vs: list_c,Bs: iarray_nat,J: nat] :
      ( ( ( run_su8487233880789838111_o_nat @ Run @ Vs2 )
        = ( some_P3194109803288802448ay_nat @ ( produc6853315806101474991ay_nat @ Vs @ Bs ) ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Vs2 ) )
       => ? [Vj: c,Tj: nat > $o,Bj: nat] :
            ( ( ( Run @ ( nth_c @ Vs2 @ J ) )
              = ( some_P1114528500415430536_o_nat @ ( produc3561542052008300199_o_nat @ Vj @ ( produc7277522915581678840_o_nat @ Tj @ Bj ) ) ) )
            & ( ( nth_c @ Vs @ J )
              = Vj )
            & ( ( sub_nat @ Bs @ J )
              = Bj ) ) ) ) ).

% run_subs_vD
thf(fact_671_run__subs__vD,axiom,
    ! [Run: c > option1942655187168591086at_nat,Vs2: list_c,Vs: list_c,Bs: iarray_nat,J: nat] :
      ( ( ( run_subs_c_c_nat_nat @ Run @ Vs2 )
        = ( some_P3194109803288802448ay_nat @ ( produc6853315806101474991ay_nat @ Vs @ Bs ) ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Vs2 ) )
       => ? [Vj: c,Tj: nat,Bj: nat] :
            ( ( ( Run @ ( nth_c @ Vs2 @ J ) )
              = ( some_P5406115939492372877at_nat @ ( produc857244808498201112at_nat @ Vj @ ( product_Pair_nat_nat @ Tj @ Bj ) ) ) )
            & ( ( nth_c @ Vs @ J )
              = Vj )
            & ( ( sub_nat @ Bs @ J )
              = Bj ) ) ) ) ).

% run_subs_vD
thf(fact_672_run__subs__vD,axiom,
    ! [Run: c > option4126803632048996308at_nat,Vs2: list_c,Vs: list_c,Bs: iarray2988189292124903271at_nat,J: nat] :
      ( ( ( run_su5013010240692750960at_nat @ Run @ Vs2 )
        = ( some_P6146885190290032237at_nat @ ( produc2926882024281562104at_nat @ Vs @ Bs ) ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Vs2 ) )
       => ? [Vj: c,Tj: product_prod_nat_nat,Bj: product_prod_nat_nat] :
            ( ( ( Run @ ( nth_c @ Vs2 @ J ) )
              = ( some_P6326260653552803955at_nat @ ( produc4246841689041464062at_nat @ Vj @ ( produc6161850002892822231at_nat @ Tj @ Bj ) ) ) )
            & ( ( nth_c @ Vs @ J )
              = Vj )
            & ( ( sub_Pr239364662247069820at_nat @ Bs @ J )
              = Bj ) ) ) ) ).

% run_subs_vD
thf(fact_673_run__subs__vD,axiom,
    ! [Run: c > option7387190471253296173at_nat,Vs2: list_c,Vs: list_P6011104703257516679at_nat,Bs: iarray_nat,J: nat] :
      ( ( ( run_su8141779459891561811at_nat @ Run @ Vs2 )
        = ( some_P5749799957969227281ay_nat @ ( produc725266354104814896ay_nat @ Vs @ Bs ) ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Vs2 ) )
       => ? [Vj: product_prod_nat_nat,Tj: nat,Bj: nat] :
            ( ( ( Run @ ( nth_c @ Vs2 @ J ) )
              = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ Vj @ ( product_Pair_nat_nat @ Tj @ Bj ) ) ) )
            & ( ( nth_Pr7617993195940197384at_nat @ Vs @ J )
              = Vj )
            & ( ( sub_nat @ Bs @ J )
              = Bj ) ) ) ) ).

% run_subs_vD
thf(fact_674_psubsetD,axiom,
    ! [A4: set_nat,B5: set_nat,C2: nat] :
      ( ( ord_less_set_nat @ A4 @ B5 )
     => ( ( member_nat @ C2 @ A4 )
       => ( member_nat @ C2 @ B5 ) ) ) ).

% psubsetD
thf(fact_675_subrelI,axiom,
    ! [R: set_Product_prod_b_c,S3: set_Product_prod_b_c] :
      ( ! [X3: b,Y3: c] :
          ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X3 @ Y3 ) @ R )
         => ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X3 @ Y3 ) @ S3 ) )
     => ( ord_le253122037897321832od_b_c @ R @ S3 ) ) ).

% subrelI
thf(fact_676_subrelI,axiom,
    ! [R: set_Pr4354077987950702516_o_nat,S3: set_Pr4354077987950702516_o_nat] :
      ( ! [X3: nat > $o,Y3: nat] :
          ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X3 @ Y3 ) @ R )
         => ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X3 @ Y3 ) @ S3 ) )
     => ( ord_le1487873752969080852_o_nat @ R @ S3 ) ) ).

% subrelI
thf(fact_677_subrelI,axiom,
    ! [R: set_Pr1261947904930325089at_nat,S3: set_Pr1261947904930325089at_nat] :
      ( ! [X3: nat,Y3: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y3 ) @ R )
         => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y3 ) @ S3 ) )
     => ( ord_le3146513528884898305at_nat @ R @ S3 ) ) ).

% subrelI
thf(fact_678_subrelI,axiom,
    ! [R: set_Pr8693737435421807431at_nat,S3: set_Pr8693737435421807431at_nat] :
      ( ! [X3: product_prod_nat_nat,Y3: product_prod_nat_nat] :
          ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y3 ) @ R )
         => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y3 ) @ S3 ) )
     => ( ord_le3000389064537975527at_nat @ R @ S3 ) ) ).

% subrelI
thf(fact_679_SuccI,axiom,
    ! [Kl: list_nat,K: nat,Kl2: set_list_nat] :
      ( ( member_list_nat @ ( append_nat @ Kl @ ( cons_nat @ K @ nil_nat ) ) @ Kl2 )
     => ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl2 @ Kl ) ) ) ).

% SuccI
thf(fact_680_SuccD,axiom,
    ! [K: nat,Kl2: set_list_nat,Kl: list_nat] :
      ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl2 @ Kl ) )
     => ( member_list_nat @ ( append_nat @ Kl @ ( cons_nat @ K @ nil_nat ) ) @ Kl2 ) ) ).

% SuccD
thf(fact_681_IArray__nth__equalityI,axiom,
    ! [Xs: iarray_c,Ys2: list_c] :
      ( ( ( length_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( length_c @ Xs ) )
           => ( ( sub_c @ Xs @ I2 )
              = ( nth_c @ Ys2 @ I2 ) ) )
       => ( Xs
          = ( iArray_c @ Ys2 ) ) ) ) ).

% IArray_nth_equalityI
thf(fact_682_empty__Shift,axiom,
    ! [Kl2: set_list_nat,K: nat] :
      ( ( member_list_nat @ nil_nat @ Kl2 )
     => ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl2 @ nil_nat ) )
       => ( member_list_nat @ nil_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl2 @ K ) ) ) ) ).

% empty_Shift
thf(fact_683_ivl__subset,axiom,
    ! [I: nat,J: nat,M: nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ I @ J ) @ ( set_or4665077453230672383an_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ J @ I )
        | ( ( ord_less_eq_nat @ M @ I )
          & ( ord_less_eq_nat @ J @ N ) ) ) ) ).

% ivl_subset
thf(fact_684_atLeastLessThan__iff,axiom,
    ! [I: nat,L: nat,U: nat] :
      ( ( member_nat @ I @ ( set_or4665077453230672383an_nat @ L @ U ) )
      = ( ( ord_less_eq_nat @ L @ I )
        & ( ord_less_nat @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_685_atLeastLessThan__subset__iff,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ A @ B ) @ ( set_or4665077453230672383an_nat @ C2 @ D3 ) )
     => ( ( ord_less_eq_nat @ B @ A )
        | ( ( ord_less_eq_nat @ C2 @ A )
          & ( ord_less_eq_nat @ B @ D3 ) ) ) ) ).

% atLeastLessThan_subset_iff
thf(fact_686_not__None__eq,axiom,
    ! [X: option4716579502443089070od_b_c] :
      ( ( X != none_P8350622247268937417od_b_c )
      = ( ? [Y6: product_prod_b_c] :
            ( X
            = ( some_P804611721829158477od_b_c @ Y6 ) ) ) ) ).

% not_None_eq
thf(fact_687_not__None__eq,axiom,
    ! [X: option_nat] :
      ( ( X != none_nat )
      = ( ? [Y6: nat] :
            ( X
            = ( some_nat @ Y6 ) ) ) ) ).

% not_None_eq
thf(fact_688_not__None__eq,axiom,
    ! [X: option4927543243414619207at_nat] :
      ( ( X != none_P5556105721700978146at_nat )
      = ( ? [Y6: product_prod_nat_nat] :
            ( X
            = ( some_P7363390416028606310at_nat @ Y6 ) ) ) ) ).

% not_None_eq
thf(fact_689_not__None__eq,axiom,
    ! [X: option7421465107808516430_o_nat] :
      ( ( X != none_P4770284390835442525_o_nat )
      = ( ? [Y6: produc3074792404157404414_o_nat] :
            ( X
            = ( some_P2630223654056210137_o_nat @ Y6 ) ) ) ) ).

% not_None_eq
thf(fact_690_not__Some__eq,axiom,
    ! [X: option4716579502443089070od_b_c] :
      ( ( ! [Y6: product_prod_b_c] :
            ( X
           != ( some_P804611721829158477od_b_c @ Y6 ) ) )
      = ( X = none_P8350622247268937417od_b_c ) ) ).

% not_Some_eq
thf(fact_691_not__Some__eq,axiom,
    ! [X: option_nat] :
      ( ( ! [Y6: nat] :
            ( X
           != ( some_nat @ Y6 ) ) )
      = ( X = none_nat ) ) ).

% not_Some_eq
thf(fact_692_not__Some__eq,axiom,
    ! [X: option4927543243414619207at_nat] :
      ( ( ! [Y6: product_prod_nat_nat] :
            ( X
           != ( some_P7363390416028606310at_nat @ Y6 ) ) )
      = ( X = none_P5556105721700978146at_nat ) ) ).

% not_Some_eq
thf(fact_693_not__Some__eq,axiom,
    ! [X: option7421465107808516430_o_nat] :
      ( ( ! [Y6: produc3074792404157404414_o_nat] :
            ( X
           != ( some_P2630223654056210137_o_nat @ Y6 ) ) )
      = ( X = none_P4770284390835442525_o_nat ) ) ).

% not_Some_eq
thf(fact_694_read__t_Osimps_I1_J,axiom,
    ( ( read_t_nat_nat @ none_P5556105721700978146at_nat )
    = none_nat ) ).

% read_t.simps(1)
thf(fact_695_read__t_Osimps_I1_J,axiom,
    ( ( read_t_nat_o_nat @ none_P4770284390835442525_o_nat )
    = none_nat ) ).

% read_t.simps(1)
thf(fact_696_reaches__on__init__Some,axiom,
    ! [R: b > option4716579502443089070od_b_c,S3: b,Xs: list_c,S4: b] :
      ( ( reaches_on_b_c @ R @ S3 @ Xs @ S4 )
     => ( ( ( R @ S4 )
         != none_P8350622247268937417od_b_c )
       => ( ( R @ S3 )
         != none_P8350622247268937417od_b_c ) ) ) ).

% reaches_on_init_Some
thf(fact_697_combine__options__cases,axiom,
    ! [X: option_nat,P: option_nat > option_nat > $o,Y: option_nat] :
      ( ( ( X = none_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: nat,B3: nat] :
              ( ( X
                = ( some_nat @ A3 ) )
             => ( ( Y
                  = ( some_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_698_combine__options__cases,axiom,
    ! [X: option4716579502443089070od_b_c,P: option4716579502443089070od_b_c > option_nat > $o,Y: option_nat] :
      ( ( ( X = none_P8350622247268937417od_b_c )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_b_c,B3: nat] :
              ( ( X
                = ( some_P804611721829158477od_b_c @ A3 ) )
             => ( ( Y
                  = ( some_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_699_combine__options__cases,axiom,
    ! [X: option_nat,P: option_nat > option4716579502443089070od_b_c > $o,Y: option4716579502443089070od_b_c] :
      ( ( ( X = none_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P8350622247268937417od_b_c )
         => ( P @ X @ Y ) )
       => ( ! [A3: nat,B3: product_prod_b_c] :
              ( ( X
                = ( some_nat @ A3 ) )
             => ( ( Y
                  = ( some_P804611721829158477od_b_c @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_700_combine__options__cases,axiom,
    ! [X: option_nat,P: option_nat > option4927543243414619207at_nat > $o,Y: option4927543243414619207at_nat] :
      ( ( ( X = none_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P5556105721700978146at_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: nat,B3: product_prod_nat_nat] :
              ( ( X
                = ( some_nat @ A3 ) )
             => ( ( Y
                  = ( some_P7363390416028606310at_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_701_combine__options__cases,axiom,
    ! [X: option4927543243414619207at_nat,P: option4927543243414619207at_nat > option_nat > $o,Y: option_nat] :
      ( ( ( X = none_P5556105721700978146at_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_nat_nat,B3: nat] :
              ( ( X
                = ( some_P7363390416028606310at_nat @ A3 ) )
             => ( ( Y
                  = ( some_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_702_combine__options__cases,axiom,
    ! [X: option4716579502443089070od_b_c,P: option4716579502443089070od_b_c > option4716579502443089070od_b_c > $o,Y: option4716579502443089070od_b_c] :
      ( ( ( X = none_P8350622247268937417od_b_c )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P8350622247268937417od_b_c )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_b_c,B3: product_prod_b_c] :
              ( ( X
                = ( some_P804611721829158477od_b_c @ A3 ) )
             => ( ( Y
                  = ( some_P804611721829158477od_b_c @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_703_combine__options__cases,axiom,
    ! [X: option4716579502443089070od_b_c,P: option4716579502443089070od_b_c > option4927543243414619207at_nat > $o,Y: option4927543243414619207at_nat] :
      ( ( ( X = none_P8350622247268937417od_b_c )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P5556105721700978146at_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_b_c,B3: product_prod_nat_nat] :
              ( ( X
                = ( some_P804611721829158477od_b_c @ A3 ) )
             => ( ( Y
                  = ( some_P7363390416028606310at_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_704_combine__options__cases,axiom,
    ! [X: option_nat,P: option_nat > option7421465107808516430_o_nat > $o,Y: option7421465107808516430_o_nat] :
      ( ( ( X = none_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P4770284390835442525_o_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: nat,B3: produc3074792404157404414_o_nat] :
              ( ( X
                = ( some_nat @ A3 ) )
             => ( ( Y
                  = ( some_P2630223654056210137_o_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_705_combine__options__cases,axiom,
    ! [X: option4927543243414619207at_nat,P: option4927543243414619207at_nat > option4716579502443089070od_b_c > $o,Y: option4716579502443089070od_b_c] :
      ( ( ( X = none_P5556105721700978146at_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P8350622247268937417od_b_c )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_nat_nat,B3: product_prod_b_c] :
              ( ( X
                = ( some_P7363390416028606310at_nat @ A3 ) )
             => ( ( Y
                  = ( some_P804611721829158477od_b_c @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_706_combine__options__cases,axiom,
    ! [X: option4927543243414619207at_nat,P: option4927543243414619207at_nat > option4927543243414619207at_nat > $o,Y: option4927543243414619207at_nat] :
      ( ( ( X = none_P5556105721700978146at_nat )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_P5556105721700978146at_nat )
         => ( P @ X @ Y ) )
       => ( ! [A3: product_prod_nat_nat,B3: product_prod_nat_nat] :
              ( ( X
                = ( some_P7363390416028606310at_nat @ A3 ) )
             => ( ( Y
                  = ( some_P7363390416028606310at_nat @ B3 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_707_split__option__all,axiom,
    ( ( ^ [P4: option4716579502443089070od_b_c > $o] :
        ! [X6: option4716579502443089070od_b_c] : ( P4 @ X6 ) )
    = ( ^ [P3: option4716579502443089070od_b_c > $o] :
          ( ( P3 @ none_P8350622247268937417od_b_c )
          & ! [X4: product_prod_b_c] : ( P3 @ ( some_P804611721829158477od_b_c @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_708_split__option__all,axiom,
    ( ( ^ [P4: option_nat > $o] :
        ! [X6: option_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option_nat > $o] :
          ( ( P3 @ none_nat )
          & ! [X4: nat] : ( P3 @ ( some_nat @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_709_split__option__all,axiom,
    ( ( ^ [P4: option4927543243414619207at_nat > $o] :
        ! [X6: option4927543243414619207at_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option4927543243414619207at_nat > $o] :
          ( ( P3 @ none_P5556105721700978146at_nat )
          & ! [X4: product_prod_nat_nat] : ( P3 @ ( some_P7363390416028606310at_nat @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_710_split__option__all,axiom,
    ( ( ^ [P4: option7421465107808516430_o_nat > $o] :
        ! [X6: option7421465107808516430_o_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option7421465107808516430_o_nat > $o] :
          ( ( P3 @ none_P4770284390835442525_o_nat )
          & ! [X4: produc3074792404157404414_o_nat] : ( P3 @ ( some_P2630223654056210137_o_nat @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_711_split__option__ex,axiom,
    ( ( ^ [P4: option4716579502443089070od_b_c > $o] :
        ? [X6: option4716579502443089070od_b_c] : ( P4 @ X6 ) )
    = ( ^ [P3: option4716579502443089070od_b_c > $o] :
          ( ( P3 @ none_P8350622247268937417od_b_c )
          | ? [X4: product_prod_b_c] : ( P3 @ ( some_P804611721829158477od_b_c @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_712_split__option__ex,axiom,
    ( ( ^ [P4: option_nat > $o] :
        ? [X6: option_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option_nat > $o] :
          ( ( P3 @ none_nat )
          | ? [X4: nat] : ( P3 @ ( some_nat @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_713_split__option__ex,axiom,
    ( ( ^ [P4: option4927543243414619207at_nat > $o] :
        ? [X6: option4927543243414619207at_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option4927543243414619207at_nat > $o] :
          ( ( P3 @ none_P5556105721700978146at_nat )
          | ? [X4: product_prod_nat_nat] : ( P3 @ ( some_P7363390416028606310at_nat @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_714_split__option__ex,axiom,
    ( ( ^ [P4: option7421465107808516430_o_nat > $o] :
        ? [X6: option7421465107808516430_o_nat] : ( P4 @ X6 ) )
    = ( ^ [P3: option7421465107808516430_o_nat > $o] :
          ( ( P3 @ none_P4770284390835442525_o_nat )
          | ? [X4: produc3074792404157404414_o_nat] : ( P3 @ ( some_P2630223654056210137_o_nat @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_715_option_Oexhaust,axiom,
    ! [Y: option4716579502443089070od_b_c] :
      ( ( Y != none_P8350622247268937417od_b_c )
     => ~ ! [X22: product_prod_b_c] :
            ( Y
           != ( some_P804611721829158477od_b_c @ X22 ) ) ) ).

% option.exhaust
thf(fact_716_option_Oexhaust,axiom,
    ! [Y: option_nat] :
      ( ( Y != none_nat )
     => ~ ! [X22: nat] :
            ( Y
           != ( some_nat @ X22 ) ) ) ).

% option.exhaust
thf(fact_717_option_Oexhaust,axiom,
    ! [Y: option4927543243414619207at_nat] :
      ( ( Y != none_P5556105721700978146at_nat )
     => ~ ! [X22: product_prod_nat_nat] :
            ( Y
           != ( some_P7363390416028606310at_nat @ X22 ) ) ) ).

% option.exhaust
thf(fact_718_option_Oexhaust,axiom,
    ! [Y: option7421465107808516430_o_nat] :
      ( ( Y != none_P4770284390835442525_o_nat )
     => ~ ! [X22: produc3074792404157404414_o_nat] :
            ( Y
           != ( some_P2630223654056210137_o_nat @ X22 ) ) ) ).

% option.exhaust
thf(fact_719_option_OdiscI,axiom,
    ! [Option: option4716579502443089070od_b_c,X2: product_prod_b_c] :
      ( ( Option
        = ( some_P804611721829158477od_b_c @ X2 ) )
     => ( Option != none_P8350622247268937417od_b_c ) ) ).

% option.discI
thf(fact_720_option_OdiscI,axiom,
    ! [Option: option_nat,X2: nat] :
      ( ( Option
        = ( some_nat @ X2 ) )
     => ( Option != none_nat ) ) ).

% option.discI
thf(fact_721_option_OdiscI,axiom,
    ! [Option: option4927543243414619207at_nat,X2: product_prod_nat_nat] :
      ( ( Option
        = ( some_P7363390416028606310at_nat @ X2 ) )
     => ( Option != none_P5556105721700978146at_nat ) ) ).

% option.discI
thf(fact_722_option_OdiscI,axiom,
    ! [Option: option7421465107808516430_o_nat,X2: produc3074792404157404414_o_nat] :
      ( ( Option
        = ( some_P2630223654056210137_o_nat @ X2 ) )
     => ( Option != none_P4770284390835442525_o_nat ) ) ).

% option.discI
thf(fact_723_option_Odistinct_I1_J,axiom,
    ! [X2: product_prod_b_c] :
      ( none_P8350622247268937417od_b_c
     != ( some_P804611721829158477od_b_c @ X2 ) ) ).

% option.distinct(1)
thf(fact_724_option_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( none_nat
     != ( some_nat @ X2 ) ) ).

% option.distinct(1)
thf(fact_725_option_Odistinct_I1_J,axiom,
    ! [X2: product_prod_nat_nat] :
      ( none_P5556105721700978146at_nat
     != ( some_P7363390416028606310at_nat @ X2 ) ) ).

% option.distinct(1)
thf(fact_726_option_Odistinct_I1_J,axiom,
    ! [X2: produc3074792404157404414_o_nat] :
      ( none_P4770284390835442525_o_nat
     != ( some_P2630223654056210137_o_nat @ X2 ) ) ).

% option.distinct(1)
thf(fact_727_read__t_Oelims,axiom,
    ! [X: option4927543243414619207at_nat,Y: option_nat] :
      ( ( ( read_t_nat_nat @ X )
        = Y )
     => ( ( ( X = none_P5556105721700978146at_nat )
         => ( Y != none_nat ) )
       => ~ ! [E2: nat,T5: nat] :
              ( ( X
                = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ E2 @ T5 ) ) )
             => ( Y
               != ( some_nat @ T5 ) ) ) ) ) ).

% read_t.elims
thf(fact_728_read__t_Oelims,axiom,
    ! [X: option7421465107808516430_o_nat,Y: option_nat] :
      ( ( ( read_t_nat_o_nat @ X )
        = Y )
     => ( ( ( X = none_P4770284390835442525_o_nat )
         => ( Y != none_nat ) )
       => ~ ! [E2: nat > $o,T5: nat] :
              ( ( X
                = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ E2 @ T5 ) ) )
             => ( Y
               != ( some_nat @ T5 ) ) ) ) ) ).

% read_t.elims
thf(fact_729_read__t_Ocases,axiom,
    ! [X: option4927543243414619207at_nat] :
      ( ( X != none_P5556105721700978146at_nat )
     => ~ ! [E2: nat,T5: nat] :
            ( X
           != ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ E2 @ T5 ) ) ) ) ).

% read_t.cases
thf(fact_730_read__t_Ocases,axiom,
    ! [X: option7421465107808516430_o_nat] :
      ( ( X != none_P4770284390835442525_o_nat )
     => ~ ! [E2: nat > $o,T5: nat] :
            ( X
           != ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ E2 @ T5 ) ) ) ) ).

% read_t.cases
thf(fact_731_reaches__on__len,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,N: nat] :
    ? [Vs3: list_c,S9: b] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs3 @ S9 )
      & ( ( ( size_size_list_c @ Vs3 )
          = N )
        | ( ( Run @ S9 )
          = none_P8350622247268937417od_b_c ) ) ) ).

% reaches_on_len
thf(fact_732_find_Osimps_I1_J,axiom,
    ! [Uu: nat > $o] :
      ( ( find_nat @ Uu @ nil_nat )
      = none_nat ) ).

% find.simps(1)
thf(fact_733_bounded__Max__nat,axiom,
    ! [P: nat > $o,X: nat,M7: nat] :
      ( ( P @ X )
     => ( ! [X3: nat] :
            ( ( P @ X3 )
           => ( ord_less_eq_nat @ X3 @ M7 ) )
       => ~ ! [M5: nat] :
              ( ( P @ M5 )
             => ~ ! [X7: nat] :
                    ( ( P @ X7 )
                   => ( ord_less_eq_nat @ X7 @ M5 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_734_fold__atLeastAtMost__nat_Ocases,axiom,
    ! [X: produc4471711990508489141at_nat] :
      ~ ! [F2: nat > nat > nat,A3: nat,B3: nat,Acc: nat] :
          ( X
         != ( produc3209952032786966637at_nat @ F2 @ ( produc487386426758144856at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ Acc ) ) ) ) ).

% fold_atLeastAtMost_nat.cases
thf(fact_735_atLeastLessThan__inj_I2_J,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A @ B )
        = ( set_or4665077453230672383an_nat @ C2 @ D3 ) )
     => ( ( ord_less_nat @ A @ B )
       => ( ( ord_less_nat @ C2 @ D3 )
         => ( B = D3 ) ) ) ) ).

% atLeastLessThan_inj(2)
thf(fact_736_atLeastLessThan__inj_I1_J,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A @ B )
        = ( set_or4665077453230672383an_nat @ C2 @ D3 ) )
     => ( ( ord_less_nat @ A @ B )
       => ( ( ord_less_nat @ C2 @ D3 )
         => ( A = C2 ) ) ) ) ).

% atLeastLessThan_inj(1)
thf(fact_737_Ico__eq__Ico,axiom,
    ! [L: nat,H: nat,L2: nat,H2: nat] :
      ( ( ( set_or4665077453230672383an_nat @ L @ H )
        = ( set_or4665077453230672383an_nat @ L2 @ H2 ) )
      = ( ( ( L = L2 )
          & ( H = H2 ) )
        | ( ~ ( ord_less_nat @ L @ H )
          & ~ ( ord_less_nat @ L2 @ H2 ) ) ) ) ).

% Ico_eq_Ico
thf(fact_738_atLeastLessThan__eq__iff,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C2 @ D3 )
       => ( ( ( set_or4665077453230672383an_nat @ A @ B )
            = ( set_or4665077453230672383an_nat @ C2 @ D3 ) )
          = ( ( A = C2 )
            & ( B = D3 ) ) ) ) ) ).

% atLeastLessThan_eq_iff
thf(fact_739_listrel1__iff__update,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ R ) )
      = ( ? [Y6: nat,N4: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ N4 ) @ Y6 ) @ R )
            & ( ord_less_nat @ N4 @ ( size_size_list_nat @ Xs ) )
            & ( Ys2
              = ( list_update_nat @ Xs @ N4 @ Y6 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_740_listrel1__iff__update,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) )
      = ( ? [Y6: product_prod_nat_nat,N4: nat] :
            ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ N4 ) @ Y6 ) @ R )
            & ( ord_less_nat @ N4 @ ( size_s5460976970255530739at_nat @ Xs ) )
            & ( Ys2
              = ( list_u6180841689913720943at_nat @ Xs @ N4 @ Y6 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_741_listrel1__iff__update,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( listrel1_c @ R ) )
      = ( ? [Y6: c,N4: nat] :
            ( ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ ( nth_c @ Xs @ N4 ) @ Y6 ) @ R )
            & ( ord_less_nat @ N4 @ ( size_size_list_c @ Xs ) )
            & ( Ys2
              = ( list_update_c @ Xs @ N4 @ Y6 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_742_Cons__listrel1__Cons,axiom,
    ! [X: nat,Xs: list_nat,Y: nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel1_nat @ R ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
          & ( Xs = Ys2 ) )
        | ( ( X = Y )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_743_Cons__listrel1__Cons,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre4828114922151135584at_nat @ R ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R )
          & ( Xs = Ys2 ) )
        | ( ( X = Y )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_744_listrel1__eq__len,axiom,
    ! [Xs: list_c,Ys2: list_c,R: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( listrel1_c @ R ) )
     => ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) ) ) ).

% listrel1_eq_len
thf(fact_745_Cons__listrel1E2,axiom,
    ! [Xs: list_nat,Y: nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel1_nat @ R ) )
     => ( ! [X3: nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Ys2 ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y ) @ R ) )
       => ~ ! [Zs2: list_nat] :
              ( ( Xs
                = ( cons_nat @ Y @ Zs2 ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Zs2 @ Ys2 ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_746_Cons__listrel1E2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre4828114922151135584at_nat @ R ) )
     => ( ! [X3: product_prod_nat_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Ys2 ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Xs
                = ( cons_P6512896166579812791at_nat @ Y @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Zs2 @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_747_Cons__listrel1E1,axiom,
    ! [X: nat,Xs: list_nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ Ys2 ) @ ( listrel1_nat @ R ) )
     => ( ! [Y3: nat] :
            ( ( Ys2
              = ( cons_nat @ Y3 @ Xs ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R ) )
       => ~ ! [Zs2: list_nat] :
              ( ( Ys2
                = ( cons_nat @ X @ Zs2 ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Zs2 ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_748_Cons__listrel1E1,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) )
     => ( ! [Y3: product_prod_nat_nat] :
            ( ( Ys2
              = ( cons_P6512896166579812791at_nat @ Y3 @ Xs ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y3 ) @ R ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Ys2
                = ( cons_P6512896166579812791at_nat @ X @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Zs2 ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_749_listrel1I1,axiom,
    ! [X: nat,Y: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Xs ) ) @ ( listrel1_nat @ R ) ) ) ).

% listrel1I1
thf(fact_750_listrel1I1,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Xs ) ) @ ( listre4828114922151135584at_nat @ R ) ) ) ).

% listrel1I1
thf(fact_751_listrel1E,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ R ) )
     => ~ ! [X3: nat,Y3: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y3 ) @ R )
           => ! [Us2: list_nat,Vs3: list_nat] :
                ( ( Xs
                  = ( append_nat @ Us2 @ ( cons_nat @ X3 @ Vs3 ) ) )
               => ( Ys2
                 != ( append_nat @ Us2 @ ( cons_nat @ Y3 @ Vs3 ) ) ) ) ) ) ).

% listrel1E
thf(fact_752_listrel1E,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Y3: product_prod_nat_nat] :
            ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y3 ) @ R )
           => ! [Us2: list_P6011104703257516679at_nat,Vs3: list_P6011104703257516679at_nat] :
                ( ( Xs
                  = ( append985823374593552924at_nat @ Us2 @ ( cons_P6512896166579812791at_nat @ X3 @ Vs3 ) ) )
               => ( Ys2
                 != ( append985823374593552924at_nat @ Us2 @ ( cons_P6512896166579812791at_nat @ Y3 @ Vs3 ) ) ) ) ) ) ).

% listrel1E
thf(fact_753_listrel1I,axiom,
    ! [X: nat,Y: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat,Us: list_nat,Vs2: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R )
     => ( ( Xs
          = ( append_nat @ Us @ ( cons_nat @ X @ Vs2 ) ) )
       => ( ( Ys2
            = ( append_nat @ Us @ ( cons_nat @ Y @ Vs2 ) ) )
         => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% listrel1I
thf(fact_754_listrel1I,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Us: list_P6011104703257516679at_nat,Vs2: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R )
     => ( ( Xs
          = ( append985823374593552924at_nat @ Us @ ( cons_P6512896166579812791at_nat @ X @ Vs2 ) ) )
       => ( ( Ys2
            = ( append985823374593552924at_nat @ Us @ ( cons_P6512896166579812791at_nat @ Y @ Vs2 ) ) )
         => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% listrel1I
thf(fact_755_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_nat,X: nat,Ys2: list_nat,Y: nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ ( append_nat @ Ys2 @ ( cons_nat @ Y @ nil_nat ) ) ) @ ( listrel1_nat @ R ) )
      = ( ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ R ) )
          & ( X = Y ) )
        | ( ( Xs = Ys2 )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_756_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) @ ( append985823374593552924at_nat @ Ys2 @ ( cons_P6512896166579812791at_nat @ Y @ nil_Pr5478986624290739719at_nat ) ) ) @ ( listre4828114922151135584at_nat @ R ) )
      = ( ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre4828114922151135584at_nat @ R ) )
          & ( X = Y ) )
        | ( ( Xs = Ys2 )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_757_updates__list__update__drop,axiom,
    ! [Ks: list_c,I: nat,Vs2: list_c,V: c,Al: list_P267710562049004973od_c_c] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Ks ) @ I )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Vs2 ) )
       => ( ( updates_c_c @ Ks @ ( list_update_c @ Vs2 @ I @ V ) @ Al )
          = ( updates_c_c @ Ks @ Vs2 @ Al ) ) ) ) ).

% updates_list_update_drop
thf(fact_758_length__map,axiom,
    ! [F: c > c,Xs: list_c] :
      ( ( size_size_list_c @ ( map_c_c @ F @ Xs ) )
      = ( size_size_list_c @ Xs ) ) ).

% length_map
thf(fact_759_prod_Ocollapse,axiom,
    ! [Prod: product_prod_b_c] :
      ( ( product_Pair_b_c @ ( product_fst_b_c @ Prod ) @ ( product_snd_b_c @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_760_prod_Ocollapse,axiom,
    ! [Prod: produc3074792404157404414_o_nat] :
      ( ( produc7277522915581678840_o_nat @ ( produc7643701372303132684_o_nat @ Prod ) @ ( produc3470649411511297610_o_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_761_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_762_prod_Ocollapse,axiom,
    ! [Prod: produc859450856879609959at_nat] :
      ( ( produc6161850002892822231at_nat @ ( produc3213797794245857475at_nat @ Prod ) @ ( produc6408287024330202629at_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_763_updates__append2__drop,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c,Al: list_P267710562049004973od_c_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( updates_c_c @ Xs @ ( append_c @ Ys2 @ Zs ) @ Al )
        = ( updates_c_c @ Xs @ Ys2 @ Al ) ) ) ).

% updates_append2_drop
thf(fact_764_updates__append__drop,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c,Al: list_P267710562049004973od_c_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( updates_c_c @ ( append_c @ Xs @ Zs ) @ Ys2 @ Al )
        = ( updates_c_c @ Xs @ Ys2 @ Al ) ) ) ).

% updates_append_drop
thf(fact_765_nth__map,axiom,
    ! [N: nat,Xs: list_c,F: c > c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( nth_c @ ( map_c_c @ F @ Xs ) @ N )
        = ( F @ ( nth_c @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_766_fst__conv,axiom,
    ! [X1: b,X2: c] :
      ( ( product_fst_b_c @ ( product_Pair_b_c @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_767_fst__conv,axiom,
    ! [X1: nat > $o,X2: nat] :
      ( ( produc7643701372303132684_o_nat @ ( produc7277522915581678840_o_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_768_fst__conv,axiom,
    ! [X1: nat,X2: nat] :
      ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_769_fst__conv,axiom,
    ! [X1: product_prod_nat_nat,X2: product_prod_nat_nat] :
      ( ( produc3213797794245857475at_nat @ ( produc6161850002892822231at_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_770_fst__eqD,axiom,
    ! [X: b,Y: c,A: b] :
      ( ( ( product_fst_b_c @ ( product_Pair_b_c @ X @ Y ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_771_fst__eqD,axiom,
    ! [X: nat > $o,Y: nat,A: nat > $o] :
      ( ( ( produc7643701372303132684_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_772_fst__eqD,axiom,
    ! [X: nat,Y: nat,A: nat] :
      ( ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_773_fst__eqD,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,A: product_prod_nat_nat] :
      ( ( ( produc3213797794245857475at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_774_snd__conv,axiom,
    ! [X1: b,X2: c] :
      ( ( product_snd_b_c @ ( product_Pair_b_c @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_775_snd__conv,axiom,
    ! [X1: nat > $o,X2: nat] :
      ( ( produc3470649411511297610_o_nat @ ( produc7277522915581678840_o_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_776_snd__conv,axiom,
    ! [X1: nat,X2: nat] :
      ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_777_snd__conv,axiom,
    ! [X1: product_prod_nat_nat,X2: product_prod_nat_nat] :
      ( ( produc6408287024330202629at_nat @ ( produc6161850002892822231at_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_778_snd__eqD,axiom,
    ! [X: b,Y: c,A: c] :
      ( ( ( product_snd_b_c @ ( product_Pair_b_c @ X @ Y ) )
        = A )
     => ( Y = A ) ) ).

% snd_eqD
thf(fact_779_snd__eqD,axiom,
    ! [X: nat > $o,Y: nat,A: nat] :
      ( ( ( produc3470649411511297610_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) )
        = A )
     => ( Y = A ) ) ).

% snd_eqD
thf(fact_780_snd__eqD,axiom,
    ! [X: nat,Y: nat,A: nat] :
      ( ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) )
        = A )
     => ( Y = A ) ) ).

% snd_eqD
thf(fact_781_snd__eqD,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,A: product_prod_nat_nat] :
      ( ( ( produc6408287024330202629at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) )
        = A )
     => ( Y = A ) ) ).

% snd_eqD
thf(fact_782_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > c > $o,X: b,Y: c,A: product_prod_b_c] :
      ( ( P @ X @ Y )
     => ( ( A
          = ( product_Pair_b_c @ X @ Y ) )
       => ( P @ ( product_fst_b_c @ A ) @ ( product_snd_b_c @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_783_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: ( nat > $o ) > nat > $o,X: nat > $o,Y: nat,A: produc3074792404157404414_o_nat] :
      ( ( P @ X @ Y )
     => ( ( A
          = ( produc7277522915581678840_o_nat @ X @ Y ) )
       => ( P @ ( produc7643701372303132684_o_nat @ A ) @ ( produc3470649411511297610_o_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_784_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: nat > nat > $o,X: nat,Y: nat,A: product_prod_nat_nat] :
      ( ( P @ X @ Y )
     => ( ( A
          = ( product_Pair_nat_nat @ X @ Y ) )
       => ( P @ ( product_fst_nat_nat @ A ) @ ( product_snd_nat_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_785_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: product_prod_nat_nat > product_prod_nat_nat > $o,X: product_prod_nat_nat,Y: product_prod_nat_nat,A: produc859450856879609959at_nat] :
      ( ( P @ X @ Y )
     => ( ( A
          = ( produc6161850002892822231at_nat @ X @ Y ) )
       => ( P @ ( produc3213797794245857475at_nat @ A ) @ ( produc6408287024330202629at_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_786_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_b_c] :
      ( Prod
      = ( product_Pair_b_c @ ( product_fst_b_c @ Prod ) @ ( product_snd_b_c @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_787_prod_Oexhaust__sel,axiom,
    ! [Prod: produc3074792404157404414_o_nat] :
      ( Prod
      = ( produc7277522915581678840_o_nat @ ( produc7643701372303132684_o_nat @ Prod ) @ ( produc3470649411511297610_o_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_788_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_789_prod_Oexhaust__sel,axiom,
    ! [Prod: produc859450856879609959at_nat] :
      ( Prod
      = ( produc6161850002892822231at_nat @ ( produc3213797794245857475at_nat @ Prod ) @ ( produc6408287024330202629at_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_790_surjective__pairing,axiom,
    ! [T2: product_prod_b_c] :
      ( T2
      = ( product_Pair_b_c @ ( product_fst_b_c @ T2 ) @ ( product_snd_b_c @ T2 ) ) ) ).

% surjective_pairing
thf(fact_791_surjective__pairing,axiom,
    ! [T2: produc3074792404157404414_o_nat] :
      ( T2
      = ( produc7277522915581678840_o_nat @ ( produc7643701372303132684_o_nat @ T2 ) @ ( produc3470649411511297610_o_nat @ T2 ) ) ) ).

% surjective_pairing
thf(fact_792_surjective__pairing,axiom,
    ! [T2: product_prod_nat_nat] :
      ( T2
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ T2 ) @ ( product_snd_nat_nat @ T2 ) ) ) ).

% surjective_pairing
thf(fact_793_surjective__pairing,axiom,
    ! [T2: produc859450856879609959at_nat] :
      ( T2
      = ( produc6161850002892822231at_nat @ ( produc3213797794245857475at_nat @ T2 ) @ ( produc6408287024330202629at_nat @ T2 ) ) ) ).

% surjective_pairing
thf(fact_794_drop__map,axiom,
    ! [N: nat,F: c > c,Xs: list_c] :
      ( ( drop_c @ N @ ( map_c_c @ F @ Xs ) )
      = ( map_c_c @ F @ ( drop_c @ N @ Xs ) ) ) ).

% drop_map
thf(fact_795_take__map,axiom,
    ! [N: nat,F: c > c,Xs: list_c] :
      ( ( take_c @ N @ ( map_c_c @ F @ Xs ) )
      = ( map_c_c @ F @ ( take_c @ N @ Xs ) ) ) ).

% take_map
thf(fact_796_less__prod__def_H,axiom,
    ( ord_le1203424502768444845at_nat
    = ( ^ [X4: product_prod_nat_nat,Y6: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y6 ) )
          | ( ( ( product_fst_nat_nat @ X4 )
              = ( product_fst_nat_nat @ Y6 ) )
            & ( ord_less_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y6 ) ) ) ) ) ) ).

% less_prod_def'
thf(fact_797_prod__less__def,axiom,
    ( ord_le1203424502768444845at_nat
    = ( ^ [X4: product_prod_nat_nat,Y6: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y6 ) )
          | ( ( ord_less_eq_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y6 ) )
            & ( ord_less_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y6 ) ) ) ) ) ) ).

% prod_less_def
thf(fact_798_less__eq__prod__def,axiom,
    ( ord_le8460144461188290721at_nat
    = ( ^ [X4: product_prod_nat_nat,Y6: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y6 ) )
          | ( ( ord_less_eq_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y6 ) )
            & ( ord_less_eq_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y6 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_799_exI__realizer,axiom,
    ! [P: c > b > $o,Y: c,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_b_c @ ( product_Pair_b_c @ X @ Y ) ) @ ( product_fst_b_c @ ( product_Pair_b_c @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_800_exI__realizer,axiom,
    ! [P: nat > ( nat > $o ) > $o,Y: nat,X: nat > $o] :
      ( ( P @ Y @ X )
     => ( P @ ( produc3470649411511297610_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) ) @ ( produc7643701372303132684_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_801_exI__realizer,axiom,
    ! [P: nat > nat > $o,Y: nat,X: nat] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) ) @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_802_exI__realizer,axiom,
    ! [P: product_prod_nat_nat > product_prod_nat_nat > $o,Y: product_prod_nat_nat,X: product_prod_nat_nat] :
      ( ( P @ Y @ X )
     => ( P @ ( produc6408287024330202629at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) ) @ ( produc3213797794245857475at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_803_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q: c > $o,Q2: c] :
      ( ( P @ P2 )
     => ( ( Q @ Q2 )
       => ( ( P @ ( product_fst_b_c @ ( product_Pair_b_c @ P2 @ Q2 ) ) )
          & ( Q @ ( product_snd_b_c @ ( product_Pair_b_c @ P2 @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_804_conjI__realizer,axiom,
    ! [P: ( nat > $o ) > $o,P2: nat > $o,Q: nat > $o,Q2: nat] :
      ( ( P @ P2 )
     => ( ( Q @ Q2 )
       => ( ( P @ ( produc7643701372303132684_o_nat @ ( produc7277522915581678840_o_nat @ P2 @ Q2 ) ) )
          & ( Q @ ( produc3470649411511297610_o_nat @ ( produc7277522915581678840_o_nat @ P2 @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_805_conjI__realizer,axiom,
    ! [P: nat > $o,P2: nat,Q: nat > $o,Q2: nat] :
      ( ( P @ P2 )
     => ( ( Q @ Q2 )
       => ( ( P @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ P2 @ Q2 ) ) )
          & ( Q @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ P2 @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_806_conjI__realizer,axiom,
    ! [P: product_prod_nat_nat > $o,P2: product_prod_nat_nat,Q: product_prod_nat_nat > $o,Q2: product_prod_nat_nat] :
      ( ( P @ P2 )
     => ( ( Q @ Q2 )
       => ( ( P @ ( produc3213797794245857475at_nat @ ( produc6161850002892822231at_nat @ P2 @ Q2 ) ) )
          & ( Q @ ( produc6408287024330202629at_nat @ ( produc6161850002892822231at_nat @ P2 @ Q2 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_807_updates__append1,axiom,
    ! [Ks: list_c,Vs2: list_c,K: c,Al: list_P267710562049004973od_c_c] :
      ( ( ord_less_nat @ ( size_size_list_c @ Ks ) @ ( size_size_list_c @ Vs2 ) )
     => ( ( updates_c_c @ ( append_c @ Ks @ ( cons_c @ K @ nil_c ) ) @ Vs2 @ Al )
        = ( update_c_c @ K @ ( nth_c @ Vs2 @ ( size_size_list_c @ Ks ) ) @ ( updates_c_c @ Ks @ Vs2 @ Al ) ) ) ) ).

% updates_append1
thf(fact_808_map__entry_Oelims,axiom,
    ! [X: b,Xa: c > c,Xb: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_entry_b_c @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Product_prod_b_c )
         => ( Y != nil_Product_prod_b_c ) )
       => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
              ( ( Xb
                = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_b_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xa @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_entry_b_c @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_809_map__entry_Oelims,axiom,
    ! [X: nat > $o,Xa: nat > nat,Xb: list_P6702368983108350734_o_nat,Y: list_P6702368983108350734_o_nat] :
      ( ( ( map_entry_nat_o_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr3919464568974123896_o_nat )
         => ( Y != nil_Pr3919464568974123896_o_nat ) )
       => ~ ! [P6: produc3074792404157404414_o_nat,Ps: list_P6702368983108350734_o_nat] :
              ( ( Xb
                = ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc7643701372303132684_o_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ ( Xa @ ( produc3470649411511297610_o_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7643701372303132684_o_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P1301391208966372296_o_nat @ P6 @ ( map_entry_nat_o_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_810_map__entry_Oelims,axiom,
    ! [X: nat,Xa: nat > nat,Xb: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
         => ( Y != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xb
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xa @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_entry_nat_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_811_map__entry_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat > product_prod_nat_nat,Xb: list_P8469869581646625389at_nat,Y: list_P8469869581646625389at_nat] :
      ( ( ( map_en2982961774263949193at_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr2582115297535392877at_nat )
         => ( Y != nil_Pr2582115297535392877at_nat ) )
       => ~ ! [P6: produc859450856879609959at_nat,Ps: list_P8469869581646625389at_nat] :
              ( ( Xb
                = ( cons_P8732206157123786781at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3213797794245857475at_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ ( Xa @ ( produc6408287024330202629at_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3213797794245857475at_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8732206157123786781at_nat @ P6 @ ( map_en2982961774263949193at_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_812_map__default_Oelims,axiom,
    ! [X: b,Xa: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Product_prod_b_c )
         => ( Y
           != ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Xa ) @ nil_Product_prod_b_c ) ) )
       => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
              ( ( Xc
                = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_b_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_813_map__default_Oelims,axiom,
    ! [X: nat > $o,Xa: nat,Xb: nat > nat,Xc: list_P6702368983108350734_o_nat,Y: list_P6702368983108350734_o_nat] :
      ( ( ( map_de5982079881621851255_o_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr3919464568974123896_o_nat )
         => ( Y
           != ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ Xa ) @ nil_Pr3919464568974123896_o_nat ) ) )
       => ~ ! [P6: produc3074792404157404414_o_nat,Ps: list_P6702368983108350734_o_nat] :
              ( ( Xc
                = ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc7643701372303132684_o_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ ( Xb @ ( produc3470649411511297610_o_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7643701372303132684_o_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P1301391208966372296_o_nat @ P6 @ ( map_de5982079881621851255_o_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_814_map__default_Oelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
         => ( Y
           != ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xc
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_815_map__default_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat,Xb: product_prod_nat_nat > product_prod_nat_nat,Xc: list_P8469869581646625389at_nat,Y: list_P8469869581646625389at_nat] :
      ( ( ( map_de6203744875203570968at_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr2582115297535392877at_nat )
         => ( Y
           != ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ Xa ) @ nil_Pr2582115297535392877at_nat ) ) )
       => ~ ! [P6: produc859450856879609959at_nat,Ps: list_P8469869581646625389at_nat] :
              ( ( Xc
                = ( cons_P8732206157123786781at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3213797794245857475at_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ ( Xb @ ( produc6408287024330202629at_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3213797794245857475at_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8732206157123786781at_nat @ P6 @ ( map_de6203744875203570968at_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_816_update_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,V: c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( update_b_c @ K @ V @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( update_b_c @ K @ V @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( update_b_c @ K @ V @ Ps2 ) ) ) ) ) ).

% update.simps(2)
thf(fact_817_update_Osimps_I2_J,axiom,
    ! [P2: produc3074792404157404414_o_nat,K: nat > $o,V: nat,Ps2: list_P6702368983108350734_o_nat] :
      ( ( ( ( produc7643701372303132684_o_nat @ P2 )
          = K )
       => ( ( update_nat_o_nat @ K @ V @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ V ) @ Ps2 ) ) )
      & ( ( ( produc7643701372303132684_o_nat @ P2 )
         != K )
       => ( ( update_nat_o_nat @ K @ V @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ P2 @ ( update_nat_o_nat @ K @ V @ Ps2 ) ) ) ) ) ).

% update.simps(2)
thf(fact_818_update_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,V: nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( update_nat_nat @ K @ V @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( update_nat_nat @ K @ V @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( update_nat_nat @ K @ V @ Ps2 ) ) ) ) ) ).

% update.simps(2)
thf(fact_819_update_Osimps_I2_J,axiom,
    ! [P2: produc859450856879609959at_nat,K: product_prod_nat_nat,V: product_prod_nat_nat,Ps2: list_P8469869581646625389at_nat] :
      ( ( ( ( produc3213797794245857475at_nat @ P2 )
          = K )
       => ( ( update2015088200033559612at_nat @ K @ V @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ V ) @ Ps2 ) ) )
      & ( ( ( produc3213797794245857475at_nat @ P2 )
         != K )
       => ( ( update2015088200033559612at_nat @ K @ V @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ P2 @ ( update2015088200033559612at_nat @ K @ V @ Ps2 ) ) ) ) ) ).

% update.simps(2)
thf(fact_820_update_Osimps_I1_J,axiom,
    ! [K: b,V: c] :
      ( ( update_b_c @ K @ V @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ nil_Product_prod_b_c ) ) ).

% update.simps(1)
thf(fact_821_update_Osimps_I1_J,axiom,
    ! [K: nat > $o,V: nat] :
      ( ( update_nat_o_nat @ K @ V @ nil_Pr3919464568974123896_o_nat )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ V ) @ nil_Pr3919464568974123896_o_nat ) ) ).

% update.simps(1)
thf(fact_822_update_Osimps_I1_J,axiom,
    ! [K: nat,V: nat] :
      ( ( update_nat_nat @ K @ V @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ nil_Pr5478986624290739719at_nat ) ) ).

% update.simps(1)
thf(fact_823_update_Osimps_I1_J,axiom,
    ! [K: product_prod_nat_nat,V: product_prod_nat_nat] :
      ( ( update2015088200033559612at_nat @ K @ V @ nil_Pr2582115297535392877at_nat )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ V ) @ nil_Pr2582115297535392877at_nat ) ) ).

% update.simps(1)
thf(fact_824_map__default_Osimps_I1_J,axiom,
    ! [K: b,V: c,F: c > c] :
      ( ( map_default_b_c @ K @ V @ F @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ nil_Product_prod_b_c ) ) ).

% map_default.simps(1)
thf(fact_825_map__default_Osimps_I1_J,axiom,
    ! [K: nat > $o,V: nat,F: nat > nat] :
      ( ( map_de5982079881621851255_o_nat @ K @ V @ F @ nil_Pr3919464568974123896_o_nat )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ V ) @ nil_Pr3919464568974123896_o_nat ) ) ).

% map_default.simps(1)
thf(fact_826_map__default_Osimps_I1_J,axiom,
    ! [K: nat,V: nat,F: nat > nat] :
      ( ( map_default_nat_nat @ K @ V @ F @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ nil_Pr5478986624290739719at_nat ) ) ).

% map_default.simps(1)
thf(fact_827_map__default_Osimps_I1_J,axiom,
    ! [K: product_prod_nat_nat,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( map_de6203744875203570968at_nat @ K @ V @ F @ nil_Pr2582115297535392877at_nat )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ V ) @ nil_Pr2582115297535392877at_nat ) ) ).

% map_default.simps(1)
thf(fact_828_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( map_default_b_c @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_829_map__default_Osimps_I2_J,axiom,
    ! [P2: produc3074792404157404414_o_nat,K: nat > $o,V: nat,F: nat > nat,Ps2: list_P6702368983108350734_o_nat] :
      ( ( ( ( produc7643701372303132684_o_nat @ P2 )
          = K )
       => ( ( map_de5982079881621851255_o_nat @ K @ V @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ ( F @ ( produc3470649411511297610_o_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7643701372303132684_o_nat @ P2 )
         != K )
       => ( ( map_de5982079881621851255_o_nat @ K @ V @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ P2 @ ( map_de5982079881621851255_o_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_830_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( map_default_nat_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_831_map__default_Osimps_I2_J,axiom,
    ! [P2: produc859450856879609959at_nat,K: product_prod_nat_nat,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P8469869581646625389at_nat] :
      ( ( ( ( produc3213797794245857475at_nat @ P2 )
          = K )
       => ( ( map_de6203744875203570968at_nat @ K @ V @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ ( F @ ( produc6408287024330202629at_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3213797794245857475at_nat @ P2 )
         != K )
       => ( ( map_de6203744875203570968at_nat @ K @ V @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ P2 @ ( map_de6203744875203570968at_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_832_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( map_entry_b_c @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_833_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc3074792404157404414_o_nat,K: nat > $o,F: nat > nat,Ps2: list_P6702368983108350734_o_nat] :
      ( ( ( ( produc7643701372303132684_o_nat @ P2 )
          = K )
       => ( ( map_entry_nat_o_nat @ K @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ ( F @ ( produc3470649411511297610_o_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7643701372303132684_o_nat @ P2 )
         != K )
       => ( ( map_entry_nat_o_nat @ K @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ P2 @ ( map_entry_nat_o_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_834_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( map_entry_nat_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_835_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc859450856879609959at_nat,K: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P8469869581646625389at_nat] :
      ( ( ( ( produc3213797794245857475at_nat @ P2 )
          = K )
       => ( ( map_en2982961774263949193at_nat @ K @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ ( F @ ( produc6408287024330202629at_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3213797794245857475at_nat @ P2 )
         != K )
       => ( ( map_en2982961774263949193at_nat @ K @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ P2 @ ( map_en2982961774263949193at_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_836_map__default_Opelims,axiom,
    ! [X: b,Xa: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_b_c )
           => ( ( Y
                = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Xa ) @ nil_Product_prod_b_c ) )
             => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ nil_Product_prod_b_c ) ) ) ) ) )
         => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
                ( ( Xc
                  = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_b_c @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_b_c @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_837_map__default_Opelims,axiom,
    ! [X: nat > $o,Xa: nat,Xb: nat > nat,Xc: list_P6702368983108350734_o_nat,Y: list_P6702368983108350734_o_nat] :
      ( ( ( map_de5982079881621851255_o_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P8769620910306374328_o_nat @ map_de3261325013690768622_o_nat @ ( produc8011531828263402875_o_nat @ X @ ( produc3774508109030907653_o_nat @ Xa @ ( produc3499944987805792998_o_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr3919464568974123896_o_nat )
           => ( ( Y
                = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ Xa ) @ nil_Pr3919464568974123896_o_nat ) )
             => ~ ( accp_P8769620910306374328_o_nat @ map_de3261325013690768622_o_nat @ ( produc8011531828263402875_o_nat @ X @ ( produc3774508109030907653_o_nat @ Xa @ ( produc3499944987805792998_o_nat @ Xb @ nil_Pr3919464568974123896_o_nat ) ) ) ) ) )
         => ~ ! [P6: produc3074792404157404414_o_nat,Ps: list_P6702368983108350734_o_nat] :
                ( ( Xc
                  = ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc7643701372303132684_o_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ ( Xb @ ( produc3470649411511297610_o_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7643701372303132684_o_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P1301391208966372296_o_nat @ P6 @ ( map_de5982079881621851255_o_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8769620910306374328_o_nat @ map_de3261325013690768622_o_nat @ ( produc8011531828263402875_o_nat @ X @ ( produc3774508109030907653_o_nat @ Xa @ ( produc3499944987805792998_o_nat @ Xb @ ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_838_map__default_Opelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
           => ( ( Y
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) )
             => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ nil_Pr5478986624290739719at_nat ) ) ) ) ) )
         => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xc
                  = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ ( cons_P6512896166579812791at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_839_map__default_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat,Xb: product_prod_nat_nat > product_prod_nat_nat,Xc: list_P8469869581646625389at_nat,Y: list_P8469869581646625389at_nat] :
      ( ( ( map_de6203744875203570968at_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P1227563337489974164at_nat @ map_de5316453281594923105at_nat @ ( produc4714689090139462999at_nat @ X @ ( produc3729545303729125927at_nat @ Xa @ ( produc6834379443701339823at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr2582115297535392877at_nat )
           => ( ( Y
                = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ Xa ) @ nil_Pr2582115297535392877at_nat ) )
             => ~ ( accp_P1227563337489974164at_nat @ map_de5316453281594923105at_nat @ ( produc4714689090139462999at_nat @ X @ ( produc3729545303729125927at_nat @ Xa @ ( produc6834379443701339823at_nat @ Xb @ nil_Pr2582115297535392877at_nat ) ) ) ) ) )
         => ~ ! [P6: produc859450856879609959at_nat,Ps: list_P8469869581646625389at_nat] :
                ( ( Xc
                  = ( cons_P8732206157123786781at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc3213797794245857475at_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ ( Xb @ ( produc6408287024330202629at_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc3213797794245857475at_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P8732206157123786781at_nat @ P6 @ ( map_de6203744875203570968at_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P1227563337489974164at_nat @ map_de5316453281594923105at_nat @ ( produc4714689090139462999at_nat @ X @ ( produc3729545303729125927at_nat @ Xa @ ( produc6834379443701339823at_nat @ Xb @ ( cons_P8732206157123786781at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_840_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( update_with_aux_c_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_841_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc3074792404157404414_o_nat,K: nat > $o,V: nat,F: nat > nat,Ps2: list_P6702368983108350734_o_nat] :
      ( ( ( ( produc7643701372303132684_o_nat @ P2 )
          = K )
       => ( ( update5461917218004680235_nat_o @ V @ K @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ ( F @ ( produc3470649411511297610_o_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7643701372303132684_o_nat @ P2 )
         != K )
       => ( ( update5461917218004680235_nat_o @ V @ K @ F @ ( cons_P1301391208966372296_o_nat @ P2 @ Ps2 ) )
          = ( cons_P1301391208966372296_o_nat @ P2 @ ( update5461917218004680235_nat_o @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_842_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( update528237659335440164at_nat @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_843_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc859450856879609959at_nat,K: product_prod_nat_nat,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P8469869581646625389at_nat] :
      ( ( ( ( produc3213797794245857475at_nat @ P2 )
          = K )
       => ( ( update8621587714000398146at_nat @ V @ K @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ ( F @ ( produc6408287024330202629at_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3213797794245857475at_nat @ P2 )
         != K )
       => ( ( update8621587714000398146at_nat @ V @ K @ F @ ( cons_P8732206157123786781at_nat @ P2 @ Ps2 ) )
          = ( cons_P8732206157123786781at_nat @ P2 @ ( update8621587714000398146at_nat @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_844_update__with__aux_Osimps_I1_J,axiom,
    ! [V: c,K: b,F: c > c] :
      ( ( update_with_aux_c_b @ V @ K @ F @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ V ) ) @ nil_Product_prod_b_c ) ) ).

% update_with_aux.simps(1)
thf(fact_845_update__with__aux_Osimps_I1_J,axiom,
    ! [V: nat,K: nat > $o,F: nat > nat] :
      ( ( update5461917218004680235_nat_o @ V @ K @ F @ nil_Pr3919464568974123896_o_nat )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ ( F @ V ) ) @ nil_Pr3919464568974123896_o_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_846_update__with__aux_Osimps_I1_J,axiom,
    ! [V: nat,K: nat,F: nat > nat] :
      ( ( update528237659335440164at_nat @ V @ K @ F @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ V ) ) @ nil_Pr5478986624290739719at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_847_update__with__aux_Osimps_I1_J,axiom,
    ! [V: product_prod_nat_nat,K: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( update8621587714000398146at_nat @ V @ K @ F @ nil_Pr2582115297535392877at_nat )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ ( F @ V ) ) @ nil_Pr2582115297535392877at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_848_map__entry_Opelims,axiom,
    ! [X: b,Xa: c > c,Xb: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_entry_b_c @ X @ Xa @ Xb )
        = Y )
     => ( ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X @ ( produc1101678828523717360od_b_c @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Product_prod_b_c )
           => ( ( Y = nil_Product_prod_b_c )
             => ~ ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X @ ( produc1101678828523717360od_b_c @ Xa @ nil_Product_prod_b_c ) ) ) ) )
         => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
                ( ( Xb
                  = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_b_c @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xa @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_b_c @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_entry_b_c @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X @ ( produc1101678828523717360od_b_c @ Xa @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_849_map__entry_Opelims,axiom,
    ! [X: nat > $o,Xa: nat > nat,Xb: list_P6702368983108350734_o_nat,Y: list_P6702368983108350734_o_nat] :
      ( ( ( map_entry_nat_o_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( accp_P4578661819182688671_o_nat @ map_en7335419289407203423_o_nat @ ( produc3608434710519062918_o_nat @ X @ ( produc3499944987805792998_o_nat @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr3919464568974123896_o_nat )
           => ( ( Y = nil_Pr3919464568974123896_o_nat )
             => ~ ( accp_P4578661819182688671_o_nat @ map_en7335419289407203423_o_nat @ ( produc3608434710519062918_o_nat @ X @ ( produc3499944987805792998_o_nat @ Xa @ nil_Pr3919464568974123896_o_nat ) ) ) ) )
         => ~ ! [P6: produc3074792404157404414_o_nat,Ps: list_P6702368983108350734_o_nat] :
                ( ( Xb
                  = ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc7643701372303132684_o_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ ( Xa @ ( produc3470649411511297610_o_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7643701372303132684_o_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P1301391208966372296_o_nat @ P6 @ ( map_entry_nat_o_nat @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P4578661819182688671_o_nat @ map_en7335419289407203423_o_nat @ ( produc3608434710519062918_o_nat @ X @ ( produc3499944987805792998_o_nat @ Xa @ ( cons_P1301391208966372296_o_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_850_map__entry_Opelims,axiom,
    ! [X: nat,Xa: nat > nat,Xb: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
           => ( ( Y = nil_Pr5478986624290739719at_nat )
             => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ nil_Pr5478986624290739719at_nat ) ) ) ) )
         => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xb
                  = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xa @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ P6 @ ( map_entry_nat_nat @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ ( cons_P6512896166579812791at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_851_map__entry_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat > product_prod_nat_nat,Xb: list_P8469869581646625389at_nat,Y: list_P8469869581646625389at_nat] :
      ( ( ( map_en2982961774263949193at_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( accp_P3051470004375116644at_nat @ map_en3598323725108157232at_nat @ ( produc3729545303729125927at_nat @ X @ ( produc6834379443701339823at_nat @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr2582115297535392877at_nat )
           => ( ( Y = nil_Pr2582115297535392877at_nat )
             => ~ ( accp_P3051470004375116644at_nat @ map_en3598323725108157232at_nat @ ( produc3729545303729125927at_nat @ X @ ( produc6834379443701339823at_nat @ Xa @ nil_Pr2582115297535392877at_nat ) ) ) ) )
         => ~ ! [P6: produc859450856879609959at_nat,Ps: list_P8469869581646625389at_nat] :
                ( ( Xb
                  = ( cons_P8732206157123786781at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc3213797794245857475at_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ ( Xa @ ( produc6408287024330202629at_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc3213797794245857475at_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P8732206157123786781at_nat @ P6 @ ( map_en2982961774263949193at_nat @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P3051470004375116644at_nat @ map_en3598323725108157232at_nat @ ( produc3729545303729125927at_nat @ X @ ( produc6834379443701339823at_nat @ Xa @ ( cons_P8732206157123786781at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_852_sorted__list__atD,axiom,
    ! [Xs: list_nat,I: nat,J: nat] :
      ( ( sorted_list_nat @ Xs )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs ) )
         => ( ord_less_eq_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Xs @ J ) ) ) ) ) ).

% sorted_list_atD
thf(fact_853_sorted__list_Ointros_I3_J,axiom,
    ! [X: nat,Y: nat,Ys2: list_nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( sorted_list_nat @ ( cons_nat @ Y @ Ys2 ) )
       => ( sorted_list_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Ys2 ) ) ) ) ) ).

% sorted_list.intros(3)
thf(fact_854_sorted__list_Osimps,axiom,
    ( sorted_list_nat
    = ( ^ [A5: list_nat] :
          ( ( A5 = nil_nat )
          | ? [X4: nat] :
              ( A5
              = ( cons_nat @ X4 @ nil_nat ) )
          | ? [X4: nat,Y6: nat,Ys3: list_nat] :
              ( ( A5
                = ( cons_nat @ X4 @ ( cons_nat @ Y6 @ Ys3 ) ) )
              & ( ord_less_eq_nat @ X4 @ Y6 )
              & ( sorted_list_nat @ ( cons_nat @ Y6 @ Ys3 ) ) ) ) ) ) ).

% sorted_list.simps
thf(fact_855_sorted__list_Ocases,axiom,
    ! [A: list_nat] :
      ( ( sorted_list_nat @ A )
     => ( ( A != nil_nat )
       => ( ! [X3: nat] :
              ( A
             != ( cons_nat @ X3 @ nil_nat ) )
         => ~ ! [X3: nat,Y3: nat,Ys4: list_nat] :
                ( ( A
                  = ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Ys4 ) ) )
               => ( ( ord_less_eq_nat @ X3 @ Y3 )
                 => ~ ( sorted_list_nat @ ( cons_nat @ Y3 @ Ys4 ) ) ) ) ) ) ) ).

% sorted_list.cases
thf(fact_856_sorted__list__Cons__nth,axiom,
    ! [X: nat,Xs: list_nat,J: nat] :
      ( ( sorted_list_nat @ ( cons_nat @ X @ Xs ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs ) )
       => ( ord_less_eq_nat @ X @ ( nth_nat @ Xs @ J ) ) ) ) ).

% sorted_list_Cons_nth
thf(fact_857_sndI,axiom,
    ! [X: product_prod_b_c,Y: b,Z4: c] :
      ( ( X
        = ( product_Pair_b_c @ Y @ Z4 ) )
     => ( ( product_snd_b_c @ X )
        = Z4 ) ) ).

% sndI
thf(fact_858_sndI,axiom,
    ! [X: produc3074792404157404414_o_nat,Y: nat > $o,Z4: nat] :
      ( ( X
        = ( produc7277522915581678840_o_nat @ Y @ Z4 ) )
     => ( ( produc3470649411511297610_o_nat @ X )
        = Z4 ) ) ).

% sndI
thf(fact_859_sndI,axiom,
    ! [X: product_prod_nat_nat,Y: nat,Z4: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y @ Z4 ) )
     => ( ( product_snd_nat_nat @ X )
        = Z4 ) ) ).

% sndI
thf(fact_860_sndI,axiom,
    ! [X: produc859450856879609959at_nat,Y: product_prod_nat_nat,Z4: product_prod_nat_nat] :
      ( ( X
        = ( produc6161850002892822231at_nat @ Y @ Z4 ) )
     => ( ( produc6408287024330202629at_nat @ X )
        = Z4 ) ) ).

% sndI
thf(fact_861_fstI,axiom,
    ! [X: product_prod_b_c,Y: b,Z4: c] :
      ( ( X
        = ( product_Pair_b_c @ Y @ Z4 ) )
     => ( ( product_fst_b_c @ X )
        = Y ) ) ).

% fstI
thf(fact_862_fstI,axiom,
    ! [X: produc3074792404157404414_o_nat,Y: nat > $o,Z4: nat] :
      ( ( X
        = ( produc7277522915581678840_o_nat @ Y @ Z4 ) )
     => ( ( produc7643701372303132684_o_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_863_fstI,axiom,
    ! [X: product_prod_nat_nat,Y: nat,Z4: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y @ Z4 ) )
     => ( ( product_fst_nat_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_864_fstI,axiom,
    ! [X: produc859450856879609959at_nat,Y: product_prod_nat_nat,Z4: product_prod_nat_nat] :
      ( ( X
        = ( produc6161850002892822231at_nat @ Y @ Z4 ) )
     => ( ( produc3213797794245857475at_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_865_eq__snd__iff,axiom,
    ! [B: c,P2: product_prod_b_c] :
      ( ( B
        = ( product_snd_b_c @ P2 ) )
      = ( ? [A5: b] :
            ( P2
            = ( product_Pair_b_c @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_866_eq__snd__iff,axiom,
    ! [B: nat,P2: produc3074792404157404414_o_nat] :
      ( ( B
        = ( produc3470649411511297610_o_nat @ P2 ) )
      = ( ? [A5: nat > $o] :
            ( P2
            = ( produc7277522915581678840_o_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_867_eq__snd__iff,axiom,
    ! [B: nat,P2: product_prod_nat_nat] :
      ( ( B
        = ( product_snd_nat_nat @ P2 ) )
      = ( ? [A5: nat] :
            ( P2
            = ( product_Pair_nat_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_868_eq__snd__iff,axiom,
    ! [B: product_prod_nat_nat,P2: produc859450856879609959at_nat] :
      ( ( B
        = ( produc6408287024330202629at_nat @ P2 ) )
      = ( ? [A5: product_prod_nat_nat] :
            ( P2
            = ( produc6161850002892822231at_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_869_eq__fst__iff,axiom,
    ! [A: b,P2: product_prod_b_c] :
      ( ( A
        = ( product_fst_b_c @ P2 ) )
      = ( ? [B4: c] :
            ( P2
            = ( product_Pair_b_c @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_870_eq__fst__iff,axiom,
    ! [A: nat > $o,P2: produc3074792404157404414_o_nat] :
      ( ( A
        = ( produc7643701372303132684_o_nat @ P2 ) )
      = ( ? [B4: nat] :
            ( P2
            = ( produc7277522915581678840_o_nat @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_871_eq__fst__iff,axiom,
    ! [A: nat,P2: product_prod_nat_nat] :
      ( ( A
        = ( product_fst_nat_nat @ P2 ) )
      = ( ? [B4: nat] :
            ( P2
            = ( product_Pair_nat_nat @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_872_eq__fst__iff,axiom,
    ! [A: product_prod_nat_nat,P2: produc859450856879609959at_nat] :
      ( ( A
        = ( produc3213797794245857475at_nat @ P2 ) )
      = ( ? [B4: product_prod_nat_nat] :
            ( P2
            = ( produc6161850002892822231at_nat @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_873_takeWhile__append1,axiom,
    ! [X: nat,Xs: list_nat,P: nat > $o,Ys2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ~ ( P @ X )
       => ( ( takeWhile_nat @ P @ ( append_nat @ Xs @ Ys2 ) )
          = ( takeWhile_nat @ P @ Xs ) ) ) ) ).

% takeWhile_append1
thf(fact_874_takeWhile__append2,axiom,
    ! [Xs: list_nat,P: nat > $o,Ys2: list_nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
         => ( P @ X3 ) )
     => ( ( takeWhile_nat @ P @ ( append_nat @ Xs @ Ys2 ) )
        = ( append_nat @ Xs @ ( takeWhile_nat @ P @ Ys2 ) ) ) ) ).

% takeWhile_append2
thf(fact_875_set__swap,axiom,
    ! [I: nat,Xs: list_c,J: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_c @ Xs ) )
       => ( ( set_c2 @ ( list_update_c @ ( list_update_c @ Xs @ I @ ( nth_c @ Xs @ J ) ) @ J @ ( nth_c @ Xs @ I ) ) )
          = ( set_c2 @ Xs ) ) ) ) ).

% set_swap
thf(fact_876_list_Omap__ident__strong,axiom,
    ! [T2: list_nat,F: nat > nat] :
      ( ! [Z: nat] :
          ( ( member_nat @ Z @ ( set_nat2 @ T2 ) )
         => ( ( F @ Z )
            = Z ) )
     => ( ( map_nat_nat @ F @ T2 )
        = T2 ) ) ).

% list.map_ident_strong
thf(fact_877_map__idI,axiom,
    ! [Xs: list_nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
         => ( ( F @ X3 )
            = X3 ) )
     => ( ( map_nat_nat @ F @ Xs )
        = Xs ) ) ).

% map_idI
thf(fact_878_list_Oset__intros_I2_J,axiom,
    ! [Y: nat,X222: list_nat,X21: nat] :
      ( ( member_nat @ Y @ ( set_nat2 @ X222 ) )
     => ( member_nat @ Y @ ( set_nat2 @ ( cons_nat @ X21 @ X222 ) ) ) ) ).

% list.set_intros(2)
thf(fact_879_list_Oset__intros_I1_J,axiom,
    ! [X21: nat,X222: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X222 ) ) ) ).

% list.set_intros(1)
thf(fact_880_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_881_set__ConsD,axiom,
    ! [Y: nat,X: nat,Xs: list_nat] :
      ( ( member_nat @ Y @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) )
     => ( ( Y = X )
        | ( member_nat @ Y @ ( set_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_882_in__set__takeD,axiom,
    ! [X: c,N: nat,Xs: list_c] :
      ( ( member_c @ X @ ( set_c2 @ ( take_c @ N @ Xs ) ) )
     => ( member_c @ X @ ( set_c2 @ Xs ) ) ) ).

% in_set_takeD
thf(fact_883_in__set__takeD,axiom,
    ! [X: nat,N: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ ( take_nat @ N @ Xs ) ) )
     => ( member_nat @ X @ ( set_nat2 @ Xs ) ) ) ).

% in_set_takeD
thf(fact_884_in__set__dropD,axiom,
    ! [X: c,N: nat,Xs: list_c] :
      ( ( member_c @ X @ ( set_c2 @ ( drop_c @ N @ Xs ) ) )
     => ( member_c @ X @ ( set_c2 @ Xs ) ) ) ).

% in_set_dropD
thf(fact_885_in__set__dropD,axiom,
    ! [X: nat,N: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ ( drop_nat @ N @ Xs ) ) )
     => ( member_nat @ X @ ( set_nat2 @ Xs ) ) ) ).

% in_set_dropD
thf(fact_886_takeWhile__cong,axiom,
    ! [L: list_nat,K: list_nat,P: nat > $o,Q: nat > $o] :
      ( ( L = K )
     => ( ! [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ L ) )
           => ( ( P @ X3 )
              = ( Q @ X3 ) ) )
       => ( ( takeWhile_nat @ P @ L )
          = ( takeWhile_nat @ Q @ K ) ) ) ) ).

% takeWhile_cong
thf(fact_887_set__takeWhileD,axiom,
    ! [X: nat,P: nat > $o,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ ( takeWhile_nat @ P @ Xs ) ) )
     => ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
        & ( P @ X ) ) ) ).

% set_takeWhileD
thf(fact_888_subset__code_I1_J,axiom,
    ! [Xs: list_nat,B5: set_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ B5 )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
           => ( member_nat @ X4 @ B5 ) ) ) ) ).

% subset_code(1)
thf(fact_889_find__cong,axiom,
    ! [Xs: list_nat,Ys2: list_nat,P: nat > $o,Q: nat > $o] :
      ( ( Xs = Ys2 )
     => ( ! [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ Ys2 ) )
           => ( ( P @ X3 )
              = ( Q @ X3 ) ) )
       => ( ( find_nat @ P @ Xs )
          = ( find_nat @ Q @ Ys2 ) ) ) ) ).

% find_cong
thf(fact_890_split__list,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys4: list_nat,Zs2: list_nat] :
          ( Xs
          = ( append_nat @ Ys4 @ ( cons_nat @ X @ Zs2 ) ) ) ) ).

% split_list
thf(fact_891_split__list__last,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys4: list_nat,Zs2: list_nat] :
          ( ( Xs
            = ( append_nat @ Ys4 @ ( cons_nat @ X @ Zs2 ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Zs2 ) ) ) ) ).

% split_list_last
thf(fact_892_split__list__first,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys4: list_nat,Zs2: list_nat] :
          ( ( Xs
            = ( append_nat @ Ys4 @ ( cons_nat @ X @ Zs2 ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Ys4 ) ) ) ) ).

% split_list_first
thf(fact_893_append__Cons__eq__iff,axiom,
    ! [X: nat,Xs: list_nat,Ys2: list_nat,Xs5: list_nat,Ys6: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ~ ( member_nat @ X @ ( set_nat2 @ Ys2 ) )
       => ( ( ( append_nat @ Xs @ ( cons_nat @ X @ Ys2 ) )
            = ( append_nat @ Xs5 @ ( cons_nat @ X @ Ys6 ) ) )
          = ( ( Xs = Xs5 )
            & ( Ys2 = Ys6 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_894_in__set__conv__decomp,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( Xs
            = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_895_in__set__conv__decomp__last,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_896_in__set__conv__decomp__first,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_897_set__take__subset,axiom,
    ! [N: nat,Xs: list_c] : ( ord_less_eq_set_c @ ( set_c2 @ ( take_c @ N @ Xs ) ) @ ( set_c2 @ Xs ) ) ).

% set_take_subset
thf(fact_898_set__drop__subset,axiom,
    ! [N: nat,Xs: list_c] : ( ord_less_eq_set_c @ ( set_c2 @ ( drop_c @ N @ Xs ) ) @ ( set_c2 @ Xs ) ) ).

% set_drop_subset
thf(fact_899_list_Oset__sel_I1_J,axiom,
    ! [A: list_nat] :
      ( ( A != nil_nat )
     => ( member_nat @ ( hd_nat @ A ) @ ( set_nat2 @ A ) ) ) ).

% list.set_sel(1)
thf(fact_900_hd__in__set,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( member_nat @ ( hd_nat @ Xs ) @ ( set_nat2 @ Xs ) ) ) ).

% hd_in_set
thf(fact_901_set__update__subsetI,axiom,
    ! [Xs: list_nat,A4: set_nat,X: nat,I: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ A4 )
     => ( ( member_nat @ X @ A4 )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ ( list_update_nat @ Xs @ I @ X ) ) @ A4 ) ) ) ).

% set_update_subsetI
thf(fact_902_find__None__iff,axiom,
    ! [P: nat > $o,Xs: list_nat] :
      ( ( ( find_nat @ P @ Xs )
        = none_nat )
      = ( ~ ? [X4: nat] :
              ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
              & ( P @ X4 ) ) ) ) ).

% find_None_iff
thf(fact_903_find__None__iff2,axiom,
    ! [P: nat > $o,Xs: list_nat] :
      ( ( none_nat
        = ( find_nat @ P @ Xs ) )
      = ( ~ ? [X4: nat] :
              ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
              & ( P @ X4 ) ) ) ) ).

% find_None_iff2
thf(fact_904_in__set__product__lists__length,axiom,
    ! [Xs: list_c,Xss: list_list_c] :
      ( ( member_list_c @ Xs @ ( set_list_c2 @ ( product_lists_c @ Xss ) ) )
     => ( ( size_size_list_c @ Xs )
        = ( size_s491565468217265656list_c @ Xss ) ) ) ).

% in_set_product_lists_length
thf(fact_905_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_906_nth__mem,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( member_c @ ( nth_c @ Xs @ N ) @ ( set_c2 @ Xs ) ) ) ).

% nth_mem
thf(fact_907_list__ball__nth,axiom,
    ! [N: nat,Xs: list_c,P: c > $o] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ! [X3: c] :
            ( ( member_c @ X3 @ ( set_c2 @ Xs ) )
           => ( P @ X3 ) )
       => ( P @ ( nth_c @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_908_in__set__conv__nth,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
            & ( ( nth_nat @ Xs @ I3 )
              = X ) ) ) ) ).

% in_set_conv_nth
thf(fact_909_in__set__conv__nth,axiom,
    ! [X: c,Xs: list_c] :
      ( ( member_c @ X @ ( set_c2 @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs ) )
            & ( ( nth_c @ Xs @ I3 )
              = X ) ) ) ) ).

% in_set_conv_nth
thf(fact_910_all__nth__imp__all__set,axiom,
    ! [Xs: list_nat,P: nat > $o,X: nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs ) )
         => ( P @ ( nth_nat @ Xs @ I2 ) ) )
     => ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
       => ( P @ X ) ) ) ).

% all_nth_imp_all_set
thf(fact_911_all__nth__imp__all__set,axiom,
    ! [Xs: list_c,P: c > $o,X: c] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_size_list_c @ Xs ) )
         => ( P @ ( nth_c @ Xs @ I2 ) ) )
     => ( ( member_c @ X @ ( set_c2 @ Xs ) )
       => ( P @ X ) ) ) ).

% all_nth_imp_all_set
thf(fact_912_all__set__conv__all__nth,axiom,
    ! [Xs: list_c,P: c > $o] :
      ( ( ! [X4: c] :
            ( ( member_c @ X4 @ ( set_c2 @ Xs ) )
           => ( P @ X4 ) ) )
      = ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs ) )
           => ( P @ ( nth_c @ Xs @ I3 ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_913_set__take__subset__set__take,axiom,
    ! [M: nat,N: nat,Xs: list_c] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_set_c @ ( set_c2 @ ( take_c @ M @ Xs ) ) @ ( set_c2 @ ( take_c @ N @ Xs ) ) ) ) ).

% set_take_subset_set_take
thf(fact_914_set__drop__subset__set__drop,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ord_less_eq_set_c @ ( set_c2 @ ( drop_c @ M @ Xs ) ) @ ( set_c2 @ ( drop_c @ N @ Xs ) ) ) ) ).

% set_drop_subset_set_drop
thf(fact_915_set__update__memI,axiom,
    ! [N: nat,Xs: list_nat,X: nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( member_nat @ X @ ( set_nat2 @ ( list_update_nat @ Xs @ N @ X ) ) ) ) ).

% set_update_memI
thf(fact_916_set__update__memI,axiom,
    ! [N: nat,Xs: list_c,X: c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( member_c @ X @ ( set_c2 @ ( list_update_c @ Xs @ N @ X ) ) ) ) ).

% set_update_memI
thf(fact_917_reaches__on__setD,axiom,
    ! [Run: b > option4716579502443089070od_b_c,S3: b,Vs2: list_c,S4: b,X: c] :
      ( ( reaches_on_b_c @ Run @ S3 @ Vs2 @ S4 )
     => ( ( member_c @ X @ ( set_c2 @ Vs2 ) )
       => ? [Vs6: list_c,Vs4: list_c,S: b] :
            ( ( reaches_on_b_c @ Run @ S3 @ ( append_c @ Vs6 @ ( cons_c @ X @ nil_c ) ) @ S )
            & ( reaches_on_b_c @ Run @ S @ Vs4 @ S4 )
            & ( Vs2
              = ( append_c @ Vs6 @ ( cons_c @ X @ Vs4 ) ) ) ) ) ) ).

% reaches_on_setD
thf(fact_918_sorted__list__app,axiom,
    ! [Xs: list_nat,Y: nat] :
      ( ( sorted_list_nat @ Xs )
     => ( ! [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
           => ( ord_less_eq_nat @ X3 @ Y ) )
       => ( sorted_list_nat @ ( append_nat @ Xs @ ( cons_nat @ Y @ nil_nat ) ) ) ) ) ).

% sorted_list_app
thf(fact_919_nth__zip,axiom,
    ! [I: nat,Xs: list_nat_o,Ys2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat_o @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys2 ) )
       => ( ( nth_Pr8224016110953687223_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) @ I )
          = ( produc7277522915581678840_o_nat @ ( nth_nat_o @ Xs @ I ) @ ( nth_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_920_nth__zip,axiom,
    ! [I: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys2 ) )
       => ( ( nth_Pr7617993195940197384at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) @ I )
          = ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_921_nth__zip,axiom,
    ! [I: nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ I @ ( size_s5460976970255530739at_nat @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s5460976970255530739at_nat @ Ys2 ) )
       => ( ( nth_Pr6744343527793145070at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) @ I )
          = ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ I ) @ ( nth_Pr7617993195940197384at_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_922_nth__zip,axiom,
    ! [I: nat,Xs: list_b,Ys2: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_b @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Ys2 ) )
       => ( ( nth_Product_prod_b_c @ ( zip_b_c @ Xs @ Ys2 ) @ I )
          = ( product_Pair_b_c @ ( nth_b @ Xs @ I ) @ ( nth_c @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_923_nth__zip,axiom,
    ! [I: nat,Xs: list_c,Ys2: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Ys2 ) )
       => ( ( nth_Product_prod_c_c @ ( zip_c_c @ Xs @ Ys2 ) @ I )
          = ( product_Pair_c_c @ ( nth_c @ Xs @ I ) @ ( nth_c @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_924_mmap__combine_Osimps_I1_J,axiom,
    ! [K: b,V: c,C2: c > c > c] :
      ( ( mmap_combine_b_c @ K @ V @ C2 @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ nil_Product_prod_b_c ) ) ).

% mmap_combine.simps(1)
thf(fact_925_mmap__combine_Osimps_I1_J,axiom,
    ! [K: nat > $o,V: nat,C2: nat > nat > nat] :
      ( ( mmap_c1133237450458404219_o_nat @ K @ V @ C2 @ nil_Pr3919464568974123896_o_nat )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ V ) @ nil_Pr3919464568974123896_o_nat ) ) ).

% mmap_combine.simps(1)
thf(fact_926_mmap__combine_Osimps_I1_J,axiom,
    ! [K: nat,V: nat,C2: nat > nat > nat] :
      ( ( mmap_combine_nat_nat @ K @ V @ C2 @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ nil_Pr5478986624290739719at_nat ) ) ).

% mmap_combine.simps(1)
thf(fact_927_mmap__combine_Osimps_I1_J,axiom,
    ! [K: product_prod_nat_nat,V: product_prod_nat_nat,C2: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat] :
      ( ( mmap_c5430662108209933588at_nat @ K @ V @ C2 @ nil_Pr2582115297535392877at_nat )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ V ) @ nil_Pr2582115297535392877at_nat ) ) ).

% mmap_combine.simps(1)
thf(fact_928_map__ran__simps_I2_J,axiom,
    ! [F: b > c > c,K: b,V: c,Ps2: list_P903359562653991662od_b_c] :
      ( ( map_ran_b_c_c @ F @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ Ps2 ) )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ K @ V ) ) @ ( map_ran_b_c_c @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_929_map__ran__simps_I2_J,axiom,
    ! [F: ( nat > $o ) > nat > nat,K: nat > $o,V: nat,Ps2: list_P6702368983108350734_o_nat] :
      ( ( map_ra2050320490842838954at_nat @ F @ ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ V ) @ Ps2 ) )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ K @ ( F @ K @ V ) ) @ ( map_ra2050320490842838954at_nat @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_930_map__ran__simps_I2_J,axiom,
    ! [F: nat > nat > nat,K: nat,V: nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( map_ran_nat_nat_nat @ F @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ Ps2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ K @ V ) ) @ ( map_ran_nat_nat_nat @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_931_map__ran__simps_I2_J,axiom,
    ! [F: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat,K: product_prod_nat_nat,V: product_prod_nat_nat,Ps2: list_P8469869581646625389at_nat] :
      ( ( map_ra4011674865287502026at_nat @ F @ ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ V ) @ Ps2 ) )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ K @ ( F @ K @ V ) ) @ ( map_ra4011674865287502026at_nat @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_932_zip__Cons__Cons,axiom,
    ! [X: b,Xs: list_b,Y: c,Ys2: list_c] :
      ( ( zip_b_c @ ( cons_b @ X @ Xs ) @ ( cons_c @ Y @ Ys2 ) )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Y ) @ ( zip_b_c @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_933_zip__Cons__Cons,axiom,
    ! [X: nat > $o,Xs: list_nat_o,Y: nat,Ys2: list_nat] :
      ( ( zip_nat_o_nat @ ( cons_nat_o @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) )
      = ( cons_P1301391208966372296_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_934_zip__Cons__Cons,axiom,
    ! [X: nat,Xs: list_nat,Y: nat,Ys2: list_nat] :
      ( ( zip_nat_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( zip_nat_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_935_zip__Cons__Cons,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( zip_Pr4664179122662387191at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) )
      = ( cons_P8732206157123786781at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_936_map__fst__zip,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( map_Pr4595138825521553757_c_c_c @ product_fst_c_c @ ( zip_c_c @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_937_map__snd__zip,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( map_Pr4595138825521553757_c_c_c @ product_snd_c_c @ ( zip_c_c @ Xs @ Ys2 ) )
        = Ys2 ) ) ).

% map_snd_zip
thf(fact_938_zip__append,axiom,
    ! [Xs: list_c,Us: list_c,Ys2: list_c,Vs2: list_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Us ) )
     => ( ( zip_c_c @ ( append_c @ Xs @ Ys2 ) @ ( append_c @ Us @ Vs2 ) )
        = ( append8983669700562714690od_c_c @ ( zip_c_c @ Xs @ Us ) @ ( zip_c_c @ Ys2 @ Vs2 ) ) ) ) ).

% zip_append
thf(fact_939_set__zip__rightD,axiom,
    ! [X: b,Y: c,Xs: list_b,Ys2: list_c] :
      ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ ( set_Product_prod_b_c2 @ ( zip_b_c @ Xs @ Ys2 ) ) )
     => ( member_c @ Y @ ( set_c2 @ Ys2 ) ) ) ).

% set_zip_rightD
thf(fact_940_set__zip__rightD,axiom,
    ! [X: nat > $o,Y: nat,Xs: list_nat_o,Ys2: list_nat] :
      ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) @ ( set_Pr6755523435573161513_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) )
     => ( member_nat @ Y @ ( set_nat2 @ Ys2 ) ) ) ).

% set_zip_rightD
thf(fact_941_set__zip__rightD,axiom,
    ! [X: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) ) )
     => ( member_nat @ Y @ ( set_nat2 @ Ys2 ) ) ) ).

% set_zip_rightD
thf(fact_942_set__zip__rightD,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) )
     => ( member8440522571783428010at_nat @ Y @ ( set_Pr5648618587558075414at_nat @ Ys2 ) ) ) ).

% set_zip_rightD
thf(fact_943_set__zip__leftD,axiom,
    ! [X: b,Y: c,Xs: list_b,Ys2: list_c] :
      ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ ( set_Product_prod_b_c2 @ ( zip_b_c @ Xs @ Ys2 ) ) )
     => ( member_b @ X @ ( set_b2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_944_set__zip__leftD,axiom,
    ! [X: nat > $o,Y: nat,Xs: list_nat_o,Ys2: list_nat] :
      ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) @ ( set_Pr6755523435573161513_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) )
     => ( member_nat_o @ X @ ( set_nat_o2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_945_set__zip__leftD,axiom,
    ! [X: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) ) )
     => ( member_nat @ X @ ( set_nat2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_946_set__zip__leftD,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) )
     => ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_947_in__set__zipE,axiom,
    ! [X: b,Y: c,Xs: list_b,Ys2: list_c] :
      ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ ( set_Product_prod_b_c2 @ ( zip_b_c @ Xs @ Ys2 ) ) )
     => ~ ( ( member_b @ X @ ( set_b2 @ Xs ) )
         => ~ ( member_c @ Y @ ( set_c2 @ Ys2 ) ) ) ) ).

% in_set_zipE
thf(fact_948_in__set__zipE,axiom,
    ! [X: nat > $o,Y: nat,Xs: list_nat_o,Ys2: list_nat] :
      ( ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y ) @ ( set_Pr6755523435573161513_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) )
     => ~ ( ( member_nat_o @ X @ ( set_nat_o2 @ Xs ) )
         => ~ ( member_nat @ Y @ ( set_nat2 @ Ys2 ) ) ) ) ).

% in_set_zipE
thf(fact_949_in__set__zipE,axiom,
    ! [X: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) ) )
     => ~ ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
         => ~ ( member_nat @ Y @ ( set_nat2 @ Ys2 ) ) ) ) ).

% in_set_zipE
thf(fact_950_in__set__zipE,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) )
     => ~ ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
         => ~ ( member8440522571783428010at_nat @ Y @ ( set_Pr5648618587558075414at_nat @ Ys2 ) ) ) ) ).

% in_set_zipE
thf(fact_951_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_952_zip__same,axiom,
    ! [A: product_prod_nat_nat,B: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ A @ B ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Xs ) ) )
      = ( ( member8440522571783428010at_nat @ A @ ( set_Pr5648618587558075414at_nat @ Xs ) )
        & ( A = B ) ) ) ).

% zip_same
thf(fact_953_zip__update,axiom,
    ! [Xs: list_b,I: nat,X: b,Ys2: list_c,Y: c] :
      ( ( zip_b_c @ ( list_update_b @ Xs @ I @ X ) @ ( list_update_c @ Ys2 @ I @ Y ) )
      = ( list_u2180296049635073750od_b_c @ ( zip_b_c @ Xs @ Ys2 ) @ I @ ( product_Pair_b_c @ X @ Y ) ) ) ).

% zip_update
thf(fact_954_zip__update,axiom,
    ! [Xs: list_nat_o,I: nat,X: nat > $o,Ys2: list_nat,Y: nat] :
      ( ( zip_nat_o_nat @ ( list_update_nat_o @ Xs @ I @ X ) @ ( list_update_nat @ Ys2 @ I @ Y ) )
      = ( list_u3762978705656335120_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) @ I @ ( produc7277522915581678840_o_nat @ X @ Y ) ) ) ).

% zip_update
thf(fact_955_zip__update,axiom,
    ! [Xs: list_nat,I: nat,X: nat,Ys2: list_nat,Y: nat] :
      ( ( zip_nat_nat @ ( list_update_nat @ Xs @ I @ X ) @ ( list_update_nat @ Ys2 @ I @ Y ) )
      = ( list_u6180841689913720943at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) @ I @ ( product_Pair_nat_nat @ X @ Y ) ) ) ).

% zip_update
thf(fact_956_zip__update,axiom,
    ! [Xs: list_P6011104703257516679at_nat,I: nat,X: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat] :
      ( ( zip_Pr4664179122662387191at_nat @ ( list_u6180841689913720943at_nat @ Xs @ I @ X ) @ ( list_u6180841689913720943at_nat @ Ys2 @ I @ Y ) )
      = ( list_u5003261594476800725at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) @ I @ ( produc6161850002892822231at_nat @ X @ Y ) ) ) ).

% zip_update
thf(fact_957_take__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( take_P5635244877039430293od_c_c @ N @ ( zip_c_c @ Xs @ Ys2 ) )
      = ( zip_c_c @ ( take_c @ N @ Xs ) @ ( take_c @ N @ Ys2 ) ) ) ).

% take_zip
thf(fact_958_drop__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( drop_P2881858841943199725od_c_c @ N @ ( zip_c_c @ Xs @ Ys2 ) )
      = ( zip_c_c @ ( drop_c @ N @ Xs ) @ ( drop_c @ N @ Ys2 ) ) ) ).

% drop_zip
thf(fact_959_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat,X: nat > $o] :
      ( ( ( size_size_list_nat_o @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ( member_nat_o @ X @ ( set_nat_o2 @ Xs ) )
       => ~ ! [Y3: nat] :
              ~ ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X @ Y3 ) @ ( set_Pr6755523435573161513_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_960_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys2: list_nat,X: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
       => ~ ! [Y3: nat] :
              ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_961_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,X: product_prod_nat_nat] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_s5460976970255530739at_nat @ Ys2 ) )
     => ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
       => ~ ! [Y3: product_prod_nat_nat] :
              ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y3 ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_962_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys2: list_c,X: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
       => ~ ! [Y3: c] :
              ~ ( member8962352060716553276_nat_c @ ( product_Pair_nat_c @ X @ Y3 ) @ ( set_Pr4163146846833169104_nat_c @ ( zip_nat_c @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_963_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_b,Ys2: list_c,X: b] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( member_b @ X @ ( set_b2 @ Xs ) )
       => ~ ! [Y3: c] :
              ~ ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y3 ) @ ( set_Product_prod_b_c2 @ ( zip_b_c @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_964_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_c,Ys2: list_c,X: c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( member_c @ X @ ( set_c2 @ Xs ) )
       => ~ ! [Y3: c] :
              ~ ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ X @ Y3 ) @ ( set_Product_prod_c_c2 @ ( zip_c_c @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_965_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat,Y: nat] :
      ( ( ( size_size_list_nat_o @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ( member_nat @ Y @ ( set_nat2 @ Ys2 ) )
       => ~ ! [X3: nat > $o] :
              ~ ( member2897238310647649173_o_nat @ ( produc7277522915581678840_o_nat @ X3 @ Y ) @ ( set_Pr6755523435573161513_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_966_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys2: list_nat,Y: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ( member_nat @ Y @ ( set_nat2 @ Ys2 ) )
       => ~ ! [X3: nat] :
              ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y ) @ ( set_Pr5648618587558075414at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_967_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_s5460976970255530739at_nat @ Ys2 ) )
     => ( ( member8440522571783428010at_nat @ Y @ ( set_Pr5648618587558075414at_nat @ Ys2 ) )
       => ~ ! [X3: product_prod_nat_nat] :
              ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ ( set_Pr5518436109238095868at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_968_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_b,Ys2: list_c,Y: c] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( member_c @ Y @ ( set_c2 @ Ys2 ) )
       => ~ ! [X3: b] :
              ~ ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X3 @ Y ) @ ( set_Product_prod_b_c2 @ ( zip_b_c @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_969_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_c,Ys2: list_nat,Y: nat] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_nat @ Ys2 ) )
     => ( ( member_nat @ Y @ ( set_nat2 @ Ys2 ) )
       => ~ ! [X3: c] :
              ~ ( member8195077246299207702_c_nat @ ( product_Pair_c_nat @ X3 @ Y ) @ ( set_Pr3395872032415823530_c_nat @ ( zip_c_nat @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_970_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_c,Ys2: list_c,Y: c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( member_c @ Y @ ( set_c2 @ Ys2 ) )
       => ~ ! [X3: c] :
              ~ ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ X3 @ Y ) @ ( set_Product_prod_c_c2 @ ( zip_c_c @ Xs @ Ys2 ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_971_zip__eq__ConsE,axiom,
    ! [Xs: list_b,Ys2: list_c,Xy: product_prod_b_c,Xys: list_P903359562653991662od_b_c] :
      ( ( ( zip_b_c @ Xs @ Ys2 )
        = ( cons_P4529483553340347422od_b_c @ Xy @ Xys ) )
     => ~ ! [X3: b,Xs4: list_b] :
            ( ( Xs
              = ( cons_b @ X3 @ Xs4 ) )
           => ! [Y3: c,Ys5: list_c] :
                ( ( Ys2
                  = ( cons_c @ Y3 @ Ys5 ) )
               => ( ( Xy
                    = ( product_Pair_b_c @ X3 @ Y3 ) )
                 => ( Xys
                   != ( zip_b_c @ Xs4 @ Ys5 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_972_zip__eq__ConsE,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat,Xy: produc3074792404157404414_o_nat,Xys: list_P6702368983108350734_o_nat] :
      ( ( ( zip_nat_o_nat @ Xs @ Ys2 )
        = ( cons_P1301391208966372296_o_nat @ Xy @ Xys ) )
     => ~ ! [X3: nat > $o,Xs4: list_nat_o] :
            ( ( Xs
              = ( cons_nat_o @ X3 @ Xs4 ) )
           => ! [Y3: nat,Ys5: list_nat] :
                ( ( Ys2
                  = ( cons_nat @ Y3 @ Ys5 ) )
               => ( ( Xy
                    = ( produc7277522915581678840_o_nat @ X3 @ Y3 ) )
                 => ( Xys
                   != ( zip_nat_o_nat @ Xs4 @ Ys5 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_973_zip__eq__ConsE,axiom,
    ! [Xs: list_nat,Ys2: list_nat,Xy: product_prod_nat_nat,Xys: list_P6011104703257516679at_nat] :
      ( ( ( zip_nat_nat @ Xs @ Ys2 )
        = ( cons_P6512896166579812791at_nat @ Xy @ Xys ) )
     => ~ ! [X3: nat,Xs4: list_nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Xs4 ) )
           => ! [Y3: nat,Ys5: list_nat] :
                ( ( Ys2
                  = ( cons_nat @ Y3 @ Ys5 ) )
               => ( ( Xy
                    = ( product_Pair_nat_nat @ X3 @ Y3 ) )
                 => ( Xys
                   != ( zip_nat_nat @ Xs4 @ Ys5 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_974_zip__eq__ConsE,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Xy: produc859450856879609959at_nat,Xys: list_P8469869581646625389at_nat] :
      ( ( ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 )
        = ( cons_P8732206157123786781at_nat @ Xy @ Xys ) )
     => ~ ! [X3: product_prod_nat_nat,Xs4: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs4 ) )
           => ! [Y3: product_prod_nat_nat,Ys5: list_P6011104703257516679at_nat] :
                ( ( Ys2
                  = ( cons_P6512896166579812791at_nat @ Y3 @ Ys5 ) )
               => ( ( Xy
                    = ( produc6161850002892822231at_nat @ X3 @ Y3 ) )
                 => ( Xys
                   != ( zip_Pr4664179122662387191at_nat @ Xs4 @ Ys5 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_975_hd__zip,axiom,
    ! [Xs: list_b,Ys2: list_c] :
      ( ( Xs != nil_b )
     => ( ( Ys2 != nil_c )
       => ( ( hd_Product_prod_b_c @ ( zip_b_c @ Xs @ Ys2 ) )
          = ( product_Pair_b_c @ ( hd_b @ Xs ) @ ( hd_c @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_976_hd__zip,axiom,
    ! [Xs: list_nat_o,Ys2: list_nat] :
      ( ( Xs != nil_nat_o )
     => ( ( Ys2 != nil_nat )
       => ( ( hd_Pro6610215617467528531_o_nat @ ( zip_nat_o_nat @ Xs @ Ys2 ) )
          = ( produc7277522915581678840_o_nat @ ( hd_nat_o @ Xs ) @ ( hd_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_977_hd__zip,axiom,
    ! [Xs: list_nat,Ys2: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( Ys2 != nil_nat )
       => ( ( hd_Pro3460610213475200108at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) )
          = ( product_Pair_nat_nat @ ( hd_nat @ Xs ) @ ( hd_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_978_hd__zip,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ( ( Ys2 != nil_Pr5478986624290739719at_nat )
       => ( ( hd_Pro8462011474880202578at_nat @ ( zip_Pr4664179122662387191at_nat @ Xs @ Ys2 ) )
          = ( produc6161850002892822231at_nat @ ( hd_Pro3460610213475200108at_nat @ Xs ) @ ( hd_Pro3460610213475200108at_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_979_zip__eq__conv,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_P267710562049004973od_c_c] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( ( zip_c_c @ Xs @ Ys2 )
          = Zs )
        = ( ( ( map_Pr4595138825521553757_c_c_c @ product_fst_c_c @ Zs )
            = Xs )
          & ( ( map_Pr4595138825521553757_c_c_c @ product_snd_c_c @ Zs )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_980_in__set__zip,axiom,
    ! [P2: product_prod_c_c,Xs: list_c,Ys2: list_c] :
      ( ( member5074992359041316560od_c_c @ P2 @ ( set_Product_prod_c_c2 @ ( zip_c_c @ Xs @ Ys2 ) ) )
      = ( ? [N4: nat] :
            ( ( ( nth_c @ Xs @ N4 )
              = ( product_fst_c_c @ P2 ) )
            & ( ( nth_c @ Ys2 @ N4 )
              = ( product_snd_c_c @ P2 ) )
            & ( ord_less_nat @ N4 @ ( size_size_list_c @ Xs ) )
            & ( ord_less_nat @ N4 @ ( size_size_list_c @ Ys2 ) ) ) ) ) ).

% in_set_zip
thf(fact_981_zip__append1,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c] :
      ( ( zip_c_c @ ( append_c @ Xs @ Ys2 ) @ Zs )
      = ( append8983669700562714690od_c_c @ ( zip_c_c @ Xs @ ( take_c @ ( size_size_list_c @ Xs ) @ Zs ) ) @ ( zip_c_c @ Ys2 @ ( drop_c @ ( size_size_list_c @ Xs ) @ Zs ) ) ) ) ).

% zip_append1
thf(fact_982_zip__append2,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs: list_c] :
      ( ( zip_c_c @ Xs @ ( append_c @ Ys2 @ Zs ) )
      = ( append8983669700562714690od_c_c @ ( zip_c_c @ ( take_c @ ( size_size_list_c @ Ys2 ) @ Xs ) @ Ys2 ) @ ( zip_c_c @ ( drop_c @ ( size_size_list_c @ Ys2 ) @ Xs ) @ Zs ) ) ) ).

% zip_append2
thf(fact_983_product_Osimps_I2_J,axiom,
    ! [X: b,Xs: list_b,Ys2: list_c] :
      ( ( product_b_c @ ( cons_b @ X @ Xs ) @ Ys2 )
      = ( append2547753245680614915od_b_c @ ( map_c_3793715988870728620od_b_c @ ( product_Pair_b_c @ X ) @ Ys2 ) @ ( product_b_c @ Xs @ Ys2 ) ) ) ).

% product.simps(2)
thf(fact_984_product_Osimps_I2_J,axiom,
    ! [X: nat > $o,Xs: list_nat_o,Ys2: list_nat] :
      ( ( product_nat_o_nat @ ( cons_nat_o @ X @ Xs ) @ Ys2 )
      = ( append7826542997976574883_o_nat @ ( map_na3641099364221688468_o_nat @ ( produc7277522915581678840_o_nat @ X ) @ Ys2 ) @ ( product_nat_o_nat @ Xs @ Ys2 ) ) ) ).

% product.simps(2)
thf(fact_985_product_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( product_nat_nat @ ( cons_nat @ X @ Xs ) @ Ys2 )
      = ( append985823374593552924at_nat @ ( map_na7298421622053143531at_nat @ ( product_Pair_nat_nat @ X ) @ Ys2 ) @ ( product_nat_nat @ Xs @ Ys2 ) ) ) ).

% product.simps(2)
thf(fact_986_product_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( produc3544356994491977349at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys2 )
      = ( append8751754712269456642at_nat @ ( map_Pr9105590726435236202at_nat @ ( produc6161850002892822231at_nat @ X ) @ Ys2 ) @ ( produc3544356994491977349at_nat @ Xs @ Ys2 ) ) ) ).

% product.simps(2)
thf(fact_987_pos__sound,axiom,
    ! [A: c,Xs: list_c,I: nat] :
      ( ( ( pos_c @ A @ Xs )
        = ( some_nat @ I ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
        & ( ( nth_c @ Xs @ I )
          = A ) ) ) ).

% pos_sound
thf(fact_988_last__before_Osimps_I2_J,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( ( P @ N )
       => ( ( vYDRA_last_before @ P @ ( suc @ N ) )
          = ( some_nat @ N ) ) )
      & ( ~ ( P @ N )
       => ( ( vYDRA_last_before @ P @ ( suc @ N ) )
          = ( vYDRA_last_before @ P @ N ) ) ) ) ).

% last_before.simps(2)
thf(fact_989_in__measures_I2_J,axiom,
    ! [X: nat,Y: nat,F: nat > nat,Fs: list_nat_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) )
      = ( ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) )
        | ( ( ( F @ X )
            = ( F @ Y ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ Fs ) ) ) ) ) ).

% in_measures(2)
thf(fact_990_in__measures_I2_J,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,F: product_prod_nat_nat > nat,Fs: list_P9162950289778280392at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ ( cons_P4861729644591583992at_nat @ F @ Fs ) ) )
      = ( ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) )
        | ( ( ( F @ X )
            = ( F @ Y ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ Fs ) ) ) ) ) ).

% in_measures(2)
thf(fact_991_last__before__None,axiom,
    ! [P: nat > $o,N: nat,M: nat] :
      ( ( ( vYDRA_last_before @ P @ N )
        = none_nat )
     => ( ( ord_less_nat @ M @ N )
       => ~ ( P @ M ) ) ) ).

% last_before_None
thf(fact_992_in__measures_I1_J,axiom,
    ! [X: nat,Y: nat] :
      ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ nil_nat_nat ) ) ).

% in_measures(1)
thf(fact_993_in__measures_I1_J,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ nil_Pr2865493887535707976at_nat ) ) ).

% in_measures(1)
thf(fact_994_measures__lesseq,axiom,
    ! [F: nat > nat,X: nat,Y: nat,Fs: list_nat_nat] :
      ( ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) )
     => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ Fs ) )
       => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) ) ) ) ).

% measures_lesseq
thf(fact_995_measures__lesseq,axiom,
    ! [F: product_prod_nat_nat > nat,X: product_prod_nat_nat,Y: product_prod_nat_nat,Fs: list_P9162950289778280392at_nat] :
      ( ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) )
     => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ Fs ) )
       => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ ( cons_P4861729644591583992at_nat @ F @ Fs ) ) ) ) ) ).

% measures_lesseq
thf(fact_996_measures__less,axiom,
    ! [F: nat > nat,X: nat,Y: nat,Fs: list_nat_nat] :
      ( ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) )
     => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) ) ) ).

% measures_less
thf(fact_997_measures__less,axiom,
    ! [F: product_prod_nat_nat > nat,X: product_prod_nat_nat,Y: product_prod_nat_nat,Fs: list_P9162950289778280392at_nat] :
      ( ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ ( measur2679027848233739777at_nat @ ( cons_P4861729644591583992at_nat @ F @ Fs ) ) ) ) ).

% measures_less
thf(fact_998_last__before_Oelims,axiom,
    ! [X: nat > $o,Xa: nat,Y: option_nat] :
      ( ( ( vYDRA_last_before @ X @ Xa )
        = Y )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y != none_nat ) )
       => ~ ! [N3: nat] :
              ( ( Xa
                = ( suc @ N3 ) )
             => ~ ( ( ( X @ N3 )
                   => ( Y
                      = ( some_nat @ N3 ) ) )
                  & ( ~ ( X @ N3 )
                   => ( Y
                      = ( vYDRA_last_before @ X @ N3 ) ) ) ) ) ) ) ).

% last_before.elims
thf(fact_999_last__before__Some,axiom,
    ! [P: nat > $o,N: nat,M: nat] :
      ( ( ( vYDRA_last_before @ P @ N )
        = ( some_nat @ M ) )
     => ( ( ord_less_nat @ M @ N )
        & ( P @ M )
        & ! [X7: nat] :
            ( ( member_nat @ X7 @ ( set_or5834768355832116004an_nat @ M @ N ) )
           => ~ ( P @ X7 ) ) ) ) ).

% last_before_Some
thf(fact_1000_last__before_Ocases,axiom,
    ! [X: produc3074792404157404414_o_nat] :
      ( ! [P7: nat > $o] :
          ( X
         != ( produc7277522915581678840_o_nat @ P7 @ zero_zero_nat ) )
     => ~ ! [P7: nat > $o,N3: nat] :
            ( X
           != ( produc7277522915581678840_o_nat @ P7 @ ( suc @ N3 ) ) ) ) ).

% last_before.cases
thf(fact_1001_last__before_Osimps_I1_J,axiom,
    ! [P: nat > $o] :
      ( ( vYDRA_last_before @ P @ zero_zero_nat )
      = none_nat ) ).

% last_before.simps(1)
thf(fact_1002_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_1003_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1004_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_1005_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_1006_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_1007_greaterThanLessThan__iff,axiom,
    ! [I: nat,L: nat,U: nat] :
      ( ( member_nat @ I @ ( set_or5834768355832116004an_nat @ L @ U ) )
      = ( ( ord_less_nat @ L @ I )
        & ( ord_less_nat @ I @ U ) ) ) ).

% greaterThanLessThan_iff
thf(fact_1008_drop0,axiom,
    ( ( drop_c @ zero_zero_nat )
    = ( ^ [X4: list_c] : X4 ) ) ).

% drop0
thf(fact_1009_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1010_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1011_length__0__conv,axiom,
    ! [Xs: list_c] :
      ( ( ( size_size_list_c @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_c ) ) ).

% length_0_conv
thf(fact_1012_nth__Cons__0,axiom,
    ! [X: c,Xs: list_c] :
      ( ( nth_c @ ( cons_c @ X @ Xs ) @ zero_zero_nat )
      = X ) ).

% nth_Cons_0
thf(fact_1013_take__eq__Nil2,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( nil_c
        = ( take_c @ N @ Xs ) )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_c ) ) ) ).

% take_eq_Nil2
thf(fact_1014_take__eq__Nil,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( take_c @ N @ Xs )
        = nil_c )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_c ) ) ) ).

% take_eq_Nil
thf(fact_1015_take0,axiom,
    ( ( take_c @ zero_zero_nat )
    = ( ^ [Xs2: list_c] : nil_c ) ) ).

% take0
thf(fact_1016_length__greater__0__conv,axiom,
    ! [Xs: list_c] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_c @ Xs ) )
      = ( Xs != nil_c ) ) ).

% length_greater_0_conv
thf(fact_1017_hd__take,axiom,
    ! [J: nat,Xs: list_c] :
      ( ( ord_less_nat @ zero_zero_nat @ J )
     => ( ( hd_c @ ( take_c @ J @ Xs ) )
        = ( hd_c @ Xs ) ) ) ).

% hd_take
thf(fact_1018_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_1019_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_1020_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_1021_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_1022_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_1023_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P @ N3 )
           => ( P @ ( suc @ N3 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_1024_diff__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X3: nat,Y3: nat] :
              ( ( P @ X3 @ Y3 )
             => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
         => ( P @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_1025_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_1026_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_1027_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_1028_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_1029_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M5: nat] :
          ( N
          = ( suc @ M5 ) ) ) ).

% not0_implies_Suc
thf(fact_1030_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_1031_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_1032_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_1033_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_1034_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_1035_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_1036_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_1037_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_1038_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_1039_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_1040_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P @ N3 )
             => ? [M3: nat] :
                  ( ( ord_less_nat @ M3 @ N3 )
                  & ~ ( P @ M3 ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_1041_zero__prod__def,axiom,
    ( zero_z8332228408419305374at_nat
    = ( produc6161850002892822231at_nat @ zero_z3979849011205770936at_nat @ zero_z3979849011205770936at_nat ) ) ).

% zero_prod_def
thf(fact_1042_zero__prod__def,axiom,
    ( zero_z3979849011205770936at_nat
    = ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) ).

% zero_prod_def
thf(fact_1043_atLeastSucLessThan__greaterThanLessThan,axiom,
    ! [L: nat,U: nat] :
      ( ( set_or4665077453230672383an_nat @ ( suc @ L ) @ U )
      = ( set_or5834768355832116004an_nat @ L @ U ) ) ).

% atLeastSucLessThan_greaterThanLessThan
thf(fact_1044_zero__option__def,axiom,
    ( zero_zero_option_nat
    = ( some_nat @ zero_zero_nat ) ) ).

% zero_option_def
thf(fact_1045_drop__0,axiom,
    ! [Xs: list_c] :
      ( ( drop_c @ zero_zero_nat @ Xs )
      = Xs ) ).

% drop_0
thf(fact_1046_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J3: nat] :
            ( ( M
              = ( suc @ J3 ) )
            & ( ord_less_nat @ J3 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1047_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M5: nat] :
          ( N
          = ( suc @ M5 ) ) ) ).

% gr0_implies_Suc
thf(fact_1048_All__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P @ ( suc @ I3 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_1049_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M2: nat] :
            ( N
            = ( suc @ M2 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1050_Ex__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ ( suc @ I3 ) ) ) ) ) ).

% Ex_less_Suc2
thf(fact_1051_option_Osize_I4_J,axiom,
    ! [X2: product_prod_b_c] :
      ( ( size_s9142868521107192602od_b_c @ ( some_P804611721829158477od_b_c @ X2 ) )
      = ( suc @ zero_zero_nat ) ) ).

% option.size(4)
thf(fact_1052_option_Osize_I4_J,axiom,
    ! [X2: nat] :
      ( ( size_size_option_nat @ ( some_nat @ X2 ) )
      = ( suc @ zero_zero_nat ) ) ).

% option.size(4)
thf(fact_1053_option_Osize_I4_J,axiom,
    ! [X2: product_prod_nat_nat] :
      ( ( size_s170228958280169651at_nat @ ( some_P7363390416028606310at_nat @ X2 ) )
      = ( suc @ zero_zero_nat ) ) ).

% option.size(4)
thf(fact_1054_option_Osize_I4_J,axiom,
    ! [X2: produc3074792404157404414_o_nat] :
      ( ( size_s6535971456587555810_o_nat @ ( some_P2630223654056210137_o_nat @ X2 ) )
      = ( suc @ zero_zero_nat ) ) ).

% option.size(4)
thf(fact_1055_ex__least__nat__le,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K2 )
               => ~ ( P @ I4 ) )
            & ( P @ K2 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1056_list_Osize_I3_J,axiom,
    ( ( size_size_list_c @ nil_c )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_1057_option_Osize_I3_J,axiom,
    ( ( size_size_option_nat @ none_nat )
    = ( suc @ zero_zero_nat ) ) ).

% option.size(3)
thf(fact_1058_ex__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [M2: nat] :
            ( ( ord_less_nat @ M2 @ N )
            & ( P @ M2 ) ) )
      = ( ? [X4: nat] :
            ( ( member_nat @ X4 @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
            & ( P @ X4 ) ) ) ) ).

% ex_nat_less_eq
thf(fact_1059_all__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [M2: nat] :
            ( ( ord_less_nat @ M2 @ N )
           => ( P @ M2 ) ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
           => ( P @ X4 ) ) ) ) ).

% all_nat_less_eq
thf(fact_1060_take__0,axiom,
    ! [Xs: list_c] :
      ( ( take_c @ zero_zero_nat @ Xs )
      = nil_c ) ).

% take_0
thf(fact_1061_ex__least__nat__less,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_nat @ K2 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K2 )
               => ~ ( P @ I4 ) )
            & ( P @ ( suc @ K2 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1062_length__pos__if__in__set,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_1063_length__pos__if__in__set,axiom,
    ! [X: c,Xs: list_c] :
      ( ( member_c @ X @ ( set_c2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_size_list_c @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_1064_hd__conv__nth,axiom,
    ! [Xs: list_c] :
      ( ( Xs != nil_c )
     => ( ( hd_c @ Xs )
        = ( nth_c @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_1065_reaches_Ocases,axiom,
    ! [Run: product_prod_nat_nat > option7387190471253296173at_nat,A1: product_prod_nat_nat,A22: nat,A33: product_prod_nat_nat] :
      ( ( reache8454888495609270085at_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = zero_zero_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: product_prod_nat_nat,V3: product_prod_nat_nat,N3: nat] :
              ( ( A22
                = ( suc @ N3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S9 @ V3 ) ) )
               => ~ ( reache8454888495609270085at_nat @ Run @ S9 @ N3 @ A33 ) ) ) ) ) ).

% reaches.cases
thf(fact_1066_reaches_Ocases,axiom,
    ! [Run: b > option4716579502443089070od_b_c,A1: b,A22: nat,A33: b] :
      ( ( reaches_b_c @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = zero_zero_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: b,V3: c,N3: nat] :
              ( ( A22
                = ( suc @ N3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S9 @ V3 ) ) )
               => ~ ( reaches_b_c @ Run @ S9 @ N3 @ A33 ) ) ) ) ) ).

% reaches.cases
thf(fact_1067_reaches_Ocases,axiom,
    ! [Run: nat > option4927543243414619207at_nat,A1: nat,A22: nat,A33: nat] :
      ( ( reaches_nat_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = zero_zero_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: nat,V3: nat,N3: nat] :
              ( ( A22
                = ( suc @ N3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S9 @ V3 ) ) )
               => ~ ( reaches_nat_nat @ Run @ S9 @ N3 @ A33 ) ) ) ) ) ).

% reaches.cases
thf(fact_1068_reaches_Ocases,axiom,
    ! [Run: ( nat > $o ) > option7421465107808516430_o_nat,A1: nat > $o,A22: nat,A33: nat > $o] :
      ( ( reaches_nat_o_nat @ Run @ A1 @ A22 @ A33 )
     => ( ( ( A22 = zero_zero_nat )
         => ( A33 != A1 ) )
       => ~ ! [S9: nat > $o,V3: nat,N3: nat] :
              ( ( A22
                = ( suc @ N3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S9 @ V3 ) ) )
               => ~ ( reaches_nat_o_nat @ Run @ S9 @ N3 @ A33 ) ) ) ) ) ).

% reaches.cases
thf(fact_1069_reaches_Osimps,axiom,
    ( reache8454888495609270085at_nat
    = ( ^ [Run2: product_prod_nat_nat > option7387190471253296173at_nat,A12: product_prod_nat_nat,A23: nat,A32: product_prod_nat_nat] :
          ( ? [S6: product_prod_nat_nat] :
              ( ( A12 = S6 )
              & ( A23 = zero_zero_nat )
              & ( A32 = S6 ) )
          | ? [S6: product_prod_nat_nat,S7: product_prod_nat_nat,V4: product_prod_nat_nat,N4: nat,S8: product_prod_nat_nat] :
              ( ( A12 = S6 )
              & ( A23
                = ( suc @ N4 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P8600064857277225804at_nat @ ( produc6161850002892822231at_nat @ S7 @ V4 ) ) )
              & ( reache8454888495609270085at_nat @ Run2 @ S7 @ N4 @ S8 ) ) ) ) ) ).

% reaches.simps
thf(fact_1070_reaches_Osimps,axiom,
    ( reaches_b_c
    = ( ^ [Run2: b > option4716579502443089070od_b_c,A12: b,A23: nat,A32: b] :
          ( ? [S6: b] :
              ( ( A12 = S6 )
              & ( A23 = zero_zero_nat )
              & ( A32 = S6 ) )
          | ? [S6: b,S7: b,V4: c,N4: nat,S8: b] :
              ( ( A12 = S6 )
              & ( A23
                = ( suc @ N4 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S7 @ V4 ) ) )
              & ( reaches_b_c @ Run2 @ S7 @ N4 @ S8 ) ) ) ) ) ).

% reaches.simps
thf(fact_1071_reaches_Osimps,axiom,
    ( reaches_nat_nat
    = ( ^ [Run2: nat > option4927543243414619207at_nat,A12: nat,A23: nat,A32: nat] :
          ( ? [S6: nat] :
              ( ( A12 = S6 )
              & ( A23 = zero_zero_nat )
              & ( A32 = S6 ) )
          | ? [S6: nat,S7: nat,V4: nat,N4: nat,S8: nat] :
              ( ( A12 = S6 )
              & ( A23
                = ( suc @ N4 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S7 @ V4 ) ) )
              & ( reaches_nat_nat @ Run2 @ S7 @ N4 @ S8 ) ) ) ) ) ).

% reaches.simps
thf(fact_1072_reaches_Osimps,axiom,
    ( reaches_nat_o_nat
    = ( ^ [Run2: ( nat > $o ) > option7421465107808516430_o_nat,A12: nat > $o,A23: nat,A32: nat > $o] :
          ( ? [S6: nat > $o] :
              ( ( A12 = S6 )
              & ( A23 = zero_zero_nat )
              & ( A32 = S6 ) )
          | ? [S6: nat > $o,S7: nat > $o,V4: nat,N4: nat,S8: nat > $o] :
              ( ( A12 = S6 )
              & ( A23
                = ( suc @ N4 ) )
              & ( A32 = S8 )
              & ( ( Run2 @ S6 )
                = ( some_P2630223654056210137_o_nat @ ( produc7277522915581678840_o_nat @ S7 @ V4 ) ) )
              & ( reaches_nat_o_nat @ Run2 @ S7 @ N4 @ S8 ) ) ) ) ) ).

% reaches.simps
thf(fact_1073_nth__equal__first__eq,axiom,
    ! [X: nat,Xs: list_nat,N: nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Xs ) )
       => ( ( ( nth_nat @ ( cons_nat @ X @ Xs ) @ N )
            = X )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_1074_nth__equal__first__eq,axiom,
    ! [X: c,Xs: list_c,N: nat] :
      ( ~ ( member_c @ X @ ( set_c2 @ Xs ) )
     => ( ( ord_less_eq_nat @ N @ ( size_size_list_c @ Xs ) )
       => ( ( ( nth_c @ ( cons_c @ X @ Xs ) @ N )
            = X )
          = ( N = zero_zero_nat ) ) ) ) ).

% nth_equal_first_eq
thf(fact_1075_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_1076_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_1077_zero__le,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X ) ).

% zero_le
thf(fact_1078_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_1079_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_1080_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_1081_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_1082_length__n__lists__elem,axiom,
    ! [Ys2: list_c,N: nat,Xs: list_c] :
      ( ( member_list_c @ Ys2 @ ( set_list_c2 @ ( n_lists_c @ N @ Xs ) ) )
     => ( ( size_size_list_c @ Ys2 )
        = N ) ) ).

% length_n_lists_elem
thf(fact_1083_last__before_Opelims,axiom,
    ! [X: nat > $o,Xa: nat,Y: option_nat] :
      ( ( ( vYDRA_last_before @ X @ Xa )
        = Y )
     => ( ( accp_P7902722568424861365_o_nat @ vYDRA_5175910486691664417re_rel @ ( produc7277522915581678840_o_nat @ X @ Xa ) )
       => ( ( ( Xa = zero_zero_nat )
           => ( ( Y = none_nat )
             => ~ ( accp_P7902722568424861365_o_nat @ vYDRA_5175910486691664417re_rel @ ( produc7277522915581678840_o_nat @ X @ zero_zero_nat ) ) ) )
         => ~ ! [N3: nat] :
                ( ( Xa
                  = ( suc @ N3 ) )
               => ( ( ( ( X @ N3 )
                     => ( Y
                        = ( some_nat @ N3 ) ) )
                    & ( ~ ( X @ N3 )
                     => ( Y
                        = ( vYDRA_last_before @ X @ N3 ) ) ) )
                 => ~ ( accp_P7902722568424861365_o_nat @ vYDRA_5175910486691664417re_rel @ ( produc7277522915581678840_o_nat @ X @ ( suc @ N3 ) ) ) ) ) ) ) ) ).

% last_before.pelims
thf(fact_1084_nth__image,axiom,
    ! [L: nat,Xs: list_nat] :
      ( ( ord_less_eq_nat @ L @ ( size_size_list_nat @ Xs ) )
     => ( ( image_nat_nat @ ( nth_nat @ Xs ) @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ L ) )
        = ( set_nat2 @ ( take_nat @ L @ Xs ) ) ) ) ).

% nth_image
thf(fact_1085_nth__image,axiom,
    ! [L: nat,Xs: list_c] :
      ( ( ord_less_eq_nat @ L @ ( size_size_list_c @ Xs ) )
     => ( ( image_nat_c @ ( nth_c @ Xs ) @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ L ) )
        = ( set_c2 @ ( take_c @ L @ Xs ) ) ) ) ).

% nth_image
thf(fact_1086_image__Suc__atLeastLessThan,axiom,
    ! [I: nat,J: nat] :
      ( ( image_nat_nat @ suc @ ( set_or4665077453230672383an_nat @ I @ J ) )
      = ( set_or4665077453230672383an_nat @ ( suc @ I ) @ ( suc @ J ) ) ) ).

% image_Suc_atLeastLessThan
thf(fact_1087_list_Oset__map,axiom,
    ! [F: nat > nat,V: list_nat] :
      ( ( set_nat2 @ ( map_nat_nat @ F @ V ) )
      = ( image_nat_nat @ F @ ( set_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_1088_image__set,axiom,
    ! [F: nat > nat,Xs: list_nat] :
      ( ( image_nat_nat @ F @ ( set_nat2 @ Xs ) )
      = ( set_nat2 @ ( map_nat_nat @ F @ Xs ) ) ) ).

% image_set
thf(fact_1089_zero__notin__Suc__image,axiom,
    ! [A4: set_nat] :
      ~ ( member_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ A4 ) ) ).

% zero_notin_Suc_image
thf(fact_1090_exists__least__lemma,axiom,
    ! [P: nat > $o] :
      ( ~ ( P @ zero_zero_nat )
     => ( ? [X_12: nat] : ( P @ X_12 )
       => ? [N3: nat] :
            ( ~ ( P @ N3 )
            & ( P @ ( suc @ N3 ) ) ) ) ) ).

% exists_least_lemma
thf(fact_1091_None__notin__image__Some,axiom,
    ! [A4: set_Product_prod_b_c] :
      ~ ( member7689803564361728343od_b_c @ none_P8350622247268937417od_b_c @ ( image_5367747327570481611od_b_c @ some_P804611721829158477od_b_c @ A4 ) ) ).

% None_notin_image_Some
thf(fact_1092_None__notin__image__Some,axiom,
    ! [A4: set_nat] :
      ~ ( member_option_nat @ none_nat @ ( image_nat_option_nat @ some_nat @ A4 ) ) ).

% None_notin_image_Some
thf(fact_1093_None__notin__image__Some,axiom,
    ! [A4: set_Pr1261947904930325089at_nat] :
      ~ ( member3954567711264315760at_nat @ none_P5556105721700978146at_nat @ ( image_4198897800814241419at_nat @ some_P7363390416028606310at_nat @ A4 ) ) ).

% None_notin_image_Some
thf(fact_1094_None__notin__image__Some,axiom,
    ! [A4: set_Pr4354077987950702516_o_nat] :
      ~ ( member2573159102762125669_o_nat @ none_P4770284390835442525_o_nat @ ( image_1508029995769352915_o_nat @ some_P2630223654056210137_o_nat @ A4 ) ) ).

% None_notin_image_Some
thf(fact_1095_list__decode_Ocases,axiom,
    ! [X: nat] :
      ( ( X != zero_zero_nat )
     => ~ ! [N3: nat] :
            ( X
           != ( suc @ N3 ) ) ) ).

% list_decode.cases
thf(fact_1096_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_1097_prod__decode__aux_Ocases,axiom,
    ! [X: product_prod_nat_nat] :
      ~ ! [K2: nat,M5: nat] :
          ( X
         != ( product_Pair_nat_nat @ K2 @ M5 ) ) ).

% prod_decode_aux.cases
thf(fact_1098_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_1099_option_Osize__gen_I1_J,axiom,
    ! [X: nat > nat] :
      ( ( size_option_nat @ X @ none_nat )
      = ( suc @ zero_zero_nat ) ) ).

% option.size_gen(1)
thf(fact_1100_these__image__Some__eq,axiom,
    ! [A4: set_Product_prod_b_c] :
      ( ( these_2312933384211351717od_b_c @ ( image_5367747327570481611od_b_c @ some_P804611721829158477od_b_c @ A4 ) )
      = A4 ) ).

% these_image_Some_eq
thf(fact_1101_these__image__Some__eq,axiom,
    ! [A4: set_nat] :
      ( ( these_nat @ ( image_nat_option_nat @ some_nat @ A4 ) )
      = A4 ) ).

% these_image_Some_eq
thf(fact_1102_these__image__Some__eq,axiom,
    ! [A4: set_Pr1261947904930325089at_nat] :
      ( ( these_8061402112538453438at_nat @ ( image_4198897800814241419at_nat @ some_P7363390416028606310at_nat @ A4 ) )
      = A4 ) ).

% these_image_Some_eq
thf(fact_1103_these__image__Some__eq,axiom,
    ! [A4: set_Pr4354077987950702516_o_nat] :
      ( ( these_1536481741333579393_o_nat @ ( image_1508029995769352915_o_nat @ some_P2630223654056210137_o_nat @ A4 ) )
      = A4 ) ).

% these_image_Some_eq
thf(fact_1104_nth__enumerate__eq,axiom,
    ! [M: nat,Xs: list_nat,N: nat] :
      ( ( ord_less_nat @ M @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( enumerate_nat @ N @ Xs ) @ M )
        = ( product_Pair_nat_nat @ ( plus_plus_nat @ N @ M ) @ ( nth_nat @ Xs @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_1105_nth__enumerate__eq,axiom,
    ! [M: nat,Xs: list_c,N: nat] :
      ( ( ord_less_nat @ M @ ( size_size_list_c @ Xs ) )
     => ( ( nth_Pr2476257089995772766_nat_c @ ( enumerate_c @ N @ Xs ) @ M )
        = ( product_Pair_nat_c @ ( plus_plus_nat @ N @ M ) @ ( nth_c @ Xs @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_1106_add__le__cancel__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_1107_add__le__cancel__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_1108_add__less__cancel__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_1109_add__less__cancel__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_1110_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_1111_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_1112_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_1113_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_1114_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_1115_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( drop_c @ N @ ( drop_c @ M @ Xs ) )
      = ( drop_c @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_1116_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_1117_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_1118_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_1119_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_1120_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_1121_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_1122_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_1123_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_1124_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_1125_length__append,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ( size_size_list_c @ ( append_c @ Xs @ Ys2 ) )
      = ( plus_plus_nat @ ( size_size_list_c @ Xs ) @ ( size_size_list_c @ Ys2 ) ) ) ).

% length_append
thf(fact_1126_nth__append__length__plus,axiom,
    ! [Xs: list_c,Ys2: list_c,N: nat] :
      ( ( nth_c @ ( append_c @ Xs @ Ys2 ) @ ( plus_plus_nat @ ( size_size_list_c @ Xs ) @ N ) )
      = ( nth_c @ Ys2 @ N ) ) ).

% nth_append_length_plus
thf(fact_1127_nth__drop,axiom,
    ! [N: nat,Xs: list_c,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( nth_c @ ( drop_c @ N @ Xs ) @ I )
        = ( nth_c @ Xs @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_1128_in__these__eq,axiom,
    ! [X: product_prod_b_c,A4: set_op4768578956735245710od_b_c] :
      ( ( member7862447941013992593od_b_c @ X @ ( these_2312933384211351717od_b_c @ A4 ) )
      = ( member7689803564361728343od_b_c @ ( some_P804611721829158477od_b_c @ X ) @ A4 ) ) ).

% in_these_eq
thf(fact_1129_in__these__eq,axiom,
    ! [X: nat,A4: set_option_nat] :
      ( ( member_nat @ X @ ( these_nat @ A4 ) )
      = ( member_option_nat @ ( some_nat @ X ) @ A4 ) ) ).

% in_these_eq
thf(fact_1130_in__these__eq,axiom,
    ! [X: product_prod_nat_nat,A4: set_op4508134149509766951at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( these_8061402112538453438at_nat @ A4 ) )
      = ( member3954567711264315760at_nat @ ( some_P7363390416028606310at_nat @ X ) @ A4 ) ) ).

% in_these_eq
thf(fact_1131_in__these__eq,axiom,
    ! [X: produc3074792404157404414_o_nat,A4: set_op5342683524702764932_o_nat] :
      ( ( member2897238310647649173_o_nat @ X @ ( these_1536481741333579393_o_nat @ A4 ) )
      = ( member2573159102762125669_o_nat @ ( some_P2630223654056210137_o_nat @ X ) @ A4 ) ) ).

% in_these_eq
thf(fact_1132_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K2: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K2 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_1133_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N4: nat] :
        ? [K4: nat] :
          ( N4
          = ( suc @ ( plus_plus_nat @ M2 @ K4 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_1134_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_1135_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_1136_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q6: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q6 ) ) ) ) ).

% less_natE
thf(fact_1137_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K: nat] :
      ( ! [M5: nat,N3: nat] :
          ( ( ord_less_nat @ M5 @ N3 )
         => ( ord_less_nat @ ( F @ M5 ) @ ( F @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K ) @ ( F @ ( plus_plus_nat @ M @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_1138_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_1139_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_1140_nat__arith_Osuc1,axiom,
    ! [A4: nat,K: nat,A: nat] :
      ( ( A4
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A4 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_1141_add__lessD1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K )
     => ( ord_less_nat @ I @ K ) ) ).

% add_lessD1
thf(fact_1142_add__less__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_less_mono
thf(fact_1143_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_1144_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_1145_add__less__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_less_mono1
thf(fact_1146_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_1147_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_1148_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_1149_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_1150_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_1151_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_1152_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_1153_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_1154_le__Suc__ex,axiom,
    ! [K: nat,L: nat] :
      ( ( ord_less_eq_nat @ K @ L )
     => ? [N3: nat] :
          ( L
          = ( plus_plus_nat @ K @ N3 ) ) ) ).

% le_Suc_ex
thf(fact_1155_add__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_le_mono
thf(fact_1156_add__le__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_le_mono1
thf(fact_1157_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_1158_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_1159_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N4: nat] :
        ? [K4: nat] :
          ( N4
          = ( plus_plus_nat @ M2 @ K4 ) ) ) ) ).

% nat_le_iff_add
thf(fact_1160_add__mono__strict,axiom,
    ! [C2: nat,D3: nat,A: nat] :
      ( ( ord_less_nat @ C2 @ D3 )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ A @ D3 ) ) ) ).

% add_mono_strict
thf(fact_1161_add__mono__comm,axiom,
    ! [C2: nat,D3: nat,A: nat] :
      ( ( ord_less_eq_nat @ C2 @ D3 )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ D3 @ A ) ) ) ).

% add_mono_comm
thf(fact_1162_timestamp__class_Oadd__mono,axiom,
    ! [C2: nat,D3: nat,A: nat] :
      ( ( ord_less_eq_nat @ C2 @ D3 )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ A @ D3 ) ) ) ).

% timestamp_class.add_mono
thf(fact_1163_take__drop,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( take_c @ N @ ( drop_c @ M @ Xs ) )
      = ( drop_c @ M @ ( take_c @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ) ).

% take_drop
thf(fact_1164_add__le__imp__le__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_1165_add__le__imp__le__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_1166_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B4: nat] :
        ? [C3: nat] :
          ( B4
          = ( plus_plus_nat @ A5 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_1167_add__right__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add_right_mono
thf(fact_1168_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C: nat] :
            ( B
           != ( plus_plus_nat @ A @ C ) ) ) ).

% less_eqE
thf(fact_1169_add__left__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) ) ) ).

% add_left_mono
thf(fact_1170_ordered__ab__semigroup__add__class_Oadd__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ D3 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D3 ) ) ) ) ).

% ordered_ab_semigroup_add_class.add_mono
thf(fact_1171_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_1172_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_1173_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_1174_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_1175_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_1176_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_1177_add__strict__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C2 @ D3 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D3 ) ) ) ) ).

% add_strict_mono
thf(fact_1178_add__strict__left__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) ) ) ).

% add_strict_left_mono
thf(fact_1179_add__strict__right__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_1180_add__less__imp__less__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_1181_add__less__imp__less__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_1182_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_1183_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_1184_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C2 @ D3 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D3 ) ) ) ) ).

% add_le_less_mono
thf(fact_1185_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ D3 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D3 ) ) ) ) ).

% add_less_le_mono
thf(fact_1186_plus__prod_Osimps,axiom,
    ! [A: product_prod_nat_nat,B: product_prod_nat_nat,C2: product_prod_nat_nat,D3: product_prod_nat_nat] :
      ( ( plus_p4591053195553783070at_nat @ ( produc6161850002892822231at_nat @ A @ B ) @ ( produc6161850002892822231at_nat @ C2 @ D3 ) )
      = ( produc6161850002892822231at_nat @ ( plus_p9057090461656269880at_nat @ A @ C2 ) @ ( plus_p9057090461656269880at_nat @ B @ D3 ) ) ) ).

% plus_prod.simps
thf(fact_1187_plus__prod_Osimps,axiom,
    ! [A: nat,B: nat,C2: nat,D3: nat] :
      ( ( plus_p9057090461656269880at_nat @ ( product_Pair_nat_nat @ A @ B ) @ ( product_Pair_nat_nat @ C2 @ D3 ) )
      = ( product_Pair_nat_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D3 ) ) ) ).

% plus_prod.simps
thf(fact_1188_plus__prod_Oelims,axiom,
    ! [X: produc859450856879609959at_nat,Xa: produc859450856879609959at_nat,Y: produc859450856879609959at_nat] :
      ( ( ( plus_p4591053195553783070at_nat @ X @ Xa )
        = Y )
     => ~ ! [A3: product_prod_nat_nat,B3: product_prod_nat_nat] :
            ( ( X
              = ( produc6161850002892822231at_nat @ A3 @ B3 ) )
           => ! [C: product_prod_nat_nat,D: product_prod_nat_nat] :
                ( ( Xa
                  = ( produc6161850002892822231at_nat @ C @ D ) )
               => ( Y
                 != ( produc6161850002892822231at_nat @ ( plus_p9057090461656269880at_nat @ A3 @ C ) @ ( plus_p9057090461656269880at_nat @ B3 @ D ) ) ) ) ) ) ).

% plus_prod.elims
thf(fact_1189_plus__prod_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( ( plus_p9057090461656269880at_nat @ X @ Xa )
        = Y )
     => ~ ! [A3: nat,B3: nat] :
            ( ( X
              = ( product_Pair_nat_nat @ A3 @ B3 ) )
           => ! [C: nat,D: nat] :
                ( ( Xa
                  = ( product_Pair_nat_nat @ C @ D ) )
               => ( Y
                 != ( product_Pair_nat_nat @ ( plus_plus_nat @ A3 @ C ) @ ( plus_plus_nat @ B3 @ D ) ) ) ) ) ) ).

% plus_prod.elims
thf(fact_1190_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_1191_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_1192_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_1193_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_1194_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_1195_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K2 )
          & ( ( plus_plus_nat @ I @ K2 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_1196_add__neg__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_neg
thf(fact_1197_add__pos__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_1198_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C ) )
           => ( C = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_1199_pos__add__strict,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% pos_add_strict
thf(fact_1200_add__nonpos__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1201_add__nonneg__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1202_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_1203_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1204_add__increasing2,axiom,
    ! [C2: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_increasing2
thf(fact_1205_add__decreasing2,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1206_add__increasing,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_increasing
thf(fact_1207_add__decreasing,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ B ) ) ) ).

% add_decreasing
thf(fact_1208_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_strict_increasing2
thf(fact_1209_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_strict_increasing
thf(fact_1210_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_1211_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_1212_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_1213_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_1214_take__add,axiom,
    ! [I: nat,J: nat,Xs: list_c] :
      ( ( take_c @ ( plus_plus_nat @ I @ J ) @ Xs )
      = ( append_c @ ( take_c @ I @ Xs ) @ ( take_c @ J @ ( drop_c @ I @ Xs ) ) ) ) ).

% take_add
thf(fact_1215_enumerate__append__eq,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( enumerate_c @ N @ ( append_c @ Xs @ Ys2 ) )
      = ( append1694031015033483850_nat_c @ ( enumerate_c @ N @ Xs ) @ ( enumerate_c @ ( plus_plus_nat @ N @ ( size_size_list_c @ Xs ) ) @ Ys2 ) ) ) ).

% enumerate_append_eq
thf(fact_1216_list_Osize_I4_J,axiom,
    ! [X21: c,X222: list_c] :
      ( ( size_size_list_c @ ( cons_c @ X21 @ X222 ) )
      = ( plus_plus_nat @ ( size_size_list_c @ X222 ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size(4)
thf(fact_1217_option_Osize__gen_I2_J,axiom,
    ! [X: product_prod_b_c > nat,X2: product_prod_b_c] :
      ( ( size_o3611909499323622411od_b_c @ X @ ( some_P804611721829158477od_b_c @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_1218_option_Osize__gen_I2_J,axiom,
    ! [X: nat > nat,X2: nat] :
      ( ( size_option_nat @ X @ ( some_nat @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_1219_option_Osize__gen_I2_J,axiom,
    ! [X: product_prod_nat_nat > nat,X2: product_prod_nat_nat] :
      ( ( size_o8335143837870341156at_nat @ X @ ( some_P7363390416028606310at_nat @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_1220_option_Osize__gen_I2_J,axiom,
    ! [X: produc3074792404157404414_o_nat > nat,X2: produc3074792404157404414_o_nat] :
      ( ( size_o1772288556313164699_o_nat @ X @ ( some_P2630223654056210137_o_nat @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_1221_iarray_Osize_I2_J,axiom,
    ! [X: list_c] :
      ( ( size_size_iarray_c @ ( iArray_c @ X ) )
      = ( plus_plus_nat @ ( size_size_list_c @ X ) @ ( suc @ zero_zero_nat ) ) ) ).

% iarray.size(2)
thf(fact_1222_in__set__enumerate__eq,axiom,
    ! [P2: product_prod_nat_c,N: nat,Xs: list_c] :
      ( ( member8962352060716553276_nat_c @ P2 @ ( set_Pr4163146846833169104_nat_c @ ( enumerate_c @ N @ Xs ) ) )
      = ( ( ord_less_eq_nat @ N @ ( product_fst_nat_c @ P2 ) )
        & ( ord_less_nat @ ( product_fst_nat_c @ P2 ) @ ( plus_plus_nat @ ( size_size_list_c @ Xs ) @ N ) )
        & ( ( nth_c @ Xs @ ( minus_minus_nat @ ( product_fst_nat_c @ P2 ) @ N ) )
          = ( product_snd_nat_c @ P2 ) ) ) ) ).

% in_set_enumerate_eq
thf(fact_1223_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_1224_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_1225_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_1226_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_1227_diff__diff__cancel,axiom,
    ! [I: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I ) )
        = I ) ) ).

% diff_diff_cancel
thf(fact_1228_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_1229_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_1230_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_1231_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_1232_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_1233_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_1234_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1235_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1236_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1237_length__drop,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( size_size_list_c @ ( drop_c @ N @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% length_drop
thf(fact_1238_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_1239_diff__Suc__diff__eq1,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1240_diff__Suc__diff__eq2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1241_take__append,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( take_c @ N @ ( append_c @ Xs @ Ys2 ) )
      = ( append_c @ ( take_c @ N @ Xs ) @ ( take_c @ ( minus_minus_nat @ N @ ( size_size_list_c @ Xs ) ) @ Ys2 ) ) ) ).

% take_append
thf(fact_1242_drop__append,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( drop_c @ N @ ( append_c @ Xs @ Ys2 ) )
      = ( append_c @ ( drop_c @ N @ Xs ) @ ( drop_c @ ( minus_minus_nat @ N @ ( size_size_list_c @ Xs ) ) @ Ys2 ) ) ) ).

% drop_append
thf(fact_1243_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( ord_less_nat @ A @ B )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1244_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1245_add__le__imp__le__diff,axiom,
    ! [I: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_1246_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_1247_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_1248_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_1249_drop__take,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( drop_c @ N @ ( take_c @ M @ Xs ) )
      = ( take_c @ ( minus_minus_nat @ M @ N ) @ ( drop_c @ N @ Xs ) ) ) ).

% drop_take
thf(fact_1250_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_1251_diff__less__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C2 ) @ ( minus_minus_nat @ B @ C2 ) ) ) ) ).

% diff_less_mono
thf(fact_1252_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_1253_le__diff__iff_H,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C2 )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C2 @ A ) @ ( minus_minus_nat @ C2 @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_1254_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_1255_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

% Conjectures (1)
thf(conj_0,conjecture,
    ? [S11: b,X7: c] :
      ( ( r @ s2 )
      = ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ S11 @ X7 ) ) ) ).

%------------------------------------------------------------------------------