TPTP Problem File: SLH0382^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    : FOL_Seq_Calc3/0005_Semantics/prob_00028_000919__11810874_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1752 ( 791 unt; 474 typ;   0 def)
%            Number of atoms       : 2960 (1500 equ;   0 cnn)
%            Maximal formula atoms :   11 (   2 avg)
%            Number of connectives : 10133 ( 310   ~;  58   |; 181   &;8709   @)
%                                         (   0 <=>; 875  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   5 avg)
%            Number of types       :  103 ( 102 usr)
%            Number of type conns  : 1663 (1663   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  375 ( 372 usr;  16 con; 0-4 aty)
%            Number of variables   : 3565 ( 366   ^;3121   !;  78   ?;3565   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 15:24:37.416
%------------------------------------------------------------------------------
% Could-be-implicit typings (102)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J_J,type,
    set_Pr773475574229504931atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    produc1457236968955129965atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_J,type,
    list_P4783959215482059487e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J_J,type,
    list_P974152006781802463atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J_J,type,
    list_P1420947800877471317atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    list_P1567996376173949831atural: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    set_Pr4244404650639074861atural: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J_J,type,
    set_Pr2692125258033744815nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    produc8392782284284844111e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J,type,
    produc5011998349143749967atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J,type,
    produc5500294937402805957atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc989692990947075319atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc8664907604286745209nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_J,type,
    list_P7961783867883794915e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J_J,type,
    list_P817067695782403811nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J_J,type,
    list_P2131626375503607889rm_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_P651320350408439699nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr9222295170931077689nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J,type,
    list_P8832617175074898686atural: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J_J,type,
    set_Pr1520443575814354485atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    produc1821397396195235155e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J,type,
    produc3880516305972413011nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J,type,
    produc2992157709814887105rm_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2285326912895808259nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    produc6551764350851303807atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J,type,
    produc5848109975063599992atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J,type,
    list_P5743298170716669438rm_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_J,type,
    list_P8137118793744695885e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J_J,type,
    list_P2117510487818045645atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J_J,type,
    list_P4905307960813071043atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    list_P462037762353547417atural: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    set_Pr3206334165513263167atural: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J_J,type,
    set_Pr8667594812344408889nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J,type,
    produc5577056076408194680rm_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    produc8466713555089121597e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J,type,
    produc5859640136818354109atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J,type,
    produc7150673411205932211atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc8731074985263844745atural: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_P5726480267095810431e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc6969430300573543555nt_int: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_P1743416141875011707e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_J,type,
    list_P6839185126476018265e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J_J,type,
    list_P6287284427751538905nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J_J,type,
    list_P3455336019691766727rm_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_P8915022641806594461nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr1872883991513573699nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J,type,
    list_P2986398820294911084atural: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    produc3832618445565238089e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J,type,
    produc8516777020043209161nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J,type,
    produc3605083068255830967rm_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc7773217078559923341nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J,type,
    produc2781822332026931558atural: $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__List__Olist_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J,type,
    list_P403540776331788404rm_int: $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__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J,type,
    produc6025053409261769070rm_int: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_C3923257620442878573e_term: $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__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_i8448526496819171953e_term: $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__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J,type,
    produc4972180933644002618e_term: $tType ).

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

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J_J,type,
    set_Pr765067013931698361st_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J,type,
    produc8551481072490612790e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    list_P8331001420799514423atural: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J,type,
    option6357759511663192854e_term: $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__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__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J,type,
    produc1186641810826059865st_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc7822875418678951345atural: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_J,type,
    list_P6132981910308618731_tm_tm: $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__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    list_P3521021558325789923at_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_P5707943133018811711nt_int: $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__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_Pr958786334691620121nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J_J,type,
    list_P921448845443084159d_a_tm: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J_J,type,
    list_P2080500776722279617d_tm_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J,type,
    product_prod_tm_tm: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    list_P1396940483166286381od_a_a: $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__Product____Type__Oprod_It__Nat__Onat_Mt__Int__Oint_J,type,
    product_prod_nat_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    product_prod_int_int: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Int__Oint_Mt__Nat__Onat_J_J,type,
    list_int_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J,type,
    product_prod_a_tm: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J,type,
    product_prod_tm_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Int__Oint_J_J,type,
    set_list_int: $tType ).

thf(ty_n_t__List__Olist_It__Code____Numeral__Onatural_J,type,
    list_Code_natural: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    product_prod_a_a: $tType ).

thf(ty_n_t__List__Olist_It__Syntax__Otm_J,type,
    list_tm: $tType ).

thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
    list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Int__Oint_J,type,
    list_int: $tType ).

thf(ty_n_t__Code____Numeral__Onatural,type,
    code_natural: $tType ).

thf(ty_n_t__Product____Type__Ounit,type,
    product_unit: $tType ).

thf(ty_n_t__List__Olist_Itf__a_J,type,
    list_a: $tType ).

thf(ty_n_t__List__Olist_I_Eo_J,type,
    list_o: $tType ).

thf(ty_n_t__String__Ochar,type,
    char: $tType ).

thf(ty_n_t__Syntax__Otm,type,
    tm: $tType ).

thf(ty_n_t__Syntax__Ofm,type,
    fm: $tType ).

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

thf(ty_n_t__Int__Oint,type,
    int: $tType ).

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

% Explicit typings (372)
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Int__Oint,type,
    bNF_Gr1870224194279859149ft_int: set_list_int > int > set_list_int ).

thf(sy_c_Code__Numeral_OSuc,type,
    code_Suc: code_natural > code_natural ).

thf(sy_c_Euclidean__Division_Odivmod__nat,type,
    euclidean_divmod_nat: nat > nat > product_prod_nat_nat ).

thf(sy_c_Fun__Def_Opair__leq,type,
    fun_pair_leq: set_Pr8693737435421807431at_nat ).

thf(sy_c_Fun__Def_Opair__less,type,
    fun_pair_less: set_Pr8693737435421807431at_nat ).

thf(sy_c_GCD_Obezw,type,
    bezw: nat > nat > product_prod_int_int ).

thf(sy_c_Groups_Oabs__class_Oabs_001t__Int__Oint,type,
    abs_abs_int: int > int ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Code____Numeral__Onatural,type,
    minus_7197305767214868737atural: code_natural > code_natural > code_natural ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Int__Oint,type,
    minus_minus_int: int > int > int ).

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

thf(sy_c_Groups_Oone__class_Oone_001t__Code____Numeral__Onatural,type,
    one_one_Code_natural: code_natural ).

thf(sy_c_Groups_Oone__class_Oone_001t__Int__Oint,type,
    one_one_int: int ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Code____Numeral__Onatural,type,
    plus_p4538020629002901425atural: code_natural > code_natural > code_natural ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Int__Oint,type,
    plus_plus_int: int > int > int ).

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

thf(sy_c_Groups_Ozero__class_Ozero_001t__Code____Numeral__Onatural,type,
    zero_z2226904508553997617atural: code_natural ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint,type,
    zero_zero_int: int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_HOL_Odefault__class_Odefault_001t__Product____Type__Ounit,type,
    defaul566961228789861419t_unit: product_unit ).

thf(sy_c_If_001t__Code____Numeral__Onatural,type,
    if_Code_natural: $o > code_natural > code_natural > code_natural ).

thf(sy_c_If_001t__Int__Oint,type,
    if_int: $o > int > int > int ).

thf(sy_c_If_001t__List__Olist_It__Int__Oint_J,type,
    if_list_int: $o > list_int > list_int > list_int ).

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

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

thf(sy_c_Int_OAbs__Integ,type,
    abs_Integ: product_prod_nat_nat > int ).

thf(sy_c_Int_ORep__Integ,type,
    rep_Integ: int > product_prod_nat_nat ).

thf(sy_c_Int_Oint__ge__less__than,type,
    int_ge_less_than: int > set_Pr958786334691620121nt_int ).

thf(sy_c_Int_Oint__ge__less__than2,type,
    int_ge_less_than2: int > set_Pr958786334691620121nt_int ).

thf(sy_c_Int_Onat,type,
    nat2: int > nat ).

thf(sy_c_List_Oappend_001t__Int__Oint,type,
    append_int: list_int > list_int > list_int ).

thf(sy_c_List_Obutlast_001t__Int__Oint,type,
    butlast_int: list_int > list_int ).

thf(sy_c_List_Obutlast_001t__Syntax__Otm,type,
    butlast_tm: list_tm > list_tm ).

thf(sy_c_List_Obutlast_001tf__a,type,
    butlast_a: list_a > list_a ).

thf(sy_c_List_Ocount__list_001t__Int__Oint,type,
    count_list_int: list_int > int > nat ).

thf(sy_c_List_Oenumerate_001t__Int__Oint,type,
    enumerate_int: nat > list_int > list_P3521021558325789923at_int ).

thf(sy_c_List_Ogen__length_001t__Int__Oint,type,
    gen_length_int: nat > list_int > nat ).

thf(sy_c_List_Olenlex_001t__Int__Oint,type,
    lenlex_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

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_Olex_001t__Int__Oint,type,
    lex_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

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_Olexn_001t__Int__Oint,type,
    lexn_int: set_Pr958786334691620121nt_int > nat > set_Pr765067013931698361st_int ).

thf(sy_c_List_Olexord_001t__Int__Oint,type,
    lexord_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

thf(sy_c_List_Olexord_001t__Nat__Onat,type,
    lexord_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olexord_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lexord2841853652668343668at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olexordp_001t__Int__Oint,type,
    lexordp_int: ( int > int > $o ) > list_int > list_int > $o ).

thf(sy_c_List_Olexordp_001t__Nat__Onat,type,
    lexordp_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).

thf(sy_c_List_Olist_OCons_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_C49247693769703591e_term: ( code_natural > option6357759511663192854e_term ) > list_C3923257620442878573e_term > list_C3923257620442878573e_term ).

thf(sy_c_List_Olist_OCons_001_062_It__Int__Oint_Mt__Nat__Onat_J,type,
    cons_int_nat: ( int > nat ) > list_int_nat > list_int_nat ).

thf(sy_c_List_Olist_OCons_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_i7166360444231718571e_term: ( int > option6357759511663192854e_term ) > list_i8448526496819171953e_term > list_i8448526496819171953e_term ).

thf(sy_c_List_Olist_OCons_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_P2170374719109096249e_term: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > list_P5726480267095810431e_term > list_P5726480267095810431e_term ).

thf(sy_c_List_Olist_OCons_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_P2630085844062958645e_term: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > list_P1743416141875011707e_term > list_P1743416141875011707e_term ).

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_001_Eo,type,
    cons_o: $o > list_o > list_o ).

thf(sy_c_List_Olist_OCons_001t__Int__Oint,type,
    cons_int: int > list_int > list_int ).

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__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    cons_P7201695898000251219atural: produc8731074985263844745atural > list_P462037762353547417atural > list_P462037762353547417atural ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_P2743708091642732631nt_int: produc7773217078559923341nt_int > list_P8915022641806594461nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    cons_P1182027996229600705atural: produc989692990947075319atural > list_P1567996376173949831atural > list_P1567996376173949831atural ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_P6018425551955479501nt_int: produc2285326912895808259nt_int > list_P651320350408439699nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    cons_P7944219419860481639atural: produc7822875418678951345atural > list_P8331001420799514423atural > list_P8331001420799514423atural ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    cons_P3334398858971670639nt_int: product_prod_int_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Int__Oint_J,type,
    cons_P2335045147070616083at_int: product_prod_nat_int > list_P3521021558325789923at_int > list_P3521021558325789923at_int ).

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__Syntax__Otm,type,
    cons_tm: tm > list_tm > list_tm ).

thf(sy_c_List_Olist_OCons_001tf__a,type,
    cons_a: a > list_a > list_a ).

thf(sy_c_List_Olist_ONil_001t__Int__Oint,type,
    nil_int: list_int ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001t__Int__Oint,type,
    map_int_int: ( int > int ) > list_int > list_int ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    map_in7157766398909135175nt_int: ( int > product_prod_int_int ) > list_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001t__Syntax__Otm,type,
    map_int_tm: ( int > tm ) > list_int > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001tf__a,type,
    map_int_a: ( int > a ) > list_int > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr773955134250645250atural: ( produc7150673411205932211atural > produc8731074985263844745atural ) > list_P4905307960813071043atural > list_P462037762353547417atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr5208547534834374018atural: ( produc5500294937402805957atural > produc989692990947075319atural ) > list_P1420947800877471317atural > list_P1567996376173949831atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_Eo,type,
    map_Pr7660561949294196579_int_o: ( product_prod_int_int > $o ) > list_P5707943133018811711nt_int > list_o ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    map_Pr5543275981124152452nt_int: ( product_prod_int_int > product_prod_int_int ) > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr8730504324269258506nt_int: ( produc3605083068255830967rm_int > produc7773217078559923341nt_int ) > list_P3455336019691766727rm_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr9151314201186384778nt_int: ( produc2992157709814887105rm_int > produc2285326912895808259nt_int ) > list_P2131626375503607889rm_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr5923211415028173580atural: ( produc5859640136818354109atural > produc8731074985263844745atural ) > list_P2117510487818045645atural > list_P462037762353547417atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr1488936844085459484nt_int: ( produc8516777020043209161nt_int > produc7773217078559923341nt_int ) > list_P6287284427751538905nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr5379678695501496844atural: ( produc5011998349143749967atural > produc989692990947075319atural ) > list_P974152006781802463atural > list_P1567996376173949831atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr2636829087904227612nt_int: ( produc3880516305972413011nt_int > produc2285326912895808259nt_int ) > list_P817067695782403811nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr2807628666123666572atural: ( produc8466713555089121597e_term > produc8731074985263844745atural ) > list_P8137118793744695885e_term > list_P462037762353547417atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_M_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    map_Pr834810457146402060atural: ( produc8392782284284844111e_term > produc989692990947075319atural ) > list_P4783959215482059487e_term > list_P1567996376173949831atural ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr70581070097558428nt_int: ( produc3832618445565238089e_term > produc7773217078559923341nt_int ) > list_P6839185126476018265e_term > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    map_Pr5121344442813183004nt_int: ( produc1821397396195235155e_term > produc2285326912895808259nt_int ) > list_P7961783867883794915e_term > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J,type,
    map_Pr6987371168092548_tm_tm: ( product_prod_tm_tm > product_prod_tm_tm ) > list_P6132981910308618731_tm_tm > list_P6132981910308618731_tm_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001t__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J,type,
    map_Pr4859770332270223314d_tm_a: ( product_prod_tm_tm > product_prod_tm_a ) > list_P6132981910308618731_tm_tm > list_P2080500776722279617d_tm_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001t__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J,type,
    map_Pr4508165450964885904d_a_tm: ( product_prod_tm_tm > product_prod_a_tm ) > list_P6132981910308618731_tm_tm > list_P921448845443084159d_a_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    map_Pr6340487226144650438od_a_a: ( product_prod_tm_tm > product_prod_a_a ) > list_P6132981910308618731_tm_tm > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001t__Syntax__Otm,type,
    map_Pr6966721424858450403_tm_tm: ( product_prod_tm_tm > tm ) > list_P6132981910308618731_tm_tm > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J_001tf__a,type,
    map_Pr8261074434149081501m_tm_a: ( product_prod_tm_tm > a ) > list_P6132981910308618731_tm_tm > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J_001t__Syntax__Otm,type,
    map_Pr7161974059552623417m_a_tm: ( product_prod_tm_a > tm ) > list_P2080500776722279617d_tm_a > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J_001tf__a,type,
    map_Pr2233433488678829767tm_a_a: ( product_prod_tm_a > a ) > list_P2080500776722279617d_tm_a > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J_001t__Syntax__Otm,type,
    map_Pr574039940866233847_tm_tm: ( product_prod_a_tm > tm ) > list_P921448845443084159d_a_tm > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J_001tf__a,type,
    map_Pr1239122408836671625a_tm_a: ( product_prod_a_tm > a ) > list_P921448845443084159d_a_tm > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001t__Syntax__Otm,type,
    map_Pr140022034240213541a_a_tm: ( product_prod_a_a > tm ) > list_P1396940483166286381od_a_a > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001tf__a,type,
    map_Pr3897371633210041563_a_a_a: ( product_prod_a_a > a ) > list_P1396940483166286381od_a_a > list_a ).

thf(sy_c_List_Olist_Omap_001t__Syntax__Otm_001t__Syntax__Otm,type,
    map_tm_tm: ( tm > tm ) > list_tm > list_tm ).

thf(sy_c_List_Olist_Omap_001t__Syntax__Otm_001tf__a,type,
    map_tm_a: ( tm > a ) > list_tm > list_a ).

thf(sy_c_List_Olist_Osize__list_001t__Int__Oint,type,
    size_list_int: ( int > nat ) > list_int > nat ).

thf(sy_c_List_Olist_Osize__list_001t__Syntax__Otm,type,
    size_list_tm: ( tm > nat ) > list_tm > nat ).

thf(sy_c_List_Olist__update_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u7670118167359848431e_term: list_C3923257620442878573e_term > nat > ( code_natural > option6357759511663192854e_term ) > list_C3923257620442878573e_term ).

thf(sy_c_List_Olist__update_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u8946639151299769843e_term: list_i8448526496819171953e_term > nat > ( int > option6357759511663192854e_term ) > list_i8448526496819171953e_term ).

thf(sy_c_List_Olist__update_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u8679066855913899649e_term: list_P5726480267095810431e_term > nat > ( produc4972180933644002618e_term > option6357759511663192854e_term ) > list_P5726480267095810431e_term ).

thf(sy_c_List_Olist__update_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u3533491785856317309e_term: list_P1743416141875011707e_term > nat > ( produc8551481072490612790e_term > option6357759511663192854e_term ) > list_P1743416141875011707e_term ).

thf(sy_c_List_Olist__update_001t__Int__Oint,type,
    list_update_int: list_int > nat > int > list_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    list_u1101137155773205659atural: list_P462037762353547417atural > nat > produc8731074985263844745atural > list_P462037762353547417atural ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_u4780935413889332127nt_int: list_P8915022641806594461nt_int > nat > produc7773217078559923341nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    list_u8539713776239025417atural: list_P1567996376173949831atural > nat > produc989692990947075319atural > list_P1567996376173949831atural ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_u7736365598306452245nt_int: list_P651320350408439699nt_int > nat > produc2285326912895808259nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    list_u1154100593084251423atural: list_P8331001420799514423atural > nat > produc7822875418678951345atural > list_P8331001420799514423atural ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    list_u3002344382305578791nt_int: list_P5707943133018811711nt_int > nat > product_prod_int_int > list_P5707943133018811711nt_int ).

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__Syntax__Otm,type,
    list_update_tm: list_tm > nat > tm > list_tm ).

thf(sy_c_List_Olist__update_001tf__a,type,
    list_update_a: list_a > nat > a > list_a ).

thf(sy_c_List_Olistrel1_001t__Int__Oint,type,
    listrel1_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

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_Olistrel1p_001t__Int__Oint,type,
    listrel1p_int: ( int > int > $o ) > list_int > list_int > $o ).

thf(sy_c_List_Olistrel1p_001t__Nat__Onat,type,
    listrel1p_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).

thf(sy_c_List_Olistrel_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    listre5100861229312803809atural: set_Pr3206334165513263167atural > set_Pr1520443575814354485atural ).

thf(sy_c_List_Olistrel_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    listre7622244038138809061nt_int: set_Pr1872883991513573699nt_int > set_Pr8667594812344408889nt_int ).

thf(sy_c_List_Olistrel_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    listre1960822772465153743atural: set_Pr4244404650639074861atural > set_Pr773475574229504931atural ).

thf(sy_c_List_Olistrel_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    listre7929554186369383643nt_int: set_Pr9222295170931077689nt_int > set_Pr2692125258033744815nt_int ).

thf(sy_c_List_Olistrel_001t__Int__Oint_001t__Int__Oint,type,
    listrel_int_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

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_Olistrelp_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    listre8252659574522182419atural: ( ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > list_C3923257620442878573e_term > list_P8331001420799514423atural > $o ).

thf(sy_c_List_Olistrelp_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    listre6533371123311712791nt_int: ( ( int > option6357759511663192854e_term ) > product_prod_int_int > $o ) > list_i8448526496819171953e_term > list_P5707943133018811711nt_int > $o ).

thf(sy_c_List_Olistrelp_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    listre5223735995490694913atural: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > list_P5726480267095810431e_term > list_P8331001420799514423atural > $o ).

thf(sy_c_List_Olistrelp_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    listre593962236462781709nt_int: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o ) > list_P1743416141875011707e_term > list_P5707943133018811711nt_int > $o ).

thf(sy_c_List_Olistrelp_001t__Int__Oint_001t__Int__Oint,type,
    listrelp_int_int: ( int > int > $o ) > list_int > list_int > $o ).

thf(sy_c_List_Olistrelp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    listre5588581128925307775at_nat: ( product_prod_nat_nat > product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o ).

thf(sy_c_List_Omap__tailrec_001t__Syntax__Otm_001t__Syntax__Otm,type,
    map_tailrec_tm_tm: ( tm > tm ) > list_tm > list_tm ).

thf(sy_c_List_Omap__tailrec_001t__Syntax__Otm_001tf__a,type,
    map_tailrec_tm_a: ( tm > a ) > list_tm > list_a ).

thf(sy_c_List_Omeasures_001t__Int__Oint,type,
    measures_int: list_int_nat > set_Pr958786334691620121nt_int ).

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_Onth_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_Co1167427695697731478e_term: list_C3923257620442878573e_term > nat > code_natural > option6357759511663192854e_term ).

thf(sy_c_List_Onth_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_in8840386337573990810e_term: list_i8448526496819171953e_term > nat > int > option6357759511663192854e_term ).

thf(sy_c_List_Onth_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_Pr1450790470029205928e_term: list_P5726480267095810431e_term > nat > produc4972180933644002618e_term > option6357759511663192854e_term ).

thf(sy_c_List_Onth_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_Pr6123904574653836964e_term: list_P1743416141875011707e_term > nat > produc8551481072490612790e_term > option6357759511663192854e_term ).

thf(sy_c_List_Onth_001_Eo,type,
    nth_o: list_o > nat > $o ).

thf(sy_c_List_Onth_001t__Int__Oint,type,
    nth_int: list_int > nat > int ).

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__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    nth_Pr1279834698403413442atural: list_P462037762353547417atural > nat > produc8731074985263844745atural ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_Pr7284623736940738758nt_int: list_P8915022641806594461nt_int > nat > produc7773217078559923341nt_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    nth_Pr8170445950515104176atural: list_P1567996376173949831atural > nat > produc989692990947075319atural ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_Pr5768845505533887420nt_int: list_P651320350408439699nt_int > nat > produc2285326912895808259nt_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    nth_Pr1203987720935123128atural: list_P8331001420799514423atural > nat > produc7822875418678951345atural ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    nth_Pr4439495888332055232nt_int: list_P5707943133018811711nt_int > nat > product_prod_int_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Int__Oint_J,type,
    nth_Pr3440142176431000676at_int: list_P3521021558325789923at_int > nat > product_prod_nat_int ).

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__Syntax__Otm,type,
    nth_tm: list_tm > nat > tm ).

thf(sy_c_List_Onth_001tf__a,type,
    nth_a: list_a > nat > a ).

thf(sy_c_List_Osplice_001t__Int__Oint,type,
    splice_int: list_int > list_int > list_int ).

thf(sy_c_List_Otake_001t__Int__Oint,type,
    take_int: nat > list_int > list_int ).

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__Syntax__Otm,type,
    take_tm: nat > list_tm > list_tm ).

thf(sy_c_List_Otake_001tf__a,type,
    take_a: nat > list_a > list_a ).

thf(sy_c_List_Oupto,type,
    upto: int > int > list_int ).

thf(sy_c_List_Oupto__aux,type,
    upto_aux: int > int > list_int > list_int ).

thf(sy_c_List_Ozip_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural,type,
    zip_Co148851722543544766atural: list_C3923257620442878573e_term > list_Code_natural > list_P2986398820294911084atural ).

thf(sy_c_List_Ozip_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    zip_Co4844296662218172059atural: list_C3923257620442878573e_term > list_P8331001420799514423atural > list_P462037762353547417atural ).

thf(sy_c_List_Ozip_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint,type,
    zip_in1054202108563164102rm_int: list_i8448526496819171953e_term > list_int > list_P403540776331788404rm_int ).

thf(sy_c_List_Ozip_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    zip_in8766932505889695135nt_int: list_i8448526496819171953e_term > list_P5707943133018811711nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Ozip_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural,type,
    zip_Pr7521778153925083984atural: list_P5726480267095810431e_term > list_Code_natural > list_P8832617175074898686atural ).

thf(sy_c_List_Ozip_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    zip_Pr3521053968933873289atural: list_P5726480267095810431e_term > list_P8331001420799514423atural > list_P1567996376173949831atural ).

thf(sy_c_List_Ozip_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint,type,
    zip_Pr7008984055488428112rm_int: list_P1743416141875011707e_term > list_int > list_P5743298170716669438rm_int ).

thf(sy_c_List_Ozip_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    zip_Pr4168994715204986005nt_int: list_P1743416141875011707e_term > list_P5707943133018811711nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Ozip_001t__Code____Numeral__Onatural_001t__Code____Numeral__Onatural,type,
    zip_Co6031810628546548233atural: list_Code_natural > list_Code_natural > list_P8331001420799514423atural ).

thf(sy_c_List_Ozip_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J,type,
    zip_Co2263765536155547717atural: list_Code_natural > list_P2986398820294911084atural > list_P4905307960813071043atural ).

thf(sy_c_List_Ozip_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J,type,
    zip_Co4321876045980164567atural: list_Code_natural > list_P8832617175074898686atural > list_P1420947800877471317atural ).

thf(sy_c_List_Ozip_001t__Int__Oint_001t__Int__Oint,type,
    zip_int_int: list_int > list_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Ozip_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J,type,
    zip_in3046706307806627657rm_int: list_int > list_P403540776331788404rm_int > list_P3455336019691766727rm_int ).

thf(sy_c_List_Ozip_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J,type,
    zip_in1519018847819706835rm_int: list_int > list_P5743298170716669438rm_int > list_P2131626375503607889rm_int ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Code____Numeral__Onatural,type,
    zip_Pr7682750461249451287atural: list_P2986398820294911084atural > list_Code_natural > list_P2117510487818045645atural ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Int__Oint,type,
    zip_Pr2852282319877772579nt_int: list_P403540776331788404rm_int > list_int > list_P6287284427751538905nt_int ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Code____Numeral__Onatural,type,
    zip_Pr4029875937752541993atural: list_P8832617175074898686atural > list_Code_natural > list_P974152006781802463atural ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Int__Oint,type,
    zip_Pr8329346017641158189nt_int: list_P5743298170716669438rm_int > list_int > list_P817067695782403811nt_int ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    zip_Pr2942099889569794327e_term: list_P8331001420799514423atural > list_C3923257620442878573e_term > list_P8137118793744695885e_term ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    zip_Pr3149936896725656489e_term: list_P8331001420799514423atural > list_P5726480267095810431e_term > list_P4783959215482059487e_term ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    zip_Pr2754851686356984099e_term: list_P5707943133018811711nt_int > list_i8448526496819171953e_term > list_P6839185126476018265e_term ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    zip_Pr3687954236708649645e_term: list_P5707943133018811711nt_int > list_P1743416141875011707e_term > list_P7961783867883794915e_term ).

thf(sy_c_List_Ozip_001t__Syntax__Otm_001t__Syntax__Otm,type,
    zip_tm_tm: list_tm > list_tm > list_P6132981910308618731_tm_tm ).

thf(sy_c_List_Ozip_001t__Syntax__Otm_001tf__a,type,
    zip_tm_a: list_tm > list_a > list_P2080500776722279617d_tm_a ).

thf(sy_c_List_Ozip_001tf__a_001t__Syntax__Otm,type,
    zip_a_tm: list_a > list_tm > list_P921448845443084159d_a_tm ).

thf(sy_c_List_Ozip_001tf__a_001tf__a,type,
    zip_a_a: list_a > list_a > list_P1396940483166286381od_a_a ).

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

thf(sy_c_Nat_Onat_Ocase__nat_001_Eo,type,
    case_nat_o: $o > ( nat > $o ) > nat > $o ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__Int__Oint,type,
    case_nat_int: int > ( nat > int ) > nat > int ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__List__Olist_It__Int__Oint_J,type,
    case_nat_list_int: list_int > ( nat > list_int ) > nat > list_int ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__Nat__Onat,type,
    case_nat_nat: nat > ( nat > nat ) > nat > nat ).

thf(sy_c_Nat_Onat_Opred,type,
    pred: nat > nat ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Code____Numeral__Onatural,type,
    semiri3763490453095760265atural: nat > code_natural ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Int__Oint,type,
    semiri1314217659103216013at_int: nat > int ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat,type,
    semiri1316708129612266289at_nat: nat > nat ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux_001t__Code____Numeral__Onatural,type,
    semiri2879080225315754349atural: ( code_natural > code_natural ) > nat > code_natural > code_natural ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux_001t__Int__Oint,type,
    semiri8420488043553186161ux_int: ( int > int ) > nat > int > int ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux_001t__Nat__Onat,type,
    semiri8422978514062236437ux_nat: ( nat > nat ) > nat > nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s2724268559862573313e_term: list_C3923257620442878573e_term > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s8881356780637927685e_term: list_i8448526496819171953e_term > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s8761328274211398163e_term: list_P5726480267095810431e_term > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s3817825649112772879e_term: list_P1743416141875011707e_term > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Int__Oint_J,type,
    size_size_list_int: list_int > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    size_s56545037565794211atural: list_P8331001420799514423atural > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    size_s5157815400016825771nt_int: list_P5707943133018811711nt_int > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    size_s2970893825323803983at_int: list_P3521021558325789923at_int > 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__Syntax__Otm_J,type,
    size_size_list_tm: list_tm > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__a_J,type,
    size_size_list_a: list_a > nat ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__Syntax__Ofm,type,
    size_size_fm: fm > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Syntax__Otm,type,
    size_size_tm: tm > nat ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__dec_001t__Int__Oint,type,
    neg_nu3811975205180677377ec_int: int > int ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__inc_001t__Int__Oint,type,
    neg_nu5851722552734809277nc_int: int > int ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Code____Numeral__Onatural,type,
    ord_le5570908160329646204atural: code_natural > code_natural > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Int__Oint,type,
    ord_less_int: int > int > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Code____Numeral__Onatural,type,
    ord_le1926595141338095240atural: code_natural > code_natural > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Int__Oint,type,
    ord_less_eq_int: int > int > $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_Omin_001t__Code____Numeral__Onatural,type,
    ord_min_Code_natural: code_natural > code_natural > code_natural ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Int__Oint,type,
    ord_min_int: int > int > int ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Nat__Onat,type,
    ord_min_nat: nat > nat > nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc2252593628808123835atural: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_OPair_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc4305682042979456191nt_int: ( int > option6357759511663192854e_term ) > product_prod_int_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc3831813291587773865atural: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > produc989692990947075319atural ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc5700946648718959541nt_int: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_OPair_001t__Code____Numeral__Onatural_001t__Code____Numeral__Onatural,type,
    produc3574140220909816553atural: code_natural > code_natural > produc7822875418678951345atural ).

thf(sy_c_Product__Type_OPair_001t__Int__Oint_001t__Int__Oint,type,
    product_Pair_int_int: int > int > product_prod_int_int ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc1637829849235508657atural: list_C3923257620442878573e_term > list_P8331001420799514423atural > produc6551764350851303807atural ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2259991554960072885nt_int: list_i8448526496819171953e_term > list_P5707943133018811711nt_int > produc6969430300573543555nt_int ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc5035611891920301343atural: list_P5726480267095810431e_term > list_P8331001420799514423atural > produc1457236968955129965atural ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc8723725229082728235nt_int: list_P1743416141875011707e_term > list_P5707943133018811711nt_int > produc8664907604286745209nt_int ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    produc364263696895485585st_int: list_int > list_int > produc1186641810826059865st_int ).

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_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__Nat__Onat_001t__Int__Oint,type,
    product_Pair_nat_int: nat > int > product_prod_nat_int ).

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__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__Syntax__Otm_001t__Syntax__Otm,type,
    product_Pair_tm_tm: tm > tm > product_prod_tm_tm ).

thf(sy_c_Product__Type_OPair_001t__Syntax__Otm_001tf__a,type,
    product_Pair_tm_a: tm > a > product_prod_tm_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Syntax__Otm,type,
    product_Pair_a_tm: a > tm > product_prod_a_tm ).

thf(sy_c_Product__Type_OPair_001tf__a_001tf__a,type,
    product_Pair_a_a: a > a > product_prod_a_a ).

thf(sy_c_Product__Type_OPair__Rep_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc1111516161050096652atural: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ).

thf(sy_c_Product__Type_OPair__Rep_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc6538392170985127696nt_int: ( int > option6357759511663192854e_term ) > product_prod_int_int > ( int > option6357759511663192854e_term ) > product_prod_int_int > $o ).

thf(sy_c_Product__Type_OPair__Rep_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc7642549512059487354atural: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ).

thf(sy_c_Product__Type_OPair__Rep_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc5850196971312811654nt_int: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o ).

thf(sy_c_Product__Type_OPair__Rep_001t__Int__Oint_001t__Int__Oint,type,
    produc3144130051679357408nt_int: int > int > int > int > $o ).

thf(sy_c_Product__Type_OUnity,type,
    product_Unity: product_unit ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Int__Oint_001t__Int__Oint_001_Eo,type,
    produc8005341501107743676_int_o: ( int > int > $o ) > product_prod_int_int > $o ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Nat__Onat_001t__Nat__Onat_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_Eo_J,type,
    produc4780622933104268256_nat_o: ( nat > nat > product_prod_nat_nat > $o ) > product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Nat__Onat_001t__Nat__Onat_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,type,
    produc1854806715440696265at_nat: ( nat > nat > product_prod_nat_nat > product_prod_nat_nat ) > product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Nat__Onat_001t__Nat__Onat_001_Eo,type,
    produc9139807813499881076_nat_o: ( nat > nat > $o ) > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Ointernal__case__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    produc6557683772455589876at_nat: ( nat > nat > nat ) > product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_OAbs__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc2948817583555000493atural: ( ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_OAbs__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc8900033952209571761nt_int: ( ( int > option6357759511663192854e_term ) > product_prod_int_int > $o ) > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_OAbs__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    produc4164536285344690587atural: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_OAbs__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc7180752248824104871nt_int: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o ) > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_OAbs__prod_001t__Int__Oint_001t__Int__Oint,type,
    produc7525381037542668927nt_int: ( int > int > $o ) > product_prod_int_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural_001_062_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    produc7759286722592540291atural: ( ( code_natural > option6357759511663192854e_term ) > code_natural > code_natural > produc8731074985263844745atural ) > produc2781822332026931558atural > code_natural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc938223334282462652atural: ( ( code_natural > option6357759511663192854e_term ) > code_natural > produc8731074985263844745atural ) > produc2781822332026931558atural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_Eo,type,
    produc5395785189050895792ural_o: ( ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > produc8731074985263844745atural > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc2858791075983070577atural: ( ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > produc8731074985263844745atural ) > produc8731074985263844745atural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_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,
    produc4060131469376366943at_nat: ( ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat ) > produc8731074985263844745atural > set_Pr8693737435421807431at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint_001_062_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc1688802057988075411nt_int: ( ( int > option6357759511663192854e_term ) > int > int > produc7773217078559923341nt_int ) > produc6025053409261769070rm_int > int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc1017238998450650824nt_int: ( ( int > option6357759511663192854e_term ) > int > produc7773217078559923341nt_int ) > produc6025053409261769070rm_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_Eo,type,
    produc2558449545302689196_int_o: ( ( int > option6357759511663192854e_term ) > product_prod_int_int > $o ) > produc7773217078559923341nt_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc5122537100556696953nt_int: ( ( int > option6357759511663192854e_term ) > product_prod_int_int > produc7773217078559923341nt_int ) > produc7773217078559923341nt_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_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,
    produc2114697605475793755at_nat: ( ( int > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat ) > produc7773217078559923341nt_int > set_Pr8693737435421807431at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural_001_062_It__Code____Numeral__Onatural_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    produc7496289516936076547atural: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > code_natural > code_natural > produc989692990947075319atural ) > produc5848109975063599992atural > code_natural > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc650483176397606972atural: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > code_natural > produc989692990947075319atural ) > produc5848109975063599992atural > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_Eo,type,
    produc2278936416606902338ural_o: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o ) > produc989692990947075319atural > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc1300469243244976333atural: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > produc989692990947075319atural ) > produc989692990947075319atural > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_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,
    produc5211177361811169009at_nat: ( ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat ) > produc989692990947075319atural > set_Pr8693737435421807431at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint_001_062_It__Int__Oint_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc5776623027272482323nt_int: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > int > int > produc2285326912895808259nt_int ) > produc5577056076408194680rm_int > int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2771024828437622600nt_int: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > int > produc2285326912895808259nt_int ) > produc5577056076408194680rm_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_Eo,type,
    produc1573362020775583542_int_o: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o ) > produc2285326912895808259nt_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc8492565224438309093nt_int: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > produc2285326912895808259nt_int ) > produc2285326912895808259nt_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_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,
    produc517896604054025189at_nat: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat ) > produc2285326912895808259nt_int > set_Pr8693737435421807431at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc1561149236256983067atural: ( code_natural > produc2781822332026931558atural > produc8731074985263844745atural ) > produc7150673411205932211atural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc2461152820012758555atural: ( code_natural > produc5848109975063599992atural > produc989692990947075319atural ) > produc5500294937402805957atural > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Int__Oint_001t__Int__Oint_001_Eo,type,
    produc4947309494688390418_int_o: ( int > int > $o ) > product_prod_int_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Int__Oint_001t__Int__Oint_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc4245557441103728435nt_int: ( int > int > product_prod_int_int ) > product_prod_int_int > product_prod_int_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Int__Oint_001t__Int__Oint_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,
    produc143607355405949889at_nat: ( int > int > set_Pr8693737435421807431at_nat ) > product_prod_int_int > set_Pr8693737435421807431at_nat ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc7790648554307352611nt_int: ( int > produc6025053409261769070rm_int > produc7773217078559923341nt_int ) > produc3605083068255830967rm_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2730073284378773539nt_int: ( int > produc5577056076408194680rm_int > produc2285326912895808259nt_int ) > produc2992157709814887105rm_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_001_Eo,type,
    produc105153972511871034ural_o: ( list_C3923257620442878573e_term > list_P8331001420799514423atural > $o ) > produc6551764350851303807atural > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_001_Eo,type,
    produc7927942422717903926_int_o: ( list_i8448526496819171953e_term > list_P5707943133018811711nt_int > $o ) > produc6969430300573543555nt_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_001_Eo,type,
    produc4590926352470649676ural_o: ( list_P5726480267095810431e_term > list_P8331001420799514423atural > $o ) > produc1457236968955129965atural > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_001_Eo,type,
    produc319343347873941056_int_o: ( list_P1743416141875011707e_term > list_P5707943133018811711nt_int > $o ) > produc8664907604286745209nt_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J_001_Eo,type,
    produc1306008110994012530_int_o: ( list_int > list_int > $o ) > produc1186641810826059865st_int > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001_Eo,type,
    produc2929669097083596076_nat_o: ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o ) > produc6392793444374437607at_nat > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_Eo_J,type,
    produc8739625826339149834_nat_o: ( nat > nat > product_prod_nat_nat > $o ) > product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_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,type,
    produc27273713700761075at_nat: ( nat > nat > product_prod_nat_nat > product_prod_nat_nat ) > product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

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

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

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

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc3071528930461395437atural: ( produc2781822332026931558atural > code_natural > produc8731074985263844745atural ) > produc5859640136818354109atural > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc6062533421992007421nt_int: ( produc6025053409261769070rm_int > int > produc7773217078559923341nt_int ) > produc8516777020043209161nt_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Code____Numeral__Onatural_J_001t__Code____Numeral__Onatural_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc5983314677236137325atural: ( produc5848109975063599992atural > code_natural > produc989692990947075319atural ) > produc5011998349143749967atural > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Int__Oint_J_001t__Int__Oint_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc3012078809480436349nt_int: ( produc5577056076408194680rm_int > int > produc2285326912895808259nt_int ) > produc3880516305972413011nt_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc8099513336739577325atural: ( produc7822875418678951345atural > ( code_natural > option6357759511663192854e_term ) > produc8731074985263844745atural ) > produc8466713555089121597e_term > produc8731074985263844745atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_001_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    produc868849831700739565atural: ( produc7822875418678951345atural > ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc989692990947075319atural ) > produc8392782284284844111e_term > produc989692990947075319atural ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc3478612561300218621nt_int: ( product_prod_int_int > ( int > option6357759511663192854e_term ) > produc7773217078559923341nt_int ) > produc3832618445565238089e_term > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc199769199162113789nt_int: ( product_prod_int_int > ( produc8551481072490612790e_term > option6357759511663192854e_term ) > produc2285326912895808259nt_int ) > produc1821397396195235155e_term > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001t__Product____Type__Oprod_It__Syntax__Otm_Mt__Syntax__Otm_J,type,
    produc8259672343312565299_tm_tm: ( tm > tm > product_prod_tm_tm ) > product_prod_tm_tm > product_prod_tm_tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001t__Product____Type__Oprod_It__Syntax__Otm_Mtf__a_J,type,
    produc7284588777140482915d_tm_a: ( tm > tm > product_prod_tm_a ) > product_prod_tm_tm > product_prod_tm_a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001t__Product____Type__Oprod_Itf__a_Mt__Syntax__Otm_J,type,
    produc6932983895835145505d_a_tm: ( tm > tm > product_prod_a_tm ) > product_prod_tm_tm > product_prod_a_tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    produc3370238470301780725od_a_a: ( tm > tm > product_prod_a_a ) > product_prod_tm_tm > product_prod_a_a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001t__Syntax__Otm,type,
    produc4572340505793320564_tm_tm: ( tm > tm > tm ) > product_prod_tm_tm > tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001t__Syntax__Otm_001tf__a,type,
    produc6889019639757340364m_tm_a: ( tm > tm > a ) > product_prod_tm_tm > a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001tf__a_001t__Syntax__Otm,type,
    produc1844741009921715026m_a_tm: ( tm > a > tm ) > product_prod_tm_a > tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Syntax__Otm_001tf__a_001tf__a,type,
    produc6236484442818205294tm_a_a: ( tm > a > a ) > product_prod_tm_a > a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001t__Syntax__Otm_001t__Syntax__Otm,type,
    produc3005608178555903192_tm_tm: ( a > tm > tm ) > product_prod_a_tm > tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001t__Syntax__Otm_001tf__a,type,
    produc5652396508319635304a_tm_a: ( a > tm > a ) > product_prod_a_tm > a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001t__Syntax__Otm,type,
    produc608117878484009966a_a_tm: ( a > a > tm ) > product_prod_a_a > tm ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001tf__a,type,
    produc8815886927560695506_a_a_a: ( a > a > a ) > product_prod_a_a > a ).

thf(sy_c_Random_Oinc__shift,type,
    inc_shift: code_natural > code_natural > code_natural ).

thf(sy_c_Random_Olog,type,
    log: code_natural > code_natural > code_natural ).

thf(sy_c_Random_Olog__rel,type,
    log_rel: produc7822875418678951345atural > produc7822875418678951345atural > $o ).

thf(sy_c_Random_Ominus__shift,type,
    minus_shift: code_natural > code_natural > code_natural > code_natural ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Code____Numeral__Onatural,type,
    divide5121882707175180666atural: code_natural > code_natural > code_natural ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Int__Oint,type,
    divide_divide_int: int > int > int ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Nat__Onat,type,
    divide_divide_nat: nat > nat > nat ).

thf(sy_c_Semantics_Osemantics__fm_001t__Syntax__Otm,type,
    semantics_fm_tm: ( nat > tm ) > ( nat > list_tm > tm ) > ( nat > list_tm > $o ) > fm > $o ).

thf(sy_c_Semantics_Osemantics__fm_001tf__a,type,
    semantics_fm_a: ( nat > a ) > ( nat > list_a > a ) > ( nat > list_a > $o ) > fm > $o ).

thf(sy_c_Semantics_Osemantics__tm_001t__Syntax__Otm,type,
    semantics_tm_tm: ( nat > tm ) > ( nat > list_tm > tm ) > tm > tm ).

thf(sy_c_Semantics_Osemantics__tm_001tf__a,type,
    semantics_tm_a: ( nat > a ) > ( nat > list_a > a ) > tm > a ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Int__Oint_J,type,
    collect_list_int: ( list_int > $o ) > set_list_int ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    collec213857154873943460nt_int: ( product_prod_int_int > $o ) > set_Pr958786334691620121nt_int ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    collec8643915876573367508atural: ( produc6551764350851303807atural > $o ) > set_Pr1520443575814354485atural ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    collec842021716442721240nt_int: ( produc6969430300573543555nt_int > $o ) > set_Pr8667594812344408889nt_int ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    collec1597668633682138690atural: ( produc1457236968955129965atural > $o ) > set_Pr773475574229504931atural ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    collec2829211390982114382nt_int: ( produc8664907604286745209nt_int > $o ) > set_Pr2692125258033744815nt_int ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J,type,
    collec928425520773505860st_int: ( produc1186641810826059865st_int > $o ) > set_Pr765067013931698361st_int ).

thf(sy_c_Set_OCollect_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,
    collec2094671920101799250at_nat: ( produc6392793444374437607at_nat > $o ) > set_Pr1542805901266377927at_nat ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    collec3392354462482085612at_nat: ( product_prod_nat_nat > $o ) > set_Pr1261947904930325089at_nat ).

thf(sy_c_Set_OCollect_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,
    collec7088162979684241874at_nat: ( produc859450856879609959at_nat > $o ) > set_Pr8693737435421807431at_nat ).

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

thf(sy_c_Syntax_Oadd__env_001t__Syntax__Otm,type,
    add_env_tm: tm > ( nat > tm ) > nat > tm ).

thf(sy_c_Syntax_Oadd__env_001tf__a,type,
    add_env_a: a > ( nat > a ) > nat > a ).

thf(sy_c_Syntax_Ofm_OFalsity,type,
    falsity: fm ).

thf(sy_c_Syntax_Ofm_OImp,type,
    imp: fm > fm > fm ).

thf(sy_c_Syntax_Ofm_OPre,type,
    pre: nat > list_tm > fm ).

thf(sy_c_Syntax_Ofm_OUni,type,
    uni: fm > fm ).

thf(sy_c_Syntax_Ofm_Osize__fm,type,
    size_fm: fm > nat ).

thf(sy_c_Syntax_Olift__tm,type,
    lift_tm: tm > tm ).

thf(sy_c_Syntax_Osub__fm,type,
    sub_fm: ( nat > tm ) > fm > fm ).

thf(sy_c_Syntax_Osub__tm,type,
    sub_tm: ( nat > tm ) > tm > tm ).

thf(sy_c_Syntax_Otm_OFun,type,
    fun: nat > list_tm > tm ).

thf(sy_c_Syntax_Otm_OVar,type,
    var: nat > tm ).

thf(sy_c_Syntax_Otm_Osize__tm,type,
    size_tm: tm > nat ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J,type,
    accp_P8126237942716283194atural: ( produc7822875418678951345atural > produc7822875418678951345atural > $o ) > produc7822875418678951345atural > $o ).

thf(sy_c_member_001t__List__Olist_It__Int__Oint_J,type,
    member_list_int: list_int > set_list_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    member3036280176337868704atural: produc8731074985263844745atural > set_Pr3206334165513263167atural > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member7034335876925520548nt_int: produc7773217078559923341nt_int > set_Pr1872883991513573699nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J,type,
    member3245610415464309390atural: produc989692990947075319atural > set_Pr4244404650639074861atural > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member7618704894036264090nt_int: produc2285326912895808259nt_int > set_Pr9222295170931077689nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    member5262025264175285858nt_int: product_prod_int_int > set_Pr958786334691620121nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Code____Numeral__Onatural_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    member8036172579503645846atural: produc6551764350851303807atural > set_Pr1520443575814354485atural > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    member6768764179952475034nt_int: produc6969430300573543555nt_int > set_Pr8667594812344408889nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Code____Numeral__Onatural_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Code____Numeral__Onatural_Mt__Code____Numeral__Onatural_J_J_J,type,
    member3645681970175622916atural: produc1457236968955129965atural > set_Pr773475574229504931atural > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    member1869596255364795664nt_int: produc8664907604286745209nt_int > set_Pr2692125258033744815nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J,type,
    member6698963635872716290st_int: produc1186641810826059865st_int > set_Pr765067013931698361st_int > $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__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_v_E,type,
    e: nat > a ).

thf(sy_v_F,type,
    f: nat > list_a > a ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_s,type,
    s: nat > tm ).

thf(sy_v_t,type,
    t: tm ).

% Relevant facts (1266)
thf(fact_0_semantics__tm_Osimps_I1_J,axiom,
    ! [E: nat > tm,F: nat > list_tm > tm,N: nat] :
      ( ( semantics_tm_tm @ E @ F @ ( var @ N ) )
      = ( E @ N ) ) ).

% semantics_tm.simps(1)
thf(fact_1_semantics__tm_Osimps_I1_J,axiom,
    ! [E: nat > a,F: nat > list_a > a,N: nat] :
      ( ( semantics_tm_a @ E @ F @ ( var @ N ) )
      = ( E @ N ) ) ).

% semantics_tm.simps(1)
thf(fact_2_semantics__fm_Osimps_I4_J,axiom,
    ! [E: nat > tm,F: nat > list_tm > tm,G: nat > list_tm > $o,P: fm] :
      ( ( semantics_fm_tm @ E @ F @ G @ ( uni @ P ) )
      = ( ! [X: tm] : ( semantics_fm_tm @ ( add_env_tm @ X @ E ) @ F @ G @ P ) ) ) ).

% semantics_fm.simps(4)
thf(fact_3_semantics__fm_Osimps_I4_J,axiom,
    ! [E: nat > a,F: nat > list_a > a,G: nat > list_a > $o,P: fm] :
      ( ( semantics_fm_a @ E @ F @ G @ ( uni @ P ) )
      = ( ! [X: a] : ( semantics_fm_a @ ( add_env_a @ X @ E ) @ F @ G @ P ) ) ) ).

% semantics_fm.simps(4)
thf(fact_4_add__env_Osimps_I1_J,axiom,
    ! [T: tm,S: nat > tm] :
      ( ( add_env_tm @ T @ S @ zero_zero_nat )
      = T ) ).

% add_env.simps(1)
thf(fact_5_add__env_Osimps_I1_J,axiom,
    ! [T: a,S: nat > a] :
      ( ( add_env_a @ T @ S @ zero_zero_nat )
      = T ) ).

% add_env.simps(1)
thf(fact_6_add__env_Osimps_I2_J,axiom,
    ! [T: tm,S: nat > tm,N: nat] :
      ( ( add_env_tm @ T @ S @ ( suc @ N ) )
      = ( S @ N ) ) ).

% add_env.simps(2)
thf(fact_7_add__env_Osimps_I2_J,axiom,
    ! [T: a,S: nat > a,N: nat] :
      ( ( add_env_a @ T @ S @ ( suc @ N ) )
      = ( S @ N ) ) ).

% add_env.simps(2)
thf(fact_8_semantics__tm_Osimps_I2_J,axiom,
    ! [E: nat > tm,F: nat > list_tm > tm,F2: nat,Ts: list_tm] :
      ( ( semantics_tm_tm @ E @ F @ ( fun @ F2 @ Ts ) )
      = ( F @ F2 @ ( map_tm_tm @ ( semantics_tm_tm @ E @ F ) @ Ts ) ) ) ).

% semantics_tm.simps(2)
thf(fact_9_semantics__tm_Osimps_I2_J,axiom,
    ! [E: nat > a,F: nat > list_a > a,F2: nat,Ts: list_tm] :
      ( ( semantics_tm_a @ E @ F @ ( fun @ F2 @ Ts ) )
      = ( F @ F2 @ ( map_tm_a @ ( semantics_tm_a @ E @ F ) @ Ts ) ) ) ).

% semantics_tm.simps(2)
thf(fact_10_sub__fm_Osimps_I4_J,axiom,
    ! [S: nat > tm,P: fm] :
      ( ( sub_fm @ S @ ( uni @ P ) )
      = ( uni
        @ ( sub_fm
          @ ( add_env_tm @ ( var @ zero_zero_nat )
            @ ^ [N2: nat] : ( lift_tm @ ( S @ N2 ) ) )
          @ P ) ) ) ).

% sub_fm.simps(4)
thf(fact_11_semantics__fm_Osimps_I2_J,axiom,
    ! [E: nat > tm,F: nat > list_tm > tm,G: nat > list_tm > $o,P2: nat,Ts: list_tm] :
      ( ( semantics_fm_tm @ E @ F @ G @ ( pre @ P2 @ Ts ) )
      = ( G @ P2 @ ( map_tm_tm @ ( semantics_tm_tm @ E @ F ) @ Ts ) ) ) ).

% semantics_fm.simps(2)
thf(fact_12_semantics__fm_Osimps_I2_J,axiom,
    ! [E: nat > a,F: nat > list_a > a,G: nat > list_a > $o,P2: nat,Ts: list_tm] :
      ( ( semantics_fm_a @ E @ F @ G @ ( pre @ P2 @ Ts ) )
      = ( G @ P2 @ ( map_tm_a @ ( semantics_tm_a @ E @ F ) @ Ts ) ) ) ).

% semantics_fm.simps(2)
thf(fact_13_fm_Oinject_I3_J,axiom,
    ! [X4: fm,Y4: fm] :
      ( ( ( uni @ X4 )
        = ( uni @ Y4 ) )
      = ( X4 = Y4 ) ) ).

% fm.inject(3)
thf(fact_14_fm_Oinject_I1_J,axiom,
    ! [X21: nat,X22: list_tm,Y21: nat,Y22: list_tm] :
      ( ( ( pre @ X21 @ X22 )
        = ( pre @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% fm.inject(1)
thf(fact_15_tm_Oinject_I2_J,axiom,
    ! [X21: nat,X22: list_tm,Y21: nat,Y22: list_tm] :
      ( ( ( fun @ X21 @ X22 )
        = ( fun @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% tm.inject(2)
thf(fact_16_tm_Oinject_I1_J,axiom,
    ! [X1: nat,Y1: nat] :
      ( ( ( var @ X1 )
        = ( var @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% tm.inject(1)
thf(fact_17_fm_Odistinct_I9_J,axiom,
    ! [X21: nat,X22: list_tm,X4: fm] :
      ( ( pre @ X21 @ X22 )
     != ( uni @ X4 ) ) ).

% fm.distinct(9)
thf(fact_18_tm_Odistinct_I1_J,axiom,
    ! [X1: nat,X21: nat,X22: list_tm] :
      ( ( var @ X1 )
     != ( fun @ X21 @ X22 ) ) ).

% tm.distinct(1)
thf(fact_19_lift__tm_Osimps_I2_J,axiom,
    ! [F2: nat,Ts: list_tm] :
      ( ( lift_tm @ ( fun @ F2 @ Ts ) )
      = ( fun @ F2 @ ( map_tm_tm @ lift_tm @ Ts ) ) ) ).

% lift_tm.simps(2)
thf(fact_20_tm_Oexhaust,axiom,
    ! [Y: tm] :
      ( ! [X12: nat] :
          ( Y
         != ( var @ X12 ) )
     => ~ ! [X212: nat,X222: list_tm] :
            ( Y
           != ( fun @ X212 @ X222 ) ) ) ).

% tm.exhaust
thf(fact_21_zero__natural_Orsp,axiom,
    zero_zero_nat = zero_zero_nat ).

% zero_natural.rsp
thf(fact_22_map__ident,axiom,
    ( ( map_tm_tm
      @ ^ [X: tm] : X )
    = ( ^ [Xs: list_tm] : Xs ) ) ).

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

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

% old.nat.inject
thf(fact_25_tm_Osize__gen_I1_J,axiom,
    ! [X1: nat] :
      ( ( size_tm @ ( var @ X1 ) )
      = zero_zero_nat ) ).

% tm.size_gen(1)
thf(fact_26_sub__fm_Osimps_I2_J,axiom,
    ! [S: nat > tm,P2: nat,Ts: list_tm] :
      ( ( sub_fm @ S @ ( pre @ P2 @ Ts ) )
      = ( pre @ P2 @ ( map_tm_tm @ ( sub_tm @ S ) @ Ts ) ) ) ).

% sub_fm.simps(2)
thf(fact_27_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_28_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_29_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_30_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_31_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_32_zero__reorient,axiom,
    ! [X3: nat] :
      ( ( zero_zero_nat = X3 )
      = ( X3 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_33_zero__reorient,axiom,
    ! [X3: code_natural] :
      ( ( zero_z2226904508553997617atural = X3 )
      = ( X3 = zero_z2226904508553997617atural ) ) ).

% zero_reorient
thf(fact_34_zero__reorient,axiom,
    ! [X3: int] :
      ( ( zero_zero_int = X3 )
      = ( X3 = zero_zero_int ) ) ).

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

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

% Suc_inject
thf(fact_37_sub__tm_Osimps_I1_J,axiom,
    ! [S: nat > tm,N: nat] :
      ( ( sub_tm @ S @ ( var @ N ) )
      = ( S @ N ) ) ).

% sub_tm.simps(1)
thf(fact_38_sub__tm_Osimps_I2_J,axiom,
    ! [S: nat > tm,F2: nat,Ts: list_tm] :
      ( ( sub_tm @ S @ ( fun @ F2 @ Ts ) )
      = ( fun @ F2 @ ( map_tm_tm @ ( sub_tm @ S ) @ Ts ) ) ) ).

% sub_tm.simps(2)
thf(fact_39_list_Omap__ident,axiom,
    ! [T: list_tm] :
      ( ( map_tm_tm
        @ ^ [X: tm] : X
        @ T )
      = T ) ).

% list.map_ident
thf(fact_40_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M: nat] :
          ( N
          = ( suc @ M ) ) ) ).

% not0_implies_Suc
thf(fact_41_Zero__not__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_not_Suc
thf(fact_42_mem__Collect__eq,axiom,
    ! [A: produc859450856879609959at_nat,P2: produc859450856879609959at_nat > $o] :
      ( ( member8206827879206165904at_nat @ A @ ( collec7088162979684241874at_nat @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_43_mem__Collect__eq,axiom,
    ! [A: product_prod_int_int,P2: product_prod_int_int > $o] :
      ( ( member5262025264175285858nt_int @ A @ ( collec213857154873943460nt_int @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_44_Collect__mem__eq,axiom,
    ! [A2: set_Pr8693737435421807431at_nat] :
      ( ( collec7088162979684241874at_nat
        @ ^ [X: produc859450856879609959at_nat] : ( member8206827879206165904at_nat @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_45_Collect__mem__eq,axiom,
    ! [A2: set_Pr958786334691620121nt_int] :
      ( ( collec213857154873943460nt_int
        @ ^ [X: product_prod_int_int] : ( member5262025264175285858nt_int @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_46_Collect__cong,axiom,
    ! [P2: product_prod_int_int > $o,Q: product_prod_int_int > $o] :
      ( ! [X5: product_prod_int_int] :
          ( ( P2 @ X5 )
          = ( Q @ X5 ) )
     => ( ( collec213857154873943460nt_int @ P2 )
        = ( collec213857154873943460nt_int @ Q ) ) ) ).

% Collect_cong
thf(fact_47_Zero__neq__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_neq_Suc
thf(fact_48_Suc__neq__Zero,axiom,
    ! [M2: nat] :
      ( ( suc @ M2 )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_49_zero__induct,axiom,
    ! [P2: nat > $o,K: nat] :
      ( ( P2 @ K )
     => ( ! [N3: nat] :
            ( ( P2 @ ( suc @ N3 ) )
           => ( P2 @ N3 ) )
       => ( P2 @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_50_diff__induct,axiom,
    ! [P2: nat > nat > $o,M2: nat,N: nat] :
      ( ! [X5: nat] : ( P2 @ X5 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P2 @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X5: nat,Y3: nat] :
              ( ( P2 @ X5 @ Y3 )
             => ( P2 @ ( suc @ X5 ) @ ( suc @ Y3 ) ) )
         => ( P2 @ M2 @ N ) ) ) ) ).

% diff_induct
thf(fact_51_nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P2 @ N3 )
           => ( P2 @ ( suc @ N3 ) ) )
       => ( P2 @ N ) ) ) ).

% nat_induct
thf(fact_52_tm_Osize_I3_J,axiom,
    ! [X1: nat] :
      ( ( size_size_tm @ ( var @ X1 ) )
      = zero_zero_nat ) ).

% tm.size(3)
thf(fact_53_fm_Osize__gen_I2_J,axiom,
    ! [X21: nat,X22: list_tm] :
      ( ( size_fm @ ( pre @ X21 @ X22 ) )
      = zero_zero_nat ) ).

% fm.size_gen(2)
thf(fact_54_map__eq__map__tailrec,axiom,
    map_tm_tm = map_tailrec_tm_tm ).

% map_eq_map_tailrec
thf(fact_55_map__eq__map__tailrec,axiom,
    map_tm_a = map_tailrec_tm_a ).

% map_eq_map_tailrec
thf(fact_56_fm_Osize_I6_J,axiom,
    ! [X21: nat,X22: list_tm] :
      ( ( size_size_fm @ ( pre @ X21 @ X22 ) )
      = zero_zero_nat ) ).

% fm.size(6)
thf(fact_57_natural_Oinject,axiom,
    ! [Natural: code_natural,Natural2: code_natural] :
      ( ( ( code_Suc @ Natural )
        = ( code_Suc @ Natural2 ) )
      = ( Natural = Natural2 ) ) ).

% natural.inject
thf(fact_58_natural_Odistinct_I2_J,axiom,
    ! [Natural2: code_natural] :
      ( ( code_Suc @ Natural2 )
     != zero_z2226904508553997617atural ) ).

% natural.distinct(2)
thf(fact_59_natural_Odistinct_I1_J,axiom,
    ! [Natural2: code_natural] :
      ( zero_z2226904508553997617atural
     != ( code_Suc @ Natural2 ) ) ).

% natural.distinct(1)
thf(fact_60_natural_Oexhaust,axiom,
    ! [Y: code_natural] :
      ( ( Y != zero_z2226904508553997617atural )
     => ~ ! [Natural3: code_natural] :
            ( Y
           != ( code_Suc @ Natural3 ) ) ) ).

% natural.exhaust
thf(fact_61_size__neq__size__imp__neq,axiom,
    ! [X3: tm,Y: tm] :
      ( ( ( size_size_tm @ X3 )
       != ( size_size_tm @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_62_size__neq__size__imp__neq,axiom,
    ! [X3: fm,Y: fm] :
      ( ( ( size_size_fm @ X3 )
       != ( size_size_fm @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_63_size__neq__size__imp__neq,axiom,
    ! [X3: char,Y: char] :
      ( ( ( size_size_char @ X3 )
       != ( size_size_char @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_64_size__neq__size__imp__neq,axiom,
    ! [X3: list_int,Y: list_int] :
      ( ( ( size_size_list_int @ X3 )
       != ( size_size_list_int @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_65_fm_Osize_I8_J,axiom,
    ! [X4: fm] :
      ( ( size_size_fm @ ( uni @ X4 ) )
      = ( plus_plus_nat @ ( size_size_fm @ X4 ) @ ( suc @ zero_zero_nat ) ) ) ).

% fm.size(8)
thf(fact_66_fm_Osize__gen_I4_J,axiom,
    ! [X4: fm] :
      ( ( size_fm @ ( uni @ X4 ) )
      = ( plus_plus_nat @ ( size_fm @ X4 ) @ ( suc @ zero_zero_nat ) ) ) ).

% fm.size_gen(4)
thf(fact_67_fm_Osize_I5_J,axiom,
    ( ( size_size_fm @ falsity )
    = zero_zero_nat ) ).

% fm.size(5)
thf(fact_68_fm_Osize__gen_I1_J,axiom,
    ( ( size_fm @ falsity )
    = zero_zero_nat ) ).

% fm.size_gen(1)
thf(fact_69_tm_Osize_I4_J,axiom,
    ! [X21: nat,X22: list_tm] :
      ( ( size_size_tm @ ( fun @ X21 @ X22 ) )
      = ( plus_plus_nat @ ( size_list_tm @ size_size_tm @ X22 ) @ ( suc @ zero_zero_nat ) ) ) ).

% tm.size(4)
thf(fact_70_tm_Osize__gen_I2_J,axiom,
    ! [X21: nat,X22: list_tm] :
      ( ( size_tm @ ( fun @ X21 @ X22 ) )
      = ( plus_plus_nat @ ( size_list_tm @ size_tm @ X22 ) @ ( suc @ zero_zero_nat ) ) ) ).

% tm.size_gen(2)
thf(fact_71_prod_Oinject,axiom,
    ! [X1: int,X2: int,Y1: int,Y2: int] :
      ( ( ( product_Pair_int_int @ X1 @ X2 )
        = ( product_Pair_int_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_72_prod_Oinject,axiom,
    ! [X1: code_natural > option6357759511663192854e_term,X2: produc7822875418678951345atural,Y1: code_natural > option6357759511663192854e_term,Y2: produc7822875418678951345atural] :
      ( ( ( produc2252593628808123835atural @ X1 @ X2 )
        = ( produc2252593628808123835atural @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_73_prod_Oinject,axiom,
    ! [X1: produc4972180933644002618e_term > option6357759511663192854e_term,X2: produc7822875418678951345atural,Y1: produc4972180933644002618e_term > option6357759511663192854e_term,Y2: produc7822875418678951345atural] :
      ( ( ( produc3831813291587773865atural @ X1 @ X2 )
        = ( produc3831813291587773865atural @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_74_prod_Oinject,axiom,
    ! [X1: produc8551481072490612790e_term > option6357759511663192854e_term,X2: product_prod_int_int,Y1: produc8551481072490612790e_term > option6357759511663192854e_term,Y2: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ X1 @ X2 )
        = ( produc5700946648718959541nt_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_75_prod_Oinject,axiom,
    ! [X1: int > option6357759511663192854e_term,X2: product_prod_int_int,Y1: int > option6357759511663192854e_term,Y2: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ X1 @ X2 )
        = ( produc4305682042979456191nt_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_76_old_Oprod_Oinject,axiom,
    ! [A: int,B: int,A3: int,B2: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_77_old_Oprod_Oinject,axiom,
    ! [A: code_natural > option6357759511663192854e_term,B: produc7822875418678951345atural,A3: code_natural > option6357759511663192854e_term,B2: produc7822875418678951345atural] :
      ( ( ( produc2252593628808123835atural @ A @ B )
        = ( produc2252593628808123835atural @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_78_old_Oprod_Oinject,axiom,
    ! [A: produc4972180933644002618e_term > option6357759511663192854e_term,B: produc7822875418678951345atural,A3: produc4972180933644002618e_term > option6357759511663192854e_term,B2: produc7822875418678951345atural] :
      ( ( ( produc3831813291587773865atural @ A @ B )
        = ( produc3831813291587773865atural @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_79_old_Oprod_Oinject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A3: produc8551481072490612790e_term > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_80_old_Oprod_Oinject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A3: int > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A3 @ B2 ) )
      = ( ( A = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_81_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_82_add__left__cancel,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_83_add__left__cancel,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ A @ B )
        = ( plus_p4538020629002901425atural @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_84_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_85_add__right__cancel,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_86_add__right__cancel,axiom,
    ! [B: code_natural,A: code_natural,C: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ B @ A )
        = ( plus_p4538020629002901425atural @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_87_length__map,axiom,
    ! [F2: tm > tm,Xs2: list_tm] :
      ( ( size_size_list_tm @ ( map_tm_tm @ F2 @ Xs2 ) )
      = ( size_size_list_tm @ Xs2 ) ) ).

% length_map
thf(fact_88_length__map,axiom,
    ! [F2: tm > a,Xs2: list_tm] :
      ( ( size_size_list_a @ ( map_tm_a @ F2 @ Xs2 ) )
      = ( size_size_list_tm @ Xs2 ) ) ).

% length_map
thf(fact_89_length__map,axiom,
    ! [F2: int > int,Xs2: list_int] :
      ( ( size_size_list_int @ ( map_int_int @ F2 @ Xs2 ) )
      = ( size_size_list_int @ Xs2 ) ) ).

% length_map
thf(fact_90_add__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add_0
thf(fact_91_add__0,axiom,
    ! [A: code_natural] :
      ( ( plus_p4538020629002901425atural @ zero_z2226904508553997617atural @ A )
      = A ) ).

% add_0
thf(fact_92_add__0,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

% add_0
thf(fact_93_zero__eq__add__iff__both__eq__0,axiom,
    ! [X3: nat,Y: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X3 @ Y ) )
      = ( ( X3 = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_94_add__eq__0__iff__both__eq__0,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ( plus_plus_nat @ X3 @ Y )
        = zero_zero_nat )
      = ( ( X3 = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_95_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_96_add__cancel__right__right,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( A
        = ( plus_p4538020629002901425atural @ A @ B ) )
      = ( B = zero_z2226904508553997617atural ) ) ).

% add_cancel_right_right
thf(fact_97_add__cancel__right__right,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( plus_plus_int @ A @ B ) )
      = ( B = zero_zero_int ) ) ).

% add_cancel_right_right
thf(fact_98_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_99_add__cancel__right__left,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( A
        = ( plus_p4538020629002901425atural @ B @ A ) )
      = ( B = zero_z2226904508553997617atural ) ) ).

% add_cancel_right_left
thf(fact_100_add__cancel__right__left,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( plus_plus_int @ B @ A ) )
      = ( B = zero_zero_int ) ) ).

% add_cancel_right_left
thf(fact_101_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_102_add__cancel__left__right,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ A @ B )
        = A )
      = ( B = zero_z2226904508553997617atural ) ) ).

% add_cancel_left_right
thf(fact_103_add__cancel__left__right,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = A )
      = ( B = zero_zero_int ) ) ).

% add_cancel_left_right
thf(fact_104_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_105_add__cancel__left__left,axiom,
    ! [B: code_natural,A: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ B @ A )
        = A )
      = ( B = zero_z2226904508553997617atural ) ) ).

% add_cancel_left_left
thf(fact_106_add__cancel__left__left,axiom,
    ! [B: int,A: int] :
      ( ( ( plus_plus_int @ B @ A )
        = A )
      = ( B = zero_zero_int ) ) ).

% add_cancel_left_left
thf(fact_107_double__zero__sym,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( plus_plus_int @ A @ A ) )
      = ( A = zero_zero_int ) ) ).

% double_zero_sym
thf(fact_108_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_109_add_Oright__neutral,axiom,
    ! [A: code_natural] :
      ( ( plus_p4538020629002901425atural @ A @ zero_z2226904508553997617atural )
      = A ) ).

% add.right_neutral
thf(fact_110_add_Oright__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

% add.right_neutral
thf(fact_111_add__Suc__right,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ M2 @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M2 @ N ) ) ) ).

% add_Suc_right
thf(fact_112_Nat_Oadd__0__right,axiom,
    ! [M2: nat] :
      ( ( plus_plus_nat @ M2 @ zero_zero_nat )
      = M2 ) ).

% Nat.add_0_right
thf(fact_113_add__is__0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = zero_zero_nat )
      = ( ( M2 = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_114_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_int_int] :
      ~ ! [A4: int,B3: int] :
          ( Y
         != ( product_Pair_int_int @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_115_old_Oprod_Oexhaust,axiom,
    ! [Y: produc8731074985263844745atural] :
      ~ ! [A4: code_natural > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( Y
         != ( produc2252593628808123835atural @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_116_old_Oprod_Oexhaust,axiom,
    ! [Y: produc989692990947075319atural] :
      ~ ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( Y
         != ( produc3831813291587773865atural @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_117_old_Oprod_Oexhaust,axiom,
    ! [Y: produc2285326912895808259nt_int] :
      ~ ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( Y
         != ( produc5700946648718959541nt_int @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_118_old_Oprod_Oexhaust,axiom,
    ! [Y: produc7773217078559923341nt_int] :
      ~ ! [A4: int > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( Y
         != ( produc4305682042979456191nt_int @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_119_surj__pair,axiom,
    ! [P: product_prod_int_int] :
    ? [X5: int,Y3: int] :
      ( P
      = ( product_Pair_int_int @ X5 @ Y3 ) ) ).

% surj_pair
thf(fact_120_surj__pair,axiom,
    ! [P: produc8731074985263844745atural] :
    ? [X5: code_natural > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
      ( P
      = ( produc2252593628808123835atural @ X5 @ Y3 ) ) ).

% surj_pair
thf(fact_121_surj__pair,axiom,
    ! [P: produc989692990947075319atural] :
    ? [X5: produc4972180933644002618e_term > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
      ( P
      = ( produc3831813291587773865atural @ X5 @ Y3 ) ) ).

% surj_pair
thf(fact_122_surj__pair,axiom,
    ! [P: produc2285326912895808259nt_int] :
    ? [X5: produc8551481072490612790e_term > option6357759511663192854e_term,Y3: product_prod_int_int] :
      ( P
      = ( produc5700946648718959541nt_int @ X5 @ Y3 ) ) ).

% surj_pair
thf(fact_123_surj__pair,axiom,
    ! [P: produc7773217078559923341nt_int] :
    ? [X5: int > option6357759511663192854e_term,Y3: product_prod_int_int] :
      ( P
      = ( produc4305682042979456191nt_int @ X5 @ Y3 ) ) ).

% surj_pair
thf(fact_124_prod__cases,axiom,
    ! [P2: product_prod_int_int > $o,P: product_prod_int_int] :
      ( ! [A4: int,B3: int] : ( P2 @ ( product_Pair_int_int @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_125_prod__cases,axiom,
    ! [P2: produc8731074985263844745atural > $o,P: produc8731074985263844745atural] :
      ( ! [A4: code_natural > option6357759511663192854e_term,B3: produc7822875418678951345atural] : ( P2 @ ( produc2252593628808123835atural @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_126_prod__cases,axiom,
    ! [P2: produc989692990947075319atural > $o,P: produc989692990947075319atural] :
      ( ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: produc7822875418678951345atural] : ( P2 @ ( produc3831813291587773865atural @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_127_prod__cases,axiom,
    ! [P2: produc2285326912895808259nt_int > $o,P: produc2285326912895808259nt_int] :
      ( ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: product_prod_int_int] : ( P2 @ ( produc5700946648718959541nt_int @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_128_prod__cases,axiom,
    ! [P2: produc7773217078559923341nt_int > $o,P: produc7773217078559923341nt_int] :
      ( ! [A4: int > option6357759511663192854e_term,B3: product_prod_int_int] : ( P2 @ ( produc4305682042979456191nt_int @ A4 @ B3 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_129_Pair__inject,axiom,
    ! [A: int,B: int,A3: int,B2: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_130_Pair__inject,axiom,
    ! [A: code_natural > option6357759511663192854e_term,B: produc7822875418678951345atural,A3: code_natural > option6357759511663192854e_term,B2: produc7822875418678951345atural] :
      ( ( ( produc2252593628808123835atural @ A @ B )
        = ( produc2252593628808123835atural @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_131_Pair__inject,axiom,
    ! [A: produc4972180933644002618e_term > option6357759511663192854e_term,B: produc7822875418678951345atural,A3: produc4972180933644002618e_term > option6357759511663192854e_term,B2: produc7822875418678951345atural] :
      ( ( ( produc3831813291587773865atural @ A @ B )
        = ( produc3831813291587773865atural @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_132_Pair__inject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A3: produc8551481072490612790e_term > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_133_Pair__inject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A3: int > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A3 @ B2 ) )
     => ~ ( ( A = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_134_prod__cases3,axiom,
    ! [Y: produc8731074985263844745atural] :
      ~ ! [A4: code_natural > option6357759511663192854e_term,B3: code_natural,C2: code_natural] :
          ( Y
         != ( produc2252593628808123835atural @ A4 @ ( produc3574140220909816553atural @ B3 @ C2 ) ) ) ).

% prod_cases3
thf(fact_135_prod__cases3,axiom,
    ! [Y: produc989692990947075319atural] :
      ~ ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: code_natural,C2: code_natural] :
          ( Y
         != ( produc3831813291587773865atural @ A4 @ ( produc3574140220909816553atural @ B3 @ C2 ) ) ) ).

% prod_cases3
thf(fact_136_prod__cases3,axiom,
    ! [Y: produc2285326912895808259nt_int] :
      ~ ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: int,C2: int] :
          ( Y
         != ( produc5700946648718959541nt_int @ A4 @ ( product_Pair_int_int @ B3 @ C2 ) ) ) ).

% prod_cases3
thf(fact_137_prod__cases3,axiom,
    ! [Y: produc7773217078559923341nt_int] :
      ~ ! [A4: int > option6357759511663192854e_term,B3: int,C2: int] :
          ( Y
         != ( produc4305682042979456191nt_int @ A4 @ ( product_Pair_int_int @ B3 @ C2 ) ) ) ).

% prod_cases3
thf(fact_138_prod__induct3,axiom,
    ! [P2: produc8731074985263844745atural > $o,X3: produc8731074985263844745atural] :
      ( ! [A4: code_natural > option6357759511663192854e_term,B3: code_natural,C2: code_natural] : ( P2 @ ( produc2252593628808123835atural @ A4 @ ( produc3574140220909816553atural @ B3 @ C2 ) ) )
     => ( P2 @ X3 ) ) ).

% prod_induct3
thf(fact_139_prod__induct3,axiom,
    ! [P2: produc989692990947075319atural > $o,X3: produc989692990947075319atural] :
      ( ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: code_natural,C2: code_natural] : ( P2 @ ( produc3831813291587773865atural @ A4 @ ( produc3574140220909816553atural @ B3 @ C2 ) ) )
     => ( P2 @ X3 ) ) ).

% prod_induct3
thf(fact_140_prod__induct3,axiom,
    ! [P2: produc2285326912895808259nt_int > $o,X3: produc2285326912895808259nt_int] :
      ( ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: int,C2: int] : ( P2 @ ( produc5700946648718959541nt_int @ A4 @ ( product_Pair_int_int @ B3 @ C2 ) ) )
     => ( P2 @ X3 ) ) ).

% prod_induct3
thf(fact_141_prod__induct3,axiom,
    ! [P2: produc7773217078559923341nt_int > $o,X3: produc7773217078559923341nt_int] :
      ( ! [A4: int > option6357759511663192854e_term,B3: int,C2: int] : ( P2 @ ( produc4305682042979456191nt_int @ A4 @ ( product_Pair_int_int @ B3 @ C2 ) ) )
     => ( P2 @ X3 ) ) ).

% prod_induct3
thf(fact_142_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_143_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_144_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( plus_p4538020629002901425atural @ ( plus_p4538020629002901425atural @ A @ B ) @ C )
      = ( plus_p4538020629002901425atural @ A @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_145_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_plus_nat @ I @ K )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_146_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_plus_int @ I @ K )
        = ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_147_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_p4538020629002901425atural @ I @ K )
        = ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_148_group__cancel_Oadd1,axiom,
    ! [A2: nat,K: nat,A: nat,B: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_149_group__cancel_Oadd1,axiom,
    ! [A2: int,K: int,A: int,B: int] :
      ( ( A2
        = ( plus_plus_int @ K @ A ) )
     => ( ( plus_plus_int @ A2 @ B )
        = ( plus_plus_int @ K @ ( plus_plus_int @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_150_group__cancel_Oadd1,axiom,
    ! [A2: code_natural,K: code_natural,A: code_natural,B: code_natural] :
      ( ( A2
        = ( plus_p4538020629002901425atural @ K @ A ) )
     => ( ( plus_p4538020629002901425atural @ A2 @ B )
        = ( plus_p4538020629002901425atural @ K @ ( plus_p4538020629002901425atural @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_151_group__cancel_Oadd2,axiom,
    ! [B4: nat,K: nat,B: nat,A: nat] :
      ( ( B4
        = ( plus_plus_nat @ K @ B ) )
     => ( ( plus_plus_nat @ A @ B4 )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_152_group__cancel_Oadd2,axiom,
    ! [B4: int,K: int,B: int,A: int] :
      ( ( B4
        = ( plus_plus_int @ K @ B ) )
     => ( ( plus_plus_int @ A @ B4 )
        = ( plus_plus_int @ K @ ( plus_plus_int @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_153_group__cancel_Oadd2,axiom,
    ! [B4: code_natural,K: code_natural,B: code_natural,A: code_natural] :
      ( ( B4
        = ( plus_p4538020629002901425atural @ K @ B ) )
     => ( ( plus_p4538020629002901425atural @ A @ B4 )
        = ( plus_p4538020629002901425atural @ K @ ( plus_p4538020629002901425atural @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_154_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_155_add_Oassoc,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% add.assoc
thf(fact_156_add_Oassoc,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( plus_p4538020629002901425atural @ ( plus_p4538020629002901425atural @ A @ B ) @ C )
      = ( plus_p4538020629002901425atural @ A @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% add.assoc
thf(fact_157_add_Oleft__cancel,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
      = ( B = C ) ) ).

% add.left_cancel
thf(fact_158_add_Oright__cancel,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
      = ( B = C ) ) ).

% add.right_cancel
thf(fact_159_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A5: nat,B5: nat] : ( plus_plus_nat @ B5 @ A5 ) ) ) ).

% add.commute
thf(fact_160_add_Ocommute,axiom,
    ( plus_plus_int
    = ( ^ [A5: int,B5: int] : ( plus_plus_int @ B5 @ A5 ) ) ) ).

% add.commute
thf(fact_161_add_Ocommute,axiom,
    ( plus_p4538020629002901425atural
    = ( ^ [A5: code_natural,B5: code_natural] : ( plus_p4538020629002901425atural @ B5 @ A5 ) ) ) ).

% add.commute
thf(fact_162_add_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_163_add_Oleft__commute,axiom,
    ! [B: int,A: int,C: int] :
      ( ( plus_plus_int @ B @ ( plus_plus_int @ A @ C ) )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% add.left_commute
thf(fact_164_add_Oleft__commute,axiom,
    ! [B: code_natural,A: code_natural,C: code_natural] :
      ( ( plus_p4538020629002901425atural @ B @ ( plus_p4538020629002901425atural @ A @ C ) )
      = ( plus_p4538020629002901425atural @ A @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% add.left_commute
thf(fact_165_add__left__imp__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_166_add__left__imp__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_167_add__left__imp__eq,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ A @ B )
        = ( plus_p4538020629002901425atural @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_168_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_169_add__right__imp__eq,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_170_add__right__imp__eq,axiom,
    ! [B: code_natural,A: code_natural,C: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ B @ A )
        = ( plus_p4538020629002901425atural @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_171_pred__equals__eq2,axiom,
    ! [R: set_Pr8693737435421807431at_nat,S2: set_Pr8693737435421807431at_nat] :
      ( ( ( ^ [X: product_prod_nat_nat,Y5: product_prod_nat_nat] : ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y5 ) @ R ) )
        = ( ^ [X: product_prod_nat_nat,Y5: product_prod_nat_nat] : ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_172_pred__equals__eq2,axiom,
    ! [R: set_Pr958786334691620121nt_int,S2: set_Pr958786334691620121nt_int] :
      ( ( ( ^ [X: int,Y5: int] : ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X @ Y5 ) @ R ) )
        = ( ^ [X: int,Y5: int] : ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_173_pred__equals__eq2,axiom,
    ! [R: set_Pr3206334165513263167atural,S2: set_Pr3206334165513263167atural] :
      ( ( ( ^ [X: code_natural > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X @ Y5 ) @ R ) )
        = ( ^ [X: code_natural > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_174_pred__equals__eq2,axiom,
    ! [R: set_Pr4244404650639074861atural,S2: set_Pr4244404650639074861atural] :
      ( ( ( ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X @ Y5 ) @ R ) )
        = ( ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_175_pred__equals__eq2,axiom,
    ! [R: set_Pr9222295170931077689nt_int,S2: set_Pr9222295170931077689nt_int] :
      ( ( ( ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X @ Y5 ) @ R ) )
        = ( ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_176_pred__equals__eq2,axiom,
    ! [R: set_Pr1872883991513573699nt_int,S2: set_Pr1872883991513573699nt_int] :
      ( ( ( ^ [X: int > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X @ Y5 ) @ R ) )
        = ( ^ [X: int > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X @ Y5 ) @ S2 ) ) )
      = ( R = S2 ) ) ).

% pred_equals_eq2
thf(fact_177_add_Ogroup__left__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

% add.group_left_neutral
thf(fact_178_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_179_add_Ocomm__neutral,axiom,
    ! [A: code_natural] :
      ( ( plus_p4538020629002901425atural @ A @ zero_z2226904508553997617atural )
      = A ) ).

% add.comm_neutral
thf(fact_180_add_Ocomm__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

% add.comm_neutral
thf(fact_181_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_182_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: code_natural] :
      ( ( plus_p4538020629002901425atural @ zero_z2226904508553997617atural @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_183_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_184_map__eq__imp__length__eq,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: tm > tm,Ys: list_tm] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( map_tm_tm @ G2 @ Ys ) )
     => ( ( size_size_list_tm @ Xs2 )
        = ( size_size_list_tm @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_185_map__eq__imp__length__eq,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: tm > a,Ys: list_tm] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( map_tm_a @ G2 @ Ys ) )
     => ( ( size_size_list_tm @ Xs2 )
        = ( size_size_list_tm @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_186_map__eq__imp__length__eq,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: int > tm,Ys: list_int] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( map_int_tm @ G2 @ Ys ) )
     => ( ( size_size_list_tm @ Xs2 )
        = ( size_size_list_int @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_187_map__eq__imp__length__eq,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: int > a,Ys: list_int] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( map_int_a @ G2 @ Ys ) )
     => ( ( size_size_list_tm @ Xs2 )
        = ( size_size_list_int @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_188_map__eq__imp__length__eq,axiom,
    ! [F2: int > tm,Xs2: list_int,G2: tm > tm,Ys: list_tm] :
      ( ( ( map_int_tm @ F2 @ Xs2 )
        = ( map_tm_tm @ G2 @ Ys ) )
     => ( ( size_size_list_int @ Xs2 )
        = ( size_size_list_tm @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_189_map__eq__imp__length__eq,axiom,
    ! [F2: int > a,Xs2: list_int,G2: tm > a,Ys: list_tm] :
      ( ( ( map_int_a @ F2 @ Xs2 )
        = ( map_tm_a @ G2 @ Ys ) )
     => ( ( size_size_list_int @ Xs2 )
        = ( size_size_list_tm @ Ys ) ) ) ).

% map_eq_imp_length_eq
thf(fact_190_add__Suc__shift,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M2 ) @ N )
      = ( plus_plus_nat @ M2 @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_191_add__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M2 ) @ N )
      = ( suc @ ( plus_plus_nat @ M2 @ N ) ) ) ).

% add_Suc
thf(fact_192_nat__arith_Osuc1,axiom,
    ! [A2: nat,K: nat,A: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A2 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_193_add__eq__self__zero,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = M2 )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_194_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_195_one__is__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M2 @ N ) )
      = ( ( ( M2
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M2 = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_196_add__is__1,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M2
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M2 = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_197_semantics__fm_Osimps_I1_J,axiom,
    ! [Uu: nat > a,Uv: nat > list_a > a,Uw: nat > list_a > $o] :
      ~ ( semantics_fm_a @ Uu @ Uv @ Uw @ falsity ) ).

% semantics_fm.simps(1)
thf(fact_198_semantics__fm_Osimps_I1_J,axiom,
    ! [Uu: nat > tm,Uv: nat > list_tm > tm,Uw: nat > list_tm > $o] :
      ~ ( semantics_fm_tm @ Uu @ Uv @ Uw @ falsity ) ).

% semantics_fm.simps(1)
thf(fact_199_fm_Odistinct_I1_J,axiom,
    ! [X21: nat,X22: list_tm] :
      ( falsity
     != ( pre @ X21 @ X22 ) ) ).

% fm.distinct(1)
thf(fact_200_fm_Odistinct_I5_J,axiom,
    ! [X4: fm] :
      ( falsity
     != ( uni @ X4 ) ) ).

% fm.distinct(5)
thf(fact_201_sub__fm_Osimps_I1_J,axiom,
    ! [Uu: nat > tm] :
      ( ( sub_fm @ Uu @ falsity )
      = falsity ) ).

% sub_fm.simps(1)
thf(fact_202_double__eq__0__iff,axiom,
    ! [A: int] :
      ( ( ( plus_plus_int @ A @ A )
        = zero_zero_int )
      = ( A = zero_zero_int ) ) ).

% double_eq_0_iff
thf(fact_203_size__char__eq__0,axiom,
    ( size_size_char
    = ( ^ [C3: char] : zero_zero_nat ) ) ).

% size_char_eq_0
thf(fact_204_fm_Osize__gen_I3_J,axiom,
    ! [X31: fm,X32: fm] :
      ( ( size_fm @ ( imp @ X31 @ X32 ) )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( size_fm @ X31 ) @ ( size_fm @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).

% fm.size_gen(3)
thf(fact_205_fm_Osize_I7_J,axiom,
    ! [X31: fm,X32: fm] :
      ( ( size_size_fm @ ( imp @ X31 @ X32 ) )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( size_size_fm @ X31 ) @ ( size_size_fm @ X32 ) ) @ ( suc @ zero_zero_nat ) ) ) ).

% fm.size(7)
thf(fact_206_Euclid__induct,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( P2 @ A4 @ B3 )
          = ( P2 @ B3 @ A4 ) )
     => ( ! [A4: nat] : ( P2 @ A4 @ zero_zero_nat )
       => ( ! [A4: nat,B3: nat] :
              ( ( P2 @ A4 @ B3 )
             => ( P2 @ A4 @ ( plus_plus_nat @ A4 @ B3 ) ) )
         => ( P2 @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_207_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_208_verit__sum__simplify,axiom,
    ! [A: code_natural] :
      ( ( plus_p4538020629002901425atural @ A @ zero_z2226904508553997617atural )
      = A ) ).

% verit_sum_simplify
thf(fact_209_verit__sum__simplify,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

% verit_sum_simplify
thf(fact_210_add__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B
        = ( plus_plus_nat @ B @ A ) )
      = ( A = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_211_add__0__iff,axiom,
    ! [B: int,A: int] :
      ( ( B
        = ( plus_plus_int @ B @ A ) )
      = ( A = zero_zero_int ) ) ).

% add_0_iff
thf(fact_212_fm_Oexhaust,axiom,
    ! [Y: fm] :
      ( ( Y != falsity )
     => ( ! [X212: nat,X222: list_tm] :
            ( Y
           != ( pre @ X212 @ X222 ) )
       => ( ! [X312: fm,X322: fm] :
              ( Y
             != ( imp @ X312 @ X322 ) )
         => ~ ! [X42: fm] :
                ( Y
               != ( uni @ X42 ) ) ) ) ) ).

% fm.exhaust
thf(fact_213_fm_Oinject_I2_J,axiom,
    ! [X31: fm,X32: fm,Y31: fm,Y32: fm] :
      ( ( ( imp @ X31 @ X32 )
        = ( imp @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% fm.inject(2)
thf(fact_214_neq__if__length__neq,axiom,
    ! [Xs2: list_int,Ys: list_int] :
      ( ( ( size_size_list_int @ Xs2 )
       != ( size_size_list_int @ Ys ) )
     => ( Xs2 != Ys ) ) ).

% neq_if_length_neq
thf(fact_215_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_int] :
      ( ( size_size_list_int @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_216_semantics__fm_Osimps_I3_J,axiom,
    ! [E: nat > a,F: nat > list_a > a,G: nat > list_a > $o,P: fm,Q2: fm] :
      ( ( semantics_fm_a @ E @ F @ G @ ( imp @ P @ Q2 ) )
      = ( ( semantics_fm_a @ E @ F @ G @ P )
       => ( semantics_fm_a @ E @ F @ G @ Q2 ) ) ) ).

% semantics_fm.simps(3)
thf(fact_217_semantics__fm_Osimps_I3_J,axiom,
    ! [E: nat > tm,F: nat > list_tm > tm,G: nat > list_tm > $o,P: fm,Q2: fm] :
      ( ( semantics_fm_tm @ E @ F @ G @ ( imp @ P @ Q2 ) )
      = ( ( semantics_fm_tm @ E @ F @ G @ P )
       => ( semantics_fm_tm @ E @ F @ G @ Q2 ) ) ) ).

% semantics_fm.simps(3)
thf(fact_218_fm_Odistinct_I11_J,axiom,
    ! [X31: fm,X32: fm,X4: fm] :
      ( ( imp @ X31 @ X32 )
     != ( uni @ X4 ) ) ).

% fm.distinct(11)
thf(fact_219_fm_Odistinct_I7_J,axiom,
    ! [X21: nat,X22: list_tm,X31: fm,X32: fm] :
      ( ( pre @ X21 @ X22 )
     != ( imp @ X31 @ X32 ) ) ).

% fm.distinct(7)
thf(fact_220_fm_Odistinct_I3_J,axiom,
    ! [X31: fm,X32: fm] :
      ( falsity
     != ( imp @ X31 @ X32 ) ) ).

% fm.distinct(3)
thf(fact_221_sub__fm_Osimps_I3_J,axiom,
    ! [S: nat > tm,P: fm,Q2: fm] :
      ( ( sub_fm @ S @ ( imp @ P @ Q2 ) )
      = ( imp @ ( sub_fm @ S @ P ) @ ( sub_fm @ S @ Q2 ) ) ) ).

% sub_fm.simps(3)
thf(fact_222_random__aux__set_Ocases,axiom,
    ! [X3: produc7822875418678951345atural] :
      ( ! [J2: code_natural] :
          ( X3
         != ( produc3574140220909816553atural @ zero_z2226904508553997617atural @ J2 ) )
     => ~ ! [I2: code_natural,J2: code_natural] :
            ( X3
           != ( produc3574140220909816553atural @ ( code_Suc @ I2 ) @ J2 ) ) ) ).

% random_aux_set.cases
thf(fact_223_size_H__char__eq__0,axiom,
    ( size_char
    = ( ^ [C3: char] : zero_zero_nat ) ) ).

% size'_char_eq_0
thf(fact_224_Pair__def,axiom,
    ( product_Pair_int_int
    = ( ^ [A5: int,B5: int] : ( produc7525381037542668927nt_int @ ( produc3144130051679357408nt_int @ A5 @ B5 ) ) ) ) ).

% Pair_def
thf(fact_225_Pair__def,axiom,
    ( produc2252593628808123835atural
    = ( ^ [A5: code_natural > option6357759511663192854e_term,B5: produc7822875418678951345atural] : ( produc2948817583555000493atural @ ( produc1111516161050096652atural @ A5 @ B5 ) ) ) ) ).

% Pair_def
thf(fact_226_Pair__def,axiom,
    ( produc3831813291587773865atural
    = ( ^ [A5: produc4972180933644002618e_term > option6357759511663192854e_term,B5: produc7822875418678951345atural] : ( produc4164536285344690587atural @ ( produc7642549512059487354atural @ A5 @ B5 ) ) ) ) ).

% Pair_def
thf(fact_227_Pair__def,axiom,
    ( produc5700946648718959541nt_int
    = ( ^ [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: product_prod_int_int] : ( produc7180752248824104871nt_int @ ( produc5850196971312811654nt_int @ A5 @ B5 ) ) ) ) ).

% Pair_def
thf(fact_228_Pair__def,axiom,
    ( produc4305682042979456191nt_int
    = ( ^ [A5: int > option6357759511663192854e_term,B5: product_prod_int_int] : ( produc8900033952209571761nt_int @ ( produc6538392170985127696nt_int @ A5 @ B5 ) ) ) ) ).

% Pair_def
thf(fact_229_gen__length__def,axiom,
    ( gen_length_int
    = ( ^ [N2: nat,Xs: list_int] : ( plus_plus_nat @ N2 @ ( size_size_list_int @ Xs ) ) ) ) ).

% gen_length_def
thf(fact_230_length__code,axiom,
    ( size_size_list_int
    = ( gen_length_int @ zero_zero_nat ) ) ).

% length_code
thf(fact_231_list_Osize__gen_I2_J,axiom,
    ! [X3: int > nat,X21: int,X22: list_int] :
      ( ( size_list_int @ X3 @ ( cons_int @ X21 @ X22 ) )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( X3 @ X21 ) @ ( size_list_int @ X3 @ X22 ) ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size_gen(2)
thf(fact_232_list_Osize__gen_I2_J,axiom,
    ! [X3: tm > nat,X21: tm,X22: list_tm] :
      ( ( size_list_tm @ X3 @ ( cons_tm @ X21 @ X22 ) )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( X3 @ X21 ) @ ( size_list_tm @ X3 @ X22 ) ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size_gen(2)
thf(fact_233_lift__tm_Osimps_I1_J,axiom,
    ! [N: nat] :
      ( ( lift_tm @ ( var @ N ) )
      = ( var @ ( plus_plus_nat @ N @ one_one_nat ) ) ) ).

% lift_tm.simps(1)
thf(fact_234_length__splice,axiom,
    ! [Xs2: list_int,Ys: list_int] :
      ( ( size_size_list_int @ ( splice_int @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_size_list_int @ Xs2 ) @ ( size_size_list_int @ Ys ) ) ) ).

% length_splice
thf(fact_235_list_Osize_I4_J,axiom,
    ! [X21: int,X22: list_int] :
      ( ( size_size_list_int @ ( cons_int @ X21 @ X22 ) )
      = ( plus_plus_nat @ ( size_size_list_int @ X22 ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size(4)
thf(fact_236_list_Oinject,axiom,
    ! [X21: int,X22: list_int,Y21: int,Y22: list_int] :
      ( ( ( cons_int @ X21 @ X22 )
        = ( cons_int @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_237_one__natural_Orsp,axiom,
    one_one_nat = one_one_nat ).

% one_natural.rsp
thf(fact_238_splice_Osimps_I2_J,axiom,
    ! [X3: int,Xs2: list_int,Ys: list_int] :
      ( ( splice_int @ ( cons_int @ X3 @ Xs2 ) @ Ys )
      = ( cons_int @ X3 @ ( splice_int @ Ys @ Xs2 ) ) ) ).

% splice.simps(2)
thf(fact_239_one__reorient,axiom,
    ! [X3: nat] :
      ( ( one_one_nat = X3 )
      = ( X3 = one_one_nat ) ) ).

% one_reorient
thf(fact_240_one__reorient,axiom,
    ! [X3: int] :
      ( ( one_one_int = X3 )
      = ( X3 = one_one_int ) ) ).

% one_reorient
thf(fact_241_one__reorient,axiom,
    ! [X3: code_natural] :
      ( ( one_one_Code_natural = X3 )
      = ( X3 = one_one_Code_natural ) ) ).

% one_reorient
thf(fact_242_not__Cons__self2,axiom,
    ! [X3: int,Xs2: list_int] :
      ( ( cons_int @ X3 @ Xs2 )
     != Xs2 ) ).

% not_Cons_self2
thf(fact_243_gen__length__code_I2_J,axiom,
    ! [N: nat,X3: int,Xs2: list_int] :
      ( ( gen_length_int @ N @ ( cons_int @ X3 @ Xs2 ) )
      = ( gen_length_int @ ( suc @ N ) @ Xs2 ) ) ).

% gen_length_code(2)
thf(fact_244_map__eq__Cons__conv,axiom,
    ! [F2: tm > tm,Xs2: list_tm,Y: tm,Ys: list_tm] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( cons_tm @ Y @ Ys ) )
      = ( ? [Z: tm,Zs: list_tm] :
            ( ( Xs2
              = ( cons_tm @ Z @ Zs ) )
            & ( ( F2 @ Z )
              = Y )
            & ( ( map_tm_tm @ F2 @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_245_map__eq__Cons__conv,axiom,
    ! [F2: tm > a,Xs2: list_tm,Y: a,Ys: list_a] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( cons_a @ Y @ Ys ) )
      = ( ? [Z: tm,Zs: list_tm] :
            ( ( Xs2
              = ( cons_tm @ Z @ Zs ) )
            & ( ( F2 @ Z )
              = Y )
            & ( ( map_tm_a @ F2 @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_246_map__eq__Cons__conv,axiom,
    ! [F2: int > int,Xs2: list_int,Y: int,Ys: list_int] :
      ( ( ( map_int_int @ F2 @ Xs2 )
        = ( cons_int @ Y @ Ys ) )
      = ( ? [Z: int,Zs: list_int] :
            ( ( Xs2
              = ( cons_int @ Z @ Zs ) )
            & ( ( F2 @ Z )
              = Y )
            & ( ( map_int_int @ F2 @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_247_Cons__eq__map__conv,axiom,
    ! [X3: tm,Xs2: list_tm,F2: tm > tm,Ys: list_tm] :
      ( ( ( cons_tm @ X3 @ Xs2 )
        = ( map_tm_tm @ F2 @ Ys ) )
      = ( ? [Z: tm,Zs: list_tm] :
            ( ( Ys
              = ( cons_tm @ Z @ Zs ) )
            & ( X3
              = ( F2 @ Z ) )
            & ( Xs2
              = ( map_tm_tm @ F2 @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_248_Cons__eq__map__conv,axiom,
    ! [X3: a,Xs2: list_a,F2: tm > a,Ys: list_tm] :
      ( ( ( cons_a @ X3 @ Xs2 )
        = ( map_tm_a @ F2 @ Ys ) )
      = ( ? [Z: tm,Zs: list_tm] :
            ( ( Ys
              = ( cons_tm @ Z @ Zs ) )
            & ( X3
              = ( F2 @ Z ) )
            & ( Xs2
              = ( map_tm_a @ F2 @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_249_Cons__eq__map__conv,axiom,
    ! [X3: int,Xs2: list_int,F2: int > int,Ys: list_int] :
      ( ( ( cons_int @ X3 @ Xs2 )
        = ( map_int_int @ F2 @ Ys ) )
      = ( ? [Z: int,Zs: list_int] :
            ( ( Ys
              = ( cons_int @ Z @ Zs ) )
            & ( X3
              = ( F2 @ Z ) )
            & ( Xs2
              = ( map_int_int @ F2 @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_250_map__eq__Cons__D,axiom,
    ! [F2: tm > tm,Xs2: list_tm,Y: tm,Ys: list_tm] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( cons_tm @ Y @ Ys ) )
     => ? [Z2: tm,Zs2: list_tm] :
          ( ( Xs2
            = ( cons_tm @ Z2 @ Zs2 ) )
          & ( ( F2 @ Z2 )
            = Y )
          & ( ( map_tm_tm @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_251_map__eq__Cons__D,axiom,
    ! [F2: tm > a,Xs2: list_tm,Y: a,Ys: list_a] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( cons_a @ Y @ Ys ) )
     => ? [Z2: tm,Zs2: list_tm] :
          ( ( Xs2
            = ( cons_tm @ Z2 @ Zs2 ) )
          & ( ( F2 @ Z2 )
            = Y )
          & ( ( map_tm_a @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_252_map__eq__Cons__D,axiom,
    ! [F2: int > int,Xs2: list_int,Y: int,Ys: list_int] :
      ( ( ( map_int_int @ F2 @ Xs2 )
        = ( cons_int @ Y @ Ys ) )
     => ? [Z2: int,Zs2: list_int] :
          ( ( Xs2
            = ( cons_int @ Z2 @ Zs2 ) )
          & ( ( F2 @ Z2 )
            = Y )
          & ( ( map_int_int @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_253_Cons__eq__map__D,axiom,
    ! [X3: tm,Xs2: list_tm,F2: tm > tm,Ys: list_tm] :
      ( ( ( cons_tm @ X3 @ Xs2 )
        = ( map_tm_tm @ F2 @ Ys ) )
     => ? [Z2: tm,Zs2: list_tm] :
          ( ( Ys
            = ( cons_tm @ Z2 @ Zs2 ) )
          & ( X3
            = ( F2 @ Z2 ) )
          & ( Xs2
            = ( map_tm_tm @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_254_Cons__eq__map__D,axiom,
    ! [X3: a,Xs2: list_a,F2: tm > a,Ys: list_tm] :
      ( ( ( cons_a @ X3 @ Xs2 )
        = ( map_tm_a @ F2 @ Ys ) )
     => ? [Z2: tm,Zs2: list_tm] :
          ( ( Ys
            = ( cons_tm @ Z2 @ Zs2 ) )
          & ( X3
            = ( F2 @ Z2 ) )
          & ( Xs2
            = ( map_tm_a @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_255_Cons__eq__map__D,axiom,
    ! [X3: int,Xs2: list_int,F2: int > int,Ys: list_int] :
      ( ( ( cons_int @ X3 @ Xs2 )
        = ( map_int_int @ F2 @ Ys ) )
     => ? [Z2: int,Zs2: list_int] :
          ( ( Ys
            = ( cons_int @ Z2 @ Zs2 ) )
          & ( X3
            = ( F2 @ Z2 ) )
          & ( Xs2
            = ( map_int_int @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_256_list_Osimps_I9_J,axiom,
    ! [F2: tm > tm,X21: tm,X22: list_tm] :
      ( ( map_tm_tm @ F2 @ ( cons_tm @ X21 @ X22 ) )
      = ( cons_tm @ ( F2 @ X21 ) @ ( map_tm_tm @ F2 @ X22 ) ) ) ).

% list.simps(9)
thf(fact_257_list_Osimps_I9_J,axiom,
    ! [F2: tm > a,X21: tm,X22: list_tm] :
      ( ( map_tm_a @ F2 @ ( cons_tm @ X21 @ X22 ) )
      = ( cons_a @ ( F2 @ X21 ) @ ( map_tm_a @ F2 @ X22 ) ) ) ).

% list.simps(9)
thf(fact_258_list_Osimps_I9_J,axiom,
    ! [F2: int > int,X21: int,X22: list_int] :
      ( ( map_int_int @ F2 @ ( cons_int @ X21 @ X22 ) )
      = ( cons_int @ ( F2 @ X21 ) @ ( map_int_int @ F2 @ X22 ) ) ) ).

% list.simps(9)
thf(fact_259_Suc__length__conv,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( ( suc @ N )
        = ( size_size_list_int @ Xs2 ) )
      = ( ? [Y5: int,Ys2: list_int] :
            ( ( Xs2
              = ( cons_int @ Y5 @ Ys2 ) )
            & ( ( size_size_list_int @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_260_length__Suc__conv,axiom,
    ! [Xs2: list_int,N: nat] :
      ( ( ( size_size_list_int @ Xs2 )
        = ( suc @ N ) )
      = ( ? [Y5: int,Ys2: list_int] :
            ( ( Xs2
              = ( cons_int @ Y5 @ Ys2 ) )
            & ( ( size_size_list_int @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_261_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_262_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N2: nat] : ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_263_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_264_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_265_length__Cons,axiom,
    ! [X3: int,Xs2: list_int] :
      ( ( size_size_list_int @ ( cons_int @ X3 @ Xs2 ) )
      = ( suc @ ( size_size_list_int @ Xs2 ) ) ) ).

% length_Cons
thf(fact_266_zero__neq__one,axiom,
    zero_zero_nat != one_one_nat ).

% zero_neq_one
thf(fact_267_zero__neq__one,axiom,
    zero_z2226904508553997617atural != one_one_Code_natural ).

% zero_neq_one
thf(fact_268_zero__neq__one,axiom,
    zero_zero_int != one_one_int ).

% zero_neq_one
thf(fact_269_Cons__in__lex,axiom,
    ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R2 )
          & ( ( size_s5460976970255530739at_nat @ Xs2 )
            = ( size_s5460976970255530739at_nat @ Ys ) ) )
        | ( ( X3 = Y )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_270_Cons__in__lex,axiom,
    ! [X3: int,Xs2: list_int,Y: int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Ys ) ) @ ( lex_int @ R2 ) )
      = ( ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ R2 )
          & ( ( size_size_list_int @ Xs2 )
            = ( size_size_list_int @ Ys ) ) )
        | ( ( X3 = Y )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( lex_int @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_271_of__nat__code,axiom,
    ( semiri1316708129612266289at_nat
    = ( ^ [N2: nat] :
          ( semiri8422978514062236437ux_nat
          @ ^ [I3: nat] : ( plus_plus_nat @ I3 @ one_one_nat )
          @ N2
          @ zero_zero_nat ) ) ) ).

% of_nat_code
thf(fact_272_of__nat__code,axiom,
    ( semiri3763490453095760265atural
    = ( ^ [N2: nat] :
          ( semiri2879080225315754349atural
          @ ^ [I3: code_natural] : ( plus_p4538020629002901425atural @ I3 @ one_one_Code_natural )
          @ N2
          @ zero_z2226904508553997617atural ) ) ) ).

% of_nat_code
thf(fact_273_of__nat__code,axiom,
    ( semiri1314217659103216013at_int
    = ( ^ [N2: nat] :
          ( semiri8420488043553186161ux_int
          @ ^ [I3: int] : ( plus_plus_int @ I3 @ one_one_int )
          @ N2
          @ zero_zero_int ) ) ) ).

% of_nat_code
thf(fact_274_count__list_Osimps_I2_J,axiom,
    ! [X3: int,Y: int,Xs2: list_int] :
      ( ( ( X3 = Y )
       => ( ( count_list_int @ ( cons_int @ X3 @ Xs2 ) @ Y )
          = ( plus_plus_nat @ ( count_list_int @ Xs2 @ Y ) @ one_one_nat ) ) )
      & ( ( X3 != Y )
       => ( ( count_list_int @ ( cons_int @ X3 @ Xs2 ) @ Y )
          = ( count_list_int @ Xs2 @ Y ) ) ) ) ).

% count_list.simps(2)
thf(fact_275_full__exhaustive__natural_H_Ocases,axiom,
    ! [X3: produc989692990947075319atural] :
      ~ ! [F3: produc4972180933644002618e_term > option6357759511663192854e_term,D: code_natural,I2: code_natural] :
          ( X3
         != ( produc3831813291587773865atural @ F3 @ ( produc3574140220909816553atural @ D @ I2 ) ) ) ).

% full_exhaustive_natural'.cases
thf(fact_276_exhaustive__natural_H_Ocases,axiom,
    ! [X3: produc8731074985263844745atural] :
      ~ ! [F3: code_natural > option6357759511663192854e_term,D: code_natural,I2: code_natural] :
          ( X3
         != ( produc2252593628808123835atural @ F3 @ ( produc3574140220909816553atural @ D @ I2 ) ) ) ).

% exhaustive_natural'.cases
thf(fact_277_of__nat__eq__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M2 )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M2 = N ) ) ).

% of_nat_eq_iff
thf(fact_278_of__nat__0,axiom,
    ( ( semiri1316708129612266289at_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% of_nat_0
thf(fact_279_of__nat__0,axiom,
    ( ( semiri3763490453095760265atural @ zero_zero_nat )
    = zero_z2226904508553997617atural ) ).

% of_nat_0
thf(fact_280_of__nat__0,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% of_nat_0
thf(fact_281_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_282_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_z2226904508553997617atural
        = ( semiri3763490453095760265atural @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_283_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_284_of__nat__eq__0__iff,axiom,
    ! [M2: nat] :
      ( ( ( semiri1316708129612266289at_nat @ M2 )
        = zero_zero_nat )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_285_of__nat__eq__0__iff,axiom,
    ! [M2: nat] :
      ( ( ( semiri3763490453095760265atural @ M2 )
        = zero_z2226904508553997617atural )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_286_of__nat__eq__0__iff,axiom,
    ! [M2: nat] :
      ( ( ( semiri1314217659103216013at_int @ M2 )
        = zero_zero_int )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_287_of__nat__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( plus_plus_nat @ M2 @ N ) )
      = ( plus_plus_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% of_nat_add
thf(fact_288_of__nat__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( semiri3763490453095760265atural @ ( plus_plus_nat @ M2 @ N ) )
      = ( plus_p4538020629002901425atural @ ( semiri3763490453095760265atural @ M2 ) @ ( semiri3763490453095760265atural @ N ) ) ) ).

% of_nat_add
thf(fact_289_of__nat__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M2 @ N ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% of_nat_add
thf(fact_290_of__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ N )
        = one_one_nat )
      = ( N = one_one_nat ) ) ).

% of_nat_eq_1_iff
thf(fact_291_of__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri3763490453095760265atural @ N )
        = one_one_Code_natural )
      = ( N = one_one_nat ) ) ).

% of_nat_eq_1_iff
thf(fact_292_of__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1314217659103216013at_int @ N )
        = one_one_int )
      = ( N = one_one_nat ) ) ).

% of_nat_eq_1_iff
thf(fact_293_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_294_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_Code_natural
        = ( semiri3763490453095760265atural @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_295_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_296_of__nat__1,axiom,
    ( ( semiri1316708129612266289at_nat @ one_one_nat )
    = one_one_nat ) ).

% of_nat_1
thf(fact_297_of__nat__1,axiom,
    ( ( semiri3763490453095760265atural @ one_one_nat )
    = one_one_Code_natural ) ).

% of_nat_1
thf(fact_298_of__nat__1,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% of_nat_1
thf(fact_299_of__nat__Suc,axiom,
    ! [M2: nat] :
      ( ( semiri1316708129612266289at_nat @ ( suc @ M2 ) )
      = ( plus_plus_nat @ one_one_nat @ ( semiri1316708129612266289at_nat @ M2 ) ) ) ).

% of_nat_Suc
thf(fact_300_of__nat__Suc,axiom,
    ! [M2: nat] :
      ( ( semiri3763490453095760265atural @ ( suc @ M2 ) )
      = ( plus_p4538020629002901425atural @ one_one_Code_natural @ ( semiri3763490453095760265atural @ M2 ) ) ) ).

% of_nat_Suc
thf(fact_301_of__nat__Suc,axiom,
    ! [M2: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ M2 ) )
      = ( plus_plus_int @ one_one_int @ ( semiri1314217659103216013at_int @ M2 ) ) ) ).

% of_nat_Suc
thf(fact_302_int__ops_I4_J,axiom,
    ! [A: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ A ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ one_one_int ) ) ).

% int_ops(4)
thf(fact_303_int__Suc,axiom,
    ! [N: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ N ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) ) ).

% int_Suc
thf(fact_304_int__ops_I2_J,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% int_ops(2)
thf(fact_305_int__ops_I1_J,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% int_ops(1)
thf(fact_306_zadd__int__left,axiom,
    ! [M2: nat,N: nat,Z3: int] :
      ( ( plus_plus_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ Z3 ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M2 @ N ) ) @ Z3 ) ) ).

% zadd_int_left
thf(fact_307_int__plus,axiom,
    ! [N: nat,M2: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ N @ M2 ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ ( semiri1314217659103216013at_int @ M2 ) ) ) ).

% int_plus
thf(fact_308_int__ops_I5_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ A @ B ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(5)
thf(fact_309_of__nat__neq__0,axiom,
    ! [N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( suc @ N ) )
     != zero_zero_nat ) ).

% of_nat_neq_0
thf(fact_310_of__nat__neq__0,axiom,
    ! [N: nat] :
      ( ( semiri3763490453095760265atural @ ( suc @ N ) )
     != zero_z2226904508553997617atural ) ).

% of_nat_neq_0
thf(fact_311_of__nat__neq__0,axiom,
    ! [N: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ N ) )
     != zero_zero_int ) ).

% of_nat_neq_0
thf(fact_312_Lazy__Sequence_Oiterate__upto_Ocases,axiom,
    ! [X3: produc8731074985263844745atural] :
      ~ ! [F3: code_natural > option6357759511663192854e_term,N3: code_natural,M: code_natural] :
          ( X3
         != ( produc2252593628808123835atural @ F3 @ ( produc3574140220909816553atural @ N3 @ M ) ) ) ).

% Lazy_Sequence.iterate_upto.cases
thf(fact_313_lexord__cons__cons,axiom,
    ! [A: product_prod_nat_nat,X3: list_P6011104703257516679at_nat,B: product_prod_nat_nat,Y: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ A @ X3 ) @ ( cons_P6512896166579812791at_nat @ B @ Y ) ) @ ( lexord2841853652668343668at_nat @ R2 ) )
      = ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X3 @ Y ) @ ( lexord2841853652668343668at_nat @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_314_lexord__cons__cons,axiom,
    ! [A: int,X3: list_int,B: int,Y: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ A @ X3 ) @ ( cons_int @ B @ Y ) ) @ ( lexord_int @ R2 ) )
      = ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X3 @ Y ) @ ( lexord_int @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_315_log_Ocases,axiom,
    ! [X3: produc7822875418678951345atural] :
      ~ ! [B3: code_natural,I2: code_natural] :
          ( X3
         != ( produc3574140220909816553atural @ B3 @ I2 ) ) ).

% log.cases
thf(fact_316_lexn__length,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int,N: nat] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( lexn_int @ R2 @ N ) )
     => ( ( ( size_size_list_int @ Xs2 )
          = N )
        & ( ( size_size_list_int @ Ys )
          = N ) ) ) ).

% lexn_length
thf(fact_317_Shift__def,axiom,
    ( bNF_Gr1870224194279859149ft_int
    = ( ^ [Kl: set_list_int,K2: int] :
          ( collect_list_int
          @ ^ [Kl2: list_int] : ( member_list_int @ ( cons_int @ K2 @ Kl2 ) @ Kl ) ) ) ) ).

% Shift_def
thf(fact_318_Cons__listrel1__Cons,axiom,
    ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) ) @ ( listre4828114922151135584at_nat @ R2 ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R2 )
          & ( Xs2 = Ys ) )
        | ( ( X3 = Y )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( listre4828114922151135584at_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_319_Cons__listrel1__Cons,axiom,
    ! [X3: int,Xs2: list_int,Y: int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Ys ) ) @ ( listrel1_int @ R2 ) )
      = ( ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ R2 )
          & ( Xs2 = Ys ) )
        | ( ( X3 = Y )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel1_int @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_320_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M3: nat,N2: nat] : ( if_nat @ ( M3 = zero_zero_nat ) @ N2 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ one_one_nat ) @ N2 ) ) ) ) ) ).

% add_eq_if
thf(fact_321_enumerate__simps_I2_J,axiom,
    ! [N: nat,X3: int,Xs2: list_int] :
      ( ( enumerate_int @ N @ ( cons_int @ X3 @ Xs2 ) )
      = ( cons_P2335045147070616083at_int @ ( product_Pair_nat_int @ N @ X3 ) @ ( enumerate_int @ ( suc @ N ) @ Xs2 ) ) ) ).

% enumerate_simps(2)
thf(fact_322_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ A )
      = zero_zero_nat ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_323_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ A )
      = zero_zero_int ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_324_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: code_natural] :
      ( ( minus_7197305767214868737atural @ A @ A )
      = zero_z2226904508553997617atural ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_325_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

% diff_zero
thf(fact_326_diff__zero,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ zero_zero_int )
      = A ) ).

% diff_zero
thf(fact_327_diff__zero,axiom,
    ! [A: code_natural] :
      ( ( minus_7197305767214868737atural @ A @ zero_z2226904508553997617atural )
      = A ) ).

% diff_zero
thf(fact_328_zero__diff,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_329_zero__diff,axiom,
    ! [A: code_natural] :
      ( ( minus_7197305767214868737atural @ zero_z2226904508553997617atural @ A )
      = zero_z2226904508553997617atural ) ).

% zero_diff
thf(fact_330_diff__0__right,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ zero_zero_int )
      = A ) ).

% diff_0_right
thf(fact_331_diff__self,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ A )
      = zero_zero_int ) ).

% diff_self
thf(fact_332_add__diff__cancel,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel
thf(fact_333_diff__add__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ B )
      = A ) ).

% diff_add_cancel
thf(fact_334_add__diff__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_335_add__diff__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( minus_minus_int @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_336_add__diff__cancel__left,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) )
      = ( minus_7197305767214868737atural @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_337_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_338_add__diff__cancel__left_H,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_339_add__diff__cancel__left_H,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ ( plus_p4538020629002901425atural @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_340_add__diff__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_341_add__diff__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( minus_minus_int @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_342_add__diff__cancel__right,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) )
      = ( minus_7197305767214868737atural @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_343_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_344_add__diff__cancel__right_H,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_345_add__diff__cancel__right_H,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ ( plus_p4538020629002901425atural @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_346_Suc__diff__diff,axiom,
    ! [M2: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M2 ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M2 @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_347_diff__Suc__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M2 ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M2 @ N ) ) ).

% diff_Suc_Suc
thf(fact_348_diff__self__eq__0,axiom,
    ! [M2: nat] :
      ( ( minus_minus_nat @ M2 @ M2 )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_349_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_350_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_351_length__enumerate,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( size_s2970893825323803983at_int @ ( enumerate_int @ N @ Xs2 ) )
      = ( size_size_list_int @ Xs2 ) ) ).

% length_enumerate
thf(fact_352_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_353_diff__add__zero,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ A @ ( plus_p4538020629002901425atural @ A @ B ) )
      = zero_z2226904508553997617atural ) ).

% diff_add_zero
thf(fact_354_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_355_odd__nonzero,axiom,
    ! [Z3: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z3 ) @ Z3 )
     != zero_zero_int ) ).

% odd_nonzero
thf(fact_356_one__integer_Orsp,axiom,
    one_one_int = one_one_int ).

% one_integer.rsp
thf(fact_357_int__int__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M2 )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M2 = N ) ) ).

% int_int_eq
thf(fact_358_int__if,axiom,
    ! [P2: $o,A: nat,B: nat] :
      ( ( P2
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P2 @ A @ B ) )
          = ( semiri1314217659103216013at_int @ A ) ) )
      & ( ~ P2
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P2 @ A @ B ) )
          = ( semiri1314217659103216013at_int @ B ) ) ) ) ).

% int_if
thf(fact_359_nat__int__comparison_I1_J,axiom,
    ( ( ^ [Y6: nat,Z4: nat] : ( Y6 = Z4 ) )
    = ( ^ [A5: nat,B5: nat] :
          ( ( semiri1314217659103216013at_int @ A5 )
          = ( semiri1314217659103216013at_int @ B5 ) ) ) ) ).

% nat_int_comparison(1)
thf(fact_360_plus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( plus_plus_int @ zero_zero_int @ L )
      = L ) ).

% plus_int_code(2)
thf(fact_361_plus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( plus_plus_int @ K @ zero_zero_int )
      = K ) ).

% plus_int_code(1)
thf(fact_362_diff__eq__diff__eq,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D2 ) )
     => ( ( A = B )
        = ( C = D2 ) ) ) ).

% diff_eq_diff_eq
thf(fact_363_diff__right__commute,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ C ) @ B )
      = ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_364_diff__right__commute,axiom,
    ! [A: int,C: int,B: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A @ C ) @ B )
      = ( minus_minus_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_365_diff__right__commute,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( minus_7197305767214868737atural @ ( minus_7197305767214868737atural @ A @ C ) @ B )
      = ( minus_7197305767214868737atural @ ( minus_7197305767214868737atural @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_366_diff__commute,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ ( minus_minus_nat @ I @ K ) @ J ) ) ).

% diff_commute
thf(fact_367_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y6: int,Z4: int] : ( Y6 = Z4 ) )
    = ( ^ [A5: int,B5: int] :
          ( ( minus_minus_int @ A5 @ B5 )
          = zero_zero_int ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_368_group__cancel_Osub1,axiom,
    ! [A2: int,K: int,A: int,B: int] :
      ( ( A2
        = ( plus_plus_int @ K @ A ) )
     => ( ( minus_minus_int @ A2 @ B )
        = ( plus_plus_int @ K @ ( minus_minus_int @ A @ B ) ) ) ) ).

% group_cancel.sub1
thf(fact_369_diff__eq__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( minus_minus_int @ A @ B )
        = C )
      = ( A
        = ( plus_plus_int @ C @ B ) ) ) ).

% diff_eq_eq
thf(fact_370_eq__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( A
        = ( minus_minus_int @ C @ B ) )
      = ( ( plus_plus_int @ A @ B )
        = C ) ) ).

% eq_diff_eq
thf(fact_371_add__diff__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ A @ ( minus_minus_int @ B @ C ) )
      = ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

% add_diff_eq
thf(fact_372_diff__diff__eq2,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ A @ ( minus_minus_int @ B @ C ) )
      = ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ B ) ) ).

% diff_diff_eq2
thf(fact_373_diff__add__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ B ) ) ).

% diff_add_eq
thf(fact_374_diff__add__eq__diff__diff__swap,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ A @ ( plus_plus_int @ B @ C ) )
      = ( minus_minus_int @ ( minus_minus_int @ A @ C ) @ B ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_375_add__implies__diff,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ( plus_plus_nat @ C @ B )
        = A )
     => ( C
        = ( minus_minus_nat @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_376_add__implies__diff,axiom,
    ! [C: int,B: int,A: int] :
      ( ( ( plus_plus_int @ C @ B )
        = A )
     => ( C
        = ( minus_minus_int @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_377_add__implies__diff,axiom,
    ! [C: code_natural,B: code_natural,A: code_natural] :
      ( ( ( plus_p4538020629002901425atural @ C @ B )
        = A )
     => ( C
        = ( minus_7197305767214868737atural @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_378_diff__diff__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C )
      = ( minus_minus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_379_diff__diff__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( minus_minus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_380_diff__diff__eq,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( minus_7197305767214868737atural @ ( minus_7197305767214868737atural @ A @ B ) @ C )
      = ( minus_7197305767214868737atural @ A @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_381_zero__induct__lemma,axiom,
    ! [P2: nat > $o,K: nat,I: nat] :
      ( ( P2 @ K )
     => ( ! [N3: nat] :
            ( ( P2 @ ( suc @ N3 ) )
           => ( P2 @ N3 ) )
       => ( P2 @ ( minus_minus_nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_382_diffs0__imp__equal,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( minus_minus_nat @ M2 @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M2 )
          = zero_zero_nat )
       => ( M2 = N ) ) ) ).

% diffs0_imp_equal
thf(fact_383_minus__nat_Odiff__0,axiom,
    ! [M2: nat] :
      ( ( minus_minus_nat @ M2 @ zero_zero_nat )
      = M2 ) ).

% minus_nat.diff_0
thf(fact_384_Nat_Odiff__cancel,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M2 ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M2 @ N ) ) ).

% Nat.diff_cancel
thf(fact_385_diff__cancel2,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M2 @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M2 @ N ) ) ).

% diff_cancel2
thf(fact_386_diff__add__inverse,axiom,
    ! [N: nat,M2: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M2 ) @ N )
      = M2 ) ).

% diff_add_inverse
thf(fact_387_diff__add__inverse2,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M2 @ N ) @ N )
      = M2 ) ).

% diff_add_inverse2
thf(fact_388_diff__add__0,axiom,
    ! [N: nat,M2: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M2 ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_389_diff__Suc__eq__diff__pred,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus_nat @ M2 @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M2 @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_390_listrel1I2,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int,X3: int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel1_int @ R2 ) )
     => ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ X3 @ Ys ) ) @ ( listrel1_int @ R2 ) ) ) ).

% listrel1I2
thf(fact_391_listrel1__eq__len,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel1_int @ R2 ) )
     => ( ( size_size_list_int @ Xs2 )
        = ( size_size_list_int @ Ys ) ) ) ).

% listrel1_eq_len
thf(fact_392_lexord__linear,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,X3: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ! [A4: product_prod_nat_nat,B3: product_prod_nat_nat] :
          ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ A4 @ B3 ) @ R2 )
          | ( A4 = B3 )
          | ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ B3 @ A4 ) @ R2 ) )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X3 @ Y ) @ ( lexord2841853652668343668at_nat @ R2 ) )
        | ( X3 = Y )
        | ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Y @ X3 ) @ ( lexord2841853652668343668at_nat @ R2 ) ) ) ) ).

% lexord_linear
thf(fact_393_lexord__linear,axiom,
    ! [R2: set_Pr958786334691620121nt_int,X3: list_int,Y: list_int] :
      ( ! [A4: int,B3: int] :
          ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ A4 @ B3 ) @ R2 )
          | ( A4 = B3 )
          | ( member5262025264175285858nt_int @ ( product_Pair_int_int @ B3 @ A4 ) @ R2 ) )
     => ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X3 @ Y ) @ ( lexord_int @ R2 ) )
        | ( X3 = Y )
        | ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Y @ X3 ) @ ( lexord_int @ R2 ) ) ) ) ).

% lexord_linear
thf(fact_394_lexord__irreflexive,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,Xs2: list_P6011104703257516679at_nat] :
      ( ! [X5: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X5 @ X5 ) @ R2 )
     => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Xs2 ) @ ( lexord2841853652668343668at_nat @ R2 ) ) ) ).

% lexord_irreflexive
thf(fact_395_lexord__irreflexive,axiom,
    ! [R2: set_Pr958786334691620121nt_int,Xs2: list_int] :
      ( ! [X5: int] :
          ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X5 @ X5 ) @ R2 )
     => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Xs2 ) @ ( lexord_int @ R2 ) ) ) ).

% lexord_irreflexive
thf(fact_396_Cons__listrel1E2,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) ) @ ( listre4828114922151135584at_nat @ R2 ) )
     => ( ! [X5: product_prod_nat_nat] :
            ( ( Xs2
              = ( cons_P6512896166579812791at_nat @ X5 @ Ys ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X5 @ Y ) @ R2 ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Xs2
                = ( cons_P6512896166579812791at_nat @ Y @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Zs2 @ Ys ) @ ( listre4828114922151135584at_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_397_Cons__listrel1E2,axiom,
    ! [Xs2: list_int,Y: int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ ( cons_int @ Y @ Ys ) ) @ ( listrel1_int @ R2 ) )
     => ( ! [X5: int] :
            ( ( Xs2
              = ( cons_int @ X5 @ Ys ) )
           => ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X5 @ Y ) @ R2 ) )
       => ~ ! [Zs2: list_int] :
              ( ( Xs2
                = ( cons_int @ Y @ Zs2 ) )
             => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Zs2 @ Ys ) @ ( listrel1_int @ R2 ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_398_Cons__listrel1E1,axiom,
    ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys ) @ ( listre4828114922151135584at_nat @ R2 ) )
     => ( ! [Y3: product_prod_nat_nat] :
            ( ( Ys
              = ( cons_P6512896166579812791at_nat @ Y3 @ Xs2 ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y3 ) @ R2 ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Ys
                = ( cons_P6512896166579812791at_nat @ X3 @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Zs2 ) @ ( listre4828114922151135584at_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_399_Cons__listrel1E1,axiom,
    ! [X3: int,Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ Ys ) @ ( listrel1_int @ R2 ) )
     => ( ! [Y3: int] :
            ( ( Ys
              = ( cons_int @ Y3 @ Xs2 ) )
           => ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y3 ) @ R2 ) )
       => ~ ! [Zs2: list_int] :
              ( ( Ys
                = ( cons_int @ X3 @ Zs2 ) )
             => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Zs2 ) @ ( listrel1_int @ R2 ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_400_listrel1I1,axiom,
    ! [X3: product_prod_nat_nat,Y: product_prod_nat_nat,R2: set_Pr8693737435421807431at_nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R2 )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y @ Xs2 ) ) @ ( listre4828114922151135584at_nat @ R2 ) ) ) ).

% listrel1I1
thf(fact_401_listrel1I1,axiom,
    ! [X3: int,Y: int,R2: set_Pr958786334691620121nt_int,Xs2: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ R2 )
     => ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Xs2 ) ) @ ( listrel1_int @ R2 ) ) ) ).

% listrel1I1
thf(fact_402_lexord__lex,axiom,
    ! [X3: list_int,Y: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X3 @ Y ) @ ( lex_int @ R2 ) )
      = ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X3 @ Y ) @ ( lexord_int @ R2 ) )
        & ( ( size_size_list_int @ X3 )
          = ( size_size_list_int @ Y ) ) ) ) ).

% lexord_lex
thf(fact_403_diff__numeral__special_I9_J,axiom,
    ( ( minus_minus_int @ one_one_int @ one_one_int )
    = zero_zero_int ) ).

% diff_numeral_special(9)
thf(fact_404_bezw__0,axiom,
    ! [X3: nat] :
      ( ( bezw @ X3 @ zero_zero_nat )
      = ( product_Pair_int_int @ one_one_int @ zero_zero_int ) ) ).

% bezw_0
thf(fact_405_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_406_diff__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus_nat @ M2 @ ( suc @ N ) )
      = ( case_nat_nat @ zero_zero_nat
        @ ^ [K2: nat] : K2
        @ ( minus_minus_nat @ M2 @ N ) ) ) ).

% diff_Suc
thf(fact_407_length__butlast,axiom,
    ! [Xs2: list_int] :
      ( ( size_size_list_int @ ( butlast_int @ Xs2 ) )
      = ( minus_minus_nat @ ( size_size_list_int @ Xs2 ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_408_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_409_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_410_add__less__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_411_add__less__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( ord_less_int @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_412_add__less__cancel__right,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) )
      = ( ord_le5570908160329646204atural @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_413_add__less__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_414_add__less__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( ord_less_int @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_415_add__less__cancel__left,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) )
      = ( ord_le5570908160329646204atural @ A @ B ) ) ).

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

% lessI
thf(fact_417_Suc__mono,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N ) ) ) ).

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

% Suc_less_eq
thf(fact_419_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_420_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_421_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_422_nat__add__left__cancel__less,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M2 ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_423_zero__less__double__add__iff__zero__less__single__add,axiom,
    ! [A: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ A ) )
      = ( ord_less_int @ zero_zero_int @ A ) ) ).

% zero_less_double_add_iff_zero_less_single_add
thf(fact_424_double__add__less__zero__iff__single__add__less__zero,axiom,
    ! [A: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ A ) @ zero_zero_int )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% double_add_less_zero_iff_single_add_less_zero
thf(fact_425_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_426_less__add__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( plus_plus_int @ B @ A ) )
      = ( ord_less_int @ zero_zero_int @ B ) ) ).

% less_add_same_cancel2
thf(fact_427_less__add__same__cancel2,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ ( plus_p4538020629002901425atural @ B @ A ) )
      = ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ B ) ) ).

% less_add_same_cancel2
thf(fact_428_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_429_less__add__same__cancel1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( plus_plus_int @ A @ B ) )
      = ( ord_less_int @ zero_zero_int @ B ) ) ).

% less_add_same_cancel1
thf(fact_430_less__add__same__cancel1,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ ( plus_p4538020629002901425atural @ A @ B ) )
      = ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ B ) ) ).

% less_add_same_cancel1
thf(fact_431_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_432_add__less__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ B ) @ B )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% add_less_same_cancel2
thf(fact_433_add__less__same__cancel2,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ B ) @ B )
      = ( ord_le5570908160329646204atural @ A @ zero_z2226904508553997617atural ) ) ).

% add_less_same_cancel2
thf(fact_434_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_435_add__less__same__cancel1,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ ( plus_plus_int @ B @ A ) @ B )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% add_less_same_cancel1
thf(fact_436_add__less__same__cancel1,axiom,
    ! [B: code_natural,A: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ B @ A ) @ B )
      = ( ord_le5570908160329646204atural @ A @ zero_z2226904508553997617atural ) ) ).

% add_less_same_cancel1
thf(fact_437_diff__gt__0__iff__gt,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ zero_zero_int @ ( minus_minus_int @ A @ B ) )
      = ( ord_less_int @ B @ A ) ) ).

% diff_gt_0_iff_gt
thf(fact_438_of__nat__less__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_iff
thf(fact_439_of__nat__less__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_le5570908160329646204atural @ ( semiri3763490453095760265atural @ M2 ) @ ( semiri3763490453095760265atural @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_iff
thf(fact_440_of__nat__less__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_iff
thf(fact_441_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_442_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_443_add__gr__0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M2 )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_444_zero__less__diff,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M2 ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% zero_less_diff
thf(fact_445_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_446_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_447_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_448_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ ( semiri3763490453095760265atural @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_449_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_450_full__exhaustive__int_H_Ocases,axiom,
    ! [X3: produc2285326912895808259nt_int] :
      ~ ! [F3: produc8551481072490612790e_term > option6357759511663192854e_term,D: int,I2: int] :
          ( X3
         != ( produc5700946648718959541nt_int @ F3 @ ( product_Pair_int_int @ D @ I2 ) ) ) ).

% full_exhaustive_int'.cases
thf(fact_451_exhaustive__int_H_Ocases,axiom,
    ! [X3: produc7773217078559923341nt_int] :
      ~ ! [F3: int > option6357759511663192854e_term,D: int,I2: int] :
          ( X3
         != ( produc4305682042979456191nt_int @ F3 @ ( product_Pair_int_int @ D @ I2 ) ) ) ).

% exhaustive_int'.cases
thf(fact_452_small__lazy_H_Ocases,axiom,
    ! [X3: product_prod_int_int] :
      ~ ! [D: int,I2: int] :
          ( X3
         != ( product_Pair_int_int @ D @ I2 ) ) ).

% small_lazy'.cases
thf(fact_453_of__nat__less__imp__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ ( semiri1316708129612266289at_nat @ N ) )
     => ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_imp_less
thf(fact_454_of__nat__less__imp__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_le5570908160329646204atural @ ( semiri3763490453095760265atural @ M2 ) @ ( semiri3763490453095760265atural @ N ) )
     => ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_imp_less
thf(fact_455_of__nat__less__imp__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) )
     => ( ord_less_nat @ M2 @ N ) ) ).

% of_nat_less_imp_less
thf(fact_456_less__imp__of__nat__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_457_less__imp__of__nat__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_le5570908160329646204atural @ ( semiri3763490453095760265atural @ M2 ) @ ( semiri3763490453095760265atural @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_458_less__imp__of__nat__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_459_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_460_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_numeral_extra(3)
thf(fact_461_less__numeral__extra_I3_J,axiom,
    ~ ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ zero_z2226904508553997617atural ) ).

% less_numeral_extra(3)
thf(fact_462_linorder__neqE__nat,axiom,
    ! [X3: nat,Y: nat] :
      ( ( X3 != Y )
     => ( ~ ( ord_less_nat @ X3 @ Y )
       => ( ord_less_nat @ Y @ X3 ) ) ) ).

% linorder_neqE_nat
thf(fact_463_infinite__descent,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P2 @ N3 )
         => ? [M4: nat] :
              ( ( ord_less_nat @ M4 @ N3 )
              & ~ ( P2 @ M4 ) ) )
     => ( P2 @ N ) ) ).

% infinite_descent
thf(fact_464_nat__less__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_nat @ M4 @ N3 )
             => ( P2 @ M4 ) )
         => ( P2 @ N3 ) )
     => ( P2 @ N ) ) ).

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

% less_irrefl_nat
thf(fact_466_less__not__refl3,axiom,
    ! [S: nat,T: nat] :
      ( ( ord_less_nat @ S @ T )
     => ( S != T ) ) ).

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

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

% less_not_refl
thf(fact_469_nat__neq__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( M2 != N )
      = ( ( ord_less_nat @ M2 @ N )
        | ( ord_less_nat @ N @ M2 ) ) ) ).

% nat_neq_iff
thf(fact_470_lift__Suc__mono__less,axiom,
    ! [F2: nat > nat,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_less_nat @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_471_lift__Suc__mono__less,axiom,
    ! [F2: nat > int,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_int @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_less_int @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_472_lift__Suc__mono__less,axiom,
    ! [F2: nat > code_natural,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_le5570908160329646204atural @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_le5570908160329646204atural @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_473_lift__Suc__mono__less__iff,axiom,
    ! [F2: nat > nat,N: nat,M2: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ ( F2 @ N ) @ ( F2 @ M2 ) )
        = ( ord_less_nat @ N @ M2 ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_474_lift__Suc__mono__less__iff,axiom,
    ! [F2: nat > int,N: nat,M2: nat] :
      ( ! [N3: nat] : ( ord_less_int @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_int @ ( F2 @ N ) @ ( F2 @ M2 ) )
        = ( ord_less_nat @ N @ M2 ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_475_lift__Suc__mono__less__iff,axiom,
    ! [F2: nat > code_natural,N: nat,M2: nat] :
      ( ! [N3: nat] : ( ord_le5570908160329646204atural @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_le5570908160329646204atural @ ( F2 @ N ) @ ( F2 @ M2 ) )
        = ( ord_less_nat @ N @ M2 ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_476_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_477_verit__comp__simplify1_I1_J,axiom,
    ! [A: int] :
      ~ ( ord_less_int @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_478_verit__comp__simplify1_I1_J,axiom,
    ! [A: code_natural] :
      ~ ( ord_le5570908160329646204atural @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_479_nat_Ocase__distrib,axiom,
    ! [H: nat > nat,F1: nat,F22: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F22 @ Nat ) )
      = ( case_nat_nat @ ( H @ F1 )
        @ ^ [X: nat] : ( H @ ( F22 @ X ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_480_nat_Ocase__distrib,axiom,
    ! [H: nat > $o,F1: nat,F22: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F22 @ Nat ) )
      = ( case_nat_o @ ( H @ F1 )
        @ ^ [X: nat] : ( H @ ( F22 @ X ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_481_nat_Ocase__distrib,axiom,
    ! [H: $o > nat,F1: $o,F22: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F22 @ Nat ) )
      = ( case_nat_nat @ ( H @ F1 )
        @ ^ [X: nat] : ( H @ ( F22 @ X ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_482_nat_Ocase__distrib,axiom,
    ! [H: $o > $o,F1: $o,F22: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F22 @ Nat ) )
      = ( case_nat_o @ ( H @ F1 )
        @ ^ [X: nat] : ( H @ ( F22 @ X ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_483_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_484_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_485_gr__implies__not__zero,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_486_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_487_minus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( minus_minus_int @ K @ zero_zero_int )
      = K ) ).

% minus_int_code(1)
thf(fact_488_add__less__imp__less__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_489_add__less__imp__less__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
     => ( ord_less_int @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_490_add__less__imp__less__right,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) )
     => ( ord_le5570908160329646204atural @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_491_add__less__imp__less__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_492_add__less__imp__less__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
     => ( ord_less_int @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_493_add__less__imp__less__left,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) )
     => ( ord_le5570908160329646204atural @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_494_add__strict__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_495_add__strict__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_496_add__strict__right__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ B )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_497_add__strict__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_498_add__strict__left__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_499_add__strict__left__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ B )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_500_add__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_501_add__strict__mono,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ C @ D2 )
       => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_502_add__strict__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural,D2: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ B )
     => ( ( ord_le5570908160329646204atural @ C @ D2 )
       => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_503_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_504_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I @ J )
        & ( K = L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_505_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le5570908160329646204atural @ I @ J )
        & ( K = L ) )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_506_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_507_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( I = J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_508_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( I = J )
        & ( ord_le5570908160329646204atural @ K @ L ) )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_509_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_510_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I @ J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_511_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le5570908160329646204atural @ I @ J )
        & ( ord_le5570908160329646204atural @ K @ L ) )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_512_diff__strict__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ C ) ) ) ).

% diff_strict_right_mono
thf(fact_513_diff__strict__left__mono,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_int @ B @ A )
     => ( ord_less_int @ ( minus_minus_int @ C @ A ) @ ( minus_minus_int @ C @ B ) ) ) ).

% diff_strict_left_mono
thf(fact_514_diff__eq__diff__less,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D2 ) )
     => ( ( ord_less_int @ A @ B )
        = ( ord_less_int @ C @ D2 ) ) ) ).

% diff_eq_diff_less
thf(fact_515_diff__strict__mono,axiom,
    ! [A: int,B: int,D2: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ D2 @ C )
       => ( ord_less_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ D2 ) ) ) ) ).

% diff_strict_mono
thf(fact_516_int__diff__cases,axiom,
    ! [Z3: int] :
      ~ ! [M: nat,N3: nat] :
          ( Z3
         != ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% int_diff_cases
thf(fact_517_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_518_Suc__lessD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M2 ) @ N )
     => ( ord_less_nat @ M2 @ N ) ) ).

% Suc_lessD
thf(fact_519_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_520_Suc__lessI,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ( ( suc @ M2 )
         != N )
       => ( ord_less_nat @ ( suc @ M2 ) @ N ) ) ) ).

% Suc_lessI
thf(fact_521_less__SucE,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M2 @ N )
       => ( M2 = N ) ) ) ).

% less_SucE
thf(fact_522_less__SucI,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_nat @ M2 @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_523_Ex__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P2 @ I3 ) ) )
      = ( ( P2 @ N )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P2 @ I3 ) ) ) ) ).

% Ex_less_Suc
thf(fact_524_less__Suc__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
      = ( ( ord_less_nat @ M2 @ N )
        | ( M2 = N ) ) ) ).

% less_Suc_eq
thf(fact_525_not__less__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M2 @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M2 ) ) ) ).

% not_less_eq
thf(fact_526_All__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P2 @ I3 ) ) )
      = ( ( P2 @ N )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P2 @ I3 ) ) ) ) ).

% All_less_Suc
thf(fact_527_Suc__less__eq2,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M2 )
      = ( ? [M5: nat] :
            ( ( M2
              = ( suc @ M5 ) )
            & ( ord_less_nat @ N @ M5 ) ) ) ) ).

% Suc_less_eq2
thf(fact_528_less__antisym,axiom,
    ! [N: nat,M2: nat] :
      ( ~ ( ord_less_nat @ N @ M2 )
     => ( ( ord_less_nat @ N @ ( suc @ M2 ) )
       => ( M2 = N ) ) ) ).

% less_antisym
thf(fact_529_Suc__less__SucD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N ) )
     => ( ord_less_nat @ M2 @ N ) ) ).

% Suc_less_SucD
thf(fact_530_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_531_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] : ( P2 @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J2: nat,K3: nat] :
              ( ( ord_less_nat @ I2 @ J2 )
             => ( ( ord_less_nat @ J2 @ K3 )
               => ( ( P2 @ I2 @ J2 )
                 => ( ( P2 @ J2 @ K3 )
                   => ( P2 @ I2 @ K3 ) ) ) ) )
         => ( P2 @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_532_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P2 @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P2 @ ( suc @ I2 ) )
               => ( P2 @ I2 ) ) )
         => ( P2 @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_533_not__less__less__Suc__eq,axiom,
    ! [N: nat,M2: nat] :
      ( ~ ( ord_less_nat @ N @ M2 )
     => ( ( ord_less_nat @ N @ ( suc @ M2 ) )
        = ( N = M2 ) ) ) ).

% not_less_less_Suc_eq
thf(fact_534_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_535_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_536_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_537_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_538_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_539_gr__implies__not0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_540_infinite__descent0,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P2 @ N3 )
             => ? [M4: nat] :
                  ( ( ord_less_nat @ M4 @ N3 )
                  & ~ ( P2 @ M4 ) ) ) )
       => ( P2 @ N ) ) ) ).

% infinite_descent0
thf(fact_541_length__induct,axiom,
    ! [P2: list_int > $o,Xs2: list_int] :
      ( ! [Xs3: list_int] :
          ( ! [Ys3: list_int] :
              ( ( ord_less_nat @ ( size_size_list_int @ Ys3 ) @ ( size_size_list_int @ Xs3 ) )
             => ( P2 @ Ys3 ) )
         => ( P2 @ Xs3 ) )
     => ( P2 @ Xs2 ) ) ).

% length_induct
thf(fact_542_less__add__eq__less,axiom,
    ! [K: nat,L: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ K @ L )
     => ( ( ( plus_plus_nat @ M2 @ L )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M2 @ N ) ) ) ).

% less_add_eq_less
thf(fact_543_trans__less__add2,axiom,
    ! [I: nat,J: nat,M2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M2 @ J ) ) ) ).

% trans_less_add2
thf(fact_544_trans__less__add1,axiom,
    ! [I: nat,J: nat,M2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M2 ) ) ) ).

% trans_less_add1
thf(fact_545_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_546_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_547_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_548_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_549_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_550_less__imp__diff__less,axiom,
    ! [J: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ J @ K )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_551_diff__less__mono2,axiom,
    ! [M2: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ( ord_less_nat @ M2 @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M2 ) ) ) ) ).

% diff_less_mono2
thf(fact_552_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_553_less__numeral__extra_I1_J,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% less_numeral_extra(1)
thf(fact_554_less__numeral__extra_I1_J,axiom,
    ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ one_one_Code_natural ).

% less_numeral_extra(1)
thf(fact_555_natural__zero__minus__one,axiom,
    ( ( minus_7197305767214868737atural @ zero_z2226904508553997617atural @ one_one_Code_natural )
    = zero_z2226904508553997617atural ) ).

% natural_zero_minus_one
thf(fact_556_Suc__natural__minus__one,axiom,
    ! [N: code_natural] :
      ( ( minus_7197305767214868737atural @ ( code_Suc @ N ) @ one_one_Code_natural )
      = N ) ).

% Suc_natural_minus_one
thf(fact_557_map__butlast,axiom,
    ! [F2: tm > tm,Xs2: list_tm] :
      ( ( map_tm_tm @ F2 @ ( butlast_tm @ Xs2 ) )
      = ( butlast_tm @ ( map_tm_tm @ F2 @ Xs2 ) ) ) ).

% map_butlast
thf(fact_558_map__butlast,axiom,
    ! [F2: tm > a,Xs2: list_tm] :
      ( ( map_tm_a @ F2 @ ( butlast_tm @ Xs2 ) )
      = ( butlast_a @ ( map_tm_a @ F2 @ Xs2 ) ) ) ).

% map_butlast
thf(fact_559_old_Onat_Osimps_I5_J,axiom,
    ! [F1: nat,F22: nat > nat,X2: nat] :
      ( ( case_nat_nat @ F1 @ F22 @ ( suc @ X2 ) )
      = ( F22 @ X2 ) ) ).

% old.nat.simps(5)
thf(fact_560_old_Onat_Osimps_I5_J,axiom,
    ! [F1: $o,F22: nat > $o,X2: nat] :
      ( ( case_nat_o @ F1 @ F22 @ ( suc @ X2 ) )
      = ( F22 @ X2 ) ) ).

% old.nat.simps(5)
thf(fact_561_old_Onat_Osimps_I4_J,axiom,
    ! [F1: nat,F22: nat > nat] :
      ( ( case_nat_nat @ F1 @ F22 @ zero_zero_nat )
      = F1 ) ).

% old.nat.simps(4)
thf(fact_562_old_Onat_Osimps_I4_J,axiom,
    ! [F1: $o,F22: nat > $o] :
      ( ( case_nat_o @ F1 @ F22 @ zero_zero_nat )
      = F1 ) ).

% old.nat.simps(4)
thf(fact_563_add__less__zeroD,axiom,
    ! [X3: int,Y: int] :
      ( ( ord_less_int @ ( plus_plus_int @ X3 @ Y ) @ zero_zero_int )
     => ( ( ord_less_int @ X3 @ zero_zero_int )
        | ( ord_less_int @ Y @ zero_zero_int ) ) ) ).

% add_less_zeroD
thf(fact_564_pos__add__strict,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_565_pos__add__strict,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_566_pos__add__strict,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ A )
     => ( ( ord_le5570908160329646204atural @ B @ C )
       => ( ord_le5570908160329646204atural @ B @ ( plus_p4538020629002901425atural @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_567_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C2 ) )
           => ( C2 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_568_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_569_add__pos__pos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_570_add__pos__pos,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ A )
     => ( ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ B )
       => ( ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ ( plus_p4538020629002901425atural @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_571_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_572_add__neg__neg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ B @ zero_zero_int )
       => ( ord_less_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_neg_neg
thf(fact_573_add__neg__neg,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ zero_z2226904508553997617atural )
     => ( ( ord_le5570908160329646204atural @ B @ zero_z2226904508553997617atural )
       => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ B ) @ zero_z2226904508553997617atural ) ) ) ).

% add_neg_neg
thf(fact_574_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_575_not__one__less__zero,axiom,
    ~ ( ord_less_int @ one_one_int @ zero_zero_int ) ).

% not_one_less_zero
thf(fact_576_not__one__less__zero,axiom,
    ~ ( ord_le5570908160329646204atural @ one_one_Code_natural @ zero_z2226904508553997617atural ) ).

% not_one_less_zero
thf(fact_577_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_578_zero__less__one,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% zero_less_one
thf(fact_579_zero__less__one,axiom,
    ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ one_one_Code_natural ).

% zero_less_one
thf(fact_580_less__iff__diff__less__0,axiom,
    ( ord_less_int
    = ( ^ [A5: int,B5: int] : ( ord_less_int @ ( minus_minus_int @ A5 @ B5 ) @ zero_zero_int ) ) ) ).

% less_iff_diff_less_0
thf(fact_581_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_582_less__add__one,axiom,
    ! [A: int] : ( ord_less_int @ A @ ( plus_plus_int @ A @ one_one_int ) ) ).

% less_add_one
thf(fact_583_less__add__one,axiom,
    ! [A: code_natural] : ( ord_le5570908160329646204atural @ A @ ( plus_p4538020629002901425atural @ A @ one_one_Code_natural ) ) ).

% less_add_one
thf(fact_584_add__mono1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_585_add__mono1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ A @ one_one_int ) @ ( plus_plus_int @ B @ one_one_int ) ) ) ).

% add_mono1
thf(fact_586_add__mono1,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ B )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ one_one_Code_natural ) @ ( plus_p4538020629002901425atural @ B @ one_one_Code_natural ) ) ) ).

% add_mono1
thf(fact_587_less__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ A @ ( minus_minus_int @ C @ B ) )
      = ( ord_less_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

% less_diff_eq
thf(fact_588_diff__less__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( ord_less_int @ A @ ( plus_plus_int @ C @ B ) ) ) ).

% diff_less_eq
thf(fact_589_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_590_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: int,B: int] :
      ( ~ ( ord_less_int @ A @ B )
     => ( ( plus_plus_int @ B @ ( minus_minus_int @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_591_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ~ ( ord_le5570908160329646204atural @ A @ B )
     => ( ( plus_p4538020629002901425atural @ B @ ( minus_7197305767214868737atural @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_592_of__nat__less__0__iff,axiom,
    ! [M2: nat] :
      ~ ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ zero_zero_nat ) ).

% of_nat_less_0_iff
thf(fact_593_of__nat__less__0__iff,axiom,
    ! [M2: nat] :
      ~ ( ord_le5570908160329646204atural @ ( semiri3763490453095760265atural @ M2 ) @ zero_z2226904508553997617atural ) ).

% of_nat_less_0_iff
thf(fact_594_of__nat__less__0__iff,axiom,
    ! [M2: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ M2 ) @ zero_zero_int ) ).

% of_nat_less_0_iff
thf(fact_595_Ex__less__Suc2,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P2 @ I3 ) ) )
      = ( ( P2 @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P2 @ ( suc @ I3 ) ) ) ) ) ).

% Ex_less_Suc2
thf(fact_596_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M3: nat] :
            ( N
            = ( suc @ M3 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_597_All__less__Suc2,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P2 @ I3 ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P2 @ ( suc @ I3 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_598_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M: nat] :
          ( N
          = ( suc @ M ) ) ) ).

% gr0_implies_Suc
thf(fact_599_less__Suc__eq__0__disj,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
      = ( ( M2 = zero_zero_nat )
        | ? [J3: nat] :
            ( ( M2
              = ( suc @ J3 ) )
            & ( ord_less_nat @ J3 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_600_less__imp__Suc__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M2 @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_601_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M3: nat,N2: nat] :
        ? [K2: nat] :
          ( N2
          = ( suc @ ( plus_plus_nat @ M3 @ K2 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_602_less__add__Suc2,axiom,
    ! [I: nat,M2: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M2 @ I ) ) ) ).

% less_add_Suc2
thf(fact_603_less__add__Suc1,axiom,
    ! [I: nat,M2: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M2 ) ) ) ).

% less_add_Suc1
thf(fact_604_less__natE,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ~ ! [Q3: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M2 @ Q3 ) ) ) ) ).

% less_natE
thf(fact_605_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I @ K3 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_606_Suc__diff__Suc,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ N @ M2 )
     => ( ( suc @ ( minus_minus_nat @ M2 @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M2 @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_607_diff__less__Suc,axiom,
    ! [M2: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M2 @ N ) @ ( suc @ M2 ) ) ).

% diff_less_Suc
thf(fact_608_diff__less,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M2 )
       => ( ord_less_nat @ ( minus_minus_nat @ M2 @ N ) @ M2 ) ) ) ).

% diff_less
thf(fact_609_less__diff__conv,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ).

% less_diff_conv
thf(fact_610_add__diff__inverse__nat,axiom,
    ! [M2: nat,N: nat] :
      ( ~ ( ord_less_nat @ M2 @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M2 @ N ) )
        = M2 ) ) ).

% add_diff_inverse_nat
thf(fact_611_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_612_zero__less__two,axiom,
    ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ one_one_int ) ).

% zero_less_two
thf(fact_613_zero__less__two,axiom,
    ord_le5570908160329646204atural @ zero_z2226904508553997617atural @ ( plus_p4538020629002901425atural @ one_one_Code_natural @ one_one_Code_natural ) ).

% zero_less_two
thf(fact_614_diff__Suc__less,axiom,
    ! [N: nat,I: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_615_nat__diff__split__asm,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P2 @ zero_zero_nat ) )
            | ? [D3: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D3 ) )
                & ~ ( P2 @ D3 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_616_nat__diff__split,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P2 @ zero_zero_nat ) )
        & ! [D3: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D3 ) )
           => ( P2 @ D3 ) ) ) ) ).

% nat_diff_split
thf(fact_617_nat__induct__non__zero,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P2 @ one_one_nat )
       => ( ! [N3: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N3 )
             => ( ( P2 @ N3 )
               => ( P2 @ ( suc @ N3 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_618_is__num__normalize_I1_J,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% is_num_normalize(1)
thf(fact_619_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M2 ) @ N )
        = ( minus_minus_nat @ M2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_620_Nitpick_Ocase__nat__unfold,axiom,
    ( case_nat_nat
    = ( ^ [X: nat,F4: nat > nat,N2: nat] : ( if_nat @ ( N2 = zero_zero_nat ) @ X @ ( F4 @ ( minus_minus_nat @ N2 @ one_one_nat ) ) ) ) ) ).

% Nitpick.case_nat_unfold
thf(fact_621_Nitpick_Ocase__nat__unfold,axiom,
    ( case_nat_o
    = ( ^ [X: $o,F4: nat > $o,N2: nat] :
          ( ( ( N2 = zero_zero_nat )
           => X )
          & ( ( N2 != zero_zero_nat )
           => ( F4 @ ( minus_minus_nat @ N2 @ one_one_nat ) ) ) ) ) ) ).

% Nitpick.case_nat_unfold
thf(fact_622_nat_Osplit__sels_I2_J,axiom,
    ! [P2: nat > $o,F1: nat,F22: nat > nat,Nat: nat] :
      ( ( P2 @ ( case_nat_nat @ F1 @ F22 @ Nat ) )
      = ( ~ ( ( ( Nat = zero_zero_nat )
              & ~ ( P2 @ F1 ) )
            | ( ( Nat
                = ( suc @ ( pred @ Nat ) ) )
              & ~ ( P2 @ ( F22 @ ( pred @ Nat ) ) ) ) ) ) ) ).

% nat.split_sels(2)
thf(fact_623_nat_Osplit__sels_I2_J,axiom,
    ! [P2: $o > $o,F1: $o,F22: nat > $o,Nat: nat] :
      ( ( P2 @ ( case_nat_o @ F1 @ F22 @ Nat ) )
      = ( ~ ( ( ( Nat = zero_zero_nat )
              & ~ ( P2 @ F1 ) )
            | ( ( Nat
                = ( suc @ ( pred @ Nat ) ) )
              & ~ ( P2 @ ( F22 @ ( pred @ Nat ) ) ) ) ) ) ) ).

% nat.split_sels(2)
thf(fact_624_nat_Osplit__sels_I1_J,axiom,
    ! [P2: nat > $o,F1: nat,F22: nat > nat,Nat: nat] :
      ( ( P2 @ ( case_nat_nat @ F1 @ F22 @ Nat ) )
      = ( ( ( Nat = zero_zero_nat )
         => ( P2 @ F1 ) )
        & ( ( Nat
            = ( suc @ ( pred @ Nat ) ) )
         => ( P2 @ ( F22 @ ( pred @ Nat ) ) ) ) ) ) ).

% nat.split_sels(1)
thf(fact_625_nat_Osplit__sels_I1_J,axiom,
    ! [P2: $o > $o,F1: $o,F22: nat > $o,Nat: nat] :
      ( ( P2 @ ( case_nat_o @ F1 @ F22 @ Nat ) )
      = ( ( ( Nat = zero_zero_nat )
         => ( P2 @ F1 ) )
        & ( ( Nat
            = ( suc @ ( pred @ Nat ) ) )
         => ( P2 @ ( F22 @ ( pred @ Nat ) ) ) ) ) ) ).

% nat.split_sels(1)
thf(fact_626_pred__def,axiom,
    ( pred
    = ( case_nat_nat @ zero_zero_nat
      @ ^ [X23: nat] : X23 ) ) ).

% pred_def
thf(fact_627_Cons__lenlex__iff,axiom,
    ! [M2: product_prod_nat_nat,Ms: list_P6011104703257516679at_nat,N: product_prod_nat_nat,Ns: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ M2 @ Ms ) @ ( cons_P6512896166579812791at_nat @ N @ Ns ) ) @ ( lenlex325483962726685836at_nat @ R2 ) )
      = ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ Ms ) @ ( size_s5460976970255530739at_nat @ Ns ) )
        | ( ( ( size_s5460976970255530739at_nat @ Ms )
            = ( size_s5460976970255530739at_nat @ Ns ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ M2 @ N ) @ R2 ) )
        | ( ( M2 = N )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ms @ Ns ) @ ( lenlex325483962726685836at_nat @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_628_Cons__lenlex__iff,axiom,
    ! [M2: int,Ms: list_int,N: int,Ns: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ M2 @ Ms ) @ ( cons_int @ N @ Ns ) ) @ ( lenlex_int @ R2 ) )
      = ( ( ord_less_nat @ ( size_size_list_int @ Ms ) @ ( size_size_list_int @ Ns ) )
        | ( ( ( size_size_list_int @ Ms )
            = ( size_size_list_int @ Ns ) )
          & ( member5262025264175285858nt_int @ ( product_Pair_int_int @ M2 @ N ) @ R2 ) )
        | ( ( M2 = N )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Ms @ Ns ) @ ( lenlex_int @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_629_less__int__code_I1_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_int_code(1)
thf(fact_630_int__less__induct,axiom,
    ! [I: int,K: int,P2: int > $o] :
      ( ( ord_less_int @ I @ K )
     => ( ( P2 @ ( minus_minus_int @ K @ one_one_int ) )
       => ( ! [I2: int] :
              ( ( ord_less_int @ I2 @ K )
             => ( ( P2 @ I2 )
               => ( P2 @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_less_induct
thf(fact_631_nat_Odisc__eq__case_I1_J,axiom,
    ! [Nat: nat] :
      ( ( Nat = zero_zero_nat )
      = ( case_nat_o @ $true
        @ ^ [Uu2: nat] : $false
        @ Nat ) ) ).

% nat.disc_eq_case(1)
thf(fact_632_nat_Odisc__eq__case_I2_J,axiom,
    ! [Nat: nat] :
      ( ( Nat != zero_zero_nat )
      = ( case_nat_o @ $false
        @ ^ [Uu2: nat] : $true
        @ Nat ) ) ).

% nat.disc_eq_case(2)
thf(fact_633_nat__int__comparison_I2_J,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B5: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ).

% nat_int_comparison(2)
thf(fact_634_zless__add1__eq,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_int @ W @ ( plus_plus_int @ Z3 @ one_one_int ) )
      = ( ( ord_less_int @ W @ Z3 )
        | ( W = Z3 ) ) ) ).

% zless_add1_eq
thf(fact_635_int__gr__induct,axiom,
    ! [K: int,I: int,P2: int > $o] :
      ( ( ord_less_int @ K @ I )
     => ( ( P2 @ ( plus_plus_int @ K @ one_one_int ) )
       => ( ! [I2: int] :
              ( ( ord_less_int @ K @ I2 )
             => ( ( P2 @ I2 )
               => ( P2 @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_gr_induct
thf(fact_636_nat__less__as__int,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B5: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ).

% nat_less_as_int
thf(fact_637_lenlex__irreflexive,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,Xs2: list_P6011104703257516679at_nat] :
      ( ! [X5: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X5 @ X5 ) @ R2 )
     => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Xs2 ) @ ( lenlex325483962726685836at_nat @ R2 ) ) ) ).

% lenlex_irreflexive
thf(fact_638_lenlex__irreflexive,axiom,
    ! [R2: set_Pr958786334691620121nt_int,Xs2: list_int] :
      ( ! [X5: int] :
          ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X5 @ X5 ) @ R2 )
     => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Xs2 ) @ ( lenlex_int @ R2 ) ) ) ).

% lenlex_irreflexive
thf(fact_639_int__ops_I6_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = zero_zero_int ) )
      & ( ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ) ) ).

% int_ops(6)
thf(fact_640_zless__iff__Suc__zadd,axiom,
    ( ord_less_int
    = ( ^ [W2: int,Z: int] :
        ? [N2: nat] :
          ( Z
          = ( plus_plus_int @ W2 @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) ) ) ) ).

% zless_iff_Suc_zadd
thf(fact_641_odd__less__0__iff,axiom,
    ! [Z3: int] :
      ( ( ord_less_int @ ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z3 ) @ Z3 ) @ zero_zero_int )
      = ( ord_less_int @ Z3 @ zero_zero_int ) ) ).

% odd_less_0_iff
thf(fact_642_pos__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ~ ! [N3: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N3 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N3 ) ) ) ).

% pos_int_cases
thf(fact_643_zero__less__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ? [N3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N3 )
          & ( K
            = ( semiri1314217659103216013at_int @ N3 ) ) ) ) ).

% zero_less_imp_eq_int
thf(fact_644_minus__shift__def,axiom,
    ( minus_shift
    = ( ^ [R3: code_natural,K2: code_natural,L2: code_natural] : ( if_Code_natural @ ( ord_le5570908160329646204atural @ K2 @ L2 ) @ ( minus_7197305767214868737atural @ ( plus_p4538020629002901425atural @ R3 @ K2 ) @ L2 ) @ ( minus_7197305767214868737atural @ K2 @ L2 ) ) ) ) ).

% minus_shift_def
thf(fact_645_inc__shift__def,axiom,
    ( inc_shift
    = ( ^ [V: code_natural,K2: code_natural] : ( if_Code_natural @ ( V = K2 ) @ one_one_Code_natural @ ( plus_p4538020629002901425atural @ K2 @ one_one_Code_natural ) ) ) ) ).

% inc_shift_def
thf(fact_646_upto__aux__rec,axiom,
    ( upto_aux
    = ( ^ [I3: int,J3: int,Js: list_int] : ( if_list_int @ ( ord_less_int @ J3 @ I3 ) @ Js @ ( upto_aux @ I3 @ ( minus_minus_int @ J3 @ one_one_int ) @ ( cons_int @ J3 @ Js ) ) ) ) ) ).

% upto_aux_rec
thf(fact_647_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ zero_zero_int )
    = one_one_int ) ).

% dbl_inc_simps(2)
thf(fact_648_dbl__dec__def,axiom,
    ( neg_nu3811975205180677377ec_int
    = ( ^ [X: int] : ( minus_minus_int @ ( plus_plus_int @ X @ X ) @ one_one_int ) ) ) ).

% dbl_dec_def
thf(fact_649_dbl__inc__def,axiom,
    ( neg_nu5851722552734809277nc_int
    = ( ^ [X: int] : ( plus_plus_int @ ( plus_plus_int @ X @ X ) @ one_one_int ) ) ) ).

% dbl_inc_def
thf(fact_650_in__measures_I2_J,axiom,
    ! [X3: product_prod_nat_nat,Y: product_prod_nat_nat,F2: product_prod_nat_nat > nat,Fs: list_P9162950289778280392at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ ( measur2679027848233739777at_nat @ ( cons_P4861729644591583992at_nat @ F2 @ Fs ) ) )
      = ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y ) )
        | ( ( ( F2 @ X3 )
            = ( F2 @ Y ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ ( measur2679027848233739777at_nat @ Fs ) ) ) ) ) ).

% in_measures(2)
thf(fact_651_in__measures_I2_J,axiom,
    ! [X3: int,Y: int,F2: int > nat,Fs: list_int_nat] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ ( measures_int @ ( cons_int_nat @ F2 @ Fs ) ) )
      = ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y ) )
        | ( ( ( F2 @ X3 )
            = ( F2 @ Y ) )
          & ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ ( measures_int @ Fs ) ) ) ) ) ).

% in_measures(2)
thf(fact_652_one__less__nat__eq,axiom,
    ! [Z3: int] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( nat2 @ Z3 ) )
      = ( ord_less_int @ one_one_int @ Z3 ) ) ).

% one_less_nat_eq
thf(fact_653_nth__Cons__pos,axiom,
    ! [N: nat,X3: int,Xs2: list_int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ N )
        = ( nth_int @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_654_lenlex__conv,axiom,
    ( lenlex_int
    = ( ^ [R3: set_Pr958786334691620121nt_int] :
          ( collec928425520773505860st_int
          @ ( produc1306008110994012530_int_o
            @ ^ [Xs: list_int,Ys2: list_int] :
                ( ( ord_less_nat @ ( size_size_list_int @ Xs ) @ ( size_size_list_int @ Ys2 ) )
                | ( ( ( size_size_list_int @ Xs )
                    = ( size_size_list_int @ Ys2 ) )
                  & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Ys2 ) @ ( lex_int @ R3 ) ) ) ) ) ) ) ) ).

% lenlex_conv
thf(fact_655_split__part,axiom,
    ! [P2: $o,Q: nat > nat > $o] :
      ( ( produc6081775807080527818_nat_o
        @ ^ [A5: nat,B5: nat] :
            ( P2
            & ( Q @ A5 @ B5 ) ) )
      = ( ^ [Ab: product_prod_nat_nat] :
            ( P2
            & ( produc6081775807080527818_nat_o @ Q @ Ab ) ) ) ) ).

% split_part
thf(fact_656_split__part,axiom,
    ! [P2: $o,Q: int > int > $o] :
      ( ( produc4947309494688390418_int_o
        @ ^ [A5: int,B5: int] :
            ( P2
            & ( Q @ A5 @ B5 ) ) )
      = ( ^ [Ab: product_prod_int_int] :
            ( P2
            & ( produc4947309494688390418_int_o @ Q @ Ab ) ) ) ) ).

% split_part
thf(fact_657_nat__int,axiom,
    ! [N: nat] :
      ( ( nat2 @ ( semiri1314217659103216013at_int @ N ) )
      = N ) ).

% nat_int
thf(fact_658_case__prod__conv,axiom,
    ! [F2: nat > nat > $o,A: nat,B: nat] :
      ( ( produc6081775807080527818_nat_o @ F2 @ ( product_Pair_nat_nat @ A @ B ) )
      = ( F2 @ A @ B ) ) ).

% case_prod_conv
thf(fact_659_case__prod__conv,axiom,
    ! [F2: nat > nat > nat,A: nat,B: nat] :
      ( ( produc6842872674320459806at_nat @ F2 @ ( product_Pair_nat_nat @ A @ B ) )
      = ( F2 @ A @ B ) ) ).

% case_prod_conv
thf(fact_660_case__prod__conv,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,A: nat,B: nat] :
      ( ( produc27273713700761075at_nat @ F2 @ ( product_Pair_nat_nat @ A @ B ) )
      = ( F2 @ A @ B ) ) ).

% case_prod_conv
thf(fact_661_case__prod__conv,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > $o,A: nat,B: nat] :
      ( ( produc8739625826339149834_nat_o @ F2 @ ( product_Pair_nat_nat @ A @ B ) )
      = ( F2 @ A @ B ) ) ).

% case_prod_conv
thf(fact_662_case__prod__conv,axiom,
    ! [F2: int > int > $o,A: int,B: int] :
      ( ( produc4947309494688390418_int_o @ F2 @ ( product_Pair_int_int @ A @ B ) )
      = ( F2 @ A @ B ) ) ).

% case_prod_conv
thf(fact_663_case__prodI,axiom,
    ! [F2: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,A: code_natural > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( F2 @ A @ B )
     => ( produc5395785189050895792ural_o @ F2 @ ( produc2252593628808123835atural @ A @ B ) ) ) ).

% case_prodI
thf(fact_664_case__prodI,axiom,
    ! [F2: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,A: produc4972180933644002618e_term > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( F2 @ A @ B )
     => ( produc2278936416606902338ural_o @ F2 @ ( produc3831813291587773865atural @ A @ B ) ) ) ).

% case_prodI
thf(fact_665_case__prodI,axiom,
    ! [F2: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o,A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( F2 @ A @ B )
     => ( produc1573362020775583542_int_o @ F2 @ ( produc5700946648718959541nt_int @ A @ B ) ) ) ).

% case_prodI
thf(fact_666_case__prodI,axiom,
    ! [F2: ( int > option6357759511663192854e_term ) > product_prod_int_int > $o,A: int > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( F2 @ A @ B )
     => ( produc2558449545302689196_int_o @ F2 @ ( produc4305682042979456191nt_int @ A @ B ) ) ) ).

% case_prodI
thf(fact_667_case__prodI,axiom,
    ! [F2: nat > nat > $o,A: nat,B: nat] :
      ( ( F2 @ A @ B )
     => ( produc6081775807080527818_nat_o @ F2 @ ( product_Pair_nat_nat @ A @ B ) ) ) ).

% case_prodI
thf(fact_668_case__prodI,axiom,
    ! [F2: int > int > $o,A: int,B: int] :
      ( ( F2 @ A @ B )
     => ( produc4947309494688390418_int_o @ F2 @ ( product_Pair_int_int @ A @ B ) ) ) ).

% case_prodI
thf(fact_669_case__prodI2,axiom,
    ! [P: produc8731074985263844745atural,C: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o] :
      ( ! [A4: code_natural > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( ( P
            = ( produc2252593628808123835atural @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc5395785189050895792ural_o @ C @ P ) ) ).

% case_prodI2
thf(fact_670_case__prodI2,axiom,
    ! [P: produc989692990947075319atural,C: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o] :
      ( ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( ( P
            = ( produc3831813291587773865atural @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc2278936416606902338ural_o @ C @ P ) ) ).

% case_prodI2
thf(fact_671_case__prodI2,axiom,
    ! [P: produc2285326912895808259nt_int,C: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o] :
      ( ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( ( P
            = ( produc5700946648718959541nt_int @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc1573362020775583542_int_o @ C @ P ) ) ).

% case_prodI2
thf(fact_672_case__prodI2,axiom,
    ! [P: produc7773217078559923341nt_int,C: ( int > option6357759511663192854e_term ) > product_prod_int_int > $o] :
      ( ! [A4: int > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( ( P
            = ( produc4305682042979456191nt_int @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc2558449545302689196_int_o @ C @ P ) ) ).

% case_prodI2
thf(fact_673_case__prodI2,axiom,
    ! [P: product_prod_nat_nat,C: nat > nat > $o] :
      ( ! [A4: nat,B3: nat] :
          ( ( P
            = ( product_Pair_nat_nat @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc6081775807080527818_nat_o @ C @ P ) ) ).

% case_prodI2
thf(fact_674_case__prodI2,axiom,
    ! [P: product_prod_int_int,C: int > int > $o] :
      ( ! [A4: int,B3: int] :
          ( ( P
            = ( product_Pair_int_int @ A4 @ B3 ) )
         => ( C @ A4 @ B3 ) )
     => ( produc4947309494688390418_int_o @ C @ P ) ) ).

% case_prodI2
thf(fact_675_nth__Cons__Suc,axiom,
    ! [X3: int,Xs2: list_int,N: nat] :
      ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ ( suc @ N ) )
      = ( nth_int @ Xs2 @ N ) ) ).

% nth_Cons_Suc
thf(fact_676_nth__Cons__0,axiom,
    ! [X3: int,Xs2: list_int] :
      ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_677_nat__1,axiom,
    ( ( nat2 @ one_one_int )
    = ( suc @ zero_zero_nat ) ) ).

% nat_1
thf(fact_678_nth__map,axiom,
    ! [N: nat,Xs2: list_tm,F2: tm > tm] :
      ( ( ord_less_nat @ N @ ( size_size_list_tm @ Xs2 ) )
     => ( ( nth_tm @ ( map_tm_tm @ F2 @ Xs2 ) @ N )
        = ( F2 @ ( nth_tm @ Xs2 @ N ) ) ) ) ).

% nth_map
thf(fact_679_nth__map,axiom,
    ! [N: nat,Xs2: list_tm,F2: tm > a] :
      ( ( ord_less_nat @ N @ ( size_size_list_tm @ Xs2 ) )
     => ( ( nth_a @ ( map_tm_a @ F2 @ Xs2 ) @ N )
        = ( F2 @ ( nth_tm @ Xs2 @ N ) ) ) ) ).

% nth_map
thf(fact_680_nth__map,axiom,
    ! [N: nat,Xs2: list_int,F2: int > int] :
      ( ( ord_less_nat @ N @ ( size_size_list_int @ Xs2 ) )
     => ( ( nth_int @ ( map_int_int @ F2 @ Xs2 ) @ N )
        = ( F2 @ ( nth_int @ Xs2 @ N ) ) ) ) ).

% nth_map
thf(fact_681_zless__nat__conj,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z3 ) )
      = ( ( ord_less_int @ zero_zero_int @ Z3 )
        & ( ord_less_int @ W @ Z3 ) ) ) ).

% zless_nat_conj
thf(fact_682_zero__less__nat__eq,axiom,
    ! [Z3: int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( nat2 @ Z3 ) )
      = ( ord_less_int @ zero_zero_int @ Z3 ) ) ).

% zero_less_nat_eq
thf(fact_683_old_Oprod_Ocase,axiom,
    ! [F2: nat > nat > $o,X1: nat,X2: nat] :
      ( ( produc6081775807080527818_nat_o @ F2 @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = ( F2 @ X1 @ X2 ) ) ).

% old.prod.case
thf(fact_684_old_Oprod_Ocase,axiom,
    ! [F2: nat > nat > nat,X1: nat,X2: nat] :
      ( ( produc6842872674320459806at_nat @ F2 @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = ( F2 @ X1 @ X2 ) ) ).

% old.prod.case
thf(fact_685_old_Oprod_Ocase,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,X1: nat,X2: nat] :
      ( ( produc27273713700761075at_nat @ F2 @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = ( F2 @ X1 @ X2 ) ) ).

% old.prod.case
thf(fact_686_old_Oprod_Ocase,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > $o,X1: nat,X2: nat] :
      ( ( produc8739625826339149834_nat_o @ F2 @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = ( F2 @ X1 @ X2 ) ) ).

% old.prod.case
thf(fact_687_old_Oprod_Ocase,axiom,
    ! [F2: int > int > $o,X1: int,X2: int] :
      ( ( produc4947309494688390418_int_o @ F2 @ ( product_Pair_int_int @ X1 @ X2 ) )
      = ( F2 @ X1 @ X2 ) ) ).

% old.prod.case
thf(fact_688_prod_Ocase__distrib,axiom,
    ! [H: $o > $o,F2: nat > nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6081775807080527818_nat_o @ F2 @ Prod ) )
      = ( produc6081775807080527818_nat_o
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_689_prod_Ocase__distrib,axiom,
    ! [H: $o > nat,F2: nat > nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6081775807080527818_nat_o @ F2 @ Prod ) )
      = ( produc6842872674320459806at_nat
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_690_prod_Ocase__distrib,axiom,
    ! [H: nat > $o,F2: nat > nat > nat,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6842872674320459806at_nat @ F2 @ Prod ) )
      = ( produc6081775807080527818_nat_o
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_691_prod_Ocase__distrib,axiom,
    ! [H: nat > nat,F2: nat > nat > nat,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6842872674320459806at_nat @ F2 @ Prod ) )
      = ( produc6842872674320459806at_nat
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_692_prod_Ocase__distrib,axiom,
    ! [H: $o > $o,F2: int > int > $o,Prod: product_prod_int_int] :
      ( ( H @ ( produc4947309494688390418_int_o @ F2 @ Prod ) )
      = ( produc4947309494688390418_int_o
        @ ^ [X13: int,X23: int] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_693_prod_Ocase__distrib,axiom,
    ! [H: $o > product_prod_nat_nat > $o,F2: nat > nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6081775807080527818_nat_o @ F2 @ Prod ) )
      = ( produc8739625826339149834_nat_o
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_694_prod_Ocase__distrib,axiom,
    ! [H: nat > product_prod_nat_nat > $o,F2: nat > nat > nat,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6842872674320459806at_nat @ F2 @ Prod ) )
      = ( produc8739625826339149834_nat_o
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_695_prod_Ocase__distrib,axiom,
    ! [H: ( product_prod_nat_nat > $o ) > $o,F2: nat > nat > product_prod_nat_nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc8739625826339149834_nat_o @ F2 @ Prod ) )
      = ( produc6081775807080527818_nat_o
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_696_prod_Ocase__distrib,axiom,
    ! [H: ( product_prod_nat_nat > $o ) > nat,F2: nat > nat > product_prod_nat_nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc8739625826339149834_nat_o @ F2 @ Prod ) )
      = ( produc6842872674320459806at_nat
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_697_prod_Ocase__distrib,axiom,
    ! [H: $o > product_prod_nat_nat > product_prod_nat_nat,F2: nat > nat > $o,Prod: product_prod_nat_nat] :
      ( ( H @ ( produc6081775807080527818_nat_o @ F2 @ Prod ) )
      = ( produc27273713700761075at_nat
        @ ^ [X13: nat,X23: nat] : ( H @ ( F2 @ X13 @ X23 ) )
        @ Prod ) ) ).

% prod.case_distrib
thf(fact_698_case__prod__app,axiom,
    ( produc27273713700761075at_nat
    = ( ^ [F4: nat > nat > product_prod_nat_nat > product_prod_nat_nat,X: product_prod_nat_nat,Y5: product_prod_nat_nat] :
          ( produc2626176000494625587at_nat
          @ ^ [L2: nat,R3: nat] : ( F4 @ L2 @ R3 @ Y5 )
          @ X ) ) ) ).

% case_prod_app
thf(fact_699_case__prod__app,axiom,
    ( produc8739625826339149834_nat_o
    = ( ^ [F4: nat > nat > product_prod_nat_nat > $o,X: product_prod_nat_nat,Y5: product_prod_nat_nat] :
          ( produc6081775807080527818_nat_o
          @ ^ [L2: nat,R3: nat] : ( F4 @ L2 @ R3 @ Y5 )
          @ X ) ) ) ).

% case_prod_app
thf(fact_700_prod_Odisc__eq__case,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( produc6081775807080527818_nat_o
      @ ^ [Uu2: nat,Uv2: nat] : $true
      @ Prod ) ).

% prod.disc_eq_case
thf(fact_701_prod_Odisc__eq__case,axiom,
    ! [Prod: product_prod_int_int] :
      ( produc4947309494688390418_int_o
      @ ^ [Uu2: int,Uv2: int] : $true
      @ Prod ) ).

% prod.disc_eq_case
thf(fact_702_case__prodD,axiom,
    ! [F2: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,A: code_natural > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( produc5395785189050895792ural_o @ F2 @ ( produc2252593628808123835atural @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_703_case__prodD,axiom,
    ! [F2: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,A: produc4972180933644002618e_term > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( produc2278936416606902338ural_o @ F2 @ ( produc3831813291587773865atural @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_704_case__prodD,axiom,
    ! [F2: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o,A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( produc1573362020775583542_int_o @ F2 @ ( produc5700946648718959541nt_int @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_705_case__prodD,axiom,
    ! [F2: ( int > option6357759511663192854e_term ) > product_prod_int_int > $o,A: int > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( produc2558449545302689196_int_o @ F2 @ ( produc4305682042979456191nt_int @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_706_case__prodD,axiom,
    ! [F2: nat > nat > $o,A: nat,B: nat] :
      ( ( produc6081775807080527818_nat_o @ F2 @ ( product_Pair_nat_nat @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_707_case__prodD,axiom,
    ! [F2: int > int > $o,A: int,B: int] :
      ( ( produc4947309494688390418_int_o @ F2 @ ( product_Pair_int_int @ A @ B ) )
     => ( F2 @ A @ B ) ) ).

% case_prodD
thf(fact_708_case__prodE,axiom,
    ! [C: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,P: produc8731074985263844745atural] :
      ( ( produc5395785189050895792ural_o @ C @ P )
     => ~ ! [X5: code_natural > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
            ( ( P
              = ( produc2252593628808123835atural @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_709_case__prodE,axiom,
    ! [C: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > $o,P: produc989692990947075319atural] :
      ( ( produc2278936416606902338ural_o @ C @ P )
     => ~ ! [X5: produc4972180933644002618e_term > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
            ( ( P
              = ( produc3831813291587773865atural @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_710_case__prodE,axiom,
    ! [C: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > $o,P: produc2285326912895808259nt_int] :
      ( ( produc1573362020775583542_int_o @ C @ P )
     => ~ ! [X5: produc8551481072490612790e_term > option6357759511663192854e_term,Y3: product_prod_int_int] :
            ( ( P
              = ( produc5700946648718959541nt_int @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_711_case__prodE,axiom,
    ! [C: ( int > option6357759511663192854e_term ) > product_prod_int_int > $o,P: produc7773217078559923341nt_int] :
      ( ( produc2558449545302689196_int_o @ C @ P )
     => ~ ! [X5: int > option6357759511663192854e_term,Y3: product_prod_int_int] :
            ( ( P
              = ( produc4305682042979456191nt_int @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_712_case__prodE,axiom,
    ! [C: nat > nat > $o,P: product_prod_nat_nat] :
      ( ( produc6081775807080527818_nat_o @ C @ P )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( P
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_713_case__prodE,axiom,
    ! [C: int > int > $o,P: product_prod_int_int] :
      ( ( produc4947309494688390418_int_o @ C @ P )
     => ~ ! [X5: int,Y3: int] :
            ( ( P
              = ( product_Pair_int_int @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 ) ) ) ).

% case_prodE
thf(fact_714_case__prodE2,axiom,
    ! [Q: $o > $o,P2: nat > nat > $o,Z3: product_prod_nat_nat] :
      ( ( Q @ ( produc6081775807080527818_nat_o @ P2 @ Z3 ) )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( Z3
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y3 ) ) ) ) ).

% case_prodE2
thf(fact_715_case__prodE2,axiom,
    ! [Q: nat > $o,P2: nat > nat > nat,Z3: product_prod_nat_nat] :
      ( ( Q @ ( produc6842872674320459806at_nat @ P2 @ Z3 ) )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( Z3
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y3 ) ) ) ) ).

% case_prodE2
thf(fact_716_case__prodE2,axiom,
    ! [Q: ( product_prod_nat_nat > product_prod_nat_nat ) > $o,P2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,Z3: product_prod_nat_nat] :
      ( ( Q @ ( produc27273713700761075at_nat @ P2 @ Z3 ) )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( Z3
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y3 ) ) ) ) ).

% case_prodE2
thf(fact_717_case__prodE2,axiom,
    ! [Q: ( product_prod_nat_nat > $o ) > $o,P2: nat > nat > product_prod_nat_nat > $o,Z3: product_prod_nat_nat] :
      ( ( Q @ ( produc8739625826339149834_nat_o @ P2 @ Z3 ) )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( Z3
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y3 ) ) ) ) ).

% case_prodE2
thf(fact_718_case__prodE2,axiom,
    ! [Q: $o > $o,P2: int > int > $o,Z3: product_prod_int_int] :
      ( ( Q @ ( produc4947309494688390418_int_o @ P2 @ Z3 ) )
     => ~ ! [X5: int,Y3: int] :
            ( ( Z3
              = ( product_Pair_int_int @ X5 @ Y3 ) )
           => ~ ( Q @ ( P2 @ X5 @ Y3 ) ) ) ) ).

% case_prodE2
thf(fact_719_case__prod__eta,axiom,
    ! [F2: product_prod_nat_nat > $o] :
      ( ( produc6081775807080527818_nat_o
        @ ^ [X: nat,Y5: nat] : ( F2 @ ( product_Pair_nat_nat @ X @ Y5 ) ) )
      = F2 ) ).

% case_prod_eta
thf(fact_720_case__prod__eta,axiom,
    ! [F2: product_prod_nat_nat > nat] :
      ( ( produc6842872674320459806at_nat
        @ ^ [X: nat,Y5: nat] : ( F2 @ ( product_Pair_nat_nat @ X @ Y5 ) ) )
      = F2 ) ).

% case_prod_eta
thf(fact_721_case__prod__eta,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat] :
      ( ( produc27273713700761075at_nat
        @ ^ [X: nat,Y5: nat] : ( F2 @ ( product_Pair_nat_nat @ X @ Y5 ) ) )
      = F2 ) ).

% case_prod_eta
thf(fact_722_case__prod__eta,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat > $o] :
      ( ( produc8739625826339149834_nat_o
        @ ^ [X: nat,Y5: nat] : ( F2 @ ( product_Pair_nat_nat @ X @ Y5 ) ) )
      = F2 ) ).

% case_prod_eta
thf(fact_723_case__prod__eta,axiom,
    ! [F2: product_prod_int_int > $o] :
      ( ( produc4947309494688390418_int_o
        @ ^ [X: int,Y5: int] : ( F2 @ ( product_Pair_int_int @ X @ Y5 ) ) )
      = F2 ) ).

% case_prod_eta
thf(fact_724_cond__case__prod__eta,axiom,
    ! [F2: nat > nat > $o,G2: product_prod_nat_nat > $o] :
      ( ! [X5: nat,Y3: nat] :
          ( ( F2 @ X5 @ Y3 )
          = ( G2 @ ( product_Pair_nat_nat @ X5 @ Y3 ) ) )
     => ( ( produc6081775807080527818_nat_o @ F2 )
        = G2 ) ) ).

% cond_case_prod_eta
thf(fact_725_cond__case__prod__eta,axiom,
    ! [F2: nat > nat > nat,G2: product_prod_nat_nat > nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( F2 @ X5 @ Y3 )
          = ( G2 @ ( product_Pair_nat_nat @ X5 @ Y3 ) ) )
     => ( ( produc6842872674320459806at_nat @ F2 )
        = G2 ) ) ).

% cond_case_prod_eta
thf(fact_726_cond__case__prod__eta,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,G2: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( F2 @ X5 @ Y3 )
          = ( G2 @ ( product_Pair_nat_nat @ X5 @ Y3 ) ) )
     => ( ( produc27273713700761075at_nat @ F2 )
        = G2 ) ) ).

% cond_case_prod_eta
thf(fact_727_cond__case__prod__eta,axiom,
    ! [F2: nat > nat > product_prod_nat_nat > $o,G2: product_prod_nat_nat > product_prod_nat_nat > $o] :
      ( ! [X5: nat,Y3: nat] :
          ( ( F2 @ X5 @ Y3 )
          = ( G2 @ ( product_Pair_nat_nat @ X5 @ Y3 ) ) )
     => ( ( produc8739625826339149834_nat_o @ F2 )
        = G2 ) ) ).

% cond_case_prod_eta
thf(fact_728_cond__case__prod__eta,axiom,
    ! [F2: int > int > $o,G2: product_prod_int_int > $o] :
      ( ! [X5: int,Y3: int] :
          ( ( F2 @ X5 @ Y3 )
          = ( G2 @ ( product_Pair_int_int @ X5 @ Y3 ) ) )
     => ( ( produc4947309494688390418_int_o @ F2 )
        = G2 ) ) ).

% cond_case_prod_eta
thf(fact_729_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y6: list_int,Z4: list_int] : ( Y6 = Z4 ) )
    = ( ^ [Xs: list_int,Ys2: list_int] :
          ( ( ( size_size_list_int @ Xs )
            = ( size_size_list_int @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_int @ Xs ) )
             => ( ( nth_int @ Xs @ I3 )
                = ( nth_int @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_730_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > int > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X6: int] : ( P2 @ I3 @ X6 ) ) )
      = ( ? [Xs: list_int] :
            ( ( ( size_size_list_int @ Xs )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P2 @ I3 @ ( nth_int @ Xs @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_731_nth__equalityI,axiom,
    ! [Xs2: list_int,Ys: list_int] :
      ( ( ( size_size_list_int @ Xs2 )
        = ( size_size_list_int @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_int @ Xs2 ) )
           => ( ( nth_int @ Xs2 @ I2 )
              = ( nth_int @ Ys @ I2 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_732_nat__zero__as__int,axiom,
    ( zero_zero_nat
    = ( nat2 @ zero_zero_int ) ) ).

% nat_zero_as_int
thf(fact_733_nat__one__as__int,axiom,
    ( one_one_nat
    = ( nat2 @ one_one_int ) ) ).

% nat_one_as_int
thf(fact_734_internal__case__prod__def,axiom,
    produc9139807813499881076_nat_o = produc6081775807080527818_nat_o ).

% internal_case_prod_def
thf(fact_735_internal__case__prod__def,axiom,
    produc6557683772455589876at_nat = produc6842872674320459806at_nat ).

% internal_case_prod_def
thf(fact_736_internal__case__prod__def,axiom,
    produc1854806715440696265at_nat = produc27273713700761075at_nat ).

% internal_case_prod_def
thf(fact_737_internal__case__prod__def,axiom,
    produc4780622933104268256_nat_o = produc8739625826339149834_nat_o ).

% internal_case_prod_def
thf(fact_738_internal__case__prod__def,axiom,
    produc8005341501107743676_int_o = produc4947309494688390418_int_o ).

% internal_case_prod_def
thf(fact_739_nth__enumerate__eq,axiom,
    ! [M2: nat,Xs2: list_int,N: nat] :
      ( ( ord_less_nat @ M2 @ ( size_size_list_int @ Xs2 ) )
     => ( ( nth_Pr3440142176431000676at_int @ ( enumerate_int @ N @ Xs2 ) @ M2 )
        = ( product_Pair_nat_int @ ( plus_plus_nat @ N @ M2 ) @ ( nth_int @ Xs2 @ M2 ) ) ) ) ).

% nth_enumerate_eq
thf(fact_740_nth__Cons,axiom,
    ! [X3: int,Xs2: list_int,N: nat] :
      ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ N )
      = ( case_nat_int @ X3 @ ( nth_int @ Xs2 ) @ N ) ) ).

% nth_Cons
thf(fact_741_nth__Cons,axiom,
    ! [X3: nat,Xs2: list_nat,N: nat] :
      ( ( nth_nat @ ( cons_nat @ X3 @ Xs2 ) @ N )
      = ( case_nat_nat @ X3 @ ( nth_nat @ Xs2 ) @ N ) ) ).

% nth_Cons
thf(fact_742_nth__Cons,axiom,
    ! [X3: $o,Xs2: list_o,N: nat] :
      ( ( nth_o @ ( cons_o @ X3 @ Xs2 ) @ N )
      = ( case_nat_o @ X3 @ ( nth_o @ Xs2 ) @ N ) ) ).

% nth_Cons
thf(fact_743_map__equality__iff,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: tm > tm,Ys: list_tm] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( map_tm_tm @ G2 @ Ys ) )
      = ( ( ( size_size_list_tm @ Xs2 )
          = ( size_size_list_tm @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_tm @ Ys ) )
           => ( ( F2 @ ( nth_tm @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_tm @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_744_map__equality__iff,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: tm > a,Ys: list_tm] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( map_tm_a @ G2 @ Ys ) )
      = ( ( ( size_size_list_tm @ Xs2 )
          = ( size_size_list_tm @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_tm @ Ys ) )
           => ( ( F2 @ ( nth_tm @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_tm @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_745_map__equality__iff,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: int > tm,Ys: list_int] :
      ( ( ( map_tm_tm @ F2 @ Xs2 )
        = ( map_int_tm @ G2 @ Ys ) )
      = ( ( ( size_size_list_tm @ Xs2 )
          = ( size_size_list_int @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_int @ Ys ) )
           => ( ( F2 @ ( nth_tm @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_int @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_746_map__equality__iff,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: int > a,Ys: list_int] :
      ( ( ( map_tm_a @ F2 @ Xs2 )
        = ( map_int_a @ G2 @ Ys ) )
      = ( ( ( size_size_list_tm @ Xs2 )
          = ( size_size_list_int @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_int @ Ys ) )
           => ( ( F2 @ ( nth_tm @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_int @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_747_map__equality__iff,axiom,
    ! [F2: int > tm,Xs2: list_int,G2: tm > tm,Ys: list_tm] :
      ( ( ( map_int_tm @ F2 @ Xs2 )
        = ( map_tm_tm @ G2 @ Ys ) )
      = ( ( ( size_size_list_int @ Xs2 )
          = ( size_size_list_tm @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_tm @ Ys ) )
           => ( ( F2 @ ( nth_int @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_tm @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_748_map__equality__iff,axiom,
    ! [F2: int > a,Xs2: list_int,G2: tm > a,Ys: list_tm] :
      ( ( ( map_int_a @ F2 @ Xs2 )
        = ( map_tm_a @ G2 @ Ys ) )
      = ( ( ( size_size_list_int @ Xs2 )
          = ( size_size_list_tm @ Ys ) )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_tm @ Ys ) )
           => ( ( F2 @ ( nth_int @ Xs2 @ I3 ) )
              = ( G2 @ ( nth_tm @ Ys @ I3 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_749_nat__mono__iff,axiom,
    ! [Z3: int,W: int] :
      ( ( ord_less_int @ zero_zero_int @ Z3 )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z3 ) )
        = ( ord_less_int @ W @ Z3 ) ) ) ).

% nat_mono_iff
thf(fact_750_zless__nat__eq__int__zless,axiom,
    ! [M2: nat,Z3: int] :
      ( ( ord_less_nat @ M2 @ ( nat2 @ Z3 ) )
      = ( ord_less_int @ ( semiri1314217659103216013at_int @ M2 ) @ Z3 ) ) ).

% zless_nat_eq_int_zless
thf(fact_751_nat__int__add,axiom,
    ! [A: nat,B: nat] :
      ( ( nat2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) )
      = ( plus_plus_nat @ A @ B ) ) ).

% nat_int_add
thf(fact_752_int__minus,axiom,
    ! [N: nat,M2: nat] :
      ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ N @ M2 ) )
      = ( semiri1314217659103216013at_int @ ( nat2 @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ N ) @ ( semiri1314217659103216013at_int @ M2 ) ) ) ) ) ).

% int_minus
thf(fact_753_nth__butlast,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( ord_less_nat @ N @ ( size_size_list_int @ ( butlast_int @ Xs2 ) ) )
     => ( ( nth_int @ ( butlast_int @ Xs2 ) @ N )
        = ( nth_int @ Xs2 @ N ) ) ) ).

% nth_butlast
thf(fact_754_nat__plus__as__int,axiom,
    ( plus_plus_nat
    = ( ^ [A5: nat,B5: nat] : ( nat2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ) ).

% nat_plus_as_int
thf(fact_755_nat__minus__as__int,axiom,
    ( minus_minus_nat
    = ( ^ [A5: nat,B5: nat] : ( nat2 @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ) ).

% nat_minus_as_int
thf(fact_756_nth__Cons_H,axiom,
    ! [N: nat,X3: int,Xs2: list_int] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ N )
          = X3 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ N )
          = ( nth_int @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_757_split__nat,axiom,
    ! [P2: nat > $o,I: int] :
      ( ( P2 @ ( nat2 @ I ) )
      = ( ! [N2: nat] :
            ( ( I
              = ( semiri1314217659103216013at_int @ N2 ) )
           => ( P2 @ N2 ) )
        & ( ( ord_less_int @ I @ zero_zero_int )
         => ( P2 @ zero_zero_nat ) ) ) ) ).

% split_nat
thf(fact_758_Suc__as__int,axiom,
    ( suc
    = ( ^ [A5: nat] : ( nat2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ A5 ) @ one_one_int ) ) ) ) ).

% Suc_as_int
thf(fact_759_measures__less,axiom,
    ! [F2: product_prod_nat_nat > nat,X3: product_prod_nat_nat,Y: product_prod_nat_nat,Fs: list_P9162950289778280392at_nat] :
      ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y ) )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ ( measur2679027848233739777at_nat @ ( cons_P4861729644591583992at_nat @ F2 @ Fs ) ) ) ) ).

% measures_less
thf(fact_760_measures__less,axiom,
    ! [F2: int > nat,X3: int,Y: int,Fs: list_int_nat] :
      ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y ) )
     => ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ ( measures_int @ ( cons_int_nat @ F2 @ Fs ) ) ) ) ).

% measures_less
thf(fact_761_nth__non__equal__first__eq,axiom,
    ! [X3: int,Y: int,Xs2: list_int,N: nat] :
      ( ( X3 != Y )
     => ( ( ( nth_int @ ( cons_int @ X3 @ Xs2 ) @ N )
          = Y )
        = ( ( ( nth_int @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_762_diff__nat__eq__if,axiom,
    ! [Z5: int,Z3: int] :
      ( ( ( ord_less_int @ Z5 @ zero_zero_int )
       => ( ( minus_minus_nat @ ( nat2 @ Z3 ) @ ( nat2 @ Z5 ) )
          = ( nat2 @ Z3 ) ) )
      & ( ~ ( ord_less_int @ Z5 @ zero_zero_int )
       => ( ( minus_minus_nat @ ( nat2 @ Z3 ) @ ( nat2 @ Z5 ) )
          = ( if_nat @ ( ord_less_int @ ( minus_minus_int @ Z3 @ Z5 ) @ zero_zero_int ) @ zero_zero_nat @ ( nat2 @ ( minus_minus_int @ Z3 @ Z5 ) ) ) ) ) ) ).

% diff_nat_eq_if
thf(fact_763_List_Olexordp__def,axiom,
    ( lexordp_nat
    = ( ^ [R3: nat > nat > $o,Xs: list_nat,Ys2: list_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( lexord_nat @ ( collec3392354462482085612at_nat @ ( produc6081775807080527818_nat_o @ R3 ) ) ) ) ) ) ).

% List.lexordp_def
thf(fact_764_List_Olexordp__def,axiom,
    ( lexordp_int
    = ( ^ [R3: int > int > $o,Xs: list_int,Ys2: list_int] : ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Ys2 ) @ ( lexord_int @ ( collec213857154873943460nt_int @ ( produc4947309494688390418_int_o @ R3 ) ) ) ) ) ) ).

% List.lexordp_def
thf(fact_765_listrel1p__def,axiom,
    ( listrel1p_nat
    = ( ^ [R3: nat > nat > $o,Xs: list_nat,Ys2: list_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel1_nat @ ( collec3392354462482085612at_nat @ ( produc6081775807080527818_nat_o @ R3 ) ) ) ) ) ) ).

% listrel1p_def
thf(fact_766_listrel1p__def,axiom,
    ( listrel1p_int
    = ( ^ [R3: int > int > $o,Xs: list_int,Ys2: list_int] : ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Ys2 ) @ ( listrel1_int @ ( collec213857154873943460nt_int @ ( produc4947309494688390418_int_o @ R3 ) ) ) ) ) ) ).

% listrel1p_def
thf(fact_767_split__cong,axiom,
    ! [Q2: product_prod_nat_nat,F2: nat > nat > $o,G2: nat > nat > $o,P: product_prod_nat_nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( ( product_Pair_nat_nat @ X5 @ Y3 )
            = Q2 )
         => ( ( F2 @ X5 @ Y3 )
            = ( G2 @ X5 @ Y3 ) ) )
     => ( ( P = Q2 )
       => ( ( produc6081775807080527818_nat_o @ F2 @ P )
          = ( produc6081775807080527818_nat_o @ G2 @ Q2 ) ) ) ) ).

% split_cong
thf(fact_768_split__cong,axiom,
    ! [Q2: product_prod_nat_nat,F2: nat > nat > nat,G2: nat > nat > nat,P: product_prod_nat_nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( ( product_Pair_nat_nat @ X5 @ Y3 )
            = Q2 )
         => ( ( F2 @ X5 @ Y3 )
            = ( G2 @ X5 @ Y3 ) ) )
     => ( ( P = Q2 )
       => ( ( produc6842872674320459806at_nat @ F2 @ P )
          = ( produc6842872674320459806at_nat @ G2 @ Q2 ) ) ) ) ).

% split_cong
thf(fact_769_split__cong,axiom,
    ! [Q2: product_prod_nat_nat,F2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,G2: nat > nat > product_prod_nat_nat > product_prod_nat_nat,P: product_prod_nat_nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( ( product_Pair_nat_nat @ X5 @ Y3 )
            = Q2 )
         => ( ( F2 @ X5 @ Y3 )
            = ( G2 @ X5 @ Y3 ) ) )
     => ( ( P = Q2 )
       => ( ( produc27273713700761075at_nat @ F2 @ P )
          = ( produc27273713700761075at_nat @ G2 @ Q2 ) ) ) ) ).

% split_cong
thf(fact_770_split__cong,axiom,
    ! [Q2: product_prod_nat_nat,F2: nat > nat > product_prod_nat_nat > $o,G2: nat > nat > product_prod_nat_nat > $o,P: product_prod_nat_nat] :
      ( ! [X5: nat,Y3: nat] :
          ( ( ( product_Pair_nat_nat @ X5 @ Y3 )
            = Q2 )
         => ( ( F2 @ X5 @ Y3 )
            = ( G2 @ X5 @ Y3 ) ) )
     => ( ( P = Q2 )
       => ( ( produc8739625826339149834_nat_o @ F2 @ P )
          = ( produc8739625826339149834_nat_o @ G2 @ Q2 ) ) ) ) ).

% split_cong
thf(fact_771_split__cong,axiom,
    ! [Q2: product_prod_int_int,F2: int > int > $o,G2: int > int > $o,P: product_prod_int_int] :
      ( ! [X5: int,Y3: int] :
          ( ( ( product_Pair_int_int @ X5 @ Y3 )
            = Q2 )
         => ( ( F2 @ X5 @ Y3 )
            = ( G2 @ X5 @ Y3 ) ) )
     => ( ( P = Q2 )
       => ( ( produc4947309494688390418_int_o @ F2 @ P )
          = ( produc4947309494688390418_int_o @ G2 @ Q2 ) ) ) ) ).

% split_cong
thf(fact_772_listrel1__iff__update,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( listre4828114922151135584at_nat @ R2 ) )
      = ( ? [Y5: product_prod_nat_nat,N2: nat] :
            ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs2 @ N2 ) @ Y5 ) @ R2 )
            & ( ord_less_nat @ N2 @ ( size_s5460976970255530739at_nat @ Xs2 ) )
            & ( Ys
              = ( list_u6180841689913720943at_nat @ Xs2 @ N2 @ Y5 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_773_listrel1__iff__update,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel1_int @ R2 ) )
      = ( ? [Y5: int,N2: nat] :
            ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( nth_int @ Xs2 @ N2 ) @ Y5 ) @ R2 )
            & ( ord_less_nat @ N2 @ ( size_size_list_int @ Xs2 ) )
            & ( Ys
              = ( list_update_int @ Xs2 @ N2 @ Y5 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_774_mem__case__prodI2,axiom,
    ! [P: product_prod_int_int,Z3: produc859450856879609959at_nat,C: int > int > set_Pr8693737435421807431at_nat] :
      ( ! [A4: int,B3: int] :
          ( ( P
            = ( product_Pair_int_int @ A4 @ B3 ) )
         => ( member8206827879206165904at_nat @ Z3 @ ( C @ A4 @ B3 ) ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc143607355405949889at_nat @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_775_mem__case__prodI2,axiom,
    ! [P: produc8731074985263844745atural,Z3: produc859450856879609959at_nat,C: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat] :
      ( ! [A4: code_natural > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( ( P
            = ( produc2252593628808123835atural @ A4 @ B3 ) )
         => ( member8206827879206165904at_nat @ Z3 @ ( C @ A4 @ B3 ) ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc4060131469376366943at_nat @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_776_mem__case__prodI2,axiom,
    ! [P: produc989692990947075319atural,Z3: produc859450856879609959at_nat,C: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat] :
      ( ! [A4: produc4972180933644002618e_term > option6357759511663192854e_term,B3: produc7822875418678951345atural] :
          ( ( P
            = ( produc3831813291587773865atural @ A4 @ B3 ) )
         => ( member8206827879206165904at_nat @ Z3 @ ( C @ A4 @ B3 ) ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc5211177361811169009at_nat @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_777_mem__case__prodI2,axiom,
    ! [P: produc2285326912895808259nt_int,Z3: produc859450856879609959at_nat,C: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat] :
      ( ! [A4: produc8551481072490612790e_term > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( ( P
            = ( produc5700946648718959541nt_int @ A4 @ B3 ) )
         => ( member8206827879206165904at_nat @ Z3 @ ( C @ A4 @ B3 ) ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc517896604054025189at_nat @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_778_mem__case__prodI2,axiom,
    ! [P: produc7773217078559923341nt_int,Z3: produc859450856879609959at_nat,C: ( int > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat] :
      ( ! [A4: int > option6357759511663192854e_term,B3: product_prod_int_int] :
          ( ( P
            = ( produc4305682042979456191nt_int @ A4 @ B3 ) )
         => ( member8206827879206165904at_nat @ Z3 @ ( C @ A4 @ B3 ) ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc2114697605475793755at_nat @ C @ P ) ) ) ).

% mem_case_prodI2
thf(fact_779_mem__case__prodI,axiom,
    ! [Z3: produc859450856879609959at_nat,C: int > int > set_Pr8693737435421807431at_nat,A: int,B: int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( C @ A @ B ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc143607355405949889at_nat @ C @ ( product_Pair_int_int @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_780_mem__case__prodI,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat,A: code_natural > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( C @ A @ B ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc4060131469376366943at_nat @ C @ ( produc2252593628808123835atural @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_781_mem__case__prodI,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat,A: produc4972180933644002618e_term > option6357759511663192854e_term,B: produc7822875418678951345atural] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( C @ A @ B ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc5211177361811169009at_nat @ C @ ( produc3831813291587773865atural @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_782_mem__case__prodI,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat,A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( C @ A @ B ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc517896604054025189at_nat @ C @ ( produc5700946648718959541nt_int @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_783_mem__case__prodI,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( int > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat,A: int > option6357759511663192854e_term,B: product_prod_int_int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( C @ A @ B ) )
     => ( member8206827879206165904at_nat @ Z3 @ ( produc2114697605475793755at_nat @ C @ ( produc4305682042979456191nt_int @ A @ B ) ) ) ) ).

% mem_case_prodI
thf(fact_784_case__prodI2_H,axiom,
    ! [P: product_prod_nat_nat,C: nat > nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( ( product_Pair_nat_nat @ A4 @ B3 )
            = P )
         => ( C @ A4 @ B3 @ X3 ) )
     => ( produc8739625826339149834_nat_o @ C @ P @ X3 ) ) ).

% case_prodI2'
thf(fact_785_length__list__update,axiom,
    ! [Xs2: list_int,I: nat,X3: int] :
      ( ( size_size_list_int @ ( list_update_int @ Xs2 @ I @ X3 ) )
      = ( size_size_list_int @ Xs2 ) ) ).

% length_list_update
thf(fact_786_nth__list__update__neq,axiom,
    ! [I: nat,J: nat,Xs2: list_int,X3: int] :
      ( ( I != J )
     => ( ( nth_int @ ( list_update_int @ Xs2 @ I @ X3 ) @ J )
        = ( nth_int @ Xs2 @ J ) ) ) ).

% nth_list_update_neq
thf(fact_787_list__update__id,axiom,
    ! [Xs2: list_int,I: nat] :
      ( ( list_update_int @ Xs2 @ I @ ( nth_int @ Xs2 @ I ) )
      = Xs2 ) ).

% list_update_id
thf(fact_788_nth__list__update__eq,axiom,
    ! [I: nat,Xs2: list_int,X3: int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs2 ) )
     => ( ( nth_int @ ( list_update_int @ Xs2 @ I @ X3 ) @ I )
        = X3 ) ) ).

% nth_list_update_eq
thf(fact_789_mem__case__prodE,axiom,
    ! [Z3: produc859450856879609959at_nat,C: int > int > set_Pr8693737435421807431at_nat,P: product_prod_int_int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( produc143607355405949889at_nat @ C @ P ) )
     => ~ ! [X5: int,Y3: int] :
            ( ( P
              = ( product_Pair_int_int @ X5 @ Y3 ) )
           => ~ ( member8206827879206165904at_nat @ Z3 @ ( C @ X5 @ Y3 ) ) ) ) ).

% mem_case_prodE
thf(fact_790_mem__case__prodE,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( code_natural > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat,P: produc8731074985263844745atural] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( produc4060131469376366943at_nat @ C @ P ) )
     => ~ ! [X5: code_natural > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
            ( ( P
              = ( produc2252593628808123835atural @ X5 @ Y3 ) )
           => ~ ( member8206827879206165904at_nat @ Z3 @ ( C @ X5 @ Y3 ) ) ) ) ).

% mem_case_prodE
thf(fact_791_mem__case__prodE,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( produc4972180933644002618e_term > option6357759511663192854e_term ) > produc7822875418678951345atural > set_Pr8693737435421807431at_nat,P: produc989692990947075319atural] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( produc5211177361811169009at_nat @ C @ P ) )
     => ~ ! [X5: produc4972180933644002618e_term > option6357759511663192854e_term,Y3: produc7822875418678951345atural] :
            ( ( P
              = ( produc3831813291587773865atural @ X5 @ Y3 ) )
           => ~ ( member8206827879206165904at_nat @ Z3 @ ( C @ X5 @ Y3 ) ) ) ) ).

% mem_case_prodE
thf(fact_792_mem__case__prodE,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat,P: produc2285326912895808259nt_int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( produc517896604054025189at_nat @ C @ P ) )
     => ~ ! [X5: produc8551481072490612790e_term > option6357759511663192854e_term,Y3: product_prod_int_int] :
            ( ( P
              = ( produc5700946648718959541nt_int @ X5 @ Y3 ) )
           => ~ ( member8206827879206165904at_nat @ Z3 @ ( C @ X5 @ Y3 ) ) ) ) ).

% mem_case_prodE
thf(fact_793_mem__case__prodE,axiom,
    ! [Z3: produc859450856879609959at_nat,C: ( int > option6357759511663192854e_term ) > product_prod_int_int > set_Pr8693737435421807431at_nat,P: produc7773217078559923341nt_int] :
      ( ( member8206827879206165904at_nat @ Z3 @ ( produc2114697605475793755at_nat @ C @ P ) )
     => ~ ! [X5: int > option6357759511663192854e_term,Y3: product_prod_int_int] :
            ( ( P
              = ( produc4305682042979456191nt_int @ X5 @ Y3 ) )
           => ~ ( member8206827879206165904at_nat @ Z3 @ ( C @ X5 @ Y3 ) ) ) ) ).

% mem_case_prodE
thf(fact_794_map__update,axiom,
    ! [F2: tm > tm,Xs2: list_tm,K: nat,Y: tm] :
      ( ( map_tm_tm @ F2 @ ( list_update_tm @ Xs2 @ K @ Y ) )
      = ( list_update_tm @ ( map_tm_tm @ F2 @ Xs2 ) @ K @ ( F2 @ Y ) ) ) ).

% map_update
thf(fact_795_map__update,axiom,
    ! [F2: tm > a,Xs2: list_tm,K: nat,Y: tm] :
      ( ( map_tm_a @ F2 @ ( list_update_tm @ Xs2 @ K @ Y ) )
      = ( list_update_a @ ( map_tm_a @ F2 @ Xs2 ) @ K @ ( F2 @ Y ) ) ) ).

% map_update
thf(fact_796_case__prod__Pair__iden,axiom,
    ! [P: product_prod_int_int] :
      ( ( produc4245557441103728435nt_int @ product_Pair_int_int @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_797_case__prod__Pair__iden,axiom,
    ! [P: produc8731074985263844745atural] :
      ( ( produc2858791075983070577atural @ produc2252593628808123835atural @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_798_case__prod__Pair__iden,axiom,
    ! [P: produc989692990947075319atural] :
      ( ( produc1300469243244976333atural @ produc3831813291587773865atural @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_799_case__prod__Pair__iden,axiom,
    ! [P: produc2285326912895808259nt_int] :
      ( ( produc8492565224438309093nt_int @ produc5700946648718959541nt_int @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_800_case__prod__Pair__iden,axiom,
    ! [P: produc7773217078559923341nt_int] :
      ( ( produc5122537100556696953nt_int @ produc4305682042979456191nt_int @ P )
      = P ) ).

% case_prod_Pair_iden
thf(fact_801_case__prodE_H,axiom,
    ! [C: nat > nat > product_prod_nat_nat > $o,P: product_prod_nat_nat,Z3: product_prod_nat_nat] :
      ( ( produc8739625826339149834_nat_o @ C @ P @ Z3 )
     => ~ ! [X5: nat,Y3: nat] :
            ( ( P
              = ( product_Pair_nat_nat @ X5 @ Y3 ) )
           => ~ ( C @ X5 @ Y3 @ Z3 ) ) ) ).

% case_prodE'
thf(fact_802_case__prodD_H,axiom,
    ! [R: nat > nat > product_prod_nat_nat > $o,A: nat,B: nat,C: product_prod_nat_nat] :
      ( ( produc8739625826339149834_nat_o @ R @ ( product_Pair_nat_nat @ A @ B ) @ C )
     => ( R @ A @ B @ C ) ) ).

% case_prodD'
thf(fact_803_list__update_Osimps_I2_J,axiom,
    ! [X3: int,Xs2: list_int,I: nat,V2: int] :
      ( ( list_update_int @ ( cons_int @ X3 @ Xs2 ) @ I @ V2 )
      = ( case_nat_list_int @ ( cons_int @ V2 @ Xs2 )
        @ ^ [J3: nat] : ( cons_int @ X3 @ ( list_update_int @ Xs2 @ J3 @ V2 ) )
        @ I ) ) ).

% list_update.simps(2)
thf(fact_804_list__update__code_I3_J,axiom,
    ! [X3: int,Xs2: list_int,I: nat,Y: int] :
      ( ( list_update_int @ ( cons_int @ X3 @ Xs2 ) @ ( suc @ I ) @ Y )
      = ( cons_int @ X3 @ ( list_update_int @ Xs2 @ I @ Y ) ) ) ).

% list_update_code(3)
thf(fact_805_list__update__code_I2_J,axiom,
    ! [X3: int,Xs2: list_int,Y: int] :
      ( ( list_update_int @ ( cons_int @ X3 @ Xs2 ) @ zero_zero_nat @ Y )
      = ( cons_int @ Y @ Xs2 ) ) ).

% list_update_code(2)
thf(fact_806_nth__list__update,axiom,
    ! [I: nat,Xs2: list_int,J: nat,X3: int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs2 ) )
     => ( ( ( I = J )
         => ( ( nth_int @ ( list_update_int @ Xs2 @ I @ X3 ) @ J )
            = X3 ) )
        & ( ( I != J )
         => ( ( nth_int @ ( list_update_int @ Xs2 @ I @ X3 ) @ J )
            = ( nth_int @ Xs2 @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_807_list__update__same__conv,axiom,
    ! [I: nat,Xs2: list_int,X3: int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs2 ) )
     => ( ( ( list_update_int @ Xs2 @ I @ X3 )
          = Xs2 )
        = ( ( nth_int @ Xs2 @ I )
          = X3 ) ) ) ).

% list_update_same_conv
thf(fact_808_butlast__list__update,axiom,
    ! [K: nat,Xs2: list_int,X3: int] :
      ( ( ( K
          = ( minus_minus_nat @ ( size_size_list_int @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_int @ ( list_update_int @ Xs2 @ K @ X3 ) )
          = ( butlast_int @ Xs2 ) ) )
      & ( ( K
         != ( minus_minus_nat @ ( size_size_list_int @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_int @ ( list_update_int @ Xs2 @ K @ X3 ) )
          = ( list_update_int @ ( butlast_int @ Xs2 ) @ K @ X3 ) ) ) ) ).

% butlast_list_update
thf(fact_809_Euclidean__Division_Odivmod__nat__if,axiom,
    ( euclidean_divmod_nat
    = ( ^ [M3: nat,N2: nat] :
          ( if_Pro6206227464963214023at_nat
          @ ( ( N2 = zero_zero_nat )
            | ( ord_less_nat @ M3 @ N2 ) )
          @ ( product_Pair_nat_nat @ zero_zero_nat @ M3 )
          @ ( produc2626176000494625587at_nat
            @ ^ [Q4: nat] : ( product_Pair_nat_nat @ ( suc @ Q4 ) )
            @ ( euclidean_divmod_nat @ ( minus_minus_nat @ M3 @ N2 ) @ N2 ) ) ) ) ) ).

% Euclidean_Division.divmod_nat_if
thf(fact_810_nth__zip,axiom,
    ! [I: nat,Xs2: list_C3923257620442878573e_term,Ys: list_P8331001420799514423atural] :
      ( ( ord_less_nat @ I @ ( size_s2724268559862573313e_term @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_s56545037565794211atural @ Ys ) )
       => ( ( nth_Pr1279834698403413442atural @ ( zip_Co4844296662218172059atural @ Xs2 @ Ys ) @ I )
          = ( produc2252593628808123835atural @ ( nth_Co1167427695697731478e_term @ Xs2 @ I ) @ ( nth_Pr1203987720935123128atural @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_811_nth__zip,axiom,
    ! [I: nat,Xs2: list_P5726480267095810431e_term,Ys: list_P8331001420799514423atural] :
      ( ( ord_less_nat @ I @ ( size_s8761328274211398163e_term @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_s56545037565794211atural @ Ys ) )
       => ( ( nth_Pr8170445950515104176atural @ ( zip_Pr3521053968933873289atural @ Xs2 @ Ys ) @ I )
          = ( produc3831813291587773865atural @ ( nth_Pr1450790470029205928e_term @ Xs2 @ I ) @ ( nth_Pr1203987720935123128atural @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_812_nth__zip,axiom,
    ! [I: nat,Xs2: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s3817825649112772879e_term @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Ys ) )
       => ( ( nth_Pr5768845505533887420nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs2 @ Ys ) @ I )
          = ( produc5700946648718959541nt_int @ ( nth_Pr6123904574653836964e_term @ Xs2 @ I ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_813_nth__zip,axiom,
    ! [I: nat,Xs2: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s8881356780637927685e_term @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Ys ) )
       => ( ( nth_Pr7284623736940738758nt_int @ ( zip_in8766932505889695135nt_int @ Xs2 @ Ys ) @ I )
          = ( produc4305682042979456191nt_int @ ( nth_in8840386337573990810e_term @ Xs2 @ I ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_814_nth__zip,axiom,
    ! [I: nat,Xs2: list_int,Ys: list_int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_int @ Ys ) )
       => ( ( nth_Pr4439495888332055232nt_int @ ( zip_int_int @ Xs2 @ Ys ) @ I )
          = ( product_Pair_int_int @ ( nth_int @ Xs2 @ I ) @ ( nth_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_815_listrel__iff__nth,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( listre818007680106770737at_nat @ R2 ) )
      = ( ( ( size_s5460976970255530739at_nat @ Xs2 )
          = ( size_s5460976970255530739at_nat @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s5460976970255530739at_nat @ Xs2 ) )
           => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs2 @ N2 ) @ ( nth_Pr7617993195940197384at_nat @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_816_listrel__iff__nth,axiom,
    ! [Xs2: list_C3923257620442878573e_term,Ys: list_P8331001420799514423atural,R2: set_Pr3206334165513263167atural] :
      ( ( member8036172579503645846atural @ ( produc1637829849235508657atural @ Xs2 @ Ys ) @ ( listre5100861229312803809atural @ R2 ) )
      = ( ( ( size_s2724268559862573313e_term @ Xs2 )
          = ( size_s56545037565794211atural @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s2724268559862573313e_term @ Xs2 ) )
           => ( member3036280176337868704atural @ ( produc2252593628808123835atural @ ( nth_Co1167427695697731478e_term @ Xs2 @ N2 ) @ ( nth_Pr1203987720935123128atural @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_817_listrel__iff__nth,axiom,
    ! [Xs2: list_P5726480267095810431e_term,Ys: list_P8331001420799514423atural,R2: set_Pr4244404650639074861atural] :
      ( ( member3645681970175622916atural @ ( produc5035611891920301343atural @ Xs2 @ Ys ) @ ( listre1960822772465153743atural @ R2 ) )
      = ( ( ( size_s8761328274211398163e_term @ Xs2 )
          = ( size_s56545037565794211atural @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s8761328274211398163e_term @ Xs2 ) )
           => ( member3245610415464309390atural @ ( produc3831813291587773865atural @ ( nth_Pr1450790470029205928e_term @ Xs2 @ N2 ) @ ( nth_Pr1203987720935123128atural @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_818_listrel__iff__nth,axiom,
    ! [Xs2: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int,R2: set_Pr9222295170931077689nt_int] :
      ( ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ Xs2 @ Ys ) @ ( listre7929554186369383643nt_int @ R2 ) )
      = ( ( ( size_s3817825649112772879e_term @ Xs2 )
          = ( size_s5157815400016825771nt_int @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s3817825649112772879e_term @ Xs2 ) )
           => ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ ( nth_Pr6123904574653836964e_term @ Xs2 @ N2 ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_819_listrel__iff__nth,axiom,
    ! [Xs2: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int,R2: set_Pr1872883991513573699nt_int] :
      ( ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ Xs2 @ Ys ) @ ( listre7622244038138809061nt_int @ R2 ) )
      = ( ( ( size_s8881356780637927685e_term @ Xs2 )
          = ( size_s5157815400016825771nt_int @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s8881356780637927685e_term @ Xs2 ) )
           => ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ ( nth_in8840386337573990810e_term @ Xs2 @ N2 ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_820_listrel__iff__nth,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel_int_int @ R2 ) )
      = ( ( ( size_size_list_int @ Xs2 )
          = ( size_size_list_int @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_int @ Xs2 ) )
           => ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( nth_int @ Xs2 @ N2 ) @ ( nth_int @ Ys @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_821_zip__Cons__Cons,axiom,
    ! [X3: int,Xs2: list_int,Y: int,Ys: list_int] :
      ( ( zip_int_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Ys ) )
      = ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ ( zip_int_int @ Xs2 @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_822_zip__Cons__Cons,axiom,
    ! [X3: code_natural > option6357759511663192854e_term,Xs2: list_C3923257620442878573e_term,Y: produc7822875418678951345atural,Ys: list_P8331001420799514423atural] :
      ( ( zip_Co4844296662218172059atural @ ( cons_C49247693769703591e_term @ X3 @ Xs2 ) @ ( cons_P7944219419860481639atural @ Y @ Ys ) )
      = ( cons_P7201695898000251219atural @ ( produc2252593628808123835atural @ X3 @ Y ) @ ( zip_Co4844296662218172059atural @ Xs2 @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_823_zip__Cons__Cons,axiom,
    ! [X3: produc4972180933644002618e_term > option6357759511663192854e_term,Xs2: list_P5726480267095810431e_term,Y: produc7822875418678951345atural,Ys: list_P8331001420799514423atural] :
      ( ( zip_Pr3521053968933873289atural @ ( cons_P2170374719109096249e_term @ X3 @ Xs2 ) @ ( cons_P7944219419860481639atural @ Y @ Ys ) )
      = ( cons_P1182027996229600705atural @ ( produc3831813291587773865atural @ X3 @ Y ) @ ( zip_Pr3521053968933873289atural @ Xs2 @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_824_zip__Cons__Cons,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Xs2: list_P1743416141875011707e_term,Y: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( zip_Pr4168994715204986005nt_int @ ( cons_P2630085844062958645e_term @ X3 @ Xs2 ) @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) )
      = ( cons_P6018425551955479501nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y ) @ ( zip_Pr4168994715204986005nt_int @ Xs2 @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_825_zip__Cons__Cons,axiom,
    ! [X3: int > option6357759511663192854e_term,Xs2: list_i8448526496819171953e_term,Y: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( zip_in8766932505889695135nt_int @ ( cons_i7166360444231718571e_term @ X3 @ Xs2 ) @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) )
      = ( cons_P2743708091642732631nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y ) @ ( zip_in8766932505889695135nt_int @ Xs2 @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_826_zip__left__commute,axiom,
    ! [Xs2: list_C3923257620442878573e_term,Ys: list_Code_natural,Zs3: list_Code_natural] :
      ( ( zip_Co4844296662218172059atural @ Xs2 @ ( zip_Co6031810628546548233atural @ Ys @ Zs3 ) )
      = ( map_Pr773955134250645250atural
        @ ( produc1561149236256983067atural
          @ ^ [Y5: code_natural] :
              ( produc938223334282462652atural
              @ ^ [X: code_natural > option6357759511663192854e_term,Z: code_natural] : ( produc2252593628808123835atural @ X @ ( produc3574140220909816553atural @ Y5 @ Z ) ) ) )
        @ ( zip_Co2263765536155547717atural @ Ys @ ( zip_Co148851722543544766atural @ Xs2 @ Zs3 ) ) ) ) ).

% zip_left_commute
thf(fact_827_zip__left__commute,axiom,
    ! [Xs2: list_P5726480267095810431e_term,Ys: list_Code_natural,Zs3: list_Code_natural] :
      ( ( zip_Pr3521053968933873289atural @ Xs2 @ ( zip_Co6031810628546548233atural @ Ys @ Zs3 ) )
      = ( map_Pr5208547534834374018atural
        @ ( produc2461152820012758555atural
          @ ^ [Y5: code_natural] :
              ( produc650483176397606972atural
              @ ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Z: code_natural] : ( produc3831813291587773865atural @ X @ ( produc3574140220909816553atural @ Y5 @ Z ) ) ) )
        @ ( zip_Co4321876045980164567atural @ Ys @ ( zip_Pr7521778153925083984atural @ Xs2 @ Zs3 ) ) ) ) ).

% zip_left_commute
thf(fact_828_zip__left__commute,axiom,
    ! [Xs2: list_P1743416141875011707e_term,Ys: list_int,Zs3: list_int] :
      ( ( zip_Pr4168994715204986005nt_int @ Xs2 @ ( zip_int_int @ Ys @ Zs3 ) )
      = ( map_Pr9151314201186384778nt_int
        @ ( produc2730073284378773539nt_int
          @ ^ [Y5: int] :
              ( produc2771024828437622600nt_int
              @ ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Z: int] : ( produc5700946648718959541nt_int @ X @ ( product_Pair_int_int @ Y5 @ Z ) ) ) )
        @ ( zip_in1519018847819706835rm_int @ Ys @ ( zip_Pr7008984055488428112rm_int @ Xs2 @ Zs3 ) ) ) ) ).

% zip_left_commute
thf(fact_829_zip__left__commute,axiom,
    ! [Xs2: list_i8448526496819171953e_term,Ys: list_int,Zs3: list_int] :
      ( ( zip_in8766932505889695135nt_int @ Xs2 @ ( zip_int_int @ Ys @ Zs3 ) )
      = ( map_Pr8730504324269258506nt_int
        @ ( produc7790648554307352611nt_int
          @ ^ [Y5: int] :
              ( produc1017238998450650824nt_int
              @ ^ [X: int > option6357759511663192854e_term,Z: int] : ( produc4305682042979456191nt_int @ X @ ( product_Pair_int_int @ Y5 @ Z ) ) ) )
        @ ( zip_in3046706307806627657rm_int @ Ys @ ( zip_in1054202108563164102rm_int @ Xs2 @ Zs3 ) ) ) ) ).

% zip_left_commute
thf(fact_830_zip__assoc,axiom,
    ! [Xs2: list_C3923257620442878573e_term,Ys: list_Code_natural,Zs3: list_Code_natural] :
      ( ( zip_Co4844296662218172059atural @ Xs2 @ ( zip_Co6031810628546548233atural @ Ys @ Zs3 ) )
      = ( map_Pr5923211415028173580atural
        @ ( produc3071528930461395437atural
          @ ( produc7759286722592540291atural
            @ ^ [X: code_natural > option6357759511663192854e_term,Y5: code_natural,Z: code_natural] : ( produc2252593628808123835atural @ X @ ( produc3574140220909816553atural @ Y5 @ Z ) ) ) )
        @ ( zip_Pr7682750461249451287atural @ ( zip_Co148851722543544766atural @ Xs2 @ Ys ) @ Zs3 ) ) ) ).

% zip_assoc
thf(fact_831_zip__assoc,axiom,
    ! [Xs2: list_P5726480267095810431e_term,Ys: list_Code_natural,Zs3: list_Code_natural] :
      ( ( zip_Pr3521053968933873289atural @ Xs2 @ ( zip_Co6031810628546548233atural @ Ys @ Zs3 ) )
      = ( map_Pr5379678695501496844atural
        @ ( produc5983314677236137325atural
          @ ( produc7496289516936076547atural
            @ ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Y5: code_natural,Z: code_natural] : ( produc3831813291587773865atural @ X @ ( produc3574140220909816553atural @ Y5 @ Z ) ) ) )
        @ ( zip_Pr4029875937752541993atural @ ( zip_Pr7521778153925083984atural @ Xs2 @ Ys ) @ Zs3 ) ) ) ).

% zip_assoc
thf(fact_832_zip__assoc,axiom,
    ! [Xs2: list_P1743416141875011707e_term,Ys: list_int,Zs3: list_int] :
      ( ( zip_Pr4168994715204986005nt_int @ Xs2 @ ( zip_int_int @ Ys @ Zs3 ) )
      = ( map_Pr2636829087904227612nt_int
        @ ( produc3012078809480436349nt_int
          @ ( produc5776623027272482323nt_int
            @ ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Y5: int,Z: int] : ( produc5700946648718959541nt_int @ X @ ( product_Pair_int_int @ Y5 @ Z ) ) ) )
        @ ( zip_Pr8329346017641158189nt_int @ ( zip_Pr7008984055488428112rm_int @ Xs2 @ Ys ) @ Zs3 ) ) ) ).

% zip_assoc
thf(fact_833_zip__assoc,axiom,
    ! [Xs2: list_i8448526496819171953e_term,Ys: list_int,Zs3: list_int] :
      ( ( zip_in8766932505889695135nt_int @ Xs2 @ ( zip_int_int @ Ys @ Zs3 ) )
      = ( map_Pr1488936844085459484nt_int
        @ ( produc6062533421992007421nt_int
          @ ( produc1688802057988075411nt_int
            @ ^ [X: int > option6357759511663192854e_term,Y5: int,Z: int] : ( produc4305682042979456191nt_int @ X @ ( product_Pair_int_int @ Y5 @ Z ) ) ) )
        @ ( zip_Pr2852282319877772579nt_int @ ( zip_in1054202108563164102rm_int @ Xs2 @ Ys ) @ Zs3 ) ) ) ).

% zip_assoc
thf(fact_834_zip__commute,axiom,
    ( zip_int_int
    = ( ^ [Xs: list_int,Ys2: list_int] :
          ( map_Pr5543275981124152452nt_int
          @ ( produc4245557441103728435nt_int
            @ ^ [X: int,Y5: int] : ( product_Pair_int_int @ Y5 @ X ) )
          @ ( zip_int_int @ Ys2 @ Xs ) ) ) ) ).

% zip_commute
thf(fact_835_zip__commute,axiom,
    ( zip_Co4844296662218172059atural
    = ( ^ [Xs: list_C3923257620442878573e_term,Ys2: list_P8331001420799514423atural] :
          ( map_Pr2807628666123666572atural
          @ ( produc8099513336739577325atural
            @ ^ [X: produc7822875418678951345atural,Y5: code_natural > option6357759511663192854e_term] : ( produc2252593628808123835atural @ Y5 @ X ) )
          @ ( zip_Pr2942099889569794327e_term @ Ys2 @ Xs ) ) ) ) ).

% zip_commute
thf(fact_836_zip__commute,axiom,
    ( zip_Pr3521053968933873289atural
    = ( ^ [Xs: list_P5726480267095810431e_term,Ys2: list_P8331001420799514423atural] :
          ( map_Pr834810457146402060atural
          @ ( produc868849831700739565atural
            @ ^ [X: produc7822875418678951345atural,Y5: produc4972180933644002618e_term > option6357759511663192854e_term] : ( produc3831813291587773865atural @ Y5 @ X ) )
          @ ( zip_Pr3149936896725656489e_term @ Ys2 @ Xs ) ) ) ) ).

% zip_commute
thf(fact_837_zip__commute,axiom,
    ( zip_Pr4168994715204986005nt_int
    = ( ^ [Xs: list_P1743416141875011707e_term,Ys2: list_P5707943133018811711nt_int] :
          ( map_Pr5121344442813183004nt_int
          @ ( produc199769199162113789nt_int
            @ ^ [X: product_prod_int_int,Y5: produc8551481072490612790e_term > option6357759511663192854e_term] : ( produc5700946648718959541nt_int @ Y5 @ X ) )
          @ ( zip_Pr3687954236708649645e_term @ Ys2 @ Xs ) ) ) ) ).

% zip_commute
thf(fact_838_zip__commute,axiom,
    ( zip_in8766932505889695135nt_int
    = ( ^ [Xs: list_i8448526496819171953e_term,Ys2: list_P5707943133018811711nt_int] :
          ( map_Pr70581070097558428nt_int
          @ ( produc3478612561300218621nt_int
            @ ^ [X: product_prod_int_int,Y5: int > option6357759511663192854e_term] : ( produc4305682042979456191nt_int @ Y5 @ X ) )
          @ ( zip_Pr2754851686356984099e_term @ Ys2 @ Xs ) ) ) ) ).

% zip_commute
thf(fact_839_nat__gcd_Ocases,axiom,
    ! [X3: product_prod_nat_nat] :
      ~ ! [X5: nat,Y3: nat] :
          ( X3
         != ( product_Pair_nat_nat @ X5 @ Y3 ) ) ).

% nat_gcd.cases
thf(fact_840_unit__all__impI,axiom,
    ! [P2: product_unit > $o,Q: product_unit > $o] :
      ( ( ( P2 @ product_Unity )
       => ( Q @ product_Unity ) )
     => ! [X7: product_unit] :
          ( ( P2 @ X7 )
         => ( Q @ X7 ) ) ) ).

% unit_all_impI
thf(fact_841_eq__sym__Unity__conv,axiom,
    ! [X3: $o] :
      ( ( X3
        = ( product_Unity = product_Unity ) )
      = X3 ) ).

% eq_sym_Unity_conv
thf(fact_842_old_Ounit_Oexhaust,axiom,
    ! [Y: product_unit] : ( Y = product_Unity ) ).

% old.unit.exhaust
thf(fact_843_zip__update,axiom,
    ! [Xs2: list_int,I: nat,X3: int,Ys: list_int,Y: int] :
      ( ( zip_int_int @ ( list_update_int @ Xs2 @ I @ X3 ) @ ( list_update_int @ Ys @ I @ Y ) )
      = ( list_u3002344382305578791nt_int @ ( zip_int_int @ Xs2 @ Ys ) @ I @ ( product_Pair_int_int @ X3 @ Y ) ) ) ).

% zip_update
thf(fact_844_zip__update,axiom,
    ! [Xs2: list_C3923257620442878573e_term,I: nat,X3: code_natural > option6357759511663192854e_term,Ys: list_P8331001420799514423atural,Y: produc7822875418678951345atural] :
      ( ( zip_Co4844296662218172059atural @ ( list_u7670118167359848431e_term @ Xs2 @ I @ X3 ) @ ( list_u1154100593084251423atural @ Ys @ I @ Y ) )
      = ( list_u1101137155773205659atural @ ( zip_Co4844296662218172059atural @ Xs2 @ Ys ) @ I @ ( produc2252593628808123835atural @ X3 @ Y ) ) ) ).

% zip_update
thf(fact_845_zip__update,axiom,
    ! [Xs2: list_P5726480267095810431e_term,I: nat,X3: produc4972180933644002618e_term > option6357759511663192854e_term,Ys: list_P8331001420799514423atural,Y: produc7822875418678951345atural] :
      ( ( zip_Pr3521053968933873289atural @ ( list_u8679066855913899649e_term @ Xs2 @ I @ X3 ) @ ( list_u1154100593084251423atural @ Ys @ I @ Y ) )
      = ( list_u8539713776239025417atural @ ( zip_Pr3521053968933873289atural @ Xs2 @ Ys ) @ I @ ( produc3831813291587773865atural @ X3 @ Y ) ) ) ).

% zip_update
thf(fact_846_zip__update,axiom,
    ! [Xs2: list_P1743416141875011707e_term,I: nat,X3: produc8551481072490612790e_term > option6357759511663192854e_term,Ys: list_P5707943133018811711nt_int,Y: product_prod_int_int] :
      ( ( zip_Pr4168994715204986005nt_int @ ( list_u3533491785856317309e_term @ Xs2 @ I @ X3 ) @ ( list_u3002344382305578791nt_int @ Ys @ I @ Y ) )
      = ( list_u7736365598306452245nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs2 @ Ys ) @ I @ ( produc5700946648718959541nt_int @ X3 @ Y ) ) ) ).

% zip_update
thf(fact_847_zip__update,axiom,
    ! [Xs2: list_i8448526496819171953e_term,I: nat,X3: int > option6357759511663192854e_term,Ys: list_P5707943133018811711nt_int,Y: product_prod_int_int] :
      ( ( zip_in8766932505889695135nt_int @ ( list_u8946639151299769843e_term @ Xs2 @ I @ X3 ) @ ( list_u3002344382305578791nt_int @ Ys @ I @ Y ) )
      = ( list_u4780935413889332127nt_int @ ( zip_in8766932505889695135nt_int @ Xs2 @ Ys ) @ I @ ( produc4305682042979456191nt_int @ X3 @ Y ) ) ) ).

% zip_update
thf(fact_848_zip__map__map,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: tm > tm,Ys: list_tm] :
      ( ( zip_tm_tm @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Ys ) )
      = ( map_Pr6987371168092548_tm_tm
        @ ( produc8259672343312565299_tm_tm
          @ ^ [X: tm,Y5: tm] : ( product_Pair_tm_tm @ ( F2 @ X ) @ ( G2 @ Y5 ) ) )
        @ ( zip_tm_tm @ Xs2 @ Ys ) ) ) ).

% zip_map_map
thf(fact_849_zip__map__map,axiom,
    ! [F2: tm > tm,Xs2: list_tm,G2: tm > a,Ys: list_tm] :
      ( ( zip_tm_a @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Ys ) )
      = ( map_Pr4859770332270223314d_tm_a
        @ ( produc7284588777140482915d_tm_a
          @ ^ [X: tm,Y5: tm] : ( product_Pair_tm_a @ ( F2 @ X ) @ ( G2 @ Y5 ) ) )
        @ ( zip_tm_tm @ Xs2 @ Ys ) ) ) ).

% zip_map_map
thf(fact_850_zip__map__map,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: tm > tm,Ys: list_tm] :
      ( ( zip_a_tm @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Ys ) )
      = ( map_Pr4508165450964885904d_a_tm
        @ ( produc6932983895835145505d_a_tm
          @ ^ [X: tm,Y5: tm] : ( product_Pair_a_tm @ ( F2 @ X ) @ ( G2 @ Y5 ) ) )
        @ ( zip_tm_tm @ Xs2 @ Ys ) ) ) ).

% zip_map_map
thf(fact_851_zip__map__map,axiom,
    ! [F2: tm > a,Xs2: list_tm,G2: tm > a,Ys: list_tm] :
      ( ( zip_a_a @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Ys ) )
      = ( map_Pr6340487226144650438od_a_a
        @ ( produc3370238470301780725od_a_a
          @ ^ [X: tm,Y5: tm] : ( product_Pair_a_a @ ( F2 @ X ) @ ( G2 @ Y5 ) ) )
        @ ( zip_tm_tm @ Xs2 @ Ys ) ) ) ).

% zip_map_map
thf(fact_852_map2__map__map,axiom,
    ! [H: tm > tm > tm,F2: tm > tm,Xs2: list_tm,G2: tm > tm] :
      ( ( map_Pr6966721424858450403_tm_tm @ ( produc4572340505793320564_tm_tm @ H ) @ ( zip_tm_tm @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Xs2 ) ) )
      = ( map_tm_tm
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_853_map2__map__map,axiom,
    ! [H: tm > tm > a,F2: tm > tm,Xs2: list_tm,G2: tm > tm] :
      ( ( map_Pr8261074434149081501m_tm_a @ ( produc6889019639757340364m_tm_a @ H ) @ ( zip_tm_tm @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Xs2 ) ) )
      = ( map_tm_a
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_854_map2__map__map,axiom,
    ! [H: tm > a > tm,F2: tm > tm,Xs2: list_tm,G2: tm > a] :
      ( ( map_Pr7161974059552623417m_a_tm @ ( produc1844741009921715026m_a_tm @ H ) @ ( zip_tm_a @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Xs2 ) ) )
      = ( map_tm_tm
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_855_map2__map__map,axiom,
    ! [H: tm > a > a,F2: tm > tm,Xs2: list_tm,G2: tm > a] :
      ( ( map_Pr2233433488678829767tm_a_a @ ( produc6236484442818205294tm_a_a @ H ) @ ( zip_tm_a @ ( map_tm_tm @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Xs2 ) ) )
      = ( map_tm_a
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_856_map2__map__map,axiom,
    ! [H: a > tm > tm,F2: tm > a,Xs2: list_tm,G2: tm > tm] :
      ( ( map_Pr574039940866233847_tm_tm @ ( produc3005608178555903192_tm_tm @ H ) @ ( zip_a_tm @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Xs2 ) ) )
      = ( map_tm_tm
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_857_map2__map__map,axiom,
    ! [H: a > tm > a,F2: tm > a,Xs2: list_tm,G2: tm > tm] :
      ( ( map_Pr1239122408836671625a_tm_a @ ( produc5652396508319635304a_tm_a @ H ) @ ( zip_a_tm @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_tm @ G2 @ Xs2 ) ) )
      = ( map_tm_a
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_858_map2__map__map,axiom,
    ! [H: a > a > tm,F2: tm > a,Xs2: list_tm,G2: tm > a] :
      ( ( map_Pr140022034240213541a_a_tm @ ( produc608117878484009966a_a_tm @ H ) @ ( zip_a_a @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Xs2 ) ) )
      = ( map_tm_tm
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_859_map2__map__map,axiom,
    ! [H: a > a > a,F2: tm > a,Xs2: list_tm,G2: tm > a] :
      ( ( map_Pr3897371633210041563_a_a_a @ ( produc8815886927560695506_a_a_a @ H ) @ ( zip_a_a @ ( map_tm_a @ F2 @ Xs2 ) @ ( map_tm_a @ G2 @ Xs2 ) ) )
      = ( map_tm_a
        @ ^ [X: tm] : ( H @ ( F2 @ X ) @ ( G2 @ X ) )
        @ Xs2 ) ) ).

% map2_map_map
thf(fact_860_zip__same__conv__map,axiom,
    ! [Xs2: list_int] :
      ( ( zip_int_int @ Xs2 @ Xs2 )
      = ( map_in7157766398909135175nt_int
        @ ^ [X: int] : ( product_Pair_int_int @ X @ X )
        @ Xs2 ) ) ).

% zip_same_conv_map
thf(fact_861_listrel__eq__len,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel_int_int @ R2 ) )
     => ( ( size_size_list_int @ Xs2 )
        = ( size_size_list_int @ Ys ) ) ) ).

% listrel_eq_len
thf(fact_862_zip__eq__ConsE,axiom,
    ! [Xs2: list_int,Ys: list_int,Xy: product_prod_int_int,Xys: list_P5707943133018811711nt_int] :
      ( ( ( zip_int_int @ Xs2 @ Ys )
        = ( cons_P3334398858971670639nt_int @ Xy @ Xys ) )
     => ~ ! [X5: int,Xs4: list_int] :
            ( ( Xs2
              = ( cons_int @ X5 @ Xs4 ) )
           => ! [Y3: int,Ys4: list_int] :
                ( ( Ys
                  = ( cons_int @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( product_Pair_int_int @ X5 @ Y3 ) )
                 => ( Xys
                   != ( zip_int_int @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_863_zip__eq__ConsE,axiom,
    ! [Xs2: list_C3923257620442878573e_term,Ys: list_P8331001420799514423atural,Xy: produc8731074985263844745atural,Xys: list_P462037762353547417atural] :
      ( ( ( zip_Co4844296662218172059atural @ Xs2 @ Ys )
        = ( cons_P7201695898000251219atural @ Xy @ Xys ) )
     => ~ ! [X5: code_natural > option6357759511663192854e_term,Xs4: list_C3923257620442878573e_term] :
            ( ( Xs2
              = ( cons_C49247693769703591e_term @ X5 @ Xs4 ) )
           => ! [Y3: produc7822875418678951345atural,Ys4: list_P8331001420799514423atural] :
                ( ( Ys
                  = ( cons_P7944219419860481639atural @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc2252593628808123835atural @ X5 @ Y3 ) )
                 => ( Xys
                   != ( zip_Co4844296662218172059atural @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_864_zip__eq__ConsE,axiom,
    ! [Xs2: list_P5726480267095810431e_term,Ys: list_P8331001420799514423atural,Xy: produc989692990947075319atural,Xys: list_P1567996376173949831atural] :
      ( ( ( zip_Pr3521053968933873289atural @ Xs2 @ Ys )
        = ( cons_P1182027996229600705atural @ Xy @ Xys ) )
     => ~ ! [X5: produc4972180933644002618e_term > option6357759511663192854e_term,Xs4: list_P5726480267095810431e_term] :
            ( ( Xs2
              = ( cons_P2170374719109096249e_term @ X5 @ Xs4 ) )
           => ! [Y3: produc7822875418678951345atural,Ys4: list_P8331001420799514423atural] :
                ( ( Ys
                  = ( cons_P7944219419860481639atural @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc3831813291587773865atural @ X5 @ Y3 ) )
                 => ( Xys
                   != ( zip_Pr3521053968933873289atural @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_865_zip__eq__ConsE,axiom,
    ! [Xs2: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int,Xy: produc2285326912895808259nt_int,Xys: list_P651320350408439699nt_int] :
      ( ( ( zip_Pr4168994715204986005nt_int @ Xs2 @ Ys )
        = ( cons_P6018425551955479501nt_int @ Xy @ Xys ) )
     => ~ ! [X5: produc8551481072490612790e_term > option6357759511663192854e_term,Xs4: list_P1743416141875011707e_term] :
            ( ( Xs2
              = ( cons_P2630085844062958645e_term @ X5 @ Xs4 ) )
           => ! [Y3: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
                ( ( Ys
                  = ( cons_P3334398858971670639nt_int @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc5700946648718959541nt_int @ X5 @ Y3 ) )
                 => ( Xys
                   != ( zip_Pr4168994715204986005nt_int @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_866_zip__eq__ConsE,axiom,
    ! [Xs2: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int,Xy: produc7773217078559923341nt_int,Xys: list_P8915022641806594461nt_int] :
      ( ( ( zip_in8766932505889695135nt_int @ Xs2 @ Ys )
        = ( cons_P2743708091642732631nt_int @ Xy @ Xys ) )
     => ~ ! [X5: int > option6357759511663192854e_term,Xs4: list_i8448526496819171953e_term] :
            ( ( Xs2
              = ( cons_i7166360444231718571e_term @ X5 @ Xs4 ) )
           => ! [Y3: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
                ( ( Ys
                  = ( cons_P3334398858971670639nt_int @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc4305682042979456191nt_int @ X5 @ Y3 ) )
                 => ( Xys
                   != ( zip_in8766932505889695135nt_int @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_867_map__zip__map2,axiom,
    ! [F2: product_prod_int_int > $o,Xs2: list_int,G2: int > int,Ys: list_int] :
      ( ( map_Pr7660561949294196579_int_o @ F2 @ ( zip_int_int @ Xs2 @ ( map_int_int @ G2 @ Ys ) ) )
      = ( map_Pr7660561949294196579_int_o
        @ ( produc4947309494688390418_int_o
          @ ^ [X: int,Y5: int] : ( F2 @ ( product_Pair_int_int @ X @ ( G2 @ Y5 ) ) ) )
        @ ( zip_int_int @ Xs2 @ Ys ) ) ) ).

% map_zip_map2
thf(fact_868_map__zip__map,axiom,
    ! [F2: product_prod_int_int > $o,G2: int > int,Xs2: list_int,Ys: list_int] :
      ( ( map_Pr7660561949294196579_int_o @ F2 @ ( zip_int_int @ ( map_int_int @ G2 @ Xs2 ) @ Ys ) )
      = ( map_Pr7660561949294196579_int_o
        @ ( produc4947309494688390418_int_o
          @ ^ [X: int,Y5: int] : ( F2 @ ( product_Pair_int_int @ ( G2 @ X ) @ Y5 ) ) )
        @ ( zip_int_int @ Xs2 @ Ys ) ) ) ).

% map_zip_map
thf(fact_869_listrel__Cons2,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) ) @ ( listre818007680106770737at_nat @ R2 ) )
     => ~ ! [X5: product_prod_nat_nat,Xs3: list_P6011104703257516679at_nat] :
            ( ( Xs2
              = ( cons_P6512896166579812791at_nat @ X5 @ Xs3 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X5 @ Y ) @ R2 )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs3 @ Ys ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_870_listrel__Cons2,axiom,
    ! [Xs2: list_int,Y: int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ ( cons_int @ Y @ Ys ) ) @ ( listrel_int_int @ R2 ) )
     => ~ ! [X5: int,Xs3: list_int] :
            ( ( Xs2
              = ( cons_int @ X5 @ Xs3 ) )
           => ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X5 @ Y ) @ R2 )
             => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs3 @ Ys ) @ ( listrel_int_int @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_871_listrel__Cons2,axiom,
    ! [Xs2: list_C3923257620442878573e_term,Y: produc7822875418678951345atural,Ys: list_P8331001420799514423atural,R2: set_Pr3206334165513263167atural] :
      ( ( member8036172579503645846atural @ ( produc1637829849235508657atural @ Xs2 @ ( cons_P7944219419860481639atural @ Y @ Ys ) ) @ ( listre5100861229312803809atural @ R2 ) )
     => ~ ! [X5: code_natural > option6357759511663192854e_term,Xs3: list_C3923257620442878573e_term] :
            ( ( Xs2
              = ( cons_C49247693769703591e_term @ X5 @ Xs3 ) )
           => ( ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X5 @ Y ) @ R2 )
             => ~ ( member8036172579503645846atural @ ( produc1637829849235508657atural @ Xs3 @ Ys ) @ ( listre5100861229312803809atural @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_872_listrel__Cons2,axiom,
    ! [Xs2: list_P5726480267095810431e_term,Y: produc7822875418678951345atural,Ys: list_P8331001420799514423atural,R2: set_Pr4244404650639074861atural] :
      ( ( member3645681970175622916atural @ ( produc5035611891920301343atural @ Xs2 @ ( cons_P7944219419860481639atural @ Y @ Ys ) ) @ ( listre1960822772465153743atural @ R2 ) )
     => ~ ! [X5: produc4972180933644002618e_term > option6357759511663192854e_term,Xs3: list_P5726480267095810431e_term] :
            ( ( Xs2
              = ( cons_P2170374719109096249e_term @ X5 @ Xs3 ) )
           => ( ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X5 @ Y ) @ R2 )
             => ~ ( member3645681970175622916atural @ ( produc5035611891920301343atural @ Xs3 @ Ys ) @ ( listre1960822772465153743atural @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_873_listrel__Cons2,axiom,
    ! [Xs2: list_P1743416141875011707e_term,Y: product_prod_int_int,Ys: list_P5707943133018811711nt_int,R2: set_Pr9222295170931077689nt_int] :
      ( ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ Xs2 @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) ) @ ( listre7929554186369383643nt_int @ R2 ) )
     => ~ ! [X5: produc8551481072490612790e_term > option6357759511663192854e_term,Xs3: list_P1743416141875011707e_term] :
            ( ( Xs2
              = ( cons_P2630085844062958645e_term @ X5 @ Xs3 ) )
           => ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X5 @ Y ) @ R2 )
             => ~ ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ Xs3 @ Ys ) @ ( listre7929554186369383643nt_int @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_874_listrel__Cons2,axiom,
    ! [Xs2: list_i8448526496819171953e_term,Y: product_prod_int_int,Ys: list_P5707943133018811711nt_int,R2: set_Pr1872883991513573699nt_int] :
      ( ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ Xs2 @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) ) @ ( listre7622244038138809061nt_int @ R2 ) )
     => ~ ! [X5: int > option6357759511663192854e_term,Xs3: list_i8448526496819171953e_term] :
            ( ( Xs2
              = ( cons_i7166360444231718571e_term @ X5 @ Xs3 ) )
           => ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X5 @ Y ) @ R2 )
             => ~ ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ Xs3 @ Ys ) @ ( listre7622244038138809061nt_int @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_875_listrel__Cons1,axiom,
    ! [Y: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Xs2: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) @ Xs2 ) @ ( listre818007680106770737at_nat @ R2 ) )
     => ~ ! [Y3: product_prod_nat_nat,Ys5: list_P6011104703257516679at_nat] :
            ( ( Xs2
              = ( cons_P6512896166579812791at_nat @ Y3 @ Ys5 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ Y @ Y3 ) @ R2 )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys @ Ys5 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_876_listrel__Cons1,axiom,
    ! [Y: int,Ys: list_int,Xs2: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ Y @ Ys ) @ Xs2 ) @ ( listrel_int_int @ R2 ) )
     => ~ ! [Y3: int,Ys5: list_int] :
            ( ( Xs2
              = ( cons_int @ Y3 @ Ys5 ) )
           => ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ Y @ Y3 ) @ R2 )
             => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Ys @ Ys5 ) @ ( listrel_int_int @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_877_listrel__Cons1,axiom,
    ! [Y: code_natural > option6357759511663192854e_term,Ys: list_C3923257620442878573e_term,Xs2: list_P8331001420799514423atural,R2: set_Pr3206334165513263167atural] :
      ( ( member8036172579503645846atural @ ( produc1637829849235508657atural @ ( cons_C49247693769703591e_term @ Y @ Ys ) @ Xs2 ) @ ( listre5100861229312803809atural @ R2 ) )
     => ~ ! [Y3: produc7822875418678951345atural,Ys5: list_P8331001420799514423atural] :
            ( ( Xs2
              = ( cons_P7944219419860481639atural @ Y3 @ Ys5 ) )
           => ( ( member3036280176337868704atural @ ( produc2252593628808123835atural @ Y @ Y3 ) @ R2 )
             => ~ ( member8036172579503645846atural @ ( produc1637829849235508657atural @ Ys @ Ys5 ) @ ( listre5100861229312803809atural @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_878_listrel__Cons1,axiom,
    ! [Y: produc4972180933644002618e_term > option6357759511663192854e_term,Ys: list_P5726480267095810431e_term,Xs2: list_P8331001420799514423atural,R2: set_Pr4244404650639074861atural] :
      ( ( member3645681970175622916atural @ ( produc5035611891920301343atural @ ( cons_P2170374719109096249e_term @ Y @ Ys ) @ Xs2 ) @ ( listre1960822772465153743atural @ R2 ) )
     => ~ ! [Y3: produc7822875418678951345atural,Ys5: list_P8331001420799514423atural] :
            ( ( Xs2
              = ( cons_P7944219419860481639atural @ Y3 @ Ys5 ) )
           => ( ( member3245610415464309390atural @ ( produc3831813291587773865atural @ Y @ Y3 ) @ R2 )
             => ~ ( member3645681970175622916atural @ ( produc5035611891920301343atural @ Ys @ Ys5 ) @ ( listre1960822772465153743atural @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_879_listrel__Cons1,axiom,
    ! [Y: produc8551481072490612790e_term > option6357759511663192854e_term,Ys: list_P1743416141875011707e_term,Xs2: list_P5707943133018811711nt_int,R2: set_Pr9222295170931077689nt_int] :
      ( ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ ( cons_P2630085844062958645e_term @ Y @ Ys ) @ Xs2 ) @ ( listre7929554186369383643nt_int @ R2 ) )
     => ~ ! [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( ( Xs2
              = ( cons_P3334398858971670639nt_int @ Y3 @ Ys5 ) )
           => ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ Y @ Y3 ) @ R2 )
             => ~ ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ Ys @ Ys5 ) @ ( listre7929554186369383643nt_int @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_880_listrel__Cons1,axiom,
    ! [Y: int > option6357759511663192854e_term,Ys: list_i8448526496819171953e_term,Xs2: list_P5707943133018811711nt_int,R2: set_Pr1872883991513573699nt_int] :
      ( ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ ( cons_i7166360444231718571e_term @ Y @ Ys ) @ Xs2 ) @ ( listre7622244038138809061nt_int @ R2 ) )
     => ~ ! [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( ( Xs2
              = ( cons_P3334398858971670639nt_int @ Y3 @ Ys5 ) )
           => ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ Y @ Y3 ) @ R2 )
             => ~ ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ Ys @ Ys5 ) @ ( listre7622244038138809061nt_int @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_881_listrel_OCons,axiom,
    ! [X3: product_prod_nat_nat,Y: product_prod_nat_nat,R2: set_Pr8693737435421807431at_nat,Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y ) @ R2 )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( listre818007680106770737at_nat @ R2 ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys ) ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_882_listrel_OCons,axiom,
    ! [X3: int,Y: int,R2: set_Pr958786334691620121nt_int,Xs2: list_int,Ys: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y ) @ R2 )
     => ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( listrel_int_int @ R2 ) )
       => ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Ys ) ) @ ( listrel_int_int @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_883_listrel_OCons,axiom,
    ! [X3: code_natural > option6357759511663192854e_term,Y: produc7822875418678951345atural,R2: set_Pr3206334165513263167atural,Xs2: list_C3923257620442878573e_term,Ys: list_P8331001420799514423atural] :
      ( ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X3 @ Y ) @ R2 )
     => ( ( member8036172579503645846atural @ ( produc1637829849235508657atural @ Xs2 @ Ys ) @ ( listre5100861229312803809atural @ R2 ) )
       => ( member8036172579503645846atural @ ( produc1637829849235508657atural @ ( cons_C49247693769703591e_term @ X3 @ Xs2 ) @ ( cons_P7944219419860481639atural @ Y @ Ys ) ) @ ( listre5100861229312803809atural @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_884_listrel_OCons,axiom,
    ! [X3: produc4972180933644002618e_term > option6357759511663192854e_term,Y: produc7822875418678951345atural,R2: set_Pr4244404650639074861atural,Xs2: list_P5726480267095810431e_term,Ys: list_P8331001420799514423atural] :
      ( ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X3 @ Y ) @ R2 )
     => ( ( member3645681970175622916atural @ ( produc5035611891920301343atural @ Xs2 @ Ys ) @ ( listre1960822772465153743atural @ R2 ) )
       => ( member3645681970175622916atural @ ( produc5035611891920301343atural @ ( cons_P2170374719109096249e_term @ X3 @ Xs2 ) @ ( cons_P7944219419860481639atural @ Y @ Ys ) ) @ ( listre1960822772465153743atural @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_885_listrel_OCons,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Y: product_prod_int_int,R2: set_Pr9222295170931077689nt_int,Xs2: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y ) @ R2 )
     => ( ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ Xs2 @ Ys ) @ ( listre7929554186369383643nt_int @ R2 ) )
       => ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ ( cons_P2630085844062958645e_term @ X3 @ Xs2 ) @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) ) @ ( listre7929554186369383643nt_int @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_886_listrel_OCons,axiom,
    ! [X3: int > option6357759511663192854e_term,Y: product_prod_int_int,R2: set_Pr1872883991513573699nt_int,Xs2: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y ) @ R2 )
     => ( ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ Xs2 @ Ys ) @ ( listre7622244038138809061nt_int @ R2 ) )
       => ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ ( cons_i7166360444231718571e_term @ X3 @ Xs2 ) @ ( cons_P3334398858971670639nt_int @ Y @ Ys ) ) @ ( listre7622244038138809061nt_int @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_887_default__unit__def,axiom,
    defaul566961228789861419t_unit = product_Unity ).

% default_unit_def
thf(fact_888_listrel__def,axiom,
    ( listre818007680106770737at_nat
    = ( ^ [R3: set_Pr8693737435421807431at_nat] :
          ( collec2094671920101799250at_nat
          @ ( produc2929669097083596076_nat_o
            @ ( listre5588581128925307775at_nat
              @ ^ [X: product_prod_nat_nat,Y5: product_prod_nat_nat] : ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_889_listrel__def,axiom,
    ( listrel_int_int
    = ( ^ [R3: set_Pr958786334691620121nt_int] :
          ( collec928425520773505860st_int
          @ ( produc1306008110994012530_int_o
            @ ( listrelp_int_int
              @ ^ [X: int,Y5: int] : ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_890_listrel__def,axiom,
    ( listre5100861229312803809atural
    = ( ^ [R3: set_Pr3206334165513263167atural] :
          ( collec8643915876573367508atural
          @ ( produc105153972511871034ural_o
            @ ( listre8252659574522182419atural
              @ ^ [X: code_natural > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_891_listrel__def,axiom,
    ( listre1960822772465153743atural
    = ( ^ [R3: set_Pr4244404650639074861atural] :
          ( collec1597668633682138690atural
          @ ( produc4590926352470649676ural_o
            @ ( listre5223735995490694913atural
              @ ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_892_listrel__def,axiom,
    ( listre7929554186369383643nt_int
    = ( ^ [R3: set_Pr9222295170931077689nt_int] :
          ( collec2829211390982114382nt_int
          @ ( produc319343347873941056_int_o
            @ ( listre593962236462781709nt_int
              @ ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_893_listrel__def,axiom,
    ( listre7622244038138809061nt_int
    = ( ^ [R3: set_Pr1872883991513573699nt_int] :
          ( collec842021716442721240nt_int
          @ ( produc7927942422717903926_int_o
            @ ( listre6533371123311712791nt_int
              @ ^ [X: int > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X @ Y5 ) @ R3 ) ) ) ) ) ) ).

% listrel_def
thf(fact_894_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr8693737435421807431at_nat] :
      ( ( listre5588581128925307775at_nat
        @ ^ [X: product_prod_nat_nat,Y5: product_prod_nat_nat] : ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_P6011104703257516679at_nat,Y5: list_P6011104703257516679at_nat] : ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X @ Y5 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_895_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr958786334691620121nt_int] :
      ( ( listrelp_int_int
        @ ^ [X: int,Y5: int] : ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_int,Y5: list_int] : ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X @ Y5 ) @ ( listrel_int_int @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_896_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr3206334165513263167atural] :
      ( ( listre8252659574522182419atural
        @ ^ [X: code_natural > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3036280176337868704atural @ ( produc2252593628808123835atural @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_C3923257620442878573e_term,Y5: list_P8331001420799514423atural] : ( member8036172579503645846atural @ ( produc1637829849235508657atural @ X @ Y5 ) @ ( listre5100861229312803809atural @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_897_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr4244404650639074861atural] :
      ( ( listre5223735995490694913atural
        @ ^ [X: produc4972180933644002618e_term > option6357759511663192854e_term,Y5: produc7822875418678951345atural] : ( member3245610415464309390atural @ ( produc3831813291587773865atural @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_P5726480267095810431e_term,Y5: list_P8331001420799514423atural] : ( member3645681970175622916atural @ ( produc5035611891920301343atural @ X @ Y5 ) @ ( listre1960822772465153743atural @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_898_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr9222295170931077689nt_int] :
      ( ( listre593962236462781709nt_int
        @ ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_P1743416141875011707e_term,Y5: list_P5707943133018811711nt_int] : ( member1869596255364795664nt_int @ ( produc8723725229082728235nt_int @ X @ Y5 ) @ ( listre7929554186369383643nt_int @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_899_listrelp__listrel__eq,axiom,
    ! [R2: set_Pr1872883991513573699nt_int] :
      ( ( listre6533371123311712791nt_int
        @ ^ [X: int > option6357759511663192854e_term,Y5: product_prod_int_int] : ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X @ Y5 ) @ R2 ) )
      = ( ^ [X: list_i8448526496819171953e_term,Y5: list_P5707943133018811711nt_int] : ( member6768764179952475034nt_int @ ( produc2259991554960072885nt_int @ X @ Y5 ) @ ( listre7622244038138809061nt_int @ R2 ) ) ) ) ).

% listrelp_listrel_eq
thf(fact_900_listrelp_OCons,axiom,
    ! [R2: int > int > $o,X3: int,Y: int,Xs2: list_int,Ys: list_int] :
      ( ( R2 @ X3 @ Y )
     => ( ( listrelp_int_int @ R2 @ Xs2 @ Ys )
       => ( listrelp_int_int @ R2 @ ( cons_int @ X3 @ Xs2 ) @ ( cons_int @ Y @ Ys ) ) ) ) ).

% listrelp.Cons
thf(fact_901_minus__int_Oabs__eq,axiom,
    ! [Xa: product_prod_nat_nat,X3: product_prod_nat_nat] :
      ( ( minus_minus_int @ ( abs_Integ @ Xa ) @ ( abs_Integ @ X3 ) )
      = ( abs_Integ
        @ ( produc27273713700761075at_nat
          @ ^ [X: nat,Y5: nat] :
              ( produc2626176000494625587at_nat
              @ ^ [U: nat,V: nat] : ( product_Pair_nat_nat @ ( plus_plus_nat @ X @ V ) @ ( plus_plus_nat @ Y5 @ U ) ) )
          @ Xa
          @ X3 ) ) ) ).

% minus_int.abs_eq
thf(fact_902_plus__int_Oabs__eq,axiom,
    ! [Xa: product_prod_nat_nat,X3: product_prod_nat_nat] :
      ( ( plus_plus_int @ ( abs_Integ @ Xa ) @ ( abs_Integ @ X3 ) )
      = ( abs_Integ
        @ ( produc27273713700761075at_nat
          @ ^ [X: nat,Y5: nat] :
              ( produc2626176000494625587at_nat
              @ ^ [U: nat,V: nat] : ( product_Pair_nat_nat @ ( plus_plus_nat @ X @ U ) @ ( plus_plus_nat @ Y5 @ V ) ) )
          @ Xa
          @ X3 ) ) ) ).

% plus_int.abs_eq
thf(fact_903_lex__take__index,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Xs2 ) )
           => ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Ys ) )
             => ( ( ( take_P2173866234530122223at_nat @ I2 @ Xs2 )
                  = ( take_P2173866234530122223at_nat @ I2 @ Ys ) )
               => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs2 @ I2 ) @ ( nth_Pr7617993195940197384at_nat @ Ys @ I2 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_904_lex__take__index,axiom,
    ! [Xs2: list_int,Ys: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs2 @ Ys ) @ ( lex_int @ R2 ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_int @ Xs2 ) )
           => ( ( ord_less_nat @ I2 @ ( size_size_list_int @ Ys ) )
             => ( ( ( take_int @ I2 @ Xs2 )
                  = ( take_int @ I2 @ Ys ) )
               => ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( nth_int @ Xs2 @ I2 ) @ ( nth_int @ Ys @ I2 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_905_pair__less__iff1,axiom,
    ! [X3: nat,Y: nat,Z3: nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ X3 @ Y ) @ ( product_Pair_nat_nat @ X3 @ Z3 ) ) @ fun_pair_less )
      = ( ord_less_nat @ Y @ Z3 ) ) ).

% pair_less_iff1
thf(fact_906_take__Suc__Cons,axiom,
    ! [N: nat,X3: int,Xs2: list_int] :
      ( ( take_int @ ( suc @ N ) @ ( cons_int @ X3 @ Xs2 ) )
      = ( cons_int @ X3 @ ( take_int @ N @ Xs2 ) ) ) ).

% take_Suc_Cons
thf(fact_907_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_int] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_int @ ( take_int @ N @ Xs2 ) @ I )
        = ( nth_int @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_908_take__map,axiom,
    ! [N: nat,F2: tm > tm,Xs2: list_tm] :
      ( ( take_tm @ N @ ( map_tm_tm @ F2 @ Xs2 ) )
      = ( map_tm_tm @ F2 @ ( take_tm @ N @ Xs2 ) ) ) ).

% take_map
thf(fact_909_take__map,axiom,
    ! [N: nat,F2: tm > a,Xs2: list_tm] :
      ( ( take_a @ N @ ( map_tm_a @ F2 @ Xs2 ) )
      = ( map_tm_a @ F2 @ ( take_tm @ N @ Xs2 ) ) ) ).

% take_map
thf(fact_910_eq__Abs__Integ,axiom,
    ! [Z3: int] :
      ~ ! [X5: nat,Y3: nat] :
          ( Z3
         != ( abs_Integ @ ( product_Pair_nat_nat @ X5 @ Y3 ) ) ) ).

% eq_Abs_Integ
thf(fact_911_int_Oabs__induct,axiom,
    ! [P2: int > $o,X3: int] :
      ( ! [Y3: product_prod_nat_nat] : ( P2 @ ( abs_Integ @ Y3 ) )
     => ( P2 @ X3 ) ) ).

% int.abs_induct
thf(fact_912_nat_Oabs__eq,axiom,
    ! [X3: product_prod_nat_nat] :
      ( ( nat2 @ ( abs_Integ @ X3 ) )
      = ( produc6842872674320459806at_nat @ minus_minus_nat @ X3 ) ) ).

% nat.abs_eq
thf(fact_913_take__butlast,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( ord_less_nat @ N @ ( size_size_list_int @ Xs2 ) )
     => ( ( take_int @ N @ ( butlast_int @ Xs2 ) )
        = ( take_int @ N @ Xs2 ) ) ) ).

% take_butlast
thf(fact_914_zero__int__def,axiom,
    ( zero_zero_int
    = ( abs_Integ @ ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) ) ).

% zero_int_def
thf(fact_915_int__def,axiom,
    ( semiri1314217659103216013at_int
    = ( ^ [N2: nat] : ( abs_Integ @ ( product_Pair_nat_nat @ N2 @ zero_zero_nat ) ) ) ) ).

% int_def
thf(fact_916_butlast__conv__take,axiom,
    ( butlast_int
    = ( ^ [Xs: list_int] : ( take_int @ ( minus_minus_nat @ ( size_size_list_int @ Xs ) @ one_one_nat ) @ Xs ) ) ) ).

% butlast_conv_take
thf(fact_917_pair__lessI1,axiom,
    ! [A: nat,B: nat,S: nat,T: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A @ S ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_less ) ) ).

% pair_lessI1
thf(fact_918_less__int_Oabs__eq,axiom,
    ! [Xa: product_prod_nat_nat,X3: product_prod_nat_nat] :
      ( ( ord_less_int @ ( abs_Integ @ Xa ) @ ( abs_Integ @ X3 ) )
      = ( produc8739625826339149834_nat_o
        @ ^ [X: nat,Y5: nat] :
            ( produc6081775807080527818_nat_o
            @ ^ [U: nat,V: nat] : ( ord_less_nat @ ( plus_plus_nat @ X @ V ) @ ( plus_plus_nat @ U @ Y5 ) ) )
        @ Xa
        @ X3 ) ) ).

% less_int.abs_eq
thf(fact_919_one__int__def,axiom,
    ( one_one_int
    = ( abs_Integ @ ( product_Pair_nat_nat @ one_one_nat @ zero_zero_nat ) ) ) ).

% one_int_def
thf(fact_920_pair__leqI1,axiom,
    ! [A: nat,B: nat,S: nat,T: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A @ S ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_leq ) ) ).

% pair_leqI1
thf(fact_921_lexord__take__index__conv,axiom,
    ! [X3: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X3 @ Y ) @ ( lexord2841853652668343668at_nat @ R2 ) )
      = ( ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ X3 ) @ ( size_s5460976970255530739at_nat @ Y ) )
          & ( ( take_P2173866234530122223at_nat @ ( size_s5460976970255530739at_nat @ X3 ) @ Y )
            = X3 ) )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( ord_min_nat @ ( size_s5460976970255530739at_nat @ X3 ) @ ( size_s5460976970255530739at_nat @ Y ) ) )
            & ( ( take_P2173866234530122223at_nat @ I3 @ X3 )
              = ( take_P2173866234530122223at_nat @ I3 @ Y ) )
            & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ X3 @ I3 ) @ ( nth_Pr7617993195940197384at_nat @ Y @ I3 ) ) @ R2 ) ) ) ) ).

% lexord_take_index_conv
thf(fact_922_lexord__take__index__conv,axiom,
    ! [X3: list_int,Y: list_int,R2: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ X3 @ Y ) @ ( lexord_int @ R2 ) )
      = ( ( ( ord_less_nat @ ( size_size_list_int @ X3 ) @ ( size_size_list_int @ Y ) )
          & ( ( take_int @ ( size_size_list_int @ X3 ) @ Y )
            = X3 ) )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( ord_min_nat @ ( size_size_list_int @ X3 ) @ ( size_size_list_int @ Y ) ) )
            & ( ( take_int @ I3 @ X3 )
              = ( take_int @ I3 @ Y ) )
            & ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( nth_int @ X3 @ I3 ) @ ( nth_int @ Y @ I3 ) ) @ R2 ) ) ) ) ).

% lexord_take_index_conv
thf(fact_923_butlast__take,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_int @ Xs2 ) )
     => ( ( butlast_int @ ( take_int @ N @ Xs2 ) )
        = ( take_int @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs2 ) ) ) ).

% butlast_take
thf(fact_924_length__upto,axiom,
    ! [I: int,J: int] :
      ( ( size_size_list_int @ ( upto @ I @ J ) )
      = ( nat2 @ ( plus_plus_int @ ( minus_minus_int @ J @ I ) @ one_one_int ) ) ) ).

% length_upto
thf(fact_925_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_926_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_927_add__le__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_928_add__le__cancel__left,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) )
      = ( ord_le1926595141338095240atural @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_929_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_930_add__le__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_931_add__le__cancel__right,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) )
      = ( ord_le1926595141338095240atural @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_932_Suc__le__mono,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M2 ) )
      = ( ord_less_eq_nat @ N @ M2 ) ) ).

% Suc_le_mono
thf(fact_933_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_934_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_935_nat__add__left__cancel__le,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M2 ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_936_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_937_min__Suc__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_min_nat @ ( suc @ M2 ) @ ( suc @ N ) )
      = ( suc @ ( ord_min_nat @ M2 @ N ) ) ) ).

% min_Suc_Suc
thf(fact_938_min__0R,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ N @ zero_zero_nat )
      = zero_zero_nat ) ).

% min_0R
thf(fact_939_min__0L,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% min_0L
thf(fact_940_zero__le__double__add__iff__zero__le__single__add,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ A @ A ) )
      = ( ord_less_eq_int @ zero_zero_int @ A ) ) ).

% zero_le_double_add_iff_zero_le_single_add
thf(fact_941_double__add__le__zero__iff__single__add__le__zero,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ A ) @ zero_zero_int )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% double_add_le_zero_iff_single_add_le_zero
thf(fact_942_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_943_le__add__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( plus_plus_int @ B @ A ) )
      = ( ord_less_eq_int @ zero_zero_int @ B ) ) ).

% le_add_same_cancel2
thf(fact_944_le__add__same__cancel2,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ ( plus_p4538020629002901425atural @ B @ A ) )
      = ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ B ) ) ).

% le_add_same_cancel2
thf(fact_945_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_946_le__add__same__cancel1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( plus_plus_int @ A @ B ) )
      = ( ord_less_eq_int @ zero_zero_int @ B ) ) ).

% le_add_same_cancel1
thf(fact_947_le__add__same__cancel1,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ ( plus_p4538020629002901425atural @ A @ B ) )
      = ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ B ) ) ).

% le_add_same_cancel1
thf(fact_948_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_949_add__le__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ B )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% add_le_same_cancel2
thf(fact_950_add__le__same__cancel2,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ B ) @ B )
      = ( ord_le1926595141338095240atural @ A @ zero_z2226904508553997617atural ) ) ).

% add_le_same_cancel2
thf(fact_951_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_952_add__le__same__cancel1,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ B @ A ) @ B )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% add_le_same_cancel1
thf(fact_953_add__le__same__cancel1,axiom,
    ! [B: code_natural,A: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ B @ A ) @ B )
      = ( ord_le1926595141338095240atural @ A @ zero_z2226904508553997617atural ) ) ).

% add_le_same_cancel1
thf(fact_954_diff__ge__0__iff__ge,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( minus_minus_int @ A @ B ) )
      = ( ord_less_eq_int @ B @ A ) ) ).

% diff_ge_0_iff_ge
thf(fact_955_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_956_le__add__diff__inverse2,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_957_le__add__diff__inverse2,axiom,
    ! [B: code_natural,A: code_natural] :
      ( ( ord_le1926595141338095240atural @ B @ A )
     => ( ( plus_p4538020629002901425atural @ ( minus_7197305767214868737atural @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_958_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_959_le__add__diff__inverse,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( plus_plus_int @ B @ ( minus_minus_int @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_960_le__add__diff__inverse,axiom,
    ! [B: code_natural,A: code_natural] :
      ( ( ord_le1926595141338095240atural @ B @ A )
     => ( ( plus_p4538020629002901425atural @ B @ ( minus_7197305767214868737atural @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_961_of__nat__le__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% of_nat_le_iff
thf(fact_962_of__nat__le__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% of_nat_le_iff
thf(fact_963_of__nat__le__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_le1926595141338095240atural @ ( semiri3763490453095760265atural @ M2 ) @ ( semiri3763490453095760265atural @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% of_nat_le_iff
thf(fact_964_min__0__1_I1_J,axiom,
    ( ( ord_min_Code_natural @ zero_z2226904508553997617atural @ one_one_Code_natural )
    = zero_z2226904508553997617atural ) ).

% min_0_1(1)
thf(fact_965_min__0__1_I1_J,axiom,
    ( ( ord_min_int @ zero_zero_int @ one_one_int )
    = zero_zero_int ) ).

% min_0_1(1)
thf(fact_966_min__0__1_I1_J,axiom,
    ( ( ord_min_nat @ zero_zero_nat @ one_one_nat )
    = zero_zero_nat ) ).

% min_0_1(1)
thf(fact_967_min__0__1_I2_J,axiom,
    ( ( ord_min_Code_natural @ one_one_Code_natural @ zero_z2226904508553997617atural )
    = zero_z2226904508553997617atural ) ).

% min_0_1(2)
thf(fact_968_min__0__1_I2_J,axiom,
    ( ( ord_min_int @ one_one_int @ zero_zero_int )
    = zero_zero_int ) ).

% min_0_1(2)
thf(fact_969_min__0__1_I2_J,axiom,
    ( ( ord_min_nat @ one_one_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% min_0_1(2)
thf(fact_970_diff__is__0__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( minus_minus_nat @ M2 @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% diff_is_0_eq
thf(fact_971_diff__is__0__eq_H,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ( minus_minus_nat @ M2 @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_972_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_973_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_974_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_975_take__all__iff,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( ( take_int @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_size_list_int @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_976_take__all,axiom,
    ! [Xs2: list_int,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_int @ Xs2 ) @ N )
     => ( ( take_int @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_977_list__update__beyond,axiom,
    ! [Xs2: list_int,I: nat,X3: int] :
      ( ( ord_less_eq_nat @ ( size_size_list_int @ Xs2 ) @ I )
     => ( ( list_update_int @ Xs2 @ I @ X3 )
        = Xs2 ) ) ).

% list_update_beyond
thf(fact_978_length__take,axiom,
    ! [N: nat,Xs2: list_int] :
      ( ( size_size_list_int @ ( take_int @ N @ Xs2 ) )
      = ( ord_min_nat @ ( size_size_list_int @ Xs2 ) @ N ) ) ).

% length_take
thf(fact_979_of__nat__le__0__iff,axiom,
    ! [M2: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M2 ) @ zero_zero_nat )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_980_of__nat__le__0__iff,axiom,
    ! [M2: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M2 ) @ zero_zero_int )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_981_of__nat__le__0__iff,axiom,
    ! [M2: nat] :
      ( ( ord_le1926595141338095240atural @ ( semiri3763490453095760265atural @ M2 ) @ zero_z2226904508553997617atural )
      = ( M2 = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_982_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_983_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_984_length__zip,axiom,
    ! [Xs2: list_int,Ys: list_int] :
      ( ( size_s5157815400016825771nt_int @ ( zip_int_int @ Xs2 @ Ys ) )
      = ( ord_min_nat @ ( size_size_list_int @ Xs2 ) @ ( size_size_list_int @ Ys ) ) ) ).

% length_zip
thf(fact_985_min__diff__distrib__left,axiom,
    ! [X3: int,Y: int,Z3: int] :
      ( ( minus_minus_int @ ( ord_min_int @ X3 @ Y ) @ Z3 )
      = ( ord_min_int @ ( minus_minus_int @ X3 @ Z3 ) @ ( minus_minus_int @ Y @ Z3 ) ) ) ).

% min_diff_distrib_left
thf(fact_986_min__diff,axiom,
    ! [M2: nat,I: nat,N: nat] :
      ( ( ord_min_nat @ ( minus_minus_nat @ M2 @ I ) @ ( minus_minus_nat @ N @ I ) )
      = ( minus_minus_nat @ ( ord_min_nat @ M2 @ N ) @ I ) ) ).

% min_diff
thf(fact_987_zero__le,axiom,
    ! [X3: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X3 ) ).

% zero_le
thf(fact_988_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_989_le__numeral__extra_I3_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% le_numeral_extra(3)
thf(fact_990_le__numeral__extra_I3_J,axiom,
    ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ zero_z2226904508553997617atural ).

% le_numeral_extra(3)
thf(fact_991_diff__mono,axiom,
    ! [A: int,B: int,D2: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ D2 @ C )
       => ( ord_less_eq_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ D2 ) ) ) ) ).

% diff_mono
thf(fact_992_diff__left__mono,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ord_less_eq_int @ ( minus_minus_int @ C @ A ) @ ( minus_minus_int @ C @ B ) ) ) ).

% diff_left_mono
thf(fact_993_diff__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ C ) ) ) ).

% diff_right_mono
thf(fact_994_diff__eq__diff__less__eq,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D2 ) )
     => ( ( ord_less_eq_int @ A @ B )
        = ( ord_less_eq_int @ C @ D2 ) ) ) ).

% diff_eq_diff_less_eq
thf(fact_995_transitive__stepwise__le,axiom,
    ! [M2: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ! [X5: nat] : ( R @ X5 @ X5 )
       => ( ! [X5: nat,Y3: nat,Z2: nat] :
              ( ( R @ X5 @ Y3 )
             => ( ( R @ Y3 @ Z2 )
               => ( R @ X5 @ Z2 ) ) )
         => ( ! [N3: nat] : ( R @ N3 @ ( suc @ N3 ) )
           => ( R @ M2 @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_996_nat__induct__at__least,axiom,
    ! [M2: nat,N: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ( P2 @ M2 )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ M2 @ N3 )
             => ( ( P2 @ N3 )
               => ( P2 @ ( suc @ N3 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_997_full__nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M4 ) @ N3 )
             => ( P2 @ M4 ) )
         => ( P2 @ N3 ) )
     => ( P2 @ N ) ) ).

% full_nat_induct
thf(fact_998_not__less__eq__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M2 @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M2 ) ) ).

% not_less_eq_eq
thf(fact_999_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_1000_le__Suc__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M2 @ N )
        | ( M2
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_1001_Suc__le__D,axiom,
    ! [N: nat,M6: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M6 )
     => ? [M: nat] :
          ( M6
          = ( suc @ M ) ) ) ).

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

% le_SucI
thf(fact_1003_le__SucE,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M2 @ N )
       => ( M2
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_1004_Suc__leD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N )
     => ( ord_less_eq_nat @ M2 @ N ) ) ).

% Suc_leD
thf(fact_1005_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_1006_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_1007_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_1008_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_1009_eq__diff__iff,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M2 )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M2 @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M2 = N ) ) ) ) ).

% eq_diff_iff
thf(fact_1010_le__diff__iff,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M2 )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M2 @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_eq_nat @ M2 @ N ) ) ) ) ).

% le_diff_iff
thf(fact_1011_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M2 )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M2 @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M2 @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_1012_diff__le__mono,axiom,
    ! [M2: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M2 @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_1013_diff__le__self,axiom,
    ! [M2: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M2 @ N ) @ M2 ) ).

% diff_le_self
thf(fact_1014_le__diff__iff_H,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C @ A ) @ ( minus_minus_nat @ C @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_1015_diff__le__mono2,axiom,
    ! [M2: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M2 ) ) ) ).

% diff_le_mono2
thf(fact_1016_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ I ) @ ( semiri1316708129612266289at_nat @ J ) ) ) ).

% of_nat_mono
thf(fact_1017_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ I ) @ ( semiri1314217659103216013at_int @ J ) ) ) ).

% of_nat_mono
thf(fact_1018_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_le1926595141338095240atural @ ( semiri3763490453095760265atural @ I ) @ ( semiri3763490453095760265atural @ J ) ) ) ).

% of_nat_mono
thf(fact_1019_of__nat__min,axiom,
    ! [X3: nat,Y: nat] :
      ( ( semiri1316708129612266289at_nat @ ( ord_min_nat @ X3 @ Y ) )
      = ( ord_min_nat @ ( semiri1316708129612266289at_nat @ X3 ) @ ( semiri1316708129612266289at_nat @ Y ) ) ) ).

% of_nat_min
thf(fact_1020_of__nat__min,axiom,
    ! [X3: nat,Y: nat] :
      ( ( semiri1314217659103216013at_int @ ( ord_min_nat @ X3 @ Y ) )
      = ( ord_min_int @ ( semiri1314217659103216013at_int @ X3 ) @ ( semiri1314217659103216013at_int @ Y ) ) ) ).

% of_nat_min
thf(fact_1021_Nat_Oex__has__greatest__nat,axiom,
    ! [P2: nat > $o,K: nat,B: nat] :
      ( ( P2 @ K )
     => ( ! [Y3: nat] :
            ( ( P2 @ Y3 )
           => ( ord_less_eq_nat @ Y3 @ B ) )
       => ? [X5: nat] :
            ( ( P2 @ X5 )
            & ! [Y7: nat] :
                ( ( P2 @ Y7 )
               => ( ord_less_eq_nat @ Y7 @ X5 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_1022_nat__le__linear,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
      | ( ord_less_eq_nat @ N @ M2 ) ) ).

% nat_le_linear
thf(fact_1023_le__antisym,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ( ord_less_eq_nat @ N @ M2 )
       => ( M2 = N ) ) ) ).

% le_antisym
thf(fact_1024_eq__imp__le,axiom,
    ! [M2: nat,N: nat] :
      ( ( M2 = N )
     => ( ord_less_eq_nat @ M2 @ N ) ) ).

% eq_imp_le
thf(fact_1025_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_1026_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_1027_lift__Suc__mono__le,axiom,
    ! [F2: nat > nat,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_less_eq_nat @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_1028_lift__Suc__mono__le,axiom,
    ! [F2: nat > int,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_eq_int @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_less_eq_int @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_1029_lift__Suc__mono__le,axiom,
    ! [F2: nat > code_natural,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_le1926595141338095240atural @ ( F2 @ N3 ) @ ( F2 @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_le1926595141338095240atural @ ( F2 @ N ) @ ( F2 @ N4 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_1030_lift__Suc__antimono__le,axiom,
    ! [F2: nat > nat,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F2 @ ( suc @ N3 ) ) @ ( F2 @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_less_eq_nat @ ( F2 @ N4 ) @ ( F2 @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_1031_lift__Suc__antimono__le,axiom,
    ! [F2: nat > int,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_less_eq_int @ ( F2 @ ( suc @ N3 ) ) @ ( F2 @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_less_eq_int @ ( F2 @ N4 ) @ ( F2 @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_1032_lift__Suc__antimono__le,axiom,
    ! [F2: nat > code_natural,N: nat,N4: nat] :
      ( ! [N3: nat] : ( ord_le1926595141338095240atural @ ( F2 @ ( suc @ N3 ) ) @ ( F2 @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_le1926595141338095240atural @ ( F2 @ N4 ) @ ( F2 @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_1033_min__def__raw,axiom,
    ( ord_min_nat
    = ( ^ [A5: nat,B5: nat] : ( if_nat @ ( ord_less_eq_nat @ A5 @ B5 ) @ A5 @ B5 ) ) ) ).

% min_def_raw
thf(fact_1034_min__def__raw,axiom,
    ( ord_min_int
    = ( ^ [A5: int,B5: int] : ( if_int @ ( ord_less_eq_int @ A5 @ B5 ) @ A5 @ B5 ) ) ) ).

% min_def_raw
thf(fact_1035_min__def__raw,axiom,
    ( ord_min_Code_natural
    = ( ^ [A5: code_natural,B5: code_natural] : ( if_Code_natural @ ( ord_le1926595141338095240atural @ A5 @ B5 ) @ A5 @ B5 ) ) ) ).

% min_def_raw
thf(fact_1036_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_1037_verit__la__disequality,axiom,
    ! [A: int,B: int] :
      ( ( A = B )
      | ~ ( ord_less_eq_int @ A @ B )
      | ~ ( ord_less_eq_int @ B @ A ) ) ).

% verit_la_disequality
thf(fact_1038_verit__la__disequality,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( A = B )
      | ~ ( ord_le1926595141338095240atural @ A @ B )
      | ~ ( ord_le1926595141338095240atural @ B @ A ) ) ).

% verit_la_disequality
thf(fact_1039_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_1040_verit__comp__simplify1_I2_J,axiom,
    ! [A: int] : ( ord_less_eq_int @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_1041_verit__comp__simplify1_I2_J,axiom,
    ! [A: code_natural] : ( ord_le1926595141338095240atural @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_1042_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M3: nat,N2: nat] :
        ? [K2: nat] :
          ( N2
          = ( plus_plus_nat @ M3 @ K2 ) ) ) ) ).

% nat_le_iff_add
thf(fact_1043_trans__le__add2,axiom,
    ! [I: nat,J: nat,M2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M2 @ J ) ) ) ).

% trans_le_add2
thf(fact_1044_trans__le__add1,axiom,
    ! [I: nat,J: nat,M2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M2 ) ) ) ).

% trans_le_add1
thf(fact_1045_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_1046_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_1047_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_1048_add__leD2,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M2 @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_1049_add__leD1,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M2 @ K ) @ N )
     => ( ord_less_eq_nat @ M2 @ N ) ) ).

% add_leD1
thf(fact_1050_le__add2,axiom,
    ! [N: nat,M2: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M2 @ N ) ) ).

% le_add2
thf(fact_1051_le__add1,axiom,
    ! [N: nat,M2: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M2 ) ) ).

% le_add1
thf(fact_1052_add__leE,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M2 @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M2 @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE
thf(fact_1053_less__mono__imp__le__mono,axiom,
    ! [F2: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F2 @ I2 ) @ ( F2 @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F2 @ I ) @ ( F2 @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_1054_le__neq__implies__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ( M2 != N )
       => ( ord_less_nat @ M2 @ N ) ) ) ).

% le_neq_implies_less
thf(fact_1055_less__or__eq__imp__le,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( ord_less_nat @ M2 @ N )
        | ( M2 = N ) )
     => ( ord_less_eq_nat @ M2 @ N ) ) ).

% less_or_eq_imp_le
thf(fact_1056_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M3: nat,N2: nat] :
          ( ( ord_less_nat @ M3 @ N2 )
          | ( M3 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_1057_less__imp__le__nat,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_eq_nat @ M2 @ N ) ) ).

% less_imp_le_nat
thf(fact_1058_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M3: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M3 @ N2 )
          & ( M3 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_1059_add__le__imp__le__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_1060_add__le__imp__le__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
     => ( ord_less_eq_int @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_1061_add__le__imp__le__right,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) )
     => ( ord_le1926595141338095240atural @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_1062_add__le__imp__le__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_1063_add__le__imp__le__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
     => ( ord_less_eq_int @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_1064_add__le__imp__le__left,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) )
     => ( ord_le1926595141338095240atural @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_1065_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B5: nat] :
        ? [C3: nat] :
          ( B5
          = ( plus_plus_nat @ A5 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_1066_add__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_right_mono
thf(fact_1067_add__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) ) ) ).

% add_right_mono
thf(fact_1068_add__right__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ B )
     => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ C ) ) ) ).

% add_right_mono
thf(fact_1069_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( B
           != ( plus_plus_nat @ A @ C2 ) ) ) ).

% less_eqE
thf(fact_1070_add__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_left_mono
thf(fact_1071_add__left__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) ) ) ).

% add_left_mono
thf(fact_1072_add__left__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ B )
     => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ C @ A ) @ ( plus_p4538020629002901425atural @ C @ B ) ) ) ).

% add_left_mono
thf(fact_1073_add__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_mono
thf(fact_1074_add__mono,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ C @ D2 )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D2 ) ) ) ) ).

% add_mono
thf(fact_1075_add__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural,D2: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ B )
     => ( ( ord_le1926595141338095240atural @ C @ D2 )
       => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ D2 ) ) ) ) ).

% add_mono
thf(fact_1076_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_1077_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_eq_int @ I @ J )
        & ( ord_less_eq_int @ K @ L ) )
     => ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_1078_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le1926595141338095240atural @ I @ J )
        & ( ord_le1926595141338095240atural @ K @ L ) )
     => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_1079_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_1080_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( I = J )
        & ( ord_less_eq_int @ K @ L ) )
     => ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_1081_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( I = J )
        & ( ord_le1926595141338095240atural @ K @ L ) )
     => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_1082_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_1083_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_eq_int @ I @ J )
        & ( K = L ) )
     => ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_1084_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le1926595141338095240atural @ I @ J )
        & ( K = L ) )
     => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_1085_verit__comp__simplify1_I3_J,axiom,
    ! [B2: nat,A3: nat] :
      ( ( ~ ( ord_less_eq_nat @ B2 @ A3 ) )
      = ( ord_less_nat @ A3 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_1086_verit__comp__simplify1_I3_J,axiom,
    ! [B2: int,A3: int] :
      ( ( ~ ( ord_less_eq_int @ B2 @ A3 ) )
      = ( ord_less_int @ A3 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_1087_verit__comp__simplify1_I3_J,axiom,
    ! [B2: code_natural,A3: code_natural] :
      ( ( ~ ( ord_le1926595141338095240atural @ B2 @ A3 ) )
      = ( ord_le5570908160329646204atural @ A3 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_1088_min__add__distrib__right,axiom,
    ! [X3: int,Y: int,Z3: int] :
      ( ( plus_plus_int @ X3 @ ( ord_min_int @ Y @ Z3 ) )
      = ( ord_min_int @ ( plus_plus_int @ X3 @ Y ) @ ( plus_plus_int @ X3 @ Z3 ) ) ) ).

% min_add_distrib_right
thf(fact_1089_min__add__distrib__right,axiom,
    ! [X3: code_natural,Y: code_natural,Z3: code_natural] :
      ( ( plus_p4538020629002901425atural @ X3 @ ( ord_min_Code_natural @ Y @ Z3 ) )
      = ( ord_min_Code_natural @ ( plus_p4538020629002901425atural @ X3 @ Y ) @ ( plus_p4538020629002901425atural @ X3 @ Z3 ) ) ) ).

% min_add_distrib_right
thf(fact_1090_min__add__distrib__right,axiom,
    ! [X3: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ X3 @ ( ord_min_nat @ Y @ Z3 ) )
      = ( ord_min_nat @ ( plus_plus_nat @ X3 @ Y ) @ ( plus_plus_nat @ X3 @ Z3 ) ) ) ).

% min_add_distrib_right
thf(fact_1091_min__add__distrib__left,axiom,
    ! [X3: int,Y: int,Z3: int] :
      ( ( plus_plus_int @ ( ord_min_int @ X3 @ Y ) @ Z3 )
      = ( ord_min_int @ ( plus_plus_int @ X3 @ Z3 ) @ ( plus_plus_int @ Y @ Z3 ) ) ) ).

% min_add_distrib_left
thf(fact_1092_min__add__distrib__left,axiom,
    ! [X3: code_natural,Y: code_natural,Z3: code_natural] :
      ( ( plus_p4538020629002901425atural @ ( ord_min_Code_natural @ X3 @ Y ) @ Z3 )
      = ( ord_min_Code_natural @ ( plus_p4538020629002901425atural @ X3 @ Z3 ) @ ( plus_p4538020629002901425atural @ Y @ Z3 ) ) ) ).

% min_add_distrib_left
thf(fact_1093_min__add__distrib__left,axiom,
    ! [X3: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ ( ord_min_nat @ X3 @ Y ) @ Z3 )
      = ( ord_min_nat @ ( plus_plus_nat @ X3 @ Z3 ) @ ( plus_plus_nat @ Y @ Z3 ) ) ) ).

% min_add_distrib_left
thf(fact_1094_pair__leqI2,axiom,
    ! [A: nat,B: nat,S: nat,T: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ S @ T )
       => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A @ S ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_leq ) ) ) ).

% pair_leqI2
thf(fact_1095_add__nonpos__eq__0__iff,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X3 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X3 @ Y )
            = zero_zero_nat )
          = ( ( X3 = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1096_add__nonpos__eq__0__iff,axiom,
    ! [X3: int,Y: int] :
      ( ( ord_less_eq_int @ X3 @ zero_zero_int )
     => ( ( ord_less_eq_int @ Y @ zero_zero_int )
       => ( ( ( plus_plus_int @ X3 @ Y )
            = zero_zero_int )
          = ( ( X3 = zero_zero_int )
            & ( Y = zero_zero_int ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1097_add__nonpos__eq__0__iff,axiom,
    ! [X3: code_natural,Y: code_natural] :
      ( ( ord_le1926595141338095240atural @ X3 @ zero_z2226904508553997617atural )
     => ( ( ord_le1926595141338095240atural @ Y @ zero_z2226904508553997617atural )
       => ( ( ( plus_p4538020629002901425atural @ X3 @ Y )
            = zero_z2226904508553997617atural )
          = ( ( X3 = zero_z2226904508553997617atural )
            & ( Y = zero_z2226904508553997617atural ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1098_add__nonneg__eq__0__iff,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X3 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( plus_plus_nat @ X3 @ Y )
            = zero_zero_nat )
          = ( ( X3 = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1099_add__nonneg__eq__0__iff,axiom,
    ! [X3: int,Y: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ( ( plus_plus_int @ X3 @ Y )
            = zero_zero_int )
          = ( ( X3 = zero_zero_int )
            & ( Y = zero_zero_int ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1100_add__nonneg__eq__0__iff,axiom,
    ! [X3: code_natural,Y: code_natural] :
      ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ X3 )
     => ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ Y )
       => ( ( ( plus_p4538020629002901425atural @ X3 @ Y )
            = zero_z2226904508553997617atural )
          = ( ( X3 = zero_z2226904508553997617atural )
            & ( Y = zero_z2226904508553997617atural ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1101_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_1102_add__nonpos__nonpos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_eq_int @ B @ zero_zero_int )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_nonpos_nonpos
thf(fact_1103_add__nonpos__nonpos,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ zero_z2226904508553997617atural )
     => ( ( ord_le1926595141338095240atural @ B @ zero_z2226904508553997617atural )
       => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ B ) @ zero_z2226904508553997617atural ) ) ) ).

% add_nonpos_nonpos
thf(fact_1104_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_1105_add__nonneg__nonneg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ zero_zero_int @ B )
       => ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1106_add__nonneg__nonneg,axiom,
    ! [A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ A )
     => ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ B )
       => ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ ( plus_p4538020629002901425atural @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1107_add__increasing2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_1108_add__increasing2,axiom,
    ! [C: int,B: int,A: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ C )
     => ( ( ord_less_eq_int @ B @ A )
       => ( ord_less_eq_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_1109_add__increasing2,axiom,
    ! [C: code_natural,B: code_natural,A: code_natural] :
      ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ C )
     => ( ( ord_le1926595141338095240atural @ B @ A )
       => ( ord_le1926595141338095240atural @ B @ ( plus_p4538020629002901425atural @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_1110_add__decreasing2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1111_add__decreasing2,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ C @ zero_zero_int )
     => ( ( ord_less_eq_int @ A @ B )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1112_add__decreasing2,axiom,
    ! [C: code_natural,A: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ C @ zero_z2226904508553997617atural )
     => ( ( ord_le1926595141338095240atural @ A @ B )
       => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1113_add__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_1114_add__increasing,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_eq_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_1115_add__increasing,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural] :
      ( ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ A )
     => ( ( ord_le1926595141338095240atural @ B @ C )
       => ( ord_le1926595141338095240atural @ B @ ( plus_p4538020629002901425atural @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_1116_add__decreasing,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_1117_add__decreasing,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_eq_int @ C @ B )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_1118_add__decreasing,axiom,
    ! [A: code_natural,C: code_natural,B: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ zero_z2226904508553997617atural )
     => ( ( ord_le1926595141338095240atural @ C @ B )
       => ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_1119_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_1120_not__one__le__zero,axiom,
    ~ ( ord_less_eq_int @ one_one_int @ zero_zero_int ) ).

% not_one_le_zero
thf(fact_1121_not__one__le__zero,axiom,
    ~ ( ord_le1926595141338095240atural @ one_one_Code_natural @ zero_z2226904508553997617atural ) ).

% not_one_le_zero
thf(fact_1122_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_1123_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_1124_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ one_one_Code_natural ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_1125_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_le_one
thf(fact_1126_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% zero_less_one_class.zero_le_one
thf(fact_1127_zero__less__one__class_Ozero__le__one,axiom,
    ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ one_one_Code_natural ).

% zero_less_one_class.zero_le_one
thf(fact_1128_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_1129_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_eq_int @ I @ J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_1130_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le1926595141338095240atural @ I @ J )
        & ( ord_le5570908160329646204atural @ K @ L ) )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_1131_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_1132_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I @ J )
        & ( ord_less_eq_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_1133_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: code_natural,J: code_natural,K: code_natural,L: code_natural] :
      ( ( ( ord_le5570908160329646204atural @ I @ J )
        & ( ord_le1926595141338095240atural @ K @ L ) )
     => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ I @ K ) @ ( plus_p4538020629002901425atural @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_1134_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_1135_add__le__less__mono,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_int @ C @ D2 )
       => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_1136_add__le__less__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural,D2: code_natural] :
      ( ( ord_le1926595141338095240atural @ A @ B )
     => ( ( ord_le5570908160329646204atural @ C @ D2 )
       => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_1137_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_1138_add__less__le__mono,axiom,
    ! [A: int,B: int,C: int,D2: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_int @ C @ D2 )
       => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_1139_add__less__le__mono,axiom,
    ! [A: code_natural,B: code_natural,C: code_natural,D2: code_natural] :
      ( ( ord_le5570908160329646204atural @ A @ B )
     => ( ( ord_le1926595141338095240atural @ C @ D2 )
       => ( ord_le5570908160329646204atural @ ( plus_p4538020629002901425atural @ A @ C ) @ ( plus_p4538020629002901425atural @ B @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_1140_le__iff__diff__le__0,axiom,
    ( ord_less_eq_int
    = ( ^ [A5: int,B5: int] : ( ord_less_eq_int @ ( minus_minus_int @ A5 @ B5 ) @ zero_zero_int ) ) ) ).

% le_iff_diff_le_0
thf(fact_1141_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C )
          = ( B
            = ( plus_plus_nat @ C @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_1142_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_1143_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_1144_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_1145_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_1146_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A )
        = ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_1147_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_1148_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_1149_le__add__diff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% le_add_diff
thf(fact_1150_diff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% diff_add
thf(fact_1151_le__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( minus_minus_int @ C @ B ) )
      = ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

% le_diff_eq
thf(fact_1152_diff__le__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( ord_less_eq_int @ A @ ( plus_plus_int @ C @ B ) ) ) ).

% diff_le_eq
thf(fact_1153_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_1154_add__le__add__imp__diff__le,axiom,
    ! [I: int,K: int,N: int,J: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
     => ( ( ord_less_eq_int @ N @ ( plus_plus_int @ J @ K ) )
       => ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
         => ( ( ord_less_eq_int @ N @ ( plus_plus_int @ J @ K ) )
           => ( ord_less_eq_int @ ( minus_minus_int @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1155_add__le__add__imp__diff__le,axiom,
    ! [I: code_natural,K: code_natural,N: code_natural,J: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ N )
     => ( ( ord_le1926595141338095240atural @ N @ ( plus_p4538020629002901425atural @ J @ K ) )
       => ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ N )
         => ( ( ord_le1926595141338095240atural @ N @ ( plus_p4538020629002901425atural @ J @ K ) )
           => ( ord_le1926595141338095240atural @ ( minus_7197305767214868737atural @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1156_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_1157_add__le__imp__le__diff,axiom,
    ! [I: int,K: int,N: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
     => ( ord_less_eq_int @ I @ ( minus_minus_int @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_1158_add__le__imp__le__diff,axiom,
    ! [I: code_natural,K: code_natural,N: code_natural] :
      ( ( ord_le1926595141338095240atural @ ( plus_p4538020629002901425atural @ I @ K ) @ N )
     => ( ord_le1926595141338095240atural @ I @ ( minus_7197305767214868737atural @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_1159_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) ) ).

% of_nat_0_le_iff
thf(fact_1160_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) ) ).

% of_nat_0_le_iff
thf(fact_1161_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_le1926595141338095240atural @ zero_z2226904508553997617atural @ ( semiri3763490453095760265atural @ N ) ) ).

% of_nat_0_le_iff
thf(fact_1162_Suc__leI,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_eq_nat @ ( suc @ M2 ) @ N ) ) ).

% Suc_leI
thf(fact_1163_Suc__le__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N )
      = ( ord_less_nat @ M2 @ N ) ) ).

% Suc_le_eq
thf(fact_1164_dec__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P2 @ I )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P2 @ N3 )
                 => ( P2 @ ( suc @ N3 ) ) ) ) )
         => ( P2 @ J ) ) ) ) ).

% dec_induct
thf(fact_1165_inc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P2 @ J )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P2 @ ( suc @ N3 ) )
                 => ( P2 @ N3 ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% inc_induct
thf(fact_1166_Suc__le__lessD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N )
     => ( ord_less_nat @ M2 @ N ) ) ).

% Suc_le_lessD
thf(fact_1167_le__less__Suc__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M2 ) )
        = ( N = M2 ) ) ) ).

% le_less_Suc_eq
thf(fact_1168_less__Suc__eq__le,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% less_Suc_eq_le
thf(fact_1169_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N2: nat] : ( ord_less_eq_nat @ ( suc @ N2 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_1170_le__imp__less__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ M2 @ N )
     => ( ord_less_nat @ M2 @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_1171_ex__least__nat__le,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1172_impossible__Cons,axiom,
    ! [Xs2: list_int,Ys: list_int,X3: int] :
      ( ( ord_less_eq_nat @ ( size_size_list_int @ Xs2 ) @ ( size_size_list_int @ Ys ) )
     => ( Xs2
       != ( cons_int @ X3 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_1173_mono__nat__linear__lb,axiom,
    ! [F2: nat > nat,M2: nat,K: nat] :
      ( ! [M: nat,N3: nat] :
          ( ( ord_less_nat @ M @ N3 )
         => ( ord_less_nat @ ( F2 @ M ) @ ( F2 @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F2 @ M2 ) @ K ) @ ( F2 @ ( plus_plus_nat @ M2 @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_1174_Suc__diff__le,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_eq_nat @ N @ M2 )
     => ( ( minus_minus_nat @ ( suc @ M2 ) @ N )
        = ( suc @ ( minus_minus_nat @ M2 @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_1175_less__diff__iff,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M2 )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M2 @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M2 @ N ) ) ) ) ).

% less_diff_iff
thf(fact_1176_diff__less__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ C ) ) ) ) ).

% diff_less_mono
thf(fact_1177_le__diff__conv,axiom,
    ! [J: nat,K: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ).

% le_diff_conv
thf(fact_1178_Nat_Ole__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1179_Nat_Odiff__add__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1180_Nat_Odiff__add__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1181_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K )
        = ( J
          = ( plus_plus_nat @ K @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1182_count__le__length,axiom,
    ! [Xs2: list_int,X3: int] : ( ord_less_eq_nat @ ( count_list_int @ Xs2 @ X3 ) @ ( size_size_list_int @ Xs2 ) ) ).

% count_le_length
thf(fact_1183_ex__least__nat__less,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ ( suc @ K3 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1184_less__eq__nat_Osimps_I2_J,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N )
      = ( case_nat_o @ $false @ ( ord_less_eq_nat @ M2 ) @ N ) ) ).

% less_eq_nat.simps(2)
thf(fact_1185_less__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ) ).

% less_diff_conv2
thf(fact_1186_min__Suc1,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_min_nat @ ( suc @ N ) @ M2 )
      = ( case_nat_nat @ zero_zero_nat
        @ ^ [M5: nat] : ( suc @ ( ord_min_nat @ N @ M5 ) )
        @ M2 ) ) ).

% min_Suc1
thf(fact_1187_min__Suc2,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_min_nat @ M2 @ ( suc @ N ) )
      = ( case_nat_nat @ zero_zero_nat
        @ ^ [M5: nat] : ( suc @ ( ord_min_nat @ M5 @ N ) )
        @ M2 ) ) ).

% min_Suc2
thf(fact_1188_pair__lessI2,axiom,
    ! [A: nat,B: nat,S: nat,T: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ S @ T )
       => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A @ S ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_less ) ) ) ).

% pair_lessI2
thf(fact_1189_less__int_Orep__eq,axiom,
    ( ord_less_int
    = ( ^ [X: int,Xa2: int] :
          ( produc8739625826339149834_nat_o
          @ ^ [Y5: nat,Z: nat] :
              ( produc6081775807080527818_nat_o
              @ ^ [U: nat,V: nat] : ( ord_less_nat @ ( plus_plus_nat @ Y5 @ V ) @ ( plus_plus_nat @ U @ Z ) ) )
          @ ( rep_Integ @ X )
          @ ( rep_Integ @ Xa2 ) ) ) ) ).

% less_int.rep_eq
thf(fact_1190_nat__le__0,axiom,
    ! [Z3: int] :
      ( ( ord_less_eq_int @ Z3 @ zero_zero_int )
     => ( ( nat2 @ Z3 )
        = zero_zero_nat ) ) ).

% nat_le_0
thf(fact_1191_nat__0__iff,axiom,
    ! [I: int] :
      ( ( ( nat2 @ I )
        = zero_zero_nat )
      = ( ord_less_eq_int @ I @ zero_zero_int ) ) ).

% nat_0_iff
thf(fact_1192_int__nat__eq,axiom,
    ! [Z3: int] :
      ( ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
       => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z3 ) )
          = Z3 ) )
      & ( ~ ( ord_less_eq_int @ zero_zero_int @ Z3 )
       => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z3 ) )
          = zero_zero_int ) ) ) ).

% int_nat_eq
thf(fact_1193_zle__add1__eq__le,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_int @ W @ ( plus_plus_int @ Z3 @ one_one_int ) )
      = ( ord_less_eq_int @ W @ Z3 ) ) ).

% zle_add1_eq_le
thf(fact_1194_zle__diff1__eq,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_eq_int @ W @ ( minus_minus_int @ Z3 @ one_one_int ) )
      = ( ord_less_int @ W @ Z3 ) ) ).

% zle_diff1_eq
thf(fact_1195_nth__upto,axiom,
    ! [I: int,K: nat,J: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ I @ ( semiri1314217659103216013at_int @ K ) ) @ J )
     => ( ( nth_int @ ( upto @ I @ J ) @ K )
        = ( plus_plus_int @ I @ ( semiri1314217659103216013at_int @ K ) ) ) ) ).

% nth_upto
thf(fact_1196_less__eq__int__code_I1_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% less_eq_int_code(1)
thf(fact_1197_nat__int__comparison_I3_J,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B5: nat] : ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ).

% nat_int_comparison(3)
thf(fact_1198_zle__int,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M2 @ N ) ) ).

% zle_int
thf(fact_1199_nonneg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ~ ! [N3: nat] :
            ( K
           != ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% nonneg_int_cases
thf(fact_1200_zero__le__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ? [N3: nat] :
          ( K
          = ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% zero_le_imp_eq_int
thf(fact_1201_nat__mono,axiom,
    ! [X3: int,Y: int] :
      ( ( ord_less_eq_int @ X3 @ Y )
     => ( ord_less_eq_nat @ ( nat2 @ X3 ) @ ( nat2 @ Y ) ) ) ).

% nat_mono
thf(fact_1202_ex__nat,axiom,
    ( ( ^ [P3: nat > $o] :
        ? [X8: nat] : ( P3 @ X8 ) )
    = ( ^ [P4: nat > $o] :
        ? [X: int] :
          ( ( ord_less_eq_int @ zero_zero_int @ X )
          & ( P4 @ ( nat2 @ X ) ) ) ) ) ).

% ex_nat
thf(fact_1203_all__nat,axiom,
    ( ( ^ [P3: nat > $o] :
        ! [X8: nat] : ( P3 @ X8 ) )
    = ( ^ [P4: nat > $o] :
        ! [X: int] :
          ( ( ord_less_eq_int @ zero_zero_int @ X )
         => ( P4 @ ( nat2 @ X ) ) ) ) ) ).

% all_nat
thf(fact_1204_eq__nat__nat__iff,axiom,
    ! [Z3: int,Z5: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Z5 )
       => ( ( ( nat2 @ Z3 )
            = ( nat2 @ Z5 ) )
          = ( Z3 = Z5 ) ) ) ) ).

% eq_nat_nat_iff
thf(fact_1205_int__ge__induct,axiom,
    ! [K: int,I: int,P2: int > $o] :
      ( ( ord_less_eq_int @ K @ I )
     => ( ( P2 @ K )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ K @ I2 )
             => ( ( P2 @ I2 )
               => ( P2 @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_ge_induct
thf(fact_1206_zle__iff__zadd,axiom,
    ( ord_less_eq_int
    = ( ^ [W2: int,Z: int] :
        ? [N2: nat] :
          ( Z
          = ( plus_plus_int @ W2 @ ( semiri1314217659103216013at_int @ N2 ) ) ) ) ) ).

% zle_iff_zadd
thf(fact_1207_int__le__induct,axiom,
    ! [I: int,K: int,P2: int > $o] :
      ( ( ord_less_eq_int @ I @ K )
     => ( ( P2 @ K )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ I2 @ K )
             => ( ( P2 @ I2 )
               => ( P2 @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_le_induct
thf(fact_1208_nat__leq__as__int,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B5: nat] : ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ).

% nat_leq_as_int
thf(fact_1209_less__eq__int_Orep__eq,axiom,
    ( ord_less_eq_int
    = ( ^ [X: int,Xa2: int] :
          ( produc8739625826339149834_nat_o
          @ ^ [Y5: nat,Z: nat] :
              ( produc6081775807080527818_nat_o
              @ ^ [U: nat,V: nat] : ( ord_less_eq_nat @ ( plus_plus_nat @ Y5 @ V ) @ ( plus_plus_nat @ U @ Z ) ) )
          @ ( rep_Integ @ X )
          @ ( rep_Integ @ Xa2 ) ) ) ) ).

% less_eq_int.rep_eq
thf(fact_1210_int__one__le__iff__zero__less,axiom,
    ! [Z3: int] :
      ( ( ord_less_eq_int @ one_one_int @ Z3 )
      = ( ord_less_int @ zero_zero_int @ Z3 ) ) ).

% int_one_le_iff_zero_less
thf(fact_1211_nat__le__iff,axiom,
    ! [X3: int,N: nat] :
      ( ( ord_less_eq_nat @ ( nat2 @ X3 ) @ N )
      = ( ord_less_eq_int @ X3 @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% nat_le_iff
thf(fact_1212_int__eq__iff,axiom,
    ! [M2: nat,Z3: int] :
      ( ( ( semiri1314217659103216013at_int @ M2 )
        = Z3 )
      = ( ( M2
          = ( nat2 @ Z3 ) )
        & ( ord_less_eq_int @ zero_zero_int @ Z3 ) ) ) ).

% int_eq_iff
thf(fact_1213_nat__0__le,axiom,
    ! [Z3: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
     => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z3 ) )
        = Z3 ) ) ).

% nat_0_le
thf(fact_1214_zless__imp__add1__zle,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_int @ W @ Z3 )
     => ( ord_less_eq_int @ ( plus_plus_int @ W @ one_one_int ) @ Z3 ) ) ).

% zless_imp_add1_zle
thf(fact_1215_add1__zle__eq,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ W @ one_one_int ) @ Z3 )
      = ( ord_less_int @ W @ Z3 ) ) ).

% add1_zle_eq
thf(fact_1216_int__induct,axiom,
    ! [P2: int > $o,K: int,I: int] :
      ( ( P2 @ K )
     => ( ! [I2: int] :
            ( ( ord_less_eq_int @ K @ I2 )
           => ( ( P2 @ I2 )
             => ( P2 @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ I2 @ K )
             => ( ( P2 @ I2 )
               => ( P2 @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_induct
thf(fact_1217_nat__eq__iff,axiom,
    ! [W: int,M2: nat] :
      ( ( ( nat2 @ W )
        = M2 )
      = ( ( ( ord_less_eq_int @ zero_zero_int @ W )
         => ( W
            = ( semiri1314217659103216013at_int @ M2 ) ) )
        & ( ~ ( ord_less_eq_int @ zero_zero_int @ W )
         => ( M2 = zero_zero_nat ) ) ) ) ).

% nat_eq_iff
thf(fact_1218_nat__eq__iff2,axiom,
    ! [M2: nat,W: int] :
      ( ( M2
        = ( nat2 @ W ) )
      = ( ( ( ord_less_eq_int @ zero_zero_int @ W )
         => ( W
            = ( semiri1314217659103216013at_int @ M2 ) ) )
        & ( ~ ( ord_less_eq_int @ zero_zero_int @ W )
         => ( M2 = zero_zero_nat ) ) ) ) ).

% nat_eq_iff2
thf(fact_1219_nat__less__eq__zless,axiom,
    ! [W: int,Z3: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ W )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z3 ) )
        = ( ord_less_int @ W @ Z3 ) ) ) ).

% nat_less_eq_zless
thf(fact_1220_nat__le__eq__zle,axiom,
    ! [W: int,Z3: int] :
      ( ( ( ord_less_int @ zero_zero_int @ W )
        | ( ord_less_eq_int @ zero_zero_int @ Z3 ) )
     => ( ( ord_less_eq_nat @ ( nat2 @ W ) @ ( nat2 @ Z3 ) )
        = ( ord_less_eq_int @ W @ Z3 ) ) ) ).

% nat_le_eq_zle
thf(fact_1221_le__nat__iff,axiom,
    ! [K: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ( ( ord_less_eq_nat @ N @ ( nat2 @ K ) )
        = ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ N ) @ K ) ) ) ).

% le_nat_iff
thf(fact_1222_nat__add__distrib,axiom,
    ! [Z3: int,Z5: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Z5 )
       => ( ( nat2 @ ( plus_plus_int @ Z3 @ Z5 ) )
          = ( plus_plus_nat @ ( nat2 @ Z3 ) @ ( nat2 @ Z5 ) ) ) ) ) ).

% nat_add_distrib
thf(fact_1223_le__imp__0__less,axiom,
    ! [Z3: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
     => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ Z3 ) ) ) ).

% le_imp_0_less
thf(fact_1224_nat__diff__distrib,axiom,
    ! [Z5: int,Z3: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z5 )
     => ( ( ord_less_eq_int @ Z5 @ Z3 )
       => ( ( nat2 @ ( minus_minus_int @ Z3 @ Z5 ) )
          = ( minus_minus_nat @ ( nat2 @ Z3 ) @ ( nat2 @ Z5 ) ) ) ) ) ).

% nat_diff_distrib
thf(fact_1225_nat__diff__distrib_H,axiom,
    ! [X3: int,Y: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ( nat2 @ ( minus_minus_int @ X3 @ Y ) )
          = ( minus_minus_nat @ ( nat2 @ X3 ) @ ( nat2 @ Y ) ) ) ) ) ).

% nat_diff_distrib'
thf(fact_1226_upto__rec1,axiom,
    ! [I: int,J: int] :
      ( ( ord_less_eq_int @ I @ J )
     => ( ( upto @ I @ J )
        = ( cons_int @ I @ ( upto @ ( plus_plus_int @ I @ one_one_int ) @ J ) ) ) ) ).

% upto_rec1
thf(fact_1227_nat_Orep__eq,axiom,
    ( nat2
    = ( ^ [X: int] : ( produc6842872674320459806at_nat @ minus_minus_nat @ ( rep_Integ @ X ) ) ) ) ).

% nat.rep_eq
thf(fact_1228_Suc__nat__eq__nat__zadd1,axiom,
    ! [Z3: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z3 )
     => ( ( suc @ ( nat2 @ Z3 ) )
        = ( nat2 @ ( plus_plus_int @ one_one_int @ Z3 ) ) ) ) ).

% Suc_nat_eq_nat_zadd1
thf(fact_1229_nat__less__iff,axiom,
    ! [W: int,M2: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ W )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ M2 )
        = ( ord_less_int @ W @ ( semiri1314217659103216013at_int @ M2 ) ) ) ) ).

% nat_less_iff
thf(fact_1230_less__eq__int_Oabs__eq,axiom,
    ! [Xa: product_prod_nat_nat,X3: product_prod_nat_nat] :
      ( ( ord_less_eq_int @ ( abs_Integ @ Xa ) @ ( abs_Integ @ X3 ) )
      = ( produc8739625826339149834_nat_o
        @ ^ [X: nat,Y5: nat] :
            ( produc6081775807080527818_nat_o
            @ ^ [U: nat,V: nat] : ( ord_less_eq_nat @ ( plus_plus_nat @ X @ V ) @ ( plus_plus_nat @ U @ Y5 ) ) )
        @ Xa
        @ X3 ) ) ).

% less_eq_int.abs_eq
thf(fact_1231_nat0__intermed__int__val,axiom,
    ! [N: nat,F2: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F2 @ ( plus_plus_nat @ I2 @ one_one_nat ) ) @ ( F2 @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_int @ ( F2 @ zero_zero_nat ) @ K )
       => ( ( ord_less_eq_int @ K @ ( F2 @ N ) )
         => ? [I2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N )
              & ( ( F2 @ I2 )
                = K ) ) ) ) ) ).

% nat0_intermed_int_val
thf(fact_1232_zabs__less__one__iff,axiom,
    ! [Z3: int] :
      ( ( ord_less_int @ ( abs_abs_int @ Z3 ) @ one_one_int )
      = ( Z3 = zero_zero_int ) ) ).

% zabs_less_one_iff
thf(fact_1233_verit__la__generic,axiom,
    ! [A: int,X3: int] :
      ( ( ord_less_eq_int @ A @ X3 )
      | ( A = X3 )
      | ( ord_less_eq_int @ X3 @ A ) ) ).

% verit_la_generic
thf(fact_1234_nat__abs__triangle__ineq,axiom,
    ! [K: int,L: int] : ( ord_less_eq_nat @ ( nat2 @ ( abs_abs_int @ ( plus_plus_int @ K @ L ) ) ) @ ( plus_plus_nat @ ( nat2 @ ( abs_abs_int @ K ) ) @ ( nat2 @ ( abs_abs_int @ L ) ) ) ) ).

% nat_abs_triangle_ineq
thf(fact_1235_nat__intermed__int__val,axiom,
    ! [M2: nat,N: nat,F2: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ( ord_less_eq_nat @ M2 @ I2 )
            & ( ord_less_nat @ I2 @ N ) )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F2 @ ( suc @ I2 ) ) @ ( F2 @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_nat @ M2 @ N )
       => ( ( ord_less_eq_int @ ( F2 @ M2 ) @ K )
         => ( ( ord_less_eq_int @ K @ ( F2 @ N ) )
           => ? [I2: nat] :
                ( ( ord_less_eq_nat @ M2 @ I2 )
                & ( ord_less_eq_nat @ I2 @ N )
                & ( ( F2 @ I2 )
                  = K ) ) ) ) ) ) ).

% nat_intermed_int_val
thf(fact_1236_nat__abs__int__diff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_less_eq_nat @ A @ B )
       => ( ( nat2 @ ( abs_abs_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) )
          = ( minus_minus_nat @ B @ A ) ) )
      & ( ~ ( ord_less_eq_nat @ A @ B )
       => ( ( nat2 @ ( abs_abs_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) )
          = ( minus_minus_nat @ A @ B ) ) ) ) ).

% nat_abs_int_diff
thf(fact_1237_nat__ivt__aux,axiom,
    ! [N: nat,F2: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F2 @ ( suc @ I2 ) ) @ ( F2 @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_int @ ( F2 @ zero_zero_nat ) @ K )
       => ( ( ord_less_eq_int @ K @ ( F2 @ N ) )
         => ? [I2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N )
              & ( ( F2 @ I2 )
                = K ) ) ) ) ) ).

% nat_ivt_aux
thf(fact_1238_int__ge__less__than2__def,axiom,
    ( int_ge_less_than2
    = ( ^ [D3: int] :
          ( collec213857154873943460nt_int
          @ ( produc4947309494688390418_int_o
            @ ^ [Z6: int,Z: int] :
                ( ( ord_less_eq_int @ D3 @ Z )
                & ( ord_less_int @ Z6 @ Z ) ) ) ) ) ) ).

% int_ge_less_than2_def
thf(fact_1239_int__ge__less__than__def,axiom,
    ( int_ge_less_than
    = ( ^ [D3: int] :
          ( collec213857154873943460nt_int
          @ ( produc4947309494688390418_int_o
            @ ^ [Z6: int,Z: int] :
                ( ( ord_less_eq_int @ D3 @ Z6 )
                & ( ord_less_int @ Z6 @ Z ) ) ) ) ) ) ).

% int_ge_less_than_def
thf(fact_1240_upto__split3,axiom,
    ! [I: int,J: int,K: int] :
      ( ( ord_less_eq_int @ I @ J )
     => ( ( ord_less_eq_int @ J @ K )
       => ( ( upto @ I @ K )
          = ( append_int @ ( upto @ I @ ( minus_minus_int @ J @ one_one_int ) ) @ ( cons_int @ J @ ( upto @ ( plus_plus_int @ J @ one_one_int ) @ K ) ) ) ) ) ) ).

% upto_split3
thf(fact_1241_div__pos__geq,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ L )
     => ( ( ord_less_eq_int @ L @ K )
       => ( ( divide_divide_int @ K @ L )
          = ( plus_plus_int @ ( divide_divide_int @ ( minus_minus_int @ K @ L ) @ L ) @ one_one_int ) ) ) ) ).

% div_pos_geq
thf(fact_1242_upto__aux__def,axiom,
    ( upto_aux
    = ( ^ [I3: int,J3: int] : ( append_int @ ( upto @ I3 @ J3 ) ) ) ) ).

% upto_aux_def
thf(fact_1243_upto__split2,axiom,
    ! [I: int,J: int,K: int] :
      ( ( ord_less_eq_int @ I @ J )
     => ( ( ord_less_eq_int @ J @ K )
       => ( ( upto @ I @ K )
          = ( append_int @ ( upto @ I @ J ) @ ( upto @ ( plus_plus_int @ J @ one_one_int ) @ K ) ) ) ) ) ).

% upto_split2
thf(fact_1244_upto__split1,axiom,
    ! [I: int,J: int,K: int] :
      ( ( ord_less_eq_int @ I @ J )
     => ( ( ord_less_eq_int @ J @ K )
       => ( ( upto @ I @ K )
          = ( append_int @ ( upto @ I @ ( minus_minus_int @ J @ one_one_int ) ) @ ( upto @ J @ K ) ) ) ) ) ).

% upto_split1
thf(fact_1245_div__by__Suc__0,axiom,
    ! [M2: nat] :
      ( ( divide_divide_nat @ M2 @ ( suc @ zero_zero_nat ) )
      = M2 ) ).

% div_by_Suc_0
thf(fact_1246_div__less,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ( divide_divide_nat @ M2 @ N )
        = zero_zero_nat ) ) ).

% div_less
thf(fact_1247_int__ops_I8_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( divide_divide_nat @ A @ B ) )
      = ( divide_divide_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(8)
thf(fact_1248_Euclidean__Division_Odiv__eq__0__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( divide_divide_nat @ M2 @ N )
        = zero_zero_nat )
      = ( ( ord_less_nat @ M2 @ N )
        | ( N = zero_zero_nat ) ) ) ).

% Euclidean_Division.div_eq_0_iff
thf(fact_1249_Suc__div__le__mono,axiom,
    ! [M2: nat,N: nat] : ( ord_less_eq_nat @ ( divide_divide_nat @ M2 @ N ) @ ( divide_divide_nat @ ( suc @ M2 ) @ N ) ) ).

% Suc_div_le_mono
thf(fact_1250_div__le__mono2,axiom,
    ! [M2: nat,N: nat,K: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M2 )
     => ( ( ord_less_eq_nat @ M2 @ N )
       => ( ord_less_eq_nat @ ( divide_divide_nat @ K @ N ) @ ( divide_divide_nat @ K @ M2 ) ) ) ) ).

% div_le_mono2
thf(fact_1251_div__greater__zero__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( divide_divide_nat @ M2 @ N ) )
      = ( ( ord_less_eq_nat @ N @ M2 )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% div_greater_zero_iff
thf(fact_1252_div__eq__dividend__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M2 )
     => ( ( ( divide_divide_nat @ M2 @ N )
          = M2 )
        = ( N = one_one_nat ) ) ) ).

% div_eq_dividend_iff
thf(fact_1253_div__less__dividend,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ one_one_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M2 )
       => ( ord_less_nat @ ( divide_divide_nat @ M2 @ N ) @ M2 ) ) ) ).

% div_less_dividend
thf(fact_1254_nat__div__as__int,axiom,
    ( divide_divide_nat
    = ( ^ [A5: nat,B5: nat] : ( nat2 @ ( divide_divide_int @ ( semiri1314217659103216013at_int @ A5 ) @ ( semiri1314217659103216013at_int @ B5 ) ) ) ) ) ).

% nat_div_as_int
thf(fact_1255_div__if,axiom,
    ( divide_divide_nat
    = ( ^ [M3: nat,N2: nat] :
          ( if_nat
          @ ( ( ord_less_nat @ M3 @ N2 )
            | ( N2 = zero_zero_nat ) )
          @ zero_zero_nat
          @ ( suc @ ( divide_divide_nat @ ( minus_minus_nat @ M3 @ N2 ) @ N2 ) ) ) ) ) ).

% div_if
thf(fact_1256_le__div__geq,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_nat @ N @ M2 )
       => ( ( divide_divide_nat @ M2 @ N )
          = ( suc @ ( divide_divide_nat @ ( minus_minus_nat @ M2 @ N ) @ N ) ) ) ) ) ).

% le_div_geq
thf(fact_1257_log_Osimps,axiom,
    ( log
    = ( ^ [B5: code_natural,I3: code_natural] :
          ( if_Code_natural
          @ ( ( ord_le1926595141338095240atural @ B5 @ one_one_Code_natural )
            | ( ord_le5570908160329646204atural @ I3 @ B5 ) )
          @ one_one_Code_natural
          @ ( plus_p4538020629002901425atural @ one_one_Code_natural @ ( log @ B5 @ ( divide5121882707175180666atural @ I3 @ B5 ) ) ) ) ) ) ).

% log.simps
thf(fact_1258_log_Oelims,axiom,
    ! [X3: code_natural,Xa: code_natural,Y: code_natural] :
      ( ( ( log @ X3 @ Xa )
        = Y )
     => ( ( ( ( ord_le1926595141338095240atural @ X3 @ one_one_Code_natural )
            | ( ord_le5570908160329646204atural @ Xa @ X3 ) )
         => ( Y = one_one_Code_natural ) )
        & ( ~ ( ( ord_le1926595141338095240atural @ X3 @ one_one_Code_natural )
              | ( ord_le5570908160329646204atural @ Xa @ X3 ) )
         => ( Y
            = ( plus_p4538020629002901425atural @ one_one_Code_natural @ ( log @ X3 @ ( divide5121882707175180666atural @ Xa @ X3 ) ) ) ) ) ) ) ).

% log.elims
thf(fact_1259_log_Opelims,axiom,
    ! [X3: code_natural,Xa: code_natural,Y: code_natural] :
      ( ( ( log @ X3 @ Xa )
        = Y )
     => ( ( accp_P8126237942716283194atural @ log_rel @ ( produc3574140220909816553atural @ X3 @ Xa ) )
       => ~ ( ( ( ( ( ord_le1926595141338095240atural @ X3 @ one_one_Code_natural )
                  | ( ord_le5570908160329646204atural @ Xa @ X3 ) )
               => ( Y = one_one_Code_natural ) )
              & ( ~ ( ( ord_le1926595141338095240atural @ X3 @ one_one_Code_natural )
                    | ( ord_le5570908160329646204atural @ Xa @ X3 ) )
               => ( Y
                  = ( plus_p4538020629002901425atural @ one_one_Code_natural @ ( log @ X3 @ ( divide5121882707175180666atural @ Xa @ X3 ) ) ) ) ) )
           => ~ ( accp_P8126237942716283194atural @ log_rel @ ( produc3574140220909816553atural @ X3 @ Xa ) ) ) ) ) ).

% log.pelims
thf(fact_1260_upto__rec2,axiom,
    ! [I: int,J: int] :
      ( ( ord_less_eq_int @ I @ J )
     => ( ( upto @ I @ J )
        = ( append_int @ ( upto @ I @ ( minus_minus_int @ J @ one_one_int ) ) @ ( cons_int @ J @ nil_int ) ) ) ) ).

% upto_rec2
thf(fact_1261_upto__Nil,axiom,
    ! [I: int,J: int] :
      ( ( ( upto @ I @ J )
        = nil_int )
      = ( ord_less_int @ J @ I ) ) ).

% upto_Nil
thf(fact_1262_upto__Nil2,axiom,
    ! [I: int,J: int] :
      ( ( nil_int
        = ( upto @ I @ J ) )
      = ( ord_less_int @ J @ I ) ) ).

% upto_Nil2
thf(fact_1263_upto__empty,axiom,
    ! [J: int,I: int] :
      ( ( ord_less_int @ J @ I )
     => ( ( upto @ I @ J )
        = nil_int ) ) ).

% upto_empty
thf(fact_1264_upto__single,axiom,
    ! [I: int] :
      ( ( upto @ I @ I )
      = ( cons_int @ I @ nil_int ) ) ).

% upto_single
thf(fact_1265_upto__code,axiom,
    ( upto
    = ( ^ [I3: int,J3: int] : ( upto_aux @ I3 @ J3 @ nil_int ) ) ) ).

% upto_code

% Helper facts (11)
thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
    ! [X3: int,Y: int] :
      ( ( if_int @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
    ! [X3: int,Y: int] :
      ( ( if_int @ $true @ X3 @ Y )
      = X3 ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $true @ X3 @ Y )
      = X3 ) ).

thf(help_If_2_1_If_001t__Code____Numeral__Onatural_T,axiom,
    ! [X3: code_natural,Y: code_natural] :
      ( ( if_Code_natural @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Code____Numeral__Onatural_T,axiom,
    ! [X3: code_natural,Y: code_natural] :
      ( ( if_Code_natural @ $true @ X3 @ Y )
      = X3 ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Int__Oint_J_T,axiom,
    ! [X3: list_int,Y: list_int] :
      ( ( if_list_int @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Int__Oint_J_T,axiom,
    ! [X3: list_int,Y: list_int] :
      ( ( if_list_int @ $true @ X3 @ Y )
      = X3 ) ).

thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [P2: $o] :
      ( ( P2 = $true )
      | ( P2 = $false ) ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X3: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X3: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $true @ X3 @ Y )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( semantics_tm_a @ e @ f @ ( add_env_tm @ t @ s @ n ) )
    = ( add_env_a @ ( semantics_tm_a @ e @ f @ t )
      @ ^ [M3: nat] : ( semantics_tm_a @ e @ f @ ( s @ M3 ) )
      @ n ) ) ).

%------------------------------------------------------------------------------