TPTP Problem File: SLH0565^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    : Rewrite_Properties_Reduction/0015_Terms_Positions/prob_00167_006499__13673874_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1784 ( 656 unt; 527 typ;   0 def)
%            Number of atoms       : 3471 (1955 equ;   0 cnn)
%            Maximal formula atoms :   23 (   2 avg)
%            Number of connectives : 13651 ( 818   ~;  92   |; 449   &;10892   @)
%                                         (   0 <=>;1400  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   7 avg)
%            Number of types       :  108 ( 107 usr)
%            Number of type conns  : 1455 (1455   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  423 ( 420 usr;  26 con; 0-4 aty)
%            Number of variables   : 4483 ( 227   ^;3815   !; 441   ?;4483   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 14:13:09.371
%------------------------------------------------------------------------------
% Could-be-implicit typings (107)
thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    produc8734217775477389290rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    produc1347435883734243714st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__Nat__Onat_J_M_062_It__Nat__Onat_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    produc4668407523905498626st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__Nat__Onat_J_M_062_I_Eo_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_I_Eo_J_J_J,type,
    produc6542022878827529832list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    produc694237350640951002rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    produc6442452500694806490st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_Pr4817715314677154882st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_Mt__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J_J,type,
    set_Pr5614382033011752617rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_Mt__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J_J,type,
    set_Pr9048311335122707521st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc8210972263561988409rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    produc4787317212837456354st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_Mt__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    produc5770105429786724425rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_Mt__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    produc9189680189847484897st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc8847469151730319409rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__Nat__Onat_J_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc2068713617857708901st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc5279506192219892694rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc2732850333517536310rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    produc1790187910217387054st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_I_Eo_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_I_Eo_J_J_J,type,
    produc3629860864130097256list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_062_It__Nat__Onat_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    produc8077232609025113690st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    set_Pr8564414093027780873rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_Pr8232421962472802261st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    set_Pr1522445498334220757rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_Pr1190453367779242145st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_062_I_Eo_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_I_Eo_J_J_J,type,
    produc7430936521001197280list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc51424535725745577rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc5422993881042348661st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc8178616817165808757rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc4326814125627636033st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr5972536988916469445st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    set_Pr2653742144321748037rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_Pr2321750013766769425st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr5860164671742971281st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_li6867361041382987015st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr7072801126362145067st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc5260046862718186894rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc4248194078104742542st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc8965594506121923398rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr5679802032631135584st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc5674375379913900953rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc895009549562661605st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc9043357390500214885rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc5191554698962042161st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc3811483368811048881st_nat: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc254973753779126261st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr4386577575007340137rm_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr534774883469167413st_nat: $tType ).

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

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

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr1012447495205133252st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_I_Eo_J_J,type,
    produc6511244680172282531list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc3228902073608988913rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc8600471418925591997st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc7226932159051337088st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc357393685978478089rm_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc3697673438841856213st_nat: $tType ).

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

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

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

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

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

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

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_I_Eo_J_J_J,type,
    set_Pr6227168374412355847list_o: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_li5450038453877631591at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc4226810134323546766st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    set_Pr1357592988741419896rm_a_b: $tType ).

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

thf(ty_n_t__Set__Oset_It__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    set_li1107847671670421686st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_I_Eo_J_J,type,
    produc149729814636038835list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc4203922736317485613st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_062_I_Eo_M_Eo_J_J_Mt__List__Olist_I_Eo_J_J,type,
    produc8642409424279824599list_o: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_I_Eo_J_J,type,
    produc7102631898165422375list_o: $tType ).

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

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

thf(ty_n_t__Product____Type__Oprod_I_062_I_Eo_M_Eo_J_Mt__List__Olist_I_Eo_J_J,type,
    produc4895375484934168814list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc6551080308567045442rm_a_b: $tType ).

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

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

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    set_Pr4934435412358123699_a_nat: $tType ).

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

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

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

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

thf(ty_n_t__Option__Ooption_It__Sum____Type__Osum_Itf__a_Mtf__b_J_J,type,
    option_Sum_sum_a_b: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_I_Eo_Mt__List__Olist_I_Eo_J_J,type,
    produc6454500794699219245list_o: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
    set_Product_prod_o_o: $tType ).

thf(ty_n_t__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J,type,
    subterm_and_ctxt_a_b: $tType ).

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

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

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

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

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

thf(ty_n_t__List__Olist_It__List__Olist_I_Eo_J_J,type,
    list_list_o: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_I_Eo_J_J,type,
    set_list_o: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_Eo_M_Eo_J,type,
    product_prod_o_o: $tType ).

thf(ty_n_t__Term__Oterm_Itf__a_Mtf__b_J,type,
    term_a_b: $tType ).

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

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

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

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

thf(ty_n_t__Set__Oset_I_Eo_J,type,
    set_o: $tType ).

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

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

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

% Explicit typings (420)
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001_Eo,type,
    bNF_Greatest_Shift_o: set_list_o > $o > set_list_o ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    bNF_Gr6465487921953164305st_nat: set_li1107847671670421686st_nat > list_list_nat > set_li1107847671670421686st_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__List__Olist_It__Nat__Onat_J,type,
    bNF_Gr9051742241863529473st_nat: set_list_list_nat > list_nat > set_list_list_nat ).

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

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    bNF_Gr1840819286107176384st_nat: set_li6867361041382987015st_nat > produc1828647624359046049st_nat > set_li6867361041382987015st_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    bNF_Gr3130287167067265568at_nat: set_li5450038453877631591at_nat > product_prod_nat_nat > set_li5450038453877631591at_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bNF_Gr2285504805956674357rm_a_b: set_list_term_a_b > term_a_b > set_list_term_a_b ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001_Eo,type,
    bNF_Greatest_Succ_o: set_list_o > list_o > set_o ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    bNF_Gr9051413041627726741st_nat: set_li1107847671670421686st_nat > list_list_list_nat > set_list_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__List__Olist_It__Nat__Onat_J,type,
    bNF_Gr3053708287304744325st_nat: set_list_list_nat > list_list_nat > set_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    bNF_Gr5711133288764348617rm_a_b: set_li1439839802225400298rm_a_b > list_list_term_a_b > set_list_term_a_b ).

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

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    bNF_Gr8705060421004693820st_nat: set_li6867361041382987015st_nat > list_P7940050157051400743st_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    bNF_Gr5363859321595349404at_nat: set_li5450038453877631591at_nat > list_P6011104703257516679at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bNF_Gr5510842888252665017rm_a_b: set_list_term_a_b > list_term_a_b > set_term_a_b ).

thf(sy_c_Basic__Utils_Oadd__elem__list__lists_001_Eo,type,
    basic_2028021733394181825ists_o: $o > list_o > list_list_o ).

thf(sy_c_Basic__Utils_Oadd__elem__list__lists_001t__List__Olist_It__Nat__Onat_J,type,
    basic_8359458158062141559st_nat: list_nat > list_list_nat > list_list_list_nat ).

thf(sy_c_Basic__Utils_Oadd__elem__list__lists_001t__Nat__Onat,type,
    basic_4874698711677410535ts_nat: nat > list_nat > list_list_nat ).

thf(sy_c_Basic__Utils_Oadd__elem__list__lists_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    basic_1593220722155286443rm_a_b: term_a_b > list_term_a_b > list_list_term_a_b ).

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

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_HOL_Oundefined_001t__Nat__Onat,type,
    undefined_nat: nat ).

thf(sy_c_HOL_Oundefined_001t__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J,type,
    undefi3573907640150307307xt_a_b: subterm_and_ctxt_a_b ).

thf(sy_c_HOL_Oundefined_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    undefined_term_a_b: term_a_b ).

thf(sy_c_If_001t__List__Olist_I_Eo_J,type,
    if_list_o: $o > list_o > list_o > list_o ).

thf(sy_c_If_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    if_lis2071795941963001914st_nat: $o > list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    if_list_list_nat: $o > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_If_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    if_lis5923598633501174638rm_a_b: $o > list_list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_If_001t__List__Olist_It__Nat__Onat_J,type,
    if_list_nat: $o > list_nat > list_nat > list_nat ).

thf(sy_c_If_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    if_lis5496265267951696621st_nat: $o > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_If_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    if_lis9186351972506106189at_nat: $o > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_If_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    if_list_term_a_b: $o > list_term_a_b > list_term_a_b > list_term_a_b ).

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

thf(sy_c_If_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    if_term_a_b: $o > term_a_b > term_a_b > term_a_b ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    inf_inf_set_list_nat: set_list_nat > set_list_nat > set_list_nat ).

thf(sy_c_List_OBleast_001t__Nat__Onat,type,
    bleast_nat: set_nat > ( nat > $o ) > nat ).

thf(sy_c_List_Oabort__Bleast_001t__Nat__Onat,type,
    abort_Bleast_nat: set_nat > ( nat > $o ) > nat ).

thf(sy_c_List_Oappend_001_Eo,type,
    append_o: list_o > list_o > list_o ).

thf(sy_c_List_Oappend_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    append_list_list_nat: list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Oappend_001t__List__Olist_It__Nat__Onat_J,type,
    append_list_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Oappend_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    append_list_term_a_b: list_list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

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

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    append2623875052807961020st_nat: list_P7940050157051400743st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

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

thf(sy_c_List_Oappend_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    append_term_a_b: list_term_a_b > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Oarg__min__list_001t__Nat__Onat_001t__Nat__Onat,type,
    arg_min_list_nat_nat: ( nat > nat ) > list_nat > nat ).

thf(sy_c_List_Oarg__min__list__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    arg_mi1980697302924206711at_nat: produc7226932159051337088st_nat > produc7226932159051337088st_nat > $o ).

thf(sy_c_List_Obind_001_Eo_001t__List__Olist_It__Nat__Onat_J,type,
    bind_o_list_nat: list_o > ( $o > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001_Eo_001t__Nat__Onat,type,
    bind_o_nat: list_o > ( $o > list_nat ) > list_nat ).

thf(sy_c_List_Obind_001_Eo_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bind_o_term_a_b: list_o > ( $o > list_term_a_b ) > list_term_a_b ).

thf(sy_c_List_Obind_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    bind_l7796378977173581257st_nat: list_list_nat > ( list_nat > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    bind_list_nat_nat: list_list_nat > ( list_nat > list_nat ) > list_nat ).

thf(sy_c_List_Obind_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bind_l1030141541266726141rm_a_b: list_list_nat > ( list_nat > list_term_a_b ) > list_term_a_b ).

thf(sy_c_List_Obind_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    bind_nat_list_nat: list_nat > ( nat > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001t__Nat__Onat_001t__Nat__Onat,type,
    bind_nat_nat: list_nat > ( nat > list_nat ) > list_nat ).

thf(sy_c_List_Obind_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bind_nat_term_a_b: list_nat > ( nat > list_term_a_b ) > list_term_a_b ).

thf(sy_c_List_Obind_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__Nat__Onat_J,type,
    bind_t442032754801615613st_nat: list_term_a_b > ( term_a_b > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    bind_term_a_b_nat: list_term_a_b > ( term_a_b > list_nat ) > list_nat ).

thf(sy_c_List_Obind_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    bind_t2899167355749536305rm_a_b: list_term_a_b > ( term_a_b > list_term_a_b ) > list_term_a_b ).

thf(sy_c_List_Obutlast_001t__List__Olist_It__Nat__Onat_J,type,
    butlast_list_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Obutlast_001t__Nat__Onat,type,
    butlast_nat: list_nat > list_nat ).

thf(sy_c_List_Obutlast_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    butlast_term_a_b: list_term_a_b > list_term_a_b ).

thf(sy_c_List_Ocan__select_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    can_se4193021272102570163st_nat: ( list_list_nat > $o ) > set_list_list_nat > $o ).

thf(sy_c_List_Ocan__select_001t__List__Olist_It__Nat__Onat_J,type,
    can_select_list_nat: ( list_nat > $o ) > set_list_nat > $o ).

thf(sy_c_List_Ocan__select_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    can_se852741519239192039rm_a_b: ( list_term_a_b > $o ) > set_list_term_a_b > $o ).

thf(sy_c_List_Ocan__select_001t__Nat__Onat,type,
    can_select_nat: ( nat > $o ) > set_nat > $o ).

thf(sy_c_List_Ocan__select_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    can_se6413446879105937054st_nat: ( produc1828647624359046049st_nat > $o ) > set_Pr3451248702717554689st_nat > $o ).

thf(sy_c_List_Ocan__select_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    can_se4754832747099445502at_nat: ( product_prod_nat_nat > $o ) > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_List_Ocan__select_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    can_select_term_a_b: ( term_a_b > $o ) > set_term_a_b > $o ).

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

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

thf(sy_c_List_Odrop_001t__List__Olist_It__Nat__Onat_J,type,
    drop_list_nat: nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Odrop_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    drop_list_term_a_b: nat > list_list_term_a_b > list_list_term_a_b ).

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

thf(sy_c_List_Odrop_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    drop_term_a_b: nat > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Oinsert_001_Eo,type,
    insert_o: $o > list_o > list_o ).

thf(sy_c_List_Oinsert_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    insert_list_list_nat: list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Oinsert_001t__List__Olist_It__Nat__Onat_J,type,
    insert_list_nat: list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Oinsert_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    insert_list_term_a_b: list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Oinsert_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    insert3602830346519061181st_nat: produc1828647624359046049st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_List_Oinsert_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    insert8944034826898310173at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oinsert_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    insert_term_a_b: term_a_b > list_term_a_b > list_term_a_b ).

thf(sy_c_List_Olast_001t__List__Olist_It__Nat__Onat_J,type,
    last_list_nat: list_list_nat > list_nat ).

thf(sy_c_List_Olast_001t__Nat__Onat,type,
    last_nat: list_nat > nat ).

thf(sy_c_List_Olast_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    last_term_a_b: list_term_a_b > term_a_b ).

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

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

thf(sy_c_List_Olex_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    lex_term_a_b: set_Pr4386577575007340137rm_a_b > set_Pr8564414093027780873rm_a_b ).

thf(sy_c_List_Olexord_001_Eo,type,
    lexord_o: set_Product_prod_o_o > set_Pr6227168374412355847list_o ).

thf(sy_c_List_Olexord_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    lexord_list_list_nat: set_Pr1190453367779242145st_nat > set_Pr9048311335122707521st_nat ).

thf(sy_c_List_Olexord_001t__List__Olist_It__Nat__Onat_J,type,
    lexord_list_nat: set_Pr3451248702717554689st_nat > set_Pr1190453367779242145st_nat ).

thf(sy_c_List_Olexord_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    lexord_list_term_a_b: set_Pr8564414093027780873rm_a_b > set_Pr5614382033011752617rm_a_b ).

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

thf(sy_c_List_Olexord_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    lexord_term_a_b: set_Pr4386577575007340137rm_a_b > set_Pr8564414093027780873rm_a_b ).

thf(sy_c_List_Olist_OCons_001_Eo,type,
    cons_o: $o > list_o > list_o ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_I_Eo_J,type,
    cons_list_o: list_o > list_list_o > list_list_o ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    cons_list_list_nat: list_list_nat > list_list_list_nat > list_list_list_nat ).

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

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

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

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    cons_P5007559046487125591st_nat: produc1828647624359046049st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

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

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    cons_set_list_nat: set_list_nat > list_set_list_nat > list_set_list_nat ).

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Nat__Onat_J,type,
    cons_set_nat: set_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    cons_set_term_a_b: set_term_a_b > list_set_term_a_b > list_set_term_a_b ).

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

thf(sy_c_List_Olist_ONil_001_Eo,type,
    nil_o: list_o ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_I_Eo_J,type,
    nil_list_o: list_list_o ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    nil_list_list_nat: list_list_list_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Nat__Onat_J,type,
    nil_list_nat: list_list_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    nil_list_term_a_b: list_list_term_a_b ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    nil_Pr8413428694792600231st_nat: list_P7940050157051400743st_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_Pr5478986624290739719at_nat: list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_ONil_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    nil_term_a_b: list_term_a_b ).

thf(sy_c_List_Olist_Ohd_001t__List__Olist_It__Nat__Onat_J,type,
    hd_list_nat: list_list_nat > list_nat ).

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

thf(sy_c_List_Olist_Ohd_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    hd_term_a_b: list_term_a_b > term_a_b ).

thf(sy_c_List_Olist_Olist__all_001_Eo,type,
    list_all_o: ( $o > $o ) > list_o > $o ).

thf(sy_c_List_Olist_Olist__all_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    list_a6859259979406887356st_nat: ( list_list_nat > $o ) > list_list_list_nat > $o ).

thf(sy_c_List_Olist_Olist__all_001t__List__Olist_It__Nat__Onat_J,type,
    list_all_list_nat: ( list_nat > $o ) > list_list_nat > $o ).

thf(sy_c_List_Olist_Olist__all_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    list_a3518980226543509232rm_a_b: ( list_term_a_b > $o ) > list_list_term_a_b > $o ).

thf(sy_c_List_Olist_Olist__all_001t__Nat__Onat,type,
    list_all_nat: ( nat > $o ) > list_nat > $o ).

thf(sy_c_List_Olist_Olist__all_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    list_a499173767754505813st_nat: ( produc1828647624359046049st_nat > $o ) > list_P7940050157051400743st_nat > $o ).

thf(sy_c_List_Olist_Olist__all_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    list_a5484268745570228149at_nat: ( product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o ).

thf(sy_c_List_Olist_Olist__all_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    list_all_term_a_b: ( term_a_b > $o ) > list_term_a_b > $o ).

thf(sy_c_List_Olist_Oset_001_Eo,type,
    set_o2: list_o > set_o ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_I_Eo_J,type,
    set_list_o2: list_list_o > set_list_o ).

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

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

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

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

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

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

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

thf(sy_c_List_Olist_Osize__list_001t__List__Olist_It__Nat__Onat_J,type,
    size_list_list_nat: ( list_nat > nat ) > list_list_nat > nat ).

thf(sy_c_List_Olist_Osize__list_001t__Nat__Onat,type,
    size_list_nat: ( nat > nat ) > list_nat > nat ).

thf(sy_c_List_Olist__ex1_001_Eo,type,
    list_ex1_o: ( $o > $o ) > list_o > $o ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    list_e4462734821984335591st_nat: ( list_list_nat > $o ) > list_list_list_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__Nat__Onat_J,type,
    list_ex1_list_nat: ( list_nat > $o ) > list_list_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    list_e1122455069120957467rm_a_b: ( list_term_a_b > $o ) > list_list_term_a_b > $o ).

thf(sy_c_List_Olist__ex1_001t__Nat__Onat,type,
    list_ex1_nat: ( nat > $o ) > list_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    list_e4364535806343802730st_nat: ( produc1828647624359046049st_nat > $o ) > list_P7940050157051400743st_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    list_e8644085759156585930at_nat: ( product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    list_ex1_term_a_b: ( term_a_b > $o ) > list_term_a_b > $o ).

thf(sy_c_List_Olist__update_001t__List__Olist_It__Nat__Onat_J,type,
    list_update_list_nat: list_list_nat > nat > list_nat > list_list_nat ).

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

thf(sy_c_List_Olist__update_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    list_update_term_a_b: list_term_a_b > nat > term_a_b > list_term_a_b ).

thf(sy_c_List_Olistrel1_001_Eo,type,
    listrel1_o: set_Product_prod_o_o > set_Pr6227168374412355847list_o ).

thf(sy_c_List_Olistrel1_001t__List__Olist_It__Nat__Onat_J,type,
    listrel1_list_nat: set_Pr3451248702717554689st_nat > set_Pr1190453367779242145st_nat ).

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

thf(sy_c_List_Olistrel1_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    listrel1_term_a_b: set_Pr4386577575007340137rm_a_b > set_Pr8564414093027780873rm_a_b ).

thf(sy_c_List_Olistrel_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    listre6091228620945859379st_nat: set_Pr3451248702717554689st_nat > set_Pr1190453367779242145st_nat ).

thf(sy_c_List_Olistrel_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    listrel_list_nat_nat: set_Pr7549493975000385137at_nat > set_Pr5860164671742971281st_nat ).

thf(sy_c_List_Olistrel_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    listre8548363221893780071rm_a_b: set_Pr7303051394255727413rm_a_b > set_Pr1522445498334220757rm_a_b ).

thf(sy_c_List_Olistrel_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    listrel_nat_list_nat: set_Pr698032948827214833st_nat > set_Pr2321750013766769425st_nat ).

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

thf(sy_c_List_Olistrel_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    listrel_nat_term_a_b: set_Pr4549835640365387557rm_a_b > set_Pr2653742144321748037rm_a_b ).

thf(sy_c_List_Olistrel_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__Nat__Onat_J,type,
    listre7960254435428669543st_nat: set_Pr534774883469167413st_nat > set_Pr8232421962472802261st_nat ).

thf(sy_c_List_Olistrel_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    listrel_term_a_b_nat: set_Pr6708357783813671845_b_nat > set_Pr5972536988916469445st_nat ).

thf(sy_c_List_Olistrel_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    listre1194016999521814427rm_a_b: set_Pr4386577575007340137rm_a_b > set_Pr8564414093027780873rm_a_b ).

thf(sy_c_List_Olistrelp_001t__Nat__Onat_001t__Nat__Onat,type,
    listrelp_nat_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).

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

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

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

thf(sy_c_List_Omaps_001_Eo_001t__List__Olist_It__Nat__Onat_J,type,
    maps_o_list_nat: ( $o > list_list_nat ) > list_o > list_list_nat ).

thf(sy_c_List_Omaps_001_Eo_001t__Nat__Onat,type,
    maps_o_nat: ( $o > list_nat ) > list_o > list_nat ).

thf(sy_c_List_Omaps_001_Eo_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    maps_o_term_a_b: ( $o > list_term_a_b ) > list_o > list_term_a_b ).

thf(sy_c_List_Omaps_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    maps_l5785965478274863235st_nat: ( list_nat > list_list_nat ) > list_list_nat > list_list_nat ).

thf(sy_c_List_Omaps_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    maps_list_nat_nat: ( list_nat > list_nat ) > list_list_nat > list_nat ).

thf(sy_c_List_Omaps_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    maps_l8243100079222783927rm_a_b: ( list_nat > list_term_a_b ) > list_list_nat > list_term_a_b ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    maps_nat_list_nat: ( nat > list_list_nat ) > list_nat > list_list_nat ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001t__Nat__Onat,type,
    maps_nat_nat: ( nat > list_nat ) > list_nat > list_nat ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    maps_nat_term_a_b: ( nat > list_term_a_b ) > list_nat > list_term_a_b ).

thf(sy_c_List_Omaps_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__Nat__Onat_J,type,
    maps_t7654991292757673399st_nat: ( term_a_b > list_list_nat ) > list_term_a_b > list_list_nat ).

thf(sy_c_List_Omaps_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Nat__Onat,type,
    maps_term_a_b_nat: ( term_a_b > list_nat ) > list_term_a_b > list_nat ).

thf(sy_c_List_Omaps_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    maps_t888753856850818283rm_a_b: ( term_a_b > list_term_a_b ) > list_term_a_b > list_term_a_b ).

thf(sy_c_List_On__lists_001t__Nat__Onat,type,
    n_lists_nat: nat > list_nat > list_list_nat ).

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

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

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

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

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

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

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

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

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

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

thf(sy_c_List_Oord_Olexordp__eq_001t__Nat__Onat,type,
    lexordp_eq_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).

thf(sy_c_List_Oproduct__lists_001t__List__Olist_It__Nat__Onat_J,type,
    produc6783906451316923569st_nat: list_list_list_nat > list_list_list_nat ).

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

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

thf(sy_c_List_Oshuffles__rel_001t__Nat__Onat,type,
    shuffles_rel_nat: produc1828647624359046049st_nat > produc1828647624359046049st_nat > $o ).

thf(sy_c_List_Osplice_001t__Nat__Onat,type,
    splice_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Osplice__rel_001t__Nat__Onat,type,
    splice_rel_nat: produc1828647624359046049st_nat > produc1828647624359046049st_nat > $o ).

thf(sy_c_List_Osubseqs_001_Eo,type,
    subseqs_o: list_o > list_list_o ).

thf(sy_c_List_Osubseqs_001t__List__Olist_It__Nat__Onat_J,type,
    subseqs_list_nat: list_list_nat > list_list_list_nat ).

thf(sy_c_List_Osubseqs_001t__Nat__Onat,type,
    subseqs_nat: list_nat > list_list_nat ).

thf(sy_c_List_Osubseqs_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    subseqs_term_a_b: list_term_a_b > list_list_term_a_b ).

thf(sy_c_List_Otake_001t__List__Olist_It__Nat__Onat_J,type,
    take_list_nat: nat > list_list_nat > list_list_nat ).

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

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

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

thf(sy_c_Missing__List_Oadjust__idx,type,
    missing_adjust_idx: nat > nat > nat ).

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

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

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

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

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

thf(sy_c_Missing__List_Olist__diff_001_Eo,type,
    missing_list_diff_o: list_o > list_o > list_o ).

thf(sy_c_Missing__List_Olist__diff_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    missin8637344274621132908st_nat: list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_Missing__List_Olist__diff_001t__List__Olist_It__Nat__Onat_J,type,
    missin6169663638126051804st_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Missing__List_Olist__diff_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin5297064521757754784rm_a_b: list_list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_Missing__List_Olist__diff_001t__Nat__Onat,type,
    missin818507234016924876ff_nat: list_nat > list_nat > list_nat ).

thf(sy_c_Missing__List_Olist__diff_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    missin4275274532656520101st_nat: list_P7940050157051400743st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_Missing__List_Olist__diff_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    missin1871397355624342789at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Missing__List_Olist__diff_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin8626798239073972496rm_a_b: list_term_a_b > list_term_a_b > list_term_a_b ).

thf(sy_c_Missing__List_Olist__inter_001_Eo,type,
    missing_list_inter_o: list_o > list_o > list_o ).

thf(sy_c_Missing__List_Olist__inter_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    missin3547494010810081143st_nat: list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_Missing__List_Olist__inter_001t__List__Olist_It__Nat__Onat_J,type,
    missin6532874241183986279st_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Missing__List_Olist__inter_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin207214257946703019rm_a_b: list_list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_Missing__List_Olist__inter_001t__Nat__Onat,type,
    missin6377695591745783511er_nat: list_nat > list_nat > list_nat ).

thf(sy_c_Missing__List_Olist__inter_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    missin4853219572248531674st_nat: list_P7940050157051400743st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_Missing__List_Olist__inter_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    missin4052789392645806394at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Missing__List_Olist__inter_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin8990008842131906971rm_a_b: list_term_a_b > list_term_a_b > list_term_a_b ).

thf(sy_c_Missing__List_Olist__inter__rel_001t__List__Olist_It__Nat__Onat_J,type,
    missin517122817877786516st_nat: produc4326814125627636033st_nat > produc4326814125627636033st_nat > $o ).

thf(sy_c_Missing__List_Olist__inter__rel_001t__Nat__Onat,type,
    missin8053613324461657732el_nat: produc1828647624359046049st_nat > produc1828647624359046049st_nat > $o ).

thf(sy_c_Missing__List_Olist__union_001_Eo,type,
    missing_list_union_o: list_o > list_o > list_o ).

thf(sy_c_Missing__List_Olist__union_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    missin2420431887399924842st_nat: list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_Missing__List_Olist__union_001t__List__Olist_It__Nat__Onat_J,type,
    missin2430100002323995866st_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Missing__List_Olist__union_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    missin8303524171391322526rm_a_b: list_list_term_a_b > list_list_term_a_b > list_list_term_a_b ).

thf(sy_c_Missing__List_Olist__union_001t__Nat__Onat,type,
    missin7861371969718421194on_nat: list_nat > list_nat > list_nat ).

thf(sy_c_Missing__List_Olist__union_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    missin2558471167415263783st_nat: list_P7940050157051400743st_nat > list_P7940050157051400743st_nat > list_P7940050157051400743st_nat ).

thf(sy_c_Missing__List_Olist__union_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    missin7226838710689955207at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Missing__List_Olist__union_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin4887234603271916558rm_a_b: list_term_a_b > list_term_a_b > list_term_a_b ).

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

thf(sy_c_Missing__List_Opermut__aux_001t__Nat__Onat,type,
    missin1888654203714970382ux_nat: list_nat > ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_Missing__List_Opermut__aux_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin5661735679256376914rm_a_b: list_term_a_b > ( nat > nat ) > list_term_a_b > list_term_a_b ).

thf(sy_c_Missing__List_Oremdups__sort_001t__Nat__Onat,type,
    missin6101193410121742181rt_nat: list_nat > list_nat ).

thf(sy_c_Missing__List_Oremove__nth_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    missin7590947408886171483rm_a_b: nat > list_term_a_b > list_term_a_b ).

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__List__Olist_It__Nat__Onat_J,type,
    case_nat_list_nat: list_nat > ( nat > list_nat ) > nat > list_nat ).

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

thf(sy_c_Nat_Onat_Ocase__nat_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    case_n2393658782426379564st_nat: set_list_nat > ( nat > set_list_nat ) > nat > set_list_nat ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__Set__Oset_It__Nat__Onat_J,type,
    case_nat_set_nat: set_nat > ( nat > set_nat ) > nat > set_nat ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__Set__Oset_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    case_n8276751066417777248rm_a_b: set_term_a_b > ( nat > set_term_a_b ) > nat > set_term_a_b ).

thf(sy_c_Nat_Onat_Ocase__nat_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    case_nat_term_a_b: term_a_b > ( nat > term_a_b ) > nat > term_a_b ).

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

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

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

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

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

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

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

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

thf(sy_c_Option_Ooption_ONone_001t__Sum____Type__Osum_Itf__a_Mtf__b_J,type,
    none_Sum_sum_a_b: option_Sum_sum_a_b ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    bot_bot_set_list_nat: set_list_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

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

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J,type,
    ord_less_list_nat_o: ( list_nat > $o ) > ( list_nat > $o ) > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_le1190675801316882794st_nat: set_list_nat > set_list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J,type,
    ord_le1520216061033275535_nat_o: ( list_nat > $o ) > ( list_nat > $o ) > $o ).

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

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

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

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

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

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_062_I_Eo_M_Eo_J_J_001t__List__Olist_I_Eo_J,type,
    produc8744836578217649351list_o: ( $o > $o > $o ) > list_o > produc8642409424279824599list_o ).

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_062_I_Eo_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_I_Eo_J_J,type,
    produc1053151756291264592list_o: ( $o > $o > $o ) > produc7102631898165422375list_o > produc7430936521001197280list_o ).

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc4544480972032469138st_nat: ( $o > list_nat > $o ) > produc8600471418925591997st_nat > produc6442452500694806490st_nat ).

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_062_It__Nat__Onat_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc8596593174839838738st_nat: ( $o > nat > $o ) > produc4203922736317485613st_nat > produc8077232609025113690st_nat ).

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc2316076382961807762rm_a_b: ( $o > term_a_b > $o ) > produc3228902073608988913rm_a_b > produc694237350640951002rm_a_b ).

thf(sy_c_Product__Type_OPair_001_062_I_Eo_M_Eo_J_001t__List__Olist_I_Eo_J,type,
    produc1450004214998940960list_o: ( $o > $o ) > list_o > produc4895375484934168814list_o ).

thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__Nat__Onat_J_M_062_I_Eo_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_I_Eo_J_J,type,
    produc8396756662722826784list_o: ( list_nat > $o > $o ) > produc6511244680172282531list_o > produc6542022878827529832list_o ).

thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__Nat__Onat_J_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc6344517630863869919st_nat: ( list_nat > list_nat > $o ) > list_list_nat > produc2068713617857708901st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__Nat__Onat_J_M_062_It__Nat__Onat_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc8692729437461895794st_nat: ( list_nat > nat > $o ) > produc3811483368811048881st_nat > produc4668407523905498626st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc8316565932239993096st_nat: ( list_nat > $o ) > list_list_nat > produc4248194078104742542st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_I_Eo_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_I_Eo_J_J,type,
    produc8759489541920558368list_o: ( nat > $o > $o ) > produc149729814636038835list_o > produc3629860864130097256list_o ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc1066871748563060210st_nat: ( nat > list_nat > $o ) > produc5191554698962042161st_nat > produc1347435883734243714st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc4727192421694094319st_nat: ( nat > nat > $o ) > list_nat > produc254973753779126261st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc3127733452865184594st_nat: ( nat > nat > $o ) > produc1828647624359046049st_nat > produc4787317212837456354st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc2750092164434624090rm_a_b: ( nat > term_a_b > $o ) > produc9043357390500214885rm_a_b > produc8734217775477389290rm_a_b ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_Eo_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc8587622027977423880st_nat: ( nat > $o ) > list_nat > produc4226810134323546766st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc8711139202005206712st_nat: ( nat > nat ) > list_nat > produc7226932159051337088st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc1024386139020989030st_nat: ( nat > nat ) > produc4226810134323546766st_nat > produc1790187910217387054st_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc5931190720334929579rm_a_b: ( term_a_b > term_a_b > $o ) > list_term_a_b > produc8847469151730319409rm_a_b ).

thf(sy_c_Product__Type_OPair_001_062_It__Term__Oterm_Itf__a_Mtf__b_J_M_Eo_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc2136336272451886600rm_a_b: ( term_a_b > $o ) > list_term_a_b > produc5260046862718186894rm_a_b ).

thf(sy_c_Product__Type_OPair_001_Eo_001_Eo,type,
    product_Pair_o_o: $o > $o > product_prod_o_o ).

thf(sy_c_Product__Type_OPair_001_Eo_001t__List__Olist_I_Eo_J,type,
    produc7263596898809104029list_o: $o > list_o > produc6454500794699219245list_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_Eo_J_001t__List__Olist_I_Eo_J,type,
    produc8435520187683070743list_o: list_o > list_o > produc7102631898165422375list_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_Eo_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc4475012143487955383st_nat: list_o > list_list_nat > produc8600471418925591997st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_Eo_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc7128876500814652583st_nat: list_o > list_nat > produc4203922736317485613st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_I_Eo_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc1134732390624577259rm_a_b: list_o > list_term_a_b > produc3228902073608988913rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    produc7456843779855495193st_nat: list_list_list_nat > list_list_list_nat > produc9189680189847484897st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_I_Eo_J,type,
    produc2017423731884799701list_o: list_list_nat > list_o > produc6511244680172282531list_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc7129799990162260089st_nat: list_list_nat > list_list_nat > produc4326814125627636033st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc8303078633012690025st_nat: list_list_nat > list_nat > produc3811483368811048881st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc3789520237298881965rm_a_b: list_list_nat > list_term_a_b > produc8178616817165808757rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    produc7557079580777928833rm_a_b: list_list_term_a_b > list_list_term_a_b > produc5770105429786724425rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_I_Eo_J,type,
    produc699922362453767013list_o: list_nat > list_o > produc149729814636038835list_o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc7676750419334090729st_nat: list_nat > list_list_nat > produc5191554698962042161st_nat ).

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

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc4336470666470712605rm_a_b: list_nat > list_term_a_b > produc9043357390500214885rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc5151171985953862413rm_a_b: list_nat > term_a_b > produc7711739908350443733rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    produc8225979745576972717st_nat: list_term_a_b > list_list_nat > produc5422993881042348661st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc5386604813764302749st_nat: list_term_a_b > list_nat > produc895009549562661605st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc4885699992713594593rm_a_b: list_term_a_b > list_term_a_b > produc51424535725745577rm_a_b ).

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

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

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc8030969961714872974rm_a_b: set_Pr4934435412358123699_a_nat > produc6551080308567045442rm_a_b > produc5279506192219892694rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc1096132875450744233rm_a_b: subterm_and_ctxt_a_b > produc7711739908350443733rm_a_b > produc8210972263561988409rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc4052837482945413184rm_a_b: subterm_and_ctxt_a_b > term_a_b > produc8965594506121923398rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc4563063199488751885st_nat: term_a_b > list_nat > produc3697673438841856213st_nat ).

thf(sy_c_Product__Type_OPair_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc967488655884398673rm_a_b: term_a_b > list_term_a_b > produc5674375379913900953rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    produc3812856575676843240rm_a_b: term_a_b > produc7711739908350443733rm_a_b > produc2732850333517536310rm_a_b ).

thf(sy_c_Product__Type_OPair_001t__Term__Oterm_Itf__a_Mtf__b_J_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc7020197800436672577rm_a_b: term_a_b > term_a_b > produc357393685978478089rm_a_b ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    produc1437816968797971900rm_a_b: b > term_a_b > produc6551080308567045442rm_a_b ).

thf(sy_c_Set_OCollect_001_Eo,type,
    collect_o: ( $o > $o ) > set_o ).

thf(sy_c_Set_OCollect_001t__List__Olist_I_Eo_J,type,
    collect_list_o: ( list_o > $o ) > set_list_o ).

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

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

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

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

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    collec1570431334306492044st_nat: ( produc1828647624359046049st_nat > $o ) > set_Pr3451248702717554689st_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__Term__Oterm_Itf__a_Mtf__b_J,type,
    collect_term_a_b: ( term_a_b > $o ) > set_term_a_b ).

thf(sy_c_Set_Othe__elem_001_Eo,type,
    the_elem_o: set_o > $o ).

thf(sy_c_Set_Othe__elem_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    the_el8920327263974802235st_nat: set_list_list_nat > list_list_nat ).

thf(sy_c_Set_Othe__elem_001t__List__Olist_It__Nat__Onat_J,type,
    the_elem_list_nat: set_list_nat > list_nat ).

thf(sy_c_Set_Othe__elem_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    the_el5580047511111424111rm_a_b: set_list_term_a_b > list_term_a_b ).

thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
    the_elem_nat: set_nat > nat ).

thf(sy_c_Set_Othe__elem_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    the_elem_term_a_b: set_term_a_b > term_a_b ).

thf(sy_c_Set__Interval_Oord_OatLeast_001t__List__Olist_It__Nat__Onat_J,type,
    set_atLeast_list_nat: ( list_nat > list_nat > $o ) > list_nat > set_list_nat ).

thf(sy_c_Set__Interval_Oord_OatMost_001t__List__Olist_It__Nat__Onat_J,type,
    set_atMost_list_nat: ( list_nat > list_nat > $o ) > list_nat > set_list_nat ).

thf(sy_c_Set__Interval_Oord_OgreaterThan_001t__List__Olist_It__Nat__Onat_J,type,
    set_gr4298469561102597254st_nat: ( list_nat > list_nat > $o ) > list_nat > set_list_nat ).

thf(sy_c_Set__Interval_Oord_OlessThan_001t__List__Olist_It__Nat__Onat_J,type,
    set_le7077480925520688625st_nat: ( list_nat > list_nat > $o ) > list_nat > set_list_nat ).

thf(sy_c_Subterm__and__Context_Octxt_OHole_001tf__a_001tf__b,type,
    subterm_and_Hole_a_b: subterm_and_ctxt_a_b ).

thf(sy_c_Subterm__and__Context_Octxt_OMore_001tf__a_001tf__b,type,
    subterm_and_More_a_b: a > list_term_a_b > subterm_and_ctxt_a_b > list_term_a_b > subterm_and_ctxt_a_b ).

thf(sy_c_Subterm__and__Context_Octxt__apply__term_001tf__a_001tf__b,type,
    subter2376574525758040790rm_a_b: subterm_and_ctxt_a_b > term_a_b > term_a_b ).

thf(sy_c_Subterm__and__Context_Octxt__apply__term__rel_001tf__a_001tf__b,type,
    subter4805821089994021477el_a_b: produc8965594506121923398rm_a_b > produc8965594506121923398rm_a_b > $o ).

thf(sy_c_Subterm__and__Context_Osupt_001tf__a_001tf__b,type,
    subterm_and_supt_a_b: set_Pr4386577575007340137rm_a_b ).

thf(sy_c_Subterm__and__Context_Osupteq_001tf__a_001tf__b,type,
    subter523971068842742411eq_a_b: set_Pr4386577575007340137rm_a_b ).

thf(sy_c_Subterm__and__Context_Osupteqp_001tf__a_001tf__b,type,
    subter3057829548224121575qp_a_b: term_a_b > term_a_b > $o ).

thf(sy_c_Subterm__and__Context_Osuptp_001tf__a_001tf__b,type,
    subter8709468037939584051tp_a_b: term_a_b > term_a_b > $o ).

thf(sy_c_Term_Orename__subst__domain__range_001tf__b_001tf__a_001tf__b,type,
    rename5388498879213883313_b_a_b: ( b > term_a_b ) > ( b > term_a_b ) > b > term_a_b ).

thf(sy_c_Term_Orestrict__subst__domain_001tf__b_001tf__a,type,
    restri22458263168500592in_b_a: set_b > ( b > term_a_b ) > b > term_a_b ).

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

thf(sy_c_Term_Oterm_OVar_001tf__b_001tf__a,type,
    var_b_a: b > term_a_b ).

thf(sy_c_Term_Oterm_Oargs_001tf__a_001tf__b,type,
    args_a_b: term_a_b > list_term_a_b ).

thf(sy_c_Term__Context_Octxt__at__pos_001tf__a_001tf__b,type,
    term_ctxt_at_pos_a_b: term_a_b > list_nat > subterm_and_ctxt_a_b ).

thf(sy_c_Term__Context_Octxt__at__pos__rel_001tf__a_001tf__b,type,
    term_c6096582210798399037el_a_b: produc3697673438841856213st_nat > produc3697673438841856213st_nat > $o ).

thf(sy_c_Term__Context_Ofun__at_001tf__a_001tf__b,type,
    term_fun_at_a_b: term_a_b > list_nat > option_Sum_sum_a_b ).

thf(sy_c_Term__Context_Ohole__pos_001tf__a_001tf__b,type,
    term_hole_pos_a_b: subterm_and_ctxt_a_b > list_nat ).

thf(sy_c_Term__Context_Opos__diff_001t__Nat__Onat,type,
    term_pos_diff_nat: list_nat > list_nat > list_nat ).

thf(sy_c_Term__Context_Oposition__less__eq_001_Eo,type,
    term_p4245123255626418802s_eq_o: list_o > list_o > $o ).

thf(sy_c_Term__Context_Oposition__less__eq_001t__List__Olist_It__Nat__Onat_J,type,
    term_p5934426891874639750st_nat: list_list_nat > list_list_nat > $o ).

thf(sy_c_Term__Context_Oposition__less__eq_001t__Nat__Onat,type,
    term_p3503116865373065078eq_nat: list_nat > list_nat > $o ).

thf(sy_c_Term__Context_Oposition__less__eq_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    term_p8391561492822560442rm_a_b: list_term_a_b > list_term_a_b > $o ).

thf(sy_c_Term__Context_Oposition__par_001_Eo,type,
    term_position_par_o: list_o > list_o > $o ).

thf(sy_c_Term__Context_Oposition__par_001t__List__Olist_It__Nat__Onat_J,type,
    term_p4950861579910180738st_nat: list_list_nat > list_list_nat > $o ).

thf(sy_c_Term__Context_Oposition__par_001t__Nat__Onat,type,
    term_p5017330785391824242ar_nat: list_nat > list_nat > $o ).

thf(sy_c_Term__Context_Oposition__par_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    term_p7407996180858101430rm_a_b: list_term_a_b > list_term_a_b > $o ).

thf(sy_c_Term__Context_Oposs_001tf__a_001tf__b,type,
    term_poss_a_b: term_a_b > set_list_nat ).

thf(sy_c_Term__Context_Oreplace__term__at_001tf__a_001tf__b,type,
    term_r6860082780075436317at_a_b: term_a_b > list_nat > term_a_b > term_a_b ).

thf(sy_c_Term__Context_Oreplace__term__at__rel_001tf__a_001tf__b,type,
    term_r1280879029893354718el_a_b: produc2732850333517536310rm_a_b > produc2732850333517536310rm_a_b > $o ).

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

thf(sy_c_Term__Context_Osubt__at__rel_001tf__a_001tf__b,type,
    term_subt_at_rel_a_b: produc3697673438841856213st_nat > produc3697673438841856213st_nat > $o ).

thf(sy_c_Terms__Positions_Oposs__of__term_001tf__a_001tf__b,type,
    terms_7168686267159881682rm_a_b: term_a_b > term_a_b > set_list_nat ).

thf(sy_c_Terms__Positions_Oreplace__term__context__at_001tf__a_001tf__b,type,
    terms_4774307173741787698at_a_b: subterm_and_ctxt_a_b > list_nat > term_a_b > subterm_and_ctxt_a_b ).

thf(sy_c_Terms__Positions_Oreplace__term__context__at__rel_001tf__a_001tf__b,type,
    terms_6690452295706263049el_a_b: produc8210972263561988409rm_a_b > produc8210972263561988409rm_a_b > $o ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__List__Olist_It__Nat__Onat_J,type,
    transi5285580207609517981st_nat: set_Pr3451248702717554689st_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Nat__Onat,type,
    transi2905341329935302413cl_nat: set_Pr1261947904930325089at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Term__Oterm_Itf__a_Mtf__b_J,type,
    transi7742714808557438673rm_a_b: set_Pr4386577575007340137rm_a_b > set_Pr4386577575007340137rm_a_b ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P2209509614919350025st_nat: ( produc7226932159051337088st_nat > produc7226932159051337088st_nat > $o ) > produc7226932159051337088st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    accp_P5780766562878364362st_nat: ( produc4326814125627636033st_nat > produc4326814125627636033st_nat > $o ) > produc4326814125627636033st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P8037286306265792042st_nat: ( produc1828647624359046049st_nat > produc1828647624359046049st_nat > $o ) > produc1828647624359046049st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    accp_P6624108184151110466rm_a_b: ( produc8210972263561988409rm_a_b > produc8210972263561988409rm_a_b > $o ) > produc8210972263561988409rm_a_b > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Subterm____and____Context__Octxt_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    accp_P3593619727431919613rm_a_b: ( produc8965594506121923398rm_a_b > produc8965594506121923398rm_a_b > $o ) > produc8965594506121923398rm_a_b > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P682940083893826398st_nat: ( produc3697673438841856213st_nat > produc3697673438841856213st_nat > $o ) > produc3697673438841856213st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    accp_P2729577386226225901rm_a_b: ( produc2732850333517536310rm_a_b > produc2732850333517536310rm_a_b > $o ) > produc2732850333517536310rm_a_b > $o ).

thf(sy_c_member_001_Eo,type,
    member_o: $o > set_o > $o ).

thf(sy_c_member_001t__List__Olist_I_Eo_J,type,
    member_list_o: list_o > set_list_o > $o ).

thf(sy_c_member_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    member82518676210156439st_nat: list_list_list_nat > set_li1107847671670421686st_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    member_list_list_nat: list_list_nat > set_list_list_nat > $o ).

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

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

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    member6711608200250777424st_nat: list_P7940050157051400743st_nat > set_li6867361041382987015st_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member3067507820990806192at_nat: list_P6011104703257516679at_nat > set_li5450038453877631591at_nat > $o ).

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

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

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member5350383351084882060st_nat: produc254973753779126261st_nat > set_Pr7072801126362145067st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    member6951660485171671051st_nat: produc4787317212837456354st_nat > set_Pr4817715314677154882st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_M_Eo_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member2422889256081674661st_nat: produc4226810134323546766st_nat > set_Pr1012447495205133252st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member4109540010139171369st_nat: produc7226932159051337088st_nat > set_Pr5679802032631135584st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_Eo_M_Eo_J,type,
    member7466972457876170832od_o_o: product_prod_o_o > set_Product_prod_o_o > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_I_Eo_J_Mt__List__Olist_I_Eo_J_J,type,
    member4159035015898711888list_o: produc7102631898165422375list_o > set_Pr6227168374412355847list_o > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_Mt__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_J,type,
    member2808947571892915594st_nat: produc9189680189847484897st_nat > set_Pr9048311335122707521st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    member8680655010358287850st_nat: produc4326814125627636033st_nat > set_Pr1190453367779242145st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member2583041412010425562st_nat: produc3811483368811048881st_nat > set_Pr5860164671742971281st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    member3309085665041684766rm_a_b: produc8178616817165808757rm_a_b > set_Pr1522445498334220757rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_Mt__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_J,type,
    member8612744848686930930rm_a_b: produc5770105429786724425rm_a_b > set_Pr5614382033011752617rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    member3963112742161418842st_nat: produc5191554698962042161st_nat > set_Pr2321750013766769425st_nat > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    member7814915433699591566rm_a_b: produc9043357390500214885rm_a_b > set_Pr2653742144321748037rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    member553462728918224670st_nat: produc5422993881042348661st_nat > set_Pr8232421962472802261st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member8889939629616814094st_nat: produc895009549562661605st_nat > set_Pr5972536988916469445st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_Mt__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J,type,
    member4405265420456397394rm_a_b: produc51424535725745577rm_a_b > set_Pr8564414093027780873rm_a_b > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_It__Term__Oterm_Itf__a_Mtf__b_J_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member5869715511025134514rm_a_b: produc357393685978478089rm_a_b > set_Pr4386577575007340137rm_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mt__Term__Oterm_Itf__a_Mtf__b_J_J,type,
    member7000133282412810073rm_a_b: produc6551080308567045442rm_a_b > set_Pr1357592988741419896rm_a_b > $o ).

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

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

thf(sy_v_f,type,
    f: a ).

thf(sy_v_i,type,
    i: nat ).

thf(sy_v_p,type,
    p: list_nat ).

thf(sy_v_ts,type,
    ts: list_term_a_b ).

thf(sy_v_u,type,
    u: term_a_b ).

% Relevant facts (1234)
thf(fact_0_subt__at_Osimps_I2_J,axiom,
    ! [F: a,Ss: list_term_a_b,I: nat,P: list_nat] :
      ( ( term_subt_at_a_b @ ( fun_a_b @ F @ Ss ) @ ( cons_nat @ I @ P ) )
      = ( term_subt_at_a_b @ ( nth_term_a_b @ Ss @ I ) @ P ) ) ).

% subt_at.simps(2)
thf(fact_1_poss__of__term__def,axiom,
    ( terms_7168686267159881682rm_a_b
    = ( ^ [U: term_a_b,T: term_a_b] :
          ( collect_list_nat
          @ ^ [P2: list_nat] :
              ( ( member_list_nat @ P2 @ ( term_poss_a_b @ T ) )
              & ( ( term_subt_at_a_b @ T @ P2 )
                = U ) ) ) ) ) ).

% poss_of_term_def
thf(fact_2_poss__of__termE,axiom,
    ! [P: list_nat,U2: term_a_b,S: term_a_b] :
      ( ( member_list_nat @ P @ ( terms_7168686267159881682rm_a_b @ U2 @ S ) )
     => ~ ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
         => ( ( term_subt_at_a_b @ S @ P )
           != U2 ) ) ) ).

% poss_of_termE
thf(fact_3_term_Oinject_I2_J,axiom,
    ! [X21: a,X22: list_term_a_b,Y21: a,Y22: list_term_a_b] :
      ( ( ( fun_a_b @ X21 @ X22 )
        = ( fun_a_b @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% term.inject(2)
thf(fact_4_list_Oinject,axiom,
    ! [X21: $o,X22: list_o,Y21: $o,Y22: list_o] :
      ( ( ( cons_o @ X21 @ X22 )
        = ( cons_o @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_5_list_Oinject,axiom,
    ! [X21: term_a_b,X22: list_term_a_b,Y21: term_a_b,Y22: list_term_a_b] :
      ( ( ( cons_term_a_b @ X21 @ X22 )
        = ( cons_term_a_b @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_6_list_Oinject,axiom,
    ! [X21: list_nat,X22: list_list_nat,Y21: list_nat,Y22: list_list_nat] :
      ( ( ( cons_list_nat @ X21 @ X22 )
        = ( cons_list_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_7_list_Oinject,axiom,
    ! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X22 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_8_not__Cons__self2,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( cons_o @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_9_not__Cons__self2,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( cons_term_a_b @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_10_not__Cons__self2,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( cons_list_nat @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_11_not__Cons__self2,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( cons_nat @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_12_subt__at__Cons__comp,axiom,
    ! [I: nat,P: list_nat,S: term_a_b] :
      ( ( member_list_nat @ ( cons_nat @ I @ P ) @ ( term_poss_a_b @ S ) )
     => ( ( term_subt_at_a_b @ ( term_subt_at_a_b @ S @ ( cons_nat @ I @ nil_nat ) ) @ P )
        = ( term_subt_at_a_b @ S @ ( cons_nat @ I @ P ) ) ) ) ).

% subt_at_Cons_comp
thf(fact_13_par__pos__prefix,axiom,
    ! [I: $o,P: list_o,Q: list_o] :
      ( ( term_position_par_o @ ( cons_o @ I @ P ) @ ( cons_o @ I @ Q ) )
     => ( term_position_par_o @ P @ Q ) ) ).

% par_pos_prefix
thf(fact_14_par__pos__prefix,axiom,
    ! [I: term_a_b,P: list_term_a_b,Q: list_term_a_b] :
      ( ( term_p7407996180858101430rm_a_b @ ( cons_term_a_b @ I @ P ) @ ( cons_term_a_b @ I @ Q ) )
     => ( term_p7407996180858101430rm_a_b @ P @ Q ) ) ).

% par_pos_prefix
thf(fact_15_par__pos__prefix,axiom,
    ! [I: list_nat,P: list_list_nat,Q: list_list_nat] :
      ( ( term_p4950861579910180738st_nat @ ( cons_list_nat @ I @ P ) @ ( cons_list_nat @ I @ Q ) )
     => ( term_p4950861579910180738st_nat @ P @ Q ) ) ).

% par_pos_prefix
thf(fact_16_par__pos__prefix,axiom,
    ! [I: nat,P: list_nat,Q: list_nat] :
      ( ( term_p5017330785391824242ar_nat @ ( cons_nat @ I @ P ) @ ( cons_nat @ I @ Q ) )
     => ( term_p5017330785391824242ar_nat @ P @ Q ) ) ).

% par_pos_prefix
thf(fact_17_subst__at__ctxt__at__eq__termD,axiom,
    ! [S: term_a_b,T2: term_a_b,P: list_nat] :
      ( ( S = T2 )
     => ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
       => ( ( ( term_subt_at_a_b @ S @ P )
            = ( term_subt_at_a_b @ T2 @ P ) )
          & ( ( term_ctxt_at_pos_a_b @ S @ P )
            = ( term_ctxt_at_pos_a_b @ T2 @ P ) ) ) ) ) ).

% subst_at_ctxt_at_eq_termD
thf(fact_18_subst__at__ctxt__at__eq__termI,axiom,
    ! [P: list_nat,S: term_a_b,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
       => ( ( ( term_subt_at_a_b @ S @ P )
            = ( term_subt_at_a_b @ T2 @ P ) )
         => ( ( ( term_ctxt_at_pos_a_b @ S @ P )
              = ( term_ctxt_at_pos_a_b @ T2 @ P ) )
           => ( S = T2 ) ) ) ) ) ).

% subst_at_ctxt_at_eq_termI
thf(fact_19_nth__Cons,axiom,
    ! [X: set_term_a_b,Xs: list_set_term_a_b,N: nat] :
      ( ( nth_set_term_a_b @ ( cons_set_term_a_b @ X @ Xs ) @ N )
      = ( case_n8276751066417777248rm_a_b @ X @ ( nth_set_term_a_b @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_20_nth__Cons,axiom,
    ! [X: set_list_nat,Xs: list_set_list_nat,N: nat] :
      ( ( nth_set_list_nat @ ( cons_set_list_nat @ X @ Xs ) @ N )
      = ( case_n2393658782426379564st_nat @ X @ ( nth_set_list_nat @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_21_nth__Cons,axiom,
    ! [X: set_nat,Xs: list_set_nat,N: nat] :
      ( ( nth_set_nat @ ( cons_set_nat @ X @ Xs ) @ N )
      = ( case_nat_set_nat @ X @ ( nth_set_nat @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_22_nth__Cons,axiom,
    ! [X: list_nat,Xs: list_list_nat,N: nat] :
      ( ( nth_list_nat @ ( cons_list_nat @ X @ Xs ) @ N )
      = ( case_nat_list_nat @ X @ ( nth_list_nat @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_23_nth__Cons,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,N: nat] :
      ( ( nth_term_a_b @ ( cons_term_a_b @ X @ Xs ) @ N )
      = ( case_nat_term_a_b @ X @ ( nth_term_a_b @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_24_nth__Cons,axiom,
    ! [X: $o,Xs: list_o,N: nat] :
      ( ( nth_o @ ( cons_o @ X @ Xs ) @ N )
      = ( case_nat_o @ X @ ( nth_o @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_25_nth__Cons,axiom,
    ! [X: nat,Xs: list_nat,N: nat] :
      ( ( nth_nat @ ( cons_nat @ X @ Xs ) @ N )
      = ( case_nat_nat @ X @ ( nth_nat @ Xs ) @ N ) ) ).

% nth_Cons
thf(fact_26_par__not__refl,axiom,
    ! [P: list_nat] :
      ~ ( term_p5017330785391824242ar_nat @ P @ P ) ).

% par_not_refl
thf(fact_27_Nil__not__par_I2_J,axiom,
    ! [P: list_list_nat] :
      ~ ( term_p4950861579910180738st_nat @ P @ nil_list_nat ) ).

% Nil_not_par(2)
thf(fact_28_Nil__not__par_I2_J,axiom,
    ! [P: list_term_a_b] :
      ~ ( term_p7407996180858101430rm_a_b @ P @ nil_term_a_b ) ).

% Nil_not_par(2)
thf(fact_29_Nil__not__par_I2_J,axiom,
    ! [P: list_nat] :
      ~ ( term_p5017330785391824242ar_nat @ P @ nil_nat ) ).

% Nil_not_par(2)
thf(fact_30_Nil__not__par_I1_J,axiom,
    ! [P: list_list_nat] :
      ~ ( term_p4950861579910180738st_nat @ nil_list_nat @ P ) ).

% Nil_not_par(1)
thf(fact_31_Nil__not__par_I1_J,axiom,
    ! [P: list_term_a_b] :
      ~ ( term_p7407996180858101430rm_a_b @ nil_term_a_b @ P ) ).

% Nil_not_par(1)
thf(fact_32_Nil__not__par_I1_J,axiom,
    ! [P: list_nat] :
      ~ ( term_p5017330785391824242ar_nat @ nil_nat @ P ) ).

% Nil_not_par(1)
thf(fact_33_transpose_Ocases,axiom,
    ! [X: list_list_o] :
      ( ( X != nil_list_o )
     => ( ! [Xss: list_list_o] :
            ( X
           != ( cons_list_o @ nil_o @ Xss ) )
       => ~ ! [X2: $o,Xs2: list_o,Xss: list_list_o] :
              ( X
             != ( cons_list_o @ ( cons_o @ X2 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_34_transpose_Ocases,axiom,
    ! [X: list_list_term_a_b] :
      ( ( X != nil_list_term_a_b )
     => ( ! [Xss: list_list_term_a_b] :
            ( X
           != ( cons_list_term_a_b @ nil_term_a_b @ Xss ) )
       => ~ ! [X2: term_a_b,Xs2: list_term_a_b,Xss: list_list_term_a_b] :
              ( X
             != ( cons_list_term_a_b @ ( cons_term_a_b @ X2 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_35_transpose_Ocases,axiom,
    ! [X: list_list_list_nat] :
      ( ( X != nil_list_list_nat )
     => ( ! [Xss: list_list_list_nat] :
            ( X
           != ( cons_list_list_nat @ nil_list_nat @ Xss ) )
       => ~ ! [X2: list_nat,Xs2: list_list_nat,Xss: list_list_list_nat] :
              ( X
             != ( cons_list_list_nat @ ( cons_list_nat @ X2 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_36_transpose_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ( ! [Xss: list_list_nat] :
            ( X
           != ( cons_list_nat @ nil_nat @ Xss ) )
       => ~ ! [X2: nat,Xs2: list_nat,Xss: list_list_nat] :
              ( X
             != ( cons_list_nat @ ( cons_nat @ X2 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_37_list__nonempty__induct,axiom,
    ! [Xs: list_o,P3: list_o > $o] :
      ( ( Xs != nil_o )
     => ( ! [X2: $o] : ( P3 @ ( cons_o @ X2 @ nil_o ) )
       => ( ! [X2: $o,Xs2: list_o] :
              ( ( Xs2 != nil_o )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_o @ X2 @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_38_list__nonempty__induct,axiom,
    ! [Xs: list_term_a_b,P3: list_term_a_b > $o] :
      ( ( Xs != nil_term_a_b )
     => ( ! [X2: term_a_b] : ( P3 @ ( cons_term_a_b @ X2 @ nil_term_a_b ) )
       => ( ! [X2: term_a_b,Xs2: list_term_a_b] :
              ( ( Xs2 != nil_term_a_b )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_term_a_b @ X2 @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_39_list__nonempty__induct,axiom,
    ! [Xs: list_list_nat,P3: list_list_nat > $o] :
      ( ( Xs != nil_list_nat )
     => ( ! [X2: list_nat] : ( P3 @ ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ( ! [X2: list_nat,Xs2: list_list_nat] :
              ( ( Xs2 != nil_list_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_list_nat @ X2 @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_40_list__nonempty__induct,axiom,
    ! [Xs: list_nat,P3: list_nat > $o] :
      ( ( Xs != nil_nat )
     => ( ! [X2: nat] : ( P3 @ ( cons_nat @ X2 @ nil_nat ) )
       => ( ! [X2: nat,Xs2: list_nat] :
              ( ( Xs2 != nil_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_41_list__induct2_H,axiom,
    ! [P3: list_nat > list_nat > $o,Xs: list_nat,Ys: list_nat] :
      ( ( P3 @ nil_nat @ nil_nat )
     => ( ! [X2: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ nil_nat )
       => ( ! [Y: nat,Ys2: list_nat] : ( P3 @ nil_nat @ ( cons_nat @ Y @ Ys2 ) )
         => ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_42_list__induct2_H,axiom,
    ! [P3: list_nat > list_o > $o,Xs: list_nat,Ys: list_o] :
      ( ( P3 @ nil_nat @ nil_o )
     => ( ! [X2: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ nil_o )
       => ( ! [Y: $o,Ys2: list_o] : ( P3 @ nil_nat @ ( cons_o @ Y @ Ys2 ) )
         => ( ! [X2: nat,Xs2: list_nat,Y: $o,Ys2: list_o] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_43_list__induct2_H,axiom,
    ! [P3: list_o > list_nat > $o,Xs: list_o,Ys: list_nat] :
      ( ( P3 @ nil_o @ nil_nat )
     => ( ! [X2: $o,Xs2: list_o] : ( P3 @ ( cons_o @ X2 @ Xs2 ) @ nil_nat )
       => ( ! [Y: nat,Ys2: list_nat] : ( P3 @ nil_o @ ( cons_nat @ Y @ Ys2 ) )
         => ( ! [X2: $o,Xs2: list_o,Y: nat,Ys2: list_nat] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_o @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_44_list__induct2_H,axiom,
    ! [P3: list_o > list_o > $o,Xs: list_o,Ys: list_o] :
      ( ( P3 @ nil_o @ nil_o )
     => ( ! [X2: $o,Xs2: list_o] : ( P3 @ ( cons_o @ X2 @ Xs2 ) @ nil_o )
       => ( ! [Y: $o,Ys2: list_o] : ( P3 @ nil_o @ ( cons_o @ Y @ Ys2 ) )
         => ( ! [X2: $o,Xs2: list_o,Y: $o,Ys2: list_o] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_o @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_45_list__induct2_H,axiom,
    ! [P3: list_nat > list_list_nat > $o,Xs: list_nat,Ys: list_list_nat] :
      ( ( P3 @ nil_nat @ nil_list_nat )
     => ( ! [X2: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ nil_list_nat )
       => ( ! [Y: list_nat,Ys2: list_list_nat] : ( P3 @ nil_nat @ ( cons_list_nat @ Y @ Ys2 ) )
         => ( ! [X2: nat,Xs2: list_nat,Y: list_nat,Ys2: list_list_nat] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_list_nat @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_46_list__induct2_H,axiom,
    ! [P3: list_o > list_list_nat > $o,Xs: list_o,Ys: list_list_nat] :
      ( ( P3 @ nil_o @ nil_list_nat )
     => ( ! [X2: $o,Xs2: list_o] : ( P3 @ ( cons_o @ X2 @ Xs2 ) @ nil_list_nat )
       => ( ! [Y: list_nat,Ys2: list_list_nat] : ( P3 @ nil_o @ ( cons_list_nat @ Y @ Ys2 ) )
         => ( ! [X2: $o,Xs2: list_o,Y: list_nat,Ys2: list_list_nat] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_o @ X2 @ Xs2 ) @ ( cons_list_nat @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_47_list__induct2_H,axiom,
    ! [P3: list_list_nat > list_nat > $o,Xs: list_list_nat,Ys: list_nat] :
      ( ( P3 @ nil_list_nat @ nil_nat )
     => ( ! [X2: list_nat,Xs2: list_list_nat] : ( P3 @ ( cons_list_nat @ X2 @ Xs2 ) @ nil_nat )
       => ( ! [Y: nat,Ys2: list_nat] : ( P3 @ nil_list_nat @ ( cons_nat @ Y @ Ys2 ) )
         => ( ! [X2: list_nat,Xs2: list_list_nat,Y: nat,Ys2: list_nat] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_list_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_48_list__induct2_H,axiom,
    ! [P3: list_list_nat > list_o > $o,Xs: list_list_nat,Ys: list_o] :
      ( ( P3 @ nil_list_nat @ nil_o )
     => ( ! [X2: list_nat,Xs2: list_list_nat] : ( P3 @ ( cons_list_nat @ X2 @ Xs2 ) @ nil_o )
       => ( ! [Y: $o,Ys2: list_o] : ( P3 @ nil_list_nat @ ( cons_o @ Y @ Ys2 ) )
         => ( ! [X2: list_nat,Xs2: list_list_nat,Y: $o,Ys2: list_o] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_list_nat @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_49_list__induct2_H,axiom,
    ! [P3: list_nat > list_term_a_b > $o,Xs: list_nat,Ys: list_term_a_b] :
      ( ( P3 @ nil_nat @ nil_term_a_b )
     => ( ! [X2: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ nil_term_a_b )
       => ( ! [Y: term_a_b,Ys2: list_term_a_b] : ( P3 @ nil_nat @ ( cons_term_a_b @ Y @ Ys2 ) )
         => ( ! [X2: nat,Xs2: list_nat,Y: term_a_b,Ys2: list_term_a_b] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_term_a_b @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_50_list__induct2_H,axiom,
    ! [P3: list_o > list_term_a_b > $o,Xs: list_o,Ys: list_term_a_b] :
      ( ( P3 @ nil_o @ nil_term_a_b )
     => ( ! [X2: $o,Xs2: list_o] : ( P3 @ ( cons_o @ X2 @ Xs2 ) @ nil_term_a_b )
       => ( ! [Y: term_a_b,Ys2: list_term_a_b] : ( P3 @ nil_o @ ( cons_term_a_b @ Y @ Ys2 ) )
         => ( ! [X2: $o,Xs2: list_o,Y: term_a_b,Ys2: list_term_a_b] :
                ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_o @ X2 @ Xs2 ) @ ( cons_term_a_b @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_51_neq__Nil__conv,axiom,
    ! [Xs: list_o] :
      ( ( Xs != nil_o )
      = ( ? [Y2: $o,Ys3: list_o] :
            ( Xs
            = ( cons_o @ Y2 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_52_neq__Nil__conv,axiom,
    ! [Xs: list_term_a_b] :
      ( ( Xs != nil_term_a_b )
      = ( ? [Y2: term_a_b,Ys3: list_term_a_b] :
            ( Xs
            = ( cons_term_a_b @ Y2 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_53_neq__Nil__conv,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
      = ( ? [Y2: list_nat,Ys3: list_list_nat] :
            ( Xs
            = ( cons_list_nat @ Y2 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_54_neq__Nil__conv,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
      = ( ? [Y2: nat,Ys3: list_nat] :
            ( Xs
            = ( cons_nat @ Y2 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_55_remdups__adj_Ocases,axiom,
    ! [X: list_o] :
      ( ( X != nil_o )
     => ( ! [X2: $o] :
            ( X
           != ( cons_o @ X2 @ nil_o ) )
       => ~ ! [X2: $o,Y: $o,Xs2: list_o] :
              ( X
             != ( cons_o @ X2 @ ( cons_o @ Y @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_56_remdups__adj_Ocases,axiom,
    ! [X: list_term_a_b] :
      ( ( X != nil_term_a_b )
     => ( ! [X2: term_a_b] :
            ( X
           != ( cons_term_a_b @ X2 @ nil_term_a_b ) )
       => ~ ! [X2: term_a_b,Y: term_a_b,Xs2: list_term_a_b] :
              ( X
             != ( cons_term_a_b @ X2 @ ( cons_term_a_b @ Y @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_57_remdups__adj_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ( ! [X2: list_nat] :
            ( X
           != ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ~ ! [X2: list_nat,Y: list_nat,Xs2: list_list_nat] :
              ( X
             != ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_58_remdups__adj_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ( ! [X2: nat] :
            ( X
           != ( cons_nat @ X2 @ nil_nat ) )
       => ~ ! [X2: nat,Y: nat,Xs2: list_nat] :
              ( X
             != ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_59_List_Omin__list_Ocases,axiom,
    ! [X: list_o] :
      ( ! [X2: $o,Xs2: list_o] :
          ( X
         != ( cons_o @ X2 @ Xs2 ) )
     => ( X = nil_o ) ) ).

% List.min_list.cases
thf(fact_60_List_Omin__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ! [X2: nat,Xs2: list_nat] :
          ( X
         != ( cons_nat @ X2 @ Xs2 ) )
     => ( X = nil_nat ) ) ).

% List.min_list.cases
thf(fact_61_list_Oexhaust,axiom,
    ! [Y3: list_o] :
      ( ( Y3 != nil_o )
     => ~ ! [X212: $o,X222: list_o] :
            ( Y3
           != ( cons_o @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_62_list_Oexhaust,axiom,
    ! [Y3: list_term_a_b] :
      ( ( Y3 != nil_term_a_b )
     => ~ ! [X212: term_a_b,X222: list_term_a_b] :
            ( Y3
           != ( cons_term_a_b @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_63_list_Oexhaust,axiom,
    ! [Y3: list_list_nat] :
      ( ( Y3 != nil_list_nat )
     => ~ ! [X212: list_nat,X222: list_list_nat] :
            ( Y3
           != ( cons_list_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_64_list_Oexhaust,axiom,
    ! [Y3: list_nat] :
      ( ( Y3 != nil_nat )
     => ~ ! [X212: nat,X222: list_nat] :
            ( Y3
           != ( cons_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_65_list_OdiscI,axiom,
    ! [List: list_o,X21: $o,X22: list_o] :
      ( ( List
        = ( cons_o @ X21 @ X22 ) )
     => ( List != nil_o ) ) ).

% list.discI
thf(fact_66_list_OdiscI,axiom,
    ! [List: list_term_a_b,X21: term_a_b,X22: list_term_a_b] :
      ( ( List
        = ( cons_term_a_b @ X21 @ X22 ) )
     => ( List != nil_term_a_b ) ) ).

% list.discI
thf(fact_67_list_OdiscI,axiom,
    ! [List: list_list_nat,X21: list_nat,X22: list_list_nat] :
      ( ( List
        = ( cons_list_nat @ X21 @ X22 ) )
     => ( List != nil_list_nat ) ) ).

% list.discI
thf(fact_68_list_OdiscI,axiom,
    ! [List: list_nat,X21: nat,X22: list_nat] :
      ( ( List
        = ( cons_nat @ X21 @ X22 ) )
     => ( List != nil_nat ) ) ).

% list.discI
thf(fact_69_list_Odistinct_I1_J,axiom,
    ! [X21: $o,X22: list_o] :
      ( nil_o
     != ( cons_o @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_70_list_Odistinct_I1_J,axiom,
    ! [X21: term_a_b,X22: list_term_a_b] :
      ( nil_term_a_b
     != ( cons_term_a_b @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_71_list_Odistinct_I1_J,axiom,
    ! [X21: list_nat,X22: list_list_nat] :
      ( nil_list_nat
     != ( cons_list_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_72_list_Odistinct_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( nil_nat
     != ( cons_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_73_Nil__in__poss,axiom,
    ! [T2: term_a_b] : ( member_list_nat @ nil_nat @ ( term_poss_a_b @ T2 ) ) ).

% Nil_in_poss
thf(fact_74_subt__at_Osimps_I1_J,axiom,
    ! [S: term_a_b] :
      ( ( term_subt_at_a_b @ S @ nil_nat )
      = S ) ).

% subt_at.simps(1)
thf(fact_75_par__Cons__iff,axiom,
    ! [I: $o,Ps: list_o,J: $o,Qs: list_o] :
      ( ( term_position_par_o @ ( cons_o @ I @ Ps ) @ ( cons_o @ J @ Qs ) )
      = ( ( I != J )
        | ( term_position_par_o @ Ps @ Qs ) ) ) ).

% par_Cons_iff
thf(fact_76_par__Cons__iff,axiom,
    ! [I: term_a_b,Ps: list_term_a_b,J: term_a_b,Qs: list_term_a_b] :
      ( ( term_p7407996180858101430rm_a_b @ ( cons_term_a_b @ I @ Ps ) @ ( cons_term_a_b @ J @ Qs ) )
      = ( ( I != J )
        | ( term_p7407996180858101430rm_a_b @ Ps @ Qs ) ) ) ).

% par_Cons_iff
thf(fact_77_par__Cons__iff,axiom,
    ! [I: list_nat,Ps: list_list_nat,J: list_nat,Qs: list_list_nat] :
      ( ( term_p4950861579910180738st_nat @ ( cons_list_nat @ I @ Ps ) @ ( cons_list_nat @ J @ Qs ) )
      = ( ( I != J )
        | ( term_p4950861579910180738st_nat @ Ps @ Qs ) ) ) ).

% par_Cons_iff
thf(fact_78_par__Cons__iff,axiom,
    ! [I: nat,Ps: list_nat,J: nat,Qs: list_nat] :
      ( ( term_p5017330785391824242ar_nat @ ( cons_nat @ I @ Ps ) @ ( cons_nat @ J @ Qs ) )
      = ( ( I != J )
        | ( term_p5017330785391824242ar_nat @ Ps @ Qs ) ) ) ).

% par_Cons_iff
thf(fact_79_poss__Cons,axiom,
    ! [I: nat,P: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ ( cons_nat @ I @ P ) @ ( term_poss_a_b @ T2 ) )
     => ( member_list_nat @ ( cons_nat @ I @ nil_nat ) @ ( term_poss_a_b @ T2 ) ) ) ).

% poss_Cons
thf(fact_80_max__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ~ ! [X2: nat,Xs2: list_nat] :
            ( X
           != ( cons_nat @ X2 @ Xs2 ) ) ) ).

% max_list.cases
thf(fact_81_list__4__cases,axiom,
    ! [Xs: list_o] :
      ( ( Xs != nil_o )
     => ( ! [X2: $o] :
            ( Xs
           != ( cons_o @ X2 @ nil_o ) )
       => ( ! [X2: $o,Y: $o] :
              ( Xs
             != ( cons_o @ X2 @ ( cons_o @ Y @ nil_o ) ) )
         => ~ ! [X2: $o,Y: $o,Z: $o,Zs: list_o] :
                ( Xs
               != ( cons_o @ X2 @ ( cons_o @ Y @ ( cons_o @ Z @ Zs ) ) ) ) ) ) ) ).

% list_4_cases
thf(fact_82_list__4__cases,axiom,
    ! [Xs: list_term_a_b] :
      ( ( Xs != nil_term_a_b )
     => ( ! [X2: term_a_b] :
            ( Xs
           != ( cons_term_a_b @ X2 @ nil_term_a_b ) )
       => ( ! [X2: term_a_b,Y: term_a_b] :
              ( Xs
             != ( cons_term_a_b @ X2 @ ( cons_term_a_b @ Y @ nil_term_a_b ) ) )
         => ~ ! [X2: term_a_b,Y: term_a_b,Z: term_a_b,Zs: list_term_a_b] :
                ( Xs
               != ( cons_term_a_b @ X2 @ ( cons_term_a_b @ Y @ ( cons_term_a_b @ Z @ Zs ) ) ) ) ) ) ) ).

% list_4_cases
thf(fact_83_list__4__cases,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
     => ( ! [X2: list_nat] :
            ( Xs
           != ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ( ! [X2: list_nat,Y: list_nat] :
              ( Xs
             != ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ nil_list_nat ) ) )
         => ~ ! [X2: list_nat,Y: list_nat,Z: list_nat,Zs: list_list_nat] :
                ( Xs
               != ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ ( cons_list_nat @ Z @ Zs ) ) ) ) ) ) ) ).

% list_4_cases
thf(fact_84_list__4__cases,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( ! [X2: nat] :
            ( Xs
           != ( cons_nat @ X2 @ nil_nat ) )
       => ( ! [X2: nat,Y: nat] :
              ( Xs
             != ( cons_nat @ X2 @ ( cons_nat @ Y @ nil_nat ) ) )
         => ~ ! [X2: nat,Y: nat,Z: nat,Zs: list_nat] :
                ( Xs
               != ( cons_nat @ X2 @ ( cons_nat @ Y @ ( cons_nat @ Z @ Zs ) ) ) ) ) ) ) ).

% list_4_cases
thf(fact_85_list__3__cases,axiom,
    ! [Xs: list_o] :
      ( ( Xs != nil_o )
     => ( ! [X2: $o] :
            ( Xs
           != ( cons_o @ X2 @ nil_o ) )
       => ~ ! [X2: $o,Y: $o,Ys2: list_o] :
              ( Xs
             != ( cons_o @ X2 @ ( cons_o @ Y @ Ys2 ) ) ) ) ) ).

% list_3_cases
thf(fact_86_list__3__cases,axiom,
    ! [Xs: list_term_a_b] :
      ( ( Xs != nil_term_a_b )
     => ( ! [X2: term_a_b] :
            ( Xs
           != ( cons_term_a_b @ X2 @ nil_term_a_b ) )
       => ~ ! [X2: term_a_b,Y: term_a_b,Ys2: list_term_a_b] :
              ( Xs
             != ( cons_term_a_b @ X2 @ ( cons_term_a_b @ Y @ Ys2 ) ) ) ) ) ).

% list_3_cases
thf(fact_87_list__3__cases,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
     => ( ! [X2: list_nat] :
            ( Xs
           != ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ~ ! [X2: list_nat,Y: list_nat,Ys2: list_list_nat] :
              ( Xs
             != ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ Ys2 ) ) ) ) ) ).

% list_3_cases
thf(fact_88_list__3__cases,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( ! [X2: nat] :
            ( Xs
           != ( cons_nat @ X2 @ nil_nat ) )
       => ~ ! [X2: nat,Y: nat,Ys2: list_nat] :
              ( Xs
             != ( cons_nat @ X2 @ ( cons_nat @ Y @ Ys2 ) ) ) ) ) ).

% list_3_cases
thf(fact_89_mem__Collect__eq,axiom,
    ! [A: produc1828647624359046049st_nat,P3: produc1828647624359046049st_nat > $o] :
      ( ( member7340969449405702474st_nat @ A @ ( collec1570431334306492044st_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_90_mem__Collect__eq,axiom,
    ! [A: product_prod_nat_nat,P3: product_prod_nat_nat > $o] :
      ( ( member8440522571783428010at_nat @ A @ ( collec3392354462482085612at_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_91_mem__Collect__eq,axiom,
    ! [A: term_a_b,P3: term_a_b > $o] :
      ( ( member_term_a_b @ A @ ( collect_term_a_b @ P3 ) )
      = ( P3 @ A ) ) ).

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

% mem_Collect_eq
thf(fact_93_mem__Collect__eq,axiom,
    ! [A: list_list_nat,P3: list_list_nat > $o] :
      ( ( member_list_list_nat @ A @ ( collec5989764272469232197st_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_94_mem__Collect__eq,axiom,
    ! [A: list_term_a_b,P3: list_term_a_b > $o] :
      ( ( member_list_term_a_b @ A @ ( collec2649484519605854073rm_a_b @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_95_mem__Collect__eq,axiom,
    ! [A: list_nat,P3: list_nat > $o] :
      ( ( member_list_nat @ A @ ( collect_list_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_96_Collect__mem__eq,axiom,
    ! [A2: set_Pr3451248702717554689st_nat] :
      ( ( collec1570431334306492044st_nat
        @ ^ [X3: produc1828647624359046049st_nat] : ( member7340969449405702474st_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_97_Collect__mem__eq,axiom,
    ! [A2: set_Pr1261947904930325089at_nat] :
      ( ( collec3392354462482085612at_nat
        @ ^ [X3: product_prod_nat_nat] : ( member8440522571783428010at_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_98_Collect__mem__eq,axiom,
    ! [A2: set_term_a_b] :
      ( ( collect_term_a_b
        @ ^ [X3: term_a_b] : ( member_term_a_b @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_99_Collect__mem__eq,axiom,
    ! [A2: set_nat] :
      ( ( collect_nat
        @ ^ [X3: nat] : ( member_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_100_Collect__mem__eq,axiom,
    ! [A2: set_list_list_nat] :
      ( ( collec5989764272469232197st_nat
        @ ^ [X3: list_list_nat] : ( member_list_list_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_101_Collect__mem__eq,axiom,
    ! [A2: set_list_term_a_b] :
      ( ( collec2649484519605854073rm_a_b
        @ ^ [X3: list_term_a_b] : ( member_list_term_a_b @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_102_Collect__mem__eq,axiom,
    ! [A2: set_list_nat] :
      ( ( collect_list_nat
        @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_103_Collect__cong,axiom,
    ! [P3: nat > $o,Q2: nat > $o] :
      ( ! [X2: nat] :
          ( ( P3 @ X2 )
          = ( Q2 @ X2 ) )
     => ( ( collect_nat @ P3 )
        = ( collect_nat @ Q2 ) ) ) ).

% Collect_cong
thf(fact_104_Collect__cong,axiom,
    ! [P3: list_list_nat > $o,Q2: list_list_nat > $o] :
      ( ! [X2: list_list_nat] :
          ( ( P3 @ X2 )
          = ( Q2 @ X2 ) )
     => ( ( collec5989764272469232197st_nat @ P3 )
        = ( collec5989764272469232197st_nat @ Q2 ) ) ) ).

% Collect_cong
thf(fact_105_Collect__cong,axiom,
    ! [P3: list_term_a_b > $o,Q2: list_term_a_b > $o] :
      ( ! [X2: list_term_a_b] :
          ( ( P3 @ X2 )
          = ( Q2 @ X2 ) )
     => ( ( collec2649484519605854073rm_a_b @ P3 )
        = ( collec2649484519605854073rm_a_b @ Q2 ) ) ) ).

% Collect_cong
thf(fact_106_Collect__cong,axiom,
    ! [P3: list_nat > $o,Q2: list_nat > $o] :
      ( ! [X2: list_nat] :
          ( ( P3 @ X2 )
          = ( Q2 @ X2 ) )
     => ( ( collect_list_nat @ P3 )
        = ( collect_list_nat @ Q2 ) ) ) ).

% Collect_cong
thf(fact_107_Missing__List_Omin__list_Ocases,axiom,
    ! [X: list_o] :
      ( ! [X2: $o] :
          ( X
         != ( cons_o @ X2 @ nil_o ) )
     => ( ! [X2: $o,V: $o,Va: list_o] :
            ( X
           != ( cons_o @ X2 @ ( cons_o @ V @ Va ) ) )
       => ( X = nil_o ) ) ) ).

% Missing_List.min_list.cases
thf(fact_108_Missing__List_Omin__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ! [X2: nat] :
          ( X
         != ( cons_nat @ X2 @ nil_nat ) )
     => ( ! [X2: nat,V: nat,Va: list_nat] :
            ( X
           != ( cons_nat @ X2 @ ( cons_nat @ V @ Va ) ) )
       => ( X = nil_nat ) ) ) ).

% Missing_List.min_list.cases
thf(fact_109_nat_Ocase__distrib,axiom,
    ! [H: $o > $o,F1: $o,F2: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F2 @ Nat ) )
      = ( case_nat_o @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_110_nat_Ocase__distrib,axiom,
    ! [H: $o > nat,F1: $o,F2: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F2 @ Nat ) )
      = ( case_nat_nat @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_111_nat_Ocase__distrib,axiom,
    ! [H: nat > $o,F1: nat,F2: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_o @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_112_nat_Ocase__distrib,axiom,
    ! [H: nat > nat,F1: nat,F2: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_nat @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_113_nat_Ocase__distrib,axiom,
    ! [H: $o > list_nat,F1: $o,F2: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F2 @ Nat ) )
      = ( case_nat_list_nat @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_114_nat_Ocase__distrib,axiom,
    ! [H: nat > list_nat,F1: nat,F2: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_list_nat @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_115_nat_Ocase__distrib,axiom,
    ! [H: list_nat > $o,F1: list_nat,F2: nat > list_nat,Nat: nat] :
      ( ( H @ ( case_nat_list_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_o @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_116_nat_Ocase__distrib,axiom,
    ! [H: list_nat > nat,F1: list_nat,F2: nat > list_nat,Nat: nat] :
      ( ( H @ ( case_nat_list_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_nat @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_117_nat_Ocase__distrib,axiom,
    ! [H: $o > term_a_b,F1: $o,F2: nat > $o,Nat: nat] :
      ( ( H @ ( case_nat_o @ F1 @ F2 @ Nat ) )
      = ( case_nat_term_a_b @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_118_nat_Ocase__distrib,axiom,
    ! [H: nat > term_a_b,F1: nat,F2: nat > nat,Nat: nat] :
      ( ( H @ ( case_nat_nat @ F1 @ F2 @ Nat ) )
      = ( case_nat_term_a_b @ ( H @ F1 )
        @ ^ [X3: nat] : ( H @ ( F2 @ X3 ) )
        @ Nat ) ) ).

% nat.case_distrib
thf(fact_119_concat__lists_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ~ ! [As: list_nat,Xs2: list_list_nat] :
            ( X
           != ( cons_list_nat @ As @ Xs2 ) ) ) ).

% concat_lists.cases
thf(fact_120_product__lists_Osimps_I1_J,axiom,
    ( ( produc6783906451316923569st_nat @ nil_list_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% product_lists.simps(1)
thf(fact_121_product__lists_Osimps_I1_J,axiom,
    ( ( produc17669015410068453rm_a_b @ nil_list_term_a_b )
    = ( cons_list_term_a_b @ nil_term_a_b @ nil_list_term_a_b ) ) ).

% product_lists.simps(1)
thf(fact_122_product__lists_Osimps_I1_J,axiom,
    ( ( product_lists_nat @ nil_list_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% product_lists.simps(1)
thf(fact_123_concat__lists_Osimps_I1_J,axiom,
    ( ( missin5603497496030997514st_nat @ nil_list_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% concat_lists.simps(1)
thf(fact_124_concat__lists_Osimps_I1_J,axiom,
    ( ( missin8060632096978918206rm_a_b @ nil_list_term_a_b )
    = ( cons_list_term_a_b @ nil_term_a_b @ nil_list_term_a_b ) ) ).

% concat_lists.simps(1)
thf(fact_125_concat__lists_Osimps_I1_J,axiom,
    ( ( missin4567272213201432058ts_nat @ nil_list_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% concat_lists.simps(1)
thf(fact_126_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_list_nat @ nil_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% subseqs.simps(1)
thf(fact_127_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_term_a_b @ nil_term_a_b )
    = ( cons_list_term_a_b @ nil_term_a_b @ nil_list_term_a_b ) ) ).

% subseqs.simps(1)
thf(fact_128_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% subseqs.simps(1)
thf(fact_129_add__elem__list__lists_Osimps_I1_J,axiom,
    ! [X: $o] :
      ( ( basic_2028021733394181825ists_o @ X @ nil_o )
      = ( cons_list_o @ ( cons_o @ X @ nil_o ) @ nil_list_o ) ) ).

% add_elem_list_lists.simps(1)
thf(fact_130_add__elem__list__lists_Osimps_I1_J,axiom,
    ! [X: term_a_b] :
      ( ( basic_1593220722155286443rm_a_b @ X @ nil_term_a_b )
      = ( cons_list_term_a_b @ ( cons_term_a_b @ X @ nil_term_a_b ) @ nil_list_term_a_b ) ) ).

% add_elem_list_lists.simps(1)
thf(fact_131_add__elem__list__lists_Osimps_I1_J,axiom,
    ! [X: list_nat] :
      ( ( basic_8359458158062141559st_nat @ X @ nil_list_nat )
      = ( cons_list_list_nat @ ( cons_list_nat @ X @ nil_list_nat ) @ nil_list_list_nat ) ) ).

% add_elem_list_lists.simps(1)
thf(fact_132_add__elem__list__lists_Osimps_I1_J,axiom,
    ! [X: nat] :
      ( ( basic_4874698711677410535ts_nat @ X @ nil_nat )
      = ( cons_list_nat @ ( cons_nat @ X @ nil_nat ) @ nil_list_nat ) ) ).

% add_elem_list_lists.simps(1)
thf(fact_133_insert__Nil,axiom,
    ! [X: $o] :
      ( ( insert_o @ X @ nil_o )
      = ( cons_o @ X @ nil_o ) ) ).

% insert_Nil
thf(fact_134_insert__Nil,axiom,
    ! [X: term_a_b] :
      ( ( insert_term_a_b @ X @ nil_term_a_b )
      = ( cons_term_a_b @ X @ nil_term_a_b ) ) ).

% insert_Nil
thf(fact_135_insert__Nil,axiom,
    ! [X: list_nat] :
      ( ( insert_list_nat @ X @ nil_list_nat )
      = ( cons_list_nat @ X @ nil_list_nat ) ) ).

% insert_Nil
thf(fact_136_insert__Nil,axiom,
    ! [X: nat] :
      ( ( insert_nat @ X @ nil_nat )
      = ( cons_nat @ X @ nil_nat ) ) ).

% insert_Nil
thf(fact_137_list__ex1__simps_I1_J,axiom,
    ! [P3: term_a_b > $o] :
      ~ ( list_ex1_term_a_b @ P3 @ nil_term_a_b ) ).

% list_ex1_simps(1)
thf(fact_138_list__ex1__simps_I1_J,axiom,
    ! [P3: list_nat > $o] :
      ~ ( list_ex1_list_nat @ P3 @ nil_list_nat ) ).

% list_ex1_simps(1)
thf(fact_139_list__ex1__simps_I1_J,axiom,
    ! [P3: nat > $o] :
      ~ ( list_ex1_nat @ P3 @ nil_nat ) ).

% list_ex1_simps(1)
thf(fact_140_Shift__def,axiom,
    ( bNF_Greatest_Shift_o
    = ( ^ [Kl: set_list_o,K: $o] :
          ( collect_list_o
          @ ^ [Kl2: list_o] : ( member_list_o @ ( cons_o @ K @ Kl2 ) @ Kl ) ) ) ) ).

% Shift_def
thf(fact_141_Shift__def,axiom,
    ( bNF_Gr2285504805956674357rm_a_b
    = ( ^ [Kl: set_list_term_a_b,K: term_a_b] :
          ( collec2649484519605854073rm_a_b
          @ ^ [Kl2: list_term_a_b] : ( member_list_term_a_b @ ( cons_term_a_b @ K @ Kl2 ) @ Kl ) ) ) ) ).

% Shift_def
thf(fact_142_Shift__def,axiom,
    ( bNF_Gr9051742241863529473st_nat
    = ( ^ [Kl: set_list_list_nat,K: list_nat] :
          ( collec5989764272469232197st_nat
          @ ^ [Kl2: list_list_nat] : ( member_list_list_nat @ ( cons_list_nat @ K @ Kl2 ) @ Kl ) ) ) ) ).

% Shift_def
thf(fact_143_Shift__def,axiom,
    ( bNF_Gr1872714664788909425ft_nat
    = ( ^ [Kl: set_list_nat,K: nat] :
          ( collect_list_nat
          @ ^ [Kl2: list_nat] : ( member_list_nat @ ( cons_nat @ K @ Kl2 ) @ Kl ) ) ) ) ).

% Shift_def
thf(fact_144_ctxt__at__pos__subt__at__id,axiom,
    ! [P: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
     => ( ( subter2376574525758040790rm_a_b @ ( term_ctxt_at_pos_a_b @ T2 @ P ) @ ( term_subt_at_a_b @ T2 @ P ) )
        = T2 ) ) ).

% ctxt_at_pos_subt_at_id
thf(fact_145_ctxt__at__pos__subt__at__pos,axiom,
    ! [P: list_nat,T2: term_a_b,U2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
     => ( ( term_subt_at_a_b @ ( subter2376574525758040790rm_a_b @ ( term_ctxt_at_pos_a_b @ T2 @ P ) @ U2 ) @ P )
        = U2 ) ) ).

% ctxt_at_pos_subt_at_pos
thf(fact_146_term_Oinject_I1_J,axiom,
    ! [X1: b,Y1: b] :
      ( ( ( var_b_a @ X1 )
        = ( var_b_a @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% term.inject(1)
thf(fact_147_funas__term_Ocases,axiom,
    ! [X: term_a_b] :
      ( ! [X2: b] :
          ( X
         != ( var_b_a @ X2 ) )
     => ~ ! [F3: a,Ts: list_term_a_b] :
            ( X
           != ( fun_a_b @ F3 @ Ts ) ) ) ).

% funas_term.cases
thf(fact_148_Term_Oterm_Oexhaust,axiom,
    ! [Y3: term_a_b] :
      ( ! [X12: b] :
          ( Y3
         != ( var_b_a @ X12 ) )
     => ~ ! [X212: a,X222: list_term_a_b] :
            ( Y3
           != ( fun_a_b @ X212 @ X222 ) ) ) ).

% Term.term.exhaust
thf(fact_149_term_Odistinct_I1_J,axiom,
    ! [X1: b,X21: a,X22: list_term_a_b] :
      ( ( var_b_a @ X1 )
     != ( fun_a_b @ X21 @ X22 ) ) ).

% term.distinct(1)
thf(fact_150_linear__term_Ocases,axiom,
    ! [X: term_a_b] :
      ( ! [Uu: b] :
          ( X
         != ( var_b_a @ Uu ) )
     => ~ ! [Uv: a,Ts: list_term_a_b] :
            ( X
           != ( fun_a_b @ Uv @ Ts ) ) ) ).

% linear_term.cases
thf(fact_151_depth_Ocases,axiom,
    ! [X: term_a_b] :
      ( ! [X2: b] :
          ( X
         != ( var_b_a @ X2 ) )
     => ( ! [F3: a] :
            ( X
           != ( fun_a_b @ F3 @ nil_term_a_b ) )
       => ~ ! [F3: a,V: term_a_b,Va: list_term_a_b] :
              ( X
             != ( fun_a_b @ F3 @ ( cons_term_a_b @ V @ Va ) ) ) ) ) ).

% depth.cases
thf(fact_152_ShiftD,axiom,
    ! [Kl3: list_o,Kl4: set_list_o,K2: $o] :
      ( ( member_list_o @ Kl3 @ ( bNF_Greatest_Shift_o @ Kl4 @ K2 ) )
     => ( member_list_o @ ( cons_o @ K2 @ Kl3 ) @ Kl4 ) ) ).

% ShiftD
thf(fact_153_ShiftD,axiom,
    ! [Kl3: list_term_a_b,Kl4: set_list_term_a_b,K2: term_a_b] :
      ( ( member_list_term_a_b @ Kl3 @ ( bNF_Gr2285504805956674357rm_a_b @ Kl4 @ K2 ) )
     => ( member_list_term_a_b @ ( cons_term_a_b @ K2 @ Kl3 ) @ Kl4 ) ) ).

% ShiftD
thf(fact_154_ShiftD,axiom,
    ! [Kl3: list_list_nat,Kl4: set_list_list_nat,K2: list_nat] :
      ( ( member_list_list_nat @ Kl3 @ ( bNF_Gr9051742241863529473st_nat @ Kl4 @ K2 ) )
     => ( member_list_list_nat @ ( cons_list_nat @ K2 @ Kl3 ) @ Kl4 ) ) ).

% ShiftD
thf(fact_155_ShiftD,axiom,
    ! [Kl3: list_nat,Kl4: set_list_nat,K2: nat] :
      ( ( member_list_nat @ Kl3 @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) )
     => ( member_list_nat @ ( cons_nat @ K2 @ Kl3 ) @ Kl4 ) ) ).

% ShiftD
thf(fact_156_ctxt__eq,axiom,
    ! [C: subterm_and_ctxt_a_b,S: term_a_b,T2: term_a_b] :
      ( ( ( subter2376574525758040790rm_a_b @ C @ S )
        = ( subter2376574525758040790rm_a_b @ C @ T2 ) )
      = ( S = T2 ) ) ).

% ctxt_eq
thf(fact_157_gterm__of__term_Ocases,axiom,
    ! [X: term_a_b] :
      ( ! [F3: a,Ts: list_term_a_b] :
          ( X
         != ( fun_a_b @ F3 @ Ts ) )
     => ~ ! [V: b] :
            ( X
           != ( var_b_a @ V ) ) ) ).

% gterm_of_term.cases
thf(fact_158_subt__at_Oelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Y3: term_a_b] :
      ( ( ( term_subt_at_a_b @ X @ Xa )
        = Y3 )
     => ( ( ( Xa = nil_nat )
         => ( Y3 != X ) )
       => ( ! [F3: a,Ss2: list_term_a_b] :
              ( ( X
                = ( fun_a_b @ F3 @ Ss2 ) )
             => ! [I2: nat,P4: list_nat] :
                  ( ( Xa
                    = ( cons_nat @ I2 @ P4 ) )
                 => ( Y3
                   != ( term_subt_at_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ P4 ) ) ) )
         => ~ ( ? [X2: b] :
                  ( X
                  = ( var_b_a @ X2 ) )
             => ( ? [V: nat,Va: list_nat] :
                    ( Xa
                    = ( cons_nat @ V @ Va ) )
               => ( Y3 != undefined_term_a_b ) ) ) ) ) ) ).

% subt_at.elims
thf(fact_159_empty__Shift,axiom,
    ! [Kl4: set_li6867361041382987015st_nat,K2: produc1828647624359046049st_nat] :
      ( ( member6711608200250777424st_nat @ nil_Pr8413428694792600231st_nat @ Kl4 )
     => ( ( member7340969449405702474st_nat @ K2 @ ( bNF_Gr8705060421004693820st_nat @ Kl4 @ nil_Pr8413428694792600231st_nat ) )
       => ( member6711608200250777424st_nat @ nil_Pr8413428694792600231st_nat @ ( bNF_Gr1840819286107176384st_nat @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_160_empty__Shift,axiom,
    ! [Kl4: set_li5450038453877631591at_nat,K2: product_prod_nat_nat] :
      ( ( member3067507820990806192at_nat @ nil_Pr5478986624290739719at_nat @ Kl4 )
     => ( ( member8440522571783428010at_nat @ K2 @ ( bNF_Gr5363859321595349404at_nat @ Kl4 @ nil_Pr5478986624290739719at_nat ) )
       => ( member3067507820990806192at_nat @ nil_Pr5478986624290739719at_nat @ ( bNF_Gr3130287167067265568at_nat @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_161_empty__Shift,axiom,
    ! [Kl4: set_li1107847671670421686st_nat,K2: list_list_nat] :
      ( ( member82518676210156439st_nat @ nil_list_list_nat @ Kl4 )
     => ( ( member_list_list_nat @ K2 @ ( bNF_Gr9051413041627726741st_nat @ Kl4 @ nil_list_list_nat ) )
       => ( member82518676210156439st_nat @ nil_list_list_nat @ ( bNF_Gr6465487921953164305st_nat @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_162_empty__Shift,axiom,
    ! [Kl4: set_list_term_a_b,K2: term_a_b] :
      ( ( member_list_term_a_b @ nil_term_a_b @ Kl4 )
     => ( ( member_term_a_b @ K2 @ ( bNF_Gr5510842888252665017rm_a_b @ Kl4 @ nil_term_a_b ) )
       => ( member_list_term_a_b @ nil_term_a_b @ ( bNF_Gr2285504805956674357rm_a_b @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_163_empty__Shift,axiom,
    ! [Kl4: set_list_list_nat,K2: list_nat] :
      ( ( member_list_list_nat @ nil_list_nat @ Kl4 )
     => ( ( member_list_nat @ K2 @ ( bNF_Gr3053708287304744325st_nat @ Kl4 @ nil_list_nat ) )
       => ( member_list_list_nat @ nil_list_nat @ ( bNF_Gr9051742241863529473st_nat @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_164_empty__Shift,axiom,
    ! [Kl4: set_list_nat,K2: nat] :
      ( ( member_list_nat @ nil_nat @ Kl4 )
     => ( ( member_nat @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ nil_nat ) )
       => ( member_list_nat @ nil_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) ) ) ) ).

% empty_Shift
thf(fact_165_Succ__Shift,axiom,
    ! [Kl4: set_list_o,K2: $o,Kl3: list_o] :
      ( ( bNF_Greatest_Succ_o @ ( bNF_Greatest_Shift_o @ Kl4 @ K2 ) @ Kl3 )
      = ( bNF_Greatest_Succ_o @ Kl4 @ ( cons_o @ K2 @ Kl3 ) ) ) ).

% Succ_Shift
thf(fact_166_Succ__Shift,axiom,
    ! [Kl4: set_list_term_a_b,K2: term_a_b,Kl3: list_term_a_b] :
      ( ( bNF_Gr5510842888252665017rm_a_b @ ( bNF_Gr2285504805956674357rm_a_b @ Kl4 @ K2 ) @ Kl3 )
      = ( bNF_Gr5510842888252665017rm_a_b @ Kl4 @ ( cons_term_a_b @ K2 @ Kl3 ) ) ) ).

% Succ_Shift
thf(fact_167_Succ__Shift,axiom,
    ! [Kl4: set_list_list_nat,K2: list_nat,Kl3: list_list_nat] :
      ( ( bNF_Gr3053708287304744325st_nat @ ( bNF_Gr9051742241863529473st_nat @ Kl4 @ K2 ) @ Kl3 )
      = ( bNF_Gr3053708287304744325st_nat @ Kl4 @ ( cons_list_nat @ K2 @ Kl3 ) ) ) ).

% Succ_Shift
thf(fact_168_Succ__Shift,axiom,
    ! [Kl4: set_list_nat,K2: nat,Kl3: list_nat] :
      ( ( bNF_Gr6352880689984616693cc_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) @ Kl3 )
      = ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ ( cons_nat @ K2 @ Kl3 ) ) ) ).

% Succ_Shift
thf(fact_169_ctxt__at__pos__hole__pos,axiom,
    ! [C: subterm_and_ctxt_a_b,S: term_a_b] :
      ( ( term_ctxt_at_pos_a_b @ ( subter2376574525758040790rm_a_b @ C @ S ) @ ( term_hole_pos_a_b @ C ) )
      = C ) ).

% ctxt_at_pos_hole_pos
thf(fact_170_rename__subst__domain__range__Var__rhs,axiom,
    ! [Rho: b > term_a_b] :
      ( ( rename5388498879213883313_b_a_b @ Rho @ var_b_a )
      = var_b_a ) ).

% rename_subst_domain_range_Var_rhs
thf(fact_171_rename__subst__domain__range__Var__lhs,axiom,
    ! [Sigma: b > term_a_b] :
      ( ( rename5388498879213883313_b_a_b @ var_b_a @ Sigma )
      = Sigma ) ).

% rename_subst_domain_range_Var_lhs
thf(fact_172_restrict__subst__domain__Var,axiom,
    ! [V2: set_b] :
      ( ( restri22458263168500592in_b_a @ V2 @ var_b_a )
      = var_b_a ) ).

% restrict_subst_domain_Var
thf(fact_173_ctxt__at__pos_Ocases,axiom,
    ! [X: produc3697673438841856213st_nat] :
      ( ! [S2: term_a_b] :
          ( X
         != ( produc4563063199488751885st_nat @ S2 @ nil_nat ) )
     => ( ! [F3: a,Ss2: list_term_a_b,I2: nat,P4: list_nat] :
            ( X
           != ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ss2 ) @ ( cons_nat @ I2 @ P4 ) ) )
       => ~ ! [X2: b,V: nat,Va: list_nat] :
              ( X
             != ( produc4563063199488751885st_nat @ ( var_b_a @ X2 ) @ ( cons_nat @ V @ Va ) ) ) ) ) ).

% ctxt_at_pos.cases
thf(fact_174_mem__idx_Ocases,axiom,
    ! [X: produc6454500794699219245list_o] :
      ( ! [Uu: $o] :
          ( X
         != ( produc7263596898809104029list_o @ Uu @ nil_o ) )
     => ~ ! [X2: $o,A3: $o,As: list_o] :
            ( X
           != ( produc7263596898809104029list_o @ X2 @ ( cons_o @ A3 @ As ) ) ) ) ).

% mem_idx.cases
thf(fact_175_mem__idx_Ocases,axiom,
    ! [X: produc5674375379913900953rm_a_b] :
      ( ! [Uu: term_a_b] :
          ( X
         != ( produc967488655884398673rm_a_b @ Uu @ nil_term_a_b ) )
     => ~ ! [X2: term_a_b,A3: term_a_b,As: list_term_a_b] :
            ( X
           != ( produc967488655884398673rm_a_b @ X2 @ ( cons_term_a_b @ A3 @ As ) ) ) ) ).

% mem_idx.cases
thf(fact_176_mem__idx_Ocases,axiom,
    ! [X: produc5191554698962042161st_nat] :
      ( ! [Uu: list_nat] :
          ( X
         != ( produc7676750419334090729st_nat @ Uu @ nil_list_nat ) )
     => ~ ! [X2: list_nat,A3: list_nat,As: list_list_nat] :
            ( X
           != ( produc7676750419334090729st_nat @ X2 @ ( cons_list_nat @ A3 @ As ) ) ) ) ).

% mem_idx.cases
thf(fact_177_mem__idx_Ocases,axiom,
    ! [X: produc4575160907756185873st_nat] :
      ( ! [Uu: nat] :
          ( X
         != ( produc8282810413953273033st_nat @ Uu @ nil_nat ) )
     => ~ ! [X2: nat,A3: nat,As: list_nat] :
            ( X
           != ( produc8282810413953273033st_nat @ X2 @ ( cons_nat @ A3 @ As ) ) ) ) ).

% mem_idx.cases
thf(fact_178_restrict__subst__domain__def,axiom,
    ( restri22458263168500592in_b_a
    = ( ^ [V3: set_b,Sigma2: b > term_a_b,X3: b] : ( if_term_a_b @ ( member_b @ X3 @ V3 ) @ ( Sigma2 @ X3 ) @ ( var_b_a @ X3 ) ) ) ) ).

% restrict_subst_domain_def
thf(fact_179_subt__at_Osimps_I3_J,axiom,
    ! [X: b,V4: nat,Va2: list_nat] :
      ( ( term_subt_at_a_b @ ( var_b_a @ X ) @ ( cons_nat @ V4 @ Va2 ) )
      = undefined_term_a_b ) ).

% subt_at.simps(3)
thf(fact_180_hole__pos__in__ctxt__apply,axiom,
    ! [C: subterm_and_ctxt_a_b,U2: term_a_b] : ( member_list_nat @ ( term_hole_pos_a_b @ C ) @ ( term_poss_a_b @ ( subter2376574525758040790rm_a_b @ C @ U2 ) ) ) ).

% hole_pos_in_ctxt_apply
thf(fact_181_fun__at_Ocases,axiom,
    ! [X: produc3697673438841856213st_nat] :
      ( ! [X2: b] :
          ( X
         != ( produc4563063199488751885st_nat @ ( var_b_a @ X2 ) @ nil_nat ) )
     => ( ! [F3: a,Ts: list_term_a_b] :
            ( X
           != ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ts ) @ nil_nat ) )
       => ( ! [F3: a,Ts: list_term_a_b,I2: nat,P4: list_nat] :
              ( X
             != ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ts ) @ ( cons_nat @ I2 @ P4 ) ) )
         => ~ ! [Vb: b,V: nat,Va: list_nat] :
                ( X
               != ( produc4563063199488751885st_nat @ ( var_b_a @ Vb ) @ ( cons_nat @ V @ Va ) ) ) ) ) ) ).

% fun_at.cases
thf(fact_182_subt__at_Ocases,axiom,
    ! [X: produc3697673438841856213st_nat] :
      ( ! [S2: term_a_b] :
          ( X
         != ( produc4563063199488751885st_nat @ S2 @ nil_nat ) )
     => ( ! [F3: a,Ss2: list_term_a_b,I2: nat,P4: list_nat] :
            ( X
           != ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ss2 ) @ ( cons_nat @ I2 @ P4 ) ) )
       => ~ ! [X2: b,V: nat,Va: list_nat] :
              ( X
             != ( produc4563063199488751885st_nat @ ( var_b_a @ X2 ) @ ( cons_nat @ V @ Va ) ) ) ) ) ).

% subt_at.cases
thf(fact_183_old_Oprod_Oinject,axiom,
    ! [A: nat > $o,B: list_nat,A4: nat > $o,B2: list_nat] :
      ( ( ( produc8587622027977423880st_nat @ A @ B )
        = ( produc8587622027977423880st_nat @ A4 @ B2 ) )
      = ( ( A = A4 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_184_old_Oprod_Oinject,axiom,
    ! [A: nat > nat,B: list_nat,A4: nat > nat,B2: list_nat] :
      ( ( ( produc8711139202005206712st_nat @ A @ B )
        = ( produc8711139202005206712st_nat @ A4 @ B2 ) )
      = ( ( A = A4 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_185_old_Oprod_Oinject,axiom,
    ! [A: nat > nat > $o,B: produc1828647624359046049st_nat,A4: nat > nat > $o,B2: produc1828647624359046049st_nat] :
      ( ( ( produc3127733452865184594st_nat @ A @ B )
        = ( produc3127733452865184594st_nat @ A4 @ B2 ) )
      = ( ( A = A4 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_186_old_Oprod_Oinject,axiom,
    ! [A: nat > nat > $o,B: list_nat,A4: nat > nat > $o,B2: list_nat] :
      ( ( ( produc4727192421694094319st_nat @ A @ B )
        = ( produc4727192421694094319st_nat @ A4 @ B2 ) )
      = ( ( A = A4 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_187_old_Oprod_Oinject,axiom,
    ! [A: b,B: term_a_b,A4: b,B2: term_a_b] :
      ( ( ( produc1437816968797971900rm_a_b @ A @ B )
        = ( produc1437816968797971900rm_a_b @ A4 @ B2 ) )
      = ( ( A = A4 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_188_prod_Oinject,axiom,
    ! [X1: nat > $o,X23: list_nat,Y1: nat > $o,Y23: list_nat] :
      ( ( ( produc8587622027977423880st_nat @ X1 @ X23 )
        = ( produc8587622027977423880st_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_189_prod_Oinject,axiom,
    ! [X1: nat > nat,X23: list_nat,Y1: nat > nat,Y23: list_nat] :
      ( ( ( produc8711139202005206712st_nat @ X1 @ X23 )
        = ( produc8711139202005206712st_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_190_prod_Oinject,axiom,
    ! [X1: nat > nat > $o,X23: produc1828647624359046049st_nat,Y1: nat > nat > $o,Y23: produc1828647624359046049st_nat] :
      ( ( ( produc3127733452865184594st_nat @ X1 @ X23 )
        = ( produc3127733452865184594st_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_191_prod_Oinject,axiom,
    ! [X1: nat > nat > $o,X23: list_nat,Y1: nat > nat > $o,Y23: list_nat] :
      ( ( ( produc4727192421694094319st_nat @ X1 @ X23 )
        = ( produc4727192421694094319st_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_192_prod_Oinject,axiom,
    ! [X1: b,X23: term_a_b,Y1: b,Y23: term_a_b] :
      ( ( ( produc1437816968797971900rm_a_b @ X1 @ X23 )
        = ( produc1437816968797971900rm_a_b @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_193_subt__at_Opelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Y3: term_a_b] :
      ( ( ( term_subt_at_a_b @ X @ Xa )
        = Y3 )
     => ( ( accp_P682940083893826398st_nat @ term_subt_at_rel_a_b @ ( produc4563063199488751885st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y3 = X )
             => ~ ( accp_P682940083893826398st_nat @ term_subt_at_rel_a_b @ ( produc4563063199488751885st_nat @ X @ nil_nat ) ) ) )
         => ( ! [F3: a,Ss2: list_term_a_b] :
                ( ( X
                  = ( fun_a_b @ F3 @ Ss2 ) )
               => ! [I2: nat,P4: list_nat] :
                    ( ( Xa
                      = ( cons_nat @ I2 @ P4 ) )
                   => ( ( Y3
                        = ( term_subt_at_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ P4 ) )
                     => ~ ( accp_P682940083893826398st_nat @ term_subt_at_rel_a_b @ ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ss2 ) @ ( cons_nat @ I2 @ P4 ) ) ) ) ) )
           => ~ ! [X2: b] :
                  ( ( X
                    = ( var_b_a @ X2 ) )
                 => ! [V: nat,Va: list_nat] :
                      ( ( Xa
                        = ( cons_nat @ V @ Va ) )
                     => ( ( Y3 = undefined_term_a_b )
                       => ~ ( accp_P682940083893826398st_nat @ term_subt_at_rel_a_b @ ( produc4563063199488751885st_nat @ ( var_b_a @ X2 ) @ ( cons_nat @ V @ Va ) ) ) ) ) ) ) ) ) ) ).

% subt_at.pelims
thf(fact_194_fun__at__hole__pos__ctxt__apply,axiom,
    ! [C: subterm_and_ctxt_a_b,T2: term_a_b] :
      ( ( term_fun_at_a_b @ ( subter2376574525758040790rm_a_b @ C @ T2 ) @ ( term_hole_pos_a_b @ C ) )
      = ( term_fun_at_a_b @ T2 @ nil_nat ) ) ).

% fun_at_hole_pos_ctxt_apply
thf(fact_195_pred__equals__eq2,axiom,
    ! [R: set_Pr3451248702717554689st_nat,S3: set_Pr3451248702717554689st_nat] :
      ( ( ( ^ [X3: list_nat,Y2: list_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: list_nat,Y2: list_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_196_pred__equals__eq2,axiom,
    ! [R: set_Pr1261947904930325089at_nat,S3: set_Pr1261947904930325089at_nat] :
      ( ( ( ^ [X3: nat,Y2: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: nat,Y2: nat] : ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_197_pred__equals__eq2,axiom,
    ! [R: set_Pr1012447495205133252st_nat,S3: set_Pr1012447495205133252st_nat] :
      ( ( ( ^ [X3: nat > $o,Y2: list_nat] : ( member2422889256081674661st_nat @ ( produc8587622027977423880st_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: nat > $o,Y2: list_nat] : ( member2422889256081674661st_nat @ ( produc8587622027977423880st_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_198_pred__equals__eq2,axiom,
    ! [R: set_Pr5679802032631135584st_nat,S3: set_Pr5679802032631135584st_nat] :
      ( ( ( ^ [X3: nat > nat,Y2: list_nat] : ( member4109540010139171369st_nat @ ( produc8711139202005206712st_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: nat > nat,Y2: list_nat] : ( member4109540010139171369st_nat @ ( produc8711139202005206712st_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_199_pred__equals__eq2,axiom,
    ! [R: set_Pr4817715314677154882st_nat,S3: set_Pr4817715314677154882st_nat] :
      ( ( ( ^ [X3: nat > nat > $o,Y2: produc1828647624359046049st_nat] : ( member6951660485171671051st_nat @ ( produc3127733452865184594st_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: nat > nat > $o,Y2: produc1828647624359046049st_nat] : ( member6951660485171671051st_nat @ ( produc3127733452865184594st_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_200_pred__equals__eq2,axiom,
    ! [R: set_Pr7072801126362145067st_nat,S3: set_Pr7072801126362145067st_nat] :
      ( ( ( ^ [X3: nat > nat > $o,Y2: list_nat] : ( member5350383351084882060st_nat @ ( produc4727192421694094319st_nat @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: nat > nat > $o,Y2: list_nat] : ( member5350383351084882060st_nat @ ( produc4727192421694094319st_nat @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_201_pred__equals__eq2,axiom,
    ! [R: set_Pr1357592988741419896rm_a_b,S3: set_Pr1357592988741419896rm_a_b] :
      ( ( ( ^ [X3: b,Y2: term_a_b] : ( member7000133282412810073rm_a_b @ ( produc1437816968797971900rm_a_b @ X3 @ Y2 ) @ R ) )
        = ( ^ [X3: b,Y2: term_a_b] : ( member7000133282412810073rm_a_b @ ( produc1437816968797971900rm_a_b @ X3 @ Y2 ) @ S3 ) ) )
      = ( R = S3 ) ) ).

% pred_equals_eq2
thf(fact_202_replace__term__at__replace__at__conv,axiom,
    ! [P: list_nat,S: term_a_b,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( ( subter2376574525758040790rm_a_b @ ( term_ctxt_at_pos_a_b @ S @ P ) @ T2 )
        = ( term_r6860082780075436317at_a_b @ S @ P @ T2 ) ) ) ).

% replace_term_at_replace_at_conv
thf(fact_203_poss__ctxt__apply,axiom,
    ! [C: subterm_and_ctxt_a_b,P: list_nat,S: term_a_b] :
      ( ( member_list_nat @ ( append_nat @ ( term_hole_pos_a_b @ C ) @ P ) @ ( term_poss_a_b @ ( subter2376574525758040790rm_a_b @ C @ S ) ) )
      = ( member_list_nat @ P @ ( term_poss_a_b @ S ) ) ) ).

% poss_ctxt_apply
thf(fact_204_list__ex1__simps_I2_J,axiom,
    ! [P3: $o > $o,X: $o,Xs: list_o] :
      ( ( list_ex1_o @ P3 @ ( cons_o @ X @ Xs ) )
      = ( ( ( P3 @ X )
         => ( list_all_o
            @ ^ [Y2: $o] :
                ( ~ ( P3 @ Y2 )
                | ( X = Y2 ) )
            @ Xs ) )
        & ( ~ ( P3 @ X )
         => ( list_ex1_o @ P3 @ Xs ) ) ) ) ).

% list_ex1_simps(2)
thf(fact_205_list__ex1__simps_I2_J,axiom,
    ! [P3: list_nat > $o,X: list_nat,Xs: list_list_nat] :
      ( ( list_ex1_list_nat @ P3 @ ( cons_list_nat @ X @ Xs ) )
      = ( ( ( P3 @ X )
         => ( list_all_list_nat
            @ ^ [Y2: list_nat] :
                ( ~ ( P3 @ Y2 )
                | ( X = Y2 ) )
            @ Xs ) )
        & ( ~ ( P3 @ X )
         => ( list_ex1_list_nat @ P3 @ Xs ) ) ) ) ).

% list_ex1_simps(2)
thf(fact_206_list__ex1__simps_I2_J,axiom,
    ! [P3: term_a_b > $o,X: term_a_b,Xs: list_term_a_b] :
      ( ( list_ex1_term_a_b @ P3 @ ( cons_term_a_b @ X @ Xs ) )
      = ( ( ( P3 @ X )
         => ( list_all_term_a_b
            @ ^ [Y2: term_a_b] :
                ( ~ ( P3 @ Y2 )
                | ( X = Y2 ) )
            @ Xs ) )
        & ( ~ ( P3 @ X )
         => ( list_ex1_term_a_b @ P3 @ Xs ) ) ) ) ).

% list_ex1_simps(2)
thf(fact_207_list__ex1__simps_I2_J,axiom,
    ! [P3: nat > $o,X: nat,Xs: list_nat] :
      ( ( list_ex1_nat @ P3 @ ( cons_nat @ X @ Xs ) )
      = ( ( ( P3 @ X )
         => ( list_all_nat
            @ ^ [Y2: nat] :
                ( ~ ( P3 @ Y2 )
                | ( X = Y2 ) )
            @ Xs ) )
        & ( ~ ( P3 @ X )
         => ( list_ex1_nat @ P3 @ Xs ) ) ) ) ).

% list_ex1_simps(2)
thf(fact_208_replace__at__hole__pos,axiom,
    ! [C: subterm_and_ctxt_a_b,S: term_a_b,T2: term_a_b] :
      ( ( term_r6860082780075436317at_a_b @ ( subter2376574525758040790rm_a_b @ C @ S ) @ ( term_hole_pos_a_b @ C ) @ T2 )
      = ( subter2376574525758040790rm_a_b @ C @ T2 ) ) ).

% replace_at_hole_pos
thf(fact_209_same__append__eq,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = ( append_nat @ Xs @ Zs2 ) )
      = ( Ys = Zs2 ) ) ).

% same_append_eq
thf(fact_210_same__append__eq,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Ys )
        = ( append_list_nat @ Xs @ Zs2 ) )
      = ( Ys = Zs2 ) ) ).

% same_append_eq
thf(fact_211_same__append__eq,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,Zs2: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Ys )
        = ( append_term_a_b @ Xs @ Zs2 ) )
      = ( Ys = Zs2 ) ) ).

% same_append_eq
thf(fact_212_append__same__eq,axiom,
    ! [Ys: list_nat,Xs: list_nat,Zs2: list_nat] :
      ( ( ( append_nat @ Ys @ Xs )
        = ( append_nat @ Zs2 @ Xs ) )
      = ( Ys = Zs2 ) ) ).

% append_same_eq
thf(fact_213_append__same__eq,axiom,
    ! [Ys: list_list_nat,Xs: list_list_nat,Zs2: list_list_nat] :
      ( ( ( append_list_nat @ Ys @ Xs )
        = ( append_list_nat @ Zs2 @ Xs ) )
      = ( Ys = Zs2 ) ) ).

% append_same_eq
thf(fact_214_append__same__eq,axiom,
    ! [Ys: list_term_a_b,Xs: list_term_a_b,Zs2: list_term_a_b] :
      ( ( ( append_term_a_b @ Ys @ Xs )
        = ( append_term_a_b @ Zs2 @ Xs ) )
      = ( Ys = Zs2 ) ) ).

% append_same_eq
thf(fact_215_append__assoc,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( append_nat @ ( append_nat @ Xs @ Ys ) @ Zs2 )
      = ( append_nat @ Xs @ ( append_nat @ Ys @ Zs2 ) ) ) ).

% append_assoc
thf(fact_216_append__assoc,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( append_list_nat @ ( append_list_nat @ Xs @ Ys ) @ Zs2 )
      = ( append_list_nat @ Xs @ ( append_list_nat @ Ys @ Zs2 ) ) ) ).

% append_assoc
thf(fact_217_append__assoc,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,Zs2: list_term_a_b] :
      ( ( append_term_a_b @ ( append_term_a_b @ Xs @ Ys ) @ Zs2 )
      = ( append_term_a_b @ Xs @ ( append_term_a_b @ Ys @ Zs2 ) ) ) ).

% append_assoc
thf(fact_218_append_Oassoc,axiom,
    ! [A: list_nat,B: list_nat,C2: list_nat] :
      ( ( append_nat @ ( append_nat @ A @ B ) @ C2 )
      = ( append_nat @ A @ ( append_nat @ B @ C2 ) ) ) ).

% append.assoc
thf(fact_219_append_Oassoc,axiom,
    ! [A: list_list_nat,B: list_list_nat,C2: list_list_nat] :
      ( ( append_list_nat @ ( append_list_nat @ A @ B ) @ C2 )
      = ( append_list_nat @ A @ ( append_list_nat @ B @ C2 ) ) ) ).

% append.assoc
thf(fact_220_append_Oassoc,axiom,
    ! [A: list_term_a_b,B: list_term_a_b,C2: list_term_a_b] :
      ( ( append_term_a_b @ ( append_term_a_b @ A @ B ) @ C2 )
      = ( append_term_a_b @ A @ ( append_term_a_b @ B @ C2 ) ) ) ).

% append.assoc
thf(fact_221_append_Oright__neutral,axiom,
    ! [A: list_list_nat] :
      ( ( append_list_nat @ A @ nil_list_nat )
      = A ) ).

% append.right_neutral
thf(fact_222_append_Oright__neutral,axiom,
    ! [A: list_term_a_b] :
      ( ( append_term_a_b @ A @ nil_term_a_b )
      = A ) ).

% append.right_neutral
thf(fact_223_append_Oright__neutral,axiom,
    ! [A: list_nat] :
      ( ( append_nat @ A @ nil_nat )
      = A ) ).

% append.right_neutral
thf(fact_224_append__Nil2,axiom,
    ! [Xs: list_list_nat] :
      ( ( append_list_nat @ Xs @ nil_list_nat )
      = Xs ) ).

% append_Nil2
thf(fact_225_append__Nil2,axiom,
    ! [Xs: list_term_a_b] :
      ( ( append_term_a_b @ Xs @ nil_term_a_b )
      = Xs ) ).

% append_Nil2
thf(fact_226_append__Nil2,axiom,
    ! [Xs: list_nat] :
      ( ( append_nat @ Xs @ nil_nat )
      = Xs ) ).

% append_Nil2
thf(fact_227_append__self__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_list_nat ) ) ).

% append_self_conv
thf(fact_228_append__self__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_term_a_b ) ) ).

% append_self_conv
thf(fact_229_append__self__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_nat ) ) ).

% append_self_conv
thf(fact_230_self__append__conv,axiom,
    ! [Y3: list_list_nat,Ys: list_list_nat] :
      ( ( Y3
        = ( append_list_nat @ Y3 @ Ys ) )
      = ( Ys = nil_list_nat ) ) ).

% self_append_conv
thf(fact_231_self__append__conv,axiom,
    ! [Y3: list_term_a_b,Ys: list_term_a_b] :
      ( ( Y3
        = ( append_term_a_b @ Y3 @ Ys ) )
      = ( Ys = nil_term_a_b ) ) ).

% self_append_conv
thf(fact_232_self__append__conv,axiom,
    ! [Y3: list_nat,Ys: list_nat] :
      ( ( Y3
        = ( append_nat @ Y3 @ Ys ) )
      = ( Ys = nil_nat ) ) ).

% self_append_conv
thf(fact_233_append__self__conv2,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_list_nat ) ) ).

% append_self_conv2
thf(fact_234_append__self__conv2,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_term_a_b ) ) ).

% append_self_conv2
thf(fact_235_append__self__conv2,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_nat ) ) ).

% append_self_conv2
thf(fact_236_self__append__conv2,axiom,
    ! [Y3: list_list_nat,Xs: list_list_nat] :
      ( ( Y3
        = ( append_list_nat @ Xs @ Y3 ) )
      = ( Xs = nil_list_nat ) ) ).

% self_append_conv2
thf(fact_237_self__append__conv2,axiom,
    ! [Y3: list_term_a_b,Xs: list_term_a_b] :
      ( ( Y3
        = ( append_term_a_b @ Xs @ Y3 ) )
      = ( Xs = nil_term_a_b ) ) ).

% self_append_conv2
thf(fact_238_self__append__conv2,axiom,
    ! [Y3: list_nat,Xs: list_nat] :
      ( ( Y3
        = ( append_nat @ Xs @ Y3 ) )
      = ( Xs = nil_nat ) ) ).

% self_append_conv2
thf(fact_239_Nil__is__append__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( nil_list_nat
        = ( append_list_nat @ Xs @ Ys ) )
      = ( ( Xs = nil_list_nat )
        & ( Ys = nil_list_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_240_Nil__is__append__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( nil_term_a_b
        = ( append_term_a_b @ Xs @ Ys ) )
      = ( ( Xs = nil_term_a_b )
        & ( Ys = nil_term_a_b ) ) ) ).

% Nil_is_append_conv
thf(fact_241_Nil__is__append__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( nil_nat
        = ( append_nat @ Xs @ Ys ) )
      = ( ( Xs = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_242_append__is__Nil__conv,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Ys )
        = nil_list_nat )
      = ( ( Xs = nil_list_nat )
        & ( Ys = nil_list_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_243_append__is__Nil__conv,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Ys )
        = nil_term_a_b )
      = ( ( Xs = nil_term_a_b )
        & ( Ys = nil_term_a_b ) ) ) ).

% append_is_Nil_conv
thf(fact_244_append__is__Nil__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = nil_nat )
      = ( ( Xs = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_245_list_Opred__inject_I2_J,axiom,
    ! [P3: $o > $o,A: $o,Aa: list_o] :
      ( ( list_all_o @ P3 @ ( cons_o @ A @ Aa ) )
      = ( ( P3 @ A )
        & ( list_all_o @ P3 @ Aa ) ) ) ).

% list.pred_inject(2)
thf(fact_246_list_Opred__inject_I2_J,axiom,
    ! [P3: list_nat > $o,A: list_nat,Aa: list_list_nat] :
      ( ( list_all_list_nat @ P3 @ ( cons_list_nat @ A @ Aa ) )
      = ( ( P3 @ A )
        & ( list_all_list_nat @ P3 @ Aa ) ) ) ).

% list.pred_inject(2)
thf(fact_247_list_Opred__inject_I2_J,axiom,
    ! [P3: term_a_b > $o,A: term_a_b,Aa: list_term_a_b] :
      ( ( list_all_term_a_b @ P3 @ ( cons_term_a_b @ A @ Aa ) )
      = ( ( P3 @ A )
        & ( list_all_term_a_b @ P3 @ Aa ) ) ) ).

% list.pred_inject(2)
thf(fact_248_list_Opred__inject_I2_J,axiom,
    ! [P3: nat > $o,A: nat,Aa: list_nat] :
      ( ( list_all_nat @ P3 @ ( cons_nat @ A @ Aa ) )
      = ( ( P3 @ A )
        & ( list_all_nat @ P3 @ Aa ) ) ) ).

% list.pred_inject(2)
thf(fact_249_list__all__simps_I1_J,axiom,
    ! [P3: $o > $o,X: $o,Xs: list_o] :
      ( ( list_all_o @ P3 @ ( cons_o @ X @ Xs ) )
      = ( ( P3 @ X )
        & ( list_all_o @ P3 @ Xs ) ) ) ).

% list_all_simps(1)
thf(fact_250_list__all__simps_I1_J,axiom,
    ! [P3: list_nat > $o,X: list_nat,Xs: list_list_nat] :
      ( ( list_all_list_nat @ P3 @ ( cons_list_nat @ X @ Xs ) )
      = ( ( P3 @ X )
        & ( list_all_list_nat @ P3 @ Xs ) ) ) ).

% list_all_simps(1)
thf(fact_251_list__all__simps_I1_J,axiom,
    ! [P3: term_a_b > $o,X: term_a_b,Xs: list_term_a_b] :
      ( ( list_all_term_a_b @ P3 @ ( cons_term_a_b @ X @ Xs ) )
      = ( ( P3 @ X )
        & ( list_all_term_a_b @ P3 @ Xs ) ) ) ).

% list_all_simps(1)
thf(fact_252_list__all__simps_I1_J,axiom,
    ! [P3: nat > $o,X: nat,Xs: list_nat] :
      ( ( list_all_nat @ P3 @ ( cons_nat @ X @ Xs ) )
      = ( ( P3 @ X )
        & ( list_all_nat @ P3 @ Xs ) ) ) ).

% list_all_simps(1)
thf(fact_253_list__all__simps_I2_J,axiom,
    ! [P3: list_nat > $o] : ( list_all_list_nat @ P3 @ nil_list_nat ) ).

% list_all_simps(2)
thf(fact_254_list__all__simps_I2_J,axiom,
    ! [P3: term_a_b > $o] : ( list_all_term_a_b @ P3 @ nil_term_a_b ) ).

% list_all_simps(2)
thf(fact_255_list__all__simps_I2_J,axiom,
    ! [P3: nat > $o] : ( list_all_nat @ P3 @ nil_nat ) ).

% list_all_simps(2)
thf(fact_256_list__all__append,axiom,
    ! [P3: nat > $o,Xs: list_nat,Ys: list_nat] :
      ( ( list_all_nat @ P3 @ ( append_nat @ Xs @ Ys ) )
      = ( ( list_all_nat @ P3 @ Xs )
        & ( list_all_nat @ P3 @ Ys ) ) ) ).

% list_all_append
thf(fact_257_list__all__append,axiom,
    ! [P3: list_nat > $o,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( list_all_list_nat @ P3 @ ( append_list_nat @ Xs @ Ys ) )
      = ( ( list_all_list_nat @ P3 @ Xs )
        & ( list_all_list_nat @ P3 @ Ys ) ) ) ).

% list_all_append
thf(fact_258_list__all__append,axiom,
    ! [P3: term_a_b > $o,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( list_all_term_a_b @ P3 @ ( append_term_a_b @ Xs @ Ys ) )
      = ( ( list_all_term_a_b @ P3 @ Xs )
        & ( list_all_term_a_b @ P3 @ Ys ) ) ) ).

% list_all_append
thf(fact_259_in__set__insert,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ( ( insert3602830346519061181st_nat @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_260_in__set__insert,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ( ( insert8944034826898310173at_nat @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_261_in__set__insert,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ( insert_nat @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_262_in__set__insert,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ( ( insert_term_a_b @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_263_in__set__insert,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ( ( insert_list_list_nat @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_264_in__set__insert,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ( ( insert_list_term_a_b @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_265_in__set__insert,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ( ( insert_list_nat @ X @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_266_replace__term__at__not__poss,axiom,
    ! [P: list_nat,S: term_a_b,T2: term_a_b] :
      ( ~ ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( ( term_r6860082780075436317at_a_b @ S @ P @ T2 )
        = S ) ) ).

% replace_term_at_not_poss
thf(fact_267_append1__eq__conv,axiom,
    ! [Xs: list_o,X: $o,Ys: list_o,Y3: $o] :
      ( ( ( append_o @ Xs @ ( cons_o @ X @ nil_o ) )
        = ( append_o @ Ys @ ( cons_o @ Y3 @ nil_o ) ) )
      = ( ( Xs = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_268_append1__eq__conv,axiom,
    ! [Xs: list_term_a_b,X: term_a_b,Ys: list_term_a_b,Y3: term_a_b] :
      ( ( ( append_term_a_b @ Xs @ ( cons_term_a_b @ X @ nil_term_a_b ) )
        = ( append_term_a_b @ Ys @ ( cons_term_a_b @ Y3 @ nil_term_a_b ) ) )
      = ( ( Xs = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_269_append1__eq__conv,axiom,
    ! [Xs: list_list_nat,X: list_nat,Ys: list_list_nat,Y3: list_nat] :
      ( ( ( append_list_nat @ Xs @ ( cons_list_nat @ X @ nil_list_nat ) )
        = ( append_list_nat @ Ys @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) )
      = ( ( Xs = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_270_append1__eq__conv,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat,Y3: nat] :
      ( ( ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) )
        = ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( Xs = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_271_not__in__set__insert,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ( ( insert3602830346519061181st_nat @ X @ Xs )
        = ( cons_P5007559046487125591st_nat @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_272_not__in__set__insert,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ( ( insert8944034826898310173at_nat @ X @ Xs )
        = ( cons_P6512896166579812791at_nat @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_273_not__in__set__insert,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ( ( insert_list_list_nat @ X @ Xs )
        = ( cons_list_list_nat @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_274_not__in__set__insert,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ( ( insert_list_term_a_b @ X @ Xs )
        = ( cons_list_term_a_b @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_275_not__in__set__insert,axiom,
    ! [X: $o,Xs: list_o] :
      ( ~ ( member_o @ X @ ( set_o2 @ Xs ) )
     => ( ( insert_o @ X @ Xs )
        = ( cons_o @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_276_not__in__set__insert,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ( ( insert_term_a_b @ X @ Xs )
        = ( cons_term_a_b @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_277_not__in__set__insert,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ( ( insert_list_nat @ X @ Xs )
        = ( cons_list_nat @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_278_not__in__set__insert,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ( insert_nat @ X @ Xs )
        = ( cons_nat @ X @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_279_split__list,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ? [Ys2: list_P7940050157051400743st_nat,Zs: list_P7940050157051400743st_nat] :
          ( Xs
          = ( append2623875052807961020st_nat @ Ys2 @ ( cons_P5007559046487125591st_nat @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_280_split__list,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ? [Ys2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
          ( Xs
          = ( append985823374593552924at_nat @ Ys2 @ ( cons_P6512896166579812791at_nat @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_281_split__list,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_list_nat,Zs: list_list_list_nat] :
          ( Xs
          = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_282_split__list,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ? [Ys2: list_list_term_a_b,Zs: list_list_term_a_b] :
          ( Xs
          = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_283_split__list,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
     => ? [Ys2: list_o,Zs: list_o] :
          ( Xs
          = ( append_o @ Ys2 @ ( cons_o @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_284_split__list,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ? [Ys2: list_term_a_b,Zs: list_term_a_b] :
          ( Xs
          = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_285_split__list,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_nat,Zs: list_list_nat] :
          ( Xs
          = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_286_split__list,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys2: list_nat,Zs: list_nat] :
          ( Xs
          = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) ) ) ).

% split_list
thf(fact_287_split__list__last,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ? [Ys2: list_P7940050157051400743st_nat,Zs: list_P7940050157051400743st_nat] :
          ( ( Xs
            = ( append2623875052807961020st_nat @ Ys2 @ ( cons_P5007559046487125591st_nat @ X @ Zs ) ) )
          & ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Zs ) ) ) ) ).

% split_list_last
thf(fact_288_split__list__last,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ? [Ys2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
          ( ( Xs
            = ( append985823374593552924at_nat @ Ys2 @ ( cons_P6512896166579812791at_nat @ X @ Zs ) ) )
          & ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Zs ) ) ) ) ).

% split_list_last
thf(fact_289_split__list__last,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_list_nat,Zs: list_list_list_nat] :
          ( ( Xs
            = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X @ Zs ) ) )
          & ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_290_split__list__last,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ? [Ys2: list_list_term_a_b,Zs: list_list_term_a_b] :
          ( ( Xs
            = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X @ Zs ) ) )
          & ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_291_split__list__last,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
     => ? [Ys2: list_o,Zs: list_o] :
          ( ( Xs
            = ( append_o @ Ys2 @ ( cons_o @ X @ Zs ) ) )
          & ~ ( member_o @ X @ ( set_o2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_292_split__list__last,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ? [Ys2: list_term_a_b,Zs: list_term_a_b] :
          ( ( Xs
            = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X @ Zs ) ) )
          & ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_293_split__list__last,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_nat,Zs: list_list_nat] :
          ( ( Xs
            = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) )
          & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_294_split__list__last,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys2: list_nat,Zs: list_nat] :
          ( ( Xs
            = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Zs ) ) ) ) ).

% split_list_last
thf(fact_295_split__list__prop,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_list_nat,X2: list_list_nat] :
          ( ? [Zs: list_list_list_nat] :
              ( Xs
              = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_296_split__list__prop,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_term_a_b,X2: list_term_a_b] :
          ( ? [Zs: list_list_term_a_b] :
              ( Xs
              = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_297_split__list__prop,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_o,X2: $o] :
          ( ? [Zs: list_o] :
              ( Xs
              = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_298_split__list__prop,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_term_a_b,X2: term_a_b] :
          ( ? [Zs: list_term_a_b] :
              ( Xs
              = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_299_split__list__prop,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_nat,X2: list_nat] :
          ( ? [Zs: list_list_nat] :
              ( Xs
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_300_split__list__prop,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_nat,X2: nat] :
          ( ? [Zs: list_nat] :
              ( Xs
              = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 ) ) ) ).

% split_list_prop
thf(fact_301_split__list__first,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ? [Ys2: list_P7940050157051400743st_nat,Zs: list_P7940050157051400743st_nat] :
          ( ( Xs
            = ( append2623875052807961020st_nat @ Ys2 @ ( cons_P5007559046487125591st_nat @ X @ Zs ) ) )
          & ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_302_split__list__first,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ? [Ys2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
          ( ( Xs
            = ( append985823374593552924at_nat @ Ys2 @ ( cons_P6512896166579812791at_nat @ X @ Zs ) ) )
          & ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_303_split__list__first,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_list_nat,Zs: list_list_list_nat] :
          ( ( Xs
            = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X @ Zs ) ) )
          & ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_304_split__list__first,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ? [Ys2: list_list_term_a_b,Zs: list_list_term_a_b] :
          ( ( Xs
            = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X @ Zs ) ) )
          & ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_305_split__list__first,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
     => ? [Ys2: list_o,Zs: list_o] :
          ( ( Xs
            = ( append_o @ Ys2 @ ( cons_o @ X @ Zs ) ) )
          & ~ ( member_o @ X @ ( set_o2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_306_split__list__first,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ? [Ys2: list_term_a_b,Zs: list_term_a_b] :
          ( ( Xs
            = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X @ Zs ) ) )
          & ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_307_split__list__first,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ? [Ys2: list_list_nat,Zs: list_list_nat] :
          ( ( Xs
            = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) )
          & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_308_split__list__first,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ? [Ys2: list_nat,Zs: list_nat] :
          ( ( Xs
            = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_309_split__list__propE,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_list_nat,X2: list_list_nat] :
            ( ? [Zs: list_list_list_nat] :
                ( Xs
                = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_310_split__list__propE,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_term_a_b,X2: list_term_a_b] :
            ( ? [Zs: list_list_term_a_b] :
                ( Xs
                = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_311_split__list__propE,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_o,X2: $o] :
            ( ? [Zs: list_o] :
                ( Xs
                = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_312_split__list__propE,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_term_a_b,X2: term_a_b] :
            ( ? [Zs: list_term_a_b] :
                ( Xs
                = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_313_split__list__propE,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_nat,X2: list_nat] :
            ( ? [Zs: list_list_nat] :
                ( Xs
                = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_314_split__list__propE,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_nat,X2: nat] :
            ( ? [Zs: list_nat] :
                ( Xs
                = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
           => ~ ( P3 @ X2 ) ) ) ).

% split_list_propE
thf(fact_315_append__Cons__eq__iff,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat,Ys: list_P7940050157051400743st_nat,Xs3: list_P7940050157051400743st_nat,Ys4: list_P7940050157051400743st_nat] :
      ( ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
     => ( ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Ys ) )
       => ( ( ( append2623875052807961020st_nat @ Xs @ ( cons_P5007559046487125591st_nat @ X @ Ys ) )
            = ( append2623875052807961020st_nat @ Xs3 @ ( cons_P5007559046487125591st_nat @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_316_append__Cons__eq__iff,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Xs3: list_P6011104703257516679at_nat,Ys4: list_P6011104703257516679at_nat] :
      ( ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
     => ( ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Ys ) )
       => ( ( ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ Ys ) )
            = ( append985823374593552924at_nat @ Xs3 @ ( cons_P6512896166579812791at_nat @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_317_append__Cons__eq__iff,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat,Ys: list_list_list_nat,Xs3: list_list_list_nat,Ys4: list_list_list_nat] :
      ( ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
     => ( ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Ys ) )
       => ( ( ( append_list_list_nat @ Xs @ ( cons_list_list_nat @ X @ Ys ) )
            = ( append_list_list_nat @ Xs3 @ ( cons_list_list_nat @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_318_append__Cons__eq__iff,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b,Ys: list_list_term_a_b,Xs3: list_list_term_a_b,Ys4: list_list_term_a_b] :
      ( ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
     => ( ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys ) )
       => ( ( ( append_list_term_a_b @ Xs @ ( cons_list_term_a_b @ X @ Ys ) )
            = ( append_list_term_a_b @ Xs3 @ ( cons_list_term_a_b @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_319_append__Cons__eq__iff,axiom,
    ! [X: $o,Xs: list_o,Ys: list_o,Xs3: list_o,Ys4: list_o] :
      ( ~ ( member_o @ X @ ( set_o2 @ Xs ) )
     => ( ~ ( member_o @ X @ ( set_o2 @ Ys ) )
       => ( ( ( append_o @ Xs @ ( cons_o @ X @ Ys ) )
            = ( append_o @ Xs3 @ ( cons_o @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_320_append__Cons__eq__iff,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Ys: list_term_a_b,Xs3: list_term_a_b,Ys4: list_term_a_b] :
      ( ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ( ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Ys ) )
       => ( ( ( append_term_a_b @ Xs @ ( cons_term_a_b @ X @ Ys ) )
            = ( append_term_a_b @ Xs3 @ ( cons_term_a_b @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_321_append__Cons__eq__iff,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat,Xs3: list_list_nat,Ys4: list_list_nat] :
      ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys ) )
       => ( ( ( append_list_nat @ Xs @ ( cons_list_nat @ X @ Ys ) )
            = ( append_list_nat @ Xs3 @ ( cons_list_nat @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_322_append__Cons__eq__iff,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat,Xs3: list_nat,Ys4: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs ) )
     => ( ~ ( member_nat @ X @ ( set_nat2 @ Ys ) )
       => ( ( ( append_nat @ Xs @ ( cons_nat @ X @ Ys ) )
            = ( append_nat @ Xs3 @ ( cons_nat @ X @ Ys4 ) ) )
          = ( ( Xs = Xs3 )
            & ( Ys = Ys4 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_323_in__set__conv__decomp,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
      = ( ? [Ys3: list_P7940050157051400743st_nat,Zs3: list_P7940050157051400743st_nat] :
            ( Xs
            = ( append2623875052807961020st_nat @ Ys3 @ ( cons_P5007559046487125591st_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_324_in__set__conv__decomp,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
      = ( ? [Ys3: list_P6011104703257516679at_nat,Zs3: list_P6011104703257516679at_nat] :
            ( Xs
            = ( append985823374593552924at_nat @ Ys3 @ ( cons_P6512896166579812791at_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_325_in__set__conv__decomp,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_list_nat,Zs3: list_list_list_nat] :
            ( Xs
            = ( append_list_list_nat @ Ys3 @ ( cons_list_list_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_326_in__set__conv__decomp,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_list_term_a_b,Zs3: list_list_term_a_b] :
            ( Xs
            = ( append_list_term_a_b @ Ys3 @ ( cons_list_term_a_b @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_327_in__set__conv__decomp,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
      = ( ? [Ys3: list_o,Zs3: list_o] :
            ( Xs
            = ( append_o @ Ys3 @ ( cons_o @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_328_in__set__conv__decomp,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_term_a_b,Zs3: list_term_a_b] :
            ( Xs
            = ( append_term_a_b @ Ys3 @ ( cons_term_a_b @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_329_in__set__conv__decomp,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_nat,Zs3: list_list_nat] :
            ( Xs
            = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_330_in__set__conv__decomp,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( Xs
            = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_331_split__list__last__prop,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_list_nat,X2: list_list_nat,Zs: list_list_list_nat] :
          ( ( Xs
            = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_list_nat] :
              ( ( member_list_list_nat @ Xa2 @ ( set_list_list_nat2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_332_split__list__last__prop,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_term_a_b,X2: list_term_a_b,Zs: list_list_term_a_b] :
          ( ( Xs
            = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_term_a_b] :
              ( ( member_list_term_a_b @ Xa2 @ ( set_list_term_a_b2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_333_split__list__last__prop,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_o,X2: $o,Zs: list_o] :
          ( ( Xs
            = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: $o] :
              ( ( member_o @ Xa2 @ ( set_o2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_334_split__list__last__prop,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_term_a_b,X2: term_a_b,Zs: list_term_a_b] :
          ( ( Xs
            = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: term_a_b] :
              ( ( member_term_a_b @ Xa2 @ ( set_term_a_b2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_335_split__list__last__prop,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_nat,X2: list_nat,Zs: list_list_nat] :
          ( ( Xs
            = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_nat] :
              ( ( member_list_nat @ Xa2 @ ( set_list_nat2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_336_split__list__last__prop,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_nat,X2: nat,Zs: list_nat] :
          ( ( Xs
            = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: nat] :
              ( ( member_nat @ Xa2 @ ( set_nat2 @ Zs ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_337_split__list__first__prop,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_list_nat,X2: list_list_nat] :
          ( ? [Zs: list_list_list_nat] :
              ( Xs
              = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_list_nat] :
              ( ( member_list_list_nat @ Xa2 @ ( set_list_list_nat2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_338_split__list__first__prop,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_term_a_b,X2: list_term_a_b] :
          ( ? [Zs: list_list_term_a_b] :
              ( Xs
              = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_term_a_b] :
              ( ( member_list_term_a_b @ Xa2 @ ( set_list_term_a_b2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_339_split__list__first__prop,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_o,X2: $o] :
          ( ? [Zs: list_o] :
              ( Xs
              = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: $o] :
              ( ( member_o @ Xa2 @ ( set_o2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_340_split__list__first__prop,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_term_a_b,X2: term_a_b] :
          ( ? [Zs: list_term_a_b] :
              ( Xs
              = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: term_a_b] :
              ( ( member_term_a_b @ Xa2 @ ( set_term_a_b2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_341_split__list__first__prop,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_list_nat,X2: list_nat] :
          ( ? [Zs: list_list_nat] :
              ( Xs
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: list_nat] :
              ( ( member_list_nat @ Xa2 @ ( set_list_nat2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_342_split__list__first__prop,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ? [Ys2: list_nat,X2: nat] :
          ( ? [Zs: list_nat] :
              ( Xs
              = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
          & ( P3 @ X2 )
          & ! [Xa2: nat] :
              ( ( member_nat @ Xa2 @ ( set_nat2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_343_split__list__last__propE,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_list_nat,X2: list_list_nat,Zs: list_list_list_nat] :
            ( ( Xs
              = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_list_nat] :
                    ( ( member_list_list_nat @ Xa2 @ ( set_list_list_nat2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_344_split__list__last__propE,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_term_a_b,X2: list_term_a_b,Zs: list_list_term_a_b] :
            ( ( Xs
              = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_term_a_b] :
                    ( ( member_list_term_a_b @ Xa2 @ ( set_list_term_a_b2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_345_split__list__last__propE,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_o,X2: $o,Zs: list_o] :
            ( ( Xs
              = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: $o] :
                    ( ( member_o @ Xa2 @ ( set_o2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_346_split__list__last__propE,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_term_a_b,X2: term_a_b,Zs: list_term_a_b] :
            ( ( Xs
              = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: term_a_b] :
                    ( ( member_term_a_b @ Xa2 @ ( set_term_a_b2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_347_split__list__last__propE,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_nat,X2: list_nat,Zs: list_list_nat] :
            ( ( Xs
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_nat] :
                    ( ( member_list_nat @ Xa2 @ ( set_list_nat2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_348_split__list__last__propE,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_nat,X2: nat,Zs: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: nat] :
                    ( ( member_nat @ Xa2 @ ( set_nat2 @ Zs ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_349_split__list__first__propE,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ? [X4: list_list_nat] :
          ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_list_nat,X2: list_list_nat] :
            ( ? [Zs: list_list_list_nat] :
                ( Xs
                = ( append_list_list_nat @ Ys2 @ ( cons_list_list_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_list_nat] :
                    ( ( member_list_list_nat @ Xa2 @ ( set_list_list_nat2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_350_split__list__first__propE,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ? [X4: list_term_a_b] :
          ( ( member_list_term_a_b @ X4 @ ( set_list_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_term_a_b,X2: list_term_a_b] :
            ( ? [Zs: list_list_term_a_b] :
                ( Xs
                = ( append_list_term_a_b @ Ys2 @ ( cons_list_term_a_b @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_term_a_b] :
                    ( ( member_list_term_a_b @ Xa2 @ ( set_list_term_a_b2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_351_split__list__first__propE,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ? [X4: $o] :
          ( ( member_o @ X4 @ ( set_o2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_o,X2: $o] :
            ( ? [Zs: list_o] :
                ( Xs
                = ( append_o @ Ys2 @ ( cons_o @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: $o] :
                    ( ( member_o @ Xa2 @ ( set_o2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_352_split__list__first__propE,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ? [X4: term_a_b] :
          ( ( member_term_a_b @ X4 @ ( set_term_a_b2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_term_a_b,X2: term_a_b] :
            ( ? [Zs: list_term_a_b] :
                ( Xs
                = ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: term_a_b] :
                    ( ( member_term_a_b @ Xa2 @ ( set_term_a_b2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_353_split__list__first__propE,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_list_nat,X2: list_nat] :
            ( ? [Zs: list_list_nat] :
                ( Xs
                = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: list_nat] :
                    ( ( member_list_nat @ Xa2 @ ( set_list_nat2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_354_split__list__first__propE,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs ) )
          & ( P3 @ X4 ) )
     => ~ ! [Ys2: list_nat,X2: nat] :
            ( ? [Zs: list_nat] :
                ( Xs
                = ( append_nat @ Ys2 @ ( cons_nat @ X2 @ Zs ) ) )
           => ( ( P3 @ X2 )
             => ~ ! [Xa2: nat] :
                    ( ( member_nat @ Xa2 @ ( set_nat2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_355_in__set__conv__decomp__last,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
      = ( ? [Ys3: list_P7940050157051400743st_nat,Zs3: list_P7940050157051400743st_nat] :
            ( ( Xs
              = ( append2623875052807961020st_nat @ Ys3 @ ( cons_P5007559046487125591st_nat @ X @ Zs3 ) ) )
            & ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_356_in__set__conv__decomp__last,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
      = ( ? [Ys3: list_P6011104703257516679at_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( append985823374593552924at_nat @ Ys3 @ ( cons_P6512896166579812791at_nat @ X @ Zs3 ) ) )
            & ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_357_in__set__conv__decomp__last,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_list_nat,Zs3: list_list_list_nat] :
            ( ( Xs
              = ( append_list_list_nat @ Ys3 @ ( cons_list_list_nat @ X @ Zs3 ) ) )
            & ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_358_in__set__conv__decomp__last,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_list_term_a_b,Zs3: list_list_term_a_b] :
            ( ( Xs
              = ( append_list_term_a_b @ Ys3 @ ( cons_list_term_a_b @ X @ Zs3 ) ) )
            & ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_359_in__set__conv__decomp__last,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
      = ( ? [Ys3: list_o,Zs3: list_o] :
            ( ( Xs
              = ( append_o @ Ys3 @ ( cons_o @ X @ Zs3 ) ) )
            & ~ ( member_o @ X @ ( set_o2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_360_in__set__conv__decomp__last,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_term_a_b,Zs3: list_term_a_b] :
            ( ( Xs
              = ( append_term_a_b @ Ys3 @ ( cons_term_a_b @ X @ Zs3 ) ) )
            & ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_361_in__set__conv__decomp__last,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_nat,Zs3: list_list_nat] :
            ( ( Xs
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) )
            & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_362_in__set__conv__decomp__last,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_363_in__set__conv__decomp__first,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Xs ) )
      = ( ? [Ys3: list_P7940050157051400743st_nat,Zs3: list_P7940050157051400743st_nat] :
            ( ( Xs
              = ( append2623875052807961020st_nat @ Ys3 @ ( cons_P5007559046487125591st_nat @ X @ Zs3 ) ) )
            & ~ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_364_in__set__conv__decomp__first,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Xs ) )
      = ( ? [Ys3: list_P6011104703257516679at_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( append985823374593552924at_nat @ Ys3 @ ( cons_P6512896166579812791at_nat @ X @ Zs3 ) ) )
            & ~ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_365_in__set__conv__decomp__first,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_list_nat,Zs3: list_list_list_nat] :
            ( ( Xs
              = ( append_list_list_nat @ Ys3 @ ( cons_list_list_nat @ X @ Zs3 ) ) )
            & ~ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_366_in__set__conv__decomp__first,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_list_term_a_b,Zs3: list_list_term_a_b] :
            ( ( Xs
              = ( append_list_term_a_b @ Ys3 @ ( cons_list_term_a_b @ X @ Zs3 ) ) )
            & ~ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_367_in__set__conv__decomp__first,axiom,
    ! [X: $o,Xs: list_o] :
      ( ( member_o @ X @ ( set_o2 @ Xs ) )
      = ( ? [Ys3: list_o,Zs3: list_o] :
            ( ( Xs
              = ( append_o @ Ys3 @ ( cons_o @ X @ Zs3 ) ) )
            & ~ ( member_o @ X @ ( set_o2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_368_in__set__conv__decomp__first,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
      = ( ? [Ys3: list_term_a_b,Zs3: list_term_a_b] :
            ( ( Xs
              = ( append_term_a_b @ Ys3 @ ( cons_term_a_b @ X @ Zs3 ) ) )
            & ~ ( member_term_a_b @ X @ ( set_term_a_b2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_369_in__set__conv__decomp__first,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
      = ( ? [Ys3: list_list_nat,Zs3: list_list_nat] :
            ( ( Xs
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) )
            & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_370_in__set__conv__decomp__first,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs ) )
      = ( ? [Ys3: list_nat,Zs3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_371_split__list__last__prop__iff,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ( ? [X3: list_list_nat] :
            ( ( member_list_list_nat @ X3 @ ( set_list_list_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_list_nat,X3: list_list_nat,Zs3: list_list_list_nat] :
            ( ( Xs
              = ( append_list_list_nat @ Ys3 @ ( cons_list_list_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_list_nat] :
                ( ( member_list_list_nat @ Y2 @ ( set_list_list_nat2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_372_split__list__last__prop__iff,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ( ? [X3: list_term_a_b] :
            ( ( member_list_term_a_b @ X3 @ ( set_list_term_a_b2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_term_a_b,X3: list_term_a_b,Zs3: list_list_term_a_b] :
            ( ( Xs
              = ( append_list_term_a_b @ Ys3 @ ( cons_list_term_a_b @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_term_a_b] :
                ( ( member_list_term_a_b @ Y2 @ ( set_list_term_a_b2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_373_split__list__last__prop__iff,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ( ? [X3: $o] :
            ( ( member_o @ X3 @ ( set_o2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_o,X3: $o,Zs3: list_o] :
            ( ( Xs
              = ( append_o @ Ys3 @ ( cons_o @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: $o] :
                ( ( member_o @ Y2 @ ( set_o2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_374_split__list__last__prop__iff,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ( ? [X3: term_a_b] :
            ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_term_a_b,X3: term_a_b,Zs3: list_term_a_b] :
            ( ( Xs
              = ( append_term_a_b @ Ys3 @ ( cons_term_a_b @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: term_a_b] :
                ( ( member_term_a_b @ Y2 @ ( set_term_a_b2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_375_split__list__last__prop__iff,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ( ? [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_nat,X3: list_nat,Zs3: list_list_nat] :
            ( ( Xs
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_nat] :
                ( ( member_list_nat @ Y2 @ ( set_list_nat2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_376_split__list__last__prop__iff,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ( ? [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_nat,X3: nat,Zs3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: nat] :
                ( ( member_nat @ Y2 @ ( set_nat2 @ Zs3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_377_split__list__first__prop__iff,axiom,
    ! [Xs: list_list_list_nat,P3: list_list_nat > $o] :
      ( ( ? [X3: list_list_nat] :
            ( ( member_list_list_nat @ X3 @ ( set_list_list_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_list_nat,X3: list_list_nat] :
            ( ? [Zs3: list_list_list_nat] :
                ( Xs
                = ( append_list_list_nat @ Ys3 @ ( cons_list_list_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_list_nat] :
                ( ( member_list_list_nat @ Y2 @ ( set_list_list_nat2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_378_split__list__first__prop__iff,axiom,
    ! [Xs: list_list_term_a_b,P3: list_term_a_b > $o] :
      ( ( ? [X3: list_term_a_b] :
            ( ( member_list_term_a_b @ X3 @ ( set_list_term_a_b2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_term_a_b,X3: list_term_a_b] :
            ( ? [Zs3: list_list_term_a_b] :
                ( Xs
                = ( append_list_term_a_b @ Ys3 @ ( cons_list_term_a_b @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_term_a_b] :
                ( ( member_list_term_a_b @ Y2 @ ( set_list_term_a_b2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_379_split__list__first__prop__iff,axiom,
    ! [Xs: list_o,P3: $o > $o] :
      ( ( ? [X3: $o] :
            ( ( member_o @ X3 @ ( set_o2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_o,X3: $o] :
            ( ? [Zs3: list_o] :
                ( Xs
                = ( append_o @ Ys3 @ ( cons_o @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: $o] :
                ( ( member_o @ Y2 @ ( set_o2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_380_split__list__first__prop__iff,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ( ? [X3: term_a_b] :
            ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_term_a_b,X3: term_a_b] :
            ( ? [Zs3: list_term_a_b] :
                ( Xs
                = ( append_term_a_b @ Ys3 @ ( cons_term_a_b @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: term_a_b] :
                ( ( member_term_a_b @ Y2 @ ( set_term_a_b2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_381_split__list__first__prop__iff,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o] :
      ( ( ? [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_list_nat,X3: list_nat] :
            ( ? [Zs3: list_list_nat] :
                ( Xs
                = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: list_nat] :
                ( ( member_list_nat @ Y2 @ ( set_list_nat2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_382_split__list__first__prop__iff,axiom,
    ! [Xs: list_nat,P3: nat > $o] :
      ( ( ? [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [Ys3: list_nat,X3: nat] :
            ( ? [Zs3: list_nat] :
                ( Xs
                = ( append_nat @ Ys3 @ ( cons_nat @ X3 @ Zs3 ) ) )
            & ( P3 @ X3 )
            & ! [Y2: nat] :
                ( ( member_nat @ Y2 @ ( set_nat2 @ Ys3 ) )
               => ~ ( P3 @ Y2 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_383_parallel__replace__term__commute,axiom,
    ! [P: list_nat,Q: list_nat,S: term_a_b,T2: term_a_b,U2: term_a_b] :
      ( ( term_p5017330785391824242ar_nat @ P @ Q )
     => ( ( term_r6860082780075436317at_a_b @ ( term_r6860082780075436317at_a_b @ S @ P @ T2 ) @ Q @ U2 )
        = ( term_r6860082780075436317at_a_b @ ( term_r6860082780075436317at_a_b @ S @ Q @ U2 ) @ P @ T2 ) ) ) ).

% parallel_replace_term_commute
thf(fact_384_append__eq__append__conv2,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,Ts2: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = ( append_nat @ Zs2 @ Ts2 ) )
      = ( ? [Us: list_nat] :
            ( ( ( Xs
                = ( append_nat @ Zs2 @ Us ) )
              & ( ( append_nat @ Us @ Ys )
                = Ts2 ) )
            | ( ( ( append_nat @ Xs @ Us )
                = Zs2 )
              & ( Ys
                = ( append_nat @ Us @ Ts2 ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_385_append__eq__append__conv2,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat,Ts2: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Ys )
        = ( append_list_nat @ Zs2 @ Ts2 ) )
      = ( ? [Us: list_list_nat] :
            ( ( ( Xs
                = ( append_list_nat @ Zs2 @ Us ) )
              & ( ( append_list_nat @ Us @ Ys )
                = Ts2 ) )
            | ( ( ( append_list_nat @ Xs @ Us )
                = Zs2 )
              & ( Ys
                = ( append_list_nat @ Us @ Ts2 ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_386_append__eq__append__conv2,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,Zs2: list_term_a_b,Ts2: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Ys )
        = ( append_term_a_b @ Zs2 @ Ts2 ) )
      = ( ? [Us: list_term_a_b] :
            ( ( ( Xs
                = ( append_term_a_b @ Zs2 @ Us ) )
              & ( ( append_term_a_b @ Us @ Ys )
                = Ts2 ) )
            | ( ( ( append_term_a_b @ Xs @ Us )
                = Zs2 )
              & ( Ys
                = ( append_term_a_b @ Us @ Ts2 ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_387_append__eq__appendI,axiom,
    ! [Xs: list_nat,Xs1: list_nat,Zs2: list_nat,Ys: list_nat,Us2: list_nat] :
      ( ( ( append_nat @ Xs @ Xs1 )
        = Zs2 )
     => ( ( Ys
          = ( append_nat @ Xs1 @ Us2 ) )
       => ( ( append_nat @ Xs @ Ys )
          = ( append_nat @ Zs2 @ Us2 ) ) ) ) ).

% append_eq_appendI
thf(fact_388_append__eq__appendI,axiom,
    ! [Xs: list_list_nat,Xs1: list_list_nat,Zs2: list_list_nat,Ys: list_list_nat,Us2: list_list_nat] :
      ( ( ( append_list_nat @ Xs @ Xs1 )
        = Zs2 )
     => ( ( Ys
          = ( append_list_nat @ Xs1 @ Us2 ) )
       => ( ( append_list_nat @ Xs @ Ys )
          = ( append_list_nat @ Zs2 @ Us2 ) ) ) ) ).

% append_eq_appendI
thf(fact_389_append__eq__appendI,axiom,
    ! [Xs: list_term_a_b,Xs1: list_term_a_b,Zs2: list_term_a_b,Ys: list_term_a_b,Us2: list_term_a_b] :
      ( ( ( append_term_a_b @ Xs @ Xs1 )
        = Zs2 )
     => ( ( Ys
          = ( append_term_a_b @ Xs1 @ Us2 ) )
       => ( ( append_term_a_b @ Xs @ Ys )
          = ( append_term_a_b @ Zs2 @ Us2 ) ) ) ) ).

% append_eq_appendI
thf(fact_390_list__all__cong,axiom,
    ! [X: list_P7940050157051400743st_nat,Ya: list_P7940050157051400743st_nat,P3: produc1828647624359046049st_nat > $o,Pa: produc1828647624359046049st_nat > $o] :
      ( ( X = Ya )
     => ( ! [Z: produc1828647624359046049st_nat] :
            ( ( member7340969449405702474st_nat @ Z @ ( set_Pr3842133991353686454st_nat @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_a499173767754505813st_nat @ P3 @ X )
          = ( list_a499173767754505813st_nat @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_391_list__all__cong,axiom,
    ! [X: list_P6011104703257516679at_nat,Ya: list_P6011104703257516679at_nat,P3: product_prod_nat_nat > $o,Pa: product_prod_nat_nat > $o] :
      ( ( X = Ya )
     => ( ! [Z: product_prod_nat_nat] :
            ( ( member8440522571783428010at_nat @ Z @ ( set_Pr5648618587558075414at_nat @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_a5484268745570228149at_nat @ P3 @ X )
          = ( list_a5484268745570228149at_nat @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_392_list__all__cong,axiom,
    ! [X: list_list_list_nat,Ya: list_list_list_nat,P3: list_list_nat > $o,Pa: list_list_nat > $o] :
      ( ( X = Ya )
     => ( ! [Z: list_list_nat] :
            ( ( member_list_list_nat @ Z @ ( set_list_list_nat2 @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_a6859259979406887356st_nat @ P3 @ X )
          = ( list_a6859259979406887356st_nat @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_393_list__all__cong,axiom,
    ! [X: list_list_term_a_b,Ya: list_list_term_a_b,P3: list_term_a_b > $o,Pa: list_term_a_b > $o] :
      ( ( X = Ya )
     => ( ! [Z: list_term_a_b] :
            ( ( member_list_term_a_b @ Z @ ( set_list_term_a_b2 @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_a3518980226543509232rm_a_b @ P3 @ X )
          = ( list_a3518980226543509232rm_a_b @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_394_list__all__cong,axiom,
    ! [X: list_nat,Ya: list_nat,P3: nat > $o,Pa: nat > $o] :
      ( ( X = Ya )
     => ( ! [Z: nat] :
            ( ( member_nat @ Z @ ( set_nat2 @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_all_nat @ P3 @ X )
          = ( list_all_nat @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_395_list__all__cong,axiom,
    ! [X: list_term_a_b,Ya: list_term_a_b,P3: term_a_b > $o,Pa: term_a_b > $o] :
      ( ( X = Ya )
     => ( ! [Z: term_a_b] :
            ( ( member_term_a_b @ Z @ ( set_term_a_b2 @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_all_term_a_b @ P3 @ X )
          = ( list_all_term_a_b @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_396_list__all__cong,axiom,
    ! [X: list_list_nat,Ya: list_list_nat,P3: list_nat > $o,Pa: list_nat > $o] :
      ( ( X = Ya )
     => ( ! [Z: list_nat] :
            ( ( member_list_nat @ Z @ ( set_list_nat2 @ Ya ) )
           => ( ( P3 @ Z )
              = ( Pa @ Z ) ) )
       => ( ( list_all_list_nat @ P3 @ X )
          = ( list_all_list_nat @ Pa @ Ya ) ) ) ) ).

% list_all_cong
thf(fact_397_list_Opred__mono__strong,axiom,
    ! [P3: produc1828647624359046049st_nat > $o,X: list_P7940050157051400743st_nat,Pa: produc1828647624359046049st_nat > $o] :
      ( ( list_a499173767754505813st_nat @ P3 @ X )
     => ( ! [Z: produc1828647624359046049st_nat] :
            ( ( member7340969449405702474st_nat @ Z @ ( set_Pr3842133991353686454st_nat @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_a499173767754505813st_nat @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_398_list_Opred__mono__strong,axiom,
    ! [P3: product_prod_nat_nat > $o,X: list_P6011104703257516679at_nat,Pa: product_prod_nat_nat > $o] :
      ( ( list_a5484268745570228149at_nat @ P3 @ X )
     => ( ! [Z: product_prod_nat_nat] :
            ( ( member8440522571783428010at_nat @ Z @ ( set_Pr5648618587558075414at_nat @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_a5484268745570228149at_nat @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_399_list_Opred__mono__strong,axiom,
    ! [P3: list_list_nat > $o,X: list_list_list_nat,Pa: list_list_nat > $o] :
      ( ( list_a6859259979406887356st_nat @ P3 @ X )
     => ( ! [Z: list_list_nat] :
            ( ( member_list_list_nat @ Z @ ( set_list_list_nat2 @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_a6859259979406887356st_nat @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_400_list_Opred__mono__strong,axiom,
    ! [P3: list_term_a_b > $o,X: list_list_term_a_b,Pa: list_term_a_b > $o] :
      ( ( list_a3518980226543509232rm_a_b @ P3 @ X )
     => ( ! [Z: list_term_a_b] :
            ( ( member_list_term_a_b @ Z @ ( set_list_term_a_b2 @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_a3518980226543509232rm_a_b @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_401_list_Opred__mono__strong,axiom,
    ! [P3: nat > $o,X: list_nat,Pa: nat > $o] :
      ( ( list_all_nat @ P3 @ X )
     => ( ! [Z: nat] :
            ( ( member_nat @ Z @ ( set_nat2 @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_all_nat @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_402_list_Opred__mono__strong,axiom,
    ! [P3: term_a_b > $o,X: list_term_a_b,Pa: term_a_b > $o] :
      ( ( list_all_term_a_b @ P3 @ X )
     => ( ! [Z: term_a_b] :
            ( ( member_term_a_b @ Z @ ( set_term_a_b2 @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_all_term_a_b @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_403_list_Opred__mono__strong,axiom,
    ! [P3: list_nat > $o,X: list_list_nat,Pa: list_nat > $o] :
      ( ( list_all_list_nat @ P3 @ X )
     => ( ! [Z: list_nat] :
            ( ( member_list_nat @ Z @ ( set_list_nat2 @ X ) )
           => ( ( P3 @ Z )
             => ( Pa @ Z ) ) )
       => ( list_all_list_nat @ Pa @ X ) ) ) ).

% list.pred_mono_strong
thf(fact_404_list_Opred__True,axiom,
    ( ( list_all_nat
      @ ^ [Uu2: nat] : $true )
    = ( ^ [Uu2: list_nat] : $true ) ) ).

% list.pred_True
thf(fact_405_list_Opred__True,axiom,
    ( ( list_all_list_nat
      @ ^ [Uu2: list_nat] : $true )
    = ( ^ [Uu2: list_list_nat] : $true ) ) ).

% list.pred_True
thf(fact_406_list_Opred__True,axiom,
    ( ( list_all_term_a_b
      @ ^ [Uu2: term_a_b] : $true )
    = ( ^ [Uu2: list_term_a_b] : $true ) ) ).

% list.pred_True
thf(fact_407_find__map__filter_Ocases,axiom,
    ! [X: produc1790187910217387054st_nat] :
      ( ! [F3: nat > nat,P4: nat > $o] :
          ( X
         != ( produc1024386139020989030st_nat @ F3 @ ( produc8587622027977423880st_nat @ P4 @ nil_nat ) ) )
     => ~ ! [F3: nat > nat,P4: nat > $o,A3: nat,As: list_nat] :
            ( X
           != ( produc1024386139020989030st_nat @ F3 @ ( produc8587622027977423880st_nat @ P4 @ ( cons_nat @ A3 @ As ) ) ) ) ) ).

% find_map_filter.cases
thf(fact_408_filter2_Ocases,axiom,
    ! [X: produc4787317212837456354st_nat] :
      ( ! [P5: nat > nat > $o,Uu: list_nat] :
          ( X
         != ( produc3127733452865184594st_nat @ P5 @ ( produc2694037385005941721st_nat @ nil_nat @ Uu ) ) )
     => ( ! [P5: nat > nat > $o,V: nat,Va: list_nat] :
            ( X
           != ( produc3127733452865184594st_nat @ P5 @ ( produc2694037385005941721st_nat @ ( cons_nat @ V @ Va ) @ nil_nat ) ) )
       => ~ ! [P5: nat > nat > $o,A3: nat,As: list_nat,B3: nat,Bs: list_nat] :
              ( X
             != ( produc3127733452865184594st_nat @ P5 @ ( produc2694037385005941721st_nat @ ( cons_nat @ A3 @ As ) @ ( cons_nat @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_409_filter2_Ocases,axiom,
    ! [X: produc3629860864130097256list_o] :
      ( ! [P5: nat > $o > $o,Uu: list_o] :
          ( X
         != ( produc8759489541920558368list_o @ P5 @ ( produc699922362453767013list_o @ nil_nat @ Uu ) ) )
     => ( ! [P5: nat > $o > $o,V: nat,Va: list_nat] :
            ( X
           != ( produc8759489541920558368list_o @ P5 @ ( produc699922362453767013list_o @ ( cons_nat @ V @ Va ) @ nil_o ) ) )
       => ~ ! [P5: nat > $o > $o,A3: nat,As: list_nat,B3: $o,Bs: list_o] :
              ( X
             != ( produc8759489541920558368list_o @ P5 @ ( produc699922362453767013list_o @ ( cons_nat @ A3 @ As ) @ ( cons_o @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_410_filter2_Ocases,axiom,
    ! [X: produc8077232609025113690st_nat] :
      ( ! [P5: $o > nat > $o,Uu: list_nat] :
          ( X
         != ( produc8596593174839838738st_nat @ P5 @ ( produc7128876500814652583st_nat @ nil_o @ Uu ) ) )
     => ( ! [P5: $o > nat > $o,V: $o,Va: list_o] :
            ( X
           != ( produc8596593174839838738st_nat @ P5 @ ( produc7128876500814652583st_nat @ ( cons_o @ V @ Va ) @ nil_nat ) ) )
       => ~ ! [P5: $o > nat > $o,A3: $o,As: list_o,B3: nat,Bs: list_nat] :
              ( X
             != ( produc8596593174839838738st_nat @ P5 @ ( produc7128876500814652583st_nat @ ( cons_o @ A3 @ As ) @ ( cons_nat @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_411_filter2_Ocases,axiom,
    ! [X: produc7430936521001197280list_o] :
      ( ! [P5: $o > $o > $o,Uu: list_o] :
          ( X
         != ( produc1053151756291264592list_o @ P5 @ ( produc8435520187683070743list_o @ nil_o @ Uu ) ) )
     => ( ! [P5: $o > $o > $o,V: $o,Va: list_o] :
            ( X
           != ( produc1053151756291264592list_o @ P5 @ ( produc8435520187683070743list_o @ ( cons_o @ V @ Va ) @ nil_o ) ) )
       => ~ ! [P5: $o > $o > $o,A3: $o,As: list_o,B3: $o,Bs: list_o] :
              ( X
             != ( produc1053151756291264592list_o @ P5 @ ( produc8435520187683070743list_o @ ( cons_o @ A3 @ As ) @ ( cons_o @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_412_filter2_Ocases,axiom,
    ! [X: produc1347435883734243714st_nat] :
      ( ! [P5: nat > list_nat > $o,Uu: list_list_nat] :
          ( X
         != ( produc1066871748563060210st_nat @ P5 @ ( produc7676750419334090729st_nat @ nil_nat @ Uu ) ) )
     => ( ! [P5: nat > list_nat > $o,V: nat,Va: list_nat] :
            ( X
           != ( produc1066871748563060210st_nat @ P5 @ ( produc7676750419334090729st_nat @ ( cons_nat @ V @ Va ) @ nil_list_nat ) ) )
       => ~ ! [P5: nat > list_nat > $o,A3: nat,As: list_nat,B3: list_nat,Bs: list_list_nat] :
              ( X
             != ( produc1066871748563060210st_nat @ P5 @ ( produc7676750419334090729st_nat @ ( cons_nat @ A3 @ As ) @ ( cons_list_nat @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_413_filter2_Ocases,axiom,
    ! [X: produc6442452500694806490st_nat] :
      ( ! [P5: $o > list_nat > $o,Uu: list_list_nat] :
          ( X
         != ( produc4544480972032469138st_nat @ P5 @ ( produc4475012143487955383st_nat @ nil_o @ Uu ) ) )
     => ( ! [P5: $o > list_nat > $o,V: $o,Va: list_o] :
            ( X
           != ( produc4544480972032469138st_nat @ P5 @ ( produc4475012143487955383st_nat @ ( cons_o @ V @ Va ) @ nil_list_nat ) ) )
       => ~ ! [P5: $o > list_nat > $o,A3: $o,As: list_o,B3: list_nat,Bs: list_list_nat] :
              ( X
             != ( produc4544480972032469138st_nat @ P5 @ ( produc4475012143487955383st_nat @ ( cons_o @ A3 @ As ) @ ( cons_list_nat @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_414_filter2_Ocases,axiom,
    ! [X: produc4668407523905498626st_nat] :
      ( ! [P5: list_nat > nat > $o,Uu: list_nat] :
          ( X
         != ( produc8692729437461895794st_nat @ P5 @ ( produc8303078633012690025st_nat @ nil_list_nat @ Uu ) ) )
     => ( ! [P5: list_nat > nat > $o,V: list_nat,Va: list_list_nat] :
            ( X
           != ( produc8692729437461895794st_nat @ P5 @ ( produc8303078633012690025st_nat @ ( cons_list_nat @ V @ Va ) @ nil_nat ) ) )
       => ~ ! [P5: list_nat > nat > $o,A3: list_nat,As: list_list_nat,B3: nat,Bs: list_nat] :
              ( X
             != ( produc8692729437461895794st_nat @ P5 @ ( produc8303078633012690025st_nat @ ( cons_list_nat @ A3 @ As ) @ ( cons_nat @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_415_filter2_Ocases,axiom,
    ! [X: produc6542022878827529832list_o] :
      ( ! [P5: list_nat > $o > $o,Uu: list_o] :
          ( X
         != ( produc8396756662722826784list_o @ P5 @ ( produc2017423731884799701list_o @ nil_list_nat @ Uu ) ) )
     => ( ! [P5: list_nat > $o > $o,V: list_nat,Va: list_list_nat] :
            ( X
           != ( produc8396756662722826784list_o @ P5 @ ( produc2017423731884799701list_o @ ( cons_list_nat @ V @ Va ) @ nil_o ) ) )
       => ~ ! [P5: list_nat > $o > $o,A3: list_nat,As: list_list_nat,B3: $o,Bs: list_o] :
              ( X
             != ( produc8396756662722826784list_o @ P5 @ ( produc2017423731884799701list_o @ ( cons_list_nat @ A3 @ As ) @ ( cons_o @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_416_filter2_Ocases,axiom,
    ! [X: produc8734217775477389290rm_a_b] :
      ( ! [P5: nat > term_a_b > $o,Uu: list_term_a_b] :
          ( X
         != ( produc2750092164434624090rm_a_b @ P5 @ ( produc4336470666470712605rm_a_b @ nil_nat @ Uu ) ) )
     => ( ! [P5: nat > term_a_b > $o,V: nat,Va: list_nat] :
            ( X
           != ( produc2750092164434624090rm_a_b @ P5 @ ( produc4336470666470712605rm_a_b @ ( cons_nat @ V @ Va ) @ nil_term_a_b ) ) )
       => ~ ! [P5: nat > term_a_b > $o,A3: nat,As: list_nat,B3: term_a_b,Bs: list_term_a_b] :
              ( X
             != ( produc2750092164434624090rm_a_b @ P5 @ ( produc4336470666470712605rm_a_b @ ( cons_nat @ A3 @ As ) @ ( cons_term_a_b @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_417_filter2_Ocases,axiom,
    ! [X: produc694237350640951002rm_a_b] :
      ( ! [P5: $o > term_a_b > $o,Uu: list_term_a_b] :
          ( X
         != ( produc2316076382961807762rm_a_b @ P5 @ ( produc1134732390624577259rm_a_b @ nil_o @ Uu ) ) )
     => ( ! [P5: $o > term_a_b > $o,V: $o,Va: list_o] :
            ( X
           != ( produc2316076382961807762rm_a_b @ P5 @ ( produc1134732390624577259rm_a_b @ ( cons_o @ V @ Va ) @ nil_term_a_b ) ) )
       => ~ ! [P5: $o > term_a_b > $o,A3: $o,As: list_o,B3: term_a_b,Bs: list_term_a_b] :
              ( X
             != ( produc2316076382961807762rm_a_b @ P5 @ ( produc1134732390624577259rm_a_b @ ( cons_o @ A3 @ As ) @ ( cons_term_a_b @ B3 @ Bs ) ) ) ) ) ) ).

% filter2.cases
thf(fact_418_term__to__sig_Ocases,axiom,
    ! [X: produc5279506192219892694rm_a_b] :
      ( ! [F4: set_Pr4934435412358123699_a_nat,V: b,X2: b] :
          ( X
         != ( produc8030969961714872974rm_a_b @ F4 @ ( produc1437816968797971900rm_a_b @ V @ ( var_b_a @ X2 ) ) ) )
     => ~ ! [F4: set_Pr4934435412358123699_a_nat,V: b,F3: a,Ts: list_term_a_b] :
            ( X
           != ( produc8030969961714872974rm_a_b @ F4 @ ( produc1437816968797971900rm_a_b @ V @ ( fun_a_b @ F3 @ Ts ) ) ) ) ) ).

% term_to_sig.cases
thf(fact_419_Cons__eq__appendI,axiom,
    ! [X: $o,Xs1: list_o,Ys: list_o,Xs: list_o,Zs2: list_o] :
      ( ( ( cons_o @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_o @ Xs1 @ Zs2 ) )
       => ( ( cons_o @ X @ Xs )
          = ( append_o @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_420_Cons__eq__appendI,axiom,
    ! [X: term_a_b,Xs1: list_term_a_b,Ys: list_term_a_b,Xs: list_term_a_b,Zs2: list_term_a_b] :
      ( ( ( cons_term_a_b @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_term_a_b @ Xs1 @ Zs2 ) )
       => ( ( cons_term_a_b @ X @ Xs )
          = ( append_term_a_b @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_421_Cons__eq__appendI,axiom,
    ! [X: list_nat,Xs1: list_list_nat,Ys: list_list_nat,Xs: list_list_nat,Zs2: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_list_nat @ Xs1 @ Zs2 ) )
       => ( ( cons_list_nat @ X @ Xs )
          = ( append_list_nat @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_422_Cons__eq__appendI,axiom,
    ! [X: nat,Xs1: list_nat,Ys: list_nat,Xs: list_nat,Zs2: list_nat] :
      ( ( ( cons_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_nat @ Xs1 @ Zs2 ) )
       => ( ( cons_nat @ X @ Xs )
          = ( append_nat @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_423_append__Cons,axiom,
    ! [X: $o,Xs: list_o,Ys: list_o] :
      ( ( append_o @ ( cons_o @ X @ Xs ) @ Ys )
      = ( cons_o @ X @ ( append_o @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_424_append__Cons,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( append_term_a_b @ ( cons_term_a_b @ X @ Xs ) @ Ys )
      = ( cons_term_a_b @ X @ ( append_term_a_b @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_425_append__Cons,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( append_list_nat @ ( cons_list_nat @ X @ Xs ) @ Ys )
      = ( cons_list_nat @ X @ ( append_list_nat @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_426_append__Cons,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( append_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( cons_nat @ X @ ( append_nat @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_427_append__Nil,axiom,
    ! [Ys: list_list_nat] :
      ( ( append_list_nat @ nil_list_nat @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_428_append__Nil,axiom,
    ! [Ys: list_term_a_b] :
      ( ( append_term_a_b @ nil_term_a_b @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_429_append__Nil,axiom,
    ! [Ys: list_nat] :
      ( ( append_nat @ nil_nat @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_430_append_Oleft__neutral,axiom,
    ! [A: list_list_nat] :
      ( ( append_list_nat @ nil_list_nat @ A )
      = A ) ).

% append.left_neutral
thf(fact_431_append_Oleft__neutral,axiom,
    ! [A: list_term_a_b] :
      ( ( append_term_a_b @ nil_term_a_b @ A )
      = A ) ).

% append.left_neutral
thf(fact_432_append_Oleft__neutral,axiom,
    ! [A: list_nat] :
      ( ( append_nat @ nil_nat @ A )
      = A ) ).

% append.left_neutral
thf(fact_433_eq__Nil__appendI,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_list_nat @ nil_list_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_434_eq__Nil__appendI,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_term_a_b @ nil_term_a_b @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_435_eq__Nil__appendI,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_nat @ nil_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_436_set__ConsD,axiom,
    ! [Y3: produc1828647624359046049st_nat,X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ Y3 @ ( set_Pr3842133991353686454st_nat @ ( cons_P5007559046487125591st_nat @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member7340969449405702474st_nat @ Y3 @ ( set_Pr3842133991353686454st_nat @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_437_set__ConsD,axiom,
    ! [Y3: product_prod_nat_nat,X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ Y3 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member8440522571783428010at_nat @ Y3 @ ( set_Pr5648618587558075414at_nat @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_438_set__ConsD,axiom,
    ! [Y3: list_list_nat,X: list_list_nat,Xs: list_list_list_nat] :
      ( ( member_list_list_nat @ Y3 @ ( set_list_list_nat2 @ ( cons_list_list_nat @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_list_list_nat @ Y3 @ ( set_list_list_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_439_set__ConsD,axiom,
    ! [Y3: list_term_a_b,X: list_term_a_b,Xs: list_list_term_a_b] :
      ( ( member_list_term_a_b @ Y3 @ ( set_list_term_a_b2 @ ( cons_list_term_a_b @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_list_term_a_b @ Y3 @ ( set_list_term_a_b2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_440_set__ConsD,axiom,
    ! [Y3: $o,X: $o,Xs: list_o] :
      ( ( member_o @ Y3 @ ( set_o2 @ ( cons_o @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_o @ Y3 @ ( set_o2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_441_set__ConsD,axiom,
    ! [Y3: term_a_b,X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ Y3 @ ( set_term_a_b2 @ ( cons_term_a_b @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_term_a_b @ Y3 @ ( set_term_a_b2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_442_set__ConsD,axiom,
    ! [Y3: list_nat,X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ ( cons_list_nat @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_list_nat @ Y3 @ ( set_list_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_443_set__ConsD,axiom,
    ! [Y3: nat,X: nat,Xs: list_nat] :
      ( ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) )
     => ( ( Y3 = X )
        | ( member_nat @ Y3 @ ( set_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_444_list_Oset__cases,axiom,
    ! [E: produc1828647624359046049st_nat,A: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ E @ ( set_Pr3842133991353686454st_nat @ A ) )
     => ( ! [Z2: list_P7940050157051400743st_nat] :
            ( A
           != ( cons_P5007559046487125591st_nat @ E @ Z2 ) )
       => ~ ! [Z1: produc1828647624359046049st_nat,Z2: list_P7940050157051400743st_nat] :
              ( ( A
                = ( cons_P5007559046487125591st_nat @ Z1 @ Z2 ) )
             => ~ ( member7340969449405702474st_nat @ E @ ( set_Pr3842133991353686454st_nat @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_445_list_Oset__cases,axiom,
    ! [E: product_prod_nat_nat,A: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ E @ ( set_Pr5648618587558075414at_nat @ A ) )
     => ( ! [Z2: list_P6011104703257516679at_nat] :
            ( A
           != ( cons_P6512896166579812791at_nat @ E @ Z2 ) )
       => ~ ! [Z1: product_prod_nat_nat,Z2: list_P6011104703257516679at_nat] :
              ( ( A
                = ( cons_P6512896166579812791at_nat @ Z1 @ Z2 ) )
             => ~ ( member8440522571783428010at_nat @ E @ ( set_Pr5648618587558075414at_nat @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_446_list_Oset__cases,axiom,
    ! [E: list_list_nat,A: list_list_list_nat] :
      ( ( member_list_list_nat @ E @ ( set_list_list_nat2 @ A ) )
     => ( ! [Z2: list_list_list_nat] :
            ( A
           != ( cons_list_list_nat @ E @ Z2 ) )
       => ~ ! [Z1: list_list_nat,Z2: list_list_list_nat] :
              ( ( A
                = ( cons_list_list_nat @ Z1 @ Z2 ) )
             => ~ ( member_list_list_nat @ E @ ( set_list_list_nat2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_447_list_Oset__cases,axiom,
    ! [E: list_term_a_b,A: list_list_term_a_b] :
      ( ( member_list_term_a_b @ E @ ( set_list_term_a_b2 @ A ) )
     => ( ! [Z2: list_list_term_a_b] :
            ( A
           != ( cons_list_term_a_b @ E @ Z2 ) )
       => ~ ! [Z1: list_term_a_b,Z2: list_list_term_a_b] :
              ( ( A
                = ( cons_list_term_a_b @ Z1 @ Z2 ) )
             => ~ ( member_list_term_a_b @ E @ ( set_list_term_a_b2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_448_list_Oset__cases,axiom,
    ! [E: $o,A: list_o] :
      ( ( member_o @ E @ ( set_o2 @ A ) )
     => ( ! [Z2: list_o] :
            ( A
           != ( cons_o @ E @ Z2 ) )
       => ~ ! [Z1: $o,Z2: list_o] :
              ( ( A
                = ( cons_o @ Z1 @ Z2 ) )
             => ~ ( member_o @ E @ ( set_o2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_449_list_Oset__cases,axiom,
    ! [E: term_a_b,A: list_term_a_b] :
      ( ( member_term_a_b @ E @ ( set_term_a_b2 @ A ) )
     => ( ! [Z2: list_term_a_b] :
            ( A
           != ( cons_term_a_b @ E @ Z2 ) )
       => ~ ! [Z1: term_a_b,Z2: list_term_a_b] :
              ( ( A
                = ( cons_term_a_b @ Z1 @ Z2 ) )
             => ~ ( member_term_a_b @ E @ ( set_term_a_b2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_450_list_Oset__cases,axiom,
    ! [E: list_nat,A: list_list_nat] :
      ( ( member_list_nat @ E @ ( set_list_nat2 @ A ) )
     => ( ! [Z2: list_list_nat] :
            ( A
           != ( cons_list_nat @ E @ Z2 ) )
       => ~ ! [Z1: list_nat,Z2: list_list_nat] :
              ( ( A
                = ( cons_list_nat @ Z1 @ Z2 ) )
             => ~ ( member_list_nat @ E @ ( set_list_nat2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_451_list_Oset__cases,axiom,
    ! [E: nat,A: list_nat] :
      ( ( member_nat @ E @ ( set_nat2 @ A ) )
     => ( ! [Z2: list_nat] :
            ( A
           != ( cons_nat @ E @ Z2 ) )
       => ~ ! [Z1: nat,Z2: list_nat] :
              ( ( A
                = ( cons_nat @ Z1 @ Z2 ) )
             => ~ ( member_nat @ E @ ( set_nat2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_452_list_Oset__intros_I1_J,axiom,
    ! [X21: produc1828647624359046049st_nat,X22: list_P7940050157051400743st_nat] : ( member7340969449405702474st_nat @ X21 @ ( set_Pr3842133991353686454st_nat @ ( cons_P5007559046487125591st_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_453_list_Oset__intros_I1_J,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] : ( member8440522571783428010at_nat @ X21 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_454_list_Oset__intros_I1_J,axiom,
    ! [X21: list_list_nat,X22: list_list_list_nat] : ( member_list_list_nat @ X21 @ ( set_list_list_nat2 @ ( cons_list_list_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_455_list_Oset__intros_I1_J,axiom,
    ! [X21: list_term_a_b,X22: list_list_term_a_b] : ( member_list_term_a_b @ X21 @ ( set_list_term_a_b2 @ ( cons_list_term_a_b @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_456_list_Oset__intros_I1_J,axiom,
    ! [X21: $o,X22: list_o] : ( member_o @ X21 @ ( set_o2 @ ( cons_o @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_457_list_Oset__intros_I1_J,axiom,
    ! [X21: term_a_b,X22: list_term_a_b] : ( member_term_a_b @ X21 @ ( set_term_a_b2 @ ( cons_term_a_b @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_458_list_Oset__intros_I1_J,axiom,
    ! [X21: list_nat,X22: list_list_nat] : ( member_list_nat @ X21 @ ( set_list_nat2 @ ( cons_list_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_459_list_Oset__intros_I1_J,axiom,
    ! [X21: nat,X22: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_460_list_Oset__intros_I2_J,axiom,
    ! [Y3: produc1828647624359046049st_nat,X22: list_P7940050157051400743st_nat,X21: produc1828647624359046049st_nat] :
      ( ( member7340969449405702474st_nat @ Y3 @ ( set_Pr3842133991353686454st_nat @ X22 ) )
     => ( member7340969449405702474st_nat @ Y3 @ ( set_Pr3842133991353686454st_nat @ ( cons_P5007559046487125591st_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_461_list_Oset__intros_I2_J,axiom,
    ! [Y3: product_prod_nat_nat,X22: list_P6011104703257516679at_nat,X21: product_prod_nat_nat] :
      ( ( member8440522571783428010at_nat @ Y3 @ ( set_Pr5648618587558075414at_nat @ X22 ) )
     => ( member8440522571783428010at_nat @ Y3 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_462_list_Oset__intros_I2_J,axiom,
    ! [Y3: list_list_nat,X22: list_list_list_nat,X21: list_list_nat] :
      ( ( member_list_list_nat @ Y3 @ ( set_list_list_nat2 @ X22 ) )
     => ( member_list_list_nat @ Y3 @ ( set_list_list_nat2 @ ( cons_list_list_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_463_list_Oset__intros_I2_J,axiom,
    ! [Y3: list_term_a_b,X22: list_list_term_a_b,X21: list_term_a_b] :
      ( ( member_list_term_a_b @ Y3 @ ( set_list_term_a_b2 @ X22 ) )
     => ( member_list_term_a_b @ Y3 @ ( set_list_term_a_b2 @ ( cons_list_term_a_b @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_464_list_Oset__intros_I2_J,axiom,
    ! [Y3: $o,X22: list_o,X21: $o] :
      ( ( member_o @ Y3 @ ( set_o2 @ X22 ) )
     => ( member_o @ Y3 @ ( set_o2 @ ( cons_o @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_465_list_Oset__intros_I2_J,axiom,
    ! [Y3: term_a_b,X22: list_term_a_b,X21: term_a_b] :
      ( ( member_term_a_b @ Y3 @ ( set_term_a_b2 @ X22 ) )
     => ( member_term_a_b @ Y3 @ ( set_term_a_b2 @ ( cons_term_a_b @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_466_list_Oset__intros_I2_J,axiom,
    ! [Y3: list_nat,X22: list_list_nat,X21: list_nat] :
      ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ X22 ) )
     => ( member_list_nat @ Y3 @ ( set_list_nat2 @ ( cons_list_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_467_list_Oset__intros_I2_J,axiom,
    ! [Y3: nat,X22: list_nat,X21: nat] :
      ( ( member_nat @ Y3 @ ( set_nat2 @ X22 ) )
     => ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_468_term__not__arg,axiom,
    ! [F: a,Ss: list_term_a_b] :
      ~ ( member_term_a_b @ ( fun_a_b @ F @ Ss ) @ ( set_term_a_b2 @ Ss ) ) ).

% term_not_arg
thf(fact_469_list_Opred__inject_I1_J,axiom,
    ! [P3: list_nat > $o] : ( list_all_list_nat @ P3 @ nil_list_nat ) ).

% list.pred_inject(1)
thf(fact_470_list_Opred__inject_I1_J,axiom,
    ! [P3: term_a_b > $o] : ( list_all_term_a_b @ P3 @ nil_term_a_b ) ).

% list.pred_inject(1)
thf(fact_471_list_Opred__inject_I1_J,axiom,
    ! [P3: nat > $o] : ( list_all_nat @ P3 @ nil_nat ) ).

% list.pred_inject(1)
thf(fact_472_replace__term__at_Osimps_I1_J,axiom,
    ! [S: term_a_b,T2: term_a_b] :
      ( ( term_r6860082780075436317at_a_b @ S @ nil_nat @ T2 )
      = T2 ) ).

% replace_term_at.simps(1)
thf(fact_473_par__pos__replace__pres,axiom,
    ! [P: list_nat,S: term_a_b,Q: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( ( term_p5017330785391824242ar_nat @ P @ Q )
       => ( member_list_nat @ P @ ( term_poss_a_b @ ( term_r6860082780075436317at_a_b @ S @ Q @ T2 ) ) ) ) ) ).

% par_pos_replace_pres
thf(fact_474_pos__replace__at__pres,axiom,
    ! [P: list_nat,S: term_a_b,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( member_list_nat @ P @ ( term_poss_a_b @ ( term_r6860082780075436317at_a_b @ S @ P @ T2 ) ) ) ) ).

% pos_replace_at_pres
thf(fact_475_list__ex1__iff,axiom,
    ( list_e4364535806343802730st_nat
    = ( ^ [P6: produc1828647624359046049st_nat > $o,Xs4: list_P7940050157051400743st_nat] :
        ? [X3: produc1828647624359046049st_nat] :
          ( ( member7340969449405702474st_nat @ X3 @ ( set_Pr3842133991353686454st_nat @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: produc1828647624359046049st_nat] :
              ( ( ( member7340969449405702474st_nat @ Y2 @ ( set_Pr3842133991353686454st_nat @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_476_list__ex1__iff,axiom,
    ( list_e8644085759156585930at_nat
    = ( ^ [P6: product_prod_nat_nat > $o,Xs4: list_P6011104703257516679at_nat] :
        ? [X3: product_prod_nat_nat] :
          ( ( member8440522571783428010at_nat @ X3 @ ( set_Pr5648618587558075414at_nat @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: product_prod_nat_nat] :
              ( ( ( member8440522571783428010at_nat @ Y2 @ ( set_Pr5648618587558075414at_nat @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_477_list__ex1__iff,axiom,
    ( list_ex1_term_a_b
    = ( ^ [P6: term_a_b > $o,Xs4: list_term_a_b] :
        ? [X3: term_a_b] :
          ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: term_a_b] :
              ( ( ( member_term_a_b @ Y2 @ ( set_term_a_b2 @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_478_list__ex1__iff,axiom,
    ( list_e4462734821984335591st_nat
    = ( ^ [P6: list_list_nat > $o,Xs4: list_list_list_nat] :
        ? [X3: list_list_nat] :
          ( ( member_list_list_nat @ X3 @ ( set_list_list_nat2 @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: list_list_nat] :
              ( ( ( member_list_list_nat @ Y2 @ ( set_list_list_nat2 @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_479_list__ex1__iff,axiom,
    ( list_e1122455069120957467rm_a_b
    = ( ^ [P6: list_term_a_b > $o,Xs4: list_list_term_a_b] :
        ? [X3: list_term_a_b] :
          ( ( member_list_term_a_b @ X3 @ ( set_list_term_a_b2 @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: list_term_a_b] :
              ( ( ( member_list_term_a_b @ Y2 @ ( set_list_term_a_b2 @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_480_list__ex1__iff,axiom,
    ( list_ex1_nat
    = ( ^ [P6: nat > $o,Xs4: list_nat] :
        ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: nat] :
              ( ( ( member_nat @ Y2 @ ( set_nat2 @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_481_list__ex1__iff,axiom,
    ( list_ex1_list_nat
    = ( ^ [P6: list_nat > $o,Xs4: list_list_nat] :
        ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs4 ) )
          & ( P6 @ X3 )
          & ! [Y2: list_nat] :
              ( ( ( member_list_nat @ Y2 @ ( set_list_nat2 @ Xs4 ) )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_482_eq__term__by__poss__fun__at,axiom,
    ! [S: term_a_b,T2: term_a_b] :
      ( ( ( term_poss_a_b @ S )
        = ( term_poss_a_b @ T2 ) )
     => ( ! [P4: list_nat] :
            ( ( member_list_nat @ P4 @ ( term_poss_a_b @ S ) )
           => ( ( term_fun_at_a_b @ S @ P4 )
              = ( term_fun_at_a_b @ T2 @ P4 ) ) )
       => ( S = T2 ) ) ) ).

% eq_term_by_poss_fun_at
thf(fact_483_arg__min__list_Ocases,axiom,
    ! [X: produc4226810134323546766st_nat] :
      ( ! [F3: nat > $o,X2: nat] :
          ( X
         != ( produc8587622027977423880st_nat @ F3 @ ( cons_nat @ X2 @ nil_nat ) ) )
     => ( ! [F3: nat > $o,X2: nat,Y: nat,Zs: list_nat] :
            ( X
           != ( produc8587622027977423880st_nat @ F3 @ ( cons_nat @ X2 @ ( cons_nat @ Y @ Zs ) ) ) )
       => ~ ! [A3: nat > $o] :
              ( X
             != ( produc8587622027977423880st_nat @ A3 @ nil_nat ) ) ) ) ).

% arg_min_list.cases
thf(fact_484_arg__min__list_Ocases,axiom,
    ! [X: produc7226932159051337088st_nat] :
      ( ! [F3: nat > nat,X2: nat] :
          ( X
         != ( produc8711139202005206712st_nat @ F3 @ ( cons_nat @ X2 @ nil_nat ) ) )
     => ( ! [F3: nat > nat,X2: nat,Y: nat,Zs: list_nat] :
            ( X
           != ( produc8711139202005206712st_nat @ F3 @ ( cons_nat @ X2 @ ( cons_nat @ Y @ Zs ) ) ) )
       => ~ ! [A3: nat > nat] :
              ( X
             != ( produc8711139202005206712st_nat @ A3 @ nil_nat ) ) ) ) ).

% arg_min_list.cases
thf(fact_485_remdups__gen_Ocases,axiom,
    ! [X: produc4226810134323546766st_nat] :
      ( ! [F3: nat > $o] :
          ( X
         != ( produc8587622027977423880st_nat @ F3 @ nil_nat ) )
     => ~ ! [F3: nat > $o,X2: nat,Xs2: list_nat] :
            ( X
           != ( produc8587622027977423880st_nat @ F3 @ ( cons_nat @ X2 @ Xs2 ) ) ) ) ).

% remdups_gen.cases
thf(fact_486_remdups__gen_Ocases,axiom,
    ! [X: produc7226932159051337088st_nat] :
      ( ! [F3: nat > nat] :
          ( X
         != ( produc8711139202005206712st_nat @ F3 @ nil_nat ) )
     => ~ ! [F3: nat > nat,X2: nat,Xs2: list_nat] :
            ( X
           != ( produc8711139202005206712st_nat @ F3 @ ( cons_nat @ X2 @ Xs2 ) ) ) ) ).

% remdups_gen.cases
thf(fact_487_remdups__gen_Ocases,axiom,
    ! [X: produc254973753779126261st_nat] :
      ( ! [F3: nat > nat > $o] :
          ( X
         != ( produc4727192421694094319st_nat @ F3 @ nil_nat ) )
     => ~ ! [F3: nat > nat > $o,X2: nat,Xs2: list_nat] :
            ( X
           != ( produc4727192421694094319st_nat @ F3 @ ( cons_nat @ X2 @ Xs2 ) ) ) ) ).

% remdups_gen.cases
thf(fact_488_span_Ocases,axiom,
    ! [X: produc4895375484934168814list_o] :
      ( ! [P5: $o > $o,X2: $o,Xs2: list_o] :
          ( X
         != ( produc1450004214998940960list_o @ P5 @ ( cons_o @ X2 @ Xs2 ) ) )
     => ~ ! [Uu: $o > $o] :
            ( X
           != ( produc1450004214998940960list_o @ Uu @ nil_o ) ) ) ).

% span.cases
thf(fact_489_span_Ocases,axiom,
    ! [X: produc5260046862718186894rm_a_b] :
      ( ! [P5: term_a_b > $o,X2: term_a_b,Xs2: list_term_a_b] :
          ( X
         != ( produc2136336272451886600rm_a_b @ P5 @ ( cons_term_a_b @ X2 @ Xs2 ) ) )
     => ~ ! [Uu: term_a_b > $o] :
            ( X
           != ( produc2136336272451886600rm_a_b @ Uu @ nil_term_a_b ) ) ) ).

% span.cases
thf(fact_490_span_Ocases,axiom,
    ! [X: produc4248194078104742542st_nat] :
      ( ! [P5: list_nat > $o,X2: list_nat,Xs2: list_list_nat] :
          ( X
         != ( produc8316565932239993096st_nat @ P5 @ ( cons_list_nat @ X2 @ Xs2 ) ) )
     => ~ ! [Uu: list_nat > $o] :
            ( X
           != ( produc8316565932239993096st_nat @ Uu @ nil_list_nat ) ) ) ).

% span.cases
thf(fact_491_span_Ocases,axiom,
    ! [X: produc4226810134323546766st_nat] :
      ( ! [P5: nat > $o,X2: nat,Xs2: list_nat] :
          ( X
         != ( produc8587622027977423880st_nat @ P5 @ ( cons_nat @ X2 @ Xs2 ) ) )
     => ~ ! [Uu: nat > $o] :
            ( X
           != ( produc8587622027977423880st_nat @ Uu @ nil_nat ) ) ) ).

% span.cases
thf(fact_492_successively_Ocases,axiom,
    ! [X: produc8642409424279824599list_o] :
      ( ! [P5: $o > $o > $o] :
          ( X
         != ( produc8744836578217649351list_o @ P5 @ nil_o ) )
     => ( ! [P5: $o > $o > $o,X2: $o] :
            ( X
           != ( produc8744836578217649351list_o @ P5 @ ( cons_o @ X2 @ nil_o ) ) )
       => ~ ! [P5: $o > $o > $o,X2: $o,Y: $o,Xs2: list_o] :
              ( X
             != ( produc8744836578217649351list_o @ P5 @ ( cons_o @ X2 @ ( cons_o @ Y @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_493_successively_Ocases,axiom,
    ! [X: produc8847469151730319409rm_a_b] :
      ( ! [P5: term_a_b > term_a_b > $o] :
          ( X
         != ( produc5931190720334929579rm_a_b @ P5 @ nil_term_a_b ) )
     => ( ! [P5: term_a_b > term_a_b > $o,X2: term_a_b] :
            ( X
           != ( produc5931190720334929579rm_a_b @ P5 @ ( cons_term_a_b @ X2 @ nil_term_a_b ) ) )
       => ~ ! [P5: term_a_b > term_a_b > $o,X2: term_a_b,Y: term_a_b,Xs2: list_term_a_b] :
              ( X
             != ( produc5931190720334929579rm_a_b @ P5 @ ( cons_term_a_b @ X2 @ ( cons_term_a_b @ Y @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_494_successively_Ocases,axiom,
    ! [X: produc2068713617857708901st_nat] :
      ( ! [P5: list_nat > list_nat > $o] :
          ( X
         != ( produc6344517630863869919st_nat @ P5 @ nil_list_nat ) )
     => ( ! [P5: list_nat > list_nat > $o,X2: list_nat] :
            ( X
           != ( produc6344517630863869919st_nat @ P5 @ ( cons_list_nat @ X2 @ nil_list_nat ) ) )
       => ~ ! [P5: list_nat > list_nat > $o,X2: list_nat,Y: list_nat,Xs2: list_list_nat] :
              ( X
             != ( produc6344517630863869919st_nat @ P5 @ ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_495_successively_Ocases,axiom,
    ! [X: produc254973753779126261st_nat] :
      ( ! [P5: nat > nat > $o] :
          ( X
         != ( produc4727192421694094319st_nat @ P5 @ nil_nat ) )
     => ( ! [P5: nat > nat > $o,X2: nat] :
            ( X
           != ( produc4727192421694094319st_nat @ P5 @ ( cons_nat @ X2 @ nil_nat ) ) )
       => ~ ! [P5: nat > nat > $o,X2: nat,Y: nat,Xs2: list_nat] :
              ( X
             != ( produc4727192421694094319st_nat @ P5 @ ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_496_distinct__eq_Ocases,axiom,
    ! [X: produc8642409424279824599list_o] :
      ( ! [Uu: $o > $o > $o] :
          ( X
         != ( produc8744836578217649351list_o @ Uu @ nil_o ) )
     => ~ ! [Eq: $o > $o > $o,X2: $o,Xs2: list_o] :
            ( X
           != ( produc8744836578217649351list_o @ Eq @ ( cons_o @ X2 @ Xs2 ) ) ) ) ).

% distinct_eq.cases
thf(fact_497_distinct__eq_Ocases,axiom,
    ! [X: produc8847469151730319409rm_a_b] :
      ( ! [Uu: term_a_b > term_a_b > $o] :
          ( X
         != ( produc5931190720334929579rm_a_b @ Uu @ nil_term_a_b ) )
     => ~ ! [Eq: term_a_b > term_a_b > $o,X2: term_a_b,Xs2: list_term_a_b] :
            ( X
           != ( produc5931190720334929579rm_a_b @ Eq @ ( cons_term_a_b @ X2 @ Xs2 ) ) ) ) ).

% distinct_eq.cases
thf(fact_498_distinct__eq_Ocases,axiom,
    ! [X: produc2068713617857708901st_nat] :
      ( ! [Uu: list_nat > list_nat > $o] :
          ( X
         != ( produc6344517630863869919st_nat @ Uu @ nil_list_nat ) )
     => ~ ! [Eq: list_nat > list_nat > $o,X2: list_nat,Xs2: list_list_nat] :
            ( X
           != ( produc6344517630863869919st_nat @ Eq @ ( cons_list_nat @ X2 @ Xs2 ) ) ) ) ).

% distinct_eq.cases
thf(fact_499_distinct__eq_Ocases,axiom,
    ! [X: produc254973753779126261st_nat] :
      ( ! [Uu: nat > nat > $o] :
          ( X
         != ( produc4727192421694094319st_nat @ Uu @ nil_nat ) )
     => ~ ! [Eq: nat > nat > $o,X2: nat,Xs2: list_nat] :
            ( X
           != ( produc4727192421694094319st_nat @ Eq @ ( cons_nat @ X2 @ Xs2 ) ) ) ) ).

% distinct_eq.cases
thf(fact_500_rev__induct,axiom,
    ! [P3: list_o > $o,Xs: list_o] :
      ( ( P3 @ nil_o )
     => ( ! [X2: $o,Xs2: list_o] :
            ( ( P3 @ Xs2 )
           => ( P3 @ ( append_o @ Xs2 @ ( cons_o @ X2 @ nil_o ) ) ) )
       => ( P3 @ Xs ) ) ) ).

% rev_induct
thf(fact_501_rev__induct,axiom,
    ! [P3: list_term_a_b > $o,Xs: list_term_a_b] :
      ( ( P3 @ nil_term_a_b )
     => ( ! [X2: term_a_b,Xs2: list_term_a_b] :
            ( ( P3 @ Xs2 )
           => ( P3 @ ( append_term_a_b @ Xs2 @ ( cons_term_a_b @ X2 @ nil_term_a_b ) ) ) )
       => ( P3 @ Xs ) ) ) ).

% rev_induct
thf(fact_502_rev__induct,axiom,
    ! [P3: list_list_nat > $o,Xs: list_list_nat] :
      ( ( P3 @ nil_list_nat )
     => ( ! [X2: list_nat,Xs2: list_list_nat] :
            ( ( P3 @ Xs2 )
           => ( P3 @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X2 @ nil_list_nat ) ) ) )
       => ( P3 @ Xs ) ) ) ).

% rev_induct
thf(fact_503_rev__induct,axiom,
    ! [P3: list_nat > $o,Xs: list_nat] :
      ( ( P3 @ nil_nat )
     => ( ! [X2: nat,Xs2: list_nat] :
            ( ( P3 @ Xs2 )
           => ( P3 @ ( append_nat @ Xs2 @ ( cons_nat @ X2 @ nil_nat ) ) ) )
       => ( P3 @ Xs ) ) ) ).

% rev_induct
thf(fact_504_rev__exhaust,axiom,
    ! [Xs: list_o] :
      ( ( Xs != nil_o )
     => ~ ! [Ys2: list_o,Y: $o] :
            ( Xs
           != ( append_o @ Ys2 @ ( cons_o @ Y @ nil_o ) ) ) ) ).

% rev_exhaust
thf(fact_505_rev__exhaust,axiom,
    ! [Xs: list_term_a_b] :
      ( ( Xs != nil_term_a_b )
     => ~ ! [Ys2: list_term_a_b,Y: term_a_b] :
            ( Xs
           != ( append_term_a_b @ Ys2 @ ( cons_term_a_b @ Y @ nil_term_a_b ) ) ) ) ).

% rev_exhaust
thf(fact_506_rev__exhaust,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
     => ~ ! [Ys2: list_list_nat,Y: list_nat] :
            ( Xs
           != ( append_list_nat @ Ys2 @ ( cons_list_nat @ Y @ nil_list_nat ) ) ) ) ).

% rev_exhaust
thf(fact_507_rev__exhaust,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ~ ! [Ys2: list_nat,Y: nat] :
            ( Xs
           != ( append_nat @ Ys2 @ ( cons_nat @ Y @ nil_nat ) ) ) ) ).

% rev_exhaust
thf(fact_508_Cons__eq__append__conv,axiom,
    ! [X: $o,Xs: list_o,Ys: list_o,Zs2: list_o] :
      ( ( ( cons_o @ X @ Xs )
        = ( append_o @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_o )
          & ( ( cons_o @ X @ Xs )
            = Zs2 ) )
        | ? [Ys5: list_o] :
            ( ( ( cons_o @ X @ Ys5 )
              = Ys )
            & ( Xs
              = ( append_o @ Ys5 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_509_Cons__eq__append__conv,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Ys: list_term_a_b,Zs2: list_term_a_b] :
      ( ( ( cons_term_a_b @ X @ Xs )
        = ( append_term_a_b @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_term_a_b )
          & ( ( cons_term_a_b @ X @ Xs )
            = Zs2 ) )
        | ? [Ys5: list_term_a_b] :
            ( ( ( cons_term_a_b @ X @ Ys5 )
              = Ys )
            & ( Xs
              = ( append_term_a_b @ Ys5 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_510_Cons__eq__append__conv,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs )
        = ( append_list_nat @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_list_nat )
          & ( ( cons_list_nat @ X @ Xs )
            = Zs2 ) )
        | ? [Ys5: list_list_nat] :
            ( ( ( cons_list_nat @ X @ Ys5 )
              = Ys )
            & ( Xs
              = ( append_list_nat @ Ys5 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_511_Cons__eq__append__conv,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_nat )
          & ( ( cons_nat @ X @ Xs )
            = Zs2 ) )
        | ? [Ys5: list_nat] :
            ( ( ( cons_nat @ X @ Ys5 )
              = Ys )
            & ( Xs
              = ( append_nat @ Ys5 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_512_append__eq__Cons__conv,axiom,
    ! [Ys: list_o,Zs2: list_o,X: $o,Xs: list_o] :
      ( ( ( append_o @ Ys @ Zs2 )
        = ( cons_o @ X @ Xs ) )
      = ( ( ( Ys = nil_o )
          & ( Zs2
            = ( cons_o @ X @ Xs ) ) )
        | ? [Ys5: list_o] :
            ( ( Ys
              = ( cons_o @ X @ Ys5 ) )
            & ( ( append_o @ Ys5 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_513_append__eq__Cons__conv,axiom,
    ! [Ys: list_term_a_b,Zs2: list_term_a_b,X: term_a_b,Xs: list_term_a_b] :
      ( ( ( append_term_a_b @ Ys @ Zs2 )
        = ( cons_term_a_b @ X @ Xs ) )
      = ( ( ( Ys = nil_term_a_b )
          & ( Zs2
            = ( cons_term_a_b @ X @ Xs ) ) )
        | ? [Ys5: list_term_a_b] :
            ( ( Ys
              = ( cons_term_a_b @ X @ Ys5 ) )
            & ( ( append_term_a_b @ Ys5 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_514_append__eq__Cons__conv,axiom,
    ! [Ys: list_list_nat,Zs2: list_list_nat,X: list_nat,Xs: list_list_nat] :
      ( ( ( append_list_nat @ Ys @ Zs2 )
        = ( cons_list_nat @ X @ Xs ) )
      = ( ( ( Ys = nil_list_nat )
          & ( Zs2
            = ( cons_list_nat @ X @ Xs ) ) )
        | ? [Ys5: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ X @ Ys5 ) )
            & ( ( append_list_nat @ Ys5 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_515_append__eq__Cons__conv,axiom,
    ! [Ys: list_nat,Zs2: list_nat,X: nat,Xs: list_nat] :
      ( ( ( append_nat @ Ys @ Zs2 )
        = ( cons_nat @ X @ Xs ) )
      = ( ( ( Ys = nil_nat )
          & ( Zs2
            = ( cons_nat @ X @ Xs ) ) )
        | ? [Ys5: list_nat] :
            ( ( Ys
              = ( cons_nat @ X @ Ys5 ) )
            & ( ( append_nat @ Ys5 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_516_rev__nonempty__induct,axiom,
    ! [Xs: list_o,P3: list_o > $o] :
      ( ( Xs != nil_o )
     => ( ! [X2: $o] : ( P3 @ ( cons_o @ X2 @ nil_o ) )
       => ( ! [X2: $o,Xs2: list_o] :
              ( ( Xs2 != nil_o )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( append_o @ Xs2 @ ( cons_o @ X2 @ nil_o ) ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_517_rev__nonempty__induct,axiom,
    ! [Xs: list_term_a_b,P3: list_term_a_b > $o] :
      ( ( Xs != nil_term_a_b )
     => ( ! [X2: term_a_b] : ( P3 @ ( cons_term_a_b @ X2 @ nil_term_a_b ) )
       => ( ! [X2: term_a_b,Xs2: list_term_a_b] :
              ( ( Xs2 != nil_term_a_b )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( append_term_a_b @ Xs2 @ ( cons_term_a_b @ X2 @ nil_term_a_b ) ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_518_rev__nonempty__induct,axiom,
    ! [Xs: list_list_nat,P3: list_list_nat > $o] :
      ( ( Xs != nil_list_nat )
     => ( ! [X2: list_nat] : ( P3 @ ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ( ! [X2: list_nat,Xs2: list_list_nat] :
              ( ( Xs2 != nil_list_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X2 @ nil_list_nat ) ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_519_rev__nonempty__induct,axiom,
    ! [Xs: list_nat,P3: list_nat > $o] :
      ( ( Xs != nil_nat )
     => ( ! [X2: nat] : ( P3 @ ( cons_nat @ X2 @ nil_nat ) )
       => ( ! [X2: nat,Xs2: list_nat] :
              ( ( Xs2 != nil_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( append_nat @ Xs2 @ ( cons_nat @ X2 @ nil_nat ) ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_520_replace__term__at_Ocases,axiom,
    ! [X: produc2732850333517536310rm_a_b] :
      ( ! [S2: term_a_b,T3: term_a_b] :
          ( X
         != ( produc3812856575676843240rm_a_b @ S2 @ ( produc5151171985953862413rm_a_b @ nil_nat @ T3 ) ) )
     => ( ! [X2: b,V: nat,Va: list_nat,T3: term_a_b] :
            ( X
           != ( produc3812856575676843240rm_a_b @ ( var_b_a @ X2 ) @ ( produc5151171985953862413rm_a_b @ ( cons_nat @ V @ Va ) @ T3 ) ) )
       => ~ ! [F3: a,Ts: list_term_a_b,I2: nat,Ps2: list_nat,T3: term_a_b] :
              ( X
             != ( produc3812856575676843240rm_a_b @ ( fun_a_b @ F3 @ Ts ) @ ( produc5151171985953862413rm_a_b @ ( cons_nat @ I2 @ Ps2 ) @ T3 ) ) ) ) ) ).

% replace_term_at.cases
thf(fact_521_shuffles_Ocases,axiom,
    ! [X: produc7102631898165422375list_o] :
      ( ! [Ys2: list_o] :
          ( X
         != ( produc8435520187683070743list_o @ nil_o @ Ys2 ) )
     => ( ! [Xs2: list_o] :
            ( X
           != ( produc8435520187683070743list_o @ Xs2 @ nil_o ) )
       => ~ ! [X2: $o,Xs2: list_o,Y: $o,Ys2: list_o] :
              ( X
             != ( produc8435520187683070743list_o @ ( cons_o @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_522_shuffles_Ocases,axiom,
    ! [X: produc51424535725745577rm_a_b] :
      ( ! [Ys2: list_term_a_b] :
          ( X
         != ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Ys2 ) )
     => ( ! [Xs2: list_term_a_b] :
            ( X
           != ( produc4885699992713594593rm_a_b @ Xs2 @ nil_term_a_b ) )
       => ~ ! [X2: term_a_b,Xs2: list_term_a_b,Y: term_a_b,Ys2: list_term_a_b] :
              ( X
             != ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ X2 @ Xs2 ) @ ( cons_term_a_b @ Y @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_523_shuffles_Ocases,axiom,
    ! [X: produc4326814125627636033st_nat] :
      ( ! [Ys2: list_list_nat] :
          ( X
         != ( produc7129799990162260089st_nat @ nil_list_nat @ Ys2 ) )
     => ( ! [Xs2: list_list_nat] :
            ( X
           != ( produc7129799990162260089st_nat @ Xs2 @ nil_list_nat ) )
       => ~ ! [X2: list_nat,Xs2: list_list_nat,Y: list_nat,Ys2: list_list_nat] :
              ( X
             != ( produc7129799990162260089st_nat @ ( cons_list_nat @ X2 @ Xs2 ) @ ( cons_list_nat @ Y @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_524_shuffles_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
     => ( ! [Xs2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ Xs2 @ nil_nat ) )
       => ~ ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_525_remove__prefix_Ocases,axiom,
    ! [X: produc7102631898165422375list_o] :
      ( ! [X2: $o,Xs2: list_o,Y: $o,Ys2: list_o] :
          ( X
         != ( produc8435520187683070743list_o @ ( cons_o @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_o] :
            ( X
           != ( produc8435520187683070743list_o @ nil_o @ Ys2 ) )
       => ~ ! [V: $o,Va: list_o] :
              ( X
             != ( produc8435520187683070743list_o @ ( cons_o @ V @ Va ) @ nil_o ) ) ) ) ).

% remove_prefix.cases
thf(fact_526_remove__prefix_Ocases,axiom,
    ! [X: produc51424535725745577rm_a_b] :
      ( ! [X2: term_a_b,Xs2: list_term_a_b,Y: term_a_b,Ys2: list_term_a_b] :
          ( X
         != ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ X2 @ Xs2 ) @ ( cons_term_a_b @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_term_a_b] :
            ( X
           != ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Ys2 ) )
       => ~ ! [V: term_a_b,Va: list_term_a_b] :
              ( X
             != ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ V @ Va ) @ nil_term_a_b ) ) ) ) ).

% remove_prefix.cases
thf(fact_527_remove__prefix_Ocases,axiom,
    ! [X: produc4326814125627636033st_nat] :
      ( ! [X2: list_nat,Xs2: list_list_nat,Y: list_nat,Ys2: list_list_nat] :
          ( X
         != ( produc7129799990162260089st_nat @ ( cons_list_nat @ X2 @ Xs2 ) @ ( cons_list_nat @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_list_nat] :
            ( X
           != ( produc7129799990162260089st_nat @ nil_list_nat @ Ys2 ) )
       => ~ ! [V: list_nat,Va: list_list_nat] :
              ( X
             != ( produc7129799990162260089st_nat @ ( cons_list_nat @ V @ Va ) @ nil_list_nat ) ) ) ) ).

% remove_prefix.cases
thf(fact_528_remove__prefix_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
       => ~ ! [V: nat,Va: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ V @ Va ) @ nil_nat ) ) ) ) ).

% remove_prefix.cases
thf(fact_529_list__inter_Ocases,axiom,
    ! [X: produc7102631898165422375list_o] :
      ( ! [Bs: list_o] :
          ( X
         != ( produc8435520187683070743list_o @ nil_o @ Bs ) )
     => ~ ! [A3: $o,As: list_o,Bs: list_o] :
            ( X
           != ( produc8435520187683070743list_o @ ( cons_o @ A3 @ As ) @ Bs ) ) ) ).

% list_inter.cases
thf(fact_530_list__inter_Ocases,axiom,
    ! [X: produc51424535725745577rm_a_b] :
      ( ! [Bs: list_term_a_b] :
          ( X
         != ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Bs ) )
     => ~ ! [A3: term_a_b,As: list_term_a_b,Bs: list_term_a_b] :
            ( X
           != ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ A3 @ As ) @ Bs ) ) ) ).

% list_inter.cases
thf(fact_531_list__inter_Ocases,axiom,
    ! [X: produc4326814125627636033st_nat] :
      ( ! [Bs: list_list_nat] :
          ( X
         != ( produc7129799990162260089st_nat @ nil_list_nat @ Bs ) )
     => ~ ! [A3: list_nat,As: list_list_nat,Bs: list_list_nat] :
            ( X
           != ( produc7129799990162260089st_nat @ ( cons_list_nat @ A3 @ As ) @ Bs ) ) ) ).

% list_inter.cases
thf(fact_532_list__inter_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [Bs: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ nil_nat @ Bs ) )
     => ~ ! [A3: nat,As: list_nat,Bs: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ ( cons_nat @ A3 @ As ) @ Bs ) ) ) ).

% list_inter.cases
thf(fact_533_union__list__sorted_Ocases,axiom,
    ! [X: produc7102631898165422375list_o] :
      ( ! [X2: $o,Xs2: list_o,Y: $o,Ys2: list_o] :
          ( X
         != ( produc8435520187683070743list_o @ ( cons_o @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_o] :
            ( X
           != ( produc8435520187683070743list_o @ nil_o @ Ys2 ) )
       => ~ ! [V: $o,Va: list_o] :
              ( X
             != ( produc8435520187683070743list_o @ ( cons_o @ V @ Va ) @ nil_o ) ) ) ) ).

% union_list_sorted.cases
thf(fact_534_union__list__sorted_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
       => ~ ! [V: nat,Va: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ V @ Va ) @ nil_nat ) ) ) ) ).

% union_list_sorted.cases
thf(fact_535_subtract__list__sorted_Ocases,axiom,
    ! [X: produc7102631898165422375list_o] :
      ( ! [X2: $o,Xs2: list_o,Y: $o,Ys2: list_o] :
          ( X
         != ( produc8435520187683070743list_o @ ( cons_o @ X2 @ Xs2 ) @ ( cons_o @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_o] :
            ( X
           != ( produc8435520187683070743list_o @ nil_o @ Ys2 ) )
       => ~ ! [V: $o,Va: list_o] :
              ( X
             != ( produc8435520187683070743list_o @ ( cons_o @ V @ Va ) @ nil_o ) ) ) ) ).

% subtract_list_sorted.cases
thf(fact_536_subtract__list__sorted_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
     => ( ! [Ys2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
       => ~ ! [V: nat,Va: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ V @ Va ) @ nil_nat ) ) ) ) ).

% subtract_list_sorted.cases
thf(fact_537_List_Oinsert__def,axiom,
    ( insert3602830346519061181st_nat
    = ( ^ [X3: produc1828647624359046049st_nat,Xs4: list_P7940050157051400743st_nat] : ( if_lis5496265267951696621st_nat @ ( member7340969449405702474st_nat @ X3 @ ( set_Pr3842133991353686454st_nat @ Xs4 ) ) @ Xs4 @ ( cons_P5007559046487125591st_nat @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_538_List_Oinsert__def,axiom,
    ( insert8944034826898310173at_nat
    = ( ^ [X3: product_prod_nat_nat,Xs4: list_P6011104703257516679at_nat] : ( if_lis9186351972506106189at_nat @ ( member8440522571783428010at_nat @ X3 @ ( set_Pr5648618587558075414at_nat @ Xs4 ) ) @ Xs4 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_539_List_Oinsert__def,axiom,
    ( insert_list_list_nat
    = ( ^ [X3: list_list_nat,Xs4: list_list_list_nat] : ( if_lis2071795941963001914st_nat @ ( member_list_list_nat @ X3 @ ( set_list_list_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_list_list_nat @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_540_List_Oinsert__def,axiom,
    ( insert_list_term_a_b
    = ( ^ [X3: list_term_a_b,Xs4: list_list_term_a_b] : ( if_lis5923598633501174638rm_a_b @ ( member_list_term_a_b @ X3 @ ( set_list_term_a_b2 @ Xs4 ) ) @ Xs4 @ ( cons_list_term_a_b @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_541_List_Oinsert__def,axiom,
    ( insert_o
    = ( ^ [X3: $o,Xs4: list_o] : ( if_list_o @ ( member_o @ X3 @ ( set_o2 @ Xs4 ) ) @ Xs4 @ ( cons_o @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_542_List_Oinsert__def,axiom,
    ( insert_term_a_b
    = ( ^ [X3: term_a_b,Xs4: list_term_a_b] : ( if_list_term_a_b @ ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs4 ) ) @ Xs4 @ ( cons_term_a_b @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_543_List_Oinsert__def,axiom,
    ( insert_list_nat
    = ( ^ [X3: list_nat,Xs4: list_list_nat] : ( if_list_list_nat @ ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_list_nat @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_544_List_Oinsert__def,axiom,
    ( insert_nat
    = ( ^ [X3: nat,Xs4: list_nat] : ( if_list_nat @ ( member_nat @ X3 @ ( set_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_nat @ X3 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_545_poss__append__poss,axiom,
    ! [P: list_nat,Q: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ ( append_nat @ P @ Q ) @ ( term_poss_a_b @ T2 ) )
      = ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
        & ( member_list_nat @ Q @ ( term_poss_a_b @ ( term_subt_at_a_b @ T2 @ P ) ) ) ) ) ).

% poss_append_poss
thf(fact_546_replace__term__at_Osimps_I2_J,axiom,
    ! [X: b,V4: nat,Va2: list_nat,T2: term_a_b] :
      ( ( term_r6860082780075436317at_a_b @ ( var_b_a @ X ) @ ( cons_nat @ V4 @ Va2 ) @ T2 )
      = ( var_b_a @ X ) ) ).

% replace_term_at.simps(2)
thf(fact_547_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc4226810134323546766st_nat] :
      ~ ! [A3: nat > $o,B3: list_nat] :
          ( Y3
         != ( produc8587622027977423880st_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_548_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc7226932159051337088st_nat] :
      ~ ! [A3: nat > nat,B3: list_nat] :
          ( Y3
         != ( produc8711139202005206712st_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_549_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc4787317212837456354st_nat] :
      ~ ! [A3: nat > nat > $o,B3: produc1828647624359046049st_nat] :
          ( Y3
         != ( produc3127733452865184594st_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_550_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc254973753779126261st_nat] :
      ~ ! [A3: nat > nat > $o,B3: list_nat] :
          ( Y3
         != ( produc4727192421694094319st_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_551_old_Oprod_Oexhaust,axiom,
    ! [Y3: produc6551080308567045442rm_a_b] :
      ~ ! [A3: b,B3: term_a_b] :
          ( Y3
         != ( produc1437816968797971900rm_a_b @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_552_surj__pair,axiom,
    ! [P: produc4226810134323546766st_nat] :
    ? [X2: nat > $o,Y: list_nat] :
      ( P
      = ( produc8587622027977423880st_nat @ X2 @ Y ) ) ).

% surj_pair
thf(fact_553_surj__pair,axiom,
    ! [P: produc7226932159051337088st_nat] :
    ? [X2: nat > nat,Y: list_nat] :
      ( P
      = ( produc8711139202005206712st_nat @ X2 @ Y ) ) ).

% surj_pair
thf(fact_554_surj__pair,axiom,
    ! [P: produc4787317212837456354st_nat] :
    ? [X2: nat > nat > $o,Y: produc1828647624359046049st_nat] :
      ( P
      = ( produc3127733452865184594st_nat @ X2 @ Y ) ) ).

% surj_pair
thf(fact_555_surj__pair,axiom,
    ! [P: produc254973753779126261st_nat] :
    ? [X2: nat > nat > $o,Y: list_nat] :
      ( P
      = ( produc4727192421694094319st_nat @ X2 @ Y ) ) ).

% surj_pair
thf(fact_556_surj__pair,axiom,
    ! [P: produc6551080308567045442rm_a_b] :
    ? [X2: b,Y: term_a_b] :
      ( P
      = ( produc1437816968797971900rm_a_b @ X2 @ Y ) ) ).

% surj_pair
thf(fact_557_prod__cases,axiom,
    ! [P3: produc4226810134323546766st_nat > $o,P: produc4226810134323546766st_nat] :
      ( ! [A3: nat > $o,B3: list_nat] : ( P3 @ ( produc8587622027977423880st_nat @ A3 @ B3 ) )
     => ( P3 @ P ) ) ).

% prod_cases
thf(fact_558_prod__cases,axiom,
    ! [P3: produc7226932159051337088st_nat > $o,P: produc7226932159051337088st_nat] :
      ( ! [A3: nat > nat,B3: list_nat] : ( P3 @ ( produc8711139202005206712st_nat @ A3 @ B3 ) )
     => ( P3 @ P ) ) ).

% prod_cases
thf(fact_559_prod__cases,axiom,
    ! [P3: produc4787317212837456354st_nat > $o,P: produc4787317212837456354st_nat] :
      ( ! [A3: nat > nat > $o,B3: produc1828647624359046049st_nat] : ( P3 @ ( produc3127733452865184594st_nat @ A3 @ B3 ) )
     => ( P3 @ P ) ) ).

% prod_cases
thf(fact_560_prod__cases,axiom,
    ! [P3: produc254973753779126261st_nat > $o,P: produc254973753779126261st_nat] :
      ( ! [A3: nat > nat > $o,B3: list_nat] : ( P3 @ ( produc4727192421694094319st_nat @ A3 @ B3 ) )
     => ( P3 @ P ) ) ).

% prod_cases
thf(fact_561_prod__cases,axiom,
    ! [P3: produc6551080308567045442rm_a_b > $o,P: produc6551080308567045442rm_a_b] :
      ( ! [A3: b,B3: term_a_b] : ( P3 @ ( produc1437816968797971900rm_a_b @ A3 @ B3 ) )
     => ( P3 @ P ) ) ).

% prod_cases
thf(fact_562_Pair__inject,axiom,
    ! [A: nat > $o,B: list_nat,A4: nat > $o,B2: list_nat] :
      ( ( ( produc8587622027977423880st_nat @ A @ B )
        = ( produc8587622027977423880st_nat @ A4 @ B2 ) )
     => ~ ( ( A = A4 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_563_Pair__inject,axiom,
    ! [A: nat > nat,B: list_nat,A4: nat > nat,B2: list_nat] :
      ( ( ( produc8711139202005206712st_nat @ A @ B )
        = ( produc8711139202005206712st_nat @ A4 @ B2 ) )
     => ~ ( ( A = A4 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_564_Pair__inject,axiom,
    ! [A: nat > nat > $o,B: produc1828647624359046049st_nat,A4: nat > nat > $o,B2: produc1828647624359046049st_nat] :
      ( ( ( produc3127733452865184594st_nat @ A @ B )
        = ( produc3127733452865184594st_nat @ A4 @ B2 ) )
     => ~ ( ( A = A4 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_565_Pair__inject,axiom,
    ! [A: nat > nat > $o,B: list_nat,A4: nat > nat > $o,B2: list_nat] :
      ( ( ( produc4727192421694094319st_nat @ A @ B )
        = ( produc4727192421694094319st_nat @ A4 @ B2 ) )
     => ~ ( ( A = A4 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_566_Pair__inject,axiom,
    ! [A: b,B: term_a_b,A4: b,B2: term_a_b] :
      ( ( ( produc1437816968797971900rm_a_b @ A @ B )
        = ( produc1437816968797971900rm_a_b @ A4 @ B2 ) )
     => ~ ( ( A = A4 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_567_prod__cases3,axiom,
    ! [Y3: produc4787317212837456354st_nat] :
      ~ ! [A3: nat > nat > $o,B3: list_nat,C3: list_nat] :
          ( Y3
         != ( produc3127733452865184594st_nat @ A3 @ ( produc2694037385005941721st_nat @ B3 @ C3 ) ) ) ).

% prod_cases3
thf(fact_568_prod__induct3,axiom,
    ! [P3: produc4787317212837456354st_nat > $o,X: produc4787317212837456354st_nat] :
      ( ! [A3: nat > nat > $o,B3: list_nat,C3: list_nat] : ( P3 @ ( produc3127733452865184594st_nat @ A3 @ ( produc2694037385005941721st_nat @ B3 @ C3 ) ) )
     => ( P3 @ X ) ) ).

% prod_induct3
thf(fact_569_SuccD,axiom,
    ! [K2: produc1828647624359046049st_nat,Kl4: set_li6867361041382987015st_nat,Kl3: list_P7940050157051400743st_nat] :
      ( ( member7340969449405702474st_nat @ K2 @ ( bNF_Gr8705060421004693820st_nat @ Kl4 @ Kl3 ) )
     => ( member6711608200250777424st_nat @ ( append2623875052807961020st_nat @ Kl3 @ ( cons_P5007559046487125591st_nat @ K2 @ nil_Pr8413428694792600231st_nat ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_570_SuccD,axiom,
    ! [K2: product_prod_nat_nat,Kl4: set_li5450038453877631591at_nat,Kl3: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ K2 @ ( bNF_Gr5363859321595349404at_nat @ Kl4 @ Kl3 ) )
     => ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Kl3 @ ( cons_P6512896166579812791at_nat @ K2 @ nil_Pr5478986624290739719at_nat ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_571_SuccD,axiom,
    ! [K2: list_list_nat,Kl4: set_li1107847671670421686st_nat,Kl3: list_list_list_nat] :
      ( ( member_list_list_nat @ K2 @ ( bNF_Gr9051413041627726741st_nat @ Kl4 @ Kl3 ) )
     => ( member82518676210156439st_nat @ ( append_list_list_nat @ Kl3 @ ( cons_list_list_nat @ K2 @ nil_list_list_nat ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_572_SuccD,axiom,
    ! [K2: $o,Kl4: set_list_o,Kl3: list_o] :
      ( ( member_o @ K2 @ ( bNF_Greatest_Succ_o @ Kl4 @ Kl3 ) )
     => ( member_list_o @ ( append_o @ Kl3 @ ( cons_o @ K2 @ nil_o ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_573_SuccD,axiom,
    ! [K2: term_a_b,Kl4: set_list_term_a_b,Kl3: list_term_a_b] :
      ( ( member_term_a_b @ K2 @ ( bNF_Gr5510842888252665017rm_a_b @ Kl4 @ Kl3 ) )
     => ( member_list_term_a_b @ ( append_term_a_b @ Kl3 @ ( cons_term_a_b @ K2 @ nil_term_a_b ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_574_SuccD,axiom,
    ! [K2: list_nat,Kl4: set_list_list_nat,Kl3: list_list_nat] :
      ( ( member_list_nat @ K2 @ ( bNF_Gr3053708287304744325st_nat @ Kl4 @ Kl3 ) )
     => ( member_list_list_nat @ ( append_list_nat @ Kl3 @ ( cons_list_nat @ K2 @ nil_list_nat ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_575_SuccD,axiom,
    ! [K2: nat,Kl4: set_list_nat,Kl3: list_nat] :
      ( ( member_nat @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ Kl3 ) )
     => ( member_list_nat @ ( append_nat @ Kl3 @ ( cons_nat @ K2 @ nil_nat ) ) @ Kl4 ) ) ).

% SuccD
thf(fact_576_SuccI,axiom,
    ! [Kl3: list_P7940050157051400743st_nat,K2: produc1828647624359046049st_nat,Kl4: set_li6867361041382987015st_nat] :
      ( ( member6711608200250777424st_nat @ ( append2623875052807961020st_nat @ Kl3 @ ( cons_P5007559046487125591st_nat @ K2 @ nil_Pr8413428694792600231st_nat ) ) @ Kl4 )
     => ( member7340969449405702474st_nat @ K2 @ ( bNF_Gr8705060421004693820st_nat @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_577_SuccI,axiom,
    ! [Kl3: list_P6011104703257516679at_nat,K2: product_prod_nat_nat,Kl4: set_li5450038453877631591at_nat] :
      ( ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Kl3 @ ( cons_P6512896166579812791at_nat @ K2 @ nil_Pr5478986624290739719at_nat ) ) @ Kl4 )
     => ( member8440522571783428010at_nat @ K2 @ ( bNF_Gr5363859321595349404at_nat @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_578_SuccI,axiom,
    ! [Kl3: list_list_list_nat,K2: list_list_nat,Kl4: set_li1107847671670421686st_nat] :
      ( ( member82518676210156439st_nat @ ( append_list_list_nat @ Kl3 @ ( cons_list_list_nat @ K2 @ nil_list_list_nat ) ) @ Kl4 )
     => ( member_list_list_nat @ K2 @ ( bNF_Gr9051413041627726741st_nat @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_579_SuccI,axiom,
    ! [Kl3: list_o,K2: $o,Kl4: set_list_o] :
      ( ( member_list_o @ ( append_o @ Kl3 @ ( cons_o @ K2 @ nil_o ) ) @ Kl4 )
     => ( member_o @ K2 @ ( bNF_Greatest_Succ_o @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_580_SuccI,axiom,
    ! [Kl3: list_term_a_b,K2: term_a_b,Kl4: set_list_term_a_b] :
      ( ( member_list_term_a_b @ ( append_term_a_b @ Kl3 @ ( cons_term_a_b @ K2 @ nil_term_a_b ) ) @ Kl4 )
     => ( member_term_a_b @ K2 @ ( bNF_Gr5510842888252665017rm_a_b @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_581_SuccI,axiom,
    ! [Kl3: list_list_nat,K2: list_nat,Kl4: set_list_list_nat] :
      ( ( member_list_list_nat @ ( append_list_nat @ Kl3 @ ( cons_list_nat @ K2 @ nil_list_nat ) ) @ Kl4 )
     => ( member_list_nat @ K2 @ ( bNF_Gr3053708287304744325st_nat @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_582_SuccI,axiom,
    ! [Kl3: list_nat,K2: nat,Kl4: set_list_nat] :
      ( ( member_list_nat @ ( append_nat @ Kl3 @ ( cons_nat @ K2 @ nil_nat ) ) @ Kl4 )
     => ( member_nat @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ Kl3 ) ) ) ).

% SuccI
thf(fact_583_Succ__def,axiom,
    ( bNF_Gr9051413041627726741st_nat
    = ( ^ [Kl: set_li1107847671670421686st_nat,Kl2: list_list_list_nat] :
          ( collec5989764272469232197st_nat
          @ ^ [K: list_list_nat] : ( member82518676210156439st_nat @ ( append_list_list_nat @ Kl2 @ ( cons_list_list_nat @ K @ nil_list_list_nat ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_584_Succ__def,axiom,
    ( bNF_Gr5711133288764348617rm_a_b
    = ( ^ [Kl: set_li1439839802225400298rm_a_b,Kl2: list_list_term_a_b] :
          ( collec2649484519605854073rm_a_b
          @ ^ [K: list_term_a_b] : ( member3934321367748329163rm_a_b @ ( append_list_term_a_b @ Kl2 @ ( cons_list_term_a_b @ K @ nil_list_term_a_b ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_585_Succ__def,axiom,
    ( bNF_Greatest_Succ_o
    = ( ^ [Kl: set_list_o,Kl2: list_o] :
          ( collect_o
          @ ^ [K: $o] : ( member_list_o @ ( append_o @ Kl2 @ ( cons_o @ K @ nil_o ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_586_Succ__def,axiom,
    ( bNF_Gr5510842888252665017rm_a_b
    = ( ^ [Kl: set_list_term_a_b,Kl2: list_term_a_b] :
          ( collect_term_a_b
          @ ^ [K: term_a_b] : ( member_list_term_a_b @ ( append_term_a_b @ Kl2 @ ( cons_term_a_b @ K @ nil_term_a_b ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_587_Succ__def,axiom,
    ( bNF_Gr3053708287304744325st_nat
    = ( ^ [Kl: set_list_list_nat,Kl2: list_list_nat] :
          ( collect_list_nat
          @ ^ [K: list_nat] : ( member_list_list_nat @ ( append_list_nat @ Kl2 @ ( cons_list_nat @ K @ nil_list_nat ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_588_Succ__def,axiom,
    ( bNF_Gr6352880689984616693cc_nat
    = ( ^ [Kl: set_list_nat,Kl2: list_nat] :
          ( collect_nat
          @ ^ [K: nat] : ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl ) ) ) ) ).

% Succ_def
thf(fact_589_can__select__set__list__ex1,axiom,
    ! [P3: term_a_b > $o,A2: list_term_a_b] :
      ( ( can_select_term_a_b @ P3 @ ( set_term_a_b2 @ A2 ) )
      = ( list_ex1_term_a_b @ P3 @ A2 ) ) ).

% can_select_set_list_ex1
thf(fact_590_can__select__set__list__ex1,axiom,
    ! [P3: list_list_nat > $o,A2: list_list_list_nat] :
      ( ( can_se4193021272102570163st_nat @ P3 @ ( set_list_list_nat2 @ A2 ) )
      = ( list_e4462734821984335591st_nat @ P3 @ A2 ) ) ).

% can_select_set_list_ex1
thf(fact_591_can__select__set__list__ex1,axiom,
    ! [P3: list_term_a_b > $o,A2: list_list_term_a_b] :
      ( ( can_se852741519239192039rm_a_b @ P3 @ ( set_list_term_a_b2 @ A2 ) )
      = ( list_e1122455069120957467rm_a_b @ P3 @ A2 ) ) ).

% can_select_set_list_ex1
thf(fact_592_can__select__set__list__ex1,axiom,
    ! [P3: nat > $o,A2: list_nat] :
      ( ( can_select_nat @ P3 @ ( set_nat2 @ A2 ) )
      = ( list_ex1_nat @ P3 @ A2 ) ) ).

% can_select_set_list_ex1
thf(fact_593_can__select__set__list__ex1,axiom,
    ! [P3: list_nat > $o,A2: list_list_nat] :
      ( ( can_select_list_nat @ P3 @ ( set_list_nat2 @ A2 ) )
      = ( list_ex1_list_nat @ P3 @ A2 ) ) ).

% can_select_set_list_ex1
thf(fact_594_the__elem__set,axiom,
    ! [X: list_list_nat] :
      ( ( the_el8920327263974802235st_nat @ ( set_list_list_nat2 @ ( cons_list_list_nat @ X @ nil_list_list_nat ) ) )
      = X ) ).

% the_elem_set
thf(fact_595_the__elem__set,axiom,
    ! [X: list_term_a_b] :
      ( ( the_el5580047511111424111rm_a_b @ ( set_list_term_a_b2 @ ( cons_list_term_a_b @ X @ nil_list_term_a_b ) ) )
      = X ) ).

% the_elem_set
thf(fact_596_the__elem__set,axiom,
    ! [X: $o] :
      ( ( the_elem_o @ ( set_o2 @ ( cons_o @ X @ nil_o ) ) )
      = X ) ).

% the_elem_set
thf(fact_597_the__elem__set,axiom,
    ! [X: term_a_b] :
      ( ( the_elem_term_a_b @ ( set_term_a_b2 @ ( cons_term_a_b @ X @ nil_term_a_b ) ) )
      = X ) ).

% the_elem_set
thf(fact_598_the__elem__set,axiom,
    ! [X: list_nat] :
      ( ( the_elem_list_nat @ ( set_list_nat2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = X ) ).

% the_elem_set
thf(fact_599_the__elem__set,axiom,
    ! [X: nat] :
      ( ( the_elem_nat @ ( set_nat2 @ ( cons_nat @ X @ nil_nat ) ) )
      = X ) ).

% the_elem_set
thf(fact_600_list__union_Osimps_I2_J,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat,Ys: list_P7940050157051400743st_nat] :
      ( ( missin2558471167415263783st_nat @ ( cons_P5007559046487125591st_nat @ X @ Xs ) @ Ys )
      = ( if_lis5496265267951696621st_nat @ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ ( missin2558471167415263783st_nat @ Xs @ Ys ) ) ) @ ( missin2558471167415263783st_nat @ Xs @ Ys ) @ ( cons_P5007559046487125591st_nat @ X @ ( missin2558471167415263783st_nat @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_601_list__union_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( missin7226838710689955207at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
      = ( if_lis9186351972506106189at_nat @ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ ( missin7226838710689955207at_nat @ Xs @ Ys ) ) ) @ ( missin7226838710689955207at_nat @ Xs @ Ys ) @ ( cons_P6512896166579812791at_nat @ X @ ( missin7226838710689955207at_nat @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_602_list__union_Osimps_I2_J,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat,Ys: list_list_list_nat] :
      ( ( missin2420431887399924842st_nat @ ( cons_list_list_nat @ X @ Xs ) @ Ys )
      = ( if_lis2071795941963001914st_nat @ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ ( missin2420431887399924842st_nat @ Xs @ Ys ) ) ) @ ( missin2420431887399924842st_nat @ Xs @ Ys ) @ ( cons_list_list_nat @ X @ ( missin2420431887399924842st_nat @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_603_list__union_Osimps_I2_J,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( missin8303524171391322526rm_a_b @ ( cons_list_term_a_b @ X @ Xs ) @ Ys )
      = ( if_lis5923598633501174638rm_a_b @ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ ( missin8303524171391322526rm_a_b @ Xs @ Ys ) ) ) @ ( missin8303524171391322526rm_a_b @ Xs @ Ys ) @ ( cons_list_term_a_b @ X @ ( missin8303524171391322526rm_a_b @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_604_list__union_Osimps_I2_J,axiom,
    ! [X: $o,Xs: list_o,Ys: list_o] :
      ( ( missing_list_union_o @ ( cons_o @ X @ Xs ) @ Ys )
      = ( if_list_o @ ( member_o @ X @ ( set_o2 @ ( missing_list_union_o @ Xs @ Ys ) ) ) @ ( missing_list_union_o @ Xs @ Ys ) @ ( cons_o @ X @ ( missing_list_union_o @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_605_list__union_Osimps_I2_J,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( missin4887234603271916558rm_a_b @ ( cons_term_a_b @ X @ Xs ) @ Ys )
      = ( if_list_term_a_b @ ( member_term_a_b @ X @ ( set_term_a_b2 @ ( missin4887234603271916558rm_a_b @ Xs @ Ys ) ) ) @ ( missin4887234603271916558rm_a_b @ Xs @ Ys ) @ ( cons_term_a_b @ X @ ( missin4887234603271916558rm_a_b @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_606_list__union_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( missin2430100002323995866st_nat @ ( cons_list_nat @ X @ Xs ) @ Ys )
      = ( if_list_list_nat @ ( member_list_nat @ X @ ( set_list_nat2 @ ( missin2430100002323995866st_nat @ Xs @ Ys ) ) ) @ ( missin2430100002323995866st_nat @ Xs @ Ys ) @ ( cons_list_nat @ X @ ( missin2430100002323995866st_nat @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_607_list__union_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( missin7861371969718421194on_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( if_list_nat @ ( member_nat @ X @ ( set_nat2 @ ( missin7861371969718421194on_nat @ Xs @ Ys ) ) ) @ ( missin7861371969718421194on_nat @ Xs @ Ys ) @ ( cons_nat @ X @ ( missin7861371969718421194on_nat @ Xs @ Ys ) ) ) ) ).

% list_union.simps(2)
thf(fact_608_list__diff_Osimps_I2_J,axiom,
    ! [X: produc1828647624359046049st_nat,Xs: list_P7940050157051400743st_nat,Ys: list_P7940050157051400743st_nat] :
      ( ( missin4275274532656520101st_nat @ ( cons_P5007559046487125591st_nat @ X @ Xs ) @ Ys )
      = ( if_lis5496265267951696621st_nat @ ( member7340969449405702474st_nat @ X @ ( set_Pr3842133991353686454st_nat @ Ys ) ) @ ( missin4275274532656520101st_nat @ Xs @ Ys ) @ ( cons_P5007559046487125591st_nat @ X @ ( missin4275274532656520101st_nat @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_609_list__diff_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( missin1871397355624342789at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
      = ( if_lis9186351972506106189at_nat @ ( member8440522571783428010at_nat @ X @ ( set_Pr5648618587558075414at_nat @ Ys ) ) @ ( missin1871397355624342789at_nat @ Xs @ Ys ) @ ( cons_P6512896166579812791at_nat @ X @ ( missin1871397355624342789at_nat @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_610_list__diff_Osimps_I2_J,axiom,
    ! [X: list_list_nat,Xs: list_list_list_nat,Ys: list_list_list_nat] :
      ( ( missin8637344274621132908st_nat @ ( cons_list_list_nat @ X @ Xs ) @ Ys )
      = ( if_lis2071795941963001914st_nat @ ( member_list_list_nat @ X @ ( set_list_list_nat2 @ Ys ) ) @ ( missin8637344274621132908st_nat @ Xs @ Ys ) @ ( cons_list_list_nat @ X @ ( missin8637344274621132908st_nat @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_611_list__diff_Osimps_I2_J,axiom,
    ! [X: list_term_a_b,Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( missin5297064521757754784rm_a_b @ ( cons_list_term_a_b @ X @ Xs ) @ Ys )
      = ( if_lis5923598633501174638rm_a_b @ ( member_list_term_a_b @ X @ ( set_list_term_a_b2 @ Ys ) ) @ ( missin5297064521757754784rm_a_b @ Xs @ Ys ) @ ( cons_list_term_a_b @ X @ ( missin5297064521757754784rm_a_b @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_612_list__diff_Osimps_I2_J,axiom,
    ! [X: $o,Xs: list_o,Ys: list_o] :
      ( ( missing_list_diff_o @ ( cons_o @ X @ Xs ) @ Ys )
      = ( if_list_o @ ( member_o @ X @ ( set_o2 @ Ys ) ) @ ( missing_list_diff_o @ Xs @ Ys ) @ ( cons_o @ X @ ( missing_list_diff_o @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_613_list__diff_Osimps_I2_J,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( missin8626798239073972496rm_a_b @ ( cons_term_a_b @ X @ Xs ) @ Ys )
      = ( if_list_term_a_b @ ( member_term_a_b @ X @ ( set_term_a_b2 @ Ys ) ) @ ( missin8626798239073972496rm_a_b @ Xs @ Ys ) @ ( cons_term_a_b @ X @ ( missin8626798239073972496rm_a_b @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_614_list__diff_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( missin6169663638126051804st_nat @ ( cons_list_nat @ X @ Xs ) @ Ys )
      = ( if_list_list_nat @ ( member_list_nat @ X @ ( set_list_nat2 @ Ys ) ) @ ( missin6169663638126051804st_nat @ Xs @ Ys ) @ ( cons_list_nat @ X @ ( missin6169663638126051804st_nat @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_615_list__diff_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( missin818507234016924876ff_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( if_list_nat @ ( member_nat @ X @ ( set_nat2 @ Ys ) ) @ ( missin818507234016924876ff_nat @ Xs @ Ys ) @ ( cons_nat @ X @ ( missin818507234016924876ff_nat @ Xs @ Ys ) ) ) ) ).

% list_diff.simps(2)
thf(fact_616_bind__simps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,F: nat > list_nat] :
      ( ( bind_nat_nat @ ( cons_nat @ X @ Xs ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_nat_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_617_bind__simps_I2_J,axiom,
    ! [X: $o,Xs: list_o,F: $o > list_nat] :
      ( ( bind_o_nat @ ( cons_o @ X @ Xs ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_o_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_618_bind__simps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,F: nat > list_list_nat] :
      ( ( bind_nat_list_nat @ ( cons_nat @ X @ Xs ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_nat_list_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_619_bind__simps_I2_J,axiom,
    ! [X: $o,Xs: list_o,F: $o > list_list_nat] :
      ( ( bind_o_list_nat @ ( cons_o @ X @ Xs ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_o_list_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_620_bind__simps_I2_J,axiom,
    ! [X: list_nat,Xs: list_list_nat,F: list_nat > list_nat] :
      ( ( bind_list_nat_nat @ ( cons_list_nat @ X @ Xs ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_list_nat_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_621_bind__simps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,F: nat > list_term_a_b] :
      ( ( bind_nat_term_a_b @ ( cons_nat @ X @ Xs ) @ F )
      = ( append_term_a_b @ ( F @ X ) @ ( bind_nat_term_a_b @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_622_bind__simps_I2_J,axiom,
    ! [X: $o,Xs: list_o,F: $o > list_term_a_b] :
      ( ( bind_o_term_a_b @ ( cons_o @ X @ Xs ) @ F )
      = ( append_term_a_b @ ( F @ X ) @ ( bind_o_term_a_b @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_623_bind__simps_I2_J,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,F: term_a_b > list_nat] :
      ( ( bind_term_a_b_nat @ ( cons_term_a_b @ X @ Xs ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_term_a_b_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_624_bind__simps_I2_J,axiom,
    ! [X: list_nat,Xs: list_list_nat,F: list_nat > list_list_nat] :
      ( ( bind_l7796378977173581257st_nat @ ( cons_list_nat @ X @ Xs ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_l7796378977173581257st_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_625_bind__simps_I2_J,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,F: term_a_b > list_list_nat] :
      ( ( bind_t442032754801615613st_nat @ ( cons_term_a_b @ X @ Xs ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_t442032754801615613st_nat @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_626_remdups__sort_I2_J,axiom,
    ! [Xs: list_nat] :
      ( ( set_nat2 @ ( missin6101193410121742181rt_nat @ Xs ) )
      = ( set_nat2 @ Xs ) ) ).

% remdups_sort(2)
thf(fact_627_suptp_Osimps,axiom,
    ( subter8709468037939584051tp_a_b
    = ( ^ [A1: term_a_b,A22: term_a_b] :
          ( ? [S4: term_a_b,Ss3: list_term_a_b,F5: a] :
              ( ( A1
                = ( fun_a_b @ F5 @ Ss3 ) )
              & ( A22 = S4 )
              & ( member_term_a_b @ S4 @ ( set_term_a_b2 @ Ss3 ) ) )
          | ? [S4: term_a_b,Ss3: list_term_a_b,T: term_a_b,F5: a] :
              ( ( A1
                = ( fun_a_b @ F5 @ Ss3 ) )
              & ( A22 = T )
              & ( member_term_a_b @ S4 @ ( set_term_a_b2 @ Ss3 ) )
              & ( subter8709468037939584051tp_a_b @ S4 @ T ) ) ) ) ) ).

% suptp.simps
thf(fact_628_supteqp_Osimps,axiom,
    ( subter3057829548224121575qp_a_b
    = ( ^ [A1: term_a_b,A22: term_a_b] :
          ( ? [T: term_a_b] :
              ( ( A1 = T )
              & ( A22 = T ) )
          | ? [U: term_a_b,Ss3: list_term_a_b,T: term_a_b,F5: a] :
              ( ( A1
                = ( fun_a_b @ F5 @ Ss3 ) )
              & ( A22 = T )
              & ( member_term_a_b @ U @ ( set_term_a_b2 @ Ss3 ) )
              & ( subter3057829548224121575qp_a_b @ U @ T ) ) ) ) ) ).

% supteqp.simps
thf(fact_629_bind__simps_I1_J,axiom,
    ! [F: nat > list_list_nat] :
      ( ( bind_nat_list_nat @ nil_nat @ F )
      = nil_list_nat ) ).

% bind_simps(1)
thf(fact_630_bind__simps_I1_J,axiom,
    ! [F: nat > list_term_a_b] :
      ( ( bind_nat_term_a_b @ nil_nat @ F )
      = nil_term_a_b ) ).

% bind_simps(1)
thf(fact_631_bind__simps_I1_J,axiom,
    ! [F: list_nat > list_nat] :
      ( ( bind_list_nat_nat @ nil_list_nat @ F )
      = nil_nat ) ).

% bind_simps(1)
thf(fact_632_bind__simps_I1_J,axiom,
    ! [F: list_nat > list_list_nat] :
      ( ( bind_l7796378977173581257st_nat @ nil_list_nat @ F )
      = nil_list_nat ) ).

% bind_simps(1)
thf(fact_633_bind__simps_I1_J,axiom,
    ! [F: list_nat > list_term_a_b] :
      ( ( bind_l1030141541266726141rm_a_b @ nil_list_nat @ F )
      = nil_term_a_b ) ).

% bind_simps(1)
thf(fact_634_bind__simps_I1_J,axiom,
    ! [F: term_a_b > list_nat] :
      ( ( bind_term_a_b_nat @ nil_term_a_b @ F )
      = nil_nat ) ).

% bind_simps(1)
thf(fact_635_bind__simps_I1_J,axiom,
    ! [F: term_a_b > list_list_nat] :
      ( ( bind_t442032754801615613st_nat @ nil_term_a_b @ F )
      = nil_list_nat ) ).

% bind_simps(1)
thf(fact_636_bind__simps_I1_J,axiom,
    ! [F: term_a_b > list_term_a_b] :
      ( ( bind_t2899167355749536305rm_a_b @ nil_term_a_b @ F )
      = nil_term_a_b ) ).

% bind_simps(1)
thf(fact_637_bind__simps_I1_J,axiom,
    ! [F: nat > list_nat] :
      ( ( bind_nat_nat @ nil_nat @ F )
      = nil_nat ) ).

% bind_simps(1)
thf(fact_638_can__select__def,axiom,
    ( can_se6413446879105937054st_nat
    = ( ^ [P6: produc1828647624359046049st_nat > $o,A5: set_Pr3451248702717554689st_nat] :
        ? [X3: produc1828647624359046049st_nat] :
          ( ( member7340969449405702474st_nat @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: produc1828647624359046049st_nat] :
              ( ( ( member7340969449405702474st_nat @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_639_can__select__def,axiom,
    ( can_se4754832747099445502at_nat
    = ( ^ [P6: product_prod_nat_nat > $o,A5: set_Pr1261947904930325089at_nat] :
        ? [X3: product_prod_nat_nat] :
          ( ( member8440522571783428010at_nat @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: product_prod_nat_nat] :
              ( ( ( member8440522571783428010at_nat @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_640_can__select__def,axiom,
    ( can_select_term_a_b
    = ( ^ [P6: term_a_b > $o,A5: set_term_a_b] :
        ? [X3: term_a_b] :
          ( ( member_term_a_b @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: term_a_b] :
              ( ( ( member_term_a_b @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_641_can__select__def,axiom,
    ( can_se4193021272102570163st_nat
    = ( ^ [P6: list_list_nat > $o,A5: set_list_list_nat] :
        ? [X3: list_list_nat] :
          ( ( member_list_list_nat @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: list_list_nat] :
              ( ( ( member_list_list_nat @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_642_can__select__def,axiom,
    ( can_select_nat
    = ( ^ [P6: nat > $o,A5: set_nat] :
        ? [X3: nat] :
          ( ( member_nat @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: nat] :
              ( ( ( member_nat @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_643_can__select__def,axiom,
    ( can_select_list_nat
    = ( ^ [P6: list_nat > $o,A5: set_list_nat] :
        ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ A5 )
          & ( P6 @ X3 )
          & ! [Y2: list_nat] :
              ( ( ( member_list_nat @ Y2 @ A5 )
                & ( P6 @ Y2 ) )
             => ( Y2 = X3 ) ) ) ) ) ).

% can_select_def
thf(fact_644_subseqs__refl,axiom,
    ! [Xs: list_list_nat] : ( member_list_list_nat @ Xs @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs ) ) ) ).

% subseqs_refl
thf(fact_645_subseqs__refl,axiom,
    ! [Xs: list_term_a_b] : ( member_list_term_a_b @ Xs @ ( set_list_term_a_b2 @ ( subseqs_term_a_b @ Xs ) ) ) ).

% subseqs_refl
thf(fact_646_subseqs__refl,axiom,
    ! [Xs: list_nat] : ( member_list_nat @ Xs @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) ) ).

% subseqs_refl
thf(fact_647_list__bind__cong,axiom,
    ! [Xs: list_nat,Ys: list_nat,F: nat > list_nat,G: nat > list_nat] :
      ( ( Xs = Ys )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ ( set_nat2 @ Xs ) )
           => ( ( F @ X2 )
              = ( G @ X2 ) ) )
       => ( ( bind_nat_nat @ Xs @ F )
          = ( bind_nat_nat @ Ys @ G ) ) ) ) ).

% list_bind_cong
thf(fact_648_Cons__in__subseqsD,axiom,
    ! [Y3: $o,Ys: list_o,Xs: list_o] :
      ( ( member_list_o @ ( cons_o @ Y3 @ Ys ) @ ( set_list_o2 @ ( subseqs_o @ Xs ) ) )
     => ( member_list_o @ Ys @ ( set_list_o2 @ ( subseqs_o @ Xs ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_649_Cons__in__subseqsD,axiom,
    ! [Y3: term_a_b,Ys: list_term_a_b,Xs: list_term_a_b] :
      ( ( member_list_term_a_b @ ( cons_term_a_b @ Y3 @ Ys ) @ ( set_list_term_a_b2 @ ( subseqs_term_a_b @ Xs ) ) )
     => ( member_list_term_a_b @ Ys @ ( set_list_term_a_b2 @ ( subseqs_term_a_b @ Xs ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_650_Cons__in__subseqsD,axiom,
    ! [Y3: list_nat,Ys: list_list_nat,Xs: list_list_nat] :
      ( ( member_list_list_nat @ ( cons_list_nat @ Y3 @ Ys ) @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs ) ) )
     => ( member_list_list_nat @ Ys @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_651_Cons__in__subseqsD,axiom,
    ! [Y3: nat,Ys: list_nat,Xs: list_nat] :
      ( ( member_list_nat @ ( cons_nat @ Y3 @ Ys ) @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) )
     => ( member_list_nat @ Ys @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_652_empty__subseqs,axiom,
    ! [Xs: list_list_nat] : ( member_list_list_nat @ nil_list_nat @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs ) ) ) ).

% empty_subseqs
thf(fact_653_empty__subseqs,axiom,
    ! [Xs: list_term_a_b] : ( member_list_term_a_b @ nil_term_a_b @ ( set_list_term_a_b2 @ ( subseqs_term_a_b @ Xs ) ) ) ).

% empty_subseqs
thf(fact_654_empty__subseqs,axiom,
    ! [Xs: list_nat] : ( member_list_nat @ nil_nat @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) ) ).

% empty_subseqs
thf(fact_655_list__union_Osimps_I1_J,axiom,
    ! [Ys: list_term_a_b] :
      ( ( missin4887234603271916558rm_a_b @ nil_term_a_b @ Ys )
      = Ys ) ).

% list_union.simps(1)
thf(fact_656_list__union_Osimps_I1_J,axiom,
    ! [Ys: list_list_nat] :
      ( ( missin2430100002323995866st_nat @ nil_list_nat @ Ys )
      = Ys ) ).

% list_union.simps(1)
thf(fact_657_list__union_Osimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( missin7861371969718421194on_nat @ nil_nat @ Ys )
      = Ys ) ).

% list_union.simps(1)
thf(fact_658_list__diff_Osimps_I1_J,axiom,
    ! [Ys: list_term_a_b] :
      ( ( missin8626798239073972496rm_a_b @ nil_term_a_b @ Ys )
      = nil_term_a_b ) ).

% list_diff.simps(1)
thf(fact_659_list__diff_Osimps_I1_J,axiom,
    ! [Ys: list_list_nat] :
      ( ( missin6169663638126051804st_nat @ nil_list_nat @ Ys )
      = nil_list_nat ) ).

% list_diff.simps(1)
thf(fact_660_list__diff_Osimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( missin818507234016924876ff_nat @ nil_nat @ Ys )
      = nil_nat ) ).

% list_diff.simps(1)
thf(fact_661_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_o,X: $o,Ys: list_o,Y3: $o,R2: set_Product_prod_o_o] :
      ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ ( append_o @ Xs @ ( cons_o @ X @ nil_o ) ) @ ( append_o @ Ys @ ( cons_o @ Y3 @ nil_o ) ) ) @ ( listrel1_o @ R2 ) )
      = ( ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ Xs @ Ys ) @ ( listrel1_o @ R2 ) )
          & ( X = Y3 ) )
        | ( ( Xs = Ys )
          & ( member7466972457876170832od_o_o @ ( product_Pair_o_o @ X @ Y3 ) @ R2 ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_662_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_term_a_b,X: term_a_b,Ys: list_term_a_b,Y3: term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ X @ nil_term_a_b ) ) @ ( append_term_a_b @ Ys @ ( cons_term_a_b @ Y3 @ nil_term_a_b ) ) ) @ ( listrel1_term_a_b @ R2 ) )
      = ( ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listrel1_term_a_b @ R2 ) )
          & ( X = Y3 ) )
        | ( ( Xs = Ys )
          & ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ X @ Y3 ) @ R2 ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_663_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_list_nat,X: list_nat,Ys: list_list_nat,Y3: list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( append_list_nat @ Xs @ ( cons_list_nat @ X @ nil_list_nat ) ) @ ( append_list_nat @ Ys @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) ) @ ( listrel1_list_nat @ R2 ) )
      = ( ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Ys ) @ ( listrel1_list_nat @ R2 ) )
          & ( X = Y3 ) )
        | ( ( Xs = Ys )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y3 ) @ R2 ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_664_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat,Y3: nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) ) @ ( listrel1_nat @ R2 ) )
      = ( ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) )
          & ( X = Y3 ) )
        | ( ( Xs = Ys )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_665_list__inter_Oelims,axiom,
    ! [X: list_P7940050157051400743st_nat,Xa: list_P7940050157051400743st_nat,Y3: list_P7940050157051400743st_nat] :
      ( ( ( missin4853219572248531674st_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_Pr8413428694792600231st_nat )
         => ( Y3 != nil_Pr8413428694792600231st_nat ) )
       => ~ ! [A3: produc1828647624359046049st_nat,As: list_P7940050157051400743st_nat] :
              ( ( X
                = ( cons_P5007559046487125591st_nat @ A3 @ As ) )
             => ~ ( ( ( member7340969449405702474st_nat @ A3 @ ( set_Pr3842133991353686454st_nat @ Xa ) )
                   => ( Y3
                      = ( cons_P5007559046487125591st_nat @ A3 @ ( missin4853219572248531674st_nat @ As @ Xa ) ) ) )
                  & ( ~ ( member7340969449405702474st_nat @ A3 @ ( set_Pr3842133991353686454st_nat @ Xa ) )
                   => ( Y3
                      = ( missin4853219572248531674st_nat @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_666_list__inter_Oelims,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_P6011104703257516679at_nat,Y3: list_P6011104703257516679at_nat] :
      ( ( ( missin4052789392645806394at_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_Pr5478986624290739719at_nat )
         => ( Y3 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [A3: product_prod_nat_nat,As: list_P6011104703257516679at_nat] :
              ( ( X
                = ( cons_P6512896166579812791at_nat @ A3 @ As ) )
             => ~ ( ( ( member8440522571783428010at_nat @ A3 @ ( set_Pr5648618587558075414at_nat @ Xa ) )
                   => ( Y3
                      = ( cons_P6512896166579812791at_nat @ A3 @ ( missin4052789392645806394at_nat @ As @ Xa ) ) ) )
                  & ( ~ ( member8440522571783428010at_nat @ A3 @ ( set_Pr5648618587558075414at_nat @ Xa ) )
                   => ( Y3
                      = ( missin4052789392645806394at_nat @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_667_list__inter_Oelims,axiom,
    ! [X: list_list_list_nat,Xa: list_list_list_nat,Y3: list_list_list_nat] :
      ( ( ( missin3547494010810081143st_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_list_list_nat )
         => ( Y3 != nil_list_list_nat ) )
       => ~ ! [A3: list_list_nat,As: list_list_list_nat] :
              ( ( X
                = ( cons_list_list_nat @ A3 @ As ) )
             => ~ ( ( ( member_list_list_nat @ A3 @ ( set_list_list_nat2 @ Xa ) )
                   => ( Y3
                      = ( cons_list_list_nat @ A3 @ ( missin3547494010810081143st_nat @ As @ Xa ) ) ) )
                  & ( ~ ( member_list_list_nat @ A3 @ ( set_list_list_nat2 @ Xa ) )
                   => ( Y3
                      = ( missin3547494010810081143st_nat @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_668_list__inter_Oelims,axiom,
    ! [X: list_list_term_a_b,Xa: list_list_term_a_b,Y3: list_list_term_a_b] :
      ( ( ( missin207214257946703019rm_a_b @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_list_term_a_b )
         => ( Y3 != nil_list_term_a_b ) )
       => ~ ! [A3: list_term_a_b,As: list_list_term_a_b] :
              ( ( X
                = ( cons_list_term_a_b @ A3 @ As ) )
             => ~ ( ( ( member_list_term_a_b @ A3 @ ( set_list_term_a_b2 @ Xa ) )
                   => ( Y3
                      = ( cons_list_term_a_b @ A3 @ ( missin207214257946703019rm_a_b @ As @ Xa ) ) ) )
                  & ( ~ ( member_list_term_a_b @ A3 @ ( set_list_term_a_b2 @ Xa ) )
                   => ( Y3
                      = ( missin207214257946703019rm_a_b @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_669_list__inter_Oelims,axiom,
    ! [X: list_o,Xa: list_o,Y3: list_o] :
      ( ( ( missing_list_inter_o @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_o )
         => ( Y3 != nil_o ) )
       => ~ ! [A3: $o,As: list_o] :
              ( ( X
                = ( cons_o @ A3 @ As ) )
             => ~ ( ( ( member_o @ A3 @ ( set_o2 @ Xa ) )
                   => ( Y3
                      = ( cons_o @ A3 @ ( missing_list_inter_o @ As @ Xa ) ) ) )
                  & ( ~ ( member_o @ A3 @ ( set_o2 @ Xa ) )
                   => ( Y3
                      = ( missing_list_inter_o @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_670_list__inter_Oelims,axiom,
    ! [X: list_term_a_b,Xa: list_term_a_b,Y3: list_term_a_b] :
      ( ( ( missin8990008842131906971rm_a_b @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_term_a_b )
         => ( Y3 != nil_term_a_b ) )
       => ~ ! [A3: term_a_b,As: list_term_a_b] :
              ( ( X
                = ( cons_term_a_b @ A3 @ As ) )
             => ~ ( ( ( member_term_a_b @ A3 @ ( set_term_a_b2 @ Xa ) )
                   => ( Y3
                      = ( cons_term_a_b @ A3 @ ( missin8990008842131906971rm_a_b @ As @ Xa ) ) ) )
                  & ( ~ ( member_term_a_b @ A3 @ ( set_term_a_b2 @ Xa ) )
                   => ( Y3
                      = ( missin8990008842131906971rm_a_b @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_671_list__inter_Oelims,axiom,
    ! [X: list_list_nat,Xa: list_list_nat,Y3: list_list_nat] :
      ( ( ( missin6532874241183986279st_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_list_nat )
         => ( Y3 != nil_list_nat ) )
       => ~ ! [A3: list_nat,As: list_list_nat] :
              ( ( X
                = ( cons_list_nat @ A3 @ As ) )
             => ~ ( ( ( member_list_nat @ A3 @ ( set_list_nat2 @ Xa ) )
                   => ( Y3
                      = ( cons_list_nat @ A3 @ ( missin6532874241183986279st_nat @ As @ Xa ) ) ) )
                  & ( ~ ( member_list_nat @ A3 @ ( set_list_nat2 @ Xa ) )
                   => ( Y3
                      = ( missin6532874241183986279st_nat @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_672_list__inter_Oelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y3: list_nat] :
      ( ( ( missin6377695591745783511er_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_nat )
         => ( Y3 != nil_nat ) )
       => ~ ! [A3: nat,As: list_nat] :
              ( ( X
                = ( cons_nat @ A3 @ As ) )
             => ~ ( ( ( member_nat @ A3 @ ( set_nat2 @ Xa ) )
                   => ( Y3
                      = ( cons_nat @ A3 @ ( missin6377695591745783511er_nat @ As @ Xa ) ) ) )
                  & ( ~ ( member_nat @ A3 @ ( set_nat2 @ Xa ) )
                   => ( Y3
                      = ( missin6377695591745783511er_nat @ As @ Xa ) ) ) ) ) ) ) ).

% list_inter.elims
thf(fact_673_eq__ctxt__at__pos__by__poss,axiom,
    ! [P: list_nat,S: term_a_b,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ S ) )
     => ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
       => ( ! [Q3: list_nat] :
              ( ~ ( term_p3503116865373065078eq_nat @ P @ Q3 )
             => ( ( member_list_nat @ Q3 @ ( term_poss_a_b @ S ) )
                = ( member_list_nat @ Q3 @ ( term_poss_a_b @ T2 ) ) ) )
         => ( ! [Q3: list_nat] :
                ( ( member_list_nat @ Q3 @ ( term_poss_a_b @ S ) )
               => ( ~ ( term_p3503116865373065078eq_nat @ P @ Q3 )
                 => ( ( term_fun_at_a_b @ S @ Q3 )
                    = ( term_fun_at_a_b @ T2 @ Q3 ) ) ) )
           => ( ( term_ctxt_at_pos_a_b @ S @ P )
              = ( term_ctxt_at_pos_a_b @ T2 @ P ) ) ) ) ) ) ).

% eq_ctxt_at_pos_by_poss
thf(fact_674_maps__simps_I1_J,axiom,
    ! [F: nat > list_nat,X: nat,Xs: list_nat] :
      ( ( maps_nat_nat @ F @ ( cons_nat @ X @ Xs ) )
      = ( append_nat @ ( F @ X ) @ ( maps_nat_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_675_maps__simps_I1_J,axiom,
    ! [F: $o > list_nat,X: $o,Xs: list_o] :
      ( ( maps_o_nat @ F @ ( cons_o @ X @ Xs ) )
      = ( append_nat @ ( F @ X ) @ ( maps_o_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_676_maps__simps_I1_J,axiom,
    ! [F: nat > list_list_nat,X: nat,Xs: list_nat] :
      ( ( maps_nat_list_nat @ F @ ( cons_nat @ X @ Xs ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_nat_list_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_677_maps__simps_I1_J,axiom,
    ! [F: $o > list_list_nat,X: $o,Xs: list_o] :
      ( ( maps_o_list_nat @ F @ ( cons_o @ X @ Xs ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_o_list_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_678_maps__simps_I1_J,axiom,
    ! [F: list_nat > list_nat,X: list_nat,Xs: list_list_nat] :
      ( ( maps_list_nat_nat @ F @ ( cons_list_nat @ X @ Xs ) )
      = ( append_nat @ ( F @ X ) @ ( maps_list_nat_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_679_maps__simps_I1_J,axiom,
    ! [F: nat > list_term_a_b,X: nat,Xs: list_nat] :
      ( ( maps_nat_term_a_b @ F @ ( cons_nat @ X @ Xs ) )
      = ( append_term_a_b @ ( F @ X ) @ ( maps_nat_term_a_b @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_680_maps__simps_I1_J,axiom,
    ! [F: $o > list_term_a_b,X: $o,Xs: list_o] :
      ( ( maps_o_term_a_b @ F @ ( cons_o @ X @ Xs ) )
      = ( append_term_a_b @ ( F @ X ) @ ( maps_o_term_a_b @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_681_maps__simps_I1_J,axiom,
    ! [F: term_a_b > list_nat,X: term_a_b,Xs: list_term_a_b] :
      ( ( maps_term_a_b_nat @ F @ ( cons_term_a_b @ X @ Xs ) )
      = ( append_nat @ ( F @ X ) @ ( maps_term_a_b_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_682_maps__simps_I1_J,axiom,
    ! [F: list_nat > list_list_nat,X: list_nat,Xs: list_list_nat] :
      ( ( maps_l5785965478274863235st_nat @ F @ ( cons_list_nat @ X @ Xs ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_l5785965478274863235st_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_683_maps__simps_I1_J,axiom,
    ! [F: term_a_b > list_list_nat,X: term_a_b,Xs: list_term_a_b] :
      ( ( maps_t7654991292757673399st_nat @ F @ ( cons_term_a_b @ X @ Xs ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_t7654991292757673399st_nat @ F @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_684_lexord__same__pref__iff,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( append_list_nat @ Xs @ Ys ) @ ( append_list_nat @ Xs @ Zs2 ) ) @ ( lexord_list_nat @ R2 ) )
      = ( ? [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs ) )
            & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X3 @ X3 ) @ R2 ) )
        | ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Ys @ Zs2 ) @ ( lexord_list_nat @ R2 ) ) ) ) ).

% lexord_same_pref_iff
thf(fact_685_lexord__same__pref__iff,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys ) @ ( append_nat @ Xs @ Zs2 ) ) @ ( lexord_nat @ R2 ) )
      = ( ? [X3: nat] :
            ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
            & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R2 ) )
        | ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys @ Zs2 ) @ ( lexord_nat @ R2 ) ) ) ) ).

% lexord_same_pref_iff
thf(fact_686_lexord__same__pref__iff,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,Zs2: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( append_term_a_b @ Xs @ Ys ) @ ( append_term_a_b @ Xs @ Zs2 ) ) @ ( lexord_term_a_b @ R2 ) )
      = ( ? [X3: term_a_b] :
            ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs ) )
            & ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ X3 @ X3 ) @ R2 ) )
        | ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Ys @ Zs2 ) @ ( lexord_term_a_b @ R2 ) ) ) ) ).

% lexord_same_pref_iff
thf(fact_687_lexord__same__pref__iff,axiom,
    ! [Xs: list_list_list_nat,Ys: list_list_list_nat,Zs2: list_list_list_nat,R2: set_Pr1190453367779242145st_nat] :
      ( ( member2808947571892915594st_nat @ ( produc7456843779855495193st_nat @ ( append_list_list_nat @ Xs @ Ys ) @ ( append_list_list_nat @ Xs @ Zs2 ) ) @ ( lexord_list_list_nat @ R2 ) )
      = ( ? [X3: list_list_nat] :
            ( ( member_list_list_nat @ X3 @ ( set_list_list_nat2 @ Xs ) )
            & ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ X3 @ X3 ) @ R2 ) )
        | ( member2808947571892915594st_nat @ ( produc7456843779855495193st_nat @ Ys @ Zs2 ) @ ( lexord_list_list_nat @ R2 ) ) ) ) ).

% lexord_same_pref_iff
thf(fact_688_lexord__same__pref__iff,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b,Zs2: list_list_term_a_b,R2: set_Pr8564414093027780873rm_a_b] :
      ( ( member8612744848686930930rm_a_b @ ( produc7557079580777928833rm_a_b @ ( append_list_term_a_b @ Xs @ Ys ) @ ( append_list_term_a_b @ Xs @ Zs2 ) ) @ ( lexord_list_term_a_b @ R2 ) )
      = ( ? [X3: list_term_a_b] :
            ( ( member_list_term_a_b @ X3 @ ( set_list_term_a_b2 @ Xs ) )
            & ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ X3 @ X3 ) @ R2 ) )
        | ( member8612744848686930930rm_a_b @ ( produc7557079580777928833rm_a_b @ Ys @ Zs2 ) @ ( lexord_list_term_a_b @ R2 ) ) ) ) ).

% lexord_same_pref_iff
thf(fact_689_lexord__append__left__rightI,axiom,
    ! [A: $o,B: $o,R2: set_Product_prod_o_o,U2: list_o,X: list_o,Y3: list_o] :
      ( ( member7466972457876170832od_o_o @ ( product_Pair_o_o @ A @ B ) @ R2 )
     => ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ ( append_o @ U2 @ ( cons_o @ A @ X ) ) @ ( append_o @ U2 @ ( cons_o @ B @ Y3 ) ) ) @ ( lexord_o @ R2 ) ) ) ).

% lexord_append_left_rightI
thf(fact_690_lexord__append__left__rightI,axiom,
    ! [A: term_a_b,B: term_a_b,R2: set_Pr4386577575007340137rm_a_b,U2: list_term_a_b,X: list_term_a_b,Y3: list_term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A @ B ) @ R2 )
     => ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( append_term_a_b @ U2 @ ( cons_term_a_b @ A @ X ) ) @ ( append_term_a_b @ U2 @ ( cons_term_a_b @ B @ Y3 ) ) ) @ ( lexord_term_a_b @ R2 ) ) ) ).

% lexord_append_left_rightI
thf(fact_691_lexord__append__left__rightI,axiom,
    ! [A: list_nat,B: list_nat,R2: set_Pr3451248702717554689st_nat,U2: list_list_nat,X: list_list_nat,Y3: list_list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A @ B ) @ R2 )
     => ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( append_list_nat @ U2 @ ( cons_list_nat @ A @ X ) ) @ ( append_list_nat @ U2 @ ( cons_list_nat @ B @ Y3 ) ) ) @ ( lexord_list_nat @ R2 ) ) ) ).

% lexord_append_left_rightI
thf(fact_692_lexord__append__left__rightI,axiom,
    ! [A: nat,B: nat,R2: set_Pr1261947904930325089at_nat,U2: list_nat,X: list_nat,Y3: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ R2 )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ U2 @ ( cons_nat @ A @ X ) ) @ ( append_nat @ U2 @ ( cons_nat @ B @ Y3 ) ) ) @ ( lexord_nat @ R2 ) ) ) ).

% lexord_append_left_rightI
thf(fact_693_position__less__eq__Cons,axiom,
    ! [I: $o,Ps: list_o,J: $o,Qs: list_o] :
      ( ( term_p4245123255626418802s_eq_o @ ( cons_o @ I @ Ps ) @ ( cons_o @ J @ Qs ) )
      = ( ( I = J )
        & ( term_p4245123255626418802s_eq_o @ Ps @ Qs ) ) ) ).

% position_less_eq_Cons
thf(fact_694_position__less__eq__Cons,axiom,
    ! [I: term_a_b,Ps: list_term_a_b,J: term_a_b,Qs: list_term_a_b] :
      ( ( term_p8391561492822560442rm_a_b @ ( cons_term_a_b @ I @ Ps ) @ ( cons_term_a_b @ J @ Qs ) )
      = ( ( I = J )
        & ( term_p8391561492822560442rm_a_b @ Ps @ Qs ) ) ) ).

% position_less_eq_Cons
thf(fact_695_position__less__eq__Cons,axiom,
    ! [I: list_nat,Ps: list_list_nat,J: list_nat,Qs: list_list_nat] :
      ( ( term_p5934426891874639750st_nat @ ( cons_list_nat @ I @ Ps ) @ ( cons_list_nat @ J @ Qs ) )
      = ( ( I = J )
        & ( term_p5934426891874639750st_nat @ Ps @ Qs ) ) ) ).

% position_less_eq_Cons
thf(fact_696_position__less__eq__Cons,axiom,
    ! [I: nat,Ps: list_nat,J: nat,Qs: list_nat] :
      ( ( term_p3503116865373065078eq_nat @ ( cons_nat @ I @ Ps ) @ ( cons_nat @ J @ Qs ) )
      = ( ( I = J )
        & ( term_p3503116865373065078eq_nat @ Ps @ Qs ) ) ) ).

% position_less_eq_Cons
thf(fact_697_position__less__Nil__is__bot2,axiom,
    ! [P: list_list_nat] :
      ( ( term_p5934426891874639750st_nat @ P @ nil_list_nat )
      = ( P = nil_list_nat ) ) ).

% position_less_Nil_is_bot2
thf(fact_698_position__less__Nil__is__bot2,axiom,
    ! [P: list_term_a_b] :
      ( ( term_p8391561492822560442rm_a_b @ P @ nil_term_a_b )
      = ( P = nil_term_a_b ) ) ).

% position_less_Nil_is_bot2
thf(fact_699_position__less__Nil__is__bot2,axiom,
    ! [P: list_nat] :
      ( ( term_p3503116865373065078eq_nat @ P @ nil_nat )
      = ( P = nil_nat ) ) ).

% position_less_Nil_is_bot2
thf(fact_700_replace__term__at__above,axiom,
    ! [P: list_nat,Q: list_nat,S: term_a_b,T2: term_a_b,U2: term_a_b] :
      ( ( term_p3503116865373065078eq_nat @ P @ Q )
     => ( ( term_r6860082780075436317at_a_b @ ( term_r6860082780075436317at_a_b @ S @ Q @ T2 ) @ P @ U2 )
        = ( term_r6860082780075436317at_a_b @ S @ P @ U2 ) ) ) ).

% replace_term_at_above
thf(fact_701_Cons__listrel1__Cons,axiom,
    ! [X: $o,Xs: list_o,Y3: $o,Ys: list_o,R2: set_Product_prod_o_o] :
      ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ ( cons_o @ X @ Xs ) @ ( cons_o @ Y3 @ Ys ) ) @ ( listrel1_o @ R2 ) )
      = ( ( ( member7466972457876170832od_o_o @ ( product_Pair_o_o @ X @ Y3 ) @ R2 )
          & ( Xs = Ys ) )
        | ( ( X = Y3 )
          & ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ Xs @ Ys ) @ ( listrel1_o @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_702_Cons__listrel1__Cons,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,Y3: term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ X @ Xs ) @ ( cons_term_a_b @ Y3 @ Ys ) ) @ ( listrel1_term_a_b @ R2 ) )
      = ( ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ X @ Y3 ) @ R2 )
          & ( Xs = Ys ) )
        | ( ( X = Y3 )
          & ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listrel1_term_a_b @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_703_Cons__listrel1__Cons,axiom,
    ! [X: list_nat,Xs: list_list_nat,Y3: list_nat,Ys: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( cons_list_nat @ X @ Xs ) @ ( cons_list_nat @ Y3 @ Ys ) ) @ ( listrel1_list_nat @ R2 ) )
      = ( ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y3 ) @ R2 )
          & ( Xs = Ys ) )
        | ( ( X = Y3 )
          & ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Ys ) @ ( listrel1_list_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_704_Cons__listrel1__Cons,axiom,
    ! [X: nat,Xs: list_nat,Y3: nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) @ ( listrel1_nat @ R2 ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 )
          & ( Xs = Ys ) )
        | ( ( X = Y3 )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_705_lexord__cons__cons,axiom,
    ! [A: $o,X: list_o,B: $o,Y3: list_o,R2: set_Product_prod_o_o] :
      ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ ( cons_o @ A @ X ) @ ( cons_o @ B @ Y3 ) ) @ ( lexord_o @ R2 ) )
      = ( ( member7466972457876170832od_o_o @ ( product_Pair_o_o @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ X @ Y3 ) @ ( lexord_o @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_706_lexord__cons__cons,axiom,
    ! [A: term_a_b,X: list_term_a_b,B: term_a_b,Y3: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ A @ X ) @ ( cons_term_a_b @ B @ Y3 ) ) @ ( lexord_term_a_b @ R2 ) )
      = ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ X @ Y3 ) @ ( lexord_term_a_b @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_707_lexord__cons__cons,axiom,
    ! [A: list_nat,X: list_list_nat,B: list_nat,Y3: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( cons_list_nat @ A @ X ) @ ( cons_list_nat @ B @ Y3 ) ) @ ( lexord_list_nat @ R2 ) )
      = ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ X @ Y3 ) @ ( lexord_list_nat @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_708_lexord__cons__cons,axiom,
    ! [A: nat,X: list_nat,B: nat,Y3: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ A @ X ) @ ( cons_nat @ B @ Y3 ) ) @ ( lexord_nat @ R2 ) )
      = ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ R2 )
        | ( ( A = B )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y3 ) @ ( lexord_nat @ R2 ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_709_lexord__Nil__left,axiom,
    ! [Y3: list_o,R2: set_Product_prod_o_o] :
      ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ nil_o @ Y3 ) @ ( lexord_o @ R2 ) )
      = ( ? [A6: $o,X3: list_o] :
            ( Y3
            = ( cons_o @ A6 @ X3 ) ) ) ) ).

% lexord_Nil_left
thf(fact_710_lexord__Nil__left,axiom,
    ! [Y3: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Y3 ) @ ( lexord_term_a_b @ R2 ) )
      = ( ? [A6: term_a_b,X3: list_term_a_b] :
            ( Y3
            = ( cons_term_a_b @ A6 @ X3 ) ) ) ) ).

% lexord_Nil_left
thf(fact_711_lexord__Nil__left,axiom,
    ! [Y3: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ nil_list_nat @ Y3 ) @ ( lexord_list_nat @ R2 ) )
      = ( ? [A6: list_nat,X3: list_list_nat] :
            ( Y3
            = ( cons_list_nat @ A6 @ X3 ) ) ) ) ).

% lexord_Nil_left
thf(fact_712_lexord__Nil__left,axiom,
    ! [Y3: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Y3 ) @ ( lexord_nat @ R2 ) )
      = ( ? [A6: nat,X3: list_nat] :
            ( Y3
            = ( cons_nat @ A6 @ X3 ) ) ) ) ).

% lexord_Nil_left
thf(fact_713_position__less__refl,axiom,
    ! [P: list_nat] : ( term_p3503116865373065078eq_nat @ P @ P ) ).

% position_less_refl
thf(fact_714_position__less__Nil__is__bot,axiom,
    ! [P: list_list_nat] : ( term_p5934426891874639750st_nat @ nil_list_nat @ P ) ).

% position_less_Nil_is_bot
thf(fact_715_position__less__Nil__is__bot,axiom,
    ! [P: list_term_a_b] : ( term_p8391561492822560442rm_a_b @ nil_term_a_b @ P ) ).

% position_less_Nil_is_bot
thf(fact_716_position__less__Nil__is__bot,axiom,
    ! [P: list_nat] : ( term_p3503116865373065078eq_nat @ nil_nat @ P ) ).

% position_less_Nil_is_bot
thf(fact_717_less__eq__poss__append__itself,axiom,
    ! [P: list_list_nat,Q: list_list_nat] : ( term_p5934426891874639750st_nat @ P @ ( append_list_nat @ P @ Q ) ) ).

% less_eq_poss_append_itself
thf(fact_718_less__eq__poss__append__itself,axiom,
    ! [P: list_term_a_b,Q: list_term_a_b] : ( term_p8391561492822560442rm_a_b @ P @ ( append_term_a_b @ P @ Q ) ) ).

% less_eq_poss_append_itself
thf(fact_719_less__eq__poss__append__itself,axiom,
    ! [P: list_nat,Q: list_nat] : ( term_p3503116865373065078eq_nat @ P @ ( append_nat @ P @ Q ) ) ).

% less_eq_poss_append_itself
thf(fact_720_position__less__eq__induct,axiom,
    ! [P: list_list_nat,Q: list_list_nat,P3: list_list_nat > list_list_nat > $o] :
      ( ( term_p5934426891874639750st_nat @ P @ Q )
     => ( ! [P4: list_list_nat] : ( P3 @ P4 @ P4 )
       => ( ! [P4: list_list_nat,Q3: list_list_nat,R3: list_list_nat] :
              ( ( term_p5934426891874639750st_nat @ P4 @ Q3 )
             => ( ( P3 @ P4 @ Q3 )
               => ( P3 @ P4 @ ( append_list_nat @ Q3 @ R3 ) ) ) )
         => ( P3 @ P @ Q ) ) ) ) ).

% position_less_eq_induct
thf(fact_721_position__less__eq__induct,axiom,
    ! [P: list_term_a_b,Q: list_term_a_b,P3: list_term_a_b > list_term_a_b > $o] :
      ( ( term_p8391561492822560442rm_a_b @ P @ Q )
     => ( ! [P4: list_term_a_b] : ( P3 @ P4 @ P4 )
       => ( ! [P4: list_term_a_b,Q3: list_term_a_b,R3: list_term_a_b] :
              ( ( term_p8391561492822560442rm_a_b @ P4 @ Q3 )
             => ( ( P3 @ P4 @ Q3 )
               => ( P3 @ P4 @ ( append_term_a_b @ Q3 @ R3 ) ) ) )
         => ( P3 @ P @ Q ) ) ) ) ).

% position_less_eq_induct
thf(fact_722_position__less__eq__induct,axiom,
    ! [P: list_nat,Q: list_nat,P3: list_nat > list_nat > $o] :
      ( ( term_p3503116865373065078eq_nat @ P @ Q )
     => ( ! [P4: list_nat] : ( P3 @ P4 @ P4 )
       => ( ! [P4: list_nat,Q3: list_nat,R3: list_nat] :
              ( ( term_p3503116865373065078eq_nat @ P4 @ Q3 )
             => ( ( P3 @ P4 @ Q3 )
               => ( P3 @ P4 @ ( append_nat @ Q3 @ R3 ) ) ) )
         => ( P3 @ P @ Q ) ) ) ) ).

% position_less_eq_induct
thf(fact_723_position__less__eq__def,axiom,
    ( term_p5934426891874639750st_nat
    = ( ^ [P2: list_list_nat,Q4: list_list_nat] :
        ? [R4: list_list_nat] :
          ( ( append_list_nat @ P2 @ R4 )
          = Q4 ) ) ) ).

% position_less_eq_def
thf(fact_724_position__less__eq__def,axiom,
    ( term_p8391561492822560442rm_a_b
    = ( ^ [P2: list_term_a_b,Q4: list_term_a_b] :
        ? [R4: list_term_a_b] :
          ( ( append_term_a_b @ P2 @ R4 )
          = Q4 ) ) ) ).

% position_less_eq_def
thf(fact_725_position__less__eq__def,axiom,
    ( term_p3503116865373065078eq_nat
    = ( ^ [P2: list_nat,Q4: list_nat] :
        ? [R4: list_nat] :
          ( ( append_nat @ P2 @ R4 )
          = Q4 ) ) ) ).

% position_less_eq_def
thf(fact_726_list__inter_Osimps_I1_J,axiom,
    ! [Bs2: list_term_a_b] :
      ( ( missin8990008842131906971rm_a_b @ nil_term_a_b @ Bs2 )
      = nil_term_a_b ) ).

% list_inter.simps(1)
thf(fact_727_list__inter_Osimps_I1_J,axiom,
    ! [Bs2: list_list_nat] :
      ( ( missin6532874241183986279st_nat @ nil_list_nat @ Bs2 )
      = nil_list_nat ) ).

% list_inter.simps(1)
thf(fact_728_list__inter_Osimps_I1_J,axiom,
    ! [Bs2: list_nat] :
      ( ( missin6377695591745783511er_nat @ nil_nat @ Bs2 )
      = nil_nat ) ).

% list_inter.simps(1)
thf(fact_729_listrel1I2,axiom,
    ! [Xs: list_o,Ys: list_o,R2: set_Product_prod_o_o,X: $o] :
      ( ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ Xs @ Ys ) @ ( listrel1_o @ R2 ) )
     => ( member4159035015898711888list_o @ ( produc8435520187683070743list_o @ ( cons_o @ X @ Xs ) @ ( cons_o @ X @ Ys ) ) @ ( listrel1_o @ R2 ) ) ) ).

% listrel1I2
thf(fact_730_listrel1I2,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b,X: term_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listrel1_term_a_b @ R2 ) )
     => ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( cons_term_a_b @ X @ Xs ) @ ( cons_term_a_b @ X @ Ys ) ) @ ( listrel1_term_a_b @ R2 ) ) ) ).

% listrel1I2
thf(fact_731_listrel1I2,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,R2: set_Pr3451248702717554689st_nat,X: list_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Ys ) @ ( listrel1_list_nat @ R2 ) )
     => ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( cons_list_nat @ X @ Xs ) @ ( cons_list_nat @ X @ Ys ) ) @ ( listrel1_list_nat @ R2 ) ) ) ).

% listrel1I2
thf(fact_732_listrel1I2,axiom,
    ! [Xs: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat,X: nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ X @ Ys ) ) @ ( listrel1_nat @ R2 ) ) ) ).

% listrel1I2
thf(fact_733_not__Nil__listrel1,axiom,
    ! [Xs: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ~ ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ nil_list_nat @ Xs ) @ ( listrel1_list_nat @ R2 ) ) ).

% not_Nil_listrel1
thf(fact_734_not__Nil__listrel1,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ~ ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Xs ) @ ( listrel1_term_a_b @ R2 ) ) ).

% not_Nil_listrel1
thf(fact_735_not__Nil__listrel1,axiom,
    ! [Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xs ) @ ( listrel1_nat @ R2 ) ) ).

% not_Nil_listrel1
thf(fact_736_not__listrel1__Nil,axiom,
    ! [Xs: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ~ ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ nil_list_nat ) @ ( listrel1_list_nat @ R2 ) ) ).

% not_listrel1_Nil
thf(fact_737_not__listrel1__Nil,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ~ ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ nil_term_a_b ) @ ( listrel1_term_a_b @ R2 ) ) ).

% not_listrel1_Nil
thf(fact_738_not__listrel1__Nil,axiom,
    ! [Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( listrel1_nat @ R2 ) ) ).

% not_listrel1_Nil
thf(fact_739_append__listrel1I,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat,R2: set_Pr3451248702717554689st_nat,Us2: list_list_nat,Vs: list_list_nat] :
      ( ( ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Ys ) @ ( listrel1_list_nat @ R2 ) )
          & ( Us2 = Vs ) )
        | ( ( Xs = Ys )
          & ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Us2 @ Vs ) @ ( listrel1_list_nat @ R2 ) ) ) )
     => ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( append_list_nat @ Xs @ Us2 ) @ ( append_list_nat @ Ys @ Vs ) ) @ ( listrel1_list_nat @ R2 ) ) ) ).

% append_listrel1I
thf(fact_740_append__listrel1I,axiom,
    ! [Xs: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat,Us2: list_nat,Vs: list_nat] :
      ( ( ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) )
          & ( Us2 = Vs ) )
        | ( ( Xs = Ys )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Us2 @ Vs ) @ ( listrel1_nat @ R2 ) ) ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Us2 ) @ ( append_nat @ Ys @ Vs ) ) @ ( listrel1_nat @ R2 ) ) ) ).

% append_listrel1I
thf(fact_741_append__listrel1I,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b,Us2: list_term_a_b,Vs: list_term_a_b] :
      ( ( ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listrel1_term_a_b @ R2 ) )
          & ( Us2 = Vs ) )
        | ( ( Xs = Ys )
          & ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Us2 @ Vs ) @ ( listrel1_term_a_b @ R2 ) ) ) )
     => ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( append_term_a_b @ Xs @ Us2 ) @ ( append_term_a_b @ Ys @ Vs ) ) @ ( listrel1_term_a_b @ R2 ) ) ) ).

% append_listrel1I
thf(fact_742_lexord__irreflexive,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ! [X2: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ X2 ) @ R2 )
     => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Xs ) @ ( lexord_nat @ R2 ) ) ) ).

% lexord_irreflexive
thf(fact_743_lexord__irreflexive,axiom,
    ! [R2: set_Pr3451248702717554689st_nat,Xs: list_list_nat] :
      ( ! [X2: list_nat] :
          ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X2 @ X2 ) @ R2 )
     => ~ ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Xs ) @ ( lexord_list_nat @ R2 ) ) ) ).

% lexord_irreflexive
thf(fact_744_lexord__irreflexive,axiom,
    ! [R2: set_Pr4386577575007340137rm_a_b,Xs: list_term_a_b] :
      ( ! [X2: term_a_b] :
          ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ X2 @ X2 ) @ R2 )
     => ~ ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Xs ) @ ( lexord_term_a_b @ R2 ) ) ) ).

% lexord_irreflexive
thf(fact_745_lexord__linear,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,X: list_nat,Y3: list_nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A3 @ B3 ) @ R2 )
          | ( A3 = B3 )
          | ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ B3 @ A3 ) @ R2 ) )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y3 ) @ ( lexord_nat @ R2 ) )
        | ( X = Y3 )
        | ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Y3 @ X ) @ ( lexord_nat @ R2 ) ) ) ) ).

% lexord_linear
thf(fact_746_lexord__linear,axiom,
    ! [R2: set_Pr3451248702717554689st_nat,X: list_list_nat,Y3: list_list_nat] :
      ( ! [A3: list_nat,B3: list_nat] :
          ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A3 @ B3 ) @ R2 )
          | ( A3 = B3 )
          | ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ B3 @ A3 ) @ R2 ) )
     => ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ X @ Y3 ) @ ( lexord_list_nat @ R2 ) )
        | ( X = Y3 )
        | ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Y3 @ X ) @ ( lexord_list_nat @ R2 ) ) ) ) ).

% lexord_linear
thf(fact_747_lexord__linear,axiom,
    ! [R2: set_Pr4386577575007340137rm_a_b,X: list_term_a_b,Y3: list_term_a_b] :
      ( ! [A3: term_a_b,B3: term_a_b] :
          ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A3 @ B3 ) @ R2 )
          | ( A3 = B3 )
          | ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ B3 @ A3 ) @ R2 ) )
     => ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ X @ Y3 ) @ ( lexord_term_a_b @ R2 ) )
        | ( X = Y3 )
        | ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Y3 @ X ) @ ( lexord_term_a_b @ R2 ) ) ) ) ).

% lexord_linear
thf(fact_748_listrel_ONil,axiom,
    ! [R2: set_Pr698032948827214833st_nat] : ( member3963112742161418842st_nat @ ( produc7676750419334090729st_nat @ nil_nat @ nil_list_nat ) @ ( listrel_nat_list_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_749_listrel_ONil,axiom,
    ! [R2: set_Pr4549835640365387557rm_a_b] : ( member7814915433699591566rm_a_b @ ( produc4336470666470712605rm_a_b @ nil_nat @ nil_term_a_b ) @ ( listrel_nat_term_a_b @ R2 ) ) ).

% listrel.Nil
thf(fact_750_listrel_ONil,axiom,
    ! [R2: set_Pr7549493975000385137at_nat] : ( member2583041412010425562st_nat @ ( produc8303078633012690025st_nat @ nil_list_nat @ nil_nat ) @ ( listrel_list_nat_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_751_listrel_ONil,axiom,
    ! [R2: set_Pr3451248702717554689st_nat] : ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ nil_list_nat @ nil_list_nat ) @ ( listre6091228620945859379st_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_752_listrel_ONil,axiom,
    ! [R2: set_Pr7303051394255727413rm_a_b] : ( member3309085665041684766rm_a_b @ ( produc3789520237298881965rm_a_b @ nil_list_nat @ nil_term_a_b ) @ ( listre8548363221893780071rm_a_b @ R2 ) ) ).

% listrel.Nil
thf(fact_753_listrel_ONil,axiom,
    ! [R2: set_Pr6708357783813671845_b_nat] : ( member8889939629616814094st_nat @ ( produc5386604813764302749st_nat @ nil_term_a_b @ nil_nat ) @ ( listrel_term_a_b_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_754_listrel_ONil,axiom,
    ! [R2: set_Pr534774883469167413st_nat] : ( member553462728918224670st_nat @ ( produc8225979745576972717st_nat @ nil_term_a_b @ nil_list_nat ) @ ( listre7960254435428669543st_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_755_listrel_ONil,axiom,
    ! [R2: set_Pr4386577575007340137rm_a_b] : ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ nil_term_a_b @ nil_term_a_b ) @ ( listre1194016999521814427rm_a_b @ R2 ) ) ).

% listrel.Nil
thf(fact_756_listrel_ONil,axiom,
    ! [R2: set_Pr1261947904930325089at_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ nil_nat ) @ ( listrel_nat_nat @ R2 ) ) ).

% listrel.Nil
thf(fact_757_listrel__Nil1,axiom,
    ! [Xs: list_list_nat,R2: set_Pr698032948827214833st_nat] :
      ( ( member3963112742161418842st_nat @ ( produc7676750419334090729st_nat @ nil_nat @ Xs ) @ ( listrel_nat_list_nat @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil1
thf(fact_758_listrel__Nil1,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr4549835640365387557rm_a_b] :
      ( ( member7814915433699591566rm_a_b @ ( produc4336470666470712605rm_a_b @ nil_nat @ Xs ) @ ( listrel_nat_term_a_b @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil1
thf(fact_759_listrel__Nil1,axiom,
    ! [Xs: list_nat,R2: set_Pr7549493975000385137at_nat] :
      ( ( member2583041412010425562st_nat @ ( produc8303078633012690025st_nat @ nil_list_nat @ Xs ) @ ( listrel_list_nat_nat @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil1
thf(fact_760_listrel__Nil1,axiom,
    ! [Xs: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ nil_list_nat @ Xs ) @ ( listre6091228620945859379st_nat @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil1
thf(fact_761_listrel__Nil1,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr7303051394255727413rm_a_b] :
      ( ( member3309085665041684766rm_a_b @ ( produc3789520237298881965rm_a_b @ nil_list_nat @ Xs ) @ ( listre8548363221893780071rm_a_b @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil1
thf(fact_762_listrel__Nil1,axiom,
    ! [Xs: list_nat,R2: set_Pr6708357783813671845_b_nat] :
      ( ( member8889939629616814094st_nat @ ( produc5386604813764302749st_nat @ nil_term_a_b @ Xs ) @ ( listrel_term_a_b_nat @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil1
thf(fact_763_listrel__Nil1,axiom,
    ! [Xs: list_list_nat,R2: set_Pr534774883469167413st_nat] :
      ( ( member553462728918224670st_nat @ ( produc8225979745576972717st_nat @ nil_term_a_b @ Xs ) @ ( listre7960254435428669543st_nat @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil1
thf(fact_764_listrel__Nil1,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ nil_term_a_b @ Xs ) @ ( listre1194016999521814427rm_a_b @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil1
thf(fact_765_listrel__Nil1,axiom,
    ! [Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xs ) @ ( listrel_nat_nat @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil1
thf(fact_766_listrel__Nil2,axiom,
    ! [Xs: list_list_nat,R2: set_Pr7549493975000385137at_nat] :
      ( ( member2583041412010425562st_nat @ ( produc8303078633012690025st_nat @ Xs @ nil_nat ) @ ( listrel_list_nat_nat @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil2
thf(fact_767_listrel__Nil2,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr6708357783813671845_b_nat] :
      ( ( member8889939629616814094st_nat @ ( produc5386604813764302749st_nat @ Xs @ nil_nat ) @ ( listrel_term_a_b_nat @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil2
thf(fact_768_listrel__Nil2,axiom,
    ! [Xs: list_nat,R2: set_Pr698032948827214833st_nat] :
      ( ( member3963112742161418842st_nat @ ( produc7676750419334090729st_nat @ Xs @ nil_list_nat ) @ ( listrel_nat_list_nat @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil2
thf(fact_769_listrel__Nil2,axiom,
    ! [Xs: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ nil_list_nat ) @ ( listre6091228620945859379st_nat @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil2
thf(fact_770_listrel__Nil2,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr534774883469167413st_nat] :
      ( ( member553462728918224670st_nat @ ( produc8225979745576972717st_nat @ Xs @ nil_list_nat ) @ ( listre7960254435428669543st_nat @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil2
thf(fact_771_listrel__Nil2,axiom,
    ! [Xs: list_nat,R2: set_Pr4549835640365387557rm_a_b] :
      ( ( member7814915433699591566rm_a_b @ ( produc4336470666470712605rm_a_b @ Xs @ nil_term_a_b ) @ ( listrel_nat_term_a_b @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil2
thf(fact_772_listrel__Nil2,axiom,
    ! [Xs: list_list_nat,R2: set_Pr7303051394255727413rm_a_b] :
      ( ( member3309085665041684766rm_a_b @ ( produc3789520237298881965rm_a_b @ Xs @ nil_term_a_b ) @ ( listre8548363221893780071rm_a_b @ R2 ) )
     => ( Xs = nil_list_nat ) ) ).

% listrel_Nil2
thf(fact_773_listrel__Nil2,axiom,
    ! [Xs: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ nil_term_a_b ) @ ( listre1194016999521814427rm_a_b @ R2 ) )
     => ( Xs = nil_term_a_b ) ) ).

% listrel_Nil2
thf(fact_774_listrel__Nil2,axiom,
    ! [Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( listrel_nat_nat @ R2 ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil2
thf(fact_775_lexord__Nil__right,axiom,
    ! [X: list_list_nat,R2: set_Pr3451248702717554689st_nat] :
      ~ ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ X @ nil_list_nat ) @ ( lexord_list_nat @ R2 ) ) ).

% lexord_Nil_right
thf(fact_776_lexord__Nil__right,axiom,
    ! [X: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ~ ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ X @ nil_term_a_b ) @ ( lexord_term_a_b @ R2 ) ) ).

% lexord_Nil_right
thf(fact_777_lexord__Nil__right,axiom,
    ! [X: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ nil_nat ) @ ( lexord_nat @ R2 ) ) ).

% lexord_Nil_right
thf(fact_778_position__par__def,axiom,
    ( term_p5017330785391824242ar_nat
    = ( ^ [P2: list_nat,Q4: list_nat] :
          ( ~ ( term_p3503116865373065078eq_nat @ P2 @ Q4 )
          & ~ ( term_p3503116865373065078eq_nat @ Q4 @ P2 ) ) ) ) ).

% position_par_def
thf(fact_779_lexord__append__leftI,axiom,
    ! [U2: list_nat,V4: list_nat,R2: set_Pr1261947904930325089at_nat,X: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ U2 @ V4 ) @ ( lexord_nat @ R2 ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ X @ U2 ) @ ( append_nat @ X @ V4 ) ) @ ( lexord_nat @ R2 ) ) ) ).

% lexord_append_leftI
thf(fact_780_lexord__append__leftI,axiom,
    ! [U2: list_list_nat,V4: list_list_nat,R2: set_Pr3451248702717554689st_nat,X: list_list_nat] :
      ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ U2 @ V4 ) @ ( lexord_list_nat @ R2 ) )
     => ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ ( append_list_nat @ X @ U2 ) @ ( append_list_nat @ X @ V4 ) ) @ ( lexord_list_nat @ R2 ) ) ) ).

% lexord_append_leftI
thf(fact_781_lexord__append__leftI,axiom,
    ! [U2: list_term_a_b,V4: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b,X: list_term_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ U2 @ V4 ) @ ( lexord_term_a_b @ R2 ) )
     => ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ ( append_term_a_b @ X @ U2 ) @ ( append_term_a_b @ X @ V4 ) ) @ ( lexord_term_a_b @ R2 ) ) ) ).

% lexord_append_leftI
thf(fact_782_maps__simps_I2_J,axiom,
    ! [F: nat > list_list_nat] :
      ( ( maps_nat_list_nat @ F @ nil_nat )
      = nil_list_nat ) ).

% maps_simps(2)
thf(fact_783_maps__simps_I2_J,axiom,
    ! [F: nat > list_term_a_b] :
      ( ( maps_nat_term_a_b @ F @ nil_nat )
      = nil_term_a_b ) ).

% maps_simps(2)
thf(fact_784_maps__simps_I2_J,axiom,
    ! [F: list_nat > list_nat] :
      ( ( maps_list_nat_nat @ F @ nil_list_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_785_maps__simps_I2_J,axiom,
    ! [F: list_nat > list_list_nat] :
      ( ( maps_l5785965478274863235st_nat @ F @ nil_list_nat )
      = nil_list_nat ) ).

% maps_simps(2)
thf(fact_786_maps__simps_I2_J,axiom,
    ! [F: list_nat > list_term_a_b] :
      ( ( maps_l8243100079222783927rm_a_b @ F @ nil_list_nat )
      = nil_term_a_b ) ).

% maps_simps(2)
thf(fact_787_maps__simps_I2_J,axiom,
    ! [F: term_a_b > list_nat] :
      ( ( maps_term_a_b_nat @ F @ nil_term_a_b )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_788_maps__simps_I2_J,axiom,
    ! [F: term_a_b > list_list_nat] :
      ( ( maps_t7654991292757673399st_nat @ F @ nil_term_a_b )
      = nil_list_nat ) ).

% maps_simps(2)
thf(fact_789_maps__simps_I2_J,axiom,
    ! [F: term_a_b > list_term_a_b] :
      ( ( maps_t888753856850818283rm_a_b @ F @ nil_term_a_b )
      = nil_term_a_b ) ).

% maps_simps(2)
thf(fact_790_maps__simps_I2_J,axiom,
    ! [F: nat > list_nat] :
      ( ( maps_nat_nat @ F @ nil_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_791_listrel1I1,axiom,
    ! [X: nat,Y3: nat,R2: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Xs ) ) @ ( listrel1_nat @ R2 ) ) ) ).

% listrel1I1
thf(fact_792_Cons__listrel1E1,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ Ys ) @ ( listrel1_nat @ R2 ) )
     => ( ! [Y: nat] :
            ( ( Ys
              = ( cons_nat @ Y @ Xs ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R2 ) )
       => ~ ! [Zs: list_nat] :
              ( ( Ys
                = ( cons_nat @ X @ Zs ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Zs ) @ ( listrel1_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_793_Cons__listrel1E2,axiom,
    ! [Xs: list_nat,Y3: nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y3 @ Ys ) ) @ ( listrel1_nat @ R2 ) )
     => ( ! [X2: nat] :
            ( ( Xs
              = ( cons_nat @ X2 @ Ys ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ R2 ) )
       => ~ ! [Zs: list_nat] :
              ( ( Xs
                = ( cons_nat @ Y3 @ Zs ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Zs @ Ys ) @ ( listrel1_nat @ R2 ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_794_listrel_OCons,axiom,
    ! [X: nat,Y3: nat,R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel_nat_nat @ R2 ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) @ ( listrel_nat_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_795_listrel__Cons1,axiom,
    ! [Y3: nat,Ys: list_nat,Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ Y3 @ Ys ) @ Xs ) @ ( listrel_nat_nat @ R2 ) )
     => ~ ! [Y: nat,Ys2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y @ Ys2 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ Y3 @ Y ) @ R2 )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys @ Ys2 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_796_listrel__Cons2,axiom,
    ! [Xs: list_nat,Y3: nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y3 @ Ys ) ) @ ( listrel_nat_nat @ R2 ) )
     => ~ ! [X2: nat,Xs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ X2 @ Xs2 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ R2 )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_797_lexord__partial__trans,axiom,
    ! [Xs: list_list_nat,R2: set_Pr3451248702717554689st_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ! [X2: list_nat,Y: list_nat,Z: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
         => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X2 @ Y ) @ R2 )
           => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Y @ Z ) @ R2 )
             => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X2 @ Z ) @ R2 ) ) ) )
     => ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Ys ) @ ( lexord_list_nat @ R2 ) )
       => ( ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Ys @ Zs2 ) @ ( lexord_list_nat @ R2 ) )
         => ( member8680655010358287850st_nat @ ( produc7129799990162260089st_nat @ Xs @ Zs2 ) @ ( lexord_list_nat @ R2 ) ) ) ) ) ).

% lexord_partial_trans
thf(fact_798_lexord__append__rightI,axiom,
    ! [Y3: list_nat,X: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ? [B4: nat,Z3: list_nat] :
          ( Y3
          = ( cons_nat @ B4 @ Z3 ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ ( append_nat @ X @ Y3 ) ) @ ( lexord_nat @ R2 ) ) ) ).

% lexord_append_rightI
thf(fact_799_list__inter_Osimps_I2_J,axiom,
    ! [A: list_nat,Bs2: list_list_nat,As2: list_list_nat] :
      ( ( ( member_list_nat @ A @ ( set_list_nat2 @ Bs2 ) )
       => ( ( missin6532874241183986279st_nat @ ( cons_list_nat @ A @ As2 ) @ Bs2 )
          = ( cons_list_nat @ A @ ( missin6532874241183986279st_nat @ As2 @ Bs2 ) ) ) )
      & ( ~ ( member_list_nat @ A @ ( set_list_nat2 @ Bs2 ) )
       => ( ( missin6532874241183986279st_nat @ ( cons_list_nat @ A @ As2 ) @ Bs2 )
          = ( missin6532874241183986279st_nat @ As2 @ Bs2 ) ) ) ) ).

% list_inter.simps(2)
thf(fact_800_list__inter_Osimps_I2_J,axiom,
    ! [A: nat,Bs2: list_nat,As2: list_nat] :
      ( ( ( member_nat @ A @ ( set_nat2 @ Bs2 ) )
       => ( ( missin6377695591745783511er_nat @ ( cons_nat @ A @ As2 ) @ Bs2 )
          = ( cons_nat @ A @ ( missin6377695591745783511er_nat @ As2 @ Bs2 ) ) ) )
      & ( ~ ( member_nat @ A @ ( set_nat2 @ Bs2 ) )
       => ( ( missin6377695591745783511er_nat @ ( cons_nat @ A @ As2 ) @ Bs2 )
          = ( missin6377695591745783511er_nat @ As2 @ Bs2 ) ) ) ) ).

% list_inter.simps(2)
thf(fact_801_listrel1E,axiom,
    ! [Xs: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) )
     => ~ ! [X2: nat,Y: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y ) @ R2 )
           => ! [Us3: list_nat,Vs2: list_nat] :
                ( ( Xs
                  = ( append_nat @ Us3 @ ( cons_nat @ X2 @ Vs2 ) ) )
               => ( Ys
                 != ( append_nat @ Us3 @ ( cons_nat @ Y @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_802_listrel1I,axiom,
    ! [X: nat,Y3: nat,R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Us2: list_nat,Vs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 )
     => ( ( Xs
          = ( append_nat @ Us2 @ ( cons_nat @ X @ Vs ) ) )
       => ( ( Ys
            = ( append_nat @ Us2 @ ( cons_nat @ Y3 @ Vs ) ) )
         => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R2 ) ) ) ) ) ).

% listrel1I
thf(fact_803_listrel_Ocases,axiom,
    ! [A12: list_nat,A23: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A12 @ A23 ) @ ( listrel_nat_nat @ R2 ) )
     => ( ( ( A12 = nil_nat )
         => ( A23 != nil_nat ) )
       => ~ ! [X2: nat,Y: nat,Xs2: list_nat] :
              ( ( A12
                = ( cons_nat @ X2 @ Xs2 ) )
             => ! [Ys2: list_nat] :
                  ( ( A23
                    = ( cons_nat @ Y @ Ys2 ) )
                 => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y ) @ R2 )
                   => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys2 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_804_listrel_Osimps,axiom,
    ! [A12: list_nat,A23: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A12 @ A23 ) @ ( listrel_nat_nat @ R2 ) )
      = ( ( ( A12 = nil_nat )
          & ( A23 = nil_nat ) )
        | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
            ( ( A12
              = ( cons_nat @ X3 @ Xs4 ) )
            & ( A23
              = ( cons_nat @ Y2 @ Ys3 ) )
            & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R2 )
            & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs4 @ Ys3 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_805_poss__pos__diffI,axiom,
    ! [P: list_nat,Q: list_nat,S: term_a_b] :
      ( ( term_p3503116865373065078eq_nat @ P @ Q )
     => ( ( member_list_nat @ Q @ ( term_poss_a_b @ S ) )
       => ( member_list_nat @ ( term_pos_diff_nat @ Q @ P ) @ ( term_poss_a_b @ ( term_subt_at_a_b @ S @ P ) ) ) ) ) ).

% poss_pos_diffI
thf(fact_806_butlast__snoc,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( butlast_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
      = Xs ) ).

% butlast_snoc
thf(fact_807_subt__at__subterm,axiom,
    ! [P: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
     => ( ( P != nil_nat )
       => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ T2 @ ( term_subt_at_a_b @ T2 @ P ) ) @ subterm_and_supt_a_b ) ) ) ).

% subt_at_subterm
thf(fact_808_position__diff__Cons,axiom,
    ! [I: nat,Ps: list_nat,Qs: list_nat] :
      ( ( term_pos_diff_nat @ ( cons_nat @ I @ Ps ) @ ( cons_nat @ I @ Qs ) )
      = ( term_pos_diff_nat @ Ps @ Qs ) ) ).

% position_diff_Cons
thf(fact_809_pos__diff__itself,axiom,
    ! [P: list_nat] :
      ( ( term_pos_diff_nat @ P @ P )
      = nil_nat ) ).

% pos_diff_itself
thf(fact_810_position__diff__Nil,axiom,
    ! [Q: list_nat] :
      ( ( term_pos_diff_nat @ Q @ nil_nat )
      = Q ) ).

% position_diff_Nil
thf(fact_811_butlast_Osimps_I1_J,axiom,
    ( ( butlast_nat @ nil_nat )
    = nil_nat ) ).

% butlast.simps(1)
thf(fact_812_in__set__butlastD,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Xs ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) ) ) ).

% in_set_butlastD
thf(fact_813_listrelp_OCons,axiom,
    ! [R2: nat > nat > $o,X: nat,Y3: nat,Xs: list_nat,Ys: list_nat] :
      ( ( R2 @ X @ Y3 )
     => ( ( listrelp_nat_nat @ R2 @ Xs @ Ys )
       => ( listrelp_nat_nat @ R2 @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) ) ) ).

% listrelp.Cons
thf(fact_814_listrelp_ONil,axiom,
    ! [R2: nat > nat > $o] : ( listrelp_nat_nat @ R2 @ nil_nat @ nil_nat ) ).

% listrelp.Nil
thf(fact_815_supt__Fun,axiom,
    ! [S: term_a_b,F: a,Ss: list_term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ S @ ( fun_a_b @ F @ Ss ) ) @ subterm_and_supt_a_b )
     => ~ ( member_term_a_b @ S @ ( set_term_a_b2 @ Ss ) ) ) ).

% supt_Fun
thf(fact_816_supt_Osimps,axiom,
    ! [A12: term_a_b,A23: term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A12 @ A23 ) @ subterm_and_supt_a_b )
      = ( ? [S4: term_a_b,Ss3: list_term_a_b,F5: a] :
            ( ( A12
              = ( fun_a_b @ F5 @ Ss3 ) )
            & ( A23 = S4 )
            & ( member_term_a_b @ S4 @ ( set_term_a_b2 @ Ss3 ) ) )
        | ? [S4: term_a_b,Ss3: list_term_a_b,T: term_a_b,F5: a] :
            ( ( A12
              = ( fun_a_b @ F5 @ Ss3 ) )
            & ( A23 = T )
            & ( member_term_a_b @ S4 @ ( set_term_a_b2 @ Ss3 ) )
            & ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ S4 @ T ) @ subterm_and_supt_a_b ) ) ) ) ).

% supt.simps
thf(fact_817_supt_Ocases,axiom,
    ! [A12: term_a_b,A23: term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A12 @ A23 ) @ subterm_and_supt_a_b )
     => ( ! [S2: term_a_b,Ss2: list_term_a_b] :
            ( ? [F3: a] :
                ( A12
                = ( fun_a_b @ F3 @ Ss2 ) )
           => ( ( A23 = S2 )
             => ~ ( member_term_a_b @ S2 @ ( set_term_a_b2 @ Ss2 ) ) ) )
       => ~ ! [S2: term_a_b,Ss2: list_term_a_b] :
              ( ? [F3: a] :
                  ( A12
                  = ( fun_a_b @ F3 @ Ss2 ) )
             => ( ( member_term_a_b @ S2 @ ( set_term_a_b2 @ Ss2 ) )
               => ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ S2 @ A23 ) @ subterm_and_supt_a_b ) ) ) ) ) ).

% supt.cases
thf(fact_818_supt_Osubt,axiom,
    ! [S: term_a_b,Ss: list_term_a_b,T2: term_a_b,F: a] :
      ( ( member_term_a_b @ S @ ( set_term_a_b2 @ Ss ) )
     => ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ S @ T2 ) @ subterm_and_supt_a_b )
       => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ Ss ) @ T2 ) @ subterm_and_supt_a_b ) ) ) ).

% supt.subt
thf(fact_819_supt_Oarg,axiom,
    ! [S: term_a_b,Ss: list_term_a_b,F: a] :
      ( ( member_term_a_b @ S @ ( set_term_a_b2 @ Ss ) )
     => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ Ss ) @ S ) @ subterm_and_supt_a_b ) ) ).

% supt.arg
thf(fact_820_supt__const,axiom,
    ! [F: a,U2: term_a_b] :
      ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ nil_term_a_b ) @ U2 ) @ subterm_and_supt_a_b ) ).

% supt_const
thf(fact_821_butlast_Osimps_I2_J,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( ( Xs = nil_nat )
       => ( ( butlast_nat @ ( cons_nat @ X @ Xs ) )
          = nil_nat ) )
      & ( ( Xs != nil_nat )
       => ( ( butlast_nat @ ( cons_nat @ X @ Xs ) )
          = ( cons_nat @ X @ ( butlast_nat @ Xs ) ) ) ) ) ).

% butlast.simps(2)
thf(fact_822_butlast__append,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( ( Ys = nil_nat )
       => ( ( butlast_nat @ ( append_nat @ Xs @ Ys ) )
          = ( butlast_nat @ Xs ) ) )
      & ( ( Ys != nil_nat )
       => ( ( butlast_nat @ ( append_nat @ Xs @ Ys ) )
          = ( append_nat @ Xs @ ( butlast_nat @ Ys ) ) ) ) ) ).

% butlast_append
thf(fact_823_in__set__butlast__appendI,axiom,
    ! [X: list_nat,Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Xs ) ) )
        | ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Ys ) ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ ( append_list_nat @ Xs @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_824_listrelp_Osimps,axiom,
    ( listrelp_nat_nat
    = ( ^ [R4: nat > nat > $o,A1: list_nat,A22: list_nat] :
          ( ( ( A1 = nil_nat )
            & ( A22 = nil_nat ) )
          | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) )
              & ( R4 @ X3 @ Y2 )
              & ( listrelp_nat_nat @ R4 @ Xs4 @ Ys3 ) ) ) ) ) ).

% listrelp.simps
thf(fact_825_listrelp_Ocases,axiom,
    ! [R2: nat > nat > $o,A12: list_nat,A23: list_nat] :
      ( ( listrelp_nat_nat @ R2 @ A12 @ A23 )
     => ( ( ( A12 = nil_nat )
         => ( A23 != nil_nat ) )
       => ~ ! [X2: nat,Y: nat,Xs2: list_nat] :
              ( ( A12
                = ( cons_nat @ X2 @ Xs2 ) )
             => ! [Ys2: list_nat] :
                  ( ( A23
                    = ( cons_nat @ Y @ Ys2 ) )
                 => ( ( R2 @ X2 @ Y )
                   => ~ ( listrelp_nat_nat @ R2 @ Xs2 @ Ys2 ) ) ) ) ) ) ).

% listrelp.cases
thf(fact_826_append__butlast__last__id,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( append_nat @ ( butlast_nat @ Xs ) @ ( cons_nat @ ( last_nat @ Xs ) @ nil_nat ) )
        = Xs ) ) ).

% append_butlast_last_id
thf(fact_827_ord_Olexordp__eq__simps_I4_J,axiom,
    ! [Less: nat > nat > $o,X: nat,Xs: list_nat,Y3: nat,Ys: list_nat] :
      ( ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( Less @ X @ Y3 )
        | ( ~ ( Less @ Y3 @ X )
          & ( lexordp_eq_nat @ Less @ Xs @ Ys ) ) ) ) ).

% ord.lexordp_eq_simps(4)
thf(fact_828_ord_Olexordp__eq__simps_I2_J,axiom,
    ! [Less: nat > nat > $o,Xs: list_nat] :
      ( ( lexordp_eq_nat @ Less @ Xs @ nil_nat )
      = ( Xs = nil_nat ) ) ).

% ord.lexordp_eq_simps(2)
thf(fact_829_ord_Olexordp__eq__simps_I1_J,axiom,
    ! [Less: nat > nat > $o,Ys: list_nat] : ( lexordp_eq_nat @ Less @ nil_nat @ Ys ) ).

% ord.lexordp_eq_simps(1)
thf(fact_830_ord_Olexordp__eq__simps_I3_J,axiom,
    ! [Less: nat > nat > $o,X: nat,Xs: list_nat] :
      ~ ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ nil_nat ) ).

% ord.lexordp_eq_simps(3)
thf(fact_831_last__appendL,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( Ys = nil_nat )
     => ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
        = ( last_nat @ Xs ) ) ) ).

% last_appendL
thf(fact_832_last__appendR,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( Ys != nil_nat )
     => ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
        = ( last_nat @ Ys ) ) ) ).

% last_appendR
thf(fact_833_last__snoc,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( last_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
      = X ) ).

% last_snoc
thf(fact_834_ord_Olexordp__eq_OCons__eq,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs: list_nat,Ys: list_nat] :
      ( ~ ( Less @ X @ Y3 )
     => ( ~ ( Less @ Y3 @ X )
       => ( ( lexordp_eq_nat @ Less @ Xs @ Ys )
         => ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) ) ) ) ).

% ord.lexordp_eq.Cons_eq
thf(fact_835_ord_Olexordp__eq_OCons,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs: list_nat,Ys: list_nat] :
      ( ( Less @ X @ Y3 )
     => ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% ord.lexordp_eq.Cons
thf(fact_836_ord_Olexordp__eq_ONil,axiom,
    ! [Less: nat > nat > $o,Ys: list_nat] : ( lexordp_eq_nat @ Less @ nil_nat @ Ys ) ).

% ord.lexordp_eq.Nil
thf(fact_837_last_Osimps,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( ( Xs = nil_nat )
       => ( ( last_nat @ ( cons_nat @ X @ Xs ) )
          = X ) )
      & ( ( Xs != nil_nat )
       => ( ( last_nat @ ( cons_nat @ X @ Xs ) )
          = ( last_nat @ Xs ) ) ) ) ).

% last.simps
thf(fact_838_last__ConsL,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( Xs = nil_nat )
     => ( ( last_nat @ ( cons_nat @ X @ Xs ) )
        = X ) ) ).

% last_ConsL
thf(fact_839_last__ConsR,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( Xs != nil_nat )
     => ( ( last_nat @ ( cons_nat @ X @ Xs ) )
        = ( last_nat @ Xs ) ) ) ).

% last_ConsR
thf(fact_840_last__in__set,axiom,
    ! [As2: list_list_nat] :
      ( ( As2 != nil_list_nat )
     => ( member_list_nat @ ( last_list_nat @ As2 ) @ ( set_list_nat2 @ As2 ) ) ) ).

% last_in_set
thf(fact_841_last__in__set,axiom,
    ! [As2: list_nat] :
      ( ( As2 != nil_nat )
     => ( member_nat @ ( last_nat @ As2 ) @ ( set_nat2 @ As2 ) ) ) ).

% last_in_set
thf(fact_842_last__append,axiom,
    ! [Ys: list_nat,Xs: list_nat] :
      ( ( ( Ys = nil_nat )
       => ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
          = ( last_nat @ Xs ) ) )
      & ( ( Ys != nil_nat )
       => ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
          = ( last_nat @ Ys ) ) ) ) ).

% last_append
thf(fact_843_longest__common__suffix,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
    ? [Ss2: list_nat,Xs5: list_nat,Ys6: list_nat] :
      ( ( Xs
        = ( append_nat @ Xs5 @ Ss2 ) )
      & ( Ys
        = ( append_nat @ Ys6 @ Ss2 ) )
      & ( ( Xs5 = nil_nat )
        | ( Ys6 = nil_nat )
        | ( ( last_nat @ Xs5 )
         != ( last_nat @ Ys6 ) ) ) ) ).

% longest_common_suffix
thf(fact_844_ord_Olexordp__eq_Ocases,axiom,
    ! [Less: nat > nat > $o,A12: list_nat,A23: list_nat] :
      ( ( lexordp_eq_nat @ Less @ A12 @ A23 )
     => ( ( A12 != nil_nat )
       => ( ! [X2: nat] :
              ( ? [Xs2: list_nat] :
                  ( A12
                  = ( cons_nat @ X2 @ Xs2 ) )
             => ! [Y: nat] :
                  ( ? [Ys2: list_nat] :
                      ( A23
                      = ( cons_nat @ Y @ Ys2 ) )
                 => ~ ( Less @ X2 @ Y ) ) )
         => ~ ! [X2: nat,Y: nat,Xs2: list_nat] :
                ( ( A12
                  = ( cons_nat @ X2 @ Xs2 ) )
               => ! [Ys2: list_nat] :
                    ( ( A23
                      = ( cons_nat @ Y @ Ys2 ) )
                   => ( ~ ( Less @ X2 @ Y )
                     => ( ~ ( Less @ Y @ X2 )
                       => ~ ( lexordp_eq_nat @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).

% ord.lexordp_eq.cases
thf(fact_845_ord_Olexordp__eq_Osimps,axiom,
    ( lexordp_eq_nat
    = ( ^ [Less2: nat > nat > $o,A1: list_nat,A22: list_nat] :
          ( ? [Ys3: list_nat] :
              ( ( A1 = nil_nat )
              & ( A22 = Ys3 ) )
          | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) )
              & ( Less2 @ X3 @ Y2 ) )
          | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) )
              & ~ ( Less2 @ X3 @ Y2 )
              & ~ ( Less2 @ Y2 @ X3 )
              & ( lexordp_eq_nat @ Less2 @ Xs4 @ Ys3 ) ) ) ) ) ).

% ord.lexordp_eq.simps
thf(fact_846_snoc__eq__iff__butlast,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) )
        = Ys )
      = ( ( Ys != nil_nat )
        & ( ( butlast_nat @ Ys )
          = Xs )
        & ( ( last_nat @ Ys )
          = X ) ) ) ).

% snoc_eq_iff_butlast
thf(fact_847_ord_Olexordp__simps_I3_J,axiom,
    ! [Less: nat > nat > $o,X: nat,Xs: list_nat,Y3: nat,Ys: list_nat] :
      ( ( lexordp_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( Less @ X @ Y3 )
        | ( ~ ( Less @ Y3 @ X )
          & ( lexordp_nat @ Less @ Xs @ Ys ) ) ) ) ).

% ord.lexordp_simps(3)
thf(fact_848_ord_Olexordp__simps_I1_J,axiom,
    ! [Less: nat > nat > $o,Ys: list_nat] :
      ( ( lexordp_nat @ Less @ nil_nat @ Ys )
      = ( Ys != nil_nat ) ) ).

% ord.lexordp_simps(1)
thf(fact_849_ord_Olexordp__simps_I2_J,axiom,
    ! [Less: nat > nat > $o,Xs: list_nat] :
      ~ ( lexordp_nat @ Less @ Xs @ nil_nat ) ).

% ord.lexordp_simps(2)
thf(fact_850_ord_Olexordp_OCons,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs: list_nat,Ys: list_nat] :
      ( ( Less @ X @ Y3 )
     => ( lexordp_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% ord.lexordp.Cons
thf(fact_851_ord_Olexordp_OCons__eq,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs: list_nat,Ys: list_nat] :
      ( ~ ( Less @ X @ Y3 )
     => ( ~ ( Less @ Y3 @ X )
       => ( ( lexordp_nat @ Less @ Xs @ Ys )
         => ( lexordp_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) ) ) ) ).

% ord.lexordp.Cons_eq
thf(fact_852_ord_Olexordp_Osimps,axiom,
    ( lexordp_nat
    = ( ^ [Less2: nat > nat > $o,A1: list_nat,A22: list_nat] :
          ( ? [Y2: nat,Ys3: list_nat] :
              ( ( A1 = nil_nat )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) ) )
          | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) )
              & ( Less2 @ X3 @ Y2 ) )
          | ? [X3: nat,Y2: nat,Xs4: list_nat,Ys3: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y2 @ Ys3 ) )
              & ~ ( Less2 @ X3 @ Y2 )
              & ~ ( Less2 @ Y2 @ X3 )
              & ( lexordp_nat @ Less2 @ Xs4 @ Ys3 ) ) ) ) ) ).

% ord.lexordp.simps
thf(fact_853_ord_Olexordp_Ocases,axiom,
    ! [Less: nat > nat > $o,A12: list_nat,A23: list_nat] :
      ( ( lexordp_nat @ Less @ A12 @ A23 )
     => ( ( ( A12 = nil_nat )
         => ! [Y: nat,Ys2: list_nat] :
              ( A23
             != ( cons_nat @ Y @ Ys2 ) ) )
       => ( ! [X2: nat] :
              ( ? [Xs2: list_nat] :
                  ( A12
                  = ( cons_nat @ X2 @ Xs2 ) )
             => ! [Y: nat] :
                  ( ? [Ys2: list_nat] :
                      ( A23
                      = ( cons_nat @ Y @ Ys2 ) )
                 => ~ ( Less @ X2 @ Y ) ) )
         => ~ ! [X2: nat,Y: nat,Xs2: list_nat] :
                ( ( A12
                  = ( cons_nat @ X2 @ Xs2 ) )
               => ! [Ys2: list_nat] :
                    ( ( A23
                      = ( cons_nat @ Y @ Ys2 ) )
                   => ( ~ ( Less @ X2 @ Y )
                     => ( ~ ( Less @ Y @ X2 )
                       => ~ ( lexordp_nat @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).

% ord.lexordp.cases
thf(fact_854_ord_Olexordp_ONil,axiom,
    ! [Less: nat > nat > $o,Y3: nat,Ys: list_nat] : ( lexordp_nat @ Less @ nil_nat @ ( cons_nat @ Y3 @ Ys ) ) ).

% ord.lexordp.Nil
thf(fact_855_ord_Olexordp__append__left__rightI,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Us2: list_nat,Xs: list_nat,Ys: list_nat] :
      ( ( Less @ X @ Y3 )
     => ( lexordp_nat @ Less @ ( append_nat @ Us2 @ ( cons_nat @ X @ Xs ) ) @ ( append_nat @ Us2 @ ( cons_nat @ Y3 @ Ys ) ) ) ) ).

% ord.lexordp_append_left_rightI
thf(fact_856_ord_Olexordp__append__rightI,axiom,
    ! [Ys: list_nat,Less: nat > nat > $o,Xs: list_nat] :
      ( ( Ys != nil_nat )
     => ( lexordp_nat @ Less @ Xs @ ( append_nat @ Xs @ Ys ) ) ) ).

% ord.lexordp_append_rightI
thf(fact_857_ord_OgreaterThan__def,axiom,
    ( set_gr4298469561102597254st_nat
    = ( ^ [Less2: list_nat > list_nat > $o,L: list_nat] : ( collect_list_nat @ ( Less2 @ L ) ) ) ) ).

% ord.greaterThan_def
thf(fact_858_ord_OlessThan__def,axiom,
    ( set_le7077480925520688625st_nat
    = ( ^ [Less2: list_nat > list_nat > $o,U: list_nat] :
          ( collect_list_nat
          @ ^ [X3: list_nat] : ( Less2 @ X3 @ U ) ) ) ) ).

% ord.lessThan_def
thf(fact_859_ctxt__apply__term_Osimps_I2_J,axiom,
    ! [F: a,Ss1: list_term_a_b,C: subterm_and_ctxt_a_b,Ss22: list_term_a_b,S: term_a_b] :
      ( ( subter2376574525758040790rm_a_b @ ( subterm_and_More_a_b @ F @ Ss1 @ C @ Ss22 ) @ S )
      = ( fun_a_b @ F @ ( append_term_a_b @ Ss1 @ ( cons_term_a_b @ ( subter2376574525758040790rm_a_b @ C @ S ) @ Ss22 ) ) ) ) ).

% ctxt_apply_term.simps(2)
thf(fact_860_ctxt__apply__term_Oelims,axiom,
    ! [X: subterm_and_ctxt_a_b,Xa: term_a_b,Y3: term_a_b] :
      ( ( ( subter2376574525758040790rm_a_b @ X @ Xa )
        = Y3 )
     => ( ( ( X = subterm_and_Hole_a_b )
         => ( Y3 != Xa ) )
       => ~ ! [F3: a,Ss12: list_term_a_b,C4: subterm_and_ctxt_a_b,Ss23: list_term_a_b] :
              ( ( X
                = ( subterm_and_More_a_b @ F3 @ Ss12 @ C4 @ Ss23 ) )
             => ( Y3
               != ( fun_a_b @ F3 @ ( append_term_a_b @ Ss12 @ ( cons_term_a_b @ ( subter2376574525758040790rm_a_b @ C4 @ Xa ) @ Ss23 ) ) ) ) ) ) ) ).

% ctxt_apply_term.elims
thf(fact_861_Int__def,axiom,
    ( inf_inf_set_list_nat
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
          ( collect_list_nat
          @ ^ [X3: list_nat] :
              ( ( member_list_nat @ X3 @ A5 )
              & ( member_list_nat @ X3 @ B5 ) ) ) ) ) ).

% Int_def
thf(fact_862_Int__Collect,axiom,
    ! [X: list_nat,A2: set_list_nat,P3: list_nat > $o] :
      ( ( member_list_nat @ X @ ( inf_inf_set_list_nat @ A2 @ ( collect_list_nat @ P3 ) ) )
      = ( ( member_list_nat @ X @ A2 )
        & ( P3 @ X ) ) ) ).

% Int_Collect
thf(fact_863_Collect__conj__eq,axiom,
    ! [P3: list_nat > $o,Q2: list_nat > $o] :
      ( ( collect_list_nat
        @ ^ [X3: list_nat] :
            ( ( P3 @ X3 )
            & ( Q2 @ X3 ) ) )
      = ( inf_inf_set_list_nat @ ( collect_list_nat @ P3 ) @ ( collect_list_nat @ Q2 ) ) ) ).

% Collect_conj_eq
thf(fact_864_ctxt__at__pos_Osimps_I1_J,axiom,
    ! [S: term_a_b] :
      ( ( term_ctxt_at_pos_a_b @ S @ nil_nat )
      = subterm_and_Hole_a_b ) ).

% ctxt_at_pos.simps(1)
thf(fact_865_ctxt__apply__term_Opelims,axiom,
    ! [X: subterm_and_ctxt_a_b,Xa: term_a_b,Y3: term_a_b] :
      ( ( ( subter2376574525758040790rm_a_b @ X @ Xa )
        = Y3 )
     => ( ( accp_P3593619727431919613rm_a_b @ subter4805821089994021477el_a_b @ ( produc4052837482945413184rm_a_b @ X @ Xa ) )
       => ( ( ( X = subterm_and_Hole_a_b )
           => ( ( Y3 = Xa )
             => ~ ( accp_P3593619727431919613rm_a_b @ subter4805821089994021477el_a_b @ ( produc4052837482945413184rm_a_b @ subterm_and_Hole_a_b @ Xa ) ) ) )
         => ~ ! [F3: a,Ss12: list_term_a_b,C4: subterm_and_ctxt_a_b,Ss23: list_term_a_b] :
                ( ( X
                  = ( subterm_and_More_a_b @ F3 @ Ss12 @ C4 @ Ss23 ) )
               => ( ( Y3
                    = ( fun_a_b @ F3 @ ( append_term_a_b @ Ss12 @ ( cons_term_a_b @ ( subter2376574525758040790rm_a_b @ C4 @ Xa ) @ Ss23 ) ) ) )
                 => ~ ( accp_P3593619727431919613rm_a_b @ subter4805821089994021477el_a_b @ ( produc4052837482945413184rm_a_b @ ( subterm_and_More_a_b @ F3 @ Ss12 @ C4 @ Ss23 ) @ Xa ) ) ) ) ) ) ) ).

% ctxt_apply_term.pelims
thf(fact_866_nth__append__length,axiom,
    ! [Xs: list_term_a_b,X: term_a_b,Ys: list_term_a_b] :
      ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ X @ Ys ) ) @ ( size_s8906293707977694520rm_a_b @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_867_nth__append__length,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat] :
      ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ Ys ) ) @ ( size_size_list_nat @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_868_in__set__product__lists__length,axiom,
    ! [Xs: list_nat,Xss2: list_list_nat] :
      ( ( member_list_nat @ Xs @ ( set_list_nat2 @ ( product_lists_nat @ Xss2 ) ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_s3023201423986296836st_nat @ Xss2 ) ) ) ).

% in_set_product_lists_length
thf(fact_869_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_nat,P3: list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P3 @ nil_nat @ nil_nat )
       => ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
              ( ( ( size_size_list_nat @ Xs2 )
                = ( size_size_list_nat @ Ys2 ) )
             => ( ( P3 @ Xs2 @ Ys2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) ) )
         => ( P3 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_870_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,P3: list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P3 @ nil_nat @ nil_nat @ nil_nat )
         => ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat,Z: nat,Zs: list_nat] :
                ( ( ( size_size_list_nat @ Xs2 )
                  = ( size_size_list_nat @ Ys2 ) )
               => ( ( ( size_size_list_nat @ Ys2 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P3 @ Xs2 @ Ys2 @ Zs )
                   => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) @ ( cons_nat @ Z @ Zs ) ) ) ) )
           => ( P3 @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_871_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,Ws: list_nat,P3: list_nat > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_nat @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat,Z: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_nat @ Ys2 ) )
                 => ( ( ( size_size_list_nat @ Ys2 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys2 @ Zs @ Ws2 )
                       => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) @ ( cons_nat @ Z @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_872_same__length__different,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( Xs != Ys )
     => ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
       => ? [Pre: list_nat,X2: nat,Xs5: list_nat,Y: nat,Ys6: list_nat] :
            ( ( X2 != Y )
            & ( Xs
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ X2 @ nil_nat ) @ Xs5 ) ) )
            & ( Ys
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ Y @ nil_nat ) @ Ys6 ) ) ) ) ) ) ).

% same_length_different
thf(fact_873_append__Cons__nth__not__middle,axiom,
    ! [I: nat,Xs: list_term_a_b,U2: term_a_b,Ys: list_term_a_b,Z4: term_a_b] :
      ( ( I
       != ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ U2 @ Ys ) ) @ I )
        = ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Z4 @ Ys ) ) @ I ) ) ) ).

% append_Cons_nth_not_middle
thf(fact_874_append__Cons__nth__not__middle,axiom,
    ! [I: nat,Xs: list_nat,U2: nat,Ys: list_nat,Z4: nat] :
      ( ( I
       != ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ U2 @ Ys ) ) @ I )
        = ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Z4 @ Ys ) ) @ I ) ) ) ).

% append_Cons_nth_not_middle
thf(fact_875_append__Cons__nth__middle,axiom,
    ! [I: nat,Xs: list_term_a_b,Y3: term_a_b,Zs2: list_term_a_b] :
      ( ( I
        = ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Y3 @ Zs2 ) ) @ I )
        = Y3 ) ) ).

% append_Cons_nth_middle
thf(fact_876_append__Cons__nth__middle,axiom,
    ! [I: nat,Xs: list_nat,Y3: nat,Zs2: list_nat] :
      ( ( I
        = ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Y3 @ Zs2 ) ) @ I )
        = Y3 ) ) ).

% append_Cons_nth_middle
thf(fact_877_Cons__in__lex,axiom,
    ! [X: nat,Xs: list_nat,Y3: nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) @ ( lex_nat @ R2 ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ R2 )
          & ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys ) ) )
        | ( ( X = Y3 )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( lex_nat @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_878_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

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

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

% less_not_refl2
thf(fact_881_less__not__refl3,axiom,
    ! [S: nat,T2: nat] :
      ( ( ord_less_nat @ S @ T2 )
     => ( S != T2 ) ) ).

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

% less_irrefl_nat
thf(fact_883_nat__less__induct,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
             => ( P3 @ M2 ) )
         => ( P3 @ N2 ) )
     => ( P3 @ N ) ) ).

% nat_less_induct
thf(fact_884_infinite__descent,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ~ ( P3 @ N2 )
         => ? [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
              & ~ ( P3 @ M2 ) ) )
     => ( P3 @ N ) ) ).

% infinite_descent
thf(fact_885_linorder__neqE__nat,axiom,
    ! [X: nat,Y3: nat] :
      ( ( X != Y3 )
     => ( ~ ( ord_less_nat @ X @ Y3 )
       => ( ord_less_nat @ Y3 @ X ) ) ) ).

% linorder_neqE_nat
thf(fact_886_nth__equalityI,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( size_s8906293707977694520rm_a_b @ Xs )
        = ( size_s8906293707977694520rm_a_b @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( nth_term_a_b @ Xs @ I2 )
              = ( nth_term_a_b @ Ys @ I2 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_887_Skolem__list__nth,axiom,
    ! [K2: nat,P3: nat > term_a_b > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K2 )
           => ? [X5: term_a_b] : ( P3 @ I3 @ X5 ) ) )
      = ( ? [Xs4: list_term_a_b] :
            ( ( ( size_s8906293707977694520rm_a_b @ Xs4 )
              = K2 )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K2 )
               => ( P3 @ I3 @ ( nth_term_a_b @ Xs4 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_888_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y4: list_term_a_b,Z5: list_term_a_b] : ( Y4 = Z5 ) )
    = ( ^ [Xs4: list_term_a_b,Ys3: list_term_a_b] :
          ( ( ( size_s8906293707977694520rm_a_b @ Xs4 )
            = ( size_s8906293707977694520rm_a_b @ Ys3 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs4 ) )
             => ( ( nth_term_a_b @ Xs4 @ I3 )
                = ( nth_term_a_b @ Ys3 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_889_Ex__list__of__length__P,axiom,
    ! [N: nat,P3: term_a_b > nat > $o] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ? [X4: term_a_b] : ( P3 @ X4 @ I2 ) )
     => ? [Xs2: list_term_a_b] :
          ( ( ( size_s8906293707977694520rm_a_b @ Xs2 )
            = N )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ N )
             => ( P3 @ ( nth_term_a_b @ Xs2 @ I4 ) @ I4 ) ) ) ) ).

% Ex_list_of_length_P
thf(fact_890_Nil2__notin__lex,axiom,
    ! [Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( lex_nat @ R2 ) ) ).

% Nil2_notin_lex
thf(fact_891_Nil__notin__lex,axiom,
    ! [Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys ) @ ( lex_nat @ R2 ) ) ).

% Nil_notin_lex
thf(fact_892_ex__set__conv__ex__nth,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ( ? [X3: term_a_b] :
            ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs ) )
            & ( P3 @ X3 ) ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( P3 @ ( nth_term_a_b @ Xs @ I3 ) ) ) ) ) ).

% ex_set_conv_ex_nth
thf(fact_893_all__set__conv__all__nth,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ( ! [X3: term_a_b] :
            ( ( member_term_a_b @ X3 @ ( set_term_a_b2 @ Xs ) )
           => ( P3 @ X3 ) ) )
      = ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( P3 @ ( nth_term_a_b @ Xs @ I3 ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_894_all__nth__imp__all__set,axiom,
    ! [Xs: list_term_a_b,P3: term_a_b > $o,X: term_a_b] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
         => ( P3 @ ( nth_term_a_b @ Xs @ I2 ) ) )
     => ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
       => ( P3 @ X ) ) ) ).

% all_nth_imp_all_set
thf(fact_895_all__nth__imp__all__set,axiom,
    ! [Xs: list_list_nat,P3: list_nat > $o,X: list_nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Xs ) )
         => ( P3 @ ( nth_list_nat @ Xs @ I2 ) ) )
     => ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
       => ( P3 @ X ) ) ) ).

% all_nth_imp_all_set
thf(fact_896_in__set__conv__nth,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( ( nth_term_a_b @ Xs @ I3 )
              = X ) ) ) ) ).

% in_set_conv_nth
thf(fact_897_in__set__conv__nth,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
      = ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
            & ( ( nth_list_nat @ Xs @ I3 )
              = X ) ) ) ) ).

% in_set_conv_nth
thf(fact_898_list__ball__nth,axiom,
    ! [N: nat,Xs: list_term_a_b,P3: term_a_b > $o] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ! [X2: term_a_b] :
            ( ( member_term_a_b @ X2 @ ( set_term_a_b2 @ Xs ) )
           => ( P3 @ X2 ) )
       => ( P3 @ ( nth_term_a_b @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_899_nth__mem,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( member_term_a_b @ ( nth_term_a_b @ Xs @ N ) @ ( set_term_a_b2 @ Xs ) ) ) ).

% nth_mem
thf(fact_900_nth__mem,axiom,
    ! [N: nat,Xs: list_list_nat] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( member_list_nat @ ( nth_list_nat @ Xs @ N ) @ ( set_list_nat2 @ Xs ) ) ) ).

% nth_mem
thf(fact_901_in__set__idx,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( member_term_a_b @ X @ ( set_term_a_b2 @ Xs ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
          & ( ( nth_term_a_b @ Xs @ I2 )
            = X ) ) ) ).

% in_set_idx
thf(fact_902_in__set__idx,axiom,
    ! [X: list_nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s3023201423986296836st_nat @ Xs ) )
          & ( ( nth_list_nat @ Xs @ I2 )
            = X ) ) ) ).

% in_set_idx
thf(fact_903_P__as__bs__extend,axiom,
    ! [As2: list_term_a_b,Bs2: list_term_a_b,Cs: list_term_a_b,Ds: list_term_a_b,P3: term_a_b > term_a_b > $o] :
      ( ( ( size_s8906293707977694520rm_a_b @ As2 )
        = ( size_s8906293707977694520rm_a_b @ Bs2 ) )
     => ( ( ( size_s8906293707977694520rm_a_b @ Cs )
          = ( size_s8906293707977694520rm_a_b @ Ds ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Bs2 ) )
             => ( P3 @ ( nth_term_a_b @ As2 @ I2 ) @ ( nth_term_a_b @ Bs2 @ I2 ) ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ds ) )
               => ( P3 @ ( nth_term_a_b @ Cs @ I2 ) @ ( nth_term_a_b @ Ds @ I2 ) ) )
           => ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ ( size_s8906293707977694520rm_a_b @ ( append_term_a_b @ Bs2 @ Ds ) ) )
               => ( P3 @ ( nth_term_a_b @ ( append_term_a_b @ As2 @ Cs ) @ I4 ) @ ( nth_term_a_b @ ( append_term_a_b @ Bs2 @ Ds ) @ I4 ) ) ) ) ) ) ) ).

% P_as_bs_extend
thf(fact_904_list__all__length,axiom,
    ( list_all_term_a_b
    = ( ^ [P6: term_a_b > $o,Xs4: list_term_a_b] :
        ! [N3: nat] :
          ( ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Xs4 ) )
         => ( P6 @ ( nth_term_a_b @ Xs4 @ N3 ) ) ) ) ) ).

% list_all_length
thf(fact_905_nth__butlast,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ ( butlast_term_a_b @ Xs ) ) )
     => ( ( nth_term_a_b @ ( butlast_term_a_b @ Xs ) @ N )
        = ( nth_term_a_b @ Xs @ N ) ) ) ).

% nth_butlast
thf(fact_906_subseqs__length__simple__False,axiom,
    ! [B: list_nat,Xs: list_nat] :
      ( ( member_list_nat @ B @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) )
     => ~ ( ord_less_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_nat @ B ) ) ) ).

% subseqs_length_simple_False
thf(fact_907_append__Cons__nth__left,axiom,
    ! [I: nat,Xs: list_term_a_b,U2: term_a_b,Ys: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ U2 @ Ys ) ) @ I )
        = ( nth_term_a_b @ Xs @ I ) ) ) ).

% append_Cons_nth_left
thf(fact_908_append__Cons__nth__left,axiom,
    ! [I: nat,Xs: list_nat,U2: nat,Ys: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ U2 @ Ys ) ) @ I )
        = ( nth_nat @ Xs @ I ) ) ) ).

% append_Cons_nth_left
thf(fact_909_append__Cons__nth__right,axiom,
    ! [Xs: list_term_a_b,I: nat,U2: term_a_b,Ys: list_term_a_b,Z4: term_a_b] :
      ( ( ord_less_nat @ ( size_s8906293707977694520rm_a_b @ Xs ) @ I )
     => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ U2 @ Ys ) ) @ I )
        = ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Z4 @ Ys ) ) @ I ) ) ) ).

% append_Cons_nth_right
thf(fact_910_append__Cons__nth__right,axiom,
    ! [Xs: list_nat,I: nat,U2: nat,Ys: list_nat,Z4: nat] :
      ( ( ord_less_nat @ ( size_size_list_nat @ Xs ) @ I )
     => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ U2 @ Ys ) ) @ I )
        = ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Z4 @ Ys ) ) @ I ) ) ) ).

% append_Cons_nth_right
thf(fact_911_listrel__iff__nth,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listre1194016999521814427rm_a_b @ R2 ) )
      = ( ( ( size_s8906293707977694520rm_a_b @ Xs )
          = ( size_s8906293707977694520rm_a_b @ Ys ) )
        & ! [N3: nat] :
            ( ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( nth_term_a_b @ Xs @ N3 ) @ ( nth_term_a_b @ Ys @ N3 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_912_permut__sound,axiom,
    ! [I: nat,As2: list_term_a_b,F: nat > nat] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ As2 ) )
     => ( ( nth_term_a_b @ ( missin5417461770552926780rm_a_b @ As2 @ F ) @ I )
        = ( nth_term_a_b @ As2 @ ( F @ I ) ) ) ) ).

% permut_sound
thf(fact_913_set__concat__lists,axiom,
    ! [Xs: list_list_term_a_b] :
      ( ( set_list_term_a_b2 @ ( missin8060632096978918206rm_a_b @ Xs ) )
      = ( collec2649484519605854073rm_a_b
        @ ^ [As3: list_term_a_b] :
            ( ( ( size_s8906293707977694520rm_a_b @ As3 )
              = ( size_s877380706853472072rm_a_b @ Xs ) )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
               => ( member_term_a_b @ ( nth_term_a_b @ As3 @ I3 ) @ ( set_term_a_b2 @ ( nth_list_term_a_b @ Xs @ I3 ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_914_set__concat__lists,axiom,
    ! [Xs: list_list_list_nat] :
      ( ( set_list_list_nat2 @ ( missin5603497496030997514st_nat @ Xs ) )
      = ( collec5989764272469232197st_nat
        @ ^ [As3: list_list_nat] :
            ( ( ( size_s3023201423986296836st_nat @ As3 )
              = ( size_s6248950052170075156st_nat @ Xs ) )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ ( size_s6248950052170075156st_nat @ Xs ) )
               => ( member_list_nat @ ( nth_list_nat @ As3 @ I3 ) @ ( set_list_nat2 @ ( nth_list_list_nat @ Xs @ I3 ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_915_set__concat__lists,axiom,
    ! [Xs: list_list_nat] :
      ( ( set_list_nat2 @ ( missin4567272213201432058ts_nat @ Xs ) )
      = ( collect_list_nat
        @ ^ [As3: list_nat] :
            ( ( ( size_size_list_nat @ As3 )
              = ( size_s3023201423986296836st_nat @ Xs ) )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
               => ( member_nat @ ( nth_nat @ As3 @ I3 ) @ ( set_nat2 @ ( nth_list_nat @ Xs @ I3 ) ) ) ) ) ) ) ).

% set_concat_lists
thf(fact_916_replace__term__at_Oelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Xb: term_a_b,Y3: term_a_b] :
      ( ( ( term_r6860082780075436317at_a_b @ X @ Xa @ Xb )
        = Y3 )
     => ( ( ( Xa = nil_nat )
         => ( Y3 != Xb ) )
       => ( ! [X2: b] :
              ( ( X
                = ( var_b_a @ X2 ) )
             => ( ? [V: nat,Va: list_nat] :
                    ( Xa
                    = ( cons_nat @ V @ Va ) )
               => ( Y3
                 != ( var_b_a @ X2 ) ) ) )
         => ~ ! [F3: a,Ts: list_term_a_b] :
                ( ( X
                  = ( fun_a_b @ F3 @ Ts ) )
               => ! [I2: nat,Ps2: list_nat] :
                    ( ( Xa
                      = ( cons_nat @ I2 @ Ps2 ) )
                   => ~ ( ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
                         => ( Y3
                            = ( fun_a_b @ F3 @ ( list_update_term_a_b @ Ts @ I2 @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts @ I2 ) @ Ps2 @ Xb ) ) ) ) )
                        & ( ~ ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
                         => ( Y3
                            = ( fun_a_b @ F3 @ Ts ) ) ) ) ) ) ) ) ) ).

% replace_term_at.elims
thf(fact_917_poss__Cons__poss,axiom,
    ! [I: nat,Q: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ ( cons_nat @ I @ Q ) @ ( term_poss_a_b @ T2 ) )
      = ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ ( args_a_b @ T2 ) ) )
        & ( member_list_nat @ Q @ ( term_poss_a_b @ ( nth_term_a_b @ ( args_a_b @ T2 ) @ I ) ) ) ) ) ).

% poss_Cons_poss
thf(fact_918_list__update__nonempty,axiom,
    ! [Xs: list_nat,K2: nat,X: nat] :
      ( ( ( list_update_nat @ Xs @ K2 @ X )
        = nil_nat )
      = ( Xs = nil_nat ) ) ).

% list_update_nonempty
thf(fact_919_nth__list__update__neq,axiom,
    ! [I: nat,J: nat,Xs: list_term_a_b,X: term_a_b] :
      ( ( I != J )
     => ( ( nth_term_a_b @ ( list_update_term_a_b @ Xs @ I @ X ) @ J )
        = ( nth_term_a_b @ Xs @ J ) ) ) ).

% nth_list_update_neq
thf(fact_920_list__update__id,axiom,
    ! [Xs: list_term_a_b,I: nat] :
      ( ( list_update_term_a_b @ Xs @ I @ ( nth_term_a_b @ Xs @ I ) )
      = Xs ) ).

% list_update_id
thf(fact_921_list__update__length,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat,Y3: nat] :
      ( ( list_update_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ Ys ) ) @ ( size_size_list_nat @ Xs ) @ Y3 )
      = ( append_nat @ Xs @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% list_update_length
thf(fact_922_nth__list__update__eq,axiom,
    ! [I: nat,Xs: list_term_a_b,X: term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( list_update_term_a_b @ Xs @ I @ X ) @ I )
        = X ) ) ).

% nth_list_update_eq
thf(fact_923_set__swap,axiom,
    ! [I: nat,Xs: list_term_a_b,J: nat] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( set_term_a_b2 @ ( list_update_term_a_b @ ( list_update_term_a_b @ Xs @ I @ ( nth_term_a_b @ Xs @ J ) ) @ J @ ( nth_term_a_b @ Xs @ I ) ) )
          = ( set_term_a_b2 @ Xs ) ) ) ) ).

% set_swap
thf(fact_924_list__update_Osimps_I1_J,axiom,
    ! [I: nat,V4: nat] :
      ( ( list_update_nat @ nil_nat @ I @ V4 )
      = nil_nat ) ).

% list_update.simps(1)
thf(fact_925_list__update__code_I1_J,axiom,
    ! [I: nat,Y3: nat] :
      ( ( list_update_nat @ nil_nat @ I @ Y3 )
      = nil_nat ) ).

% list_update_code(1)
thf(fact_926_list__update_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,I: nat,V4: nat] :
      ( ( list_update_nat @ ( cons_nat @ X @ Xs ) @ I @ V4 )
      = ( case_nat_list_nat @ ( cons_nat @ V4 @ Xs )
        @ ^ [J2: nat] : ( cons_nat @ X @ ( list_update_nat @ Xs @ J2 @ V4 ) )
        @ I ) ) ).

% list_update.simps(2)
thf(fact_927_term_Osel_I4_J,axiom,
    ! [X21: a,X22: list_term_a_b] :
      ( ( args_a_b @ ( fun_a_b @ X21 @ X22 ) )
      = X22 ) ).

% term.sel(4)
thf(fact_928_set__update__memI,axiom,
    ! [N: nat,Xs: list_list_nat,X: list_nat] :
      ( ( ord_less_nat @ N @ ( size_s3023201423986296836st_nat @ Xs ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ ( list_update_list_nat @ Xs @ N @ X ) ) ) ) ).

% set_update_memI
thf(fact_929_nth__list__update,axiom,
    ! [I: nat,Xs: list_term_a_b,J: nat,X: term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ( I = J )
         => ( ( nth_term_a_b @ ( list_update_term_a_b @ Xs @ I @ X ) @ J )
            = X ) )
        & ( ( I != J )
         => ( ( nth_term_a_b @ ( list_update_term_a_b @ Xs @ I @ X ) @ J )
            = ( nth_term_a_b @ Xs @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_930_list__update__same__conv,axiom,
    ! [I: nat,Xs: list_term_a_b,X: term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ( list_update_term_a_b @ Xs @ I @ X )
          = Xs )
        = ( ( nth_term_a_b @ Xs @ I )
          = X ) ) ) ).

% list_update_same_conv
thf(fact_931_parallel__list__update,axiom,
    ! [N: nat,R2: term_a_b > term_a_b > $o,P: list_term_a_b > $o,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ! [Xs2: list_term_a_b,I2: nat,Y: term_a_b] :
          ( ( ( size_s8906293707977694520rm_a_b @ Xs2 )
            = N )
         => ( ( ord_less_nat @ I2 @ N )
           => ( ( R2 @ ( nth_term_a_b @ Xs2 @ I2 ) @ Y )
             => ( ( P @ Xs2 )
               => ( P @ ( list_update_term_a_b @ Xs2 @ I2 @ Y ) ) ) ) ) )
     => ( ( ( size_s8906293707977694520rm_a_b @ Xs )
          = N )
       => ( ( P @ Xs )
         => ( ( ( size_s8906293707977694520rm_a_b @ Ys )
              = N )
           => ( ! [I2: nat] :
                  ( ( ord_less_nat @ I2 @ N )
                 => ( R2 @ ( nth_term_a_b @ Xs @ I2 ) @ ( nth_term_a_b @ Ys @ I2 ) ) )
             => ( P @ Ys ) ) ) ) ) ) ).

% parallel_list_update
thf(fact_932_listrel1__iff__update,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( listrel1_term_a_b @ R2 ) )
      = ( ? [Y2: term_a_b,N3: nat] :
            ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( nth_term_a_b @ Xs @ N3 ) @ Y2 ) @ R2 )
            & ( ord_less_nat @ N3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
            & ( Ys
              = ( list_update_term_a_b @ Xs @ N3 @ Y2 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_933_replace__term__at_Osimps_I3_J,axiom,
    ! [I: nat,Ts2: list_term_a_b,F: a,Ps: list_nat,T2: term_a_b] :
      ( ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ts2 ) )
       => ( ( term_r6860082780075436317at_a_b @ ( fun_a_b @ F @ Ts2 ) @ ( cons_nat @ I @ Ps ) @ T2 )
          = ( fun_a_b @ F @ ( list_update_term_a_b @ Ts2 @ I @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts2 @ I ) @ Ps @ T2 ) ) ) ) )
      & ( ~ ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ts2 ) )
       => ( ( term_r6860082780075436317at_a_b @ ( fun_a_b @ F @ Ts2 ) @ ( cons_nat @ I @ Ps ) @ T2 )
          = ( fun_a_b @ F @ Ts2 ) ) ) ) ).

% replace_term_at.simps(3)
thf(fact_934_replace__term__at_Opelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Xb: term_a_b,Y3: term_a_b] :
      ( ( ( term_r6860082780075436317at_a_b @ X @ Xa @ Xb )
        = Y3 )
     => ( ( accp_P2729577386226225901rm_a_b @ term_r1280879029893354718el_a_b @ ( produc3812856575676843240rm_a_b @ X @ ( produc5151171985953862413rm_a_b @ Xa @ Xb ) ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y3 = Xb )
             => ~ ( accp_P2729577386226225901rm_a_b @ term_r1280879029893354718el_a_b @ ( produc3812856575676843240rm_a_b @ X @ ( produc5151171985953862413rm_a_b @ nil_nat @ Xb ) ) ) ) )
         => ( ! [X2: b] :
                ( ( X
                  = ( var_b_a @ X2 ) )
               => ! [V: nat,Va: list_nat] :
                    ( ( Xa
                      = ( cons_nat @ V @ Va ) )
                   => ( ( Y3
                        = ( var_b_a @ X2 ) )
                     => ~ ( accp_P2729577386226225901rm_a_b @ term_r1280879029893354718el_a_b @ ( produc3812856575676843240rm_a_b @ ( var_b_a @ X2 ) @ ( produc5151171985953862413rm_a_b @ ( cons_nat @ V @ Va ) @ Xb ) ) ) ) ) )
           => ~ ! [F3: a,Ts: list_term_a_b] :
                  ( ( X
                    = ( fun_a_b @ F3 @ Ts ) )
                 => ! [I2: nat,Ps2: list_nat] :
                      ( ( Xa
                        = ( cons_nat @ I2 @ Ps2 ) )
                     => ( ( ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
                           => ( Y3
                              = ( fun_a_b @ F3 @ ( list_update_term_a_b @ Ts @ I2 @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts @ I2 ) @ Ps2 @ Xb ) ) ) ) )
                          & ( ~ ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ts ) )
                           => ( Y3
                              = ( fun_a_b @ F3 @ Ts ) ) ) )
                       => ~ ( accp_P2729577386226225901rm_a_b @ term_r1280879029893354718el_a_b @ ( produc3812856575676843240rm_a_b @ ( fun_a_b @ F3 @ Ts ) @ ( produc5151171985953862413rm_a_b @ ( cons_nat @ I2 @ Ps2 ) @ Xb ) ) ) ) ) ) ) ) ) ) ).

% replace_term_at.pelims
thf(fact_935_listset,axiom,
    ( listset_term_a_b
    = ( ^ [Xs4: list_set_term_a_b] :
          ( collec2649484519605854073rm_a_b
          @ ^ [Ys3: list_term_a_b] :
              ( ( ( size_s8906293707977694520rm_a_b @ Ys3 )
                = ( size_s3891898382211499630rm_a_b @ Xs4 ) )
              & ! [I3: nat] :
                  ( ( ord_less_nat @ I3 @ ( size_s3891898382211499630rm_a_b @ Xs4 ) )
                 => ( member_term_a_b @ ( nth_term_a_b @ Ys3 @ I3 ) @ ( nth_set_term_a_b @ Xs4 @ I3 ) ) ) ) ) ) ) ).

% listset
thf(fact_936_listset,axiom,
    ( listset_list_nat
    = ( ^ [Xs4: list_set_list_nat] :
          ( collec5989764272469232197st_nat
          @ ^ [Ys3: list_list_nat] :
              ( ( ( size_s3023201423986296836st_nat @ Ys3 )
                = ( size_s40095690673326906st_nat @ Xs4 ) )
              & ! [I3: nat] :
                  ( ( ord_less_nat @ I3 @ ( size_s40095690673326906st_nat @ Xs4 ) )
                 => ( member_list_nat @ ( nth_list_nat @ Ys3 @ I3 ) @ ( nth_set_list_nat @ Xs4 @ I3 ) ) ) ) ) ) ) ).

% listset
thf(fact_937_listset,axiom,
    ( listset_nat
    = ( ^ [Xs4: list_set_nat] :
          ( collect_list_nat
          @ ^ [Ys3: list_nat] :
              ( ( ( size_size_list_nat @ Ys3 )
                = ( size_s3254054031482475050et_nat @ Xs4 ) )
              & ! [I3: nat] :
                  ( ( ord_less_nat @ I3 @ ( size_s3254054031482475050et_nat @ Xs4 ) )
                 => ( member_nat @ ( nth_nat @ Ys3 @ I3 ) @ ( nth_set_nat @ Xs4 @ I3 ) ) ) ) ) ) ) ).

% listset
thf(fact_938_Cons__lenlex__iff,axiom,
    ! [M: nat,Ms: list_nat,N: nat,Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ M @ Ms ) @ ( cons_nat @ N @ Ns ) ) @ ( lenlex_nat @ R2 ) )
      = ( ( ord_less_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) )
        | ( ( ( size_size_list_nat @ Ms )
            = ( size_size_list_nat @ Ns ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_939_fun__at_Osimps_I3_J,axiom,
    ! [I: nat,Ts2: list_term_a_b,F: a,P: list_nat] :
      ( ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ts2 ) )
       => ( ( term_fun_at_a_b @ ( fun_a_b @ F @ Ts2 ) @ ( cons_nat @ I @ P ) )
          = ( term_fun_at_a_b @ ( nth_term_a_b @ Ts2 @ I ) @ P ) ) )
      & ( ~ ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ts2 ) )
       => ( ( term_fun_at_a_b @ ( fun_a_b @ F @ Ts2 ) @ ( cons_nat @ I @ P ) )
          = none_Sum_sum_a_b ) ) ) ).

% fun_at.simps(3)
thf(fact_940_Nil__lenlex__iff1,axiom,
    ! [Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ns ) @ ( lenlex_nat @ R2 ) )
      = ( Ns != nil_nat ) ) ).

% Nil_lenlex_iff1
thf(fact_941_fun__at__None__nposs__iff,axiom,
    ! [T2: term_a_b,P: list_nat] :
      ( ( ( term_fun_at_a_b @ T2 @ P )
        = none_Sum_sum_a_b )
      = ( ~ ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) ) ) ) ).

% fun_at_None_nposs_iff
thf(fact_942_Nil__lenlex__iff2,axiom,
    ! [Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ns @ nil_nat ) @ ( lenlex_nat @ R2 ) ) ).

% Nil_lenlex_iff2
thf(fact_943_permut__aux__sound,axiom,
    ! [I: nat,As2: list_term_a_b,F: nat > nat,Bs2: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ As2 ) )
     => ( ( nth_term_a_b @ ( missin5661735679256376914rm_a_b @ As2 @ F @ Bs2 ) @ I )
        = ( nth_term_a_b @ Bs2 @ ( F @ I ) ) ) ) ).

% permut_aux_sound
thf(fact_944_lex__take__index,axiom,
    ! [Xs: list_term_a_b,Ys: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ Xs @ Ys ) @ ( lex_term_a_b @ R2 ) )
     => ~ ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ys ) )
             => ( ( ( take_term_a_b @ I2 @ Xs )
                  = ( take_term_a_b @ I2 @ Ys ) )
               => ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( nth_term_a_b @ Xs @ I2 ) @ ( nth_term_a_b @ Ys @ I2 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_945_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_term_a_b @ ( take_term_a_b @ N @ Xs ) @ I )
        = ( nth_term_a_b @ Xs @ I ) ) ) ).

% nth_take
thf(fact_946_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_nat @ N @ nil_nat )
      = nil_nat ) ).

% take_Nil
thf(fact_947_in__set__takeD,axiom,
    ! [X: list_nat,N: nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ ( take_list_nat @ N @ Xs ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) ) ) ).

% in_set_takeD
thf(fact_948_permut__aux_Osimps_I1_J,axiom,
    ! [Uu3: nat > nat,Uv2: list_nat] :
      ( ( missin1888654203714970382ux_nat @ nil_nat @ Uu3 @ Uv2 )
      = nil_nat ) ).

% permut_aux.simps(1)
thf(fact_949_take__Cons,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( take_nat @ N @ ( cons_nat @ X @ Xs ) )
      = ( case_nat_list_nat @ nil_nat
        @ ^ [M3: nat] : ( cons_nat @ X @ ( take_nat @ M3 @ Xs ) )
        @ N ) ) ).

% take_Cons
thf(fact_950_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( take_term_a_b @ ( suc @ I ) @ Xs )
        = ( append_term_a_b @ ( take_term_a_b @ I @ Xs ) @ ( cons_term_a_b @ ( nth_term_a_b @ Xs @ I ) @ nil_term_a_b ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_951_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( take_nat @ ( suc @ I ) @ Xs )
        = ( append_nat @ ( take_nat @ I @ Xs ) @ ( cons_nat @ ( nth_nat @ Xs @ I ) @ nil_nat ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_952_lexord__take__index__conv,axiom,
    ! [X: list_term_a_b,Y3: list_term_a_b,R2: set_Pr4386577575007340137rm_a_b] :
      ( ( member4405265420456397394rm_a_b @ ( produc4885699992713594593rm_a_b @ X @ Y3 ) @ ( lexord_term_a_b @ R2 ) )
      = ( ( ( ord_less_nat @ ( size_s8906293707977694520rm_a_b @ X ) @ ( size_s8906293707977694520rm_a_b @ Y3 ) )
          & ( ( take_term_a_b @ ( size_s8906293707977694520rm_a_b @ X ) @ Y3 )
            = X ) )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( ord_min_nat @ ( size_s8906293707977694520rm_a_b @ X ) @ ( size_s8906293707977694520rm_a_b @ Y3 ) ) )
            & ( ( take_term_a_b @ I3 @ X )
              = ( take_term_a_b @ I3 @ Y3 ) )
            & ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( nth_term_a_b @ X @ I3 ) @ ( nth_term_a_b @ Y3 @ I3 ) ) @ R2 ) ) ) ) ).

% lexord_take_index_conv
thf(fact_953_nat_Oinject,axiom,
    ! [X23: nat,Y23: nat] :
      ( ( ( suc @ X23 )
        = ( suc @ Y23 ) )
      = ( X23 = Y23 ) ) ).

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

% old.nat.inject
thf(fact_955_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

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

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

% lessI
thf(fact_958_min__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_min_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( suc @ ( ord_min_nat @ M @ N ) ) ) ).

% min_Suc_Suc
thf(fact_959_nth__Cons__Suc,axiom,
    ! [X: term_a_b,Xs: list_term_a_b,N: nat] :
      ( ( nth_term_a_b @ ( cons_term_a_b @ X @ Xs ) @ ( suc @ N ) )
      = ( nth_term_a_b @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_960_nth__Cons__Suc,axiom,
    ! [X: nat,Xs: list_nat,N: nat] :
      ( ( nth_nat @ ( cons_nat @ X @ Xs ) @ ( suc @ N ) )
      = ( nth_nat @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_961_take__Suc__Cons,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( take_nat @ ( suc @ N ) @ ( cons_nat @ X @ Xs ) )
      = ( cons_nat @ X @ ( take_nat @ N @ Xs ) ) ) ).

% take_Suc_Cons
thf(fact_962_Nat_OlessE,axiom,
    ! [I: nat,K2: nat] :
      ( ( ord_less_nat @ I @ K2 )
     => ( ( K2
         != ( suc @ I ) )
       => ~ ! [J3: nat] :
              ( ( ord_less_nat @ I @ J3 )
             => ( K2
               != ( suc @ J3 ) ) ) ) ) ).

% Nat.lessE
thf(fact_963_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_964_Suc__lessE,axiom,
    ! [I: nat,K2: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K2 )
     => ~ ! [J3: nat] :
            ( ( ord_less_nat @ I @ J3 )
           => ( K2
             != ( suc @ J3 ) ) ) ) ).

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

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

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

% less_SucI
thf(fact_968_Ex__less__Suc,axiom,
    ! [N: nat,P3: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P3 @ I3 ) ) )
      = ( ( P3 @ N )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P3 @ I3 ) ) ) ) ).

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

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

% not_less_eq
thf(fact_971_All__less__Suc,axiom,
    ! [N: nat,P3: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P3 @ I3 ) ) )
      = ( ( P3 @ N )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P3 @ I3 ) ) ) ) ).

% All_less_Suc
thf(fact_972_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M4: nat] :
            ( ( M
              = ( suc @ M4 ) )
            & ( ord_less_nat @ N @ M4 ) ) ) ) ).

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

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

% Suc_less_SucD
thf(fact_975_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K2 )
       => ( ord_less_nat @ ( suc @ I ) @ K2 ) ) ) ).

% less_trans_Suc
thf(fact_976_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P3: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] : ( P3 @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J3: nat,K3: nat] :
              ( ( ord_less_nat @ I2 @ J3 )
             => ( ( ord_less_nat @ J3 @ K3 )
               => ( ( P3 @ I2 @ J3 )
                 => ( ( P3 @ J3 @ K3 )
                   => ( P3 @ I2 @ K3 ) ) ) ) )
         => ( P3 @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_977_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P3: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P3 @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P3 @ ( suc @ I2 ) )
               => ( P3 @ I2 ) ) )
         => ( P3 @ I ) ) ) ) ).

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

% not_less_less_Suc_eq
thf(fact_979_Suc__inject,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y3 ) )
     => ( X = Y3 ) ) ).

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

% n_not_Suc_n
thf(fact_981_old_Onat_Osimps_I5_J,axiom,
    ! [F1: $o,F2: nat > $o,X23: nat] :
      ( ( case_nat_o @ F1 @ F2 @ ( suc @ X23 ) )
      = ( F2 @ X23 ) ) ).

% old.nat.simps(5)
thf(fact_982_old_Onat_Osimps_I5_J,axiom,
    ! [F1: nat,F2: nat > nat,X23: nat] :
      ( ( case_nat_nat @ F1 @ F2 @ ( suc @ X23 ) )
      = ( F2 @ X23 ) ) ).

% old.nat.simps(5)
thf(fact_983_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N4: nat] :
      ( ! [N2: nat] : ( ord_less_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N4 ) ) ) ) ).

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

% lift_Suc_mono_less_iff
thf(fact_985_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ( suc @ N )
        = ( size_size_list_nat @ Xs ) )
      = ( ? [Y2: nat,Ys3: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y2 @ Ys3 ) )
            & ( ( size_size_list_nat @ Ys3 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_986_length__Suc__conv,axiom,
    ! [Xs: list_nat,N: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( suc @ N ) )
      = ( ? [Y2: nat,Ys3: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y2 @ Ys3 ) )
            & ( ( size_size_list_nat @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_987_length__Cons,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( cons_nat @ X @ Xs ) )
      = ( suc @ ( size_size_list_nat @ Xs ) ) ) ).

% length_Cons
thf(fact_988_list__update__code_I3_J,axiom,
    ! [X: nat,Xs: list_nat,I: nat,Y3: nat] :
      ( ( list_update_nat @ ( cons_nat @ X @ Xs ) @ ( suc @ I ) @ Y3 )
      = ( cons_nat @ X @ ( list_update_nat @ Xs @ I @ Y3 ) ) ) ).

% list_update_code(3)
thf(fact_989_length__add__elem__list__lists,axiom,
    ! [Ys: list_nat,X: nat,Xs: list_nat] :
      ( ( member_list_nat @ Ys @ ( set_list_nat2 @ ( basic_4874698711677410535ts_nat @ X @ Xs ) ) )
     => ( ( size_size_list_nat @ Ys )
        = ( suc @ ( size_size_list_nat @ Xs ) ) ) ) ).

% length_add_elem_list_lists
thf(fact_990_length__append__singleton,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( size_size_list_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
      = ( suc @ ( size_size_list_nat @ Xs ) ) ) ).

% length_append_singleton
thf(fact_991_length__Suc__conv__rev,axiom,
    ! [Xs: list_nat,N: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( suc @ N ) )
      = ( ? [Y2: nat,Ys3: list_nat] :
            ( ( Xs
              = ( append_nat @ Ys3 @ ( cons_nat @ Y2 @ nil_nat ) ) )
            & ( ( size_size_list_nat @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_992_not__less__Least,axiom,
    ! [K2: nat,P3: nat > $o] :
      ( ( ord_less_nat @ K2 @ ( ord_Least_nat @ P3 ) )
     => ~ ( P3 @ K2 ) ) ).

% not_less_Least
thf(fact_993_Bleast__def,axiom,
    ( bleast_nat
    = ( ^ [S5: set_nat,P6: nat > $o] :
          ( ord_Least_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ S5 )
              & ( P6 @ X3 ) ) ) ) ) ).

% Bleast_def
thf(fact_994_abort__Bleast__def,axiom,
    ( abort_Bleast_nat
    = ( ^ [S5: set_nat,P6: nat > $o] :
          ( ord_Least_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ S5 )
              & ( P6 @ X3 ) ) ) ) ) ).

% abort_Bleast_def
thf(fact_995_size__list__estimation,axiom,
    ! [X: list_nat,Xs: list_list_nat,Y3: nat,F: list_nat > nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ( ( ord_less_nat @ Y3 @ ( F @ X ) )
       => ( ord_less_nat @ Y3 @ ( size_list_list_nat @ F @ Xs ) ) ) ) ).

% size_list_estimation
thf(fact_996_size__simp1,axiom,
    ! [T2: list_nat,Ts2: list_list_nat] :
      ( ( member_list_nat @ T2 @ ( set_list_nat2 @ Ts2 ) )
     => ( ord_less_nat @ ( size_size_list_nat @ T2 ) @ ( suc @ ( size_list_list_nat @ size_size_list_nat @ Ts2 ) ) ) ) ).

% size_simp1
thf(fact_997_LeastI,axiom,
    ! [P3: nat > $o,K2: nat] :
      ( ( P3 @ K2 )
     => ( P3 @ ( ord_Least_nat @ P3 ) ) ) ).

% LeastI
thf(fact_998_take__drop__update__first,axiom,
    ! [J: nat,Ds: list_term_a_b,Cs: list_term_a_b] :
      ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ Ds ) )
     => ( ( ( size_s8906293707977694520rm_a_b @ Cs )
          = ( size_s8906293707977694520rm_a_b @ Ds ) )
       => ( ( list_update_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ J @ Ds ) @ ( drop_term_a_b @ J @ Cs ) ) @ J @ ( nth_term_a_b @ Ds @ J ) )
          = ( append_term_a_b @ ( take_term_a_b @ ( suc @ J ) @ Ds ) @ ( drop_term_a_b @ ( suc @ J ) @ Cs ) ) ) ) ) ).

% take_drop_update_first
thf(fact_999_upd__conv__take__nth__drop,axiom,
    ! [I: nat,Xs: list_nat,A: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( list_update_nat @ Xs @ I @ A )
        = ( append_nat @ ( take_nat @ I @ Xs ) @ ( cons_nat @ A @ ( drop_nat @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% upd_conv_take_nth_drop
thf(fact_1000_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( Xs
        = ( append_term_a_b @ ( take_term_a_b @ I @ Xs ) @ ( cons_term_a_b @ ( nth_term_a_b @ Xs @ I ) @ ( drop_term_a_b @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1001_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( Xs
        = ( append_nat @ ( take_nat @ I @ Xs ) @ ( cons_nat @ ( nth_nat @ Xs @ I ) @ ( drop_nat @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1002_drop__Suc__Cons,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( drop_nat @ ( suc @ N ) @ ( cons_nat @ X @ Xs ) )
      = ( drop_nat @ N @ Xs ) ) ).

% drop_Suc_Cons
thf(fact_1003_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_nat @ N @ nil_nat )
      = nil_nat ) ).

% drop_Nil
thf(fact_1004_in__set__dropD,axiom,
    ! [X: list_nat,N: nat,Xs: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ ( drop_list_nat @ N @ Xs ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) ) ) ).

% in_set_dropD
thf(fact_1005_nth__via__drop,axiom,
    ! [N: nat,Xs: list_term_a_b,Y3: term_a_b,Ys: list_term_a_b] :
      ( ( ( drop_term_a_b @ N @ Xs )
        = ( cons_term_a_b @ Y3 @ Ys ) )
     => ( ( nth_term_a_b @ Xs @ N )
        = Y3 ) ) ).

% nth_via_drop
thf(fact_1006_nth__via__drop,axiom,
    ! [N: nat,Xs: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( drop_nat @ N @ Xs )
        = ( cons_nat @ Y3 @ Ys ) )
     => ( ( nth_nat @ Xs @ N )
        = Y3 ) ) ).

% nth_via_drop
thf(fact_1007_drop__Cons,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( drop_nat @ N @ ( cons_nat @ X @ Xs ) )
      = ( case_nat_list_nat @ ( cons_nat @ X @ Xs )
        @ ^ [M3: nat] : ( drop_nat @ M3 @ Xs )
        @ N ) ) ).

% drop_Cons
thf(fact_1008_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( cons_term_a_b @ ( nth_term_a_b @ Xs @ I ) @ ( drop_term_a_b @ ( suc @ I ) @ Xs ) )
        = ( drop_term_a_b @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_1009_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( cons_nat @ ( nth_nat @ Xs @ I ) @ ( drop_nat @ ( suc @ I ) @ Xs ) )
        = ( drop_nat @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_1010_take__drop__imp__nth,axiom,
    ! [I: nat,Ss: list_term_a_b,X: term_a_b] :
      ( ( ( append_term_a_b @ ( take_term_a_b @ I @ Ss ) @ ( cons_term_a_b @ X @ ( drop_term_a_b @ ( suc @ I ) @ Ss ) ) )
        = Ss )
     => ( X
        = ( nth_term_a_b @ Ss @ I ) ) ) ).

% take_drop_imp_nth
thf(fact_1011_take__drop__imp__nth,axiom,
    ! [I: nat,Ss: list_nat,X: nat] :
      ( ( ( append_nat @ ( take_nat @ I @ Ss ) @ ( cons_nat @ X @ ( drop_nat @ ( suc @ I ) @ Ss ) ) )
        = Ss )
     => ( X
        = ( nth_nat @ Ss @ I ) ) ) ).

% take_drop_imp_nth
thf(fact_1012_take__drop__update__second,axiom,
    ! [J: nat,Ds: list_term_a_b,Cs: list_term_a_b] :
      ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ Ds ) )
     => ( ( ( size_s8906293707977694520rm_a_b @ Cs )
          = ( size_s8906293707977694520rm_a_b @ Ds ) )
       => ( ( list_update_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ J @ Ds ) @ ( drop_term_a_b @ J @ Cs ) ) @ J @ ( nth_term_a_b @ Cs @ J ) )
          = ( append_term_a_b @ ( take_term_a_b @ J @ Ds ) @ ( drop_term_a_b @ J @ Cs ) ) ) ) ) ).

% take_drop_update_second
thf(fact_1013_ctxt__at__pos_Osimps_I2_J,axiom,
    ! [F: a,Ss: list_term_a_b,I: nat,P: list_nat] :
      ( ( term_ctxt_at_pos_a_b @ ( fun_a_b @ F @ Ss ) @ ( cons_nat @ I @ P ) )
      = ( subterm_and_More_a_b @ F @ ( take_term_a_b @ I @ Ss ) @ ( term_ctxt_at_pos_a_b @ ( nth_term_a_b @ Ss @ I ) @ P ) @ ( drop_term_a_b @ ( suc @ I ) @ Ss ) ) ) ).

% ctxt_at_pos.simps(2)
thf(fact_1014_ctxt__at__pos_Oelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Y3: subterm_and_ctxt_a_b] :
      ( ( ( term_ctxt_at_pos_a_b @ X @ Xa )
        = Y3 )
     => ( ( ( Xa = nil_nat )
         => ( Y3 != subterm_and_Hole_a_b ) )
       => ( ! [F3: a,Ss2: list_term_a_b] :
              ( ( X
                = ( fun_a_b @ F3 @ Ss2 ) )
             => ! [I2: nat,P4: list_nat] :
                  ( ( Xa
                    = ( cons_nat @ I2 @ P4 ) )
                 => ( Y3
                   != ( subterm_and_More_a_b @ F3 @ ( take_term_a_b @ I2 @ Ss2 ) @ ( term_ctxt_at_pos_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ P4 ) @ ( drop_term_a_b @ ( suc @ I2 ) @ Ss2 ) ) ) ) )
         => ~ ( ? [X2: b] :
                  ( X
                  = ( var_b_a @ X2 ) )
             => ( ? [V: nat,Va: list_nat] :
                    ( Xa
                    = ( cons_nat @ V @ Va ) )
               => ( Y3 != undefi3573907640150307307xt_a_b ) ) ) ) ) ) ).

% ctxt_at_pos.elims
thf(fact_1015_ctxt__at__pos_Opelims,axiom,
    ! [X: term_a_b,Xa: list_nat,Y3: subterm_and_ctxt_a_b] :
      ( ( ( term_ctxt_at_pos_a_b @ X @ Xa )
        = Y3 )
     => ( ( accp_P682940083893826398st_nat @ term_c6096582210798399037el_a_b @ ( produc4563063199488751885st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y3 = subterm_and_Hole_a_b )
             => ~ ( accp_P682940083893826398st_nat @ term_c6096582210798399037el_a_b @ ( produc4563063199488751885st_nat @ X @ nil_nat ) ) ) )
         => ( ! [F3: a,Ss2: list_term_a_b] :
                ( ( X
                  = ( fun_a_b @ F3 @ Ss2 ) )
               => ! [I2: nat,P4: list_nat] :
                    ( ( Xa
                      = ( cons_nat @ I2 @ P4 ) )
                   => ( ( Y3
                        = ( subterm_and_More_a_b @ F3 @ ( take_term_a_b @ I2 @ Ss2 ) @ ( term_ctxt_at_pos_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ P4 ) @ ( drop_term_a_b @ ( suc @ I2 ) @ Ss2 ) ) )
                     => ~ ( accp_P682940083893826398st_nat @ term_c6096582210798399037el_a_b @ ( produc4563063199488751885st_nat @ ( fun_a_b @ F3 @ Ss2 ) @ ( cons_nat @ I2 @ P4 ) ) ) ) ) )
           => ~ ! [X2: b] :
                  ( ( X
                    = ( var_b_a @ X2 ) )
                 => ! [V: nat,Va: list_nat] :
                      ( ( Xa
                        = ( cons_nat @ V @ Va ) )
                     => ( ( Y3 = undefi3573907640150307307xt_a_b )
                       => ~ ( accp_P682940083893826398st_nat @ term_c6096582210798399037el_a_b @ ( produc4563063199488751885st_nat @ ( var_b_a @ X2 ) @ ( cons_nat @ V @ Va ) ) ) ) ) ) ) ) ) ) ).

% ctxt_at_pos.pelims
thf(fact_1016_take__nth__drop__concat,axiom,
    ! [I: nat,Xss2: list_list_term_a_b,Ys: list_term_a_b,J: nat,Z4: term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s877380706853472072rm_a_b @ Xss2 ) )
     => ( ( ( nth_list_term_a_b @ Xss2 @ I )
          = Ys )
       => ( ( ord_less_nat @ J @ ( size_s8906293707977694520rm_a_b @ Ys ) )
         => ( ( ( nth_term_a_b @ Ys @ J )
              = Z4 )
           => ? [K3: nat] :
                ( ( ord_less_nat @ K3 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xss2 ) ) )
                & ( ( take_term_a_b @ K3 @ ( concat_term_a_b @ Xss2 ) )
                  = ( append_term_a_b @ ( concat_term_a_b @ ( take_list_term_a_b @ I @ Xss2 ) ) @ ( take_term_a_b @ J @ Ys ) ) )
                & ( ( nth_term_a_b @ ( concat_term_a_b @ Xss2 ) @ K3 )
                  = ( nth_term_a_b @ ( nth_list_term_a_b @ Xss2 @ I ) @ J ) )
                & ( ( drop_term_a_b @ ( suc @ K3 ) @ ( concat_term_a_b @ Xss2 ) )
                  = ( append_term_a_b @ ( drop_term_a_b @ ( suc @ J ) @ Ys ) @ ( concat_term_a_b @ ( drop_list_term_a_b @ ( suc @ I ) @ Xss2 ) ) ) ) ) ) ) ) ) ).

% take_nth_drop_concat
thf(fact_1017_concat__eq__Nil__conv,axiom,
    ! [Xss2: list_list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = nil_nat )
      = ( ! [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xss2 ) )
           => ( X3 = nil_nat ) ) ) ) ).

% concat_eq_Nil_conv
thf(fact_1018_Nil__eq__concat__conv,axiom,
    ! [Xss2: list_list_nat] :
      ( ( nil_nat
        = ( concat_nat @ Xss2 ) )
      = ( ! [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xss2 ) )
           => ( X3 = nil_nat ) ) ) ) ).

% Nil_eq_concat_conv
thf(fact_1019_concat_Osimps_I1_J,axiom,
    ( ( concat_nat @ nil_list_nat )
    = nil_nat ) ).

% concat.simps(1)
thf(fact_1020_ctxt__at__pos_Osimps_I3_J,axiom,
    ! [X: b,V4: nat,Va2: list_nat] :
      ( ( term_ctxt_at_pos_a_b @ ( var_b_a @ X ) @ ( cons_nat @ V4 @ Va2 ) )
      = undefi3573907640150307307xt_a_b ) ).

% ctxt_at_pos.simps(3)
thf(fact_1021_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ( ( Xss2 = nil_list_nat )
         => ( ( Ys = nil_nat )
            & ( Zs2 = nil_nat ) ) )
        & ( ( Xss2 != nil_list_nat )
         => ? [Xss1: list_list_nat,Xs4: list_nat,Xs6: list_nat,Xss22: list_list_nat] :
              ( ( Xss2
                = ( append_list_nat @ Xss1 @ ( cons_list_nat @ ( append_nat @ Xs4 @ Xs6 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_nat @ ( concat_nat @ Xss1 ) @ Xs4 ) )
              & ( Zs2
                = ( append_nat @ Xs6 @ ( concat_nat @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_1022_nth__concat__two__lists,axiom,
    ! [I: nat,Xs: list_list_term_a_b,Ys: list_list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ( size_s877380706853472072rm_a_b @ Ys )
          = ( size_s877380706853472072rm_a_b @ Xs ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I2 ) )
                = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I2 ) ) ) )
         => ? [J3: nat,K3: nat] :
              ( ( ord_less_nat @ J3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ K3 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J3 ) ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J3 ) @ K3 ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Ys ) @ I )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Ys @ J3 ) @ K3 ) ) ) ) ) ) ).

% nth_concat_two_lists
thf(fact_1023_nth__concat__split,axiom,
    ! [I: nat,Xs: list_list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ? [J3: nat,K3: nat] :
          ( ( ord_less_nat @ J3 @ ( size_s877380706853472072rm_a_b @ Xs ) )
          & ( ord_less_nat @ K3 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J3 ) ) )
          & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I )
            = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J3 ) @ K3 ) ) ) ) ).

% nth_concat_split
thf(fact_1024_concat__all__nth,axiom,
    ! [Xs: list_list_term_a_b,Ys: list_list_term_a_b,P3: term_a_b > term_a_b > $o] :
      ( ( ( size_s877380706853472072rm_a_b @ Xs )
        = ( size_s877380706853472072rm_a_b @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ Xs ) )
           => ( ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I2 ) )
              = ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Ys @ I2 ) ) ) )
       => ( ! [I2: nat,J3: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s877380706853472072rm_a_b @ Xs ) )
             => ( ( ord_less_nat @ J3 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ I2 ) ) )
               => ( P3 @ ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ I2 ) @ J3 ) @ ( nth_term_a_b @ ( nth_list_term_a_b @ Ys @ I2 ) @ J3 ) ) ) )
         => ! [K4: nat] :
              ( ( ord_less_nat @ K4 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
             => ( P3 @ ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ K4 ) @ ( nth_term_a_b @ ( concat_term_a_b @ Ys ) @ K4 ) ) ) ) ) ) ).

% concat_all_nth
thf(fact_1025_nth__concat__diff,axiom,
    ! [I1: nat,Xs: list_list_term_a_b,I22: nat] :
      ( ( ord_less_nat @ I1 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
     => ( ( ord_less_nat @ I22 @ ( size_s8906293707977694520rm_a_b @ ( concat_term_a_b @ Xs ) ) )
       => ( ( I1 != I22 )
         => ? [J1: nat,K1: nat,J22: nat,K22: nat] :
              ( ( ( product_Pair_nat_nat @ J1 @ K1 )
               != ( product_Pair_nat_nat @ J22 @ K22 ) )
              & ( ord_less_nat @ J1 @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ J22 @ ( size_s877380706853472072rm_a_b @ Xs ) )
              & ( ord_less_nat @ K1 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J1 ) ) )
              & ( ord_less_nat @ K22 @ ( size_s8906293707977694520rm_a_b @ ( nth_list_term_a_b @ Xs @ J22 ) ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I1 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J1 ) @ K1 ) )
              & ( ( nth_term_a_b @ ( concat_term_a_b @ Xs ) @ I22 )
                = ( nth_term_a_b @ ( nth_list_term_a_b @ Xs @ J22 ) @ K22 ) ) ) ) ) ) ).

% nth_concat_diff
thf(fact_1026_nth__append__drop__is__nth__conv,axiom,
    ! [J: nat,I: nat,Xs: list_term_a_b,Y3: term_a_b] :
      ( ( ord_less_nat @ J @ I )
     => ( ( ord_less_eq_nat @ J @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( ord_less_eq_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
         => ( ( nth_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ J @ Xs ) @ ( cons_term_a_b @ Y3 @ ( drop_term_a_b @ ( suc @ J ) @ Xs ) ) ) @ I )
            = ( nth_term_a_b @ Xs @ I ) ) ) ) ) ).

% nth_append_drop_is_nth_conv
thf(fact_1027_nth__append__drop__is__nth__conv,axiom,
    ! [J: nat,I: nat,Xs: list_nat,Y3: nat] :
      ( ( ord_less_nat @ J @ I )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat @ Xs ) )
       => ( ( ord_less_eq_nat @ I @ ( size_size_list_nat @ Xs ) )
         => ( ( nth_nat @ ( append_nat @ ( take_nat @ J @ Xs ) @ ( cons_nat @ Y3 @ ( drop_nat @ ( suc @ J ) @ Xs ) ) ) @ I )
            = ( nth_nat @ Xs @ I ) ) ) ) ) ).

% nth_append_drop_is_nth_conv
thf(fact_1028_replace__term__context__at_Oelims,axiom,
    ! [X: subterm_and_ctxt_a_b,Xa: list_nat,Xb: term_a_b,Y3: subterm_and_ctxt_a_b] :
      ( ( ( terms_4774307173741787698at_a_b @ X @ Xa @ Xb )
        = Y3 )
     => ( ( ( X = subterm_and_Hole_a_b )
         => ( Y3 != subterm_and_Hole_a_b ) )
       => ( ! [F3: a,Ss2: list_term_a_b,C4: subterm_and_ctxt_a_b,Ts: list_term_a_b] :
              ( ( X
                = ( subterm_and_More_a_b @ F3 @ Ss2 @ C4 @ Ts ) )
             => ! [I2: nat,Ps2: list_nat] :
                  ( ( Xa
                    = ( cons_nat @ I2 @ Ps2 ) )
                 => ~ ( ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                       => ( Y3
                          = ( subterm_and_More_a_b @ F3 @ ( list_update_term_a_b @ Ss2 @ I2 @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ Ps2 @ Xb ) ) @ C4 @ Ts ) ) )
                      & ( ~ ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                       => ( ( ( I2
                              = ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                           => ( Y3
                              = ( subterm_and_More_a_b @ F3 @ Ss2 @ ( terms_4774307173741787698at_a_b @ C4 @ Ps2 @ Xb ) @ Ts ) ) )
                          & ( ( I2
                             != ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                           => ( Y3
                              = ( subterm_and_More_a_b @ F3 @ Ss2 @ C4 @ ( list_update_term_a_b @ Ts @ ( minus_minus_nat @ I2 @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss2 ) ) ) @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts @ ( minus_minus_nat @ I2 @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss2 ) ) ) ) @ Ps2 @ Xb ) ) ) ) ) ) ) ) ) )
         => ~ ( ? [V: a,Va: list_term_a_b,Vb: subterm_and_ctxt_a_b,Vc: list_term_a_b] :
                  ( X
                  = ( subterm_and_More_a_b @ V @ Va @ Vb @ Vc ) )
             => ( ( Xa = nil_nat )
               => ( Y3 != undefi3573907640150307307xt_a_b ) ) ) ) ) ) ).

% replace_term_context_at.elims
thf(fact_1029_add__elem__list__listsI,axiom,
    ! [N: nat,Xs: list_nat,Ys: list_nat,X: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( Ys
          = ( append_nat @ ( take_nat @ N @ Xs ) @ ( cons_nat @ X @ ( drop_nat @ N @ Xs ) ) ) )
       => ( member_list_nat @ Ys @ ( set_list_nat2 @ ( basic_4874698711677410535ts_nat @ X @ Xs ) ) ) ) ) ).

% add_elem_list_listsI
thf(fact_1030_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_1031_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K2 ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K2 ) ) ).

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

% diff_Suc_Suc
thf(fact_1033_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_1034_drop__all,axiom,
    ! [Xs: list_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ N )
     => ( ( drop_nat @ N @ Xs )
        = nil_nat ) ) ).

% drop_all
thf(fact_1035_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ( drop_nat @ N @ Xs )
        = nil_nat )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_1036_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( nil_nat
        = ( drop_nat @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_1037_Least__le,axiom,
    ! [P3: nat > $o,K2: nat] :
      ( ( P3 @ K2 )
     => ( ord_less_eq_nat @ ( ord_Least_nat @ P3 ) @ K2 ) ) ).

% Least_le
thf(fact_1038_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M3: nat,N3: nat] :
          ( ( ord_less_eq_nat @ M3 @ N3 )
          & ( M3 != N3 ) ) ) ) ).

% nat_less_le
thf(fact_1039_less__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_1040_diff__less__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C2 ) @ ( minus_minus_nat @ B @ C2 ) ) ) ) ).

% diff_less_mono
thf(fact_1041_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L2: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L2 )
       => ( ord_less_nat @ ( minus_minus_nat @ L2 @ N ) @ ( minus_minus_nat @ L2 @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_1042_less__imp__le__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_imp_le_nat
thf(fact_1043_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M3: nat,N3: nat] :
          ( ( ord_less_nat @ M3 @ N3 )
          | ( M3 = N3 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_1044_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_1045_less__imp__diff__less,axiom,
    ! [J: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ J @ K2 )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K2 ) ) ).

% less_imp_diff_less
thf(fact_1046_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_1047_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ord_less_nat @ ( F @ I2 ) @ ( F @ J3 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_1048_inf__pigeonhole__principle,axiom,
    ! [N: nat,F: nat > nat > $o] :
      ( ! [K3: nat] :
        ? [I4: nat] :
          ( ( ord_less_nat @ I4 @ N )
          & ( F @ K3 @ I4 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
          & ! [K4: nat] :
            ? [K5: nat] :
              ( ( ord_less_eq_nat @ K4 @ K5 )
              & ( F @ K5 @ I2 ) ) ) ) ).

% inf_pigeonhole_principle
thf(fact_1049_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_1050_le__trans,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ K2 )
       => ( ord_less_eq_nat @ I @ K2 ) ) ) ).

% le_trans
thf(fact_1051_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_1052_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_1053_eq__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ( minus_minus_nat @ M @ K2 )
            = ( minus_minus_nat @ N @ K2 ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_1054_le__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_1055_diff__commute,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K2 )
      = ( minus_minus_nat @ ( minus_minus_nat @ I @ K2 ) @ J ) ) ).

% diff_commute
thf(fact_1056_Nat_Odiff__diff__eq,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_1057_diff__le__mono,axiom,
    ! [M: nat,N: nat,L2: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L2 ) @ ( minus_minus_nat @ N @ L2 ) ) ) ).

% diff_le_mono
thf(fact_1058_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_1059_le__diff__iff_H,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C2 )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C2 @ A ) @ ( minus_minus_nat @ C2 @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_1060_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L2: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L2 @ N ) @ ( minus_minus_nat @ L2 @ M ) ) ) ).

% diff_le_mono2
thf(fact_1061_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
      | ( ord_less_eq_nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_1062_Nat_Oex__has__greatest__nat,axiom,
    ! [P3: nat > $o,K2: nat,B: nat] :
      ( ( P3 @ K2 )
     => ( ! [Y: nat] :
            ( ( P3 @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ? [X2: nat] :
            ( ( P3 @ X2 )
            & ! [Y5: nat] :
                ( ( P3 @ Y5 )
               => ( ord_less_eq_nat @ Y5 @ X2 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_1063_less__eq__nat_Osimps_I2_J,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( case_nat_o @ $false @ ( ord_less_eq_nat @ M ) @ N ) ) ).

% less_eq_nat.simps(2)
thf(fact_1064_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X2: nat] : ( R @ X2 @ X2 )
       => ( ! [X2: nat,Y: nat,Z: nat] :
              ( ( R @ X2 @ Y )
             => ( ( R @ Y @ Z )
               => ( R @ X2 @ Z ) ) )
         => ( ! [N2: nat] : ( R @ N2 @ ( suc @ N2 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_1065_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P3: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P3 @ M )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ M @ N2 )
             => ( ( P3 @ N2 )
               => ( P3 @ ( suc @ N2 ) ) ) )
         => ( P3 @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_1066_zero__induct__lemma,axiom,
    ! [P3: nat > $o,K2: nat,I: nat] :
      ( ( P3 @ K2 )
     => ( ! [N2: nat] :
            ( ( P3 @ ( suc @ N2 ) )
           => ( P3 @ N2 ) )
       => ( P3 @ ( minus_minus_nat @ K2 @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_1067_full__nat__induct,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M2: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N2 )
             => ( P3 @ M2 ) )
         => ( P3 @ N2 ) )
     => ( P3 @ N ) ) ).

% full_nat_induct
thf(fact_1068_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_1069_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_1070_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_1071_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_1072_min__diff,axiom,
    ! [M: nat,I: nat,N: nat] :
      ( ( ord_min_nat @ ( minus_minus_nat @ M @ I ) @ ( minus_minus_nat @ N @ I ) )
      = ( minus_minus_nat @ ( ord_min_nat @ M @ N ) @ I ) ) ).

% min_diff
thf(fact_1073_Suc__le__D,axiom,
    ! [N: nat,M5: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M5 )
     => ? [M6: nat] :
          ( M5
          = ( suc @ M6 ) ) ) ).

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

% le_SucI
thf(fact_1075_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

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

% Suc_leD
thf(fact_1077_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N4: nat] :
      ( ! [N2: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N2 ) ) @ ( F @ N2 ) )
     => ( ( ord_less_eq_nat @ N @ N4 )
       => ( ord_less_eq_nat @ ( F @ N4 ) @ ( F @ N ) ) ) ) ).

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

% lift_Suc_mono_le
thf(fact_1079_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1080_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1081_impossible__Cons,axiom,
    ! [Xs: list_nat,Ys: list_nat,X: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_nat @ Ys ) )
     => ( Xs
       != ( cons_nat @ X @ Ys ) ) ) ).

% impossible_Cons
thf(fact_1082_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_1083_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_1084_dec__induct,axiom,
    ! [I: nat,J: nat,P3: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P3 @ I )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I @ N2 )
             => ( ( ord_less_nat @ N2 @ J )
               => ( ( P3 @ N2 )
                 => ( P3 @ ( suc @ N2 ) ) ) ) )
         => ( P3 @ J ) ) ) ) ).

% dec_induct
thf(fact_1085_inc__induct,axiom,
    ! [I: nat,J: nat,P3: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P3 @ J )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I @ N2 )
             => ( ( ord_less_nat @ N2 @ J )
               => ( ( P3 @ ( suc @ N2 ) )
                 => ( P3 @ N2 ) ) ) )
         => ( P3 @ I ) ) ) ) ).

% inc_induct
thf(fact_1086_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_1087_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_1088_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_1089_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N3: nat] : ( ord_less_eq_nat @ ( suc @ N3 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_1090_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_1091_size__list__pointwise,axiom,
    ! [Xs: list_list_nat,F: list_nat > nat,G: list_nat > nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
         => ( ord_less_eq_nat @ ( F @ X2 ) @ ( G @ X2 ) ) )
     => ( ord_less_eq_nat @ ( size_list_list_nat @ F @ Xs ) @ ( size_list_list_nat @ G @ Xs ) ) ) ).

% size_list_pointwise
thf(fact_1092_size__list__estimation_H,axiom,
    ! [X: list_nat,Xs: list_list_nat,Y3: nat,F: list_nat > nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs ) )
     => ( ( ord_less_eq_nat @ Y3 @ ( F @ X ) )
       => ( ord_less_eq_nat @ Y3 @ ( size_list_list_nat @ F @ Xs ) ) ) ) ).

% size_list_estimation'
thf(fact_1093_Suc__le__length__iff,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_nat @ Xs ) )
      = ( ? [X3: nat,Ys3: list_nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Ys3 ) )
            & ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Ys3 ) ) ) ) ) ).

% Suc_le_length_iff
thf(fact_1094_subseqs__length__simple,axiom,
    ! [B: list_nat,Xs: list_nat] :
      ( ( member_list_nat @ B @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) )
     => ( ord_less_eq_nat @ ( size_size_list_nat @ B ) @ ( size_size_list_nat @ Xs ) ) ) ).

% subseqs_length_simple
thf(fact_1095_nth__append,axiom,
    ! [N: nat,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ Ys ) @ N )
          = ( nth_term_a_b @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ Ys ) @ N )
          = ( nth_term_a_b @ Ys @ ( minus_minus_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_1096_nth__take__prefix,axiom,
    ! [Ys: list_term_a_b,Xs: list_term_a_b] :
      ( ( ord_less_eq_nat @ ( size_s8906293707977694520rm_a_b @ Ys ) @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ys ) )
           => ( ( nth_term_a_b @ Xs @ I2 )
              = ( nth_term_a_b @ Ys @ I2 ) ) )
       => ( ( take_term_a_b @ ( size_s8906293707977694520rm_a_b @ Ys ) @ Xs )
          = Ys ) ) ) ).

% nth_take_prefix
thf(fact_1097_nth__take__lemma,axiom,
    ! [K2: nat,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ord_less_eq_nat @ K2 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_eq_nat @ K2 @ ( size_s8906293707977694520rm_a_b @ Ys ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ K2 )
             => ( ( nth_term_a_b @ Xs @ I2 )
                = ( nth_term_a_b @ Ys @ I2 ) ) )
         => ( ( take_term_a_b @ K2 @ Xs )
            = ( take_term_a_b @ K2 @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_1098_nth__append__take,axiom,
    ! [I: nat,Xs: list_term_a_b,Y3: term_a_b,Ys: list_term_a_b] :
      ( ( ord_less_eq_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ I @ Xs ) @ ( cons_term_a_b @ Y3 @ Ys ) ) @ I )
        = Y3 ) ) ).

% nth_append_take
thf(fact_1099_nth__append__take,axiom,
    ! [I: nat,Xs: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ord_less_eq_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( append_nat @ ( take_nat @ I @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) @ I )
        = Y3 ) ) ).

% nth_append_take
thf(fact_1100_nth__append__take__is__nth__conv,axiom,
    ! [I: nat,J: nat,Xs: list_term_a_b,Ys: list_term_a_b] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( nth_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ J @ Xs ) @ Ys ) @ I )
          = ( nth_term_a_b @ Xs @ I ) ) ) ) ).

% nth_append_take_is_nth_conv
thf(fact_1101_replace__term__context__at_Osimps_I2_J,axiom,
    ! [I: nat,Ss: list_term_a_b,F: a,C: subterm_and_ctxt_a_b,Ts2: list_term_a_b,Ps: list_nat,U2: term_a_b] :
      ( ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ss ) )
       => ( ( terms_4774307173741787698at_a_b @ ( subterm_and_More_a_b @ F @ Ss @ C @ Ts2 ) @ ( cons_nat @ I @ Ps ) @ U2 )
          = ( subterm_and_More_a_b @ F @ ( list_update_term_a_b @ Ss @ I @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ss @ I ) @ Ps @ U2 ) ) @ C @ Ts2 ) ) )
      & ( ~ ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Ss ) )
       => ( ( ( I
              = ( size_s8906293707977694520rm_a_b @ Ss ) )
           => ( ( terms_4774307173741787698at_a_b @ ( subterm_and_More_a_b @ F @ Ss @ C @ Ts2 ) @ ( cons_nat @ I @ Ps ) @ U2 )
              = ( subterm_and_More_a_b @ F @ Ss @ ( terms_4774307173741787698at_a_b @ C @ Ps @ U2 ) @ Ts2 ) ) )
          & ( ( I
             != ( size_s8906293707977694520rm_a_b @ Ss ) )
           => ( ( terms_4774307173741787698at_a_b @ ( subterm_and_More_a_b @ F @ Ss @ C @ Ts2 ) @ ( cons_nat @ I @ Ps ) @ U2 )
              = ( subterm_and_More_a_b @ F @ Ss @ C @ ( list_update_term_a_b @ Ts2 @ ( minus_minus_nat @ I @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss ) ) ) @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts2 @ ( minus_minus_nat @ I @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss ) ) ) ) @ Ps @ U2 ) ) ) ) ) ) ) ) ).

% replace_term_context_at.simps(2)
thf(fact_1102_nth__append__Cons,axiom,
    ! [I: nat,Xs: list_term_a_b,Y3: term_a_b,Zs2: list_term_a_b] :
      ( ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Y3 @ Zs2 ) ) @ I )
          = ( nth_term_a_b @ Xs @ I ) ) )
      & ( ~ ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( ( I
              = ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Y3 @ Zs2 ) ) @ I )
              = Y3 ) )
          & ( ( I
             != ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( ( nth_term_a_b @ ( append_term_a_b @ Xs @ ( cons_term_a_b @ Y3 @ Zs2 ) ) @ I )
              = ( nth_term_a_b @ Zs2 @ ( minus_minus_nat @ I @ ( suc @ ( size_s8906293707977694520rm_a_b @ Xs ) ) ) ) ) ) ) ) ) ).

% nth_append_Cons
thf(fact_1103_nth__append__Cons,axiom,
    ! [I: nat,Xs: list_nat,Y3: nat,Zs2: list_nat] :
      ( ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
       => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Y3 @ Zs2 ) ) @ I )
          = ( nth_nat @ Xs @ I ) ) )
      & ( ~ ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
       => ( ( ( I
              = ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Y3 @ Zs2 ) ) @ I )
              = Y3 ) )
          & ( ( I
             != ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ ( append_nat @ Xs @ ( cons_nat @ Y3 @ Zs2 ) ) @ I )
              = ( nth_nat @ Zs2 @ ( minus_minus_nat @ I @ ( suc @ ( size_size_list_nat @ Xs ) ) ) ) ) ) ) ) ) ).

% nth_append_Cons
thf(fact_1104_nth__append__take__drop__is__nth__conv,axiom,
    ! [I: nat,Xs: list_term_a_b,J: nat,Y3: term_a_b] :
      ( ( ord_less_eq_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( ord_less_eq_nat @ J @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( I != J )
         => ( ( nth_term_a_b @ ( append_term_a_b @ ( take_term_a_b @ J @ Xs ) @ ( cons_term_a_b @ Y3 @ ( drop_term_a_b @ ( suc @ J ) @ Xs ) ) ) @ I )
            = ( nth_term_a_b @ Xs @ I ) ) ) ) ) ).

% nth_append_take_drop_is_nth_conv
thf(fact_1105_nth__append__take__drop__is__nth__conv,axiom,
    ! [I: nat,Xs: list_nat,J: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat @ Xs ) )
       => ( ( I != J )
         => ( ( nth_nat @ ( append_nat @ ( take_nat @ J @ Xs ) @ ( cons_nat @ Y3 @ ( drop_nat @ ( suc @ J ) @ Xs ) ) ) @ I )
            = ( nth_nat @ Xs @ I ) ) ) ) ) ).

% nth_append_take_drop_is_nth_conv
thf(fact_1106_add__elem__list__listsE,axiom,
    ! [Ys: list_nat,X: nat,Xs: list_nat] :
      ( ( member_list_nat @ Ys @ ( set_list_nat2 @ ( basic_4874698711677410535ts_nat @ X @ Xs ) ) )
     => ? [N2: nat] :
          ( ( ord_less_eq_nat @ N2 @ ( size_size_list_nat @ Xs ) )
          & ( Ys
            = ( append_nat @ ( take_nat @ N2 @ Xs ) @ ( cons_nat @ X @ ( drop_nat @ N2 @ Xs ) ) ) ) ) ) ).

% add_elem_list_listsE
thf(fact_1107_replace__term__context__at_Opelims,axiom,
    ! [X: subterm_and_ctxt_a_b,Xa: list_nat,Xb: term_a_b,Y3: subterm_and_ctxt_a_b] :
      ( ( ( terms_4774307173741787698at_a_b @ X @ Xa @ Xb )
        = Y3 )
     => ( ( accp_P6624108184151110466rm_a_b @ terms_6690452295706263049el_a_b @ ( produc1096132875450744233rm_a_b @ X @ ( produc5151171985953862413rm_a_b @ Xa @ Xb ) ) )
       => ( ( ( X = subterm_and_Hole_a_b )
           => ( ( Y3 = subterm_and_Hole_a_b )
             => ~ ( accp_P6624108184151110466rm_a_b @ terms_6690452295706263049el_a_b @ ( produc1096132875450744233rm_a_b @ subterm_and_Hole_a_b @ ( produc5151171985953862413rm_a_b @ Xa @ Xb ) ) ) ) )
         => ( ! [F3: a,Ss2: list_term_a_b,C4: subterm_and_ctxt_a_b,Ts: list_term_a_b] :
                ( ( X
                  = ( subterm_and_More_a_b @ F3 @ Ss2 @ C4 @ Ts ) )
               => ! [I2: nat,Ps2: list_nat] :
                    ( ( Xa
                      = ( cons_nat @ I2 @ Ps2 ) )
                   => ( ( ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                         => ( Y3
                            = ( subterm_and_More_a_b @ F3 @ ( list_update_term_a_b @ Ss2 @ I2 @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ss2 @ I2 ) @ Ps2 @ Xb ) ) @ C4 @ Ts ) ) )
                        & ( ~ ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                         => ( ( ( I2
                                = ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                             => ( Y3
                                = ( subterm_and_More_a_b @ F3 @ Ss2 @ ( terms_4774307173741787698at_a_b @ C4 @ Ps2 @ Xb ) @ Ts ) ) )
                            & ( ( I2
                               != ( size_s8906293707977694520rm_a_b @ Ss2 ) )
                             => ( Y3
                                = ( subterm_and_More_a_b @ F3 @ Ss2 @ C4 @ ( list_update_term_a_b @ Ts @ ( minus_minus_nat @ I2 @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss2 ) ) ) @ ( term_r6860082780075436317at_a_b @ ( nth_term_a_b @ Ts @ ( minus_minus_nat @ I2 @ ( suc @ ( size_s8906293707977694520rm_a_b @ Ss2 ) ) ) ) @ Ps2 @ Xb ) ) ) ) ) ) ) )
                     => ~ ( accp_P6624108184151110466rm_a_b @ terms_6690452295706263049el_a_b @ ( produc1096132875450744233rm_a_b @ ( subterm_and_More_a_b @ F3 @ Ss2 @ C4 @ Ts ) @ ( produc5151171985953862413rm_a_b @ ( cons_nat @ I2 @ Ps2 ) @ Xb ) ) ) ) ) )
           => ~ ! [V: a,Va: list_term_a_b,Vb: subterm_and_ctxt_a_b,Vc: list_term_a_b] :
                  ( ( X
                    = ( subterm_and_More_a_b @ V @ Va @ Vb @ Vc ) )
                 => ( ( Xa = nil_nat )
                   => ( ( Y3 = undefi3573907640150307307xt_a_b )
                     => ~ ( accp_P6624108184151110466rm_a_b @ terms_6690452295706263049el_a_b @ ( produc1096132875450744233rm_a_b @ ( subterm_and_More_a_b @ V @ Va @ Vb @ Vc ) @ ( produc5151171985953862413rm_a_b @ nil_nat @ Xb ) ) ) ) ) ) ) ) ) ) ).

% replace_term_context_at.pelims
thf(fact_1108_min__def__raw,axiom,
    ( ord_min_nat
    = ( ^ [A6: nat,B6: nat] : ( if_nat @ ( ord_less_eq_nat @ A6 @ B6 ) @ A6 @ B6 ) ) ) ).

% min_def_raw
thf(fact_1109_take__hd__drop,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( append_nat @ ( take_nat @ N @ Xs ) @ ( cons_nat @ ( hd_nat @ ( drop_nat @ N @ Xs ) ) @ nil_nat ) )
        = ( take_nat @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_1110_hd__append2,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
        = ( hd_nat @ Xs ) ) ) ).

% hd_append2
thf(fact_1111_subset__code_I1_J,axiom,
    ! [Xs: list_list_nat,B7: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs ) @ B7 )
      = ( ! [X3: list_nat] :
            ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs ) )
           => ( member_list_nat @ X3 @ B7 ) ) ) ) ).

% subset_code(1)
thf(fact_1112_list_Osel_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( ( hd_nat @ ( cons_nat @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_1113_hd__concat,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
     => ( ( ( hd_list_nat @ Xs )
         != nil_nat )
       => ( ( hd_nat @ ( concat_nat @ Xs ) )
          = ( hd_nat @ ( hd_list_nat @ Xs ) ) ) ) ) ).

% hd_concat
thf(fact_1114_list_Oset__sel_I1_J,axiom,
    ! [A: list_list_nat] :
      ( ( A != nil_list_nat )
     => ( member_list_nat @ ( hd_list_nat @ A ) @ ( set_list_nat2 @ A ) ) ) ).

% list.set_sel(1)
thf(fact_1115_list_Oset__sel_I1_J,axiom,
    ! [A: list_nat] :
      ( ( A != nil_nat )
     => ( member_nat @ ( hd_nat @ A ) @ ( set_nat2 @ A ) ) ) ).

% list.set_sel(1)
thf(fact_1116_hd__in__set,axiom,
    ! [Xs: list_list_nat] :
      ( ( Xs != nil_list_nat )
     => ( member_list_nat @ ( hd_list_nat @ Xs ) @ ( set_list_nat2 @ Xs ) ) ) ).

% hd_in_set
thf(fact_1117_hd__in__set,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( member_nat @ ( hd_nat @ Xs ) @ ( set_nat2 @ Xs ) ) ) ).

% hd_in_set
thf(fact_1118_hd__append,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( Xs = nil_nat )
       => ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
          = ( hd_nat @ Ys ) ) )
      & ( ( Xs != nil_nat )
       => ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
          = ( hd_nat @ Xs ) ) ) ) ).

% hd_append
thf(fact_1119_longest__common__prefix,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
    ? [Ps2: list_nat,Xs5: list_nat,Ys6: list_nat] :
      ( ( Xs
        = ( append_nat @ Ps2 @ Xs5 ) )
      & ( Ys
        = ( append_nat @ Ps2 @ Ys6 ) )
      & ( ( Xs5 = nil_nat )
        | ( Ys6 = nil_nat )
        | ( ( hd_nat @ Xs5 )
         != ( hd_nat @ Ys6 ) ) ) ) ).

% longest_common_prefix
thf(fact_1120_set__subset__Cons,axiom,
    ! [Xs: list_nat,X: nat] : ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) ) ).

% set_subset_Cons
thf(fact_1121_hd__Nil__eq__last,axiom,
    ( ( hd_nat @ nil_nat )
    = ( last_nat @ nil_nat ) ) ).

% hd_Nil_eq_last
thf(fact_1122_set__update__subsetI,axiom,
    ! [Xs: list_list_nat,A2: set_list_nat,X: list_nat,I: nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs ) @ A2 )
     => ( ( member_list_nat @ X @ A2 )
       => ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ ( list_update_list_nat @ Xs @ I @ X ) ) @ A2 ) ) ) ).

% set_update_subsetI
thf(fact_1123_subset__set__code,axiom,
    ! [Xs: list_list_nat,Ys: list_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs ) @ ( set_list_nat2 @ Ys ) )
      = ( list_all_list_nat
        @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ ( set_list_nat2 @ Ys ) )
        @ Xs ) ) ).

% subset_set_code
thf(fact_1124_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ N @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( hd_term_a_b @ ( drop_term_a_b @ N @ Xs ) )
        = ( nth_term_a_b @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_1125_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_term_a_b,A2: set_term_a_b] :
      ( ( ord_le2705286416250468010rm_a_b @ ( set_term_a_b2 @ Xs ) @ A2 )
      = ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Xs ) )
           => ( member_term_a_b @ ( nth_term_a_b @ Xs @ I3 ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_1126_set__list__subset__eq__nth__conv,axiom,
    ! [Xs: list_list_nat,A2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs ) @ A2 )
      = ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3023201423986296836st_nat @ Xs ) )
           => ( member_list_nat @ ( nth_list_nat @ Xs @ I3 ) @ A2 ) ) ) ) ).

% set_list_subset_eq_nth_conv
thf(fact_1127_set__generate__lists,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( set_list_nat2 @ ( missin2047014633743487673ts_nat @ N @ Xs ) )
      = ( collect_list_nat
        @ ^ [As3: list_nat] :
            ( ( ( size_size_list_nat @ As3 )
              = N )
            & ( ord_less_eq_set_nat @ ( set_nat2 @ As3 ) @ ( set_nat2 @ Xs ) ) ) ) ) ).

% set_generate_lists
thf(fact_1128_arg__min__list_Oelims,axiom,
    ! [X: nat > nat,Xa: list_nat,Y3: nat] :
      ( ( ( arg_min_list_nat_nat @ X @ Xa )
        = Y3 )
     => ( ! [X2: nat] :
            ( ( Xa
              = ( cons_nat @ X2 @ nil_nat ) )
           => ( Y3 != X2 ) )
       => ( ! [X2: nat,Y: nat,Zs: list_nat] :
              ( ( Xa
                = ( cons_nat @ X2 @ ( cons_nat @ Y @ Zs ) ) )
             => ( Y3
               != ( if_nat @ ( ord_less_eq_nat @ ( X @ X2 ) @ ( X @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y @ Zs ) ) ) ) @ X2 @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y @ Zs ) ) ) ) )
         => ~ ( ( Xa = nil_nat )
             => ( Y3 != undefined_nat ) ) ) ) ) ).

% arg_min_list.elims
thf(fact_1129_remove__nth__sound__r,axiom,
    ! [N: nat,P: nat,Xs: list_term_a_b] :
      ( ( ord_less_eq_nat @ N @ P )
     => ( ( ord_less_nat @ P @ ( size_s8906293707977694520rm_a_b @ Xs ) )
       => ( ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ N @ Xs ) @ P )
          = ( nth_term_a_b @ Xs @ ( suc @ P ) ) ) ) ) ).

% remove_nth_sound_r
thf(fact_1130_pred__subset__eq,axiom,
    ! [R: set_list_nat,S3: set_list_nat] :
      ( ( ord_le1520216061033275535_nat_o
        @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ R )
        @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ S3 ) )
      = ( ord_le6045566169113846134st_nat @ R @ S3 ) ) ).

% pred_subset_eq
thf(fact_1131_subset__CollectI,axiom,
    ! [B7: set_list_nat,A2: set_list_nat,Q2: list_nat > $o,P3: list_nat > $o] :
      ( ( ord_le6045566169113846134st_nat @ B7 @ A2 )
     => ( ! [X2: list_nat] :
            ( ( member_list_nat @ X2 @ B7 )
           => ( ( Q2 @ X2 )
             => ( P3 @ X2 ) ) )
       => ( ord_le6045566169113846134st_nat
          @ ( collect_list_nat
            @ ^ [X3: list_nat] :
                ( ( member_list_nat @ X3 @ B7 )
                & ( Q2 @ X3 ) ) )
          @ ( collect_list_nat
            @ ^ [X3: list_nat] :
                ( ( member_list_nat @ X3 @ A2 )
                & ( P3 @ X3 ) ) ) ) ) ) ).

% subset_CollectI
thf(fact_1132_subset__Collect__iff,axiom,
    ! [B7: set_list_nat,A2: set_list_nat,P3: list_nat > $o] :
      ( ( ord_le6045566169113846134st_nat @ B7 @ A2 )
     => ( ( ord_le6045566169113846134st_nat @ B7
          @ ( collect_list_nat
            @ ^ [X3: list_nat] :
                ( ( member_list_nat @ X3 @ A2 )
                & ( P3 @ X3 ) ) ) )
        = ( ! [X3: list_nat] :
              ( ( member_list_nat @ X3 @ B7 )
             => ( P3 @ X3 ) ) ) ) ) ).

% subset_Collect_iff
thf(fact_1133_Collect__subset,axiom,
    ! [A2: set_list_nat,P3: list_nat > $o] :
      ( ord_le6045566169113846134st_nat
      @ ( collect_list_nat
        @ ^ [X3: list_nat] :
            ( ( member_list_nat @ X3 @ A2 )
            & ( P3 @ X3 ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_1134_less__eq__set__def,axiom,
    ( ord_le6045566169113846134st_nat
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
          ( ord_le1520216061033275535_nat_o
          @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ A5 )
          @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ B5 ) ) ) ) ).

% less_eq_set_def
thf(fact_1135_remove__nth__sound__l,axiom,
    ! [P: nat,N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ P @ N )
     => ( ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ N @ Xs ) @ P )
        = ( nth_term_a_b @ Xs @ P ) ) ) ).

% remove_nth_sound_l
thf(fact_1136_arg__min__list_Osimps_I2_J,axiom,
    ! [F: nat > nat,X: nat,Y3: nat,Zs2: list_nat] :
      ( ( arg_min_list_nat_nat @ F @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Zs2 ) ) )
      = ( if_nat @ ( ord_less_eq_nat @ ( F @ X ) @ ( F @ ( arg_min_list_nat_nat @ F @ ( cons_nat @ Y3 @ Zs2 ) ) ) ) @ X @ ( arg_min_list_nat_nat @ F @ ( cons_nat @ Y3 @ Zs2 ) ) ) ) ).

% arg_min_list.simps(2)
thf(fact_1137_remove__nth__P__compat,axiom,
    ! [As2: list_term_a_b,Bs2: list_term_a_b,P3: term_a_b > term_a_b > $o,P: nat] :
      ( ( ( size_s8906293707977694520rm_a_b @ As2 )
        = ( size_s8906293707977694520rm_a_b @ Bs2 ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8906293707977694520rm_a_b @ As2 ) )
           => ( P3 @ ( nth_term_a_b @ As2 @ I2 ) @ ( nth_term_a_b @ Bs2 @ I2 ) ) )
       => ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( size_s8906293707977694520rm_a_b @ ( missin7590947408886171483rm_a_b @ P @ As2 ) ) )
           => ( P3 @ ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ P @ As2 ) @ I4 ) @ ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ P @ Bs2 ) @ I4 ) ) ) ) ) ).

% remove_nth_P_compat
thf(fact_1138_nth__remove__nth__conv,axiom,
    ! [I: nat,N: nat,Xs: list_term_a_b] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ ( missin7590947408886171483rm_a_b @ N @ Xs ) ) )
     => ( ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ N @ Xs ) @ I )
        = ( nth_term_a_b @ Xs @ ( if_nat @ ( ord_less_nat @ I @ N ) @ I @ ( suc @ I ) ) ) ) ) ).

% nth_remove_nth_conv
thf(fact_1139_adjust__idx__rev__nth,axiom,
    ! [I: nat,Xs: list_term_a_b,J: nat] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( J != I )
       => ( ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ I @ Xs ) @ ( missin3815256168798769645dx_rev @ I @ J ) )
          = ( nth_term_a_b @ Xs @ J ) ) ) ) ).

% adjust_idx_rev_nth
thf(fact_1140_arg__min__list_Opelims,axiom,
    ! [X: nat > nat,Xa: list_nat,Y3: nat] :
      ( ( ( arg_min_list_nat_nat @ X @ Xa )
        = Y3 )
     => ( ( accp_P2209509614919350025st_nat @ arg_mi1980697302924206711at_nat @ ( produc8711139202005206712st_nat @ X @ Xa ) )
       => ( ! [X2: nat] :
              ( ( Xa
                = ( cons_nat @ X2 @ nil_nat ) )
             => ( ( Y3 = X2 )
               => ~ ( accp_P2209509614919350025st_nat @ arg_mi1980697302924206711at_nat @ ( produc8711139202005206712st_nat @ X @ ( cons_nat @ X2 @ nil_nat ) ) ) ) )
         => ( ! [X2: nat,Y: nat,Zs: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X2 @ ( cons_nat @ Y @ Zs ) ) )
               => ( ( Y3
                    = ( if_nat @ ( ord_less_eq_nat @ ( X @ X2 ) @ ( X @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y @ Zs ) ) ) ) @ X2 @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y @ Zs ) ) ) )
                 => ~ ( accp_P2209509614919350025st_nat @ arg_mi1980697302924206711at_nat @ ( produc8711139202005206712st_nat @ X @ ( cons_nat @ X2 @ ( cons_nat @ Y @ Zs ) ) ) ) ) )
           => ~ ( ( Xa = nil_nat )
               => ( ( Y3 = undefined_nat )
                 => ~ ( accp_P2209509614919350025st_nat @ arg_mi1980697302924206711at_nat @ ( produc8711139202005206712st_nat @ X @ nil_nat ) ) ) ) ) ) ) ) ).

% arg_min_list.pelims
thf(fact_1141_list__inter_Opelims,axiom,
    ! [X: list_list_nat,Xa: list_list_nat,Y3: list_list_nat] :
      ( ( ( missin6532874241183986279st_nat @ X @ Xa )
        = Y3 )
     => ( ( accp_P5780766562878364362st_nat @ missin517122817877786516st_nat @ ( produc7129799990162260089st_nat @ X @ Xa ) )
       => ( ( ( X = nil_list_nat )
           => ( ( Y3 = nil_list_nat )
             => ~ ( accp_P5780766562878364362st_nat @ missin517122817877786516st_nat @ ( produc7129799990162260089st_nat @ nil_list_nat @ Xa ) ) ) )
         => ~ ! [A3: list_nat,As: list_list_nat] :
                ( ( X
                  = ( cons_list_nat @ A3 @ As ) )
               => ( ( ( ( member_list_nat @ A3 @ ( set_list_nat2 @ Xa ) )
                     => ( Y3
                        = ( cons_list_nat @ A3 @ ( missin6532874241183986279st_nat @ As @ Xa ) ) ) )
                    & ( ~ ( member_list_nat @ A3 @ ( set_list_nat2 @ Xa ) )
                     => ( Y3
                        = ( missin6532874241183986279st_nat @ As @ Xa ) ) ) )
                 => ~ ( accp_P5780766562878364362st_nat @ missin517122817877786516st_nat @ ( produc7129799990162260089st_nat @ ( cons_list_nat @ A3 @ As ) @ Xa ) ) ) ) ) ) ) ).

% list_inter.pelims
thf(fact_1142_list__inter_Opelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y3: list_nat] :
      ( ( ( missin6377695591745783511er_nat @ X @ Xa )
        = Y3 )
     => ( ( accp_P8037286306265792042st_nat @ missin8053613324461657732el_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( X = nil_nat )
           => ( ( Y3 = nil_nat )
             => ~ ( accp_P8037286306265792042st_nat @ missin8053613324461657732el_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xa ) ) ) )
         => ~ ! [A3: nat,As: list_nat] :
                ( ( X
                  = ( cons_nat @ A3 @ As ) )
               => ( ( ( ( member_nat @ A3 @ ( set_nat2 @ Xa ) )
                     => ( Y3
                        = ( cons_nat @ A3 @ ( missin6377695591745783511er_nat @ As @ Xa ) ) ) )
                    & ( ~ ( member_nat @ A3 @ ( set_nat2 @ Xa ) )
                     => ( Y3
                        = ( missin6377695591745783511er_nat @ As @ Xa ) ) ) )
                 => ~ ( accp_P8037286306265792042st_nat @ missin8053613324461657732el_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ A3 @ As ) @ Xa ) ) ) ) ) ) ) ).

% list_inter.pelims
thf(fact_1143_adjust__idx__nth,axiom,
    ! [I: nat,Xs: list_term_a_b,J: nat] :
      ( ( ord_less_nat @ I @ ( size_s8906293707977694520rm_a_b @ Xs ) )
     => ( ( nth_term_a_b @ ( missin7590947408886171483rm_a_b @ I @ Xs ) @ J )
        = ( nth_term_a_b @ Xs @ ( missing_adjust_idx @ I @ J ) ) ) ) ).

% adjust_idx_nth
thf(fact_1144_adjust__idx__i,axiom,
    ! [I: nat,J: nat] :
      ( ( missing_adjust_idx @ I @ J )
     != I ) ).

% adjust_idx_i
thf(fact_1145_adjust__idx__rev1,axiom,
    ! [I: nat,J: nat] :
      ( ( missin3815256168798769645dx_rev @ I @ ( missing_adjust_idx @ I @ J ) )
      = J ) ).

% adjust_idx_rev1
thf(fact_1146_adjust__idx__rev2,axiom,
    ! [J: nat,I: nat] :
      ( ( J != I )
     => ( ( missing_adjust_idx @ I @ ( missin3815256168798769645dx_rev @ I @ J ) )
        = J ) ) ).

% adjust_idx_rev2
thf(fact_1147_adjust__idx__def,axiom,
    ( missing_adjust_idx
    = ( ^ [I3: nat,J2: nat] : ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) ) ).

% adjust_idx_def
thf(fact_1148_splice_Opinduct,axiom,
    ! [A0: list_nat,A12: list_nat,P3: list_nat > list_nat > $o] :
      ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ A0 @ A12 ) )
     => ( ! [Ys2: list_nat] :
            ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
           => ( P3 @ nil_nat @ Ys2 ) )
       => ( ! [X2: nat,Xs2: list_nat,Ys2: list_nat] :
              ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ Ys2 ) )
             => ( ( P3 @ Ys2 @ Xs2 )
               => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ Ys2 ) ) )
         => ( P3 @ A0 @ A12 ) ) ) ) ).

% splice.pinduct
thf(fact_1149_set__n__lists,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( set_list_nat2 @ ( n_lists_nat @ N @ Xs ) )
      = ( collect_list_nat
        @ ^ [Ys3: list_nat] :
            ( ( ( size_size_list_nat @ Ys3 )
              = N )
            & ( ord_less_eq_set_nat @ ( set_nat2 @ Ys3 ) @ ( set_nat2 @ Xs ) ) ) ) ) ).

% set_n_lists
thf(fact_1150_length__n__lists__elem,axiom,
    ! [Ys: list_nat,N: nat,Xs: list_nat] :
      ( ( member_list_nat @ Ys @ ( set_list_nat2 @ ( n_lists_nat @ N @ Xs ) ) )
     => ( ( size_size_list_nat @ Ys )
        = N ) ) ).

% length_n_lists_elem
thf(fact_1151_splice_Opelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y3: list_nat] :
      ( ( ( splice_nat @ X @ Xa )
        = Y3 )
     => ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( X = nil_nat )
           => ( ( Y3 = Xa )
             => ~ ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xa ) ) ) )
         => ~ ! [X2: nat,Xs2: list_nat] :
                ( ( X
                  = ( cons_nat @ X2 @ Xs2 ) )
               => ( ( Y3
                    = ( cons_nat @ X2 @ ( splice_nat @ Xa @ Xs2 ) ) )
                 => ~ ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ Xa ) ) ) ) ) ) ) ).

% splice.pelims
thf(fact_1152_shuffles_Opinduct,axiom,
    ! [A0: list_nat,A12: list_nat,P3: list_nat > list_nat > $o] :
      ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ A0 @ A12 ) )
     => ( ! [Ys2: list_nat] :
            ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
           => ( P3 @ nil_nat @ Ys2 ) )
       => ( ! [Xs2: list_nat] :
              ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ Xs2 @ nil_nat ) )
             => ( P3 @ Xs2 @ nil_nat ) )
         => ( ! [X2: nat,Xs2: list_nat,Y: nat,Ys2: list_nat] :
                ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) )
               => ( ( P3 @ Xs2 @ ( cons_nat @ Y @ Ys2 ) )
                 => ( ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ Ys2 )
                   => ( P3 @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y @ Ys2 ) ) ) ) )
           => ( P3 @ A0 @ A12 ) ) ) ) ) ).

% shuffles.pinduct
thf(fact_1153_splice__Nil2,axiom,
    ! [Xs: list_nat] :
      ( ( splice_nat @ Xs @ nil_nat )
      = Xs ) ).

% splice_Nil2
thf(fact_1154_split__Nil__iff,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( splice_nat @ Xs @ Ys )
        = nil_nat )
      = ( ( Xs = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% split_Nil_iff
thf(fact_1155_splice_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( splice_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( cons_nat @ X @ ( splice_nat @ Ys @ Xs ) ) ) ).

% splice.simps(2)
thf(fact_1156_splice_Osimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( splice_nat @ nil_nat @ Ys )
      = Ys ) ).

% splice.simps(1)
thf(fact_1157_splice_Oelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y3: list_nat] :
      ( ( ( splice_nat @ X @ Xa )
        = Y3 )
     => ( ( ( X = nil_nat )
         => ( Y3 != Xa ) )
       => ~ ! [X2: nat,Xs2: list_nat] :
              ( ( X
                = ( cons_nat @ X2 @ Xs2 ) )
             => ( Y3
               != ( cons_nat @ X2 @ ( splice_nat @ Xa @ Xs2 ) ) ) ) ) ) ).

% splice.elims
thf(fact_1158_splice_Opsimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ Ys ) )
     => ( ( splice_nat @ ( cons_nat @ X @ Xs ) @ Ys )
        = ( cons_nat @ X @ ( splice_nat @ Ys @ Xs ) ) ) ) ).

% splice.psimps(2)
thf(fact_1159_splice_Opsimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys ) )
     => ( ( splice_nat @ nil_nat @ Ys )
        = Ys ) ) ).

% splice.psimps(1)
thf(fact_1160_rtrancl__list__conv,axiom,
    ! [S: term_a_b,T2: term_a_b,R: set_Pr4386577575007340137rm_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ S @ T2 ) @ ( transi7742714808557438673rm_a_b @ R ) )
      = ( ? [Ts3: list_term_a_b] :
            ( ( ( last_term_a_b @ ( cons_term_a_b @ S @ Ts3 ) )
              = T2 )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ ( size_s8906293707977694520rm_a_b @ Ts3 ) )
               => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( nth_term_a_b @ ( cons_term_a_b @ S @ Ts3 ) @ I3 ) @ ( nth_term_a_b @ ( cons_term_a_b @ S @ Ts3 ) @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% rtrancl_list_conv
thf(fact_1161_rtrancl__list__conv,axiom,
    ! [S: nat,T2: nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ S @ T2 ) @ ( transi2905341329935302413cl_nat @ R ) )
      = ( ? [Ts3: list_nat] :
            ( ( ( last_nat @ ( cons_nat @ S @ Ts3 ) )
              = T2 )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ts3 ) )
               => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ ( cons_nat @ S @ Ts3 ) @ I3 ) @ ( nth_nat @ ( cons_nat @ S @ Ts3 ) @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% rtrancl_list_conv
thf(fact_1162_subt__at__subterm__eq,axiom,
    ! [P: list_nat,T2: term_a_b] :
      ( ( member_list_nat @ P @ ( term_poss_a_b @ T2 ) )
     => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ T2 @ ( term_subt_at_a_b @ T2 @ P ) ) @ subter523971068842742411eq_a_b ) ) ).

% subt_at_subterm_eq
thf(fact_1163_rtrancl__listrel1__ConsI2,axiom,
    ! [X: nat,Y3: nat,R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ ( transi2905341329935302413cl_nat @ R2 ) )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( transi5285580207609517981st_nat @ ( listrel1_nat @ R2 ) ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y3 @ Ys ) ) @ ( transi5285580207609517981st_nat @ ( listrel1_nat @ R2 ) ) ) ) ) ).

% rtrancl_listrel1_ConsI2
thf(fact_1164_rtrancl__listrel1__ConsI1,axiom,
    ! [Xs: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat,X: nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( transi5285580207609517981st_nat @ ( listrel1_nat @ R2 ) ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ X @ Ys ) ) @ ( transi5285580207609517981st_nat @ ( listrel1_nat @ R2 ) ) ) ) ).

% rtrancl_listrel1_ConsI1
thf(fact_1165_supteq_Osubt,axiom,
    ! [U2: term_a_b,Ss: list_term_a_b,T2: term_a_b,F: a] :
      ( ( member_term_a_b @ U2 @ ( set_term_a_b2 @ Ss ) )
     => ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ U2 @ T2 ) @ subter523971068842742411eq_a_b )
       => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ Ss ) @ T2 ) @ subter523971068842742411eq_a_b ) ) ) ).

% supteq.subt
thf(fact_1166_supteq_Ocases,axiom,
    ! [A12: term_a_b,A23: term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A12 @ A23 ) @ subter523971068842742411eq_a_b )
     => ( ( A23 != A12 )
       => ~ ! [U3: term_a_b,Ss2: list_term_a_b] :
              ( ? [F3: a] :
                  ( A12
                  = ( fun_a_b @ F3 @ Ss2 ) )
             => ( ( member_term_a_b @ U3 @ ( set_term_a_b2 @ Ss2 ) )
               => ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ U3 @ A23 ) @ subter523971068842742411eq_a_b ) ) ) ) ) ).

% supteq.cases
thf(fact_1167_supteq_Osimps,axiom,
    ! [A12: term_a_b,A23: term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ A12 @ A23 ) @ subter523971068842742411eq_a_b )
      = ( ? [T: term_a_b] :
            ( ( A12 = T )
            & ( A23 = T ) )
        | ? [U: term_a_b,Ss3: list_term_a_b,T: term_a_b,F5: a] :
            ( ( A12
              = ( fun_a_b @ F5 @ Ss3 ) )
            & ( A23 = T )
            & ( member_term_a_b @ U @ ( set_term_a_b2 @ Ss3 ) )
            & ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ U @ T ) @ subter523971068842742411eq_a_b ) ) ) ) ).

% supteq.simps
thf(fact_1168_Fun__supt,axiom,
    ! [F: a,Ts2: list_term_a_b,S: term_a_b] :
      ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ Ts2 ) @ S ) @ subterm_and_supt_a_b )
     => ~ ! [T3: term_a_b] :
            ( ( member_term_a_b @ T3 @ ( set_term_a_b2 @ Ts2 ) )
           => ~ ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ T3 @ S ) @ subter523971068842742411eq_a_b ) ) ) ).

% Fun_supt
thf(fact_1169_set__supteq__into__supt,axiom,
    ! [T2: term_a_b,Ts2: list_term_a_b,S: term_a_b,F: a] :
      ( ( member_term_a_b @ T2 @ ( set_term_a_b2 @ Ts2 ) )
     => ( ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ T2 @ S ) @ subter523971068842742411eq_a_b )
       => ( member5869715511025134514rm_a_b @ ( produc7020197800436672577rm_a_b @ ( fun_a_b @ F @ Ts2 ) @ S ) @ subterm_and_supt_a_b ) ) ) ).

% set_supteq_into_supt
thf(fact_1170_ord_OatMost__def,axiom,
    ( set_atMost_list_nat
    = ( ^ [Less_eq: list_nat > list_nat > $o,U: list_nat] :
          ( collect_list_nat
          @ ^ [X3: list_nat] : ( Less_eq @ X3 @ U ) ) ) ) ).

% ord.atMost_def
thf(fact_1171_ord_OatLeast__def,axiom,
    ( set_atLeast_list_nat
    = ( ^ [Less_eq: list_nat > list_nat > $o,L: list_nat] : ( collect_list_nat @ ( Less_eq @ L ) ) ) ) ).

% ord.atLeast_def
thf(fact_1172_less__set__def,axiom,
    ( ord_le1190675801316882794st_nat
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
          ( ord_less_list_nat_o
          @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ A5 )
          @ ^ [X3: list_nat] : ( member_list_nat @ X3 @ B5 ) ) ) ) ).

% less_set_def
thf(fact_1173_nth__drop__0,axiom,
    ! [Ss: list_term_a_b] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s8906293707977694520rm_a_b @ Ss ) )
     => ( ( cons_term_a_b @ ( nth_term_a_b @ Ss @ zero_zero_nat ) @ ( drop_term_a_b @ ( suc @ zero_zero_nat ) @ Ss ) )
        = Ss ) ) ).

% nth_drop_0
thf(fact_1174_nth__drop__0,axiom,
    ! [Ss: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Ss ) )
     => ( ( cons_nat @ ( nth_nat @ Ss @ zero_zero_nat ) @ ( drop_nat @ ( suc @ zero_zero_nat ) @ Ss ) )
        = Ss ) ) ).

% nth_drop_0
thf(fact_1175_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_1176_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_1177_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_1178_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_1179_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1180_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

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

% diff_0_eq_0
thf(fact_1182_min__0L,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% min_0L
thf(fact_1183_min__0R,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ N @ zero_zero_nat )
      = zero_zero_nat ) ).

% min_0R
thf(fact_1184_Least__eq__0,axiom,
    ! [P3: nat > $o] :
      ( ( P3 @ zero_zero_nat )
     => ( ( ord_Least_nat @ P3 )
        = zero_zero_nat ) ) ).

% Least_eq_0
thf(fact_1185_set__empty,axiom,
    ! [Xs: list_nat] :
      ( ( ( set_nat2 @ Xs )
        = bot_bot_set_nat )
      = ( Xs = nil_nat ) ) ).

% set_empty
thf(fact_1186_set__empty2,axiom,
    ! [Xs: list_nat] :
      ( ( bot_bot_set_nat
        = ( set_nat2 @ Xs ) )
      = ( Xs = nil_nat ) ) ).

% set_empty2
thf(fact_1187_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1188_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1189_length__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_nat ) ) ).

% length_0_conv
thf(fact_1190_nth__Cons__0,axiom,
    ! [X: term_a_b,Xs: list_term_a_b] :
      ( ( nth_term_a_b @ ( cons_term_a_b @ X @ Xs ) @ zero_zero_nat )
      = X ) ).

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

% nth_Cons_0
thf(fact_1192_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M ) )
      = ( ord_less_nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_1193_diff__is__0__eq_H,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_1194_diff__is__0__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% diff_is_0_eq
thf(fact_1195_take__eq__Nil2,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( nil_nat
        = ( take_nat @ N @ Xs ) )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_nat ) ) ) ).

% take_eq_Nil2
thf(fact_1196_take__eq__Nil,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ( take_nat @ N @ Xs )
        = nil_nat )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_nat ) ) ) ).

% take_eq_Nil
thf(fact_1197_take0,axiom,
    ( ( take_nat @ zero_zero_nat )
    = ( ^ [Xs4: list_nat] : nil_nat ) ) ).

% take0
thf(fact_1198_length__greater__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Xs ) )
      = ( Xs != nil_nat ) ) ).

% length_greater_0_conv
thf(fact_1199_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_1200_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_lists_nat @ N @ nil_nat )
          = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_lists_nat @ N @ nil_nat )
          = nil_list_nat ) ) ) ).

% n_lists_Nil
thf(fact_1201_ex__least__nat__le,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ N )
     => ( ~ ( P3 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P3 @ I4 ) )
            & ( P3 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1202_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_1203_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_1204_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_1205_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_1206_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_1207_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_1208_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_1209_infinite__descent0,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ~ ( P3 @ N2 )
             => ? [M2: nat] :
                  ( ( ord_less_nat @ M2 @ N2 )
                  & ~ ( P3 @ M2 ) ) ) )
       => ( P3 @ N ) ) ) ).

% infinite_descent0
thf(fact_1210_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J2: nat] :
            ( ( M
              = ( suc @ J2 ) )
            & ( ord_less_nat @ J2 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1211_all__less__two,axiom,
    ! [P3: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ ( suc @ zero_zero_nat ) ) )
           => ( P3 @ I3 ) ) )
      = ( ( P3 @ zero_zero_nat )
        & ( P3 @ ( suc @ zero_zero_nat ) ) ) ) ).

% all_less_two
thf(fact_1212_all__Suc__conv,axiom,
    ! [N: nat,P3: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P3 @ I3 ) ) )
      = ( ( P3 @ zero_zero_nat )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P3 @ ( suc @ I3 ) ) ) ) ) ).

% all_Suc_conv
thf(fact_1213_ex__Suc__conv,axiom,
    ! [N: nat,P3: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P3 @ I3 ) ) )
      = ( ( P3 @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P3 @ ( suc @ I3 ) ) ) ) ) ).

% ex_Suc_conv
thf(fact_1214_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M6: nat] :
          ( N
          = ( suc @ M6 ) ) ) ).

% gr0_implies_Suc
thf(fact_1215_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M3: nat] :
            ( N
            = ( suc @ M3 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1216_Least__Suc,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ N )
     => ( ~ ( P3 @ zero_zero_nat )
       => ( ( ord_Least_nat @ P3 )
          = ( suc
            @ ( ord_Least_nat
              @ ^ [M3: nat] : ( P3 @ ( suc @ M3 ) ) ) ) ) ) ) ).

% Least_Suc
thf(fact_1217_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_1218_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_1219_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_1220_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_1221_min__Suc2,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_min_nat @ M @ ( suc @ N ) )
      = ( case_nat_nat @ zero_zero_nat
        @ ^ [M4: nat] : ( suc @ ( ord_min_nat @ M4 @ N ) )
        @ M ) ) ).

% min_Suc2
thf(fact_1222_min__Suc1,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_min_nat @ ( suc @ N ) @ M )
      = ( case_nat_nat @ zero_zero_nat
        @ ^ [M4: nat] : ( suc @ ( ord_min_nat @ N @ M4 ) )
        @ M ) ) ).

% min_Suc1
thf(fact_1223_list_Osize__gen_I1_J,axiom,
    ! [X: nat > nat] :
      ( ( size_list_nat @ X @ nil_nat )
      = zero_zero_nat ) ).

% list.size_gen(1)
thf(fact_1224_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_1225_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_1226_old_Onat_Osimps_I4_J,axiom,
    ! [F1: $o,F2: nat > $o] :
      ( ( case_nat_o @ F1 @ F2 @ zero_zero_nat )
      = F1 ) ).

% old.nat.simps(4)
thf(fact_1227_old_Onat_Osimps_I4_J,axiom,
    ! [F1: nat,F2: nat > nat] :
      ( ( case_nat_nat @ F1 @ F2 @ zero_zero_nat )
      = F1 ) ).

% old.nat.simps(4)
thf(fact_1228_empty__def,axiom,
    ( bot_bot_set_list_nat
    = ( collect_list_nat
      @ ^ [X3: list_nat] : $false ) ) ).

% empty_def
thf(fact_1229_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M6: nat] :
          ( N
          = ( suc @ M6 ) ) ) ).

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

% Zero_not_Suc
thf(fact_1231_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

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

% Suc_neq_Zero
thf(fact_1233_zero__induct,axiom,
    ! [P3: nat > $o,K2: nat] :
      ( ( P3 @ K2 )
     => ( ! [N2: nat] :
            ( ( P3 @ ( suc @ N2 ) )
           => ( P3 @ N2 ) )
       => ( P3 @ zero_zero_nat ) ) ) ).

% zero_induct

% Helper facts (21)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_I_Eo_J_T,axiom,
    ! [X: list_o,Y3: list_o] :
      ( ( if_list_o @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_I_Eo_J_T,axiom,
    ! [X: list_o,Y3: list_o] :
      ( ( if_list_o @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( if_list_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( if_list_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__Term__Oterm_Itf__a_Mtf__b_J_T,axiom,
    ! [X: term_a_b,Y3: term_a_b] :
      ( ( if_term_a_b @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Term__Oterm_Itf__a_Mtf__b_J_T,axiom,
    ! [X: term_a_b,Y3: term_a_b] :
      ( ( if_term_a_b @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_list_nat,Y3: list_list_nat] :
      ( ( if_list_list_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_list_nat,Y3: list_list_nat] :
      ( ( if_list_list_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_T,axiom,
    ! [X: list_term_a_b,Y3: list_term_a_b] :
      ( ( if_list_term_a_b @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_T,axiom,
    ! [X: list_term_a_b,Y3: list_term_a_b] :
      ( ( if_list_term_a_b @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_T,axiom,
    ! [X: list_list_list_nat,Y3: list_list_list_nat] :
      ( ( if_lis2071795941963001914st_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J_T,axiom,
    ! [X: list_list_list_nat,Y3: list_list_list_nat] :
      ( ( if_lis2071795941963001914st_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_T,axiom,
    ! [X: list_list_term_a_b,Y3: list_list_term_a_b] :
      ( ( if_lis5923598633501174638rm_a_b @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__List__Olist_It__Term__Oterm_Itf__a_Mtf__b_J_J_J_T,axiom,
    ! [X: list_list_term_a_b,Y3: list_list_term_a_b] :
      ( ( if_lis5923598633501174638rm_a_b @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_T,axiom,
    ! [X: list_P6011104703257516679at_nat,Y3: list_P6011104703257516679at_nat] :
      ( ( if_lis9186351972506106189at_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_T,axiom,
    ! [X: list_P6011104703257516679at_nat,Y3: list_P6011104703257516679at_nat] :
      ( ( if_lis9186351972506106189at_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_3_1_If_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J_T,axiom,
    ! [P3: $o] :
      ( ( P3 = $true )
      | ( P3 = $false ) ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J_T,axiom,
    ! [X: list_P7940050157051400743st_nat,Y3: list_P7940050157051400743st_nat] :
      ( ( if_lis5496265267951696621st_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J_T,axiom,
    ! [X: list_P7940050157051400743st_nat,Y3: list_P7940050157051400743st_nat] :
      ( ( if_lis5496265267951696621st_nat @ $true @ X @ Y3 )
      = X ) ).

% Conjectures (2)
thf(conj_0,hypothesis,
    ( member_list_nat @ ( cons_nat @ i @ p )
    @ ( collect_list_nat
      @ ^ [P2: list_nat] :
          ( ( member_list_nat @ P2 @ ( term_poss_a_b @ ( fun_a_b @ f @ ts ) ) )
          & ( ( term_subt_at_a_b @ ( fun_a_b @ f @ ts ) @ P2 )
            = u ) ) ) ) ).

thf(conj_1,conjecture,
    ( member_list_nat @ p
    @ ( collect_list_nat
      @ ^ [P2: list_nat] :
          ( ( member_list_nat @ P2 @ ( term_poss_a_b @ ( nth_term_a_b @ ts @ i ) ) )
          & ( ( term_subt_at_a_b @ ( nth_term_a_b @ ts @ i ) @ P2 )
            = u ) ) ) ) ).

%------------------------------------------------------------------------------