TPTP Problem File: SLH0778^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    : Commuting_Hermitian/0002_Commuting_Hermitian/prob_02350_092294__19608794_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1708 ( 512 unt; 590 typ;   0 def)
%            Number of atoms       : 3560 (2087 equ;   0 cnn)
%            Maximal formula atoms :   16 (   3 avg)
%            Number of connectives : 15128 ( 636   ~;  69   |; 438   &;12091   @)
%                                         (   0 <=>;1894  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   8 avg)
%            Number of types       :  138 ( 137 usr)
%            Number of type conns  : 1511 (1511   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  456 ( 453 usr;  27 con; 0-4 aty)
%            Number of variables   : 4466 (  75   ^;4211   !; 180   ?;4466   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 11:38:14.934
%------------------------------------------------------------------------------
% Could-be-implicit typings (137)
thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J_J,type,
    produc9196059672877504659_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    produc2711416244134325689_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    produc3550984987210111267_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc6567431002494476649at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    produc5940573288377537585_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc4333371480430061415_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc2010466623599774393at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc7961450532452802391_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc8543129456671422643at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc4882703335080313441_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc4538552595820684547at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc6434416326727837959_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc6832840921903196947_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc7025357762891698649at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc5017405237813737357_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J_J_J,type,
    produc1634985270395358183omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    set_Pr8267195548715876269_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc8428651189727055417_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_Eo_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc2366258654402830848at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc4429196758655930573_mat_a: $tType ).

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

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    set_Pr5454409088517330637at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc282401647563135677_mat_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    list_P2872167576551266355_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    set_Pr4108788433434999053_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc5059709288356223597at_nat: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc4216251508294696237_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    set_Pr3625825893052619421_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc2433958579890478333_mat_a: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    produc5677646155008957607omplex: $tType ).

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

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    list_P811921619475610355at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr711557420992995021at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc1972915668301491431_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc7489448085829838189at_nat: $tType ).

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

thf(ty_n_t__Finite____Cartesian____Product__Ovec_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Numeral____Type__Obit0_It__Numeral____Type__Onum1_J_J,type,
    finite7603112927163603084l_num1: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc1859714607405874935_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc6091557110873019175_mat_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    list_P798859136818506497_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    set_Pr1606082691126482087_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr4562967203051931084st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr657288541525933138at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_Mt__List__Olist_It__Complex__Ocomplex_J_J_J,type,
    set_Pr1453568492363791696omplex: $tType ).

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

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

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc5452184871688341745_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc2502030831926852758st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc3725359950925338140at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Matrix__Omat_Itf__a_J_J_J_J,type,
    set_Pr5766339727278847767_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    produc4110691212204908570omplex: $tType ).

thf(ty_n_t__Finite____Cartesian____Product__Ovec_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Numeral____Type__Onum1_J,type,
    finite8617296246402585001l_num1: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Complex__Ocomplex_J_J_J,type,
    set_Pr135664057150635453omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc785513886364253500st_nat: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Nat__Onat_J,type,
    produc4008378413191047942at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Complex__Ocomplex_J_J_J,type,
    set_Pr5243261299472207839omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr2740109093433350623st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    produc3237720520546573239_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J_J,type,
    set_Pr2539167527615954998at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr7717912310451564380at_nat: $tType ).

thf(ty_n_t__Finite____Cartesian____Product__Ovec_It__Nat__Onat_Mt__Numeral____Type__Obit0_It__Numeral____Type__Onum1_J_J,type,
    finite1289000397740218697l_num1: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    produc352478934956084711omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Complex__Ocomplex_J_J_J,type,
    set_Pr2691958798857426599omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr2349392932037393521list_a: $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__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr3451248702717554689st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    produc1631295542841207645omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J_J,type,
    set_Pr5002820060132011706omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr5046312416420021961st_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr7423161166939974351list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    produc1996695187396412543omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc3562651236538076799st_nat: $tType ).

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

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

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    list_P5411175341357971485_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    set_Pr3154870478303372279_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr4048851178543822343list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    produc2682180258218231665omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_Itf__a_J_J,type,
    produc8552565427246150203list_a: $tType ).

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

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

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    produc4154176953909257092omplex: $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__Set__Oset_It__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J_J,type,
    set_Pr5085853215250843933omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc432399132543013523st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_Itf__a_J_J,type,
    produc1513410750981052825list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    produc3259542890344722124omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Nat__Onat_J,type,
    produc4941145339993070502ex_nat: $tType ).

thf(ty_n_t__Finite____Cartesian____Product__Ovec_It__Nat__Onat_Mt__Numeral____Type__Onum1_J,type,
    finite2525469894391432876l_num1: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J_J,type,
    set_Pr6653648255441992511omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J_J,type,
    set_Pr4744753334818466879ex_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc5370362606830271383_mat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    produc9164743771328383783list_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    set_list_mat_complex: $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__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_Itf__a_Mt__Complex__Ocomplex_J_J,type,
    set_Pr6004713250341684625omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Complex__Ocomplex_Mtf__a_J_J,type,
    set_Pr470261033714844795plex_a: $tType ).

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

thf(ty_n_t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J,type,
    produc4411394909380815293omplex: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    list_P3592885314253461005_a_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    list_P2851791750731487283_nat_a: $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__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    set_Pr4193341848836149977_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J,type,
    produc4863162743050822367omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J,type,
    produc1799700322190218207ex_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    list_P1396940483166286381od_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    set_list_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    set_Product_prod_a_a: $tType ).

thf(ty_n_t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    list_mat_complex: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Complex__Ocomplex_J,type,
    produc590396072828438619omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Complex__Ocomplex_Mtf__a_J,type,
    produc8183908617281231941plex_a: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    set_mat_complex: $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_Itf__a_Mt__Nat__Onat_J,type,
    product_prod_a_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    product_prod_nat_a: $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__List__Olist_It__Nat__Onat_J_J,type,
    set_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    list_mat_a: $tType ).

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

thf(ty_n_t__List__Olist_It__List__Olist_Itf__a_J_J,type,
    list_list_a: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    set_mat_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_Itf__a_J_J,type,
    set_list_a: $tType ).

thf(ty_n_t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    mat_complex: $tType ).

thf(ty_n_t__List__Olist_It__Complex__Ocomplex_J,type,
    list_complex: $tType ).

thf(ty_n_t__Matrix__Omat_It__Nat__Onat_J,type,
    mat_nat: $tType ).

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

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

thf(ty_n_t__Matrix__Omat_Itf__a_J,type,
    mat_a: $tType ).

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

thf(ty_n_t__Set__Oset_Itf__a_J,type,
    set_a: $tType ).

thf(ty_n_t__Complex__Ocomplex,type,
    complex: $tType ).

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

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

% Explicit typings (453)
thf(sy_c_AList_Odelete__aux_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    delete4814563225788993502_mat_a: mat_a > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Odelete__aux_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    delete5185476970202258900_mat_a: mat_a > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Odelete__aux_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    delete4526618526122188148_mat_a: mat_a > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

thf(sy_c_AList_Odelete__aux_001t__Nat__Onat_001t__Nat__Onat,type,
    delete_aux_nat_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Odelete__aux_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    delete8828680699484146924at_nat: product_prod_nat_nat > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_AList_Odelete__aux__rel_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    delete9034056882179255435_mat_a: produc1859714607405874935_mat_a > produc1859714607405874935_mat_a > $o ).

thf(sy_c_AList_Odelete__aux__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    delete4387419193805421543_mat_a: produc282401647563135677_mat_a > produc282401647563135677_mat_a > $o ).

thf(sy_c_AList_Odelete__aux__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    delete8169021513829799073_mat_a: produc5017405237813737357_mat_a > produc5017405237813737357_mat_a > $o ).

thf(sy_c_AList_Odelete__aux__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    delete1397635992828230261at_nat: produc8472197452120411308at_nat > produc8472197452120411308at_nat > $o ).

thf(sy_c_AList_Odelete__aux__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    delete3740974800821773721at_nat: produc7025357762891698649at_nat > produc7025357762891698649at_nat > $o ).

thf(sy_c_AList_Omap__default_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    map_de1790062285897181712_mat_a: mat_a > mat_a > ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Omap__default_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_de7291990965617922850_mat_a: mat_a > produc5370362606830271383_mat_a > ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Omap__default_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_de3954425106173982886_mat_a: mat_a > produc5452184871688341745_mat_a > ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_AList_Omap__default_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_de2300712711118028574at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_AList_Omap__default__rel_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    map_de103375084173480153_mat_a: produc6832840921903196947_mat_a > produc6832840921903196947_mat_a > $o ).

thf(sy_c_AList_Omap__default__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_de3874306296104937497_mat_a: produc5940573288377537585_mat_a > produc5940573288377537585_mat_a > $o ).

thf(sy_c_AList_Omap__default__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_de5977038633705289711_mat_a: produc9196059672877504659_mat_a > produc9196059672877504659_mat_a > $o ).

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

thf(sy_c_AList_Omap__default__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_de8522413157416956391at_nat: produc6567431002494476649at_nat > produc6567431002494476649at_nat > $o ).

thf(sy_c_AList_Omap__entry_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    map_en7478846251724979201_mat_a: mat_a > ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Omap__entry_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_en2605797910578914033_mat_a: mat_a > ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Omap__entry_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_en5402142467459766039_mat_a: mat_a > ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_AList_Omap__entry_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_en5418802101440199951at_nat: product_prod_nat_nat > ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_AList_Omap__entry__rel_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    map_en2990455142526716968_mat_a: produc8428651189727055417_mat_a > produc8428651189727055417_mat_a > $o ).

thf(sy_c_AList_Omap__entry__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_en8092971098968881930_mat_a: produc4882703335080313441_mat_a > produc4882703335080313441_mat_a > $o ).

thf(sy_c_AList_Omap__entry__rel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_en6988281378745599678_mat_a: produc3550984987210111267_mat_a > produc3550984987210111267_mat_a > $o ).

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

thf(sy_c_AList_Omap__entry__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_en5544030591748833590at_nat: produc8543129456671422643at_nat > produc8543129456671422643at_nat > $o ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    map_ra1029780840500392266_mat_a: ( mat_a > mat_a > mat_a ) > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_ra6655213778065426792_mat_a: ( mat_a > mat_a > produc5370362606830271383_mat_a ) > list_P5411175341357971485_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_ra5711430780487591136_mat_a: ( mat_a > mat_a > produc5452184871688341745_mat_a ) > list_P5411175341357971485_mat_a > list_P2872167576551266355_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Matrix__Omat_Itf__a_J,type,
    map_ra5636908361876965216_mat_a: ( mat_a > produc5370362606830271383_mat_a > mat_a ) > list_P798859136818506497_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_ra711709222571885010_mat_a: ( mat_a > produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_ra3129878362297023990_mat_a: ( mat_a > produc5370362606830271383_mat_a > produc5452184871688341745_mat_a ) > list_P798859136818506497_mat_a > list_P2872167576551266355_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Matrix__Omat_Itf__a_J,type,
    map_ra5007938043284462816_mat_a: ( mat_a > produc5452184871688341745_mat_a > mat_a ) > list_P2872167576551266355_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_ra8397368593876798546_mat_a: ( mat_a > produc5452184871688341745_mat_a > produc5370362606830271383_mat_a ) > list_P2872167576551266355_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Omap__ran_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_ra8166749758470591350_mat_a: ( mat_a > produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_AList_Omap__ran_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_ra2435258257858265674at_nat: ( product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    update3845619404146092220at_nat: list_P6011104703257516679at_nat > product_prod_nat_nat > ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    update8196492349025996602_mat_a: mat_a > mat_a > ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

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

thf(sy_c_AList_Oupdate__with__aux_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Matrix__Omat_Itf__a_J,type,
    update3285386300047510896_mat_a: produc5370362606830271383_mat_a > mat_a > ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_AList_Oupdate__with__aux_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Matrix__Omat_Itf__a_J,type,
    update842895306872828624_mat_a: produc5452184871688341745_mat_a > mat_a > ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    bNF_Gr7345722917312767174omplex: set_list_mat_complex > mat_complex > set_list_mat_complex ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Matrix__Omat_Itf__a_J,type,
    bNF_Gr4483329336800378748_mat_a: set_list_mat_a > mat_a > set_list_mat_a ).

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__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_OSucc_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    bNF_Gr1419691569100178498omplex: set_list_mat_complex > list_mat_complex > set_mat_complex ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Matrix__Omat_Itf__a_J,type,
    bNF_Gr1459196596068634368_mat_a: set_list_mat_a > list_mat_a > set_mat_a ).

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__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_001tf__a,type,
    bNF_Greatest_Succ_a: set_list_a > list_a > set_a ).

thf(sy_c_Cartesian__Space_Ovector_001t__Nat__Onat_001t__Numeral____Type__Obit0_It__Numeral____Type__Onum1_J,type,
    cartes7700031802712742009l_num1: list_nat > finite1289000397740218697l_num1 ).

thf(sy_c_Cartesian__Space_Ovector_001t__Nat__Onat_001t__Numeral____Type__Onum1,type,
    cartes6052806112279933926l_num1: list_nat > finite2525469894391432876l_num1 ).

thf(sy_c_Cartesian__Space_Ovector_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Numeral____Type__Obit0_It__Numeral____Type__Onum1_J,type,
    cartes7759616843450166030l_num1: list_P6011104703257516679at_nat > finite7603112927163603084l_num1 ).

thf(sy_c_Cartesian__Space_Ovector_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Numeral____Type__Onum1,type,
    cartes4852104912025598225l_num1: list_P6011104703257516679at_nat > finite8617296246402585001l_num1 ).

thf(sy_c_Commuting__Hermitian_Odiag__compat_001t__Complex__Ocomplex,type,
    commut5261563022830629508omplex: mat_complex > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Odiag__diff_001t__Complex__Ocomplex,type,
    commut4502369927624756007omplex: mat_complex > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Odiag__diff_001tf__a,type,
    commut2169701021494907589diff_a: mat_a > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Oeq__comps_001t__Complex__Ocomplex,type,
    commut93809757773076895omplex: list_complex > list_nat ).

thf(sy_c_Commuting__Hermitian_Oextract__subdiags_001t__Complex__Ocomplex,type,
    commut6900707758132580272omplex: mat_complex > list_nat > list_mat_complex ).

thf(sy_c_Commuting__Hermitian_Olst__diff_001t__Complex__Ocomplex,type,
    commut1410864796179263225omplex: list_complex > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    commut5044833095929398684omplex: list_mat_complex > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff_001t__Nat__Onat,type,
    commut7647841724617136155ff_nat: list_nat > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    commut981440707321766646at_nat: list_P6011104703257516679at_nat > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff_001tf__a,type,
    commuting_lst_diff_a: list_a > list_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff__rel_001t__Complex__Ocomplex,type,
    commut8246921925132853022omplex: produc3562651236538076799st_nat > produc3562651236538076799st_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff__rel_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    commut832818077816034615omplex: produc785513886364253500st_nat > produc785513886364253500st_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff__rel_001t__Nat__Onat,type,
    commut5232834205930541632el_nat: produc1828647624359046049st_nat > produc1828647624359046049st_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    commut3424622135553803921at_nat: produc2502030831926852758st_nat > produc2502030831926852758st_nat > $o ).

thf(sy_c_Commuting__Hermitian_Olst__diff__rel_001tf__a,type,
    commut5096789157962719374_rel_a: produc432399132543013523st_nat > produc432399132543013523st_nat > $o ).

thf(sy_c_Commuting__Hermitian__Misc_On__sum_001t__Nat__Onat,type,
    commut2019222099004354946um_nat: nat > list_nat > nat ).

thf(sy_c_Complex__Matrix_Ohermitian_001t__Complex__Ocomplex,type,
    comple8306762464034002205omplex: mat_complex > $o ).

thf(sy_c_Gauss__Jordan__Elimination_Ogauss__jordan_001t__Complex__Ocomplex,type,
    gauss_1847731261493334972omplex: mat_complex > mat_complex > produc352478934956084711omplex ).

thf(sy_c_Gauss__Jordan__Elimination_Ogauss__jordan__single_001t__Complex__Ocomplex,type,
    gauss_4244865067341541924omplex: mat_complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Orow__echelon__form_001t__Complex__Ocomplex,type,
    gauss_194721375535881179omplex: mat_complex > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    minus_2412168080157227406omplex: mat_complex > mat_complex > mat_complex ).

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

thf(sy_c_Groups_Ominus__class_Ominus_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    minus_2734116836287720782omplex: produc352478934956084711omplex > produc352478934956084711omplex > produc352478934956084711omplex ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Nat__Onat_J,type,
    minus_1583438508407137535ex_nat: produc4941145339993070502ex_nat > produc4941145339993070502ex_nat > produc4941145339993070502ex_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    minus_9125208095613564965omplex: produc3259542890344722124omplex > produc3259542890344722124omplex > produc3259542890344722124omplex ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    minus_4365393887724441320at_nat: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    minus_8760755521168068590omplex: set_mat_complex > set_mat_complex > set_mat_complex ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    minus_4757590266979429866_mat_a: set_mat_a > set_mat_a > set_mat_a ).

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

thf(sy_c_Groups_Otimes__class_Otimes_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    times_8009071140041733218omplex: mat_complex > mat_complex > mat_complex ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat,type,
    times_times_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

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

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

thf(sy_c_Jordan__Normal__Form__Existence_Ofind__largest__block,type,
    jordan1665469968453478129_block: product_prod_nat_nat > list_P6011104703257516679at_nat > product_prod_nat_nat ).

thf(sy_c_Jordan__Normal__Form__Existence_Ofind__largest__block__rel,type,
    jordan2830070957412818760ck_rel: produc7489448085829838189at_nat > produc7489448085829838189at_nat > $o ).

thf(sy_c_Linear__Algebra__Complements_Oprojector_001t__Complex__Ocomplex,type,
    linear5633924348262549461omplex: mat_complex > $o ).

thf(sy_c_List_Oappend_001t__Complex__Ocomplex,type,
    append_complex: list_complex > list_complex > list_complex ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    append1540555382121198114at_nat: list_l3264859301627795341at_nat > list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Oappend_001t__List__Olist_Itf__a_J,type,
    append_list_a: list_list_a > list_list_a > list_list_a ).

thf(sy_c_List_Oappend_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    append_mat_complex: list_mat_complex > list_mat_complex > list_mat_complex ).

thf(sy_c_List_Oappend_001t__Matrix__Omat_Itf__a_J,type,
    append_mat_a: list_mat_a > list_mat_a > list_mat_a ).

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__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    append6681475394488695474_mat_a: list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    append8121324640254463254_mat_a: list_P798859136818506497_mat_a > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    append8501144483719128520_mat_a: list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    append5290687598215202952at_nat: list_P811921619475610355at_nat > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

thf(sy_c_List_Oappend_001tf__a,type,
    append_a: list_a > list_a > list_a ).

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

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

thf(sy_c_List_Oconcat_001tf__a,type,
    concat_a: list_list_a > list_a ).

thf(sy_c_List_Odrop_001t__Complex__Ocomplex,type,
    drop_complex: nat > list_complex > list_complex ).

thf(sy_c_List_Odrop_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    drop_mat_complex: nat > list_mat_complex > list_mat_complex ).

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

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

thf(sy_c_List_Odrop_001tf__a,type,
    drop_a: nat > list_a > list_a ).

thf(sy_c_List_Olenlex_001t__Matrix__Omat_Itf__a_J,type,
    lenlex_mat_a: set_Pr3154870478303372279_mat_a > set_Pr5766339727278847767_mat_a ).

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

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

thf(sy_c_List_Olenlex_001tf__a,type,
    lenlex_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olex_001t__Matrix__Omat_Itf__a_J,type,
    lex_mat_a: set_Pr3154870478303372279_mat_a > set_Pr5766339727278847767_mat_a ).

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

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

thf(sy_c_List_Olex_001tf__a,type,
    lex_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olexord_001t__Matrix__Omat_Itf__a_J,type,
    lexord_mat_a: set_Pr3154870478303372279_mat_a > set_Pr5766339727278847767_mat_a ).

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

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

thf(sy_c_List_Olexord_001tf__a,type,
    lexord_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olist_OCons_001t__Complex__Ocomplex,type,
    cons_complex: complex > list_complex > list_complex ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    cons_l7612840610449961021at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_Itf__a_J,type,
    cons_list_a: list_a > list_list_a > list_list_a ).

thf(sy_c_List_Olist_OCons_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    cons_mat_complex: mat_complex > list_mat_complex > list_mat_complex ).

thf(sy_c_List_Olist_OCons_001t__Matrix__Omat_Itf__a_J,type,
    cons_mat_a: mat_a > list_mat_a > list_mat_a ).

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__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    cons_P3230921977152692301_mat_a: produc5370362606830271383_mat_a > list_P5411175341357971485_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    cons_P2417854964248693435_mat_a: produc5452184871688341745_mat_a > list_P798859136818506497_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    cons_P9119692492650804451_mat_a: produc4216251508294696237_mat_a > list_P2872167576551266355_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    cons_P2215982549036978723at_nat: produc7489448085829838189at_nat > list_P811921619475610355at_nat > list_P811921619475610355at_nat ).

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

thf(sy_c_List_Olist_ONil_001t__Complex__Ocomplex,type,
    nil_complex: list_complex ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nil_li8973309667444810893at_nat: list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_Itf__a_J,type,
    nil_list_a: list_list_a ).

thf(sy_c_List_Olist_ONil_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    nil_mat_complex: list_mat_complex ).

thf(sy_c_List_Olist_ONil_001t__Matrix__Omat_Itf__a_J,type,
    nil_mat_a: list_mat_a ).

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__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    nil_Pr2784087112350407837_mat_a: list_P5411175341357971485_mat_a ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    nil_Pr3902087586535856747_mat_a: list_P798859136818506497_mat_a ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    nil_Pr8081019204233271603_mat_a: list_P2872167576551266355_mat_a ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_Pr5478986624290739719at_nat: list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    nil_Pr2725473518384139891at_nat: list_P811921619475610355at_nat ).

thf(sy_c_List_Olist_ONil_001tf__a,type,
    nil_a: list_a ).

thf(sy_c_List_Olist_Omap_001t__Complex__Ocomplex_001t__Complex__Ocomplex,type,
    map_complex_complex: ( complex > complex ) > list_complex > list_complex ).

thf(sy_c_List_Olist_Omap_001t__Complex__Ocomplex_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    map_co3992097597874031155omplex: ( complex > mat_complex ) > list_complex > list_mat_complex ).

thf(sy_c_List_Olist_Omap_001t__Complex__Ocomplex_001t__Nat__Onat,type,
    map_complex_nat: ( complex > nat ) > list_complex > list_nat ).

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

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    map_li6716636275961704964at_nat: ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    map_li7998053187192663402at_nat: ( list_P6011104703257516679at_nat > produc7489448085829838189at_nat ) > list_l3264859301627795341at_nat > list_P811921619475610355at_nat ).

thf(sy_c_List_Olist_Omap_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Complex__Ocomplex,type,
    map_ma2069474870086613905omplex: ( mat_complex > complex ) > list_mat_complex > list_complex ).

thf(sy_c_List_Olist_Omap_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    map_mat_complex_nat: ( mat_complex > nat ) > list_mat_complex > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_ma4333127029286908086_mat_a: ( mat_a > produc5370362606830271383_mat_a ) > list_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Complex__Ocomplex,type,
    map_nat_complex: ( nat > complex ) > list_nat > list_complex ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    map_nat_mat_complex: ( nat > mat_complex ) > list_nat > list_mat_complex ).

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

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

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001tf__a,type,
    map_nat_a: ( nat > a ) > list_nat > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Matrix__Omat_Itf__a_J,type,
    map_Pr3314821613098446510_mat_a: ( produc5370362606830271383_mat_a > mat_a ) > list_P5411175341357971485_mat_a > list_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_Pr851742647107986500_mat_a: ( produc5370362606830271383_mat_a > produc5452184871688341745_mat_a ) > list_P5411175341357971485_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Matrix__Omat_Itf__a_J,type,
    map_Pr7878004344149739026_mat_a: ( produc5452184871688341745_mat_a > mat_a ) > list_P798859136818506497_mat_a > list_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    map_Pr6119232878687761056_mat_a: ( produc5452184871688341745_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    map_Pr4616024890836479158_mat_a: ( produc5452184871688341745_mat_a > produc4216251508294696237_mat_a ) > list_P798859136818506497_mat_a > list_P2872167576551266355_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_001t__Matrix__Omat_Itf__a_J,type,
    map_Pr8597156708265738180_mat_a: ( produc4216251508294696237_mat_a > mat_a ) > list_P2872167576551266355_mat_a > list_mat_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    map_Pr8468176641798699098_mat_a: ( produc4216251508294696237_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > list_P798859136818506497_mat_a ).

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

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

thf(sy_c_List_Olist_Omap_001tf__a_001t__Complex__Ocomplex,type,
    map_a_complex: ( a > complex ) > list_a > list_complex ).

thf(sy_c_List_Olist_Omap_001tf__a_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    map_a_mat_complex: ( a > mat_complex ) > list_a > list_mat_complex ).

thf(sy_c_List_Olist_Omap_001tf__a_001t__Nat__Onat,type,
    map_a_nat: ( a > nat ) > list_a > list_nat ).

thf(sy_c_List_Olist_Omap_001tf__a_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_a_4696317093137605319at_nat: ( a > product_prod_nat_nat ) > list_a > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Omap_001tf__a_001tf__a,type,
    map_a_a: ( a > a ) > list_a > list_a ).

thf(sy_c_List_Olistrel1_001t__Matrix__Omat_Itf__a_J,type,
    listrel1_mat_a: set_Pr3154870478303372279_mat_a > set_Pr5766339727278847767_mat_a ).

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

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

thf(sy_c_List_Olistrel1_001tf__a,type,
    listrel1_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olistrel_001t__Complex__Ocomplex_001t__Complex__Ocomplex,type,
    listre8129561644175834959omplex: set_Pr5085853215250843933omplex > set_Pr135664057150635453omplex ).

thf(sy_c_List_Olistrel_001t__Complex__Ocomplex_001t__Nat__Onat,type,
    listrel_complex_nat: set_Pr4744753334818466879ex_nat > set_Pr2740109093433350623st_nat ).

thf(sy_c_List_Olistrel_001t__Complex__Ocomplex_001tf__a,type,
    listrel_complex_a: set_Pr470261033714844795plex_a > set_Pr2349392932037393521list_a ).

thf(sy_c_List_Olistrel_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Complex__Ocomplex,type,
    listre2688248412622954276omplex: set_Pr5002820060132011706omplex > set_Pr1453568492363791696omplex ).

thf(sy_c_List_Olistrel_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    listrel_mat_a_mat_a: set_Pr3154870478303372279_mat_a > set_Pr5766339727278847767_mat_a ).

thf(sy_c_List_Olistrel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    listre4448370753842979657_mat_a: set_Pr1606082691126482087_mat_a > set_Pr3625825893052619421_mat_a ).

thf(sy_c_List_Olistrel_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    listre2736938188450418879_mat_a: set_Pr4108788433434999053_mat_a > set_Pr8267195548715876269_mat_a ).

thf(sy_c_List_Olistrel_001t__Nat__Onat_001t__Complex__Ocomplex,type,
    listrel_nat_complex: set_Pr6653648255441992511omplex > set_Pr5243261299472207839omplex ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    listre3491754300765241726at_nat: set_Pr7717912310451564380at_nat > set_Pr657288541525933138at_nat ).

thf(sy_c_List_Olistrel_001t__Nat__Onat_001tf__a,type,
    listrel_nat_a: set_Pr4193341848836149977_nat_a > set_Pr7423161166939974351list_a ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    listre3843187478536823479at_nat: set_Pr711557420992995021at_nat > set_Pr5454409088517330637at_nat ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    listre131706907722526624at_nat: set_Pr2539167527615954998at_nat > set_Pr4562967203051931084st_nat ).

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

thf(sy_c_List_Olistrel_001tf__a_001t__Complex__Ocomplex,type,
    listrel_a_complex: set_Pr6004713250341684625omplex > set_Pr2691958798857426599omplex ).

thf(sy_c_List_Olistrel_001tf__a_001t__Nat__Onat,type,
    listrel_a_nat: set_Pr4934435412358123699_a_nat > set_Pr5046312416420021961st_nat ).

thf(sy_c_List_Olistrel_001tf__a_001tf__a,type,
    listrel_a_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    maps_n1297257645151936558at_nat: ( nat > list_P6011104703257516679at_nat ) > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001tf__a,type,
    maps_nat_a: ( nat > list_a ) > list_nat > list_a ).

thf(sy_c_List_Omaps_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
    maps_P7160582288963997264at_nat: ( product_prod_nat_nat > list_nat ) > list_P6011104703257516679at_nat > list_nat ).

thf(sy_c_List_Omaps_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    maps_P2648898112322025089at_nat: ( product_prod_nat_nat > list_P6011104703257516679at_nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Omaps_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__a,type,
    maps_P3804491363631941758_nat_a: ( product_prod_nat_nat > list_a ) > list_P6011104703257516679at_nat > list_a ).

thf(sy_c_List_Onth_001t__Complex__Ocomplex,type,
    nth_complex: list_complex > nat > complex ).

thf(sy_c_List_Onth_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    nth_mat_complex: list_mat_complex > nat > mat_complex ).

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

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

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

thf(sy_c_List_Oproduct_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    product_mat_a_mat_a: list_mat_a > list_mat_a > list_P5411175341357971485_mat_a ).

thf(sy_c_List_Oproduct_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc847735482211791605_mat_a: list_mat_a > list_P5411175341357971485_mat_a > list_P798859136818506497_mat_a ).

thf(sy_c_List_Oproduct_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc6980064191417368083_mat_a: list_mat_a > list_P798859136818506497_mat_a > list_P2872167576551266355_mat_a ).

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

thf(sy_c_List_Oproduct_001t__Nat__Onat_001tf__a,type,
    product_nat_a: list_nat > list_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Oproduct_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc4700272936163034635at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > list_P811921619475610355at_nat ).

thf(sy_c_List_Oproduct_001tf__a_001t__Nat__Onat,type,
    product_a_nat: list_a > list_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Oproduct_001tf__a_001tf__a,type,
    product_a_a: list_a > list_a > list_P1396940483166286381od_a_a ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc8746550462604311920at_nat: list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

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

thf(sy_c_List_Oshuffles__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    shuffl479420286952424683at_nat: produc6392793444374437607at_nat > produc6392793444374437607at_nat > $o ).

thf(sy_c_List_Osorted__wrt_001t__Nat__Onat,type,
    sorted_wrt_nat: ( nat > nat > $o ) > list_nat > $o ).

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

thf(sy_c_List_Osplice_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    splice938226673677627610at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

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

thf(sy_c_List_Osplice__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    splice425205989056337325at_nat: produc6392793444374437607at_nat > produc6392793444374437607at_nat > $o ).

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

thf(sy_c_List_Osubseqs_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    subseq4535541509918465494at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_Matrix_Ocarrier__mat_001t__Complex__Ocomplex,type,
    carrier_mat_complex: nat > nat > set_mat_complex ).

thf(sy_c_Matrix_Ocarrier__mat_001tf__a,type,
    carrier_mat_a: nat > nat > set_mat_a ).

thf(sy_c_Matrix_Odiag__mat_001t__Complex__Ocomplex,type,
    diag_mat_complex: mat_complex > list_complex ).

thf(sy_c_Matrix_Odiag__mat_001t__Nat__Onat,type,
    diag_mat_nat: mat_nat > list_nat ).

thf(sy_c_Matrix_Odiag__mat_001tf__a,type,
    diag_mat_a: mat_a > list_a ).

thf(sy_c_Matrix_Odiagonal__mat_001t__Complex__Ocomplex,type,
    diagonal_mat_complex: mat_complex > $o ).

thf(sy_c_Matrix_Odim__row_001t__Complex__Ocomplex,type,
    dim_row_complex: mat_complex > nat ).

thf(sy_c_Matrix_Odim__row_001t__Nat__Onat,type,
    dim_row_nat: mat_nat > nat ).

thf(sy_c_Matrix_Odim__row_001tf__a,type,
    dim_row_a: mat_a > nat ).

thf(sy_c_Matrix_Oindex__mat_001t__Complex__Ocomplex,type,
    index_mat_complex: mat_complex > product_prod_nat_nat > complex ).

thf(sy_c_Matrix_Omk__diagonal_001t__Complex__Ocomplex,type,
    mk_diagonal_complex: list_complex > mat_complex ).

thf(sy_c_Matrix_Omk__diagonal_001t__Nat__Onat,type,
    mk_diagonal_nat: list_nat > mat_nat ).

thf(sy_c_Matrix_Osplit__block_001t__Complex__Ocomplex,type,
    split_block_complex: mat_complex > nat > nat > produc1634985270395358183omplex ).

thf(sy_c_Matrix_Osplit__block_001tf__a,type,
    split_block_a: mat_a > nat > nat > produc4216251508294696237_mat_a ).

thf(sy_c_Matrix_Oundef__vec_001t__Complex__Ocomplex,type,
    undef_vec_complex: nat > complex ).

thf(sy_c_Matrix_Oundef__vec_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    undef_2495355514574404529omplex: nat > mat_complex ).

thf(sy_c_Matrix_Oundef__vec_001t__Nat__Onat,type,
    undef_vec_nat: nat > nat ).

thf(sy_c_Matrix_Oundef__vec_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    undef_7626143578040714507at_nat: nat > product_prod_nat_nat ).

thf(sy_c_Missing__VectorSpace_Ofind__indices_001t__Nat__Onat,type,
    missin5050847376130023830es_nat: nat > list_nat > list_nat ).

thf(sy_c_Missing__VectorSpace_Ofind__indices_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    missin7441370236764828603at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > list_nat ).

thf(sy_c_Missing__VectorSpace_Ofind__indices_001tf__a,type,
    missin4017714591038136ices_a: a > list_a > list_nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Complex__Ocomplex_J,type,
    size_s3451745648224563538omplex: list_complex > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    size_s5969786470865220249omplex: list_mat_complex > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    size_size_list_mat_a: list_mat_a > nat ).

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

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    size_s243904063682394823_nat_a: list_P2851791750731487283_nat_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    size_s984997627204368545_a_nat: list_P3592885314253461005_a_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    size_s3885678630836030617od_a_a: list_P1396940483166286381od_a_a > nat ).

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Complex__Ocomplex,type,
    ord_less_complex: complex > complex > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    ord_less_mat_complex: mat_complex > mat_complex > $o ).

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

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    ord_le5598786136212072115omplex: set_mat_complex > set_mat_complex > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    ord_less_set_mat_a: set_mat_a > set_mat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001tf__a,type,
    ord_less_a: a > a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Matrix__Omat_Itf__a_J,type,
    ord_less_eq_mat_a: mat_a > mat_a > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    ord_le3342515230128931639_mat_a: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    ord_le4540232658982181201_mat_a: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    ord_le1154887460827354317_mat_a: produc4216251508294696237_mat_a > produc4216251508294696237_mat_a > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    ord_le4146993573842611095_mat_a: set_Pr3154870478303372279_mat_a > set_Pr3154870478303372279_mat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    ord_le4619910584120534279_mat_a: set_Pr1606082691126482087_mat_a > set_Pr1606082691126482087_mat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    ord_le6596545746210689197_mat_a: set_Pr4108788433434999053_mat_a > set_Pr4108788433434999053_mat_a > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    ord_le3115953677081241197at_nat: set_Pr711557420992995021at_nat > set_Pr711557420992995021at_nat > $o ).

thf(sy_c_Permutations_Oinverse__permutation__of__list_001t__Matrix__Omat_Itf__a_J,type,
    invers203812702758760000_mat_a: list_P5411175341357971485_mat_a > mat_a > mat_a ).

thf(sy_c_Permutations_Oinverse__permutation__of__list_001t__Nat__Onat,type,
    invers7730505255807555637st_nat: list_P6011104703257516679at_nat > nat > nat ).

thf(sy_c_Product__Type_OPair_001_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc612501193299545525at_nat: ( list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ) > list_P811921619475610355at_nat > produc4538552595820684547at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc1519376425726732079_mat_a: ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > produc2433958579890478333_mat_a ).

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_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1236331799044183215at_nat: ( nat > nat ) > list_P6011104703257516679at_nat > produc2687737633280426365at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc9099924953586137279_mat_a: ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > produc6434416326727837959_mat_a ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc2787573345141028889_mat_a: ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > produc4333371480430061415_mat_a ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_Eo_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc3352296309980913008at_nat: ( product_prod_nat_nat > product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > produc2366258654402830848at_nat ).

thf(sy_c_Product__Type_OPair_001t__Complex__Ocomplex_001t__Complex__Ocomplex,type,
    produc101793102246108661omplex: complex > complex > produc4411394909380815293omplex ).

thf(sy_c_Product__Type_OPair_001t__Complex__Ocomplex_001t__Nat__Onat,type,
    produc1369629321580543767ex_nat: complex > nat > produc1799700322190218207ex_nat ).

thf(sy_c_Product__Type_OPair_001t__Complex__Ocomplex_001tf__a,type,
    produc8061204051921124215plex_a: complex > a > produc8183908617281231941plex_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Complex__Ocomplex_J_001t__List__Olist_It__Complex__Ocomplex_J,type,
    produc2490022270806822549omplex: list_complex > list_complex > produc1631295542841207645omplex ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Complex__Ocomplex_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc4692933026955520183st_nat: list_complex > list_nat > produc3562651236538076799st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Complex__Ocomplex_J_001t__List__Olist_Itf__a_J,type,
    produc8463916819289460077list_a: list_complex > list_a > produc8552565427246150203list_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_001t__List__Olist_It__Complex__Ocomplex_J,type,
    produc2969776787997347476omplex: list_mat_complex > list_complex > produc4110691212204908570omplex ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc4937565944558872246st_nat: list_mat_complex > list_nat > produc785513886364253500st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    produc4079638386681799535_mat_a: list_mat_a > list_mat_a > produc3237720520546573239_mat_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc7715496112605084441_mat_a: list_mat_a > list_P5411175341357971485_mat_a > produc1972915668301491431_mat_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc6153740362608783621_mat_a: list_mat_a > list_P798859136818506497_mat_a > produc4429196758655930573_mat_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Complex__Ocomplex_J,type,
    produc8289038959187240375omplex: list_nat > list_complex > produc1996695187396412543omplex ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc8954071634889624142at_nat: list_nat > list_P6011104703257516679at_nat > produc3725359950925338140at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_Itf__a_J,type,
    produc7723716010052024011list_a: list_nat > list_a > produc1513410750981052825list_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Matrix__Omat_Itf__a_J,type,
    produc8962496168985544609_mat_a: list_P5411175341357971485_mat_a > mat_a > produc6091557110873019175_mat_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8179394566945259613at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > produc5059709288356223597at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc12284909214523920st_nat: list_P6011104703257516679at_nat > list_nat > produc2502030831926852758st_nat ).

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

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Nat__Onat,type,
    produc8424349340415155968at_nat: list_P6011104703257516679at_nat > nat > produc4008378413191047942at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc9165973735991832627at_nat: list_P6011104703257516679at_nat > produc4538552595820684547at_nat > produc2010466623599774393at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__a_J_001t__List__Olist_It__Complex__Ocomplex_J,type,
    produc5905839024221834859omplex: list_a > list_complex > produc2682180258218231665omplex ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__a_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc4792949784200893581st_nat: list_a > list_nat > produc432399132543013523st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__a_J_001t__List__Olist_Itf__a_J,type,
    produc6837034575241423639list_a: list_a > list_a > produc9164743771328383783list_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Complex__Ocomplex,type,
    produc5669106556224566526omplex: mat_complex > complex > produc4154176953909257092omplex ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc3658446505030690647omplex: mat_complex > mat_complex > produc352478934956084711omplex ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    produc3916067632315525152ex_nat: mat_complex > nat > produc4941145339993070502ex_nat ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    produc2861545499953221015omplex: mat_complex > produc352478934956084711omplex > produc5677646155008957607omplex ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    produc1901862033385395287omplex: mat_complex > produc5677646155008957607omplex > produc1634985270395358183omplex ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc3701670035027927465_mat_a: mat_a > list_P5411175341357971485_mat_a > produc1859714607405874935_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc7693367244810913397_mat_a: mat_a > list_P798859136818506497_mat_a > produc282401647563135677_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc6419039111866398655_mat_a: mat_a > list_P2872167576551266355_mat_a > produc5017405237813737357_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    produc3091253522927621199_mat_a: mat_a > mat_a > produc5370362606830271383_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    produc3495245638517710449_mat_a: mat_a > produc2433958579890478333_mat_a > produc8428651189727055417_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc4784585546996881555_mat_a: mat_a > produc6434416326727837959_mat_a > produc4882703335080313441_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc4638039630308443867_mat_a: mat_a > produc4333371480430061415_mat_a > produc3550984987210111267_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc7602877900562455331_mat_a: mat_a > produc5370362606830271383_mat_a > produc5452184871688341745_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc5016104161032964037_mat_a: mat_a > produc8428651189727055417_mat_a > produc6832840921903196947_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc5286753621172121189_mat_a: mat_a > produc5452184871688341745_mat_a > produc4216251508294696237_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc4888039764309558499_mat_a: mat_a > produc7961450532452802391_mat_a > produc5940573288377537585_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    produc1976145176345853765_mat_a: mat_a > produc2711416244134325689_mat_a > produc9196059672877504659_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Complex__Ocomplex,type,
    produc6973218034000581911omplex: nat > complex > produc4863162743050822367omplex ).

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

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

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc4998868960714853886omplex: nat > mat_complex > produc3259542890344722124omplex ).

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

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

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

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

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001tf__a,type,
    product_Pair_nat_a: nat > a > product_prod_nat_a ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    produc104988452116379847_mat_a: produc5370362606830271383_mat_a > produc6434416326727837959_mat_a > produc7961450532452802391_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    produc8119456847506949873_mat_a: produc5452184871688341745_mat_a > produc4333371480430061415_mat_a > produc2711416244134325689_mat_a ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1593612501639298397at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > produc7489448085829838189at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc565436351594717641at_nat: product_prod_nat_nat > list_P811921619475610355at_nat > produc7025357762891698649at_nat ).

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

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc5942858265833435821at_nat: product_prod_nat_nat > produc4538552595820684547at_nat > produc8543129456671422643at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc6615950645741950051at_nat: product_prod_nat_nat > produc2010466623599774393at_nat > produc6567431002494476649at_nat ).

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

thf(sy_c_Product__Type_OPair_001tf__a_001t__Complex__Ocomplex,type,
    produc2214049761573155413omplex: a > complex > produc590396072828438619omplex ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Nat__Onat,type,
    product_Pair_a_nat: a > nat > product_prod_a_nat ).

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

thf(sy_c_Product__Type_Oprod_Ofst_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc9163778666669654339omplex: produc352478934956084711omplex > mat_complex ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    produc7604368447525475636ex_nat: produc4941145339993070502ex_nat > mat_complex ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    produc8618483072558553147_mat_a: produc5370362606830271383_mat_a > mat_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc7340730364199978039_mat_a: produc5452184871688341745_mat_a > mat_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc7700291086614992977_mat_a: produc4216251508294696237_mat_a > mat_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc8687169775924804370omplex: produc3259542890344722124omplex > nat ).

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

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc7510217175138029897at_nat: produc7489448085829838189at_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc4897211011226852997omplex: produc352478934956084711omplex > mat_complex ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    produc8270670584407784050ex_nat: produc4941145339993070502ex_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    produc3539460521124201597_mat_a: produc5370362606830271383_mat_a > mat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    produc7508173349661082485_mat_a: produc5452184871688341745_mat_a > produc5370362606830271383_mat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Matrix__Omat_Itf__a_J_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    produc1482081755353976211_mat_a: produc4216251508294696237_mat_a > produc5452184871688341745_mat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc130099875952336976omplex: produc3259542890344722124omplex > mat_complex ).

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

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1817956038046406027at_nat: produc7489448085829838189at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Set_OCollect_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    collect_mat_complex: ( mat_complex > $o ) > set_mat_complex ).

thf(sy_c_Set_OCollect_001t__Matrix__Omat_Itf__a_J,type,
    collect_mat_a: ( mat_a > $o ) > set_mat_a ).

thf(sy_c_Sublist_Oprefixes_001t__Nat__Onat,type,
    prefixes_nat: list_nat > list_list_nat ).

thf(sy_c_Sublist_Oprefixes_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    prefix1395342811948450574at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_Sublist_Oprefixes_001tf__a,type,
    prefixes_a: list_a > list_list_a ).

thf(sy_c_Sublist_Osublists_001t__Nat__Onat,type,
    sublists_nat: list_nat > list_list_nat ).

thf(sy_c_Sublist_Osublists_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    sublis2272483767050531737at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_Sublist_Osuffixes_001t__Nat__Onat,type,
    suffixes_nat: list_nat > list_list_nat ).

thf(sy_c_Sublist_Osuffixes_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    suffix8103968943353111119at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P7255201967665123080st_nat: ( produc3562651236538076799st_nat > produc3562651236538076799st_nat > $o ) > produc3562651236538076799st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P799157788230702963st_nat: ( produc785513886364253500st_nat > produc785513886364253500st_nat > $o ) > produc785513886364253500st_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__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P5328051967433407181st_nat: ( produc2502030831926852758st_nat > produc2502030831926852758st_nat > $o ) > produc2502030831926852758st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    accp_P7052990409830227952at_nat: ( produc6392793444374437607at_nat > produc6392793444374437607at_nat > $o ) > produc6392793444374437607at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    accp_P3069379161693720650st_nat: ( produc432399132543013523st_nat > produc432399132543013523st_nat > $o ) > produc432399132543013523st_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    accp_P1856441660114564526_mat_a: ( produc1859714607405874935_mat_a > produc1859714607405874935_mat_a > $o ) > produc1859714607405874935_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    accp_P325456561392830534_mat_a: ( produc282401647563135677_mat_a > produc282401647563135677_mat_a > $o ) > produc282401647563135677_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    accp_P597750750227781060_mat_a: ( produc5017405237813737357_mat_a > produc5017405237813737357_mat_a > $o ) > produc5017405237813737357_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    accp_P1684039908139777858_mat_a: ( produc8428651189727055417_mat_a > produc8428651189727055417_mat_a > $o ) > produc8428651189727055417_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    accp_P7036969686589695128_mat_a: ( produc4882703335080313441_mat_a > produc4882703335080313441_mat_a > $o ) > produc4882703335080313441_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    accp_P8565582857747903404_mat_a: ( produc3550984987210111267_mat_a > produc3550984987210111267_mat_a > $o ) > produc3550984987210111267_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_I_062_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J,type,
    accp_P2201468814145545674_mat_a: ( produc6832840921903196947_mat_a > produc6832840921903196947_mat_a > $o ) > produc6832840921903196947_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J,type,
    accp_P3277313705845906920_mat_a: ( produc5940573288377537585_mat_a > produc5940573288377537585_mat_a > $o ) > produc5940573288377537585_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J_J_J_J,type,
    accp_P4367843537764725066_mat_a: ( produc9196059672877504659_mat_a > produc9196059672877504659_mat_a > $o ) > produc9196059672877504659_mat_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    accp_P1391465874720445027at_nat: ( produc8472197452120411308at_nat > produc8472197452120411308at_nat > $o ) > produc8472197452120411308at_nat > $o ).

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

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

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    accp_P909202496322092790at_nat: ( produc7489448085829838189at_nat > produc7489448085829838189at_nat > $o ) > produc7489448085829838189at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P363861067912544610at_nat: ( produc7025357762891698649at_nat > produc7025357762891698649at_nat > $o ) > produc7025357762891698649at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    accp_P7036695804669992426at_nat: ( produc8543129456671422643at_nat > produc8543129456671422643at_nat > $o ) > produc8543129456671422643at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    accp_P6431311996116824224at_nat: ( produc6567431002494476649at_nat > produc6567431002494476649at_nat > $o ) > produc6567431002494476649at_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    member279434397506102358omplex: list_mat_complex > set_list_mat_complex > $o ).

thf(sy_c_member_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    member_list_mat_a: list_mat_a > set_list_mat_a > $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__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member3067507820990806192at_nat: list_P6011104703257516679at_nat > set_li5450038453877631591at_nat > $o ).

thf(sy_c_member_001t__List__Olist_Itf__a_J,type,
    member_list_a: list_a > set_list_a > $o ).

thf(sy_c_member_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    member_mat_complex: mat_complex > set_mat_complex > $o ).

thf(sy_c_member_001t__Matrix__Omat_Itf__a_J,type,
    member_mat_a: mat_a > set_mat_a > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J,type,
    member5793383173714906214omplex: produc4411394909380815293omplex > set_Pr5085853215250843933omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J,type,
    member4772924384108857480ex_nat: produc1799700322190218207ex_nat > set_Pr4744753334818466879ex_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mtf__a_J,type,
    member957964701361078236plex_a: produc8183908617281231941plex_a > set_Pr470261033714844795plex_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    member6068360845309590790omplex: produc1631295542841207645omplex > set_Pr135664057150635453omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member2726743781584122408st_nat: produc3562651236538076799st_nat > set_Pr2740109093433350623st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Complex__Ocomplex_J_Mt__List__Olist_Itf__a_J_J,type,
    member9051261771375421138list_a: produc8552565427246150203list_a > set_Pr2349392932037393521list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    member3251536763564917041omplex: produc4110691212204908570omplex > set_Pr1453568492363791696omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    member8250092531365124960_mat_a: produc3237720520546573239_mat_a > set_Pr5766339727278847767_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    member5361474214887387390_mat_a: produc1972915668301491431_mat_a > set_Pr3625825893052619421_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J_J,type,
    member9115954862678890742_mat_a: produc4429196758655930573_mat_a > set_Pr8267195548715876269_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    member1160787732442458152omplex: produc1996695187396412543omplex > set_Pr5243261299472207839omplex > $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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member5543284151954377011at_nat: produc3725359950925338140at_nat > set_Pr657288541525933138at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_Itf__a_J_J,type,
    member5932150393272073264list_a: produc1513410750981052825list_a > set_Pr7423161166939974351list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    member648575275185153558at_nat: produc5059709288356223597at_nat > set_Pr5454409088517330637at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member4319955032955891629st_nat: produc2502030831926852758st_nat > set_Pr4562967203051931084st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6693912407220327184at_nat: produc6392793444374437607at_nat > set_Pr1542805901266377927at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Complex__Ocomplex_J_J,type,
    member3180876602347502600omplex: produc2682180258218231665omplex > set_Pr2691958798857426599omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member4851138774834033962st_nat: produc432399132543013523st_nat > set_Pr5046312416420021961st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    member8191768239178080336list_a: produc9164743771328383783list_a > set_Pr4048851178543822343list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    member8529242985717642139omplex: produc4154176953909257092omplex > set_Pr5002820060132011706omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J,type,
    member7323531280862645312_mat_a: produc5370362606830271383_mat_a > set_Pr3154870478303372279_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J,type,
    member7270109072717380616_mat_a: produc5452184871688341745_mat_a > set_Pr1606082691126482087_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Product____Type__Oprod_It__Matrix__Omat_Itf__a_J_Mt__Matrix__Omat_Itf__a_J_J_J_J,type,
    member6160517978331616854_mat_a: produc4216251508294696237_mat_a > set_Pr4108788433434999053_mat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J,type,
    member7836386804969461640omplex: produc4863162743050822367omplex > set_Pr6653648255441992511omplex > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member2223272150424702269at_nat: produc7248412053542808358at_nat > set_Pr7717912310451564380at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    member8962352052110095674_nat_a: product_prod_nat_a > set_Pr4193341848836149977_nat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member2819523180157272598at_nat: produc7489448085829838189at_nat > set_Pr711557420992995021at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
    member3348759134392003351at_nat: produc8373899037510109440at_nat > set_Pr2539167527615954998at_nat > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Complex__Ocomplex_J,type,
    member2587824193763060722omplex: produc590396072828438619omplex > set_Pr6004713250341684625omplex > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    member5724188588386418708_a_nat: product_prod_a_nat > set_Pr4934435412358123699_a_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    member1426531477525435216od_a_a: product_prod_a_a > set_Product_prod_a_a > $o ).

thf(sy_c_member_001tf__a,type,
    member_a: a > set_a > $o ).

thf(sy_v_D,type,
    d: mat_a ).

thf(sy_v_D1____,type,
    d1: mat_a ).

thf(sy_v_D2____,type,
    d2: mat_a ).

thf(sy_v_D3____,type,
    d3: mat_a ).

thf(sy_v_D4____,type,
    d4: mat_a ).

thf(sy_v_Da____,type,
    da: mat_a ).

thf(sy_v_a____,type,
    a2: nat ).

thf(sy_v_m,type,
    m: list_nat ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_na____,type,
    na: nat ).

thf(sy_v_xs____,type,
    xs: list_nat ).

% Relevant facts (1114)
thf(fact_0__092_060open_062length_A_Idiag__mat_AD1_J_A_061_Aa_092_060close_062,axiom,
    ( ( size_size_list_a @ ( diag_mat_a @ d1 ) )
    = a2 ) ).

% \<open>length (diag_mat D1) = a\<close>
thf(fact_1__092_060open_062diag__mat_AD_A_061_Adiag__mat_AD1_A_064_Adiag__mat_AD4_092_060close_062,axiom,
    ( ( diag_mat_a @ da )
    = ( append_a @ ( diag_mat_a @ d1 ) @ ( diag_mat_a @ d4 ) ) ) ).

% \<open>diag_mat D = diag_mat D1 @ diag_mat D4\<close>
thf(fact_2__092_060open_062length_A_Idiag__mat_AD_J_A_061_An_092_060close_062,axiom,
    ( ( size_size_list_a @ ( diag_mat_a @ da ) )
    = na ) ).

% \<open>length (diag_mat D) = n\<close>
thf(fact_3_assms_I2_J,axiom,
    commuting_lst_diff_a @ ( diag_mat_a @ d ) @ m ).

% assms(2)
thf(fact_4__C2_C_I3_J,axiom,
    commuting_lst_diff_a @ ( diag_mat_a @ da ) @ ( cons_nat @ a2 @ xs ) ).

% "2"(3)
thf(fact_5_c1,axiom,
    member_mat_a @ d1 @ ( carrier_mat_a @ a2 @ a2 ) ).

% c1
thf(fact_6__C2_C_I2_J,axiom,
    member_mat_a @ da @ ( carrier_mat_a @ na @ na ) ).

% "2"(2)
thf(fact_7_D1__def,axiom,
    ( d1
    = ( produc7700291086614992977_mat_a @ ( split_block_a @ da @ a2 @ a2 ) ) ) ).

% D1_def
thf(fact_8_c4,axiom,
    member_mat_a @ d4 @ ( carrier_mat_a @ ( minus_minus_nat @ na @ a2 ) @ ( minus_minus_nat @ na @ a2 ) ) ).

% c4
thf(fact_9__092_060open_062a_A_092_060le_062_An_092_060close_062,axiom,
    ord_less_eq_nat @ a2 @ na ).

% \<open>a \<le> n\<close>
thf(fact_10_D4__def,axiom,
    ( d4
    = ( produc3539460521124201597_mat_a @ ( produc7508173349661082485_mat_a @ ( produc1482081755353976211_mat_a @ ( split_block_a @ da @ a2 @ a2 ) ) ) ) ) ).

% D4_def
thf(fact_11_assms_I1_J,axiom,
    member_mat_a @ d @ ( carrier_mat_a @ n @ n ) ).

% assms(1)
thf(fact_12_drop__append,axiom,
    ! [N: nat,Xs: list_a,Ys: list_a] :
      ( ( drop_a @ N @ ( append_a @ Xs @ Ys ) )
      = ( append_a @ ( drop_a @ N @ Xs ) @ ( drop_a @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs ) ) @ Ys ) ) ) ).

% drop_append
thf(fact_13_drop__append,axiom,
    ! [N: nat,Xs: list_nat,Ys: list_nat] :
      ( ( drop_nat @ N @ ( append_nat @ Xs @ Ys ) )
      = ( append_nat @ ( drop_nat @ N @ Xs ) @ ( drop_nat @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs ) ) @ Ys ) ) ) ).

% drop_append
thf(fact_14_D3__def,axiom,
    ( d3
    = ( produc8618483072558553147_mat_a @ ( produc7508173349661082485_mat_a @ ( produc1482081755353976211_mat_a @ ( split_block_a @ da @ a2 @ a2 ) ) ) ) ) ).

% D3_def
thf(fact_15_length__drop,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( size_size_list_a @ ( drop_a @ N @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% length_drop
thf(fact_16_length__drop,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( drop_nat @ N @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_nat @ Xs ) @ N ) ) ).

% length_drop
thf(fact_17_impossible__Cons,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,X: product_prod_nat_nat] :
      ( ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ ( size_s5460976970255530739at_nat @ Ys ) )
     => ( Xs
       != ( cons_P6512896166579812791at_nat @ X @ Ys ) ) ) ).

% impossible_Cons
thf(fact_18_impossible__Cons,axiom,
    ! [Xs: list_a,Ys: list_a,X: a] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ ( size_size_list_a @ Ys ) )
     => ( Xs
       != ( cons_a @ X @ Ys ) ) ) ).

% impossible_Cons
thf(fact_19_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_20_less__eq__prod__def,axiom,
    ( ord_le3342515230128931639_mat_a
    = ( ^ [X2: produc5370362606830271383_mat_a,Y: produc5370362606830271383_mat_a] :
          ( ( ord_less_eq_mat_a @ ( produc8618483072558553147_mat_a @ X2 ) @ ( produc8618483072558553147_mat_a @ Y ) )
          & ( ord_less_eq_mat_a @ ( produc3539460521124201597_mat_a @ X2 ) @ ( produc3539460521124201597_mat_a @ Y ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_21_less__eq__prod__def,axiom,
    ( ord_le4540232658982181201_mat_a
    = ( ^ [X2: produc5452184871688341745_mat_a,Y: produc5452184871688341745_mat_a] :
          ( ( ord_less_eq_mat_a @ ( produc7340730364199978039_mat_a @ X2 ) @ ( produc7340730364199978039_mat_a @ Y ) )
          & ( ord_le3342515230128931639_mat_a @ ( produc7508173349661082485_mat_a @ X2 ) @ ( produc7508173349661082485_mat_a @ Y ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_22_less__eq__prod__def,axiom,
    ( ord_le1154887460827354317_mat_a
    = ( ^ [X2: produc4216251508294696237_mat_a,Y: produc4216251508294696237_mat_a] :
          ( ( ord_less_eq_mat_a @ ( produc7700291086614992977_mat_a @ X2 ) @ ( produc7700291086614992977_mat_a @ Y ) )
          & ( ord_le4540232658982181201_mat_a @ ( produc1482081755353976211_mat_a @ X2 ) @ ( produc1482081755353976211_mat_a @ Y ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_23_less__eq__prod__def,axiom,
    ( ord_le8460144461188290721at_nat
    = ( ^ [X2: product_prod_nat_nat,Y: product_prod_nat_nat] :
          ( ( ord_less_eq_nat @ ( product_fst_nat_nat @ X2 ) @ ( product_fst_nat_nat @ Y ) )
          & ( ord_less_eq_nat @ ( product_snd_nat_nat @ X2 ) @ ( product_snd_nat_nat @ Y ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_24_D2__def,axiom,
    ( d2
    = ( produc7340730364199978039_mat_a @ ( produc1482081755353976211_mat_a @ ( split_block_a @ da @ a2 @ a2 ) ) ) ) ).

% D2_def
thf(fact_25_prod_Oexpand,axiom,
    ! [Prod: produc5370362606830271383_mat_a,Prod2: produc5370362606830271383_mat_a] :
      ( ( ( ( produc8618483072558553147_mat_a @ Prod )
          = ( produc8618483072558553147_mat_a @ Prod2 ) )
        & ( ( produc3539460521124201597_mat_a @ Prod )
          = ( produc3539460521124201597_mat_a @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_26_prod_Oexpand,axiom,
    ! [Prod: produc5452184871688341745_mat_a,Prod2: produc5452184871688341745_mat_a] :
      ( ( ( ( produc7340730364199978039_mat_a @ Prod )
          = ( produc7340730364199978039_mat_a @ Prod2 ) )
        & ( ( produc7508173349661082485_mat_a @ Prod )
          = ( produc7508173349661082485_mat_a @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_27_prod_Oexpand,axiom,
    ! [Prod: produc4216251508294696237_mat_a,Prod2: produc4216251508294696237_mat_a] :
      ( ( ( ( produc7700291086614992977_mat_a @ Prod )
          = ( produc7700291086614992977_mat_a @ Prod2 ) )
        & ( ( produc1482081755353976211_mat_a @ Prod )
          = ( produc1482081755353976211_mat_a @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_28_prod__eqI,axiom,
    ! [P: produc5370362606830271383_mat_a,Q: produc5370362606830271383_mat_a] :
      ( ( ( produc8618483072558553147_mat_a @ P )
        = ( produc8618483072558553147_mat_a @ Q ) )
     => ( ( ( produc3539460521124201597_mat_a @ P )
          = ( produc3539460521124201597_mat_a @ Q ) )
       => ( P = Q ) ) ) ).

% prod_eqI
thf(fact_29_prod__eqI,axiom,
    ! [P: produc5452184871688341745_mat_a,Q: produc5452184871688341745_mat_a] :
      ( ( ( produc7340730364199978039_mat_a @ P )
        = ( produc7340730364199978039_mat_a @ Q ) )
     => ( ( ( produc7508173349661082485_mat_a @ P )
          = ( produc7508173349661082485_mat_a @ Q ) )
       => ( P = Q ) ) ) ).

% prod_eqI
thf(fact_30_prod__eqI,axiom,
    ! [P: produc4216251508294696237_mat_a,Q: produc4216251508294696237_mat_a] :
      ( ( ( produc7700291086614992977_mat_a @ P )
        = ( produc7700291086614992977_mat_a @ Q ) )
     => ( ( ( produc1482081755353976211_mat_a @ P )
          = ( produc1482081755353976211_mat_a @ Q ) )
       => ( P = Q ) ) ) ).

% prod_eqI
thf(fact_31_exE__realizer_H,axiom,
    ! [P2: mat_a > mat_a > $o,P: produc5370362606830271383_mat_a] :
      ( ( P2 @ ( produc3539460521124201597_mat_a @ P ) @ ( produc8618483072558553147_mat_a @ P ) )
     => ~ ! [X3: mat_a,Y2: mat_a] :
            ~ ( P2 @ Y2 @ X3 ) ) ).

% exE_realizer'
thf(fact_32_exE__realizer_H,axiom,
    ! [P2: produc5370362606830271383_mat_a > mat_a > $o,P: produc5452184871688341745_mat_a] :
      ( ( P2 @ ( produc7508173349661082485_mat_a @ P ) @ ( produc7340730364199978039_mat_a @ P ) )
     => ~ ! [X3: mat_a,Y2: produc5370362606830271383_mat_a] :
            ~ ( P2 @ Y2 @ X3 ) ) ).

% exE_realizer'
thf(fact_33_exE__realizer_H,axiom,
    ! [P2: produc5452184871688341745_mat_a > mat_a > $o,P: produc4216251508294696237_mat_a] :
      ( ( P2 @ ( produc1482081755353976211_mat_a @ P ) @ ( produc7700291086614992977_mat_a @ P ) )
     => ~ ! [X3: mat_a,Y2: produc5452184871688341745_mat_a] :
            ~ ( P2 @ Y2 @ X3 ) ) ).

% exE_realizer'
thf(fact_34_prod__eq__iff,axiom,
    ( ( ^ [Y3: produc5370362606830271383_mat_a,Z: produc5370362606830271383_mat_a] : ( Y3 = Z ) )
    = ( ^ [S: produc5370362606830271383_mat_a,T: produc5370362606830271383_mat_a] :
          ( ( ( produc8618483072558553147_mat_a @ S )
            = ( produc8618483072558553147_mat_a @ T ) )
          & ( ( produc3539460521124201597_mat_a @ S )
            = ( produc3539460521124201597_mat_a @ T ) ) ) ) ) ).

% prod_eq_iff
thf(fact_35_prod__eq__iff,axiom,
    ( ( ^ [Y3: produc5452184871688341745_mat_a,Z: produc5452184871688341745_mat_a] : ( Y3 = Z ) )
    = ( ^ [S: produc5452184871688341745_mat_a,T: produc5452184871688341745_mat_a] :
          ( ( ( produc7340730364199978039_mat_a @ S )
            = ( produc7340730364199978039_mat_a @ T ) )
          & ( ( produc7508173349661082485_mat_a @ S )
            = ( produc7508173349661082485_mat_a @ T ) ) ) ) ) ).

% prod_eq_iff
thf(fact_36_prod__eq__iff,axiom,
    ( ( ^ [Y3: produc4216251508294696237_mat_a,Z: produc4216251508294696237_mat_a] : ( Y3 = Z ) )
    = ( ^ [S: produc4216251508294696237_mat_a,T: produc4216251508294696237_mat_a] :
          ( ( ( produc7700291086614992977_mat_a @ S )
            = ( produc7700291086614992977_mat_a @ T ) )
          & ( ( produc1482081755353976211_mat_a @ S )
            = ( produc1482081755353976211_mat_a @ T ) ) ) ) ) ).

% prod_eq_iff
thf(fact_37_append__eq__append__conv,axiom,
    ! [Xs: list_a,Ys: list_a,Us: list_a,Vs: list_a] :
      ( ( ( ( size_size_list_a @ Xs )
          = ( size_size_list_a @ Ys ) )
        | ( ( size_size_list_a @ Us )
          = ( size_size_list_a @ Vs ) ) )
     => ( ( ( append_a @ Xs @ Us )
          = ( append_a @ Ys @ Vs ) )
        = ( ( Xs = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_38_append__eq__append__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat,Us: list_nat,Vs: list_nat] :
      ( ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        | ( ( size_size_list_nat @ Us )
          = ( size_size_list_nat @ Vs ) ) )
     => ( ( ( append_nat @ Xs @ Us )
          = ( append_nat @ Ys @ Vs ) )
        = ( ( Xs = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_39_append_Osimps_I2_J,axiom,
    ! [X: a,Xs: list_a,Ys: list_a] :
      ( ( append_a @ ( cons_a @ X @ Xs ) @ Ys )
      = ( cons_a @ X @ ( append_a @ Xs @ Ys ) ) ) ).

% append.simps(2)
thf(fact_40_append_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( append_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( cons_nat @ X @ ( append_nat @ Xs @ Ys ) ) ) ).

% append.simps(2)
thf(fact_41_append_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
      = ( cons_P6512896166579812791at_nat @ X @ ( append985823374593552924at_nat @ Xs @ Ys ) ) ) ).

% append.simps(2)
thf(fact_42_not__Cons__self2,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( cons_nat @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_43_not__Cons__self2,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( cons_P6512896166579812791at_nat @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_44_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_45_list_Oinject,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat,Y21: product_prod_nat_nat,Y22: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X21 @ X22 )
        = ( cons_P6512896166579812791at_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_46_neq__if__length__neq,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs )
       != ( size_size_list_a @ Ys ) )
     => ( Xs != Ys ) ) ).

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

% neq_if_length_neq
thf(fact_48_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs2: list_a] :
      ( ( size_size_list_a @ Xs2 )
      = N ) ).

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

% Ex_list_of_length
thf(fact_50_append__eq__append__conv2,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a,Ts: list_a] :
      ( ( ( append_a @ Xs @ Ys )
        = ( append_a @ Zs @ Ts ) )
      = ( ? [Us2: list_a] :
            ( ( ( Xs
                = ( append_a @ Zs @ Us2 ) )
              & ( ( append_a @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append_a @ Xs @ Us2 )
                = Zs )
              & ( Ys
                = ( append_a @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_51_append__eq__appendI,axiom,
    ! [Xs: list_a,Xs1: list_a,Zs: list_a,Ys: list_a,Us: list_a] :
      ( ( ( append_a @ Xs @ Xs1 )
        = Zs )
     => ( ( Ys
          = ( append_a @ Xs1 @ Us ) )
       => ( ( append_a @ Xs @ Ys )
          = ( append_a @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_52_same__append__eq,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( append_a @ Xs @ Ys )
        = ( append_a @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_53_append__same__eq,axiom,
    ! [Ys: list_a,Xs: list_a,Zs: list_a] :
      ( ( ( append_a @ Ys @ Xs )
        = ( append_a @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_54_append__assoc,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ( append_a @ ( append_a @ Xs @ Ys ) @ Zs )
      = ( append_a @ Xs @ ( append_a @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_55_append_Oassoc,axiom,
    ! [A: list_a,B: list_a,C: list_a] :
      ( ( append_a @ ( append_a @ A @ B ) @ C )
      = ( append_a @ A @ ( append_a @ B @ C ) ) ) ).

% append.assoc
thf(fact_56_fst__mono,axiom,
    ! [X: produc4216251508294696237_mat_a,Y4: produc4216251508294696237_mat_a] :
      ( ( ord_le1154887460827354317_mat_a @ X @ Y4 )
     => ( ord_less_eq_mat_a @ ( produc7700291086614992977_mat_a @ X ) @ ( produc7700291086614992977_mat_a @ Y4 ) ) ) ).

% fst_mono
thf(fact_57_fst__mono,axiom,
    ! [X: produc5370362606830271383_mat_a,Y4: produc5370362606830271383_mat_a] :
      ( ( ord_le3342515230128931639_mat_a @ X @ Y4 )
     => ( ord_less_eq_mat_a @ ( produc8618483072558553147_mat_a @ X ) @ ( produc8618483072558553147_mat_a @ Y4 ) ) ) ).

% fst_mono
thf(fact_58_fst__mono,axiom,
    ! [X: produc5452184871688341745_mat_a,Y4: produc5452184871688341745_mat_a] :
      ( ( ord_le4540232658982181201_mat_a @ X @ Y4 )
     => ( ord_less_eq_mat_a @ ( produc7340730364199978039_mat_a @ X ) @ ( produc7340730364199978039_mat_a @ Y4 ) ) ) ).

% fst_mono
thf(fact_59_snd__mono,axiom,
    ! [X: produc5370362606830271383_mat_a,Y4: produc5370362606830271383_mat_a] :
      ( ( ord_le3342515230128931639_mat_a @ X @ Y4 )
     => ( ord_less_eq_mat_a @ ( produc3539460521124201597_mat_a @ X ) @ ( produc3539460521124201597_mat_a @ Y4 ) ) ) ).

% snd_mono
thf(fact_60_snd__mono,axiom,
    ! [X: produc5452184871688341745_mat_a,Y4: produc5452184871688341745_mat_a] :
      ( ( ord_le4540232658982181201_mat_a @ X @ Y4 )
     => ( ord_le3342515230128931639_mat_a @ ( produc7508173349661082485_mat_a @ X ) @ ( produc7508173349661082485_mat_a @ Y4 ) ) ) ).

% snd_mono
thf(fact_61_snd__mono,axiom,
    ! [X: produc4216251508294696237_mat_a,Y4: produc4216251508294696237_mat_a] :
      ( ( ord_le1154887460827354317_mat_a @ X @ Y4 )
     => ( ord_le4540232658982181201_mat_a @ ( produc1482081755353976211_mat_a @ X ) @ ( produc1482081755353976211_mat_a @ Y4 ) ) ) ).

% snd_mono
thf(fact_62_Cons__eq__appendI,axiom,
    ! [X: a,Xs1: list_a,Ys: list_a,Xs: list_a,Zs: list_a] :
      ( ( ( cons_a @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_a @ Xs1 @ Zs ) )
       => ( ( cons_a @ X @ Xs )
          = ( append_a @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_63_Cons__eq__appendI,axiom,
    ! [X: nat,Xs1: list_nat,Ys: list_nat,Xs: list_nat,Zs: list_nat] :
      ( ( ( cons_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_nat @ Xs1 @ Zs ) )
       => ( ( cons_nat @ X @ Xs )
          = ( append_nat @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_64_Cons__eq__appendI,axiom,
    ! [X: product_prod_nat_nat,Xs1: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Xs: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append985823374593552924at_nat @ Xs1 @ Zs ) )
       => ( ( cons_P6512896166579812791at_nat @ X @ Xs )
          = ( append985823374593552924at_nat @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_65_spd,axiom,
    ( ( split_block_a @ da @ a2 @ a2 )
    = ( produc5286753621172121189_mat_a @ d1 @ ( produc7602877900562455331_mat_a @ d2 @ ( produc3091253522927621199_mat_a @ d3 @ d4 ) ) ) ) ).

% spd
thf(fact_66_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_67_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ).

% diff_le_mono2
thf(fact_68_mem__Collect__eq,axiom,
    ! [A: mat_a,P2: mat_a > $o] :
      ( ( member_mat_a @ A @ ( collect_mat_a @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_69_mem__Collect__eq,axiom,
    ! [A: mat_complex,P2: mat_complex > $o] :
      ( ( member_mat_complex @ A @ ( collect_mat_complex @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_70_Collect__mem__eq,axiom,
    ! [A2: set_mat_a] :
      ( ( collect_mat_a
        @ ^ [X2: mat_a] : ( member_mat_a @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_71_Collect__mem__eq,axiom,
    ! [A2: set_mat_complex] :
      ( ( collect_mat_complex
        @ ^ [X2: mat_complex] : ( member_mat_complex @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_72_le__diff__iff_H,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C @ A ) @ ( minus_minus_nat @ C @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_73_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_74_diff__le__mono,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_75_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_76_le__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_77_eq__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_78_prod__induct4,axiom,
    ! [P2: produc4216251508294696237_mat_a > $o,X: produc4216251508294696237_mat_a] :
      ( ! [A3: mat_a,B2: mat_a,C2: mat_a,D: mat_a] : ( P2 @ ( produc5286753621172121189_mat_a @ A3 @ ( produc7602877900562455331_mat_a @ B2 @ ( produc3091253522927621199_mat_a @ C2 @ D ) ) ) )
     => ( P2 @ X ) ) ).

% prod_induct4
thf(fact_79_prod__induct3,axiom,
    ! [P2: produc4216251508294696237_mat_a > $o,X: produc4216251508294696237_mat_a] :
      ( ! [A3: mat_a,B2: mat_a,C2: produc5370362606830271383_mat_a] : ( P2 @ ( produc5286753621172121189_mat_a @ A3 @ ( produc7602877900562455331_mat_a @ B2 @ C2 ) ) )
     => ( P2 @ X ) ) ).

% prod_induct3
thf(fact_80_prod__induct3,axiom,
    ! [P2: produc5452184871688341745_mat_a > $o,X: produc5452184871688341745_mat_a] :
      ( ! [A3: mat_a,B2: mat_a,C2: mat_a] : ( P2 @ ( produc7602877900562455331_mat_a @ A3 @ ( produc3091253522927621199_mat_a @ B2 @ C2 ) ) )
     => ( P2 @ X ) ) ).

% prod_induct3
thf(fact_81_prod__cases4,axiom,
    ! [Y4: produc4216251508294696237_mat_a] :
      ~ ! [A3: mat_a,B2: mat_a,C2: mat_a,D: mat_a] :
          ( Y4
         != ( produc5286753621172121189_mat_a @ A3 @ ( produc7602877900562455331_mat_a @ B2 @ ( produc3091253522927621199_mat_a @ C2 @ D ) ) ) ) ).

% prod_cases4
thf(fact_82_prod__cases3,axiom,
    ! [Y4: produc4216251508294696237_mat_a] :
      ~ ! [A3: mat_a,B2: mat_a,C2: produc5370362606830271383_mat_a] :
          ( Y4
         != ( produc5286753621172121189_mat_a @ A3 @ ( produc7602877900562455331_mat_a @ B2 @ C2 ) ) ) ).

% prod_cases3
thf(fact_83_prod__cases3,axiom,
    ! [Y4: produc5452184871688341745_mat_a] :
      ~ ! [A3: mat_a,B2: mat_a,C2: mat_a] :
          ( Y4
         != ( produc7602877900562455331_mat_a @ A3 @ ( produc3091253522927621199_mat_a @ B2 @ C2 ) ) ) ).

% prod_cases3
thf(fact_84_Pair__inject,axiom,
    ! [A: mat_a,B: produc5452184871688341745_mat_a,A4: mat_a,B3: produc5452184871688341745_mat_a] :
      ( ( ( produc5286753621172121189_mat_a @ A @ B )
        = ( produc5286753621172121189_mat_a @ A4 @ B3 ) )
     => ~ ( ( A = A4 )
         => ( B != B3 ) ) ) ).

% Pair_inject
thf(fact_85_Pair__inject,axiom,
    ! [A: mat_a,B: produc5370362606830271383_mat_a,A4: mat_a,B3: produc5370362606830271383_mat_a] :
      ( ( ( produc7602877900562455331_mat_a @ A @ B )
        = ( produc7602877900562455331_mat_a @ A4 @ B3 ) )
     => ~ ( ( A = A4 )
         => ( B != B3 ) ) ) ).

% Pair_inject
thf(fact_86_Pair__inject,axiom,
    ! [A: mat_a,B: mat_a,A4: mat_a,B3: mat_a] :
      ( ( ( produc3091253522927621199_mat_a @ A @ B )
        = ( produc3091253522927621199_mat_a @ A4 @ B3 ) )
     => ~ ( ( A = A4 )
         => ( B != B3 ) ) ) ).

% Pair_inject
thf(fact_87_Pair__inject,axiom,
    ! [A: nat,B: nat,A4: nat,B3: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A4 @ B3 ) )
     => ~ ( ( A = A4 )
         => ( B != B3 ) ) ) ).

% Pair_inject
thf(fact_88_Pair__inject,axiom,
    ! [A: product_prod_nat_nat,B: list_P6011104703257516679at_nat,A4: product_prod_nat_nat,B3: list_P6011104703257516679at_nat] :
      ( ( ( produc1593612501639298397at_nat @ A @ B )
        = ( produc1593612501639298397at_nat @ A4 @ B3 ) )
     => ~ ( ( A = A4 )
         => ( B != B3 ) ) ) ).

% Pair_inject
thf(fact_89_prod__cases,axiom,
    ! [P2: produc4216251508294696237_mat_a > $o,P: produc4216251508294696237_mat_a] :
      ( ! [A3: mat_a,B2: produc5452184871688341745_mat_a] : ( P2 @ ( produc5286753621172121189_mat_a @ A3 @ B2 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_90_prod__cases,axiom,
    ! [P2: produc5452184871688341745_mat_a > $o,P: produc5452184871688341745_mat_a] :
      ( ! [A3: mat_a,B2: produc5370362606830271383_mat_a] : ( P2 @ ( produc7602877900562455331_mat_a @ A3 @ B2 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_91_prod__cases,axiom,
    ! [P2: produc5370362606830271383_mat_a > $o,P: produc5370362606830271383_mat_a] :
      ( ! [A3: mat_a,B2: mat_a] : ( P2 @ ( produc3091253522927621199_mat_a @ A3 @ B2 ) )
     => ( P2 @ P ) ) ).

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

% prod_cases
thf(fact_93_prod__cases,axiom,
    ! [P2: produc7489448085829838189at_nat > $o,P: produc7489448085829838189at_nat] :
      ( ! [A3: product_prod_nat_nat,B2: list_P6011104703257516679at_nat] : ( P2 @ ( produc1593612501639298397at_nat @ A3 @ B2 ) )
     => ( P2 @ P ) ) ).

% prod_cases
thf(fact_94_surj__pair,axiom,
    ! [P: produc4216251508294696237_mat_a] :
    ? [X3: mat_a,Y2: produc5452184871688341745_mat_a] :
      ( P
      = ( produc5286753621172121189_mat_a @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_95_surj__pair,axiom,
    ! [P: produc5452184871688341745_mat_a] :
    ? [X3: mat_a,Y2: produc5370362606830271383_mat_a] :
      ( P
      = ( produc7602877900562455331_mat_a @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_96_surj__pair,axiom,
    ! [P: produc5370362606830271383_mat_a] :
    ? [X3: mat_a,Y2: mat_a] :
      ( P
      = ( produc3091253522927621199_mat_a @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_97_surj__pair,axiom,
    ! [P: product_prod_nat_nat] :
    ? [X3: nat,Y2: nat] :
      ( P
      = ( product_Pair_nat_nat @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_98_surj__pair,axiom,
    ! [P: produc7489448085829838189at_nat] :
    ? [X3: product_prod_nat_nat,Y2: list_P6011104703257516679at_nat] :
      ( P
      = ( produc1593612501639298397at_nat @ X3 @ Y2 ) ) ).

% surj_pair
thf(fact_99_old_Oprod_Oinducts,axiom,
    ! [P2: produc4216251508294696237_mat_a > $o,Prod: produc4216251508294696237_mat_a] :
      ( ! [A3: mat_a,B2: produc5452184871688341745_mat_a] : ( P2 @ ( produc5286753621172121189_mat_a @ A3 @ B2 ) )
     => ( P2 @ Prod ) ) ).

% old.prod.inducts
thf(fact_100_old_Oprod_Oinducts,axiom,
    ! [P2: produc5452184871688341745_mat_a > $o,Prod: produc5452184871688341745_mat_a] :
      ( ! [A3: mat_a,B2: produc5370362606830271383_mat_a] : ( P2 @ ( produc7602877900562455331_mat_a @ A3 @ B2 ) )
     => ( P2 @ Prod ) ) ).

% old.prod.inducts
thf(fact_101_old_Oprod_Oinducts,axiom,
    ! [P2: produc5370362606830271383_mat_a > $o,Prod: produc5370362606830271383_mat_a] :
      ( ! [A3: mat_a,B2: mat_a] : ( P2 @ ( produc3091253522927621199_mat_a @ A3 @ B2 ) )
     => ( P2 @ Prod ) ) ).

% old.prod.inducts
thf(fact_102_old_Oprod_Oinducts,axiom,
    ! [P2: product_prod_nat_nat > $o,Prod: product_prod_nat_nat] :
      ( ! [A3: nat,B2: nat] : ( P2 @ ( product_Pair_nat_nat @ A3 @ B2 ) )
     => ( P2 @ Prod ) ) ).

% old.prod.inducts
thf(fact_103_old_Oprod_Oinducts,axiom,
    ! [P2: produc7489448085829838189at_nat > $o,Prod: produc7489448085829838189at_nat] :
      ( ! [A3: product_prod_nat_nat,B2: list_P6011104703257516679at_nat] : ( P2 @ ( produc1593612501639298397at_nat @ A3 @ B2 ) )
     => ( P2 @ Prod ) ) ).

% old.prod.inducts
thf(fact_104_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc4216251508294696237_mat_a] :
      ~ ! [A3: mat_a,B2: produc5452184871688341745_mat_a] :
          ( Y4
         != ( produc5286753621172121189_mat_a @ A3 @ B2 ) ) ).

% old.prod.exhaust
thf(fact_105_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc5452184871688341745_mat_a] :
      ~ ! [A3: mat_a,B2: produc5370362606830271383_mat_a] :
          ( Y4
         != ( produc7602877900562455331_mat_a @ A3 @ B2 ) ) ).

% old.prod.exhaust
thf(fact_106_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc5370362606830271383_mat_a] :
      ~ ! [A3: mat_a,B2: mat_a] :
          ( Y4
         != ( produc3091253522927621199_mat_a @ A3 @ B2 ) ) ).

% old.prod.exhaust
thf(fact_107_old_Oprod_Oexhaust,axiom,
    ! [Y4: product_prod_nat_nat] :
      ~ ! [A3: nat,B2: nat] :
          ( Y4
         != ( product_Pair_nat_nat @ A3 @ B2 ) ) ).

% old.prod.exhaust
thf(fact_108_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc7489448085829838189at_nat] :
      ~ ! [A3: product_prod_nat_nat,B2: list_P6011104703257516679at_nat] :
          ( Y4
         != ( produc1593612501639298397at_nat @ A3 @ B2 ) ) ).

% old.prod.exhaust
thf(fact_109_old_Oprod_Oinject,axiom,
    ! [A: mat_a,B: produc5452184871688341745_mat_a,A4: mat_a,B3: produc5452184871688341745_mat_a] :
      ( ( ( produc5286753621172121189_mat_a @ A @ B )
        = ( produc5286753621172121189_mat_a @ A4 @ B3 ) )
      = ( ( A = A4 )
        & ( B = B3 ) ) ) ).

% old.prod.inject
thf(fact_110_old_Oprod_Oinject,axiom,
    ! [A: mat_a,B: produc5370362606830271383_mat_a,A4: mat_a,B3: produc5370362606830271383_mat_a] :
      ( ( ( produc7602877900562455331_mat_a @ A @ B )
        = ( produc7602877900562455331_mat_a @ A4 @ B3 ) )
      = ( ( A = A4 )
        & ( B = B3 ) ) ) ).

% old.prod.inject
thf(fact_111_old_Oprod_Oinject,axiom,
    ! [A: mat_a,B: mat_a,A4: mat_a,B3: mat_a] :
      ( ( ( produc3091253522927621199_mat_a @ A @ B )
        = ( produc3091253522927621199_mat_a @ A4 @ B3 ) )
      = ( ( A = A4 )
        & ( B = B3 ) ) ) ).

% old.prod.inject
thf(fact_112_old_Oprod_Oinject,axiom,
    ! [A: nat,B: nat,A4: nat,B3: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A4 @ B3 ) )
      = ( ( A = A4 )
        & ( B = B3 ) ) ) ).

% old.prod.inject
thf(fact_113_old_Oprod_Oinject,axiom,
    ! [A: product_prod_nat_nat,B: list_P6011104703257516679at_nat,A4: product_prod_nat_nat,B3: list_P6011104703257516679at_nat] :
      ( ( ( produc1593612501639298397at_nat @ A @ B )
        = ( produc1593612501639298397at_nat @ A4 @ B3 ) )
      = ( ( A = A4 )
        & ( B = B3 ) ) ) ).

% old.prod.inject
thf(fact_114_prod_Oinject,axiom,
    ! [X1: mat_a,X23: produc5452184871688341745_mat_a,Y1: mat_a,Y23: produc5452184871688341745_mat_a] :
      ( ( ( produc5286753621172121189_mat_a @ X1 @ X23 )
        = ( produc5286753621172121189_mat_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_115_prod_Oinject,axiom,
    ! [X1: mat_a,X23: produc5370362606830271383_mat_a,Y1: mat_a,Y23: produc5370362606830271383_mat_a] :
      ( ( ( produc7602877900562455331_mat_a @ X1 @ X23 )
        = ( produc7602877900562455331_mat_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_116_prod_Oinject,axiom,
    ! [X1: mat_a,X23: mat_a,Y1: mat_a,Y23: mat_a] :
      ( ( ( produc3091253522927621199_mat_a @ X1 @ X23 )
        = ( produc3091253522927621199_mat_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_117_prod_Oinject,axiom,
    ! [X1: nat,X23: nat,Y1: nat,Y23: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X23 )
        = ( product_Pair_nat_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_118_prod_Oinject,axiom,
    ! [X1: product_prod_nat_nat,X23: list_P6011104703257516679at_nat,Y1: product_prod_nat_nat,Y23: list_P6011104703257516679at_nat] :
      ( ( ( produc1593612501639298397at_nat @ X1 @ X23 )
        = ( produc1593612501639298397at_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_119_diff__Pair,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( minus_4365393887724441320at_nat @ ( product_Pair_nat_nat @ A @ B ) @ ( product_Pair_nat_nat @ C @ D2 ) )
      = ( product_Pair_nat_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ D2 ) ) ) ).

% diff_Pair
thf(fact_120_diff__Pair,axiom,
    ! [A: nat,B: mat_complex,C: nat,D2: mat_complex] :
      ( ( minus_9125208095613564965omplex @ ( produc4998868960714853886omplex @ A @ B ) @ ( produc4998868960714853886omplex @ C @ D2 ) )
      = ( produc4998868960714853886omplex @ ( minus_minus_nat @ A @ C ) @ ( minus_2412168080157227406omplex @ B @ D2 ) ) ) ).

% diff_Pair
thf(fact_121_diff__Pair,axiom,
    ! [A: mat_complex,B: nat,C: mat_complex,D2: nat] :
      ( ( minus_1583438508407137535ex_nat @ ( produc3916067632315525152ex_nat @ A @ B ) @ ( produc3916067632315525152ex_nat @ C @ D2 ) )
      = ( produc3916067632315525152ex_nat @ ( minus_2412168080157227406omplex @ A @ C ) @ ( minus_minus_nat @ B @ D2 ) ) ) ).

% diff_Pair
thf(fact_122_diff__Pair,axiom,
    ! [A: mat_complex,B: mat_complex,C: mat_complex,D2: mat_complex] :
      ( ( minus_2734116836287720782omplex @ ( produc3658446505030690647omplex @ A @ B ) @ ( produc3658446505030690647omplex @ C @ D2 ) )
      = ( produc3658446505030690647omplex @ ( minus_2412168080157227406omplex @ A @ C ) @ ( minus_2412168080157227406omplex @ B @ D2 ) ) ) ).

% diff_Pair
thf(fact_123_split__block__diag__carrier_I1_J,axiom,
    ! [D3: mat_complex,N: nat,A: nat,D1: mat_complex,D22: mat_complex,D32: mat_complex,D4: mat_complex] :
      ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_eq_nat @ A @ N )
       => ( ( ( split_block_complex @ D3 @ A @ A )
            = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D32 @ D4 ) ) ) )
         => ( member_mat_complex @ D1 @ ( carrier_mat_complex @ A @ A ) ) ) ) ) ).

% split_block_diag_carrier(1)
thf(fact_124_split__block__diag__carrier_I1_J,axiom,
    ! [D3: mat_a,N: nat,A: nat,D1: mat_a,D22: mat_a,D32: mat_a,D4: mat_a] :
      ( ( member_mat_a @ D3 @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_eq_nat @ A @ N )
       => ( ( ( split_block_a @ D3 @ A @ A )
            = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D32 @ D4 ) ) ) )
         => ( member_mat_a @ D1 @ ( carrier_mat_a @ A @ A ) ) ) ) ) ).

% split_block_diag_carrier(1)
thf(fact_125_prod_Osel_I1_J,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X1 ) ).

% prod.sel(1)
thf(fact_126_prod_Osel_I1_J,axiom,
    ! [X1: product_prod_nat_nat,X23: list_P6011104703257516679at_nat] :
      ( ( produc7510217175138029897at_nat @ ( produc1593612501639298397at_nat @ X1 @ X23 ) )
      = X1 ) ).

% prod.sel(1)
thf(fact_127_prod_Osel_I1_J,axiom,
    ! [X1: mat_a,X23: produc5452184871688341745_mat_a] :
      ( ( produc7700291086614992977_mat_a @ ( produc5286753621172121189_mat_a @ X1 @ X23 ) )
      = X1 ) ).

% prod.sel(1)
thf(fact_128_prod_Osel_I1_J,axiom,
    ! [X1: mat_a,X23: mat_a] :
      ( ( produc8618483072558553147_mat_a @ ( produc3091253522927621199_mat_a @ X1 @ X23 ) )
      = X1 ) ).

% prod.sel(1)
thf(fact_129_prod_Osel_I1_J,axiom,
    ! [X1: mat_a,X23: produc5370362606830271383_mat_a] :
      ( ( produc7340730364199978039_mat_a @ ( produc7602877900562455331_mat_a @ X1 @ X23 ) )
      = X1 ) ).

% prod.sel(1)
thf(fact_130_fst__eqD,axiom,
    ! [X: nat,Y4: nat,A: nat] :
      ( ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y4 ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_131_fst__eqD,axiom,
    ! [X: product_prod_nat_nat,Y4: list_P6011104703257516679at_nat,A: product_prod_nat_nat] :
      ( ( ( produc7510217175138029897at_nat @ ( produc1593612501639298397at_nat @ X @ Y4 ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_132_fst__eqD,axiom,
    ! [X: mat_a,Y4: produc5452184871688341745_mat_a,A: mat_a] :
      ( ( ( produc7700291086614992977_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_133_fst__eqD,axiom,
    ! [X: mat_a,Y4: mat_a,A: mat_a] :
      ( ( ( produc8618483072558553147_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_134_fst__eqD,axiom,
    ! [X: mat_a,Y4: produc5370362606830271383_mat_a,A: mat_a] :
      ( ( ( produc7340730364199978039_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) )
        = A )
     => ( X = A ) ) ).

% fst_eqD
thf(fact_135_prod_Osel_I2_J,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X23 ) ).

% prod.sel(2)
thf(fact_136_prod_Osel_I2_J,axiom,
    ! [X1: product_prod_nat_nat,X23: list_P6011104703257516679at_nat] :
      ( ( produc1817956038046406027at_nat @ ( produc1593612501639298397at_nat @ X1 @ X23 ) )
      = X23 ) ).

% prod.sel(2)
thf(fact_137_prod_Osel_I2_J,axiom,
    ! [X1: mat_a,X23: mat_a] :
      ( ( produc3539460521124201597_mat_a @ ( produc3091253522927621199_mat_a @ X1 @ X23 ) )
      = X23 ) ).

% prod.sel(2)
thf(fact_138_prod_Osel_I2_J,axiom,
    ! [X1: mat_a,X23: produc5370362606830271383_mat_a] :
      ( ( produc7508173349661082485_mat_a @ ( produc7602877900562455331_mat_a @ X1 @ X23 ) )
      = X23 ) ).

% prod.sel(2)
thf(fact_139_prod_Osel_I2_J,axiom,
    ! [X1: mat_a,X23: produc5452184871688341745_mat_a] :
      ( ( produc1482081755353976211_mat_a @ ( produc5286753621172121189_mat_a @ X1 @ X23 ) )
      = X23 ) ).

% prod.sel(2)
thf(fact_140_snd__eqD,axiom,
    ! [X: nat,Y4: nat,A: nat] :
      ( ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y4 ) )
        = A )
     => ( Y4 = A ) ) ).

% snd_eqD
thf(fact_141_snd__eqD,axiom,
    ! [X: product_prod_nat_nat,Y4: list_P6011104703257516679at_nat,A: list_P6011104703257516679at_nat] :
      ( ( ( produc1817956038046406027at_nat @ ( produc1593612501639298397at_nat @ X @ Y4 ) )
        = A )
     => ( Y4 = A ) ) ).

% snd_eqD
thf(fact_142_snd__eqD,axiom,
    ! [X: mat_a,Y4: mat_a,A: mat_a] :
      ( ( ( produc3539460521124201597_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) )
        = A )
     => ( Y4 = A ) ) ).

% snd_eqD
thf(fact_143_snd__eqD,axiom,
    ! [X: mat_a,Y4: produc5370362606830271383_mat_a,A: produc5370362606830271383_mat_a] :
      ( ( ( produc7508173349661082485_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) )
        = A )
     => ( Y4 = A ) ) ).

% snd_eqD
thf(fact_144_snd__eqD,axiom,
    ! [X: mat_a,Y4: produc5452184871688341745_mat_a,A: produc5452184871688341745_mat_a] :
      ( ( ( produc1482081755353976211_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) )
        = A )
     => ( Y4 = A ) ) ).

% snd_eqD
thf(fact_145_split__block__diag__carrier_I2_J,axiom,
    ! [D3: mat_complex,N: nat,A: nat,D1: mat_complex,D22: mat_complex,D32: mat_complex,D4: mat_complex] :
      ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_eq_nat @ A @ N )
       => ( ( ( split_block_complex @ D3 @ A @ A )
            = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D32 @ D4 ) ) ) )
         => ( member_mat_complex @ D4 @ ( carrier_mat_complex @ ( minus_minus_nat @ N @ A ) @ ( minus_minus_nat @ N @ A ) ) ) ) ) ) ).

% split_block_diag_carrier(2)
thf(fact_146_split__block__diag__carrier_I2_J,axiom,
    ! [D3: mat_a,N: nat,A: nat,D1: mat_a,D22: mat_a,D32: mat_a,D4: mat_a] :
      ( ( member_mat_a @ D3 @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_eq_nat @ A @ N )
       => ( ( ( split_block_a @ D3 @ A @ A )
            = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D32 @ D4 ) ) ) )
         => ( member_mat_a @ D4 @ ( carrier_mat_a @ ( minus_minus_nat @ N @ A ) @ ( minus_minus_nat @ N @ A ) ) ) ) ) ) ).

% split_block_diag_carrier(2)
thf(fact_147_minus__prod__def,axiom,
    ( minus_4365393887724441320at_nat
    = ( ^ [X2: product_prod_nat_nat,Y: product_prod_nat_nat] : ( product_Pair_nat_nat @ ( minus_minus_nat @ ( product_fst_nat_nat @ X2 ) @ ( product_fst_nat_nat @ Y ) ) @ ( minus_minus_nat @ ( product_snd_nat_nat @ X2 ) @ ( product_snd_nat_nat @ Y ) ) ) ) ) ).

% minus_prod_def
thf(fact_148_minus__prod__def,axiom,
    ( minus_9125208095613564965omplex
    = ( ^ [X2: produc3259542890344722124omplex,Y: produc3259542890344722124omplex] : ( produc4998868960714853886omplex @ ( minus_minus_nat @ ( produc8687169775924804370omplex @ X2 ) @ ( produc8687169775924804370omplex @ Y ) ) @ ( minus_2412168080157227406omplex @ ( produc130099875952336976omplex @ X2 ) @ ( produc130099875952336976omplex @ Y ) ) ) ) ) ).

% minus_prod_def
thf(fact_149_minus__prod__def,axiom,
    ( minus_1583438508407137535ex_nat
    = ( ^ [X2: produc4941145339993070502ex_nat,Y: produc4941145339993070502ex_nat] : ( produc3916067632315525152ex_nat @ ( minus_2412168080157227406omplex @ ( produc7604368447525475636ex_nat @ X2 ) @ ( produc7604368447525475636ex_nat @ Y ) ) @ ( minus_minus_nat @ ( produc8270670584407784050ex_nat @ X2 ) @ ( produc8270670584407784050ex_nat @ Y ) ) ) ) ) ).

% minus_prod_def
thf(fact_150_minus__prod__def,axiom,
    ( minus_2734116836287720782omplex
    = ( ^ [X2: produc352478934956084711omplex,Y: produc352478934956084711omplex] : ( produc3658446505030690647omplex @ ( minus_2412168080157227406omplex @ ( produc9163778666669654339omplex @ X2 ) @ ( produc9163778666669654339omplex @ Y ) ) @ ( minus_2412168080157227406omplex @ ( produc4897211011226852997omplex @ X2 ) @ ( produc4897211011226852997omplex @ Y ) ) ) ) ) ).

% minus_prod_def
thf(fact_151_prod_Ocollapse,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_152_prod_Ocollapse,axiom,
    ! [Prod: produc7489448085829838189at_nat] :
      ( ( produc1593612501639298397at_nat @ ( produc7510217175138029897at_nat @ Prod ) @ ( produc1817956038046406027at_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_153_prod_Ocollapse,axiom,
    ! [Prod: produc5370362606830271383_mat_a] :
      ( ( produc3091253522927621199_mat_a @ ( produc8618483072558553147_mat_a @ Prod ) @ ( produc3539460521124201597_mat_a @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_154_prod_Ocollapse,axiom,
    ! [Prod: produc5452184871688341745_mat_a] :
      ( ( produc7602877900562455331_mat_a @ ( produc7340730364199978039_mat_a @ Prod ) @ ( produc7508173349661082485_mat_a @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_155_prod_Ocollapse,axiom,
    ! [Prod: produc4216251508294696237_mat_a] :
      ( ( produc5286753621172121189_mat_a @ ( produc7700291086614992977_mat_a @ Prod ) @ ( produc1482081755353976211_mat_a @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_156_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( Prod
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_157_prod_Oexhaust__sel,axiom,
    ! [Prod: produc7489448085829838189at_nat] :
      ( Prod
      = ( produc1593612501639298397at_nat @ ( produc7510217175138029897at_nat @ Prod ) @ ( produc1817956038046406027at_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_158_prod_Oexhaust__sel,axiom,
    ! [Prod: produc5370362606830271383_mat_a] :
      ( Prod
      = ( produc3091253522927621199_mat_a @ ( produc8618483072558553147_mat_a @ Prod ) @ ( produc3539460521124201597_mat_a @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_159_prod_Oexhaust__sel,axiom,
    ! [Prod: produc5452184871688341745_mat_a] :
      ( Prod
      = ( produc7602877900562455331_mat_a @ ( produc7340730364199978039_mat_a @ Prod ) @ ( produc7508173349661082485_mat_a @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_160_prod_Oexhaust__sel,axiom,
    ! [Prod: produc4216251508294696237_mat_a] :
      ( Prod
      = ( produc5286753621172121189_mat_a @ ( produc7700291086614992977_mat_a @ Prod ) @ ( produc1482081755353976211_mat_a @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_161_exI__realizer,axiom,
    ! [P2: nat > nat > $o,Y4: nat,X: nat] :
      ( ( P2 @ Y4 @ X )
     => ( P2 @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y4 ) ) @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y4 ) ) ) ) ).

% exI_realizer
thf(fact_162_exI__realizer,axiom,
    ! [P2: list_P6011104703257516679at_nat > product_prod_nat_nat > $o,Y4: list_P6011104703257516679at_nat,X: product_prod_nat_nat] :
      ( ( P2 @ Y4 @ X )
     => ( P2 @ ( produc1817956038046406027at_nat @ ( produc1593612501639298397at_nat @ X @ Y4 ) ) @ ( produc7510217175138029897at_nat @ ( produc1593612501639298397at_nat @ X @ Y4 ) ) ) ) ).

% exI_realizer
thf(fact_163_exI__realizer,axiom,
    ! [P2: mat_a > mat_a > $o,Y4: mat_a,X: mat_a] :
      ( ( P2 @ Y4 @ X )
     => ( P2 @ ( produc3539460521124201597_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) ) @ ( produc8618483072558553147_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) ) ) ) ).

% exI_realizer
thf(fact_164_exI__realizer,axiom,
    ! [P2: produc5370362606830271383_mat_a > mat_a > $o,Y4: produc5370362606830271383_mat_a,X: mat_a] :
      ( ( P2 @ Y4 @ X )
     => ( P2 @ ( produc7508173349661082485_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) ) @ ( produc7340730364199978039_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) ) ) ) ).

% exI_realizer
thf(fact_165_exI__realizer,axiom,
    ! [P2: produc5452184871688341745_mat_a > mat_a > $o,Y4: produc5452184871688341745_mat_a,X: mat_a] :
      ( ( P2 @ Y4 @ X )
     => ( P2 @ ( produc1482081755353976211_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) ) @ ( produc7700291086614992977_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) ) ) ) ).

% exI_realizer
thf(fact_166_conjI__realizer,axiom,
    ! [P2: nat > $o,P: nat,Q2: nat > $o,Q: nat] :
      ( ( P2 @ P )
     => ( ( Q2 @ Q )
       => ( ( P2 @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ P @ Q ) ) )
          & ( Q2 @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ P @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_167_conjI__realizer,axiom,
    ! [P2: product_prod_nat_nat > $o,P: product_prod_nat_nat,Q2: list_P6011104703257516679at_nat > $o,Q: list_P6011104703257516679at_nat] :
      ( ( P2 @ P )
     => ( ( Q2 @ Q )
       => ( ( P2 @ ( produc7510217175138029897at_nat @ ( produc1593612501639298397at_nat @ P @ Q ) ) )
          & ( Q2 @ ( produc1817956038046406027at_nat @ ( produc1593612501639298397at_nat @ P @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_168_conjI__realizer,axiom,
    ! [P2: mat_a > $o,P: mat_a,Q2: mat_a > $o,Q: mat_a] :
      ( ( P2 @ P )
     => ( ( Q2 @ Q )
       => ( ( P2 @ ( produc8618483072558553147_mat_a @ ( produc3091253522927621199_mat_a @ P @ Q ) ) )
          & ( Q2 @ ( produc3539460521124201597_mat_a @ ( produc3091253522927621199_mat_a @ P @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_169_conjI__realizer,axiom,
    ! [P2: mat_a > $o,P: mat_a,Q2: produc5370362606830271383_mat_a > $o,Q: produc5370362606830271383_mat_a] :
      ( ( P2 @ P )
     => ( ( Q2 @ Q )
       => ( ( P2 @ ( produc7340730364199978039_mat_a @ ( produc7602877900562455331_mat_a @ P @ Q ) ) )
          & ( Q2 @ ( produc7508173349661082485_mat_a @ ( produc7602877900562455331_mat_a @ P @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_170_conjI__realizer,axiom,
    ! [P2: mat_a > $o,P: mat_a,Q2: produc5452184871688341745_mat_a > $o,Q: produc5452184871688341745_mat_a] :
      ( ( P2 @ P )
     => ( ( Q2 @ Q )
       => ( ( P2 @ ( produc7700291086614992977_mat_a @ ( produc5286753621172121189_mat_a @ P @ Q ) ) )
          & ( Q2 @ ( produc1482081755353976211_mat_a @ ( produc5286753621172121189_mat_a @ P @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_171_surjective__pairing,axiom,
    ! [T2: product_prod_nat_nat] :
      ( T2
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ T2 ) @ ( product_snd_nat_nat @ T2 ) ) ) ).

% surjective_pairing
thf(fact_172_surjective__pairing,axiom,
    ! [T2: produc7489448085829838189at_nat] :
      ( T2
      = ( produc1593612501639298397at_nat @ ( produc7510217175138029897at_nat @ T2 ) @ ( produc1817956038046406027at_nat @ T2 ) ) ) ).

% surjective_pairing
thf(fact_173_surjective__pairing,axiom,
    ! [T2: produc5370362606830271383_mat_a] :
      ( T2
      = ( produc3091253522927621199_mat_a @ ( produc8618483072558553147_mat_a @ T2 ) @ ( produc3539460521124201597_mat_a @ T2 ) ) ) ).

% surjective_pairing
thf(fact_174_surjective__pairing,axiom,
    ! [T2: produc5452184871688341745_mat_a] :
      ( T2
      = ( produc7602877900562455331_mat_a @ ( produc7340730364199978039_mat_a @ T2 ) @ ( produc7508173349661082485_mat_a @ T2 ) ) ) ).

% surjective_pairing
thf(fact_175_surjective__pairing,axiom,
    ! [T2: produc4216251508294696237_mat_a] :
      ( T2
      = ( produc5286753621172121189_mat_a @ ( produc7700291086614992977_mat_a @ T2 ) @ ( produc1482081755353976211_mat_a @ T2 ) ) ) ).

% surjective_pairing
thf(fact_176_Pair__le,axiom,
    ! [A: mat_a,B: produc5452184871688341745_mat_a,C: mat_a,D2: produc5452184871688341745_mat_a] :
      ( ( ord_le1154887460827354317_mat_a @ ( produc5286753621172121189_mat_a @ A @ B ) @ ( produc5286753621172121189_mat_a @ C @ D2 ) )
      = ( ( ord_less_eq_mat_a @ A @ C )
        & ( ord_le4540232658982181201_mat_a @ B @ D2 ) ) ) ).

% Pair_le
thf(fact_177_Pair__le,axiom,
    ! [A: mat_a,B: produc5370362606830271383_mat_a,C: mat_a,D2: produc5370362606830271383_mat_a] :
      ( ( ord_le4540232658982181201_mat_a @ ( produc7602877900562455331_mat_a @ A @ B ) @ ( produc7602877900562455331_mat_a @ C @ D2 ) )
      = ( ( ord_less_eq_mat_a @ A @ C )
        & ( ord_le3342515230128931639_mat_a @ B @ D2 ) ) ) ).

% Pair_le
thf(fact_178_Pair__le,axiom,
    ! [A: mat_a,B: mat_a,C: mat_a,D2: mat_a] :
      ( ( ord_le3342515230128931639_mat_a @ ( produc3091253522927621199_mat_a @ A @ B ) @ ( produc3091253522927621199_mat_a @ C @ D2 ) )
      = ( ( ord_less_eq_mat_a @ A @ C )
        & ( ord_less_eq_mat_a @ B @ D2 ) ) ) ).

% Pair_le
thf(fact_179_Pair__le,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ A @ B ) @ ( product_Pair_nat_nat @ C @ D2 ) )
      = ( ( ord_less_eq_nat @ A @ C )
        & ( ord_less_eq_nat @ B @ D2 ) ) ) ).

% Pair_le
thf(fact_180_Pair__mono,axiom,
    ! [X: mat_a,X4: mat_a,Y4: produc5452184871688341745_mat_a,Y5: produc5452184871688341745_mat_a] :
      ( ( ord_less_eq_mat_a @ X @ X4 )
     => ( ( ord_le4540232658982181201_mat_a @ Y4 @ Y5 )
       => ( ord_le1154887460827354317_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) @ ( produc5286753621172121189_mat_a @ X4 @ Y5 ) ) ) ) ).

% Pair_mono
thf(fact_181_Pair__mono,axiom,
    ! [X: mat_a,X4: mat_a,Y4: produc5370362606830271383_mat_a,Y5: produc5370362606830271383_mat_a] :
      ( ( ord_less_eq_mat_a @ X @ X4 )
     => ( ( ord_le3342515230128931639_mat_a @ Y4 @ Y5 )
       => ( ord_le4540232658982181201_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) @ ( produc7602877900562455331_mat_a @ X4 @ Y5 ) ) ) ) ).

% Pair_mono
thf(fact_182_Pair__mono,axiom,
    ! [X: mat_a,X4: mat_a,Y4: mat_a,Y5: mat_a] :
      ( ( ord_less_eq_mat_a @ X @ X4 )
     => ( ( ord_less_eq_mat_a @ Y4 @ Y5 )
       => ( ord_le3342515230128931639_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ ( produc3091253522927621199_mat_a @ X4 @ Y5 ) ) ) ) ).

% Pair_mono
thf(fact_183_Pair__mono,axiom,
    ! [X: nat,X4: nat,Y4: nat,Y5: nat] :
      ( ( ord_less_eq_nat @ X @ X4 )
     => ( ( ord_less_eq_nat @ Y4 @ Y5 )
       => ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ ( product_Pair_nat_nat @ X4 @ Y5 ) ) ) ) ).

% Pair_mono
thf(fact_184_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

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

% le_trans
thf(fact_186_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_187_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_188_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_189_Nat_Oex__has__greatest__nat,axiom,
    ! [P2: nat > $o,K: nat,B: nat] :
      ( ( P2 @ K )
     => ( ! [Y2: nat] :
            ( ( P2 @ Y2 )
           => ( ord_less_eq_nat @ Y2 @ B ) )
       => ? [X3: nat] :
            ( ( P2 @ X3 )
            & ! [Y6: nat] :
                ( ( P2 @ Y6 )
               => ( ord_less_eq_nat @ Y6 @ X3 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_190_size__neq__size__imp__neq,axiom,
    ! [X: list_a,Y4: list_a] :
      ( ( ( size_size_list_a @ X )
       != ( size_size_list_a @ Y4 ) )
     => ( X != Y4 ) ) ).

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

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

% diff_commute
thf(fact_193__C2_Ohyps_C,axiom,
    ! [Xa: produc4216251508294696237_mat_a,Xb: mat_a,Y4: produc5452184871688341745_mat_a,Xc: mat_a,Ya: produc5370362606830271383_mat_a,Xd: mat_a,Yb: mat_a,N: nat] :
      ( ( Xa
        = ( split_block_a @ da @ a2 @ a2 ) )
     => ( ( ( produc5286753621172121189_mat_a @ Xb @ Y4 )
          = Xa )
       => ( ( ( produc7602877900562455331_mat_a @ Xc @ Ya )
            = Y4 )
         => ( ( ( produc3091253522927621199_mat_a @ Xd @ Yb )
              = Ya )
           => ( ( member_mat_a @ Yb @ ( carrier_mat_a @ N @ N ) )
             => ( ( commuting_lst_diff_a @ ( diag_mat_a @ Yb ) @ xs )
               => ( commut2169701021494907589diff_a @ Yb @ xs ) ) ) ) ) ) ) ).

% "2.hyps"
thf(fact_194_BNF__Def_Osubst__Pair,axiom,
    ! [P2: nat > nat > $o,X: nat,Y4: nat,A: product_prod_nat_nat] :
      ( ( P2 @ X @ Y4 )
     => ( ( A
          = ( product_Pair_nat_nat @ X @ Y4 ) )
       => ( P2 @ ( product_fst_nat_nat @ A ) @ ( product_snd_nat_nat @ A ) ) ) ) ).

% BNF_Def.subst_Pair
thf(fact_195_BNF__Def_Osubst__Pair,axiom,
    ! [P2: product_prod_nat_nat > list_P6011104703257516679at_nat > $o,X: product_prod_nat_nat,Y4: list_P6011104703257516679at_nat,A: produc7489448085829838189at_nat] :
      ( ( P2 @ X @ Y4 )
     => ( ( A
          = ( produc1593612501639298397at_nat @ X @ Y4 ) )
       => ( P2 @ ( produc7510217175138029897at_nat @ A ) @ ( produc1817956038046406027at_nat @ A ) ) ) ) ).

% BNF_Def.subst_Pair
thf(fact_196_BNF__Def_Osubst__Pair,axiom,
    ! [P2: mat_a > mat_a > $o,X: mat_a,Y4: mat_a,A: produc5370362606830271383_mat_a] :
      ( ( P2 @ X @ Y4 )
     => ( ( A
          = ( produc3091253522927621199_mat_a @ X @ Y4 ) )
       => ( P2 @ ( produc8618483072558553147_mat_a @ A ) @ ( produc3539460521124201597_mat_a @ A ) ) ) ) ).

% BNF_Def.subst_Pair
thf(fact_197_BNF__Def_Osubst__Pair,axiom,
    ! [P2: mat_a > produc5370362606830271383_mat_a > $o,X: mat_a,Y4: produc5370362606830271383_mat_a,A: produc5452184871688341745_mat_a] :
      ( ( P2 @ X @ Y4 )
     => ( ( A
          = ( produc7602877900562455331_mat_a @ X @ Y4 ) )
       => ( P2 @ ( produc7340730364199978039_mat_a @ A ) @ ( produc7508173349661082485_mat_a @ A ) ) ) ) ).

% BNF_Def.subst_Pair
thf(fact_198_BNF__Def_Osubst__Pair,axiom,
    ! [P2: mat_a > produc5452184871688341745_mat_a > $o,X: mat_a,Y4: produc5452184871688341745_mat_a,A: produc4216251508294696237_mat_a] :
      ( ( P2 @ X @ Y4 )
     => ( ( A
          = ( produc5286753621172121189_mat_a @ X @ Y4 ) )
       => ( P2 @ ( produc7700291086614992977_mat_a @ A ) @ ( produc1482081755353976211_mat_a @ A ) ) ) ) ).

% BNF_Def.subst_Pair
thf(fact_199_split__pairs,axiom,
    ! [A2: nat,B4: nat,X5: product_prod_nat_nat] :
      ( ( ( product_Pair_nat_nat @ A2 @ B4 )
        = X5 )
      = ( ( ( product_fst_nat_nat @ X5 )
          = A2 )
        & ( ( product_snd_nat_nat @ X5 )
          = B4 ) ) ) ).

% split_pairs
thf(fact_200_split__pairs,axiom,
    ! [A2: product_prod_nat_nat,B4: list_P6011104703257516679at_nat,X5: produc7489448085829838189at_nat] :
      ( ( ( produc1593612501639298397at_nat @ A2 @ B4 )
        = X5 )
      = ( ( ( produc7510217175138029897at_nat @ X5 )
          = A2 )
        & ( ( produc1817956038046406027at_nat @ X5 )
          = B4 ) ) ) ).

% split_pairs
thf(fact_201_split__pairs,axiom,
    ! [A2: mat_a,B4: mat_a,X5: produc5370362606830271383_mat_a] :
      ( ( ( produc3091253522927621199_mat_a @ A2 @ B4 )
        = X5 )
      = ( ( ( produc8618483072558553147_mat_a @ X5 )
          = A2 )
        & ( ( produc3539460521124201597_mat_a @ X5 )
          = B4 ) ) ) ).

% split_pairs
thf(fact_202_split__pairs,axiom,
    ! [A2: mat_a,B4: produc5370362606830271383_mat_a,X5: produc5452184871688341745_mat_a] :
      ( ( ( produc7602877900562455331_mat_a @ A2 @ B4 )
        = X5 )
      = ( ( ( produc7340730364199978039_mat_a @ X5 )
          = A2 )
        & ( ( produc7508173349661082485_mat_a @ X5 )
          = B4 ) ) ) ).

% split_pairs
thf(fact_203_split__pairs,axiom,
    ! [A2: mat_a,B4: produc5452184871688341745_mat_a,X5: produc4216251508294696237_mat_a] :
      ( ( ( produc5286753621172121189_mat_a @ A2 @ B4 )
        = X5 )
      = ( ( ( produc7700291086614992977_mat_a @ X5 )
          = A2 )
        & ( ( produc1482081755353976211_mat_a @ X5 )
          = B4 ) ) ) ).

% split_pairs
thf(fact_204_split__block__diagonal,axiom,
    ! [D3: mat_complex,N: nat,A: nat,D1: mat_complex,D22: mat_complex,D32: mat_complex,D4: mat_complex] :
      ( ( diagonal_mat_complex @ D3 )
     => ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_eq_nat @ A @ N )
         => ( ( ( split_block_complex @ D3 @ A @ A )
              = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D32 @ D4 ) ) ) )
           => ( ( diagonal_mat_complex @ D1 )
              & ( diagonal_mat_complex @ D4 ) ) ) ) ) ) ).

% split_block_diagonal
thf(fact_205_sndI,axiom,
    ! [X: product_prod_nat_nat,Y4: nat,Z2: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y4 @ Z2 ) )
     => ( ( product_snd_nat_nat @ X )
        = Z2 ) ) ).

% sndI
thf(fact_206_sndI,axiom,
    ! [X: produc7489448085829838189at_nat,Y4: product_prod_nat_nat,Z2: list_P6011104703257516679at_nat] :
      ( ( X
        = ( produc1593612501639298397at_nat @ Y4 @ Z2 ) )
     => ( ( produc1817956038046406027at_nat @ X )
        = Z2 ) ) ).

% sndI
thf(fact_207_sndI,axiom,
    ! [X: produc5370362606830271383_mat_a,Y4: mat_a,Z2: mat_a] :
      ( ( X
        = ( produc3091253522927621199_mat_a @ Y4 @ Z2 ) )
     => ( ( produc3539460521124201597_mat_a @ X )
        = Z2 ) ) ).

% sndI
thf(fact_208_sndI,axiom,
    ! [X: produc5452184871688341745_mat_a,Y4: mat_a,Z2: produc5370362606830271383_mat_a] :
      ( ( X
        = ( produc7602877900562455331_mat_a @ Y4 @ Z2 ) )
     => ( ( produc7508173349661082485_mat_a @ X )
        = Z2 ) ) ).

% sndI
thf(fact_209_sndI,axiom,
    ! [X: produc4216251508294696237_mat_a,Y4: mat_a,Z2: produc5452184871688341745_mat_a] :
      ( ( X
        = ( produc5286753621172121189_mat_a @ Y4 @ Z2 ) )
     => ( ( produc1482081755353976211_mat_a @ X )
        = Z2 ) ) ).

% sndI
thf(fact_210_eq__snd__iff,axiom,
    ! [B: nat,P: product_prod_nat_nat] :
      ( ( B
        = ( product_snd_nat_nat @ P ) )
      = ( ? [A5: nat] :
            ( P
            = ( product_Pair_nat_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_211_eq__snd__iff,axiom,
    ! [B: list_P6011104703257516679at_nat,P: produc7489448085829838189at_nat] :
      ( ( B
        = ( produc1817956038046406027at_nat @ P ) )
      = ( ? [A5: product_prod_nat_nat] :
            ( P
            = ( produc1593612501639298397at_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_212_eq__snd__iff,axiom,
    ! [B: mat_a,P: produc5370362606830271383_mat_a] :
      ( ( B
        = ( produc3539460521124201597_mat_a @ P ) )
      = ( ? [A5: mat_a] :
            ( P
            = ( produc3091253522927621199_mat_a @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_213_eq__snd__iff,axiom,
    ! [B: produc5370362606830271383_mat_a,P: produc5452184871688341745_mat_a] :
      ( ( B
        = ( produc7508173349661082485_mat_a @ P ) )
      = ( ? [A5: mat_a] :
            ( P
            = ( produc7602877900562455331_mat_a @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_214_eq__snd__iff,axiom,
    ! [B: produc5452184871688341745_mat_a,P: produc4216251508294696237_mat_a] :
      ( ( B
        = ( produc1482081755353976211_mat_a @ P ) )
      = ( ? [A5: mat_a] :
            ( P
            = ( produc5286753621172121189_mat_a @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_215_fstI,axiom,
    ! [X: product_prod_nat_nat,Y4: nat,Z2: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y4 @ Z2 ) )
     => ( ( product_fst_nat_nat @ X )
        = Y4 ) ) ).

% fstI
thf(fact_216_fstI,axiom,
    ! [X: produc7489448085829838189at_nat,Y4: product_prod_nat_nat,Z2: list_P6011104703257516679at_nat] :
      ( ( X
        = ( produc1593612501639298397at_nat @ Y4 @ Z2 ) )
     => ( ( produc7510217175138029897at_nat @ X )
        = Y4 ) ) ).

% fstI
thf(fact_217_fstI,axiom,
    ! [X: produc4216251508294696237_mat_a,Y4: mat_a,Z2: produc5452184871688341745_mat_a] :
      ( ( X
        = ( produc5286753621172121189_mat_a @ Y4 @ Z2 ) )
     => ( ( produc7700291086614992977_mat_a @ X )
        = Y4 ) ) ).

% fstI
thf(fact_218_fstI,axiom,
    ! [X: produc5370362606830271383_mat_a,Y4: mat_a,Z2: mat_a] :
      ( ( X
        = ( produc3091253522927621199_mat_a @ Y4 @ Z2 ) )
     => ( ( produc8618483072558553147_mat_a @ X )
        = Y4 ) ) ).

% fstI
thf(fact_219_fstI,axiom,
    ! [X: produc5452184871688341745_mat_a,Y4: mat_a,Z2: produc5370362606830271383_mat_a] :
      ( ( X
        = ( produc7602877900562455331_mat_a @ Y4 @ Z2 ) )
     => ( ( produc7340730364199978039_mat_a @ X )
        = Y4 ) ) ).

% fstI
thf(fact_220_eq__fst__iff,axiom,
    ! [A: nat,P: product_prod_nat_nat] :
      ( ( A
        = ( product_fst_nat_nat @ P ) )
      = ( ? [B5: nat] :
            ( P
            = ( product_Pair_nat_nat @ A @ B5 ) ) ) ) ).

% eq_fst_iff
thf(fact_221_eq__fst__iff,axiom,
    ! [A: product_prod_nat_nat,P: produc7489448085829838189at_nat] :
      ( ( A
        = ( produc7510217175138029897at_nat @ P ) )
      = ( ? [B5: list_P6011104703257516679at_nat] :
            ( P
            = ( produc1593612501639298397at_nat @ A @ B5 ) ) ) ) ).

% eq_fst_iff
thf(fact_222_eq__fst__iff,axiom,
    ! [A: mat_a,P: produc4216251508294696237_mat_a] :
      ( ( A
        = ( produc7700291086614992977_mat_a @ P ) )
      = ( ? [B5: produc5452184871688341745_mat_a] :
            ( P
            = ( produc5286753621172121189_mat_a @ A @ B5 ) ) ) ) ).

% eq_fst_iff
thf(fact_223_eq__fst__iff,axiom,
    ! [A: mat_a,P: produc5370362606830271383_mat_a] :
      ( ( A
        = ( produc8618483072558553147_mat_a @ P ) )
      = ( ? [B5: mat_a] :
            ( P
            = ( produc3091253522927621199_mat_a @ A @ B5 ) ) ) ) ).

% eq_fst_iff
thf(fact_224_eq__fst__iff,axiom,
    ! [A: mat_a,P: produc5452184871688341745_mat_a] :
      ( ( A
        = ( produc7340730364199978039_mat_a @ P ) )
      = ( ? [B5: produc5370362606830271383_mat_a] :
            ( P
            = ( produc7602877900562455331_mat_a @ A @ B5 ) ) ) ) ).

% eq_fst_iff
thf(fact_225_gcd_Ocases,axiom,
    ! [X: product_prod_nat_nat] :
      ~ ! [A3: nat,B2: nat] :
          ( X
         != ( product_Pair_nat_nat @ A3 @ B2 ) ) ).

% gcd.cases
thf(fact_226_split__block__commute__subblock,axiom,
    ! [D3: mat_complex,N: nat,B4: mat_complex,A: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex,D1: mat_complex,D22: mat_complex,D32: mat_complex,D4: mat_complex] :
      ( ( diagonal_mat_complex @ D3 )
     => ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ord_less_eq_nat @ A @ N )
           => ( ( ( split_block_complex @ B4 @ A @ A )
                = ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_complex @ D3 @ A @ A )
                  = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D32 @ D4 ) ) ) )
               => ( ( ( times_8009071140041733218omplex @ B4 @ D3 )
                    = ( times_8009071140041733218omplex @ D3 @ B4 ) )
                 => ( ( times_8009071140041733218omplex @ B42 @ D4 )
                    = ( times_8009071140041733218omplex @ D4 @ B42 ) ) ) ) ) ) ) ) ) ).

% split_block_commute_subblock
thf(fact_227_extract__subdiags_Oinduct,axiom,
    ! [P2: mat_a > list_nat > $o,A0: mat_a,A1: list_nat] :
      ( ! [B6: mat_a] : ( P2 @ B6 @ nil_nat )
     => ( ! [B6: mat_a,X3: nat,Xs2: list_nat] :
            ( ! [Xa2: produc4216251508294696237_mat_a,Xb2: mat_a,Y6: produc5452184871688341745_mat_a,Xc2: mat_a,Ya2: produc5370362606830271383_mat_a,Xd2: mat_a,Yb2: mat_a] :
                ( ( Xa2
                  = ( split_block_a @ B6 @ X3 @ X3 ) )
               => ( ( ( produc5286753621172121189_mat_a @ Xb2 @ Y6 )
                    = Xa2 )
                 => ( ( ( produc7602877900562455331_mat_a @ Xc2 @ Ya2 )
                      = Y6 )
                   => ( ( ( produc3091253522927621199_mat_a @ Xd2 @ Yb2 )
                        = Ya2 )
                     => ( P2 @ Yb2 @ Xs2 ) ) ) ) )
           => ( P2 @ B6 @ ( cons_nat @ X3 @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% extract_subdiags.induct
thf(fact_228_List_Otranspose_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ( ! [Xss: list_list_nat] :
            ( X
           != ( cons_list_nat @ nil_nat @ Xss ) )
       => ~ ! [X3: nat,Xs2: list_nat,Xss: list_list_nat] :
              ( X
             != ( cons_list_nat @ ( cons_nat @ X3 @ Xs2 ) @ Xss ) ) ) ) ).

% List.transpose.cases
thf(fact_229_List_Otranspose_Ocases,axiom,
    ! [X: list_l3264859301627795341at_nat] :
      ( ( X != nil_li8973309667444810893at_nat )
     => ( ! [Xss: list_l3264859301627795341at_nat] :
            ( X
           != ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ Xss ) )
       => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Xss: list_l3264859301627795341at_nat] :
              ( X
             != ( cons_l7612840610449961021at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Xss ) ) ) ) ).

% List.transpose.cases
thf(fact_230_Groups_Omult__ac_I3_J,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( times_times_nat @ B @ ( times_times_nat @ A @ C ) )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% Groups.mult_ac(3)
thf(fact_231_Groups_Omult__ac_I2_J,axiom,
    ( times_times_nat
    = ( ^ [A5: nat,B5: nat] : ( times_times_nat @ B5 @ A5 ) ) ) ).

% Groups.mult_ac(2)
thf(fact_232_Groups_Omult__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% Groups.mult_ac(1)
thf(fact_233_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( times_times_nat @ A @ ( times_times_nat @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_234_subset__eq__mset__impl_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
     => ~ ! [X3: nat,Xs2: list_nat,Ys2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 ) ) ) ).

% subset_eq_mset_impl.cases
thf(fact_235_subset__eq__mset__impl_Ocases,axiom,
    ! [X: produc6392793444374437607at_nat] :
      ( ! [Ys2: list_P6011104703257516679at_nat] :
          ( X
         != ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
     => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
            ( X
           != ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 ) ) ) ).

% subset_eq_mset_impl.cases
thf(fact_236_lst__diff_Osimps_I1_J,axiom,
    ! [L: list_nat] :
      ( ( commut7647841724617136155ff_nat @ L @ nil_nat )
      = ( L = nil_nat ) ) ).

% lst_diff.simps(1)
thf(fact_237_lst__diff_Osimps_I1_J,axiom,
    ! [L: list_P6011104703257516679at_nat] :
      ( ( commut981440707321766646at_nat @ L @ nil_nat )
      = ( L = nil_Pr5478986624290739719at_nat ) ) ).

% lst_diff.simps(1)
thf(fact_238_lst__diff_Osimps_I1_J,axiom,
    ! [L: list_a] :
      ( ( commuting_lst_diff_a @ L @ nil_nat )
      = ( L = nil_a ) ) ).

% lst_diff.simps(1)
thf(fact_239_eq__comps_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ( ! [X3: nat] :
            ( X
           != ( cons_nat @ X3 @ nil_nat ) )
       => ~ ! [X3: nat,Y2: nat,L2: list_nat] :
              ( X
             != ( cons_nat @ X3 @ ( cons_nat @ Y2 @ L2 ) ) ) ) ) ).

% eq_comps.cases
thf(fact_240_eq__comps_Ocases,axiom,
    ! [X: list_P6011104703257516679at_nat] :
      ( ( X != nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] :
            ( X
           != ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,L2: list_P6011104703257516679at_nat] :
              ( X
             != ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ L2 ) ) ) ) ) ).

% eq_comps.cases
thf(fact_241_eq__comps_Oinduct,axiom,
    ! [P2: list_nat > $o,A0: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [X3: nat,Y2: nat,L2: list_nat] :
              ( ( P2 @ ( cons_nat @ Y2 @ L2 ) )
             => ( P2 @ ( cons_nat @ X3 @ ( cons_nat @ Y2 @ L2 ) ) ) )
         => ( P2 @ A0 ) ) ) ) ).

% eq_comps.induct
thf(fact_242_eq__comps_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,L2: list_P6011104703257516679at_nat] :
              ( ( P2 @ ( cons_P6512896166579812791at_nat @ Y2 @ L2 ) )
             => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ L2 ) ) ) )
         => ( P2 @ A0 ) ) ) ) ).

% eq_comps.induct
thf(fact_243_list_Osimps_I3_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( ( cons_nat @ X21 @ X22 )
     != nil_nat ) ).

% list.simps(3)
thf(fact_244_list_Osimps_I3_J,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( cons_P6512896166579812791at_nat @ X21 @ X22 )
     != nil_Pr5478986624290739719at_nat ) ).

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

% list.discI
thf(fact_246_list_OdiscI,axiom,
    ! [List: list_P6011104703257516679at_nat,X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( List
        = ( cons_P6512896166579812791at_nat @ X21 @ X22 ) )
     => ( List != nil_Pr5478986624290739719at_nat ) ) ).

% list.discI
thf(fact_247_list_Oinduct,axiom,
    ! [P2: list_nat > $o,List: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X12: nat,X24: list_nat] :
            ( ( P2 @ X24 )
           => ( P2 @ ( cons_nat @ X12 @ X24 ) ) )
       => ( P2 @ List ) ) ) ).

% list.induct
thf(fact_248_list_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,List: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [X12: product_prod_nat_nat,X24: list_P6011104703257516679at_nat] :
            ( ( P2 @ X24 )
           => ( P2 @ ( cons_P6512896166579812791at_nat @ X12 @ X24 ) ) )
       => ( P2 @ List ) ) ) ).

% list.induct
thf(fact_249_list_Oexhaust,axiom,
    ! [Y4: list_nat] :
      ( ( Y4 != nil_nat )
     => ~ ! [X212: nat,X222: list_nat] :
            ( Y4
           != ( cons_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_250_list_Oexhaust,axiom,
    ! [Y4: list_P6011104703257516679at_nat] :
      ( ( Y4 != nil_Pr5478986624290739719at_nat )
     => ~ ! [X212: product_prod_nat_nat,X222: list_P6011104703257516679at_nat] :
            ( Y4
           != ( cons_P6512896166579812791at_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_251_splice_Oinduct,axiom,
    ! [P2: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [X_1: list_nat] : ( P2 @ nil_nat @ X_1 )
     => ( ! [X3: nat,Xs2: list_nat,Ys2: list_nat] :
            ( ( P2 @ Ys2 @ Xs2 )
           => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_252_splice_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat] :
      ( ! [X_1: list_P6011104703257516679at_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ X_1 )
     => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
            ( ( P2 @ Ys2 @ Xs2 )
           => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_253_min__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ! [X3: nat,Xs2: list_nat] :
          ( X
         != ( cons_nat @ X3 @ Xs2 ) )
     => ( X = nil_nat ) ) ).

% min_list.cases
thf(fact_254_min__list_Ocases,axiom,
    ! [X: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
          ( X
         != ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
     => ( X = nil_Pr5478986624290739719at_nat ) ) ).

% min_list.cases
thf(fact_255_min__list_Oinduct,axiom,
    ! [P2: list_nat > $o,A0: list_nat] :
      ( ! [X3: nat,Xs2: list_nat] :
          ( ! [X213: nat,X223: list_nat] :
              ( ( Xs2
                = ( cons_nat @ X213 @ X223 ) )
             => ( P2 @ Xs2 ) )
         => ( P2 @ ( cons_nat @ X3 @ Xs2 ) ) )
     => ( ( P2 @ nil_nat )
       => ( P2 @ A0 ) ) ) ).

% min_list.induct
thf(fact_256_min__list_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
          ( ! [X213: product_prod_nat_nat,X223: list_P6011104703257516679at_nat] :
              ( ( Xs2
                = ( cons_P6512896166579812791at_nat @ X213 @ X223 ) )
             => ( P2 @ Xs2 ) )
         => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat )
       => ( P2 @ A0 ) ) ) ).

% min_list.induct
thf(fact_257_shuffles_Oinduct,axiom,
    ! [P2: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [X_1: list_nat] : ( P2 @ nil_nat @ X_1 )
     => ( ! [Xs2: list_nat] : ( P2 @ Xs2 @ nil_nat )
       => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
              ( ( P2 @ Xs2 @ ( cons_nat @ Y2 @ Ys2 ) )
             => ( ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_258_shuffles_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat] :
      ( ! [X_1: list_P6011104703257516679at_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ X_1 )
     => ( ! [Xs2: list_P6011104703257516679at_nat] : ( P2 @ Xs2 @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( P2 @ Xs2 @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
             => ( ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_259_sorted__wrt_Oinduct,axiom,
    ! [P2: ( nat > nat > $o ) > list_nat > $o,A0: nat > nat > $o,A1: list_nat] :
      ( ! [P3: nat > nat > $o] : ( P2 @ P3 @ nil_nat )
     => ( ! [P3: nat > nat > $o,X3: nat,Ys2: list_nat] :
            ( ( P2 @ P3 @ Ys2 )
           => ( P2 @ P3 @ ( cons_nat @ X3 @ Ys2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_260_sorted__wrt_Oinduct,axiom,
    ! [P2: ( product_prod_nat_nat > product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o,A0: product_prod_nat_nat > product_prod_nat_nat > $o,A1: list_P6011104703257516679at_nat] :
      ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o] : ( P2 @ P3 @ nil_Pr5478986624290739719at_nat )
     => ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
            ( ( P2 @ P3 @ Ys2 )
           => ( P2 @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ Ys2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_261_remdups__adj_Oinduct,axiom,
    ! [P2: list_nat > $o,A0: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [X3: nat,Y2: nat,Xs2: list_nat] :
              ( ( ( X3 = Y2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) ) )
             => ( ( ( X3 != Y2 )
                 => ( P2 @ ( cons_nat @ Y2 @ Xs2 ) ) )
               => ( P2 @ ( cons_nat @ X3 @ ( cons_nat @ Y2 @ Xs2 ) ) ) ) )
         => ( P2 @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_262_remdups__adj_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( ( X3 = Y2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) ) )
             => ( ( ( X3 != Y2 )
                 => ( P2 @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) ) )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) ) ) ) )
         => ( P2 @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_263_successively_Oinduct,axiom,
    ! [P2: ( nat > nat > $o ) > list_nat > $o,A0: nat > nat > $o,A1: list_nat] :
      ( ! [P3: nat > nat > $o] : ( P2 @ P3 @ nil_nat )
     => ( ! [P3: nat > nat > $o,X3: nat] : ( P2 @ P3 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [P3: nat > nat > $o,X3: nat,Y2: nat,Xs2: list_nat] :
              ( ( P2 @ P3 @ ( cons_nat @ Y2 @ Xs2 ) )
             => ( P2 @ P3 @ ( cons_nat @ X3 @ ( cons_nat @ Y2 @ Xs2 ) ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_264_successively_Oinduct,axiom,
    ! [P2: ( product_prod_nat_nat > product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o,A0: product_prod_nat_nat > product_prod_nat_nat > $o,A1: list_P6011104703257516679at_nat] :
      ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o] : ( P2 @ P3 @ nil_Pr5478986624290739719at_nat )
     => ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat] : ( P2 @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( P2 @ P3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) )
             => ( P2 @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_265_map__tailrec__rev_Oinduct,axiom,
    ! [P2: ( nat > nat ) > list_nat > list_nat > $o,A0: nat > nat,A1: list_nat,A22: list_nat] :
      ( ! [F: nat > nat,X_1: list_nat] : ( P2 @ F @ nil_nat @ X_1 )
     => ( ! [F: nat > nat,A3: nat,As: list_nat,Bs: list_nat] :
            ( ( P2 @ F @ As @ ( cons_nat @ ( F @ A3 ) @ Bs ) )
           => ( P2 @ F @ ( cons_nat @ A3 @ As ) @ Bs ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_tailrec_rev.induct
thf(fact_266_map__tailrec__rev_Oinduct,axiom,
    ! [P2: ( product_prod_nat_nat > nat ) > list_P6011104703257516679at_nat > list_nat > $o,A0: product_prod_nat_nat > nat,A1: list_P6011104703257516679at_nat,A22: list_nat] :
      ( ! [F: product_prod_nat_nat > nat,X_1: list_nat] : ( P2 @ F @ nil_Pr5478986624290739719at_nat @ X_1 )
     => ( ! [F: product_prod_nat_nat > nat,A3: product_prod_nat_nat,As: list_P6011104703257516679at_nat,Bs: list_nat] :
            ( ( P2 @ F @ As @ ( cons_nat @ ( F @ A3 ) @ Bs ) )
           => ( P2 @ F @ ( cons_P6512896166579812791at_nat @ A3 @ As ) @ Bs ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_tailrec_rev.induct
thf(fact_267_map__tailrec__rev_Oinduct,axiom,
    ! [P2: ( nat > product_prod_nat_nat ) > list_nat > list_P6011104703257516679at_nat > $o,A0: nat > product_prod_nat_nat,A1: list_nat,A22: list_P6011104703257516679at_nat] :
      ( ! [F: nat > product_prod_nat_nat,X_1: list_P6011104703257516679at_nat] : ( P2 @ F @ nil_nat @ X_1 )
     => ( ! [F: nat > product_prod_nat_nat,A3: nat,As: list_nat,Bs: list_P6011104703257516679at_nat] :
            ( ( P2 @ F @ As @ ( cons_P6512896166579812791at_nat @ ( F @ A3 ) @ Bs ) )
           => ( P2 @ F @ ( cons_nat @ A3 @ As ) @ Bs ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_tailrec_rev.induct
thf(fact_268_map__tailrec__rev_Oinduct,axiom,
    ! [P2: ( product_prod_nat_nat > product_prod_nat_nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,A0: product_prod_nat_nat > product_prod_nat_nat,A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat] :
      ( ! [F: product_prod_nat_nat > product_prod_nat_nat,X_1: list_P6011104703257516679at_nat] : ( P2 @ F @ nil_Pr5478986624290739719at_nat @ X_1 )
     => ( ! [F: product_prod_nat_nat > product_prod_nat_nat,A3: product_prod_nat_nat,As: list_P6011104703257516679at_nat,Bs: list_P6011104703257516679at_nat] :
            ( ( P2 @ F @ As @ ( cons_P6512896166579812791at_nat @ ( F @ A3 ) @ Bs ) )
           => ( P2 @ F @ ( cons_P6512896166579812791at_nat @ A3 @ As ) @ Bs ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_tailrec_rev.induct
thf(fact_269_neq__Nil__conv,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
      = ( ? [Y: nat,Ys3: list_nat] :
            ( Xs
            = ( cons_nat @ Y @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_270_neq__Nil__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
      = ( ? [Y: product_prod_nat_nat,Ys3: list_P6011104703257516679at_nat] :
            ( Xs
            = ( cons_P6512896166579812791at_nat @ Y @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_271_list__induct2_H,axiom,
    ! [P2: list_nat > list_nat > $o,Xs: list_nat,Ys: list_nat] :
      ( ( P2 @ nil_nat @ nil_nat )
     => ( ! [X3: nat,Xs2: list_nat] : ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys2: list_nat] : ( P2 @ nil_nat @ ( cons_nat @ Y2 @ Ys2 ) )
         => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
                ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
           => ( P2 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_272_list__induct2_H,axiom,
    ! [P2: list_nat > list_P6011104703257516679at_nat > $o,Xs: list_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_nat @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: nat,Xs2: list_nat] : ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ nil_Pr5478986624290739719at_nat )
       => ( ! [Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] : ( P2 @ nil_nat @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
         => ( ! [X3: nat,Xs2: list_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
                ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
           => ( P2 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_273_list__induct2_H,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_nat > $o,Xs: list_P6011104703257516679at_nat,Ys: list_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_nat )
     => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys2: list_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ ( cons_nat @ Y2 @ Ys2 ) )
         => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: nat,Ys2: list_nat] :
                ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
           => ( P2 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_274_list__induct2_H,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ nil_Pr5478986624290739719at_nat )
       => ( ! [Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
         => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
                ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
           => ( P2 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_275_induct__list012,axiom,
    ! [P2: list_nat > $o,Xs: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [X3: nat,Y2: nat,Zs2: list_nat] :
              ( ( P2 @ Zs2 )
             => ( ( P2 @ ( cons_nat @ Y2 @ Zs2 ) )
               => ( P2 @ ( cons_nat @ X3 @ ( cons_nat @ Y2 @ Zs2 ) ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% induct_list012
thf(fact_276_induct__list012,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Zs2: list_P6011104703257516679at_nat] :
              ( ( P2 @ Zs2 )
             => ( ( P2 @ ( cons_P6512896166579812791at_nat @ Y2 @ Zs2 ) )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Zs2 ) ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% induct_list012
thf(fact_277_list__nonempty__induct,axiom,
    ! [Xs: list_nat,P2: list_nat > $o] :
      ( ( Xs != nil_nat )
     => ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [X3: nat,Xs2: list_nat] :
              ( ( Xs2 != nil_nat )
             => ( ( P2 @ Xs2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_278_list__nonempty__induct,axiom,
    ! [Xs: list_P6011104703257516679at_nat,P2: list_P6011104703257516679at_nat > $o] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( Xs2 != nil_Pr5478986624290739719at_nat )
             => ( ( P2 @ Xs2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_279_shuffles_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
     => ( ! [Xs2: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ Xs2 @ nil_nat ) )
       => ~ ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_280_shuffles_Ocases,axiom,
    ! [X: produc6392793444374437607at_nat] :
      ( ! [Ys2: list_P6011104703257516679at_nat] :
          ( X
         != ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
     => ( ! [Xs2: list_P6011104703257516679at_nat] :
            ( X
           != ( produc5943733680697469783at_nat @ Xs2 @ nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( X
             != ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_281_successively_Ocases,axiom,
    ! [X: produc254973753779126261st_nat] :
      ( ! [P3: nat > nat > $o] :
          ( X
         != ( produc4727192421694094319st_nat @ P3 @ nil_nat ) )
     => ( ! [P3: nat > nat > $o,X3: nat] :
            ( X
           != ( produc4727192421694094319st_nat @ P3 @ ( cons_nat @ X3 @ nil_nat ) ) )
       => ~ ! [P3: nat > nat > $o,X3: nat,Y2: nat,Xs2: list_nat] :
              ( X
             != ( produc4727192421694094319st_nat @ P3 @ ( cons_nat @ X3 @ ( cons_nat @ Y2 @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_282_successively_Ocases,axiom,
    ! [X: produc2366258654402830848at_nat] :
      ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o] :
          ( X
         != ( produc3352296309980913008at_nat @ P3 @ nil_Pr5478986624290739719at_nat ) )
     => ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat] :
            ( X
           != ( produc3352296309980913008at_nat @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( X
             != ( produc3352296309980913008at_nat @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_283_sorted__wrt_Ocases,axiom,
    ! [X: produc254973753779126261st_nat] :
      ( ! [P3: nat > nat > $o] :
          ( X
         != ( produc4727192421694094319st_nat @ P3 @ nil_nat ) )
     => ~ ! [P3: nat > nat > $o,X3: nat,Ys2: list_nat] :
            ( X
           != ( produc4727192421694094319st_nat @ P3 @ ( cons_nat @ X3 @ Ys2 ) ) ) ) ).

% sorted_wrt.cases
thf(fact_284_sorted__wrt_Ocases,axiom,
    ! [X: produc2366258654402830848at_nat] :
      ( ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o] :
          ( X
         != ( produc3352296309980913008at_nat @ P3 @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [P3: product_prod_nat_nat > product_prod_nat_nat > $o,X3: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
            ( X
           != ( produc3352296309980913008at_nat @ P3 @ ( cons_P6512896166579812791at_nat @ X3 @ Ys2 ) ) ) ) ).

% sorted_wrt.cases
thf(fact_285_append_Osimps_I1_J,axiom,
    ! [Ys: list_a] :
      ( ( append_a @ nil_a @ Ys )
      = Ys ) ).

% append.simps(1)
thf(fact_286_append_Osimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( append_nat @ nil_nat @ Ys )
      = Ys ) ).

% append.simps(1)
thf(fact_287_append_Osimps_I1_J,axiom,
    ! [Ys: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ nil_Pr5478986624290739719at_nat @ Ys )
      = Ys ) ).

% append.simps(1)
thf(fact_288_append_Oleft__neutral,axiom,
    ! [A: list_a] :
      ( ( append_a @ nil_a @ A )
      = A ) ).

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

% append.left_neutral
thf(fact_290_append_Oleft__neutral,axiom,
    ! [A: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ nil_Pr5478986624290739719at_nat @ A )
      = A ) ).

% append.left_neutral
thf(fact_291_append_Oright__neutral,axiom,
    ! [A: list_a] :
      ( ( append_a @ A @ nil_a )
      = A ) ).

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

% append.right_neutral
thf(fact_293_append_Oright__neutral,axiom,
    ! [A: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ A @ nil_Pr5478986624290739719at_nat )
      = A ) ).

% append.right_neutral
thf(fact_294_append__Nil2,axiom,
    ! [Xs: list_a] :
      ( ( append_a @ Xs @ nil_a )
      = Xs ) ).

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

% append_Nil2
thf(fact_296_append__Nil2,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ Xs @ nil_Pr5478986624290739719at_nat )
      = Xs ) ).

% append_Nil2
thf(fact_297_eq__Nil__appendI,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_a @ nil_a @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_298_eq__Nil__appendI,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_nat @ nil_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_299_eq__Nil__appendI,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append985823374593552924at_nat @ nil_Pr5478986624290739719at_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_300_append__self__conv,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_a ) ) ).

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

% append_self_conv
thf(fact_302_append__self__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_Pr5478986624290739719at_nat ) ) ).

% append_self_conv
thf(fact_303_self__append__conv,axiom,
    ! [Y4: list_a,Ys: list_a] :
      ( ( Y4
        = ( append_a @ Y4 @ Ys ) )
      = ( Ys = nil_a ) ) ).

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

% self_append_conv
thf(fact_305_self__append__conv,axiom,
    ! [Y4: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( Y4
        = ( append985823374593552924at_nat @ Y4 @ Ys ) )
      = ( Ys = nil_Pr5478986624290739719at_nat ) ) ).

% self_append_conv
thf(fact_306_append__self__conv2,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_a ) ) ).

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

% append_self_conv2
thf(fact_308_append__self__conv2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% append_self_conv2
thf(fact_309_self__append__conv2,axiom,
    ! [Y4: list_a,Xs: list_a] :
      ( ( Y4
        = ( append_a @ Xs @ Y4 ) )
      = ( Xs = nil_a ) ) ).

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

% self_append_conv2
thf(fact_311_self__append__conv2,axiom,
    ! [Y4: list_P6011104703257516679at_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( Y4
        = ( append985823374593552924at_nat @ Xs @ Y4 ) )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% self_append_conv2
thf(fact_312_Nil__is__append__conv,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( nil_a
        = ( append_a @ Xs @ Ys ) )
      = ( ( Xs = nil_a )
        & ( Ys = nil_a ) ) ) ).

% Nil_is_append_conv
thf(fact_313_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_314_Nil__is__append__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( nil_Pr5478986624290739719at_nat
        = ( append985823374593552924at_nat @ Xs @ Ys ) )
      = ( ( Xs = nil_Pr5478986624290739719at_nat )
        & ( Ys = nil_Pr5478986624290739719at_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_315_append__is__Nil__conv,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs @ Ys )
        = nil_a )
      = ( ( Xs = nil_a )
        & ( Ys = nil_a ) ) ) ).

% append_is_Nil_conv
thf(fact_316_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_317_append__is__Nil__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs @ Ys )
        = nil_Pr5478986624290739719at_nat )
      = ( ( Xs = nil_Pr5478986624290739719at_nat )
        & ( Ys = nil_Pr5478986624290739719at_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_318_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_a @ N @ nil_a )
      = nil_a ) ).

% drop_Nil
thf(fact_319_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_nat @ N @ nil_nat )
      = nil_nat ) ).

% drop_Nil
thf(fact_320_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_P8868858903918902087at_nat @ N @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% drop_Nil
thf(fact_321_list__induct2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_s5460976970255530739at_nat @ Ys ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( ( size_s5460976970255530739at_nat @ Xs2 )
                = ( size_s5460976970255530739at_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_322_list__induct2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_a,P2: list_P6011104703257516679at_nat > list_a > $o] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_a )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: a,Ys2: list_a] :
              ( ( ( size_s5460976970255530739at_nat @ Xs2 )
                = ( size_size_list_a @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_323_list__induct2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_nat,P2: list_P6011104703257516679at_nat > list_nat > $o] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_nat )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: nat,Ys2: list_nat] :
              ( ( ( size_s5460976970255530739at_nat @ Xs2 )
                = ( size_size_list_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_324_list__induct2,axiom,
    ! [Xs: list_a,Ys: list_P6011104703257516679at_nat,P2: list_a > list_P6011104703257516679at_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_s5460976970255530739at_nat @ Ys ) )
     => ( ( P2 @ nil_a @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: a,Xs2: list_a,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( ( size_size_list_a @ Xs2 )
                = ( size_s5460976970255530739at_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_325_list__induct2,axiom,
    ! [Xs: list_a,Ys: list_a,P2: list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( P2 @ nil_a @ nil_a )
       => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a] :
              ( ( ( size_size_list_a @ Xs2 )
                = ( size_size_list_a @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_326_list__induct2,axiom,
    ! [Xs: list_a,Ys: list_nat,P2: list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P2 @ nil_a @ nil_nat )
       => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat] :
              ( ( ( size_size_list_a @ Xs2 )
                = ( size_size_list_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_327_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_P6011104703257516679at_nat,P2: list_nat > list_P6011104703257516679at_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s5460976970255530739at_nat @ Ys ) )
     => ( ( P2 @ nil_nat @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: nat,Xs2: list_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( ( size_size_list_nat @ Xs2 )
                = ( size_s5460976970255530739at_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_328_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_a,P2: list_nat > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( P2 @ nil_nat @ nil_a )
       => ( ! [X3: nat,Xs2: list_nat,Y2: a,Ys2: list_a] :
              ( ( ( size_size_list_nat @ Xs2 )
                = ( size_size_list_a @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_329_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_nat,P2: list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P2 @ nil_nat @ nil_nat )
       => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
              ( ( ( size_size_list_nat @ Xs2 )
                = ( size_size_list_nat @ Ys2 ) )
             => ( ( P2 @ Xs2 @ Ys2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) )
         => ( P2 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_330_list__induct3,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a,P2: list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P2 @ nil_a @ nil_a @ nil_a )
         => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_a @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_331_list__induct3,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_nat,P2: list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P2 @ nil_a @ nil_a @ nil_nat )
         => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_a @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_332_list__induct3,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_a,P2: list_a > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P2 @ nil_a @ nil_nat @ nil_a )
         => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_a @ Xs2 )
                  = ( size_size_list_nat @ Ys2 ) )
               => ( ( ( size_size_list_nat @ Ys2 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_333_list__induct3,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_nat,P2: list_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P2 @ nil_a @ nil_nat @ nil_nat )
         => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_a @ Xs2 )
                  = ( size_size_list_nat @ Ys2 ) )
               => ( ( ( size_size_list_nat @ Ys2 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_334_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_a,Zs: list_a,P2: list_nat > list_a > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P2 @ nil_nat @ nil_a @ nil_a )
         => ( ! [X3: nat,Xs2: list_nat,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_nat @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_335_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_a,Zs: list_nat,P2: list_nat > list_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P2 @ nil_nat @ nil_a @ nil_nat )
         => ( ! [X3: nat,Xs2: list_nat,Y2: a,Ys2: list_a,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_nat @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_336_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs: list_a,P2: list_nat > list_nat > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P2 @ nil_nat @ nil_nat @ nil_a )
         => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_nat @ Xs2 )
                  = ( size_size_list_nat @ Ys2 ) )
               => ( ( ( size_size_list_nat @ Ys2 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_337_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs: list_nat,P2: 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 @ Zs ) )
       => ( ( P2 @ nil_nat @ nil_nat @ nil_nat )
         => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_nat @ Xs2 )
                  = ( size_size_list_nat @ Ys2 ) )
               => ( ( ( size_size_list_nat @ Ys2 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_338_list__induct3,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_a,Zs: list_a,P2: list_P6011104703257516679at_nat > list_a > list_a > $o] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_a @ nil_a )
         => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a] :
                ( ( ( size_s5460976970255530739at_nat @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_339_list__induct3,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_a,Zs: list_nat,P2: list_P6011104703257516679at_nat > list_a > list_nat > $o] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_a @ nil_nat )
         => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: a,Ys2: list_a,Z3: nat,Zs2: list_nat] :
                ( ( ( size_s5460976970255530739at_nat @ Xs2 )
                  = ( size_size_list_a @ Ys2 ) )
               => ( ( ( size_size_list_a @ Ys2 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P2 @ Xs2 @ Ys2 @ Zs2 )
                   => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P2 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_340_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a,Ws: list_a,P2: list_a > list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P2 @ nil_a @ nil_a @ nil_a @ nil_a )
           => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_341_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_a,Ws: list_nat,P2: list_a > list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P2 @ nil_a @ nil_a @ nil_a @ nil_nat )
           => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_342_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_nat,Ws: list_a,P2: list_a > list_a > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P2 @ nil_a @ nil_a @ nil_nat @ nil_a )
           => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: nat,Zs2: list_nat,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_343_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_a,Zs: list_nat,Ws: list_nat,P2: list_a > list_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P2 @ nil_a @ nil_a @ nil_nat @ nil_nat )
           => ( ! [X3: a,Xs2: list_a,Y2: a,Ys2: list_a,Z3: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_344_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_a,Ws: list_a,P2: list_a > list_nat > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P2 @ nil_a @ nil_nat @ nil_a @ nil_a )
           => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_nat @ Ys2 ) )
                 => ( ( ( size_size_list_nat @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_345_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_a,Ws: list_nat,P2: list_a > list_nat > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P2 @ nil_a @ nil_nat @ nil_a @ nil_nat )
           => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_nat @ Ys2 ) )
                 => ( ( ( size_size_list_nat @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_346_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_nat,Ws: list_a,P2: list_a > list_nat > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P2 @ nil_a @ nil_nat @ nil_nat @ nil_a )
           => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: nat,Zs2: list_nat,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_nat @ Ys2 ) )
                 => ( ( ( size_size_list_nat @ Ys2 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_347_list__induct4,axiom,
    ! [Xs: list_a,Ys: list_nat,Zs: list_nat,Ws: list_nat,P2: list_a > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P2 @ nil_a @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X3: a,Xs2: list_a,Y2: nat,Ys2: list_nat,Z3: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs2 )
                    = ( size_size_list_nat @ Ys2 ) )
                 => ( ( ( size_size_list_nat @ Ys2 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_a @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_348_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_a,Zs: list_a,Ws: list_a,P2: list_nat > list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P2 @ nil_nat @ nil_a @ nil_a @ nil_a )
           => ( ! [X3: nat,Xs2: list_nat,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_349_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_a,Zs: list_a,Ws: list_nat,P2: list_nat > list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P2 @ nil_nat @ nil_a @ nil_a @ nil_nat )
           => ( ! [X3: nat,Xs2: list_nat,Y2: a,Ys2: list_a,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_a @ Ys2 ) )
                 => ( ( ( size_size_list_a @ Ys2 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P2 @ Xs2 @ Ys2 @ Zs2 @ Ws2 )
                       => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_a @ Y2 @ Ys2 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P2 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_350_rev__cases,axiom,
    ! [Xs: list_a] :
      ( ( Xs != nil_a )
     => ~ ! [Ys2: list_a,Y2: a] :
            ( Xs
           != ( append_a @ Ys2 @ ( cons_a @ Y2 @ nil_a ) ) ) ) ).

% rev_cases
thf(fact_351_rev__cases,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ~ ! [Ys2: list_nat,Y2: nat] :
            ( Xs
           != ( append_nat @ Ys2 @ ( cons_nat @ Y2 @ nil_nat ) ) ) ) ).

% rev_cases
thf(fact_352_rev__cases,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ~ ! [Ys2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat] :
            ( Xs
           != ( append985823374593552924at_nat @ Ys2 @ ( cons_P6512896166579812791at_nat @ Y2 @ nil_Pr5478986624290739719at_nat ) ) ) ) ).

% rev_cases
thf(fact_353_rev__induct,axiom,
    ! [P2: list_a > $o,Xs: list_a] :
      ( ( P2 @ nil_a )
     => ( ! [X3: a,Xs2: list_a] :
            ( ( P2 @ Xs2 )
           => ( P2 @ ( append_a @ Xs2 @ ( cons_a @ X3 @ nil_a ) ) ) )
       => ( P2 @ Xs ) ) ) ).

% rev_induct
thf(fact_354_rev__induct,axiom,
    ! [P2: list_nat > $o,Xs: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X3: nat,Xs2: list_nat] :
            ( ( P2 @ Xs2 )
           => ( P2 @ ( append_nat @ Xs2 @ ( cons_nat @ X3 @ nil_nat ) ) ) )
       => ( P2 @ Xs ) ) ) ).

% rev_induct
thf(fact_355_rev__induct,axiom,
    ! [P2: list_P6011104703257516679at_nat > $o,Xs: list_P6011104703257516679at_nat] :
      ( ( P2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( P2 @ Xs2 )
           => ( P2 @ ( append985823374593552924at_nat @ Xs2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) ) ) )
       => ( P2 @ Xs ) ) ) ).

% rev_induct
thf(fact_356_append1__eq__conv,axiom,
    ! [Xs: list_a,X: a,Ys: list_a,Y4: a] :
      ( ( ( append_a @ Xs @ ( cons_a @ X @ nil_a ) )
        = ( append_a @ Ys @ ( cons_a @ Y4 @ nil_a ) ) )
      = ( ( Xs = Ys )
        & ( X = Y4 ) ) ) ).

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

% append1_eq_conv
thf(fact_358_append1__eq__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat] :
      ( ( ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) )
        = ( append985823374593552924at_nat @ Ys @ ( cons_P6512896166579812791at_nat @ Y4 @ nil_Pr5478986624290739719at_nat ) ) )
      = ( ( Xs = Ys )
        & ( X = Y4 ) ) ) ).

% append1_eq_conv
thf(fact_359_Cons__eq__append__conv,axiom,
    ! [X: a,Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( cons_a @ X @ Xs )
        = ( append_a @ Ys @ Zs ) )
      = ( ( ( Ys = nil_a )
          & ( ( cons_a @ X @ Xs )
            = Zs ) )
        | ? [Ys4: list_a] :
            ( ( ( cons_a @ X @ Ys4 )
              = Ys )
            & ( Xs
              = ( append_a @ Ys4 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_360_Cons__eq__append__conv,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( append_nat @ Ys @ Zs ) )
      = ( ( ( Ys = nil_nat )
          & ( ( cons_nat @ X @ Xs )
            = Zs ) )
        | ? [Ys4: list_nat] :
            ( ( ( cons_nat @ X @ Ys4 )
              = Ys )
            & ( Xs
              = ( append_nat @ Ys4 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_361_Cons__eq__append__conv,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs )
        = ( append985823374593552924at_nat @ Ys @ Zs ) )
      = ( ( ( Ys = nil_Pr5478986624290739719at_nat )
          & ( ( cons_P6512896166579812791at_nat @ X @ Xs )
            = Zs ) )
        | ? [Ys4: list_P6011104703257516679at_nat] :
            ( ( ( cons_P6512896166579812791at_nat @ X @ Ys4 )
              = Ys )
            & ( Xs
              = ( append985823374593552924at_nat @ Ys4 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_362_append__eq__Cons__conv,axiom,
    ! [Ys: list_a,Zs: list_a,X: a,Xs: list_a] :
      ( ( ( append_a @ Ys @ Zs )
        = ( cons_a @ X @ Xs ) )
      = ( ( ( Ys = nil_a )
          & ( Zs
            = ( cons_a @ X @ Xs ) ) )
        | ? [Ys4: list_a] :
            ( ( Ys
              = ( cons_a @ X @ Ys4 ) )
            & ( ( append_a @ Ys4 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_363_append__eq__Cons__conv,axiom,
    ! [Ys: list_nat,Zs: list_nat,X: nat,Xs: list_nat] :
      ( ( ( append_nat @ Ys @ Zs )
        = ( cons_nat @ X @ Xs ) )
      = ( ( ( Ys = nil_nat )
          & ( Zs
            = ( cons_nat @ X @ Xs ) ) )
        | ? [Ys4: list_nat] :
            ( ( Ys
              = ( cons_nat @ X @ Ys4 ) )
            & ( ( append_nat @ Ys4 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_364_append__eq__Cons__conv,axiom,
    ! [Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Ys @ Zs )
        = ( cons_P6512896166579812791at_nat @ X @ Xs ) )
      = ( ( ( Ys = nil_Pr5478986624290739719at_nat )
          & ( Zs
            = ( cons_P6512896166579812791at_nat @ X @ Xs ) ) )
        | ? [Ys4: list_P6011104703257516679at_nat] :
            ( ( Ys
              = ( cons_P6512896166579812791at_nat @ X @ Ys4 ) )
            & ( ( append985823374593552924at_nat @ Ys4 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_365_rev__nonempty__induct,axiom,
    ! [Xs: list_a,P2: list_a > $o] :
      ( ( Xs != nil_a )
     => ( ! [X3: a] : ( P2 @ ( cons_a @ X3 @ nil_a ) )
       => ( ! [X3: a,Xs2: list_a] :
              ( ( Xs2 != nil_a )
             => ( ( P2 @ Xs2 )
               => ( P2 @ ( append_a @ Xs2 @ ( cons_a @ X3 @ nil_a ) ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_366_rev__nonempty__induct,axiom,
    ! [Xs: list_nat,P2: list_nat > $o] :
      ( ( Xs != nil_nat )
     => ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
       => ( ! [X3: nat,Xs2: list_nat] :
              ( ( Xs2 != nil_nat )
             => ( ( P2 @ Xs2 )
               => ( P2 @ ( append_nat @ Xs2 @ ( cons_nat @ X3 @ nil_nat ) ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_367_rev__nonempty__induct,axiom,
    ! [Xs: list_P6011104703257516679at_nat,P2: list_P6011104703257516679at_nat > $o] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ( ! [X3: product_prod_nat_nat] : ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( Xs2 != nil_Pr5478986624290739719at_nat )
             => ( ( P2 @ Xs2 )
               => ( P2 @ ( append985823374593552924at_nat @ Xs2 @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) ) ) ) )
         => ( P2 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_368_lst__diff_Oinduct,axiom,
    ! [P2: list_a > list_nat > $o,A0: list_a,A1: list_nat] :
      ( ! [L2: list_a] : ( P2 @ L2 @ nil_nat )
     => ( ! [L2: list_a,X3: nat,Xs2: list_nat] :
            ( ( P2 @ ( drop_a @ X3 @ L2 ) @ Xs2 )
           => ( P2 @ L2 @ ( cons_nat @ X3 @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% lst_diff.induct
thf(fact_369_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ C ) @ B )
      = ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_370_same__length__different,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( Xs != Ys )
     => ( ( ( size_s5460976970255530739at_nat @ Xs )
          = ( size_s5460976970255530739at_nat @ Ys ) )
       => ? [Pre: list_P6011104703257516679at_nat,X3: product_prod_nat_nat,Xs3: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys5: list_P6011104703257516679at_nat] :
            ( ( X3 != Y2 )
            & ( Xs
              = ( append985823374593552924at_nat @ Pre @ ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ nil_Pr5478986624290739719at_nat ) @ Xs3 ) ) )
            & ( Ys
              = ( append985823374593552924at_nat @ Pre @ ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ Y2 @ nil_Pr5478986624290739719at_nat ) @ Ys5 ) ) ) ) ) ) ).

% same_length_different
thf(fact_371_same__length__different,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( Xs != Ys )
     => ( ( ( size_size_list_a @ Xs )
          = ( size_size_list_a @ Ys ) )
       => ? [Pre: list_a,X3: a,Xs3: list_a,Y2: a,Ys5: list_a] :
            ( ( X3 != Y2 )
            & ( Xs
              = ( append_a @ Pre @ ( append_a @ ( cons_a @ X3 @ nil_a ) @ Xs3 ) ) )
            & ( Ys
              = ( append_a @ Pre @ ( append_a @ ( cons_a @ Y2 @ nil_a ) @ Ys5 ) ) ) ) ) ) ).

% same_length_different
thf(fact_372_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,X3: nat,Xs3: list_nat,Y2: nat,Ys5: list_nat] :
            ( ( X3 != Y2 )
            & ( Xs
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ X3 @ nil_nat ) @ Xs3 ) ) )
            & ( Ys
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ Y2 @ nil_nat ) @ Ys5 ) ) ) ) ) ) ).

% same_length_different
thf(fact_373_drop__all,axiom,
    ! [Xs: list_P6011104703257516679at_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ N )
     => ( ( drop_P8868858903918902087at_nat @ N @ Xs )
        = nil_Pr5478986624290739719at_nat ) ) ).

% drop_all
thf(fact_374_drop__all,axiom,
    ! [Xs: list_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N )
     => ( ( drop_a @ N @ Xs )
        = nil_a ) ) ).

% drop_all
thf(fact_375_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_376_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( drop_P8868858903918902087at_nat @ N @ Xs )
        = nil_Pr5478986624290739719at_nat )
      = ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_377_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( ( drop_a @ N @ Xs )
        = nil_a )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_378_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_379_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( nil_Pr5478986624290739719at_nat
        = ( drop_P8868858903918902087at_nat @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_380_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( nil_a
        = ( drop_a @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_381_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_382_diagonal__mat__times__diag,axiom,
    ! [A2: mat_complex,N: nat,B4: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( diagonal_mat_complex @ A2 )
         => ( ( diagonal_mat_complex @ B4 )
           => ( diagonal_mat_complex @ ( times_8009071140041733218omplex @ A2 @ B4 ) ) ) ) ) ) ).

% diagonal_mat_times_diag
thf(fact_383_diagonal__mat__sq__diag,axiom,
    ! [B4: mat_complex,N: nat] :
      ( ( diagonal_mat_complex @ B4 )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( diagonal_mat_complex @ ( times_8009071140041733218omplex @ B4 @ B4 ) ) ) ) ).

% diagonal_mat_sq_diag
thf(fact_384_diagonal__mat__commute,axiom,
    ! [A2: mat_complex,N: nat,B4: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( diagonal_mat_complex @ A2 )
         => ( ( diagonal_mat_complex @ B4 )
           => ( ( times_8009071140041733218omplex @ A2 @ B4 )
              = ( times_8009071140041733218omplex @ B4 @ A2 ) ) ) ) ) ) ).

% diagonal_mat_commute
thf(fact_385_max__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ~ ! [X3: nat,Xs2: list_nat] :
            ( X
           != ( cons_nat @ X3 @ Xs2 ) ) ) ).

% max_list.cases
thf(fact_386_max__list_Oinduct,axiom,
    ! [P2: list_nat > $o,A0: list_nat] :
      ( ( P2 @ nil_nat )
     => ( ! [X3: nat,Xs2: list_nat] :
            ( ( P2 @ Xs2 )
           => ( P2 @ ( cons_nat @ X3 @ Xs2 ) ) )
       => ( P2 @ A0 ) ) ) ).

% max_list.induct
thf(fact_387_find__indices__snoc,axiom,
    ! [X: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat] :
      ( ( missin7441370236764828603at_nat @ X @ ( append985823374593552924at_nat @ Ys @ ( cons_P6512896166579812791at_nat @ Y4 @ nil_Pr5478986624290739719at_nat ) ) )
      = ( append_nat @ ( missin7441370236764828603at_nat @ X @ Ys ) @ ( if_list_nat @ ( X = Y4 ) @ ( cons_nat @ ( size_s5460976970255530739at_nat @ Ys ) @ nil_nat ) @ nil_nat ) ) ) ).

% find_indices_snoc
thf(fact_388_find__indices__snoc,axiom,
    ! [X: a,Ys: list_a,Y4: a] :
      ( ( missin4017714591038136ices_a @ X @ ( append_a @ Ys @ ( cons_a @ Y4 @ nil_a ) ) )
      = ( append_nat @ ( missin4017714591038136ices_a @ X @ Ys ) @ ( if_list_nat @ ( X = Y4 ) @ ( cons_nat @ ( size_size_list_a @ Ys ) @ nil_nat ) @ nil_nat ) ) ) ).

% find_indices_snoc
thf(fact_389_find__indices__snoc,axiom,
    ! [X: nat,Ys: list_nat,Y4: nat] :
      ( ( missin5050847376130023830es_nat @ X @ ( append_nat @ Ys @ ( cons_nat @ Y4 @ nil_nat ) ) )
      = ( append_nat @ ( missin5050847376130023830es_nat @ X @ Ys ) @ ( if_list_nat @ ( X = Y4 ) @ ( cons_nat @ ( size_size_list_nat @ Ys ) @ nil_nat ) @ nil_nat ) ) ) ).

% find_indices_snoc
thf(fact_390_mult__minus__distrib__mat,axiom,
    ! [A2: mat_complex,Nr: nat,N: nat,B4: mat_complex,Nc: nat,C3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( member_mat_complex @ C3 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ A2 @ ( minus_2412168080157227406omplex @ B4 @ C3 ) )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ ( times_8009071140041733218omplex @ A2 @ C3 ) ) ) ) ) ) ).

% mult_minus_distrib_mat
thf(fact_391_mult__le__mono2,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( times_times_nat @ K @ I ) @ ( times_times_nat @ K @ J ) ) ) ).

% mult_le_mono2
thf(fact_392_mult__le__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( times_times_nat @ I @ K ) @ ( times_times_nat @ J @ K ) ) ) ).

% mult_le_mono1
thf(fact_393_mult__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L )
       => ( ord_less_eq_nat @ ( times_times_nat @ I @ K ) @ ( times_times_nat @ J @ L ) ) ) ) ).

% mult_le_mono
thf(fact_394_le__square,axiom,
    ! [M: nat] : ( ord_less_eq_nat @ M @ ( times_times_nat @ M @ M ) ) ).

% le_square
thf(fact_395_le__cube,axiom,
    ! [M: nat] : ( ord_less_eq_nat @ M @ ( times_times_nat @ M @ ( times_times_nat @ M @ M ) ) ) ).

% le_cube
thf(fact_396_diff__mult__distrib2,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K @ ( minus_minus_nat @ M @ N ) )
      = ( minus_minus_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) ) ) ).

% diff_mult_distrib2
thf(fact_397_diff__mult__distrib,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ M @ N ) @ K )
      = ( minus_minus_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) ) ) ).

% diff_mult_distrib
thf(fact_398_find__indices__Nil,axiom,
    ! [X: nat] :
      ( ( missin5050847376130023830es_nat @ X @ nil_nat )
      = nil_nat ) ).

% find_indices_Nil
thf(fact_399_find__indices__Nil,axiom,
    ! [X: product_prod_nat_nat] :
      ( ( missin7441370236764828603at_nat @ X @ nil_Pr5478986624290739719at_nat )
      = nil_nat ) ).

% find_indices_Nil
thf(fact_400_minus__carrier__mat,axiom,
    ! [B4: mat_complex,Nr: nat,Nc: nat,A2: mat_complex] :
      ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A2 @ B4 ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% minus_carrier_mat
thf(fact_401_sorted__list__subset_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [A3: nat,As: list_nat,B2: nat,Bs: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ ( cons_nat @ A3 @ As ) @ ( cons_nat @ B2 @ Bs ) ) )
     => ( ! [Uu: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ Uu ) )
       => ~ ! [A3: nat,Uv: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ A3 @ Uv ) @ nil_nat ) ) ) ) ).

% sorted_list_subset.cases
thf(fact_402_mult__carrier__mat,axiom,
    ! [A2: mat_complex,Nr: nat,N: nat,B4: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ Nc ) )
       => ( member_mat_complex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% mult_carrier_mat
thf(fact_403_assoc__mult__mat,axiom,
    ! [A2: mat_complex,N_1: nat,N_2: nat,B4: mat_complex,N_3: nat,C3: mat_complex,N_4: nat] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N_1 @ N_2 ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N_2 @ N_3 ) )
       => ( ( member_mat_complex @ C3 @ ( carrier_mat_complex @ N_3 @ N_4 ) )
         => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ C3 )
            = ( times_8009071140041733218omplex @ A2 @ ( times_8009071140041733218omplex @ B4 @ C3 ) ) ) ) ) ) ).

% assoc_mult_mat
thf(fact_404_minus__mult__distrib__mat,axiom,
    ! [A2: mat_complex,Nr: nat,N: nat,B4: mat_complex,C3: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ N ) )
       => ( ( member_mat_complex @ C3 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ ( minus_2412168080157227406omplex @ A2 @ B4 ) @ C3 )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A2 @ C3 ) @ ( times_8009071140041733218omplex @ B4 @ C3 ) ) ) ) ) ) ).

% minus_mult_distrib_mat
thf(fact_405_plus__coeffs_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [Xs2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ Xs2 @ nil_nat ) )
     => ( ! [V: nat,Va: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ ( cons_nat @ V @ Va ) ) )
       => ~ ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) ) ) ).

% plus_coeffs.cases
thf(fact_406_plus__coeffs_Ocases,axiom,
    ! [X: produc6392793444374437607at_nat] :
      ( ! [Xs2: list_P6011104703257516679at_nat] :
          ( X
         != ( produc5943733680697469783at_nat @ Xs2 @ nil_Pr5478986624290739719at_nat ) )
     => ( ! [V: product_prod_nat_nat,Va: list_P6011104703257516679at_nat] :
            ( X
           != ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ ( cons_P6512896166579812791at_nat @ V @ Va ) ) )
       => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( X
             != ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) ) ) ).

% plus_coeffs.cases
thf(fact_407_longest__common__prefix_Ocases,axiom,
    ! [X: produc1828647624359046049st_nat] :
      ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
          ( X
         != ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
     => ( ! [Uv: list_nat] :
            ( X
           != ( produc2694037385005941721st_nat @ nil_nat @ Uv ) )
       => ~ ! [Uu: list_nat] :
              ( X
             != ( produc2694037385005941721st_nat @ Uu @ nil_nat ) ) ) ) ).

% longest_common_prefix.cases
thf(fact_408_longest__common__prefix_Ocases,axiom,
    ! [X: produc6392793444374437607at_nat] :
      ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
          ( X
         != ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
     => ( ! [Uv: list_P6011104703257516679at_nat] :
            ( X
           != ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Uv ) )
       => ~ ! [Uu: list_P6011104703257516679at_nat] :
              ( X
             != ( produc5943733680697469783at_nat @ Uu @ nil_Pr5478986624290739719at_nat ) ) ) ) ).

% longest_common_prefix.cases
thf(fact_409_pderiv__coeffs__code_Ocases,axiom,
    ! [X: produc4575160907756185873st_nat] :
      ( ! [F: nat,X3: nat,Xs2: list_nat] :
          ( X
         != ( produc8282810413953273033st_nat @ F @ ( cons_nat @ X3 @ Xs2 ) ) )
     => ~ ! [F: nat] :
            ( X
           != ( produc8282810413953273033st_nat @ F @ nil_nat ) ) ) ).

% pderiv_coeffs_code.cases
thf(fact_410_minus__carrier__mat_H,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A2 @ B4 ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% minus_carrier_mat'
thf(fact_411_plus__coeffs_Oinduct,axiom,
    ! [P2: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [Xs2: list_nat] : ( P2 @ Xs2 @ nil_nat )
     => ( ! [V: nat,Va: list_nat] : ( P2 @ nil_nat @ ( cons_nat @ V @ Va ) )
       => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
              ( ( P2 @ Xs2 @ Ys2 )
             => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% plus_coeffs.induct
thf(fact_412_plus__coeffs_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat] :
      ( ! [Xs2: list_P6011104703257516679at_nat] : ( P2 @ Xs2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [V: product_prod_nat_nat,Va: list_P6011104703257516679at_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ ( cons_P6512896166579812791at_nat @ V @ Va ) )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( P2 @ Xs2 @ Ys2 )
             => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% plus_coeffs.induct
thf(fact_413_longest__common__prefix_Oinduct,axiom,
    ! [P2: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
          ( ( ( X3 = Y2 )
           => ( P2 @ Xs2 @ Ys2 ) )
         => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
     => ( ! [X_1: list_nat] : ( P2 @ nil_nat @ X_1 )
       => ( ! [Uu: list_nat] : ( P2 @ Uu @ nil_nat )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% longest_common_prefix.induct
thf(fact_414_longest__common__prefix_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o,A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat] :
      ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
          ( ( ( X3 = Y2 )
           => ( P2 @ Xs2 @ Ys2 ) )
         => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
     => ( ! [X_1: list_P6011104703257516679at_nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ X_1 )
       => ( ! [Uu: list_P6011104703257516679at_nat] : ( P2 @ Uu @ nil_Pr5478986624290739719at_nat )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% longest_common_prefix.induct
thf(fact_415_find__largest__block_Oinduct,axiom,
    ! [P2: product_prod_nat_nat > list_P6011104703257516679at_nat > $o,A0: product_prod_nat_nat,A1: list_P6011104703257516679at_nat] :
      ( ! [Block: product_prod_nat_nat] : ( P2 @ Block @ nil_Pr5478986624290739719at_nat )
     => ( ! [M_start: nat,M_end: nat,I_start: nat,I_end: nat,Blocks: list_P6011104703257516679at_nat] :
            ( ( ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
             => ( P2 @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) )
           => ( ( ~ ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
               => ( P2 @ ( product_Pair_nat_nat @ M_start @ M_end ) @ Blocks ) )
             => ( P2 @ ( product_Pair_nat_nat @ M_start @ M_end ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% find_largest_block.induct
thf(fact_416_SuccD,axiom,
    ! [K: mat_a,Kl: set_list_mat_a,Kl2: list_mat_a] :
      ( ( member_mat_a @ K @ ( bNF_Gr1459196596068634368_mat_a @ Kl @ Kl2 ) )
     => ( member_list_mat_a @ ( append_mat_a @ Kl2 @ ( cons_mat_a @ K @ nil_mat_a ) ) @ Kl ) ) ).

% SuccD
thf(fact_417_SuccD,axiom,
    ! [K: mat_complex,Kl: set_list_mat_complex,Kl2: list_mat_complex] :
      ( ( member_mat_complex @ K @ ( bNF_Gr1419691569100178498omplex @ Kl @ Kl2 ) )
     => ( member279434397506102358omplex @ ( append_mat_complex @ Kl2 @ ( cons_mat_complex @ K @ nil_mat_complex ) ) @ Kl ) ) ).

% SuccD
thf(fact_418_SuccD,axiom,
    ! [K: a,Kl: set_list_a,Kl2: list_a] :
      ( ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl @ Kl2 ) )
     => ( member_list_a @ ( append_a @ Kl2 @ ( cons_a @ K @ nil_a ) ) @ Kl ) ) ).

% SuccD
thf(fact_419_SuccD,axiom,
    ! [K: nat,Kl: set_list_nat,Kl2: list_nat] :
      ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ Kl2 ) )
     => ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl ) ) ).

% SuccD
thf(fact_420_SuccD,axiom,
    ! [K: product_prod_nat_nat,Kl: set_li5450038453877631591at_nat,Kl2: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ K @ ( bNF_Gr5363859321595349404at_nat @ Kl @ Kl2 ) )
     => ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Kl2 @ ( cons_P6512896166579812791at_nat @ K @ nil_Pr5478986624290739719at_nat ) ) @ Kl ) ) ).

% SuccD
thf(fact_421_SuccI,axiom,
    ! [Kl2: list_mat_a,K: mat_a,Kl: set_list_mat_a] :
      ( ( member_list_mat_a @ ( append_mat_a @ Kl2 @ ( cons_mat_a @ K @ nil_mat_a ) ) @ Kl )
     => ( member_mat_a @ K @ ( bNF_Gr1459196596068634368_mat_a @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_422_SuccI,axiom,
    ! [Kl2: list_mat_complex,K: mat_complex,Kl: set_list_mat_complex] :
      ( ( member279434397506102358omplex @ ( append_mat_complex @ Kl2 @ ( cons_mat_complex @ K @ nil_mat_complex ) ) @ Kl )
     => ( member_mat_complex @ K @ ( bNF_Gr1419691569100178498omplex @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_423_SuccI,axiom,
    ! [Kl2: list_a,K: a,Kl: set_list_a] :
      ( ( member_list_a @ ( append_a @ Kl2 @ ( cons_a @ K @ nil_a ) ) @ Kl )
     => ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_424_SuccI,axiom,
    ! [Kl2: list_nat,K: nat,Kl: set_list_nat] :
      ( ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl )
     => ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_425_SuccI,axiom,
    ! [Kl2: list_P6011104703257516679at_nat,K: product_prod_nat_nat,Kl: set_li5450038453877631591at_nat] :
      ( ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Kl2 @ ( cons_P6512896166579812791at_nat @ K @ nil_Pr5478986624290739719at_nat ) ) @ Kl )
     => ( member8440522571783428010at_nat @ K @ ( bNF_Gr5363859321595349404at_nat @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_426_max__list__non__empty_Ocases,axiom,
    ! [X: list_nat] :
      ( ! [X3: nat] :
          ( X
         != ( cons_nat @ X3 @ nil_nat ) )
     => ( ! [X3: nat,V: nat,Va: list_nat] :
            ( X
           != ( cons_nat @ X3 @ ( cons_nat @ V @ Va ) ) )
       => ( X = nil_nat ) ) ) ).

% max_list_non_empty.cases
thf(fact_427_max__list__non__empty_Oinduct,axiom,
    ! [P2: list_nat > $o,A0: list_nat] :
      ( ! [X3: nat] : ( P2 @ ( cons_nat @ X3 @ nil_nat ) )
     => ( ! [X3: nat,V: nat,Va: list_nat] :
            ( ( P2 @ ( cons_nat @ V @ Va ) )
           => ( P2 @ ( cons_nat @ X3 @ ( cons_nat @ V @ Va ) ) ) )
       => ( ( P2 @ nil_nat )
         => ( P2 @ A0 ) ) ) ) ).

% max_list_non_empty.induct
thf(fact_428_find__largest__block_Ocases,axiom,
    ! [X: produc7489448085829838189at_nat] :
      ( ! [Block: product_prod_nat_nat] :
          ( X
         != ( produc1593612501639298397at_nat @ Block @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [M_start: nat,M_end: nat,I_start: nat,I_end: nat,Blocks: list_P6011104703257516679at_nat] :
            ( X
           != ( produc1593612501639298397at_nat @ ( product_Pair_nat_nat @ M_start @ M_end ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) ) ) ) ).

% find_largest_block.cases
thf(fact_429_carrier__matD_I1_J,axiom,
    ! [A2: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A2 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( dim_row_a @ A2 )
        = Nr ) ) ).

% carrier_matD(1)
thf(fact_430_carrier__matD_I1_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( dim_row_complex @ A2 )
        = Nr ) ) ).

% carrier_matD(1)
thf(fact_431_index__mult__mat_I2_J,axiom,
    ! [A2: mat_complex,B4: mat_complex] :
      ( ( dim_row_complex @ ( times_8009071140041733218omplex @ A2 @ B4 ) )
      = ( dim_row_complex @ A2 ) ) ).

% index_mult_mat(2)
thf(fact_432_index__minus__mat_I2_J,axiom,
    ! [A2: mat_complex,B4: mat_complex] :
      ( ( dim_row_complex @ ( minus_2412168080157227406omplex @ A2 @ B4 ) )
      = ( dim_row_complex @ B4 ) ) ).

% index_minus_mat(2)
thf(fact_433_cross3__simps_I25_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ A @ ( minus_minus_nat @ B @ C ) )
      = ( minus_minus_nat @ ( times_times_nat @ A @ B ) @ ( times_times_nat @ A @ C ) ) ) ).

% cross3_simps(25)
thf(fact_434_cross3__simps_I26_J,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ B @ C ) @ A )
      = ( minus_minus_nat @ ( times_times_nat @ B @ A ) @ ( times_times_nat @ C @ A ) ) ) ).

% cross3_simps(26)
thf(fact_435_map__entry_Oinduct,axiom,
    ! [P2: nat > ( nat > nat ) > list_P6011104703257516679at_nat > $o,A0: nat,A1: nat > nat,A22: list_P6011104703257516679at_nat] :
      ( ! [K2: nat,F: nat > nat] : ( P2 @ K2 @ F @ nil_Pr5478986624290739719at_nat )
     => ( ! [K2: nat,F: nat > nat,P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
            ( ( ( ( product_fst_nat_nat @ P4 )
               != K2 )
             => ( P2 @ K2 @ F @ Ps ) )
           => ( P2 @ K2 @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_entry.induct
thf(fact_436_map__entry_Oinduct,axiom,
    ! [P2: mat_a > ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > $o,A0: mat_a,A1: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,A22: list_P2872167576551266355_mat_a] :
      ( ! [K2: mat_a,F: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a] : ( P2 @ K2 @ F @ nil_Pr8081019204233271603_mat_a )
     => ( ! [K2: mat_a,F: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
            ( ( ( ( produc7700291086614992977_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ F @ Ps ) )
           => ( P2 @ K2 @ F @ ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_entry.induct
thf(fact_437_map__entry_Oinduct,axiom,
    ! [P2: mat_a > ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > $o,A0: mat_a,A1: mat_a > mat_a,A22: list_P5411175341357971485_mat_a] :
      ( ! [K2: mat_a,F: mat_a > mat_a] : ( P2 @ K2 @ F @ nil_Pr2784087112350407837_mat_a )
     => ( ! [K2: mat_a,F: mat_a > mat_a,P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
            ( ( ( ( produc8618483072558553147_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ F @ Ps ) )
           => ( P2 @ K2 @ F @ ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_entry.induct
thf(fact_438_map__entry_Oinduct,axiom,
    ! [P2: mat_a > ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > $o,A0: mat_a,A1: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,A22: list_P798859136818506497_mat_a] :
      ( ! [K2: mat_a,F: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a] : ( P2 @ K2 @ F @ nil_Pr3902087586535856747_mat_a )
     => ( ! [K2: mat_a,F: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
            ( ( ( ( produc7340730364199978039_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ F @ Ps ) )
           => ( P2 @ K2 @ F @ ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 ) ) ) ).

% map_entry.induct
thf(fact_439_map__default_Oinduct,axiom,
    ! [P2: nat > nat > ( nat > nat ) > list_P6011104703257516679at_nat > $o,A0: nat,A1: nat,A22: nat > nat,A32: list_P6011104703257516679at_nat] :
      ( ! [K2: nat,V: nat,F: nat > nat] : ( P2 @ K2 @ V @ F @ nil_Pr5478986624290739719at_nat )
     => ( ! [K2: nat,V: nat,F: nat > nat,P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
            ( ( ( ( product_fst_nat_nat @ P4 )
               != K2 )
             => ( P2 @ K2 @ V @ F @ Ps ) )
           => ( P2 @ K2 @ V @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 @ A32 ) ) ) ).

% map_default.induct
thf(fact_440_map__default_Oinduct,axiom,
    ! [P2: mat_a > produc5452184871688341745_mat_a > ( produc5452184871688341745_mat_a > produc5452184871688341745_mat_a ) > list_P2872167576551266355_mat_a > $o,A0: mat_a,A1: produc5452184871688341745_mat_a,A22: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,A32: list_P2872167576551266355_mat_a] :
      ( ! [K2: mat_a,V: produc5452184871688341745_mat_a,F: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a] : ( P2 @ K2 @ V @ F @ nil_Pr8081019204233271603_mat_a )
     => ( ! [K2: mat_a,V: produc5452184871688341745_mat_a,F: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
            ( ( ( ( produc7700291086614992977_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ V @ F @ Ps ) )
           => ( P2 @ K2 @ V @ F @ ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 @ A32 ) ) ) ).

% map_default.induct
thf(fact_441_map__default_Oinduct,axiom,
    ! [P2: mat_a > mat_a > ( mat_a > mat_a ) > list_P5411175341357971485_mat_a > $o,A0: mat_a,A1: mat_a,A22: mat_a > mat_a,A32: list_P5411175341357971485_mat_a] :
      ( ! [K2: mat_a,V: mat_a,F: mat_a > mat_a] : ( P2 @ K2 @ V @ F @ nil_Pr2784087112350407837_mat_a )
     => ( ! [K2: mat_a,V: mat_a,F: mat_a > mat_a,P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
            ( ( ( ( produc8618483072558553147_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ V @ F @ Ps ) )
           => ( P2 @ K2 @ V @ F @ ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 @ A32 ) ) ) ).

% map_default.induct
thf(fact_442_map__default_Oinduct,axiom,
    ! [P2: mat_a > produc5370362606830271383_mat_a > ( produc5370362606830271383_mat_a > produc5370362606830271383_mat_a ) > list_P798859136818506497_mat_a > $o,A0: mat_a,A1: produc5370362606830271383_mat_a,A22: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,A32: list_P798859136818506497_mat_a] :
      ( ! [K2: mat_a,V: produc5370362606830271383_mat_a,F: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a] : ( P2 @ K2 @ V @ F @ nil_Pr3902087586535856747_mat_a )
     => ( ! [K2: mat_a,V: produc5370362606830271383_mat_a,F: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
            ( ( ( ( produc7340730364199978039_mat_a @ P4 )
               != K2 )
             => ( P2 @ K2 @ V @ F @ Ps ) )
           => ( P2 @ K2 @ V @ F @ ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) ) )
       => ( P2 @ A0 @ A1 @ A22 @ A32 ) ) ) ).

% map_default.induct
thf(fact_443_diag__mat__length,axiom,
    ! [A2: mat_complex] :
      ( ( size_s3451745648224563538omplex @ ( diag_mat_complex @ A2 ) )
      = ( dim_row_complex @ A2 ) ) ).

% diag_mat_length
thf(fact_444_diag__mat__length,axiom,
    ! [A2: mat_a] :
      ( ( size_size_list_a @ ( diag_mat_a @ A2 ) )
      = ( dim_row_a @ A2 ) ) ).

% diag_mat_length
thf(fact_445_diag__mat__length,axiom,
    ! [A2: mat_nat] :
      ( ( size_size_list_nat @ ( diag_mat_nat @ A2 ) )
      = ( dim_row_nat @ A2 ) ) ).

% diag_mat_length
thf(fact_446_inverse__permutation__of__list_Oinduct,axiom,
    ! [P2: list_P5411175341357971485_mat_a > mat_a > $o,A0: list_P5411175341357971485_mat_a,A1: mat_a] :
      ( ! [X_1: mat_a] : ( P2 @ nil_Pr2784087112350407837_mat_a @ X_1 )
     => ( ! [Y2: mat_a,X6: mat_a,Xs2: list_P5411175341357971485_mat_a,X3: mat_a] :
            ( ( ( X3 != X6 )
             => ( P2 @ Xs2 @ X3 ) )
           => ( P2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y2 @ X6 ) @ Xs2 ) @ X3 ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% inverse_permutation_of_list.induct
thf(fact_447_inverse__permutation__of__list_Oinduct,axiom,
    ! [P2: list_P6011104703257516679at_nat > nat > $o,A0: list_P6011104703257516679at_nat,A1: nat] :
      ( ! [X_1: nat] : ( P2 @ nil_Pr5478986624290739719at_nat @ X_1 )
     => ( ! [Y2: nat,X6: nat,Xs2: list_P6011104703257516679at_nat,X3: nat] :
            ( ( ( X3 != X6 )
             => ( P2 @ Xs2 @ X3 ) )
           => ( P2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y2 @ X6 ) @ Xs2 ) @ X3 ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% inverse_permutation_of_list.induct
thf(fact_448_inverse__permutation__of__list_Ocases,axiom,
    ! [X: produc6091557110873019175_mat_a] :
      ( ! [X3: mat_a] :
          ( X
         != ( produc8962496168985544609_mat_a @ nil_Pr2784087112350407837_mat_a @ X3 ) )
     => ~ ! [Y2: mat_a,X6: mat_a,Xs2: list_P5411175341357971485_mat_a,X3: mat_a] :
            ( X
           != ( produc8962496168985544609_mat_a @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y2 @ X6 ) @ Xs2 ) @ X3 ) ) ) ).

% inverse_permutation_of_list.cases
thf(fact_449_inverse__permutation__of__list_Ocases,axiom,
    ! [X: produc4008378413191047942at_nat] :
      ( ! [X3: nat] :
          ( X
         != ( produc8424349340415155968at_nat @ nil_Pr5478986624290739719at_nat @ X3 ) )
     => ~ ! [Y2: nat,X6: nat,Xs2: list_P6011104703257516679at_nat,X3: nat] :
            ( X
           != ( produc8424349340415155968at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y2 @ X6 ) @ Xs2 ) @ X3 ) ) ) ).

% inverse_permutation_of_list.cases
thf(fact_450_delete__aux_Oinduct,axiom,
    ! [P2: mat_a > list_P2872167576551266355_mat_a > $o,A0: mat_a,A1: list_P2872167576551266355_mat_a] :
      ( ! [K2: mat_a] : ( P2 @ K2 @ nil_Pr8081019204233271603_mat_a )
     => ( ! [K2: mat_a,K3: mat_a,V: produc5452184871688341745_mat_a,Xs2: list_P2872167576551266355_mat_a] :
            ( ( ( K2 != K3 )
             => ( P2 @ K2 @ Xs2 ) )
           => ( P2 @ K2 @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% delete_aux.induct
thf(fact_451_delete__aux_Oinduct,axiom,
    ! [P2: mat_a > list_P798859136818506497_mat_a > $o,A0: mat_a,A1: list_P798859136818506497_mat_a] :
      ( ! [K2: mat_a] : ( P2 @ K2 @ nil_Pr3902087586535856747_mat_a )
     => ( ! [K2: mat_a,K3: mat_a,V: produc5370362606830271383_mat_a,Xs2: list_P798859136818506497_mat_a] :
            ( ( ( K2 != K3 )
             => ( P2 @ K2 @ Xs2 ) )
           => ( P2 @ K2 @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% delete_aux.induct
thf(fact_452_delete__aux_Oinduct,axiom,
    ! [P2: mat_a > list_P5411175341357971485_mat_a > $o,A0: mat_a,A1: list_P5411175341357971485_mat_a] :
      ( ! [K2: mat_a] : ( P2 @ K2 @ nil_Pr2784087112350407837_mat_a )
     => ( ! [K2: mat_a,K3: mat_a,V: mat_a,Xs2: list_P5411175341357971485_mat_a] :
            ( ( ( K2 != K3 )
             => ( P2 @ K2 @ Xs2 ) )
           => ( P2 @ K2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% delete_aux.induct
thf(fact_453_delete__aux_Oinduct,axiom,
    ! [P2: nat > list_P6011104703257516679at_nat > $o,A0: nat,A1: list_P6011104703257516679at_nat] :
      ( ! [K2: nat] : ( P2 @ K2 @ nil_Pr5478986624290739719at_nat )
     => ( ! [K2: nat,K3: nat,V: nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( ( K2 != K3 )
             => ( P2 @ K2 @ Xs2 ) )
           => ( P2 @ K2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% delete_aux.induct
thf(fact_454_delete__aux_Oinduct,axiom,
    ! [P2: product_prod_nat_nat > list_P811921619475610355at_nat > $o,A0: product_prod_nat_nat,A1: list_P811921619475610355at_nat] :
      ( ! [K2: product_prod_nat_nat] : ( P2 @ K2 @ nil_Pr2725473518384139891at_nat )
     => ( ! [K2: product_prod_nat_nat,K3: product_prod_nat_nat,V: list_P6011104703257516679at_nat,Xs2: list_P811921619475610355at_nat] :
            ( ( ( K2 != K3 )
             => ( P2 @ K2 @ Xs2 ) )
           => ( P2 @ K2 @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ Xs2 ) ) )
       => ( P2 @ A0 @ A1 ) ) ) ).

% delete_aux.induct
thf(fact_455_clearjunk_Ocases,axiom,
    ! [X: list_P6011104703257516679at_nat] :
      ( ( X != nil_Pr5478986624290739719at_nat )
     => ~ ! [P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
            ( X
           != ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) ) ).

% clearjunk.cases
thf(fact_456_map__default_Ocases,axiom,
    ! [X: produc5405368317271509971at_nat] :
      ( ! [K2: nat,V: nat,F: nat > nat] :
          ( X
         != ( produc2291548248119593221at_nat @ K2 @ ( produc1709345877921393766at_nat @ V @ ( produc1236331799044183215at_nat @ F @ nil_Pr5478986624290739719at_nat ) ) ) )
     => ~ ! [K2: nat,V: nat,F: nat > nat,P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
            ( X
           != ( produc2291548248119593221at_nat @ K2 @ ( produc1709345877921393766at_nat @ V @ ( produc1236331799044183215at_nat @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) ) ) ) ) ).

% map_default.cases
thf(fact_457_map__entry_Ocases,axiom,
    ! [X: produc6121082497140218670at_nat] :
      ( ! [K2: nat,F: nat > nat] :
          ( X
         != ( produc1709345877921393766at_nat @ K2 @ ( produc1236331799044183215at_nat @ F @ nil_Pr5478986624290739719at_nat ) ) )
     => ~ ! [K2: nat,F: nat > nat,P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
            ( X
           != ( produc1709345877921393766at_nat @ K2 @ ( produc1236331799044183215at_nat @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) ) ) ) ).

% map_entry.cases
thf(fact_458_delete__aux_Ocases,axiom,
    ! [X: produc5017405237813737357_mat_a] :
      ( ! [K2: mat_a] :
          ( X
         != ( produc6419039111866398655_mat_a @ K2 @ nil_Pr8081019204233271603_mat_a ) )
     => ~ ! [K2: mat_a,K3: mat_a,V: produc5452184871688341745_mat_a,Xs2: list_P2872167576551266355_mat_a] :
            ( X
           != ( produc6419039111866398655_mat_a @ K2 @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_459_delete__aux_Ocases,axiom,
    ! [X: produc282401647563135677_mat_a] :
      ( ! [K2: mat_a] :
          ( X
         != ( produc7693367244810913397_mat_a @ K2 @ nil_Pr3902087586535856747_mat_a ) )
     => ~ ! [K2: mat_a,K3: mat_a,V: produc5370362606830271383_mat_a,Xs2: list_P798859136818506497_mat_a] :
            ( X
           != ( produc7693367244810913397_mat_a @ K2 @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_460_delete__aux_Ocases,axiom,
    ! [X: produc1859714607405874935_mat_a] :
      ( ! [K2: mat_a] :
          ( X
         != ( produc3701670035027927465_mat_a @ K2 @ nil_Pr2784087112350407837_mat_a ) )
     => ~ ! [K2: mat_a,K3: mat_a,V: mat_a,Xs2: list_P5411175341357971485_mat_a] :
            ( X
           != ( produc3701670035027927465_mat_a @ K2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_461_delete__aux_Ocases,axiom,
    ! [X: produc8472197452120411308at_nat] :
      ( ! [K2: nat] :
          ( X
         != ( produc6109913384486294878at_nat @ K2 @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [K2: nat,K3: nat,V: nat,Xs2: list_P6011104703257516679at_nat] :
            ( X
           != ( produc6109913384486294878at_nat @ K2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_462_delete__aux_Ocases,axiom,
    ! [X: produc7025357762891698649at_nat] :
      ( ! [K2: product_prod_nat_nat] :
          ( X
         != ( produc565436351594717641at_nat @ K2 @ nil_Pr2725473518384139891at_nat ) )
     => ~ ! [K2: product_prod_nat_nat,K3: product_prod_nat_nat,V: list_P6011104703257516679at_nat,Xs2: list_P811921619475610355at_nat] :
            ( X
           != ( produc565436351594717641at_nat @ K2 @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_463_map__default_Oelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
         => ( Y4
           != ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xc
                = ( cons_P6512896166579812791at_nat @ P4 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P6512896166579812791at_nat @ P4 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_464_map__default_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat,Xb: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Xc: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( map_de2300712711118028574at_nat @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( ( Xc = nil_Pr2725473518384139891at_nat )
         => ( Y4
           != ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ Xa ) @ nil_Pr2725473518384139891at_nat ) ) )
       => ~ ! [P4: produc7489448085829838189at_nat,Ps: list_P811921619475610355at_nat] :
              ( ( Xc
                = ( cons_P2215982549036978723at_nat @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7510217175138029897at_nat @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ ( Xb @ ( produc1817956038046406027at_nat @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7510217175138029897at_nat @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P2215982549036978723at_nat @ P4 @ ( map_de2300712711118028574at_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_465_map__default_Oelims,axiom,
    ! [X: mat_a,Xa: mat_a,Xb: mat_a > mat_a,Xc: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( map_de1790062285897181712_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( ( Xc = nil_Pr2784087112350407837_mat_a )
         => ( Y4
           != ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ Xa ) @ nil_Pr2784087112350407837_mat_a ) ) )
       => ~ ! [P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
              ( ( Xc
                = ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc8618483072558553147_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ ( Xb @ ( produc3539460521124201597_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc8618483072558553147_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P3230921977152692301_mat_a @ P4 @ ( map_de1790062285897181712_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_466_map__default_Oelims,axiom,
    ! [X: mat_a,Xa: produc5370362606830271383_mat_a,Xb: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Xc: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( map_de7291990965617922850_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( ( Xc = nil_Pr3902087586535856747_mat_a )
         => ( Y4
           != ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ Xa ) @ nil_Pr3902087586535856747_mat_a ) ) )
       => ~ ! [P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
              ( ( Xc
                = ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7340730364199978039_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ ( Xb @ ( produc7508173349661082485_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7340730364199978039_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P2417854964248693435_mat_a @ P4 @ ( map_de7291990965617922850_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_467_map__default_Oelims,axiom,
    ! [X: mat_a,Xa: produc5452184871688341745_mat_a,Xb: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Xc: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( map_de3954425106173982886_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( ( Xc = nil_Pr8081019204233271603_mat_a )
         => ( Y4
           != ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ Xa ) @ nil_Pr8081019204233271603_mat_a ) ) )
       => ~ ! [P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
              ( ( Xc
                = ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7700291086614992977_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ ( Xb @ ( produc1482081755353976211_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7700291086614992977_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P9119692492650804451_mat_a @ P4 @ ( map_de3954425106173982886_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_468_map__entry_Oelims,axiom,
    ! [X: nat,Xa: nat > nat,Xb: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X @ Xa @ Xb )
        = Y4 )
     => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
         => ( Y4 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xb
                = ( cons_P6512896166579812791at_nat @ P4 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xa @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P6512896166579812791at_nat @ P4 @ ( map_entry_nat_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_469_map__entry_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Xb: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( map_en5418802101440199951at_nat @ X @ Xa @ Xb )
        = Y4 )
     => ( ( ( Xb = nil_Pr2725473518384139891at_nat )
         => ( Y4 != nil_Pr2725473518384139891at_nat ) )
       => ~ ! [P4: produc7489448085829838189at_nat,Ps: list_P811921619475610355at_nat] :
              ( ( Xb
                = ( cons_P2215982549036978723at_nat @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7510217175138029897at_nat @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ ( Xa @ ( produc1817956038046406027at_nat @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7510217175138029897at_nat @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P2215982549036978723at_nat @ P4 @ ( map_en5418802101440199951at_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_470_map__entry_Oelims,axiom,
    ! [X: mat_a,Xa: mat_a > mat_a,Xb: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( map_en7478846251724979201_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( ( Xb = nil_Pr2784087112350407837_mat_a )
         => ( Y4 != nil_Pr2784087112350407837_mat_a ) )
       => ~ ! [P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
              ( ( Xb
                = ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc8618483072558553147_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ ( Xa @ ( produc3539460521124201597_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc8618483072558553147_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P3230921977152692301_mat_a @ P4 @ ( map_en7478846251724979201_mat_a @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_471_map__entry_Oelims,axiom,
    ! [X: mat_a,Xa: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Xb: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( map_en2605797910578914033_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( ( Xb = nil_Pr3902087586535856747_mat_a )
         => ( Y4 != nil_Pr3902087586535856747_mat_a ) )
       => ~ ! [P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
              ( ( Xb
                = ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7340730364199978039_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ ( Xa @ ( produc7508173349661082485_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7340730364199978039_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P2417854964248693435_mat_a @ P4 @ ( map_en2605797910578914033_mat_a @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_472_map__entry_Oelims,axiom,
    ! [X: mat_a,Xa: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Xb: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( map_en5402142467459766039_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( ( Xb = nil_Pr8081019204233271603_mat_a )
         => ( Y4 != nil_Pr8081019204233271603_mat_a ) )
       => ~ ! [P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
              ( ( Xb
                = ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) )
             => ~ ( ( ( ( produc7700291086614992977_mat_a @ P4 )
                      = X )
                   => ( Y4
                      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ ( Xa @ ( produc1482081755353976211_mat_a @ P4 ) ) ) @ Ps ) ) )
                  & ( ( ( produc7700291086614992977_mat_a @ P4 )
                     != X )
                   => ( Y4
                      = ( cons_P9119692492650804451_mat_a @ P4 @ ( map_en5402142467459766039_mat_a @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_473_find__largest__block_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat] :
      ( ( ( jordan1665469968453478129_block @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr5478986624290739719at_nat )
         => ( Y4 != X ) )
       => ~ ! [M_start: nat,M_end: nat] :
              ( ( X
                = ( product_Pair_nat_nat @ M_start @ M_end ) )
             => ! [I_start: nat,I_end: nat,Blocks: list_P6011104703257516679at_nat] :
                  ( ( Xa
                    = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) )
                 => ~ ( ( ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
                       => ( Y4
                          = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) ) )
                      & ( ~ ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
                       => ( Y4
                          = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ M_start @ M_end ) @ Blocks ) ) ) ) ) ) ) ) ).

% find_largest_block.elims
thf(fact_474_update__with__aux_Osimps_I2_J,axiom,
    ! [P: product_prod_nat_nat,K: nat,V2: nat,F2: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P )
          = K )
       => ( ( update528237659335440164at_nat @ V2 @ K @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F2 @ ( product_snd_nat_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P )
         != K )
       => ( ( update528237659335440164at_nat @ V2 @ K @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P @ ( update528237659335440164at_nat @ V2 @ K @ F2 @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_475_update__with__aux_Osimps_I2_J,axiom,
    ! [P: produc7489448085829838189at_nat,K: product_prod_nat_nat,V2: list_P6011104703257516679at_nat,F2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Ps2: list_P811921619475610355at_nat] :
      ( ( ( ( produc7510217175138029897at_nat @ P )
          = K )
       => ( ( update3845619404146092220at_nat @ V2 @ K @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ ( F2 @ ( produc1817956038046406027at_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7510217175138029897at_nat @ P )
         != K )
       => ( ( update3845619404146092220at_nat @ V2 @ K @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ P @ ( update3845619404146092220at_nat @ V2 @ K @ F2 @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_476_update__with__aux_Osimps_I2_J,axiom,
    ! [P: produc5370362606830271383_mat_a,K: mat_a,V2: mat_a,F2: mat_a > mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( ( ( produc8618483072558553147_mat_a @ P )
          = K )
       => ( ( update8196492349025996602_mat_a @ V2 @ K @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ ( produc3539460521124201597_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8618483072558553147_mat_a @ P )
         != K )
       => ( ( update8196492349025996602_mat_a @ V2 @ K @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ P @ ( update8196492349025996602_mat_a @ V2 @ K @ F2 @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_477_update__with__aux_Osimps_I2_J,axiom,
    ! [P: produc5452184871688341745_mat_a,K: mat_a,V2: produc5370362606830271383_mat_a,F2: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( ( ( produc7340730364199978039_mat_a @ P )
          = K )
       => ( ( update3285386300047510896_mat_a @ V2 @ K @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ ( produc7508173349661082485_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7340730364199978039_mat_a @ P )
         != K )
       => ( ( update3285386300047510896_mat_a @ V2 @ K @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ P @ ( update3285386300047510896_mat_a @ V2 @ K @ F2 @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_478_update__with__aux_Osimps_I2_J,axiom,
    ! [P: produc4216251508294696237_mat_a,K: mat_a,V2: produc5452184871688341745_mat_a,F2: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( ( ( produc7700291086614992977_mat_a @ P )
          = K )
       => ( ( update842895306872828624_mat_a @ V2 @ K @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ ( produc1482081755353976211_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7700291086614992977_mat_a @ P )
         != K )
       => ( ( update842895306872828624_mat_a @ V2 @ K @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ P @ ( update842895306872828624_mat_a @ V2 @ K @ F2 @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_479_empty__Shift,axiom,
    ! [Kl: set_list_mat_a,K: mat_a] :
      ( ( member_list_mat_a @ nil_mat_a @ Kl )
     => ( ( member_mat_a @ K @ ( bNF_Gr1459196596068634368_mat_a @ Kl @ nil_mat_a ) )
       => ( member_list_mat_a @ nil_mat_a @ ( bNF_Gr4483329336800378748_mat_a @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_480_empty__Shift,axiom,
    ! [Kl: set_list_mat_complex,K: mat_complex] :
      ( ( member279434397506102358omplex @ nil_mat_complex @ Kl )
     => ( ( member_mat_complex @ K @ ( bNF_Gr1419691569100178498omplex @ Kl @ nil_mat_complex ) )
       => ( member279434397506102358omplex @ nil_mat_complex @ ( bNF_Gr7345722917312767174omplex @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_481_empty__Shift,axiom,
    ! [Kl: set_list_nat,K: nat] :
      ( ( member_list_nat @ nil_nat @ Kl )
     => ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ nil_nat ) )
       => ( member_list_nat @ nil_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_482_empty__Shift,axiom,
    ! [Kl: set_li5450038453877631591at_nat,K: product_prod_nat_nat] :
      ( ( member3067507820990806192at_nat @ nil_Pr5478986624290739719at_nat @ Kl )
     => ( ( member8440522571783428010at_nat @ K @ ( bNF_Gr5363859321595349404at_nat @ Kl @ nil_Pr5478986624290739719at_nat ) )
       => ( member3067507820990806192at_nat @ nil_Pr5478986624290739719at_nat @ ( bNF_Gr3130287167067265568at_nat @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_483_hermitian__square__hermitian,axiom,
    ! [A2: mat_complex] :
      ( ( comple8306762464034002205omplex @ A2 )
     => ( comple8306762464034002205omplex @ ( times_8009071140041733218omplex @ A2 @ A2 ) ) ) ).

% hermitian_square_hermitian
thf(fact_484_find__largest__block_Osimps_I1_J,axiom,
    ! [Block2: product_prod_nat_nat] :
      ( ( jordan1665469968453478129_block @ Block2 @ nil_Pr5478986624290739719at_nat )
      = Block2 ) ).

% find_largest_block.simps(1)
thf(fact_485_map__entry_Osimps_I1_J,axiom,
    ! [K: nat,F2: nat > nat] :
      ( ( map_entry_nat_nat @ K @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% map_entry.simps(1)
thf(fact_486_ShiftD,axiom,
    ! [Kl2: list_nat,Kl: set_list_nat,K: nat] :
      ( ( member_list_nat @ Kl2 @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) )
     => ( member_list_nat @ ( cons_nat @ K @ Kl2 ) @ Kl ) ) ).

% ShiftD
thf(fact_487_ShiftD,axiom,
    ! [Kl2: list_P6011104703257516679at_nat,Kl: set_li5450038453877631591at_nat,K: product_prod_nat_nat] :
      ( ( member3067507820990806192at_nat @ Kl2 @ ( bNF_Gr3130287167067265568at_nat @ Kl @ K ) )
     => ( member3067507820990806192at_nat @ ( cons_P6512896166579812791at_nat @ K @ Kl2 ) @ Kl ) ) ).

% ShiftD
thf(fact_488_map__default_Osimps_I1_J,axiom,
    ! [K: mat_a,V2: produc5452184871688341745_mat_a,F2: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a] :
      ( ( map_de3954425106173982886_mat_a @ K @ V2 @ F2 @ nil_Pr8081019204233271603_mat_a )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ V2 ) @ nil_Pr8081019204233271603_mat_a ) ) ).

% map_default.simps(1)
thf(fact_489_map__default_Osimps_I1_J,axiom,
    ! [K: mat_a,V2: produc5370362606830271383_mat_a,F2: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a] :
      ( ( map_de7291990965617922850_mat_a @ K @ V2 @ F2 @ nil_Pr3902087586535856747_mat_a )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ V2 ) @ nil_Pr3902087586535856747_mat_a ) ) ).

% map_default.simps(1)
thf(fact_490_map__default_Osimps_I1_J,axiom,
    ! [K: mat_a,V2: mat_a,F2: mat_a > mat_a] :
      ( ( map_de1790062285897181712_mat_a @ K @ V2 @ F2 @ nil_Pr2784087112350407837_mat_a )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ V2 ) @ nil_Pr2784087112350407837_mat_a ) ) ).

% map_default.simps(1)
thf(fact_491_map__default_Osimps_I1_J,axiom,
    ! [K: nat,V2: nat,F2: nat > nat] :
      ( ( map_default_nat_nat @ K @ V2 @ F2 @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V2 ) @ nil_Pr5478986624290739719at_nat ) ) ).

% map_default.simps(1)
thf(fact_492_map__default_Osimps_I1_J,axiom,
    ! [K: product_prod_nat_nat,V2: list_P6011104703257516679at_nat,F2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat] :
      ( ( map_de2300712711118028574at_nat @ K @ V2 @ F2 @ nil_Pr2725473518384139891at_nat )
      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ V2 ) @ nil_Pr2725473518384139891at_nat ) ) ).

% map_default.simps(1)
thf(fact_493_update__with__aux_Osimps_I1_J,axiom,
    ! [V2: produc5452184871688341745_mat_a,K: mat_a,F2: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a] :
      ( ( update842895306872828624_mat_a @ V2 @ K @ F2 @ nil_Pr8081019204233271603_mat_a )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ V2 ) ) @ nil_Pr8081019204233271603_mat_a ) ) ).

% update_with_aux.simps(1)
thf(fact_494_update__with__aux_Osimps_I1_J,axiom,
    ! [V2: produc5370362606830271383_mat_a,K: mat_a,F2: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a] :
      ( ( update3285386300047510896_mat_a @ V2 @ K @ F2 @ nil_Pr3902087586535856747_mat_a )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ V2 ) ) @ nil_Pr3902087586535856747_mat_a ) ) ).

% update_with_aux.simps(1)
thf(fact_495_update__with__aux_Osimps_I1_J,axiom,
    ! [V2: mat_a,K: mat_a,F2: mat_a > mat_a] :
      ( ( update8196492349025996602_mat_a @ V2 @ K @ F2 @ nil_Pr2784087112350407837_mat_a )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ V2 ) ) @ nil_Pr2784087112350407837_mat_a ) ) ).

% update_with_aux.simps(1)
thf(fact_496_update__with__aux_Osimps_I1_J,axiom,
    ! [V2: nat,K: nat,F2: nat > nat] :
      ( ( update528237659335440164at_nat @ V2 @ K @ F2 @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F2 @ V2 ) ) @ nil_Pr5478986624290739719at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_497_update__with__aux_Osimps_I1_J,axiom,
    ! [V2: list_P6011104703257516679at_nat,K: product_prod_nat_nat,F2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat] :
      ( ( update3845619404146092220at_nat @ V2 @ K @ F2 @ nil_Pr2725473518384139891at_nat )
      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ ( F2 @ V2 ) ) @ nil_Pr2725473518384139891at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_498_find__largest__block_Osimps_I2_J,axiom,
    ! [M_end2: nat,M_start2: nat,I_end2: nat,I_start2: nat,Blocks2: list_P6011104703257516679at_nat] :
      ( ( ( ord_less_eq_nat @ ( minus_minus_nat @ M_end2 @ M_start2 ) @ ( minus_minus_nat @ I_end2 @ I_start2 ) )
       => ( ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ M_start2 @ M_end2 ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start2 @ I_end2 ) @ Blocks2 ) )
          = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ I_start2 @ I_end2 ) @ Blocks2 ) ) )
      & ( ~ ( ord_less_eq_nat @ ( minus_minus_nat @ M_end2 @ M_start2 ) @ ( minus_minus_nat @ I_end2 @ I_start2 ) )
       => ( ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ M_start2 @ M_end2 ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start2 @ I_end2 ) @ Blocks2 ) )
          = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ M_start2 @ M_end2 ) @ Blocks2 ) ) ) ) ).

% find_largest_block.simps(2)
thf(fact_499_map__default_Osimps_I2_J,axiom,
    ! [P: product_prod_nat_nat,K: nat,V2: nat,F2: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P )
          = K )
       => ( ( map_default_nat_nat @ K @ V2 @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F2 @ ( product_snd_nat_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P )
         != K )
       => ( ( map_default_nat_nat @ K @ V2 @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P @ ( map_default_nat_nat @ K @ V2 @ F2 @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_500_map__default_Osimps_I2_J,axiom,
    ! [P: produc7489448085829838189at_nat,K: product_prod_nat_nat,V2: list_P6011104703257516679at_nat,F2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Ps2: list_P811921619475610355at_nat] :
      ( ( ( ( produc7510217175138029897at_nat @ P )
          = K )
       => ( ( map_de2300712711118028574at_nat @ K @ V2 @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ ( F2 @ ( produc1817956038046406027at_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7510217175138029897at_nat @ P )
         != K )
       => ( ( map_de2300712711118028574at_nat @ K @ V2 @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ P @ ( map_de2300712711118028574at_nat @ K @ V2 @ F2 @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_501_map__default_Osimps_I2_J,axiom,
    ! [P: produc5370362606830271383_mat_a,K: mat_a,V2: mat_a,F2: mat_a > mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( ( ( produc8618483072558553147_mat_a @ P )
          = K )
       => ( ( map_de1790062285897181712_mat_a @ K @ V2 @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ ( produc3539460521124201597_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8618483072558553147_mat_a @ P )
         != K )
       => ( ( map_de1790062285897181712_mat_a @ K @ V2 @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ P @ ( map_de1790062285897181712_mat_a @ K @ V2 @ F2 @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_502_map__default_Osimps_I2_J,axiom,
    ! [P: produc5452184871688341745_mat_a,K: mat_a,V2: produc5370362606830271383_mat_a,F2: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( ( ( produc7340730364199978039_mat_a @ P )
          = K )
       => ( ( map_de7291990965617922850_mat_a @ K @ V2 @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ ( produc7508173349661082485_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7340730364199978039_mat_a @ P )
         != K )
       => ( ( map_de7291990965617922850_mat_a @ K @ V2 @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ P @ ( map_de7291990965617922850_mat_a @ K @ V2 @ F2 @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_503_map__default_Osimps_I2_J,axiom,
    ! [P: produc4216251508294696237_mat_a,K: mat_a,V2: produc5452184871688341745_mat_a,F2: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( ( ( produc7700291086614992977_mat_a @ P )
          = K )
       => ( ( map_de3954425106173982886_mat_a @ K @ V2 @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ ( produc1482081755353976211_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7700291086614992977_mat_a @ P )
         != K )
       => ( ( map_de3954425106173982886_mat_a @ K @ V2 @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ P @ ( map_de3954425106173982886_mat_a @ K @ V2 @ F2 @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_504_map__entry_Osimps_I2_J,axiom,
    ! [P: product_prod_nat_nat,K: nat,F2: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P )
          = K )
       => ( ( map_entry_nat_nat @ K @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F2 @ ( product_snd_nat_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P )
         != K )
       => ( ( map_entry_nat_nat @ K @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P @ ( map_entry_nat_nat @ K @ F2 @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_505_map__entry_Osimps_I2_J,axiom,
    ! [P: produc7489448085829838189at_nat,K: product_prod_nat_nat,F2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Ps2: list_P811921619475610355at_nat] :
      ( ( ( ( produc7510217175138029897at_nat @ P )
          = K )
       => ( ( map_en5418802101440199951at_nat @ K @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ ( F2 @ ( produc1817956038046406027at_nat @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7510217175138029897at_nat @ P )
         != K )
       => ( ( map_en5418802101440199951at_nat @ K @ F2 @ ( cons_P2215982549036978723at_nat @ P @ Ps2 ) )
          = ( cons_P2215982549036978723at_nat @ P @ ( map_en5418802101440199951at_nat @ K @ F2 @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_506_map__entry_Osimps_I2_J,axiom,
    ! [P: produc5370362606830271383_mat_a,K: mat_a,F2: mat_a > mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( ( ( produc8618483072558553147_mat_a @ P )
          = K )
       => ( ( map_en7478846251724979201_mat_a @ K @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ ( produc3539460521124201597_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8618483072558553147_mat_a @ P )
         != K )
       => ( ( map_en7478846251724979201_mat_a @ K @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
          = ( cons_P3230921977152692301_mat_a @ P @ ( map_en7478846251724979201_mat_a @ K @ F2 @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_507_map__entry_Osimps_I2_J,axiom,
    ! [P: produc5452184871688341745_mat_a,K: mat_a,F2: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( ( ( produc7340730364199978039_mat_a @ P )
          = K )
       => ( ( map_en2605797910578914033_mat_a @ K @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ ( produc7508173349661082485_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7340730364199978039_mat_a @ P )
         != K )
       => ( ( map_en2605797910578914033_mat_a @ K @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
          = ( cons_P2417854964248693435_mat_a @ P @ ( map_en2605797910578914033_mat_a @ K @ F2 @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_508_map__entry_Osimps_I2_J,axiom,
    ! [P: produc4216251508294696237_mat_a,K: mat_a,F2: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( ( ( produc7700291086614992977_mat_a @ P )
          = K )
       => ( ( map_en5402142467459766039_mat_a @ K @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ ( produc1482081755353976211_mat_a @ P ) ) ) @ Ps2 ) ) )
      & ( ( ( produc7700291086614992977_mat_a @ P )
         != K )
       => ( ( map_en5402142467459766039_mat_a @ K @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
          = ( cons_P9119692492650804451_mat_a @ P @ ( map_en5402142467459766039_mat_a @ K @ F2 @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_509_Succ__Shift,axiom,
    ! [Kl: set_list_nat,K: nat,Kl2: list_nat] :
      ( ( bNF_Gr6352880689984616693cc_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) @ Kl2 )
      = ( bNF_Gr6352880689984616693cc_nat @ Kl @ ( cons_nat @ K @ Kl2 ) ) ) ).

% Succ_Shift
thf(fact_510_Succ__Shift,axiom,
    ! [Kl: set_li5450038453877631591at_nat,K: product_prod_nat_nat,Kl2: list_P6011104703257516679at_nat] :
      ( ( bNF_Gr5363859321595349404at_nat @ ( bNF_Gr3130287167067265568at_nat @ Kl @ K ) @ Kl2 )
      = ( bNF_Gr5363859321595349404at_nat @ Kl @ ( cons_P6512896166579812791at_nat @ K @ Kl2 ) ) ) ).

% Succ_Shift
thf(fact_511_hermitian__minus,axiom,
    ! [A2: mat_complex,N: nat,B4: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A2 )
         => ( ( comple8306762464034002205omplex @ B4 )
           => ( comple8306762464034002205omplex @ ( minus_2412168080157227406omplex @ A2 @ B4 ) ) ) ) ) ) ).

% hermitian_minus
thf(fact_512_hermitian__square,axiom,
    ! [M2: mat_complex] :
      ( ( comple8306762464034002205omplex @ M2 )
     => ( member_mat_complex @ M2 @ ( carrier_mat_complex @ ( dim_row_complex @ M2 ) @ ( dim_row_complex @ M2 ) ) ) ) ).

% hermitian_square
thf(fact_513_map__default_Opelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
           => ( ( Y4
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) )
             => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ nil_Pr5478986624290739719at_nat ) ) ) ) ) )
         => ~ ! [P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xc
                  = ( cons_P6512896166579812791at_nat @ P4 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P6512896166579812791at_nat @ P4 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_514_map__default_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat,Xb: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Xc: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( map_de2300712711118028574at_nat @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( accp_P6431311996116824224at_nat @ map_de8522413157416956391at_nat @ ( produc6615950645741950051at_nat @ X @ ( produc9165973735991832627at_nat @ Xa @ ( produc612501193299545525at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr2725473518384139891at_nat )
           => ( ( Y4
                = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ Xa ) @ nil_Pr2725473518384139891at_nat ) )
             => ~ ( accp_P6431311996116824224at_nat @ map_de8522413157416956391at_nat @ ( produc6615950645741950051at_nat @ X @ ( produc9165973735991832627at_nat @ Xa @ ( produc612501193299545525at_nat @ Xb @ nil_Pr2725473518384139891at_nat ) ) ) ) ) )
         => ~ ! [P4: produc7489448085829838189at_nat,Ps: list_P811921619475610355at_nat] :
                ( ( Xc
                  = ( cons_P2215982549036978723at_nat @ P4 @ Ps ) )
               => ( ( ( ( ( produc7510217175138029897at_nat @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ ( Xb @ ( produc1817956038046406027at_nat @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7510217175138029897at_nat @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P2215982549036978723at_nat @ P4 @ ( map_de2300712711118028574at_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P6431311996116824224at_nat @ map_de8522413157416956391at_nat @ ( produc6615950645741950051at_nat @ X @ ( produc9165973735991832627at_nat @ Xa @ ( produc612501193299545525at_nat @ Xb @ ( cons_P2215982549036978723at_nat @ P4 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_515_map__default_Opelims,axiom,
    ! [X: mat_a,Xa: mat_a,Xb: mat_a > mat_a,Xc: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( map_de1790062285897181712_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( accp_P2201468814145545674_mat_a @ map_de103375084173480153_mat_a @ ( produc5016104161032964037_mat_a @ X @ ( produc3495245638517710449_mat_a @ Xa @ ( produc1519376425726732079_mat_a @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr2784087112350407837_mat_a )
           => ( ( Y4
                = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ Xa ) @ nil_Pr2784087112350407837_mat_a ) )
             => ~ ( accp_P2201468814145545674_mat_a @ map_de103375084173480153_mat_a @ ( produc5016104161032964037_mat_a @ X @ ( produc3495245638517710449_mat_a @ Xa @ ( produc1519376425726732079_mat_a @ Xb @ nil_Pr2784087112350407837_mat_a ) ) ) ) ) )
         => ~ ! [P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
                ( ( Xc
                  = ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc8618483072558553147_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ ( Xb @ ( produc3539460521124201597_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc8618483072558553147_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P3230921977152692301_mat_a @ P4 @ ( map_de1790062285897181712_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P2201468814145545674_mat_a @ map_de103375084173480153_mat_a @ ( produc5016104161032964037_mat_a @ X @ ( produc3495245638517710449_mat_a @ Xa @ ( produc1519376425726732079_mat_a @ Xb @ ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_516_map__default_Opelims,axiom,
    ! [X: mat_a,Xa: produc5370362606830271383_mat_a,Xb: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Xc: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( map_de7291990965617922850_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( accp_P3277313705845906920_mat_a @ map_de3874306296104937497_mat_a @ ( produc4888039764309558499_mat_a @ X @ ( produc104988452116379847_mat_a @ Xa @ ( produc9099924953586137279_mat_a @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr3902087586535856747_mat_a )
           => ( ( Y4
                = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ Xa ) @ nil_Pr3902087586535856747_mat_a ) )
             => ~ ( accp_P3277313705845906920_mat_a @ map_de3874306296104937497_mat_a @ ( produc4888039764309558499_mat_a @ X @ ( produc104988452116379847_mat_a @ Xa @ ( produc9099924953586137279_mat_a @ Xb @ nil_Pr3902087586535856747_mat_a ) ) ) ) ) )
         => ~ ! [P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
                ( ( Xc
                  = ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc7340730364199978039_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ ( Xb @ ( produc7508173349661082485_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7340730364199978039_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P2417854964248693435_mat_a @ P4 @ ( map_de7291990965617922850_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P3277313705845906920_mat_a @ map_de3874306296104937497_mat_a @ ( produc4888039764309558499_mat_a @ X @ ( produc104988452116379847_mat_a @ Xa @ ( produc9099924953586137279_mat_a @ Xb @ ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_517_map__default_Opelims,axiom,
    ! [X: mat_a,Xa: produc5452184871688341745_mat_a,Xb: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Xc: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( map_de3954425106173982886_mat_a @ X @ Xa @ Xb @ Xc )
        = Y4 )
     => ( ( accp_P4367843537764725066_mat_a @ map_de5977038633705289711_mat_a @ ( produc1976145176345853765_mat_a @ X @ ( produc8119456847506949873_mat_a @ Xa @ ( produc2787573345141028889_mat_a @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr8081019204233271603_mat_a )
           => ( ( Y4
                = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ Xa ) @ nil_Pr8081019204233271603_mat_a ) )
             => ~ ( accp_P4367843537764725066_mat_a @ map_de5977038633705289711_mat_a @ ( produc1976145176345853765_mat_a @ X @ ( produc8119456847506949873_mat_a @ Xa @ ( produc2787573345141028889_mat_a @ Xb @ nil_Pr8081019204233271603_mat_a ) ) ) ) ) )
         => ~ ! [P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
                ( ( Xc
                  = ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc7700291086614992977_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ ( Xb @ ( produc1482081755353976211_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7700291086614992977_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P9119692492650804451_mat_a @ P4 @ ( map_de3954425106173982886_mat_a @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P4367843537764725066_mat_a @ map_de5977038633705289711_mat_a @ ( produc1976145176345853765_mat_a @ X @ ( produc8119456847506949873_mat_a @ Xa @ ( produc2787573345141028889_mat_a @ Xb @ ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_518_map__entry_Opelims,axiom,
    ! [X: nat,Xa: nat > nat,Xb: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X @ Xa @ Xb )
        = Y4 )
     => ( ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
           => ( ( Y4 = nil_Pr5478986624290739719at_nat )
             => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ nil_Pr5478986624290739719at_nat ) ) ) ) )
         => ~ ! [P4: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xb
                  = ( cons_P6512896166579812791at_nat @ P4 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xa @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P6512896166579812791at_nat @ P4 @ ( map_entry_nat_nat @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X @ ( produc1236331799044183215at_nat @ Xa @ ( cons_P6512896166579812791at_nat @ P4 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_519_map__entry_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,Xb: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( map_en5418802101440199951at_nat @ X @ Xa @ Xb )
        = Y4 )
     => ( ( accp_P7036695804669992426at_nat @ map_en5544030591748833590at_nat @ ( produc5942858265833435821at_nat @ X @ ( produc612501193299545525at_nat @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr2725473518384139891at_nat )
           => ( ( Y4 = nil_Pr2725473518384139891at_nat )
             => ~ ( accp_P7036695804669992426at_nat @ map_en5544030591748833590at_nat @ ( produc5942858265833435821at_nat @ X @ ( produc612501193299545525at_nat @ Xa @ nil_Pr2725473518384139891at_nat ) ) ) ) )
         => ~ ! [P4: produc7489448085829838189at_nat,Ps: list_P811921619475610355at_nat] :
                ( ( Xb
                  = ( cons_P2215982549036978723at_nat @ P4 @ Ps ) )
               => ( ( ( ( ( produc7510217175138029897at_nat @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ X @ ( Xa @ ( produc1817956038046406027at_nat @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7510217175138029897at_nat @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P2215982549036978723at_nat @ P4 @ ( map_en5418802101440199951at_nat @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P7036695804669992426at_nat @ map_en5544030591748833590at_nat @ ( produc5942858265833435821at_nat @ X @ ( produc612501193299545525at_nat @ Xa @ ( cons_P2215982549036978723at_nat @ P4 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_520_map__entry_Opelims,axiom,
    ! [X: mat_a,Xa: mat_a > mat_a,Xb: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( map_en7478846251724979201_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( accp_P1684039908139777858_mat_a @ map_en2990455142526716968_mat_a @ ( produc3495245638517710449_mat_a @ X @ ( produc1519376425726732079_mat_a @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr2784087112350407837_mat_a )
           => ( ( Y4 = nil_Pr2784087112350407837_mat_a )
             => ~ ( accp_P1684039908139777858_mat_a @ map_en2990455142526716968_mat_a @ ( produc3495245638517710449_mat_a @ X @ ( produc1519376425726732079_mat_a @ Xa @ nil_Pr2784087112350407837_mat_a ) ) ) ) )
         => ~ ! [P4: produc5370362606830271383_mat_a,Ps: list_P5411175341357971485_mat_a] :
                ( ( Xb
                  = ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc8618483072558553147_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ X @ ( Xa @ ( produc3539460521124201597_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc8618483072558553147_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P3230921977152692301_mat_a @ P4 @ ( map_en7478846251724979201_mat_a @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P1684039908139777858_mat_a @ map_en2990455142526716968_mat_a @ ( produc3495245638517710449_mat_a @ X @ ( produc1519376425726732079_mat_a @ Xa @ ( cons_P3230921977152692301_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_521_map__entry_Opelims,axiom,
    ! [X: mat_a,Xa: produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Xb: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( map_en2605797910578914033_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( accp_P7036969686589695128_mat_a @ map_en8092971098968881930_mat_a @ ( produc4784585546996881555_mat_a @ X @ ( produc9099924953586137279_mat_a @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr3902087586535856747_mat_a )
           => ( ( Y4 = nil_Pr3902087586535856747_mat_a )
             => ~ ( accp_P7036969686589695128_mat_a @ map_en8092971098968881930_mat_a @ ( produc4784585546996881555_mat_a @ X @ ( produc9099924953586137279_mat_a @ Xa @ nil_Pr3902087586535856747_mat_a ) ) ) ) )
         => ~ ! [P4: produc5452184871688341745_mat_a,Ps: list_P798859136818506497_mat_a] :
                ( ( Xb
                  = ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc7340730364199978039_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ X @ ( Xa @ ( produc7508173349661082485_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7340730364199978039_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P2417854964248693435_mat_a @ P4 @ ( map_en2605797910578914033_mat_a @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P7036969686589695128_mat_a @ map_en8092971098968881930_mat_a @ ( produc4784585546996881555_mat_a @ X @ ( produc9099924953586137279_mat_a @ Xa @ ( cons_P2417854964248693435_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_522_map__entry_Opelims,axiom,
    ! [X: mat_a,Xa: produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Xb: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( map_en5402142467459766039_mat_a @ X @ Xa @ Xb )
        = Y4 )
     => ( ( accp_P8565582857747903404_mat_a @ map_en6988281378745599678_mat_a @ ( produc4638039630308443867_mat_a @ X @ ( produc2787573345141028889_mat_a @ Xa @ Xb ) ) )
       => ( ( ( Xb = nil_Pr8081019204233271603_mat_a )
           => ( ( Y4 = nil_Pr8081019204233271603_mat_a )
             => ~ ( accp_P8565582857747903404_mat_a @ map_en6988281378745599678_mat_a @ ( produc4638039630308443867_mat_a @ X @ ( produc2787573345141028889_mat_a @ Xa @ nil_Pr8081019204233271603_mat_a ) ) ) ) )
         => ~ ! [P4: produc4216251508294696237_mat_a,Ps: list_P2872167576551266355_mat_a] :
                ( ( Xb
                  = ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) )
               => ( ( ( ( ( produc7700291086614992977_mat_a @ P4 )
                        = X )
                     => ( Y4
                        = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ X @ ( Xa @ ( produc1482081755353976211_mat_a @ P4 ) ) ) @ Ps ) ) )
                    & ( ( ( produc7700291086614992977_mat_a @ P4 )
                       != X )
                     => ( Y4
                        = ( cons_P9119692492650804451_mat_a @ P4 @ ( map_en5402142467459766039_mat_a @ X @ Xa @ Ps ) ) ) ) )
                 => ~ ( accp_P8565582857747903404_mat_a @ map_en6988281378745599678_mat_a @ ( produc4638039630308443867_mat_a @ X @ ( produc2787573345141028889_mat_a @ Xa @ ( cons_P9119692492650804451_mat_a @ P4 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_523_commute__diag__compat,axiom,
    ! [D3: mat_complex,N: nat,B4: mat_complex,L: list_nat] :
      ( ( diagonal_mat_complex @ D3 )
     => ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ( times_8009071140041733218omplex @ B4 @ D3 )
              = ( times_8009071140041733218omplex @ D3 @ B4 ) )
           => ( ( commut4502369927624756007omplex @ D3 @ L )
             => ( commut5261563022830629508omplex @ B4 @ L ) ) ) ) ) ) ).

% commute_diag_compat
thf(fact_524_prefixes__eq__snoc,axiom,
    ! [Ys: list_a,Xs: list_list_a,X: list_a] :
      ( ( ( prefixes_a @ Ys )
        = ( append_list_a @ Xs @ ( cons_list_a @ X @ nil_list_a ) ) )
      = ( ( ( ( Ys = nil_a )
            & ( Xs = nil_list_a ) )
          | ? [Z4: a,Zs3: list_a] :
              ( ( Ys
                = ( append_a @ Zs3 @ ( cons_a @ Z4 @ nil_a ) ) )
              & ( Xs
                = ( prefixes_a @ Zs3 ) ) ) )
        & ( X = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_525_prefixes__eq__snoc,axiom,
    ! [Ys: list_nat,Xs: list_list_nat,X: list_nat] :
      ( ( ( prefixes_nat @ Ys )
        = ( append_list_nat @ Xs @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = ( ( ( ( Ys = nil_nat )
            & ( Xs = nil_list_nat ) )
          | ? [Z4: nat,Zs3: list_nat] :
              ( ( Ys
                = ( append_nat @ Zs3 @ ( cons_nat @ Z4 @ nil_nat ) ) )
              & ( Xs
                = ( prefixes_nat @ Zs3 ) ) ) )
        & ( X = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_526_prefixes__eq__snoc,axiom,
    ! [Ys: list_P6011104703257516679at_nat,Xs: list_l3264859301627795341at_nat,X: list_P6011104703257516679at_nat] :
      ( ( ( prefix1395342811948450574at_nat @ Ys )
        = ( append1540555382121198114at_nat @ Xs @ ( cons_l7612840610449961021at_nat @ X @ nil_li8973309667444810893at_nat ) ) )
      = ( ( ( ( Ys = nil_Pr5478986624290739719at_nat )
            & ( Xs = nil_li8973309667444810893at_nat ) )
          | ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
              ( ( Ys
                = ( append985823374593552924at_nat @ Zs3 @ ( cons_P6512896166579812791at_nat @ Z4 @ nil_Pr5478986624290739719at_nat ) ) )
              & ( Xs
                = ( prefix1395342811948450574at_nat @ Zs3 ) ) ) )
        & ( X = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_527_prefixes__snoc,axiom,
    ! [Xs: list_a,X: a] :
      ( ( prefixes_a @ ( append_a @ Xs @ ( cons_a @ X @ nil_a ) ) )
      = ( append_list_a @ ( prefixes_a @ Xs ) @ ( cons_list_a @ ( append_a @ Xs @ ( cons_a @ X @ nil_a ) ) @ nil_list_a ) ) ) ).

% prefixes_snoc
thf(fact_528_prefixes__snoc,axiom,
    ! [Xs: list_nat,X: nat] :
      ( ( prefixes_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
      = ( append_list_nat @ ( prefixes_nat @ Xs ) @ ( cons_list_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ nil_list_nat ) ) ) ).

% prefixes_snoc
thf(fact_529_prefixes__snoc,axiom,
    ! [Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat] :
      ( ( prefix1395342811948450574at_nat @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) )
      = ( append1540555382121198114at_nat @ ( prefix1395342811948450574at_nat @ Xs ) @ ( cons_l7612840610449961021at_nat @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) @ nil_li8973309667444810893at_nat ) ) ) ).

% prefixes_snoc
thf(fact_530_find__largest__block_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat] :
      ( ( ( jordan1665469968453478129_block @ X @ Xa )
        = Y4 )
     => ( ( accp_P909202496322092790at_nat @ jordan2830070957412818760ck_rel @ ( produc1593612501639298397at_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr5478986624290739719at_nat )
           => ( ( Y4 = X )
             => ~ ( accp_P909202496322092790at_nat @ jordan2830070957412818760ck_rel @ ( produc1593612501639298397at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) ) )
         => ~ ! [M_start: nat,M_end: nat] :
                ( ( X
                  = ( product_Pair_nat_nat @ M_start @ M_end ) )
               => ! [I_start: nat,I_end: nat,Blocks: list_P6011104703257516679at_nat] :
                    ( ( Xa
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) )
                   => ( ( ( ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
                         => ( Y4
                            = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) ) )
                        & ( ~ ( ord_less_eq_nat @ ( minus_minus_nat @ M_end @ M_start ) @ ( minus_minus_nat @ I_end @ I_start ) )
                         => ( Y4
                            = ( jordan1665469968453478129_block @ ( product_Pair_nat_nat @ M_start @ M_end ) @ Blocks ) ) ) )
                     => ~ ( accp_P909202496322092790at_nat @ jordan2830070957412818760ck_rel @ ( produc1593612501639298397at_nat @ ( product_Pair_nat_nat @ M_start @ M_end ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ I_start @ I_end ) @ Blocks ) ) ) ) ) ) ) ) ) ).

% find_largest_block.pelims
thf(fact_531_prefixes_Osimps_I1_J,axiom,
    ( ( prefixes_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% prefixes.simps(1)
thf(fact_532_prefixes_Osimps_I1_J,axiom,
    ( ( prefix1395342811948450574at_nat @ nil_Pr5478986624290739719at_nat )
    = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat ) ) ).

% prefixes.simps(1)
thf(fact_533_suffixes__eq__snoc,axiom,
    ! [Ys: list_nat,Xs: list_list_nat,X: list_nat] :
      ( ( ( suffixes_nat @ Ys )
        = ( append_list_nat @ Xs @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = ( ( ( ( Ys = nil_nat )
            & ( Xs = nil_list_nat ) )
          | ? [Z4: nat,Zs3: list_nat] :
              ( ( Ys
                = ( cons_nat @ Z4 @ Zs3 ) )
              & ( Xs
                = ( suffixes_nat @ Zs3 ) ) ) )
        & ( X = Ys ) ) ) ).

% suffixes_eq_snoc
thf(fact_534_suffixes__eq__snoc,axiom,
    ! [Ys: list_P6011104703257516679at_nat,Xs: list_l3264859301627795341at_nat,X: list_P6011104703257516679at_nat] :
      ( ( ( suffix8103968943353111119at_nat @ Ys )
        = ( append1540555382121198114at_nat @ Xs @ ( cons_l7612840610449961021at_nat @ X @ nil_li8973309667444810893at_nat ) ) )
      = ( ( ( ( Ys = nil_Pr5478986624290739719at_nat )
            & ( Xs = nil_li8973309667444810893at_nat ) )
          | ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
              ( ( Ys
                = ( cons_P6512896166579812791at_nat @ Z4 @ Zs3 ) )
              & ( Xs
                = ( suffix8103968943353111119at_nat @ Zs3 ) ) ) )
        & ( X = Ys ) ) ) ).

% suffixes_eq_snoc
thf(fact_535_projector__def,axiom,
    ( linear5633924348262549461omplex
    = ( ^ [M3: mat_complex] :
          ( ( comple8306762464034002205omplex @ M3 )
          & ( ( times_8009071140041733218omplex @ M3 @ M3 )
            = M3 ) ) ) ) ).

% projector_def
thf(fact_536_sublists_Osimps_I1_J,axiom,
    ( ( sublists_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% sublists.simps(1)
thf(fact_537_sublists_Osimps_I1_J,axiom,
    ( ( sublis2272483767050531737at_nat @ nil_Pr5478986624290739719at_nat )
    = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat ) ) ).

% sublists.simps(1)
thf(fact_538_map__ran__Cons__sel,axiom,
    ! [F2: nat > nat > nat,P: product_prod_nat_nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( map_ran_nat_nat_nat @ F2 @ ( cons_P6512896166579812791at_nat @ P @ Ps2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( product_fst_nat_nat @ P ) @ ( F2 @ ( product_fst_nat_nat @ P ) @ ( product_snd_nat_nat @ P ) ) ) @ ( map_ran_nat_nat_nat @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_539_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > mat_a > produc5452184871688341745_mat_a,P: produc5370362606830271383_mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra5711430780487591136_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ ( produc8618483072558553147_mat_a @ P ) @ ( F2 @ ( produc8618483072558553147_mat_a @ P ) @ ( produc3539460521124201597_mat_a @ P ) ) ) @ ( map_ra5711430780487591136_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_540_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > mat_a > produc5370362606830271383_mat_a,P: produc5370362606830271383_mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra6655213778065426792_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ ( produc8618483072558553147_mat_a @ P ) @ ( F2 @ ( produc8618483072558553147_mat_a @ P ) @ ( produc3539460521124201597_mat_a @ P ) ) ) @ ( map_ra6655213778065426792_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_541_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > mat_a > mat_a,P: produc5370362606830271383_mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra1029780840500392266_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ P @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ ( produc8618483072558553147_mat_a @ P ) @ ( F2 @ ( produc8618483072558553147_mat_a @ P ) @ ( produc3539460521124201597_mat_a @ P ) ) ) @ ( map_ra1029780840500392266_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_542_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5452184871688341745_mat_a,P: produc5452184871688341745_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra3129878362297023990_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ ( produc7340730364199978039_mat_a @ P ) @ ( F2 @ ( produc7340730364199978039_mat_a @ P ) @ ( produc7508173349661082485_mat_a @ P ) ) ) @ ( map_ra3129878362297023990_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_543_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,P: produc5452184871688341745_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra711709222571885010_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ ( produc7340730364199978039_mat_a @ P ) @ ( F2 @ ( produc7340730364199978039_mat_a @ P ) @ ( produc7508173349661082485_mat_a @ P ) ) ) @ ( map_ra711709222571885010_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_544_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > mat_a,P: produc5452184871688341745_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra5636908361876965216_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ P @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ ( produc7340730364199978039_mat_a @ P ) @ ( F2 @ ( produc7340730364199978039_mat_a @ P ) @ ( produc7508173349661082485_mat_a @ P ) ) ) @ ( map_ra5636908361876965216_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_545_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,P: produc4216251508294696237_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( map_ra8166749758470591350_mat_a @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ ( produc7700291086614992977_mat_a @ P ) @ ( F2 @ ( produc7700291086614992977_mat_a @ P ) @ ( produc1482081755353976211_mat_a @ P ) ) ) @ ( map_ra8166749758470591350_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_546_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > produc5370362606830271383_mat_a,P: produc4216251508294696237_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( map_ra8397368593876798546_mat_a @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ ( produc7700291086614992977_mat_a @ P ) @ ( F2 @ ( produc7700291086614992977_mat_a @ P ) @ ( produc1482081755353976211_mat_a @ P ) ) ) @ ( map_ra8397368593876798546_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_547_map__ran__Cons__sel,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > mat_a,P: produc4216251508294696237_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( map_ra5007938043284462816_mat_a @ F2 @ ( cons_P9119692492650804451_mat_a @ P @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ ( produc7700291086614992977_mat_a @ P ) @ ( F2 @ ( produc7700291086614992977_mat_a @ P ) @ ( produc1482081755353976211_mat_a @ P ) ) ) @ ( map_ra5007938043284462816_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_548_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_549_product__lists_Osimps_I1_J,axiom,
    ( ( produc8746550462604311920at_nat @ nil_li8973309667444810893at_nat )
    = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat ) ) ).

% product_lists.simps(1)
thf(fact_550_delete__aux_Opelims,axiom,
    ! [X: mat_a,Xa: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( delete4526618526122188148_mat_a @ X @ Xa )
        = Y4 )
     => ( ( accp_P597750750227781060_mat_a @ delete8169021513829799073_mat_a @ ( produc6419039111866398655_mat_a @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr8081019204233271603_mat_a )
           => ( ( Y4 = nil_Pr8081019204233271603_mat_a )
             => ~ ( accp_P597750750227781060_mat_a @ delete8169021513829799073_mat_a @ ( produc6419039111866398655_mat_a @ X @ nil_Pr8081019204233271603_mat_a ) ) ) )
         => ~ ! [K3: mat_a,V: produc5452184871688341745_mat_a,Xs2: list_P2872167576551266355_mat_a] :
                ( ( Xa
                  = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ Xs2 ) )
               => ( ( ( ( X = K3 )
                     => ( Y4 = Xs2 ) )
                    & ( ( X != K3 )
                     => ( Y4
                        = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ ( delete4526618526122188148_mat_a @ X @ Xs2 ) ) ) ) )
                 => ~ ( accp_P597750750227781060_mat_a @ delete8169021513829799073_mat_a @ ( produc6419039111866398655_mat_a @ X @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.pelims
thf(fact_551_delete__aux_Opelims,axiom,
    ! [X: mat_a,Xa: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( delete5185476970202258900_mat_a @ X @ Xa )
        = Y4 )
     => ( ( accp_P325456561392830534_mat_a @ delete4387419193805421543_mat_a @ ( produc7693367244810913397_mat_a @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr3902087586535856747_mat_a )
           => ( ( Y4 = nil_Pr3902087586535856747_mat_a )
             => ~ ( accp_P325456561392830534_mat_a @ delete4387419193805421543_mat_a @ ( produc7693367244810913397_mat_a @ X @ nil_Pr3902087586535856747_mat_a ) ) ) )
         => ~ ! [K3: mat_a,V: produc5370362606830271383_mat_a,Xs2: list_P798859136818506497_mat_a] :
                ( ( Xa
                  = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ Xs2 ) )
               => ( ( ( ( X = K3 )
                     => ( Y4 = Xs2 ) )
                    & ( ( X != K3 )
                     => ( Y4
                        = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ ( delete5185476970202258900_mat_a @ X @ Xs2 ) ) ) ) )
                 => ~ ( accp_P325456561392830534_mat_a @ delete4387419193805421543_mat_a @ ( produc7693367244810913397_mat_a @ X @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.pelims
thf(fact_552_delete__aux_Opelims,axiom,
    ! [X: mat_a,Xa: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( delete4814563225788993502_mat_a @ X @ Xa )
        = Y4 )
     => ( ( accp_P1856441660114564526_mat_a @ delete9034056882179255435_mat_a @ ( produc3701670035027927465_mat_a @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr2784087112350407837_mat_a )
           => ( ( Y4 = nil_Pr2784087112350407837_mat_a )
             => ~ ( accp_P1856441660114564526_mat_a @ delete9034056882179255435_mat_a @ ( produc3701670035027927465_mat_a @ X @ nil_Pr2784087112350407837_mat_a ) ) ) )
         => ~ ! [K3: mat_a,V: mat_a,Xs2: list_P5411175341357971485_mat_a] :
                ( ( Xa
                  = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ Xs2 ) )
               => ( ( ( ( X = K3 )
                     => ( Y4 = Xs2 ) )
                    & ( ( X != K3 )
                     => ( Y4
                        = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ ( delete4814563225788993502_mat_a @ X @ Xs2 ) ) ) ) )
                 => ~ ( accp_P1856441660114564526_mat_a @ delete9034056882179255435_mat_a @ ( produc3701670035027927465_mat_a @ X @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.pelims
thf(fact_553_delete__aux_Opelims,axiom,
    ! [X: nat,Xa: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( delete_aux_nat_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P1391465874720445027at_nat @ delete1397635992828230261at_nat @ ( produc6109913384486294878at_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr5478986624290739719at_nat )
           => ( ( Y4 = nil_Pr5478986624290739719at_nat )
             => ~ ( accp_P1391465874720445027at_nat @ delete1397635992828230261at_nat @ ( produc6109913384486294878at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) ) )
         => ~ ! [K3: nat,V: nat,Xs2: list_P6011104703257516679at_nat] :
                ( ( Xa
                  = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ Xs2 ) )
               => ( ( ( ( X = K3 )
                     => ( Y4 = Xs2 ) )
                    & ( ( X != K3 )
                     => ( Y4
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ ( delete_aux_nat_nat @ X @ Xs2 ) ) ) ) )
                 => ~ ( accp_P1391465874720445027at_nat @ delete1397635992828230261at_nat @ ( produc6109913384486294878at_nat @ X @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.pelims
thf(fact_554_delete__aux_Opelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( delete8828680699484146924at_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P363861067912544610at_nat @ delete3740974800821773721at_nat @ ( produc565436351594717641at_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_Pr2725473518384139891at_nat )
           => ( ( Y4 = nil_Pr2725473518384139891at_nat )
             => ~ ( accp_P363861067912544610at_nat @ delete3740974800821773721at_nat @ ( produc565436351594717641at_nat @ X @ nil_Pr2725473518384139891at_nat ) ) ) )
         => ~ ! [K3: product_prod_nat_nat,V: list_P6011104703257516679at_nat,Xs2: list_P811921619475610355at_nat] :
                ( ( Xa
                  = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ Xs2 ) )
               => ( ( ( ( X = K3 )
                     => ( Y4 = Xs2 ) )
                    & ( ( X != K3 )
                     => ( Y4
                        = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ ( delete8828680699484146924at_nat @ X @ Xs2 ) ) ) ) )
                 => ~ ( accp_P363861067912544610at_nat @ delete3740974800821773721at_nat @ ( produc565436351594717641at_nat @ X @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.pelims
thf(fact_555_map__ran__simps_I1_J,axiom,
    ! [F2: nat > nat > nat] :
      ( ( map_ran_nat_nat_nat @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% map_ran_simps(1)
thf(fact_556_delete__aux_Osimps_I1_J,axiom,
    ! [K: nat] :
      ( ( delete_aux_nat_nat @ K @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% delete_aux.simps(1)
thf(fact_557_map__ran__simps_I2_J,axiom,
    ! [F2: nat > nat > nat,K: nat,V2: nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( map_ran_nat_nat_nat @ F2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V2 ) @ Ps2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F2 @ K @ V2 ) ) @ ( map_ran_nat_nat_nat @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_558_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > mat_a > mat_a,K: mat_a,V2: mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra1029780840500392266_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra1029780840500392266_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_559_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > mat_a,K: mat_a,V2: produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra5636908361876965216_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra5636908361876965216_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_560_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > mat_a > produc5370362606830271383_mat_a,K: mat_a,V2: mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra6655213778065426792_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra6655213778065426792_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_561_map__ran__simps_I2_J,axiom,
    ! [F2: product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat,K: product_prod_nat_nat,V2: list_P6011104703257516679at_nat,Ps2: list_P811921619475610355at_nat] :
      ( ( map_ra2435258257858265674at_nat @ F2 @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ V2 ) @ Ps2 ) )
      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra2435258257858265674at_nat @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_562_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > mat_a,K: mat_a,V2: produc5452184871688341745_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( map_ra5007938043284462816_mat_a @ F2 @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra5007938043284462816_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_563_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,K: mat_a,V2: produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra711709222571885010_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra711709222571885010_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_564_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > mat_a > produc5452184871688341745_mat_a,K: mat_a,V2: mat_a,Ps2: list_P5411175341357971485_mat_a] :
      ( ( map_ra5711430780487591136_mat_a @ F2 @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra5711430780487591136_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_565_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > produc5370362606830271383_mat_a,K: mat_a,V2: produc5452184871688341745_mat_a,Ps2: list_P2872167576551266355_mat_a] :
      ( ( map_ra8397368593876798546_mat_a @ F2 @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra8397368593876798546_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_566_map__ran__simps_I2_J,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5452184871688341745_mat_a,K: mat_a,V2: produc5370362606830271383_mat_a,Ps2: list_P798859136818506497_mat_a] :
      ( ( map_ra3129878362297023990_mat_a @ F2 @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ V2 ) @ Ps2 ) )
      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ ( F2 @ K @ V2 ) ) @ ( map_ra3129878362297023990_mat_a @ F2 @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_567_projector__square__eq,axiom,
    ! [M2: mat_complex] :
      ( ( linear5633924348262549461omplex @ M2 )
     => ( ( times_8009071140041733218omplex @ M2 @ M2 )
        = M2 ) ) ).

% projector_square_eq
thf(fact_568_delete__aux_Osimps_I2_J,axiom,
    ! [K: mat_a,K4: mat_a,V2: produc5452184871688341745_mat_a,Xs: list_P2872167576551266355_mat_a] :
      ( ( ( K = K4 )
       => ( ( delete4526618526122188148_mat_a @ K @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K4 @ V2 ) @ Xs ) )
          = Xs ) )
      & ( ( K != K4 )
       => ( ( delete4526618526122188148_mat_a @ K @ ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K4 @ V2 ) @ Xs ) )
          = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K4 @ V2 ) @ ( delete4526618526122188148_mat_a @ K @ Xs ) ) ) ) ) ).

% delete_aux.simps(2)
thf(fact_569_delete__aux_Osimps_I2_J,axiom,
    ! [K: mat_a,K4: mat_a,V2: produc5370362606830271383_mat_a,Xs: list_P798859136818506497_mat_a] :
      ( ( ( K = K4 )
       => ( ( delete5185476970202258900_mat_a @ K @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K4 @ V2 ) @ Xs ) )
          = Xs ) )
      & ( ( K != K4 )
       => ( ( delete5185476970202258900_mat_a @ K @ ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K4 @ V2 ) @ Xs ) )
          = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K4 @ V2 ) @ ( delete5185476970202258900_mat_a @ K @ Xs ) ) ) ) ) ).

% delete_aux.simps(2)
thf(fact_570_delete__aux_Osimps_I2_J,axiom,
    ! [K: mat_a,K4: mat_a,V2: mat_a,Xs: list_P5411175341357971485_mat_a] :
      ( ( ( K = K4 )
       => ( ( delete4814563225788993502_mat_a @ K @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K4 @ V2 ) @ Xs ) )
          = Xs ) )
      & ( ( K != K4 )
       => ( ( delete4814563225788993502_mat_a @ K @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K4 @ V2 ) @ Xs ) )
          = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K4 @ V2 ) @ ( delete4814563225788993502_mat_a @ K @ Xs ) ) ) ) ) ).

% delete_aux.simps(2)
thf(fact_571_delete__aux_Osimps_I2_J,axiom,
    ! [K: nat,K4: nat,V2: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( K = K4 )
       => ( ( delete_aux_nat_nat @ K @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K4 @ V2 ) @ Xs ) )
          = Xs ) )
      & ( ( K != K4 )
       => ( ( delete_aux_nat_nat @ K @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K4 @ V2 ) @ Xs ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K4 @ V2 ) @ ( delete_aux_nat_nat @ K @ Xs ) ) ) ) ) ).

% delete_aux.simps(2)
thf(fact_572_delete__aux_Osimps_I2_J,axiom,
    ! [K: product_prod_nat_nat,K4: product_prod_nat_nat,V2: list_P6011104703257516679at_nat,Xs: list_P811921619475610355at_nat] :
      ( ( ( K = K4 )
       => ( ( delete8828680699484146924at_nat @ K @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K4 @ V2 ) @ Xs ) )
          = Xs ) )
      & ( ( K != K4 )
       => ( ( delete8828680699484146924at_nat @ K @ ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K4 @ V2 ) @ Xs ) )
          = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K4 @ V2 ) @ ( delete8828680699484146924at_nat @ K @ Xs ) ) ) ) ) ).

% delete_aux.simps(2)
thf(fact_573_suffixes_Osimps_I1_J,axiom,
    ( ( suffixes_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% suffixes.simps(1)
thf(fact_574_suffixes_Osimps_I1_J,axiom,
    ( ( suffix8103968943353111119at_nat @ nil_Pr5478986624290739719at_nat )
    = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat ) ) ).

% suffixes.simps(1)
thf(fact_575_delete__aux__eq__Nil__conv,axiom,
    ! [K: mat_a,Ts: list_P2872167576551266355_mat_a] :
      ( ( ( delete4526618526122188148_mat_a @ K @ Ts )
        = nil_Pr8081019204233271603_mat_a )
      = ( ( Ts = nil_Pr8081019204233271603_mat_a )
        | ? [V3: produc5452184871688341745_mat_a] :
            ( Ts
            = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K @ V3 ) @ nil_Pr8081019204233271603_mat_a ) ) ) ) ).

% delete_aux_eq_Nil_conv
thf(fact_576_delete__aux__eq__Nil__conv,axiom,
    ! [K: mat_a,Ts: list_P798859136818506497_mat_a] :
      ( ( ( delete5185476970202258900_mat_a @ K @ Ts )
        = nil_Pr3902087586535856747_mat_a )
      = ( ( Ts = nil_Pr3902087586535856747_mat_a )
        | ? [V3: produc5370362606830271383_mat_a] :
            ( Ts
            = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K @ V3 ) @ nil_Pr3902087586535856747_mat_a ) ) ) ) ).

% delete_aux_eq_Nil_conv
thf(fact_577_delete__aux__eq__Nil__conv,axiom,
    ! [K: mat_a,Ts: list_P5411175341357971485_mat_a] :
      ( ( ( delete4814563225788993502_mat_a @ K @ Ts )
        = nil_Pr2784087112350407837_mat_a )
      = ( ( Ts = nil_Pr2784087112350407837_mat_a )
        | ? [V3: mat_a] :
            ( Ts
            = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K @ V3 ) @ nil_Pr2784087112350407837_mat_a ) ) ) ) ).

% delete_aux_eq_Nil_conv
thf(fact_578_delete__aux__eq__Nil__conv,axiom,
    ! [K: nat,Ts: list_P6011104703257516679at_nat] :
      ( ( ( delete_aux_nat_nat @ K @ Ts )
        = nil_Pr5478986624290739719at_nat )
      = ( ( Ts = nil_Pr5478986624290739719at_nat )
        | ? [V3: nat] :
            ( Ts
            = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V3 ) @ nil_Pr5478986624290739719at_nat ) ) ) ) ).

% delete_aux_eq_Nil_conv
thf(fact_579_delete__aux__eq__Nil__conv,axiom,
    ! [K: product_prod_nat_nat,Ts: list_P811921619475610355at_nat] :
      ( ( ( delete8828680699484146924at_nat @ K @ Ts )
        = nil_Pr2725473518384139891at_nat )
      = ( ( Ts = nil_Pr2725473518384139891at_nat )
        | ? [V3: list_P6011104703257516679at_nat] :
            ( Ts
            = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K @ V3 ) @ nil_Pr2725473518384139891at_nat ) ) ) ) ).

% delete_aux_eq_Nil_conv
thf(fact_580_delete__aux_Oelims,axiom,
    ! [X: mat_a,Xa: list_P2872167576551266355_mat_a,Y4: list_P2872167576551266355_mat_a] :
      ( ( ( delete4526618526122188148_mat_a @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr8081019204233271603_mat_a )
         => ( Y4 != nil_Pr8081019204233271603_mat_a ) )
       => ~ ! [K3: mat_a,V: produc5452184871688341745_mat_a,Xs2: list_P2872167576551266355_mat_a] :
              ( ( Xa
                = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ Xs2 ) )
             => ~ ( ( ( X = K3 )
                   => ( Y4 = Xs2 ) )
                  & ( ( X != K3 )
                   => ( Y4
                      = ( cons_P9119692492650804451_mat_a @ ( produc5286753621172121189_mat_a @ K3 @ V ) @ ( delete4526618526122188148_mat_a @ X @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.elims
thf(fact_581_delete__aux_Oelims,axiom,
    ! [X: mat_a,Xa: list_P798859136818506497_mat_a,Y4: list_P798859136818506497_mat_a] :
      ( ( ( delete5185476970202258900_mat_a @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr3902087586535856747_mat_a )
         => ( Y4 != nil_Pr3902087586535856747_mat_a ) )
       => ~ ! [K3: mat_a,V: produc5370362606830271383_mat_a,Xs2: list_P798859136818506497_mat_a] :
              ( ( Xa
                = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ Xs2 ) )
             => ~ ( ( ( X = K3 )
                   => ( Y4 = Xs2 ) )
                  & ( ( X != K3 )
                   => ( Y4
                      = ( cons_P2417854964248693435_mat_a @ ( produc7602877900562455331_mat_a @ K3 @ V ) @ ( delete5185476970202258900_mat_a @ X @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.elims
thf(fact_582_delete__aux_Oelims,axiom,
    ! [X: mat_a,Xa: list_P5411175341357971485_mat_a,Y4: list_P5411175341357971485_mat_a] :
      ( ( ( delete4814563225788993502_mat_a @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr2784087112350407837_mat_a )
         => ( Y4 != nil_Pr2784087112350407837_mat_a ) )
       => ~ ! [K3: mat_a,V: mat_a,Xs2: list_P5411175341357971485_mat_a] :
              ( ( Xa
                = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ Xs2 ) )
             => ~ ( ( ( X = K3 )
                   => ( Y4 = Xs2 ) )
                  & ( ( X != K3 )
                   => ( Y4
                      = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ K3 @ V ) @ ( delete4814563225788993502_mat_a @ X @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.elims
thf(fact_583_delete__aux_Oelims,axiom,
    ! [X: nat,Xa: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( delete_aux_nat_nat @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr5478986624290739719at_nat )
         => ( Y4 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [K3: nat,V: nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( Xa
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ Xs2 ) )
             => ~ ( ( ( X = K3 )
                   => ( Y4 = Xs2 ) )
                  & ( ( X != K3 )
                   => ( Y4
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V ) @ ( delete_aux_nat_nat @ X @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.elims
thf(fact_584_delete__aux_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: list_P811921619475610355at_nat,Y4: list_P811921619475610355at_nat] :
      ( ( ( delete8828680699484146924at_nat @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_Pr2725473518384139891at_nat )
         => ( Y4 != nil_Pr2725473518384139891at_nat ) )
       => ~ ! [K3: product_prod_nat_nat,V: list_P6011104703257516679at_nat,Xs2: list_P811921619475610355at_nat] :
              ( ( Xa
                = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ Xs2 ) )
             => ~ ( ( ( X = K3 )
                   => ( Y4 = Xs2 ) )
                  & ( ( X != K3 )
                   => ( Y4
                      = ( cons_P2215982549036978723at_nat @ ( produc1593612501639298397at_nat @ K3 @ V ) @ ( delete8828680699484146924at_nat @ X @ Xs2 ) ) ) ) ) ) ) ) ).

% delete_aux.elims
thf(fact_585_suffixes_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( suffixes_nat @ ( cons_nat @ X @ Xs ) )
      = ( append_list_nat @ ( suffixes_nat @ Xs ) @ ( cons_list_nat @ ( cons_nat @ X @ Xs ) @ nil_list_nat ) ) ) ).

% suffixes.simps(2)
thf(fact_586_suffixes_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( suffix8103968943353111119at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
      = ( append1540555382121198114at_nat @ ( suffix8103968943353111119at_nat @ Xs ) @ ( cons_l7612840610449961021at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ nil_li8973309667444810893at_nat ) ) ) ).

% suffixes.simps(2)
thf(fact_587_mk__diagonal__dim_I1_J,axiom,
    ! [As2: list_nat] :
      ( ( dim_row_nat @ ( mk_diagonal_nat @ As2 ) )
      = ( size_size_list_nat @ As2 ) ) ).

% mk_diagonal_dim(1)
thf(fact_588_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_a,X: a,Ys: list_a,Y4: a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ ( cons_a @ X @ nil_a ) ) @ ( append_a @ Ys @ ( cons_a @ Y4 @ nil_a ) ) ) @ ( listrel1_a @ R ) )
      = ( ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel1_a @ R ) )
          & ( X = Y4 ) )
        | ( ( Xs = Ys )
          & ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X @ Y4 ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_589_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) ) @ ( append985823374593552924at_nat @ Ys @ ( cons_P6512896166579812791at_nat @ Y4 @ nil_Pr5478986624290739719at_nat ) ) ) @ ( listre4828114922151135584at_nat @ R ) )
      = ( ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre4828114922151135584at_nat @ R ) )
          & ( X = Y4 ) )
        | ( ( Xs = Ys )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_590_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_mat_a,X: mat_a,Ys: list_mat_a,Y4: mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( append_mat_a @ Xs @ ( cons_mat_a @ X @ nil_mat_a ) ) @ ( append_mat_a @ Ys @ ( cons_mat_a @ Y4 @ nil_mat_a ) ) ) @ ( listrel1_mat_a @ R ) )
      = ( ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( listrel1_mat_a @ R ) )
          & ( X = Y4 ) )
        | ( ( Xs = Ys )
          & ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_591_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_nat,X: nat,Ys: list_nat,Y4: nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ ( append_nat @ Ys @ ( cons_nat @ Y4 @ nil_nat ) ) ) @ ( listrel1_nat @ R ) )
      = ( ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) )
          & ( X = Y4 ) )
        | ( ( Xs = Ys )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_592_Cons__in__lex,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( lex_Pr8571645452597969515at_nat @ R ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R )
          & ( ( size_s5460976970255530739at_nat @ Xs )
            = ( size_s5460976970255530739at_nat @ Ys ) ) )
        | ( ( X = Y4 )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_593_Cons__in__lex,axiom,
    ! [X: mat_a,Xs: list_mat_a,Y4: mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_mat_a @ Y4 @ Ys ) ) @ ( lex_mat_a @ R ) )
      = ( ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R )
          & ( ( size_size_list_mat_a @ Xs )
            = ( size_size_list_mat_a @ Ys ) ) )
        | ( ( X = Y4 )
          & ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( lex_mat_a @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_594_Cons__in__lex,axiom,
    ! [X: a,Xs: list_a,Y4: a,Ys: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( cons_a @ X @ Xs ) @ ( cons_a @ Y4 @ Ys ) ) @ ( lex_a @ R ) )
      = ( ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X @ Y4 ) @ R )
          & ( ( size_size_list_a @ Xs )
            = ( size_size_list_a @ Ys ) ) )
        | ( ( X = Y4 )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( lex_a @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_595_Cons__in__lex,axiom,
    ! [X: nat,Xs: list_nat,Y4: nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y4 @ Ys ) ) @ ( lex_nat @ R ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R )
          & ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys ) ) )
        | ( ( X = Y4 )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( lex_nat @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_596_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_a,Ys: list_a,Zs: list_a] :
      ( ( ( concat_a @ Xss2 )
        = ( append_a @ Ys @ Zs ) )
      = ( ( ( Xss2 = nil_list_a )
         => ( ( Ys = nil_a )
            & ( Zs = nil_a ) ) )
        & ( ( Xss2 != nil_list_a )
         => ? [Xss1: list_list_a,Xs4: list_a,Xs5: list_a,Xss22: list_list_a] :
              ( ( Xss2
                = ( append_list_a @ Xss1 @ ( cons_list_a @ ( append_a @ Xs4 @ Xs5 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_a @ ( concat_a @ Xss1 ) @ Xs4 ) )
              & ( Zs
                = ( append_a @ Xs5 @ ( concat_a @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_597_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = ( append_nat @ Ys @ Zs ) )
      = ( ( ( Xss2 = nil_list_nat )
         => ( ( Ys = nil_nat )
            & ( Zs = nil_nat ) ) )
        & ( ( Xss2 != nil_list_nat )
         => ? [Xss1: list_list_nat,Xs4: list_nat,Xs5: list_nat,Xss22: list_list_nat] :
              ( ( Xss2
                = ( append_list_nat @ Xss1 @ ( cons_list_nat @ ( append_nat @ Xs4 @ Xs5 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_nat @ ( concat_nat @ Xss1 ) @ Xs4 ) )
              & ( Zs
                = ( append_nat @ Xs5 @ ( concat_nat @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_598_concat__eq__append__conv,axiom,
    ! [Xss2: list_l3264859301627795341at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( concat7691415812945658306at_nat @ Xss2 )
        = ( append985823374593552924at_nat @ Ys @ Zs ) )
      = ( ( ( Xss2 = nil_li8973309667444810893at_nat )
         => ( ( Ys = nil_Pr5478986624290739719at_nat )
            & ( Zs = nil_Pr5478986624290739719at_nat ) ) )
        & ( ( Xss2 != nil_li8973309667444810893at_nat )
         => ? [Xss1: list_l3264859301627795341at_nat,Xs4: list_P6011104703257516679at_nat,Xs5: list_P6011104703257516679at_nat,Xss22: list_l3264859301627795341at_nat] :
              ( ( Xss2
                = ( append1540555382121198114at_nat @ Xss1 @ ( cons_l7612840610449961021at_nat @ ( append985823374593552924at_nat @ Xs4 @ Xs5 ) @ Xss22 ) ) )
              & ( Ys
                = ( append985823374593552924at_nat @ ( concat7691415812945658306at_nat @ Xss1 ) @ Xs4 ) )
              & ( Zs
                = ( append985823374593552924at_nat @ Xs5 @ ( concat7691415812945658306at_nat @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_599_forall__vector__1,axiom,
    ( ( ^ [P5: finite2525469894391432876l_num1 > $o] :
        ! [X7: finite2525469894391432876l_num1] : ( P5 @ X7 ) )
    = ( ^ [P6: finite2525469894391432876l_num1 > $o] :
        ! [X2: nat] : ( P6 @ ( cartes6052806112279933926l_num1 @ ( cons_nat @ X2 @ nil_nat ) ) ) ) ) ).

% forall_vector_1
thf(fact_600_forall__vector__1,axiom,
    ( ( ^ [P5: finite8617296246402585001l_num1 > $o] :
        ! [X7: finite8617296246402585001l_num1] : ( P5 @ X7 ) )
    = ( ^ [P6: finite8617296246402585001l_num1 > $o] :
        ! [X2: product_prod_nat_nat] : ( P6 @ ( cartes4852104912025598225l_num1 @ ( cons_P6512896166579812791at_nat @ X2 @ nil_Pr5478986624290739719at_nat ) ) ) ) ) ).

% forall_vector_1
thf(fact_601_concat_Osimps_I1_J,axiom,
    ( ( concat_nat @ nil_list_nat )
    = nil_nat ) ).

% concat.simps(1)
thf(fact_602_concat_Osimps_I1_J,axiom,
    ( ( concat7691415812945658306at_nat @ nil_li8973309667444810893at_nat )
    = nil_Pr5478986624290739719at_nat ) ).

% concat.simps(1)
thf(fact_603_concat_Osimps_I2_J,axiom,
    ! [X: list_a,Xs: list_list_a] :
      ( ( concat_a @ ( cons_list_a @ X @ Xs ) )
      = ( append_a @ X @ ( concat_a @ Xs ) ) ) ).

% concat.simps(2)
thf(fact_604_concat__append,axiom,
    ! [Xs: list_list_a,Ys: list_list_a] :
      ( ( concat_a @ ( append_list_a @ Xs @ Ys ) )
      = ( append_a @ ( concat_a @ Xs ) @ ( concat_a @ Ys ) ) ) ).

% concat_append
thf(fact_605_listrel1I2,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat,X: nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ X @ Ys ) ) @ ( listrel1_nat @ R ) ) ) ).

% listrel1I2
thf(fact_606_listrel1I2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat,X: product_prod_nat_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre4828114922151135584at_nat @ R ) )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ X @ Ys ) ) @ ( listre4828114922151135584at_nat @ R ) ) ) ).

% listrel1I2
thf(fact_607_not__Nil__listrel1,axiom,
    ! [Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xs ) @ ( listrel1_nat @ R ) ) ).

% not_Nil_listrel1
thf(fact_608_not__Nil__listrel1,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Xs ) @ ( listre4828114922151135584at_nat @ R ) ) ).

% not_Nil_listrel1
thf(fact_609_not__listrel1__Nil,axiom,
    ! [Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( listrel1_nat @ R ) ) ).

% not_listrel1_Nil
thf(fact_610_not__listrel1__Nil,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ nil_Pr5478986624290739719at_nat ) @ ( listre4828114922151135584at_nat @ R ) ) ).

% not_listrel1_Nil
thf(fact_611_listrel1__eq__len,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel1_a @ R ) )
     => ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) ) ) ).

% listrel1_eq_len
thf(fact_612_listrel1__eq__len,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% listrel1_eq_len
thf(fact_613_append__listrel1I,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a,Us: list_a,Vs: list_a] :
      ( ( ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel1_a @ R ) )
          & ( Us = Vs ) )
        | ( ( Xs = Ys )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Us @ Vs ) @ ( listrel1_a @ R ) ) ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Us ) @ ( append_a @ Ys @ Vs ) ) @ ( listrel1_a @ R ) ) ) ).

% append_listrel1I
thf(fact_614_Nil__notin__lex,axiom,
    ! [Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys ) @ ( lex_nat @ R ) ) ).

% Nil_notin_lex
thf(fact_615_Nil__notin__lex,axiom,
    ! [Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ).

% Nil_notin_lex
thf(fact_616_Nil2__notin__lex,axiom,
    ! [Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( lex_nat @ R ) ) ).

% Nil2_notin_lex
thf(fact_617_Nil2__notin__lex,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ nil_Pr5478986624290739719at_nat ) @ ( lex_Pr8571645452597969515at_nat @ R ) ) ).

% Nil2_notin_lex
thf(fact_618_lex__append__leftI,axiom,
    ! [Ys: list_a,Zs: list_a,R: set_Product_prod_a_a,Xs: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Ys ) @ ( append_a @ Xs @ Zs ) ) @ ( lex_a @ R ) ) ) ).

% lex_append_leftI
thf(fact_619_Cons__listrel1__Cons,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre4828114922151135584at_nat @ R ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R )
          & ( Xs = Ys ) )
        | ( ( X = Y4 )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_620_Cons__listrel1__Cons,axiom,
    ! [X: mat_a,Xs: list_mat_a,Y4: mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_mat_a @ Y4 @ Ys ) ) @ ( listrel1_mat_a @ R ) )
      = ( ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R )
          & ( Xs = Ys ) )
        | ( ( X = Y4 )
          & ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( listrel1_mat_a @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_621_Cons__listrel1__Cons,axiom,
    ! [X: nat,Xs: list_nat,Y4: nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y4 @ Ys ) ) @ ( listrel1_nat @ R ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R )
          & ( Xs = Ys ) )
        | ( ( X = Y4 )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_622_Cons__listrel1E2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre4828114922151135584at_nat @ R ) )
     => ( ! [X3: product_prod_nat_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Ys ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y4 ) @ R ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Xs
                = ( cons_P6512896166579812791at_nat @ Y4 @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Zs2 @ Ys ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_623_Cons__listrel1E2,axiom,
    ! [Xs: list_mat_a,Y4: mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ ( cons_mat_a @ Y4 @ Ys ) ) @ ( listrel1_mat_a @ R ) )
     => ( ! [X3: mat_a] :
            ( ( Xs
              = ( cons_mat_a @ X3 @ Ys ) )
           => ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y4 ) @ R ) )
       => ~ ! [Zs2: list_mat_a] :
              ( ( Xs
                = ( cons_mat_a @ Y4 @ Zs2 ) )
             => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Zs2 @ Ys ) @ ( listrel1_mat_a @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_624_Cons__listrel1E2,axiom,
    ! [Xs: list_nat,Y4: nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y4 @ Ys ) ) @ ( listrel1_nat @ R ) )
     => ( ! [X3: nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Ys ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y4 ) @ R ) )
       => ~ ! [Zs2: list_nat] :
              ( ( Xs
                = ( cons_nat @ Y4 @ Zs2 ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Zs2 @ Ys ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_625_Cons__listrel1E1,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys ) @ ( listre4828114922151135584at_nat @ R ) )
     => ( ! [Y2: product_prod_nat_nat] :
            ( ( Ys
              = ( cons_P6512896166579812791at_nat @ Y2 @ Xs ) )
           => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y2 ) @ R ) )
       => ~ ! [Zs2: list_P6011104703257516679at_nat] :
              ( ( Ys
                = ( cons_P6512896166579812791at_nat @ X @ Zs2 ) )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Zs2 ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_626_Cons__listrel1E1,axiom,
    ! [X: mat_a,Xs: list_mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ X @ Xs ) @ Ys ) @ ( listrel1_mat_a @ R ) )
     => ( ! [Y2: mat_a] :
            ( ( Ys
              = ( cons_mat_a @ Y2 @ Xs ) )
           => ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y2 ) @ R ) )
       => ~ ! [Zs2: list_mat_a] :
              ( ( Ys
                = ( cons_mat_a @ X @ Zs2 ) )
             => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Zs2 ) @ ( listrel1_mat_a @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_627_Cons__listrel1E1,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ Ys ) @ ( listrel1_nat @ R ) )
     => ( ! [Y2: nat] :
            ( ( Ys
              = ( cons_nat @ Y2 @ Xs ) )
           => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y2 ) @ R ) )
       => ~ ! [Zs2: list_nat] :
              ( ( Ys
                = ( cons_nat @ X @ Zs2 ) )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Zs2 ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_628_listrel1I1,axiom,
    ! [X: product_prod_nat_nat,Y4: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y4 @ Xs ) ) @ ( listre4828114922151135584at_nat @ R ) ) ) ).

% listrel1I1
thf(fact_629_listrel1I1,axiom,
    ! [X: mat_a,Y4: mat_a,R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a] :
      ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R )
     => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_mat_a @ Y4 @ Xs ) ) @ ( listrel1_mat_a @ R ) ) ) ).

% listrel1I1
thf(fact_630_listrel1I1,axiom,
    ! [X: nat,Y4: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y4 @ Xs ) ) @ ( listrel1_nat @ R ) ) ) ).

% listrel1I1
thf(fact_631_mk__diagonal__diagonal,axiom,
    ! [As2: list_complex] : ( diagonal_mat_complex @ ( mk_diagonal_complex @ As2 ) ) ).

% mk_diagonal_diagonal
thf(fact_632_lex__append__left__iff,axiom,
    ! [R: set_Product_prod_a_a,Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ! [X3: a] :
          ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X3 @ X3 ) @ R )
     => ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Ys ) @ ( append_a @ Xs @ Zs ) ) @ ( lex_a @ R ) )
        = ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_633_lex__append__left__iff,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a,Ys: list_mat_a,Zs: list_mat_a] :
      ( ! [X3: mat_a] :
          ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ X3 ) @ R )
     => ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( append_mat_a @ Xs @ Ys ) @ ( append_mat_a @ Xs @ Zs ) ) @ ( lex_mat_a @ R ) )
        = ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Ys @ Zs ) @ ( lex_mat_a @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_634_lex__append__left__iff,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys ) @ ( append_nat @ Xs @ Zs ) ) @ ( lex_nat @ R ) )
        = ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys @ Zs ) @ ( lex_nat @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_635_lex__append__leftD,axiom,
    ! [R: set_Product_prod_a_a,Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ! [X3: a] :
          ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X3 @ X3 ) @ R )
     => ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Ys ) @ ( append_a @ Xs @ Zs ) ) @ ( lex_a @ R ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_636_lex__append__leftD,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a,Ys: list_mat_a,Zs: list_mat_a] :
      ( ! [X3: mat_a] :
          ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ X3 ) @ R )
     => ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( append_mat_a @ Xs @ Ys ) @ ( append_mat_a @ Xs @ Zs ) ) @ ( lex_mat_a @ R ) )
       => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Ys @ Zs ) @ ( lex_mat_a @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_637_lex__append__leftD,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys ) @ ( append_nat @ Xs @ Zs ) ) @ ( lex_nat @ R ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys @ Zs ) @ ( lex_nat @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_638_lex__append__rightI,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a,Vs: list_a,Us: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( lex_a @ R ) )
     => ( ( ( size_size_list_a @ Vs )
          = ( size_size_list_a @ Us ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Us ) @ ( append_a @ Ys @ Vs ) ) @ ( lex_a @ R ) ) ) ) ).

% lex_append_rightI
thf(fact_639_lex__append__rightI,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat,Vs: list_nat,Us: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( lex_nat @ R ) )
     => ( ( ( size_size_list_nat @ Vs )
          = ( size_size_list_nat @ Us ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Us ) @ ( append_nat @ Ys @ Vs ) ) @ ( lex_nat @ R ) ) ) ) ).

% lex_append_rightI
thf(fact_640_concat__eq__appendD,axiom,
    ! [Xss2: list_list_a,Ys: list_a,Zs: list_a] :
      ( ( ( concat_a @ Xss2 )
        = ( append_a @ Ys @ Zs ) )
     => ( ( Xss2 != nil_list_a )
       => ? [Xss12: list_list_a,Xs2: list_a,Xs3: list_a,Xss23: list_list_a] :
            ( ( Xss2
              = ( append_list_a @ Xss12 @ ( cons_list_a @ ( append_a @ Xs2 @ Xs3 ) @ Xss23 ) ) )
            & ( Ys
              = ( append_a @ ( concat_a @ Xss12 ) @ Xs2 ) )
            & ( Zs
              = ( append_a @ Xs3 @ ( concat_a @ Xss23 ) ) ) ) ) ) ).

% concat_eq_appendD
thf(fact_641_listrel1I,axiom,
    ! [X: a,Y4: a,R: set_Product_prod_a_a,Xs: list_a,Us: list_a,Vs: list_a,Ys: list_a] :
      ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X @ Y4 ) @ R )
     => ( ( Xs
          = ( append_a @ Us @ ( cons_a @ X @ Vs ) ) )
       => ( ( Ys
            = ( append_a @ Us @ ( cons_a @ Y4 @ Vs ) ) )
         => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel1_a @ R ) ) ) ) ) ).

% listrel1I
thf(fact_642_listrel1I,axiom,
    ! [X: product_prod_nat_nat,Y4: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Us: list_P6011104703257516679at_nat,Vs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R )
     => ( ( Xs
          = ( append985823374593552924at_nat @ Us @ ( cons_P6512896166579812791at_nat @ X @ Vs ) ) )
       => ( ( Ys
            = ( append985823374593552924at_nat @ Us @ ( cons_P6512896166579812791at_nat @ Y4 @ Vs ) ) )
         => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre4828114922151135584at_nat @ R ) ) ) ) ) ).

% listrel1I
thf(fact_643_listrel1I,axiom,
    ! [X: mat_a,Y4: mat_a,R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a,Us: list_mat_a,Vs: list_mat_a,Ys: list_mat_a] :
      ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R )
     => ( ( Xs
          = ( append_mat_a @ Us @ ( cons_mat_a @ X @ Vs ) ) )
       => ( ( Ys
            = ( append_mat_a @ Us @ ( cons_mat_a @ Y4 @ Vs ) ) )
         => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( listrel1_mat_a @ R ) ) ) ) ) ).

% listrel1I
thf(fact_644_listrel1I,axiom,
    ! [X: nat,Y4: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat,Us: list_nat,Vs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R )
     => ( ( Xs
          = ( append_nat @ Us @ ( cons_nat @ X @ Vs ) ) )
       => ( ( Ys
            = ( append_nat @ Us @ ( cons_nat @ Y4 @ Vs ) ) )
         => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) ) ) ) ) ).

% listrel1I
thf(fact_645_listrel1E,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel1_a @ R ) )
     => ~ ! [X3: a,Y2: a] :
            ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X3 @ Y2 ) @ R )
           => ! [Us3: list_a,Vs2: list_a] :
                ( ( Xs
                  = ( append_a @ Us3 @ ( cons_a @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append_a @ Us3 @ ( cons_a @ Y2 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_646_listrel1E,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre4828114922151135584at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat] :
            ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y2 ) @ R )
           => ! [Us3: list_P6011104703257516679at_nat,Vs2: list_P6011104703257516679at_nat] :
                ( ( Xs
                  = ( append985823374593552924at_nat @ Us3 @ ( cons_P6512896166579812791at_nat @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append985823374593552924at_nat @ Us3 @ ( cons_P6512896166579812791at_nat @ Y2 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_647_listrel1E,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( listrel1_mat_a @ R ) )
     => ~ ! [X3: mat_a,Y2: mat_a] :
            ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y2 ) @ R )
           => ! [Us3: list_mat_a,Vs2: list_mat_a] :
                ( ( Xs
                  = ( append_mat_a @ Us3 @ ( cons_mat_a @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append_mat_a @ Us3 @ ( cons_mat_a @ Y2 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_648_listrel1E,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel1_nat @ R ) )
     => ~ ! [X3: nat,Y2: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R )
           => ! [Us3: list_nat,Vs2: list_nat] :
                ( ( Xs
                  = ( append_nat @ Us3 @ ( cons_nat @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append_nat @ Us3 @ ( cons_nat @ Y2 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_649_length__product,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( size_s3885678630836030617od_a_a @ ( product_a_a @ Xs @ Ys ) )
      = ( times_times_nat @ ( size_size_list_a @ Xs ) @ ( size_size_list_a @ Ys ) ) ) ).

% length_product
thf(fact_650_length__product,axiom,
    ! [Xs: list_a,Ys: list_nat] :
      ( ( size_s984997627204368545_a_nat @ ( product_a_nat @ Xs @ Ys ) )
      = ( times_times_nat @ ( size_size_list_a @ Xs ) @ ( size_size_list_nat @ Ys ) ) ) ).

% length_product
thf(fact_651_length__product,axiom,
    ! [Xs: list_nat,Ys: list_a] :
      ( ( size_s243904063682394823_nat_a @ ( product_nat_a @ Xs @ Ys ) )
      = ( times_times_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_a @ Ys ) ) ) ).

% length_product
thf(fact_652_length__product,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( size_s5460976970255530739at_nat @ ( product_nat_nat @ Xs @ Ys ) )
      = ( times_times_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_nat @ Ys ) ) ) ).

% length_product
thf(fact_653_maps__simps_I1_J,axiom,
    ! [F2: nat > list_a,X: nat,Xs: list_nat] :
      ( ( maps_nat_a @ F2 @ ( cons_nat @ X @ Xs ) )
      = ( append_a @ ( F2 @ X ) @ ( maps_nat_a @ F2 @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_654_maps__simps_I1_J,axiom,
    ! [F2: product_prod_nat_nat > list_a,X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( maps_P3804491363631941758_nat_a @ F2 @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
      = ( append_a @ ( F2 @ X ) @ ( maps_P3804491363631941758_nat_a @ F2 @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_655_inverse__permutation__of__list_Oelims,axiom,
    ! [X: list_P5411175341357971485_mat_a,Xa: mat_a,Y4: mat_a] :
      ( ( ( invers203812702758760000_mat_a @ X @ Xa )
        = Y4 )
     => ( ( ( X = nil_Pr2784087112350407837_mat_a )
         => ( Y4 != Xa ) )
       => ~ ! [Y2: mat_a,X6: mat_a,Xs2: list_P5411175341357971485_mat_a] :
              ( ( X
                = ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y2 @ X6 ) @ Xs2 ) )
             => ~ ( ( ( Xa = X6 )
                   => ( Y4 = Y2 ) )
                  & ( ( Xa != X6 )
                   => ( Y4
                      = ( invers203812702758760000_mat_a @ Xs2 @ Xa ) ) ) ) ) ) ) ).

% inverse_permutation_of_list.elims
thf(fact_656_inverse__permutation__of__list_Oelims,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: nat,Y4: nat] :
      ( ( ( invers7730505255807555637st_nat @ X @ Xa )
        = Y4 )
     => ( ( ( X = nil_Pr5478986624290739719at_nat )
         => ( Y4 != Xa ) )
       => ~ ! [Y2: nat,X6: nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( X
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y2 @ X6 ) @ Xs2 ) )
             => ~ ( ( ( Xa = X6 )
                   => ( Y4 = Y2 ) )
                  & ( ( Xa != X6 )
                   => ( Y4
                      = ( invers7730505255807555637st_nat @ Xs2 @ Xa ) ) ) ) ) ) ) ).

% inverse_permutation_of_list.elims
thf(fact_657_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% subseqs.simps(1)
thf(fact_658_subseqs_Osimps_I1_J,axiom,
    ( ( subseq4535541509918465494at_nat @ nil_Pr5478986624290739719at_nat )
    = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat ) ) ).

% subseqs.simps(1)
thf(fact_659_forall__vector__2,axiom,
    ( ( ^ [P5: finite1289000397740218697l_num1 > $o] :
        ! [X7: finite1289000397740218697l_num1] : ( P5 @ X7 ) )
    = ( ^ [P6: finite1289000397740218697l_num1 > $o] :
        ! [X2: nat,Y: nat] : ( P6 @ ( cartes7700031802712742009l_num1 @ ( cons_nat @ X2 @ ( cons_nat @ Y @ nil_nat ) ) ) ) ) ) ).

% forall_vector_2
thf(fact_660_forall__vector__2,axiom,
    ( ( ^ [P5: finite7603112927163603084l_num1 > $o] :
        ! [X7: finite7603112927163603084l_num1] : ( P5 @ X7 ) )
    = ( ^ [P6: finite7603112927163603084l_num1 > $o] :
        ! [X2: product_prod_nat_nat,Y: product_prod_nat_nat] : ( P6 @ ( cartes7759616843450166030l_num1 @ ( cons_P6512896166579812791at_nat @ X2 @ ( cons_P6512896166579812791at_nat @ Y @ nil_Pr5478986624290739719at_nat ) ) ) ) ) ) ).

% forall_vector_2
thf(fact_661_gauss__jordan_I2_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,Nc2: nat,C3: mat_complex,D3: mat_complex,X5: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc2 ) )
       => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
            = ( produc3658446505030690647omplex @ C3 @ D3 ) )
         => ( ( member_mat_complex @ X5 @ ( carrier_mat_complex @ Nc @ Nc2 ) )
           => ( ( ( times_8009071140041733218omplex @ A2 @ X5 )
                = B4 )
              = ( ( times_8009071140041733218omplex @ C3 @ X5 )
                = D3 ) ) ) ) ) ) ).

% gauss_jordan(2)
thf(fact_662_eval__inverse__permutation__of__list_I1_J,axiom,
    ! [X: nat] :
      ( ( invers7730505255807555637st_nat @ nil_Pr5478986624290739719at_nat @ X )
      = X ) ).

% eval_inverse_permutation_of_list(1)
thf(fact_663_maps__simps_I2_J,axiom,
    ! [F2: nat > list_nat] :
      ( ( maps_nat_nat @ F2 @ nil_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_664_maps__simps_I2_J,axiom,
    ! [F2: nat > list_P6011104703257516679at_nat] :
      ( ( maps_n1297257645151936558at_nat @ F2 @ nil_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% maps_simps(2)
thf(fact_665_maps__simps_I2_J,axiom,
    ! [F2: product_prod_nat_nat > list_nat] :
      ( ( maps_P7160582288963997264at_nat @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_666_maps__simps_I2_J,axiom,
    ! [F2: product_prod_nat_nat > list_P6011104703257516679at_nat] :
      ( ( maps_P2648898112322025089at_nat @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% maps_simps(2)
thf(fact_667_gauss__jordan__carrier_I1_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,Nc3: nat,A6: mat_complex,B7: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc3 ) )
       => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
            = ( produc3658446505030690647omplex @ A6 @ B7 ) )
         => ( member_mat_complex @ A6 @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ) ).

% gauss_jordan_carrier(1)
thf(fact_668_gauss__jordan__carrier_I2_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,Nc3: nat,A6: mat_complex,B7: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc3 ) )
       => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
            = ( produc3658446505030690647omplex @ A6 @ B7 ) )
         => ( member_mat_complex @ B7 @ ( carrier_mat_complex @ Nr @ Nc3 ) ) ) ) ) ).

% gauss_jordan_carrier(2)
thf(fact_669_gauss__jordan_I3_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,Nc2: nat,C3: mat_complex,D3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc2 ) )
       => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
            = ( produc3658446505030690647omplex @ C3 @ D3 ) )
         => ( member_mat_complex @ C3 @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ) ).

% gauss_jordan(3)
thf(fact_670_gauss__jordan_I4_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,Nc2: nat,C3: mat_complex,D3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ Nr @ Nc2 ) )
       => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
            = ( produc3658446505030690647omplex @ C3 @ D3 ) )
         => ( member_mat_complex @ D3 @ ( carrier_mat_complex @ Nr @ Nc2 ) ) ) ) ) ).

% gauss_jordan(4)
thf(fact_671_eval__inverse__permutation__of__list_I3_J,axiom,
    ! [X: mat_a,X4: mat_a,Y5: mat_a,Xs: list_P5411175341357971485_mat_a] :
      ( ( X != X4 )
     => ( ( invers203812702758760000_mat_a @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y5 @ X4 ) @ Xs ) @ X )
        = ( invers203812702758760000_mat_a @ Xs @ X ) ) ) ).

% eval_inverse_permutation_of_list(3)
thf(fact_672_eval__inverse__permutation__of__list_I3_J,axiom,
    ! [X: nat,X4: nat,Y5: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( X != X4 )
     => ( ( invers7730505255807555637st_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y5 @ X4 ) @ Xs ) @ X )
        = ( invers7730505255807555637st_nat @ Xs @ X ) ) ) ).

% eval_inverse_permutation_of_list(3)
thf(fact_673_eval__inverse__permutation__of__list_I2_J,axiom,
    ! [X: mat_a,X4: mat_a,Y4: mat_a,Xs: list_P5411175341357971485_mat_a] :
      ( ( X = X4 )
     => ( ( invers203812702758760000_mat_a @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y4 @ X4 ) @ Xs ) @ X )
        = Y4 ) ) ).

% eval_inverse_permutation_of_list(2)
thf(fact_674_eval__inverse__permutation__of__list_I2_J,axiom,
    ! [X: nat,X4: nat,Y4: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( X = X4 )
     => ( ( invers7730505255807555637st_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y4 @ X4 ) @ Xs ) @ X )
        = Y4 ) ) ).

% eval_inverse_permutation_of_list(2)
thf(fact_675_inverse__permutation__of__list_Osimps_I2_J,axiom,
    ! [X: mat_a,X4: mat_a,Y4: mat_a,Xs: list_P5411175341357971485_mat_a] :
      ( ( ( X = X4 )
       => ( ( invers203812702758760000_mat_a @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y4 @ X4 ) @ Xs ) @ X )
          = Y4 ) )
      & ( ( X != X4 )
       => ( ( invers203812702758760000_mat_a @ ( cons_P3230921977152692301_mat_a @ ( produc3091253522927621199_mat_a @ Y4 @ X4 ) @ Xs ) @ X )
          = ( invers203812702758760000_mat_a @ Xs @ X ) ) ) ) ).

% inverse_permutation_of_list.simps(2)
thf(fact_676_inverse__permutation__of__list_Osimps_I2_J,axiom,
    ! [X: nat,X4: nat,Y4: nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( X = X4 )
       => ( ( invers7730505255807555637st_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y4 @ X4 ) @ Xs ) @ X )
          = Y4 ) )
      & ( ( X != X4 )
       => ( ( invers7730505255807555637st_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ Y4 @ X4 ) @ Xs ) @ X )
          = ( invers7730505255807555637st_nat @ Xs @ X ) ) ) ) ).

% inverse_permutation_of_list.simps(2)
thf(fact_677_product_Osimps_I1_J,axiom,
    ! [Uu2: list_nat] :
      ( ( product_nat_nat @ nil_nat @ Uu2 )
      = nil_Pr5478986624290739719at_nat ) ).

% product.simps(1)
thf(fact_678_subrelI,axiom,
    ! [R: set_Pr4108788433434999053_mat_a,S2: set_Pr4108788433434999053_mat_a] :
      ( ! [X3: mat_a,Y2: produc5452184871688341745_mat_a] :
          ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X3 @ Y2 ) @ R )
         => ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X3 @ Y2 ) @ S2 ) )
     => ( ord_le6596545746210689197_mat_a @ R @ S2 ) ) ).

% subrelI
thf(fact_679_subrelI,axiom,
    ! [R: set_Pr1606082691126482087_mat_a,S2: set_Pr1606082691126482087_mat_a] :
      ( ! [X3: mat_a,Y2: produc5370362606830271383_mat_a] :
          ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X3 @ Y2 ) @ R )
         => ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X3 @ Y2 ) @ S2 ) )
     => ( ord_le4619910584120534279_mat_a @ R @ S2 ) ) ).

% subrelI
thf(fact_680_subrelI,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,S2: set_Pr3154870478303372279_mat_a] :
      ( ! [X3: mat_a,Y2: mat_a] :
          ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y2 ) @ R )
         => ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y2 ) @ S2 ) )
     => ( ord_le4146993573842611095_mat_a @ R @ S2 ) ) ).

% subrelI
thf(fact_681_subrelI,axiom,
    ! [R: set_Pr1261947904930325089at_nat,S2: set_Pr1261947904930325089at_nat] :
      ( ! [X3: nat,Y2: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R )
         => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ S2 ) )
     => ( ord_le3146513528884898305at_nat @ R @ S2 ) ) ).

% subrelI
thf(fact_682_subrelI,axiom,
    ! [R: set_Pr711557420992995021at_nat,S2: set_Pr711557420992995021at_nat] :
      ( ! [X3: product_prod_nat_nat,Y2: list_P6011104703257516679at_nat] :
          ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X3 @ Y2 ) @ R )
         => ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X3 @ Y2 ) @ S2 ) )
     => ( ord_le3115953677081241197at_nat @ R @ S2 ) ) ).

% subrelI
thf(fact_683_gauss__jordan__row__echelon,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,B4: mat_complex,A6: mat_complex,B7: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_1847731261493334972omplex @ A2 @ B4 )
          = ( produc3658446505030690647omplex @ A6 @ B7 ) )
       => ( gauss_194721375535881179omplex @ A6 ) ) ) ).

% gauss_jordan_row_echelon
thf(fact_684_lexord__sufI,axiom,
    ! [U: list_a,W2: list_a,R: set_Product_prod_a_a,V2: list_a,Z2: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ U @ W2 ) @ ( lexord_a @ R ) )
     => ( ( ord_less_eq_nat @ ( size_size_list_a @ W2 ) @ ( size_size_list_a @ U ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ U @ V2 ) @ ( append_a @ W2 @ Z2 ) ) @ ( lexord_a @ R ) ) ) ) ).

% lexord_sufI
thf(fact_685_lexord__sufI,axiom,
    ! [U: list_nat,W2: list_nat,R: set_Pr1261947904930325089at_nat,V2: list_nat,Z2: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ U @ W2 ) @ ( lexord_nat @ R ) )
     => ( ( ord_less_eq_nat @ ( size_size_list_nat @ W2 ) @ ( size_size_list_nat @ U ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ U @ V2 ) @ ( append_nat @ W2 @ Z2 ) ) @ ( lexord_nat @ R ) ) ) ) ).

% lexord_sufI
thf(fact_686_lexord__append__left__rightI,axiom,
    ! [A: a,B: a,R: set_Product_prod_a_a,U: list_a,X: list_a,Y4: list_a] :
      ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ A @ B ) @ R )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ U @ ( cons_a @ A @ X ) ) @ ( append_a @ U @ ( cons_a @ B @ Y4 ) ) ) @ ( lexord_a @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_687_lexord__append__left__rightI,axiom,
    ! [A: product_prod_nat_nat,B: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,U: list_P6011104703257516679at_nat,X: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ A @ B ) @ R )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ U @ ( cons_P6512896166579812791at_nat @ A @ X ) ) @ ( append985823374593552924at_nat @ U @ ( cons_P6512896166579812791at_nat @ B @ Y4 ) ) ) @ ( lexord2841853652668343668at_nat @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_688_lexord__append__left__rightI,axiom,
    ! [A: mat_a,B: mat_a,R: set_Pr3154870478303372279_mat_a,U: list_mat_a,X: list_mat_a,Y4: list_mat_a] :
      ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ A @ B ) @ R )
     => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( append_mat_a @ U @ ( cons_mat_a @ A @ X ) ) @ ( append_mat_a @ U @ ( cons_mat_a @ B @ Y4 ) ) ) @ ( lexord_mat_a @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_689_lexord__append__left__rightI,axiom,
    ! [A: nat,B: nat,R: set_Pr1261947904930325089at_nat,U: list_nat,X: list_nat,Y4: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ R )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ U @ ( cons_nat @ A @ X ) ) @ ( append_nat @ U @ ( cons_nat @ B @ Y4 ) ) ) @ ( lexord_nat @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_690_sublists_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( sublists_nat @ ( cons_nat @ X @ Xs ) )
      = ( append_list_nat @ ( sublists_nat @ Xs ) @ ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( prefixes_nat @ Xs ) ) ) ) ).

% sublists.simps(2)
thf(fact_691_sublists_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( sublis2272483767050531737at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
      = ( append1540555382121198114at_nat @ ( sublis2272483767050531737at_nat @ Xs ) @ ( map_li6716636275961704964at_nat @ ( cons_P6512896166579812791at_nat @ X ) @ ( prefix1395342811948450574at_nat @ Xs ) ) ) ) ).

% sublists.simps(2)
thf(fact_692_list_Omap_I2_J,axiom,
    ! [F2: nat > nat,X21: nat,X22: list_nat] :
      ( ( map_nat_nat @ F2 @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_nat @ ( F2 @ X21 ) @ ( map_nat_nat @ F2 @ X22 ) ) ) ).

% list.map(2)
thf(fact_693_list_Omap_I2_J,axiom,
    ! [F2: nat > product_prod_nat_nat,X21: nat,X22: list_nat] :
      ( ( map_na7298421622053143531at_nat @ F2 @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_P6512896166579812791at_nat @ ( F2 @ X21 ) @ ( map_na7298421622053143531at_nat @ F2 @ X22 ) ) ) ).

% list.map(2)
thf(fact_694_list_Omap_I2_J,axiom,
    ! [F2: product_prod_nat_nat > nat,X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( map_Pr3938374229010428429at_nat @ F2 @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) )
      = ( cons_nat @ ( F2 @ X21 ) @ ( map_Pr3938374229010428429at_nat @ F2 @ X22 ) ) ) ).

% list.map(2)
thf(fact_695_list_Omap_I2_J,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( map_Pr8058819605623181956at_nat @ F2 @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) )
      = ( cons_P6512896166579812791at_nat @ ( F2 @ X21 ) @ ( map_Pr8058819605623181956at_nat @ F2 @ X22 ) ) ) ).

% list.map(2)
thf(fact_696_Cons__eq__map__D,axiom,
    ! [X: nat,Xs: list_nat,F2: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( map_nat_nat @ F2 @ Ys ) )
     => ? [Z3: nat,Zs2: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z3 @ Zs2 ) )
          & ( X
            = ( F2 @ Z3 ) )
          & ( Xs
            = ( map_nat_nat @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_697_Cons__eq__map__D,axiom,
    ! [X: nat,Xs: list_nat,F2: product_prod_nat_nat > nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( map_Pr3938374229010428429at_nat @ F2 @ Ys ) )
     => ? [Z3: product_prod_nat_nat,Zs2: list_P6011104703257516679at_nat] :
          ( ( Ys
            = ( cons_P6512896166579812791at_nat @ Z3 @ Zs2 ) )
          & ( X
            = ( F2 @ Z3 ) )
          & ( Xs
            = ( map_Pr3938374229010428429at_nat @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_698_Cons__eq__map__D,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,F2: nat > product_prod_nat_nat,Ys: list_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs )
        = ( map_na7298421622053143531at_nat @ F2 @ Ys ) )
     => ? [Z3: nat,Zs2: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z3 @ Zs2 ) )
          & ( X
            = ( F2 @ Z3 ) )
          & ( Xs
            = ( map_na7298421622053143531at_nat @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_699_Cons__eq__map__D,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,F2: product_prod_nat_nat > product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs )
        = ( map_Pr8058819605623181956at_nat @ F2 @ Ys ) )
     => ? [Z3: product_prod_nat_nat,Zs2: list_P6011104703257516679at_nat] :
          ( ( Ys
            = ( cons_P6512896166579812791at_nat @ Z3 @ Zs2 ) )
          & ( X
            = ( F2 @ Z3 ) )
          & ( Xs
            = ( map_Pr8058819605623181956at_nat @ F2 @ Zs2 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_700_map__eq__Cons__D,axiom,
    ! [F2: nat > nat,Xs: list_nat,Y4: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F2 @ Xs )
        = ( cons_nat @ Y4 @ Ys ) )
     => ? [Z3: nat,Zs2: list_nat] :
          ( ( Xs
            = ( cons_nat @ Z3 @ Zs2 ) )
          & ( ( F2 @ Z3 )
            = Y4 )
          & ( ( map_nat_nat @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_701_map__eq__Cons__D,axiom,
    ! [F2: product_prod_nat_nat > nat,Xs: list_P6011104703257516679at_nat,Y4: nat,Ys: list_nat] :
      ( ( ( map_Pr3938374229010428429at_nat @ F2 @ Xs )
        = ( cons_nat @ Y4 @ Ys ) )
     => ? [Z3: product_prod_nat_nat,Zs2: list_P6011104703257516679at_nat] :
          ( ( Xs
            = ( cons_P6512896166579812791at_nat @ Z3 @ Zs2 ) )
          & ( ( F2 @ Z3 )
            = Y4 )
          & ( ( map_Pr3938374229010428429at_nat @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_702_map__eq__Cons__D,axiom,
    ! [F2: nat > product_prod_nat_nat,Xs: list_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( map_na7298421622053143531at_nat @ F2 @ Xs )
        = ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) )
     => ? [Z3: nat,Zs2: list_nat] :
          ( ( Xs
            = ( cons_nat @ Z3 @ Zs2 ) )
          & ( ( F2 @ Z3 )
            = Y4 )
          & ( ( map_na7298421622053143531at_nat @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_703_map__eq__Cons__D,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr8058819605623181956at_nat @ F2 @ Xs )
        = ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) )
     => ? [Z3: product_prod_nat_nat,Zs2: list_P6011104703257516679at_nat] :
          ( ( Xs
            = ( cons_P6512896166579812791at_nat @ Z3 @ Zs2 ) )
          & ( ( F2 @ Z3 )
            = Y4 )
          & ( ( map_Pr8058819605623181956at_nat @ F2 @ Zs2 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_704_Cons__eq__map__conv,axiom,
    ! [X: nat,Xs: list_nat,F2: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( map_nat_nat @ F2 @ Ys ) )
      = ( ? [Z4: nat,Zs3: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z4 @ Zs3 ) )
            & ( X
              = ( F2 @ Z4 ) )
            & ( Xs
              = ( map_nat_nat @ F2 @ Zs3 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_705_Cons__eq__map__conv,axiom,
    ! [X: nat,Xs: list_nat,F2: product_prod_nat_nat > nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( cons_nat @ X @ Xs )
        = ( map_Pr3938374229010428429at_nat @ F2 @ Ys ) )
      = ( ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Ys
              = ( cons_P6512896166579812791at_nat @ Z4 @ Zs3 ) )
            & ( X
              = ( F2 @ Z4 ) )
            & ( Xs
              = ( map_Pr3938374229010428429at_nat @ F2 @ Zs3 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_706_Cons__eq__map__conv,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,F2: nat > product_prod_nat_nat,Ys: list_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs )
        = ( map_na7298421622053143531at_nat @ F2 @ Ys ) )
      = ( ? [Z4: nat,Zs3: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z4 @ Zs3 ) )
            & ( X
              = ( F2 @ Z4 ) )
            & ( Xs
              = ( map_na7298421622053143531at_nat @ F2 @ Zs3 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_707_Cons__eq__map__conv,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,F2: product_prod_nat_nat > product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X @ Xs )
        = ( map_Pr8058819605623181956at_nat @ F2 @ Ys ) )
      = ( ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Ys
              = ( cons_P6512896166579812791at_nat @ Z4 @ Zs3 ) )
            & ( X
              = ( F2 @ Z4 ) )
            & ( Xs
              = ( map_Pr8058819605623181956at_nat @ F2 @ Zs3 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_708_map__eq__Cons__conv,axiom,
    ! [F2: nat > nat,Xs: list_nat,Y4: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F2 @ Xs )
        = ( cons_nat @ Y4 @ Ys ) )
      = ( ? [Z4: nat,Zs3: list_nat] :
            ( ( Xs
              = ( cons_nat @ Z4 @ Zs3 ) )
            & ( ( F2 @ Z4 )
              = Y4 )
            & ( ( map_nat_nat @ F2 @ Zs3 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_709_map__eq__Cons__conv,axiom,
    ! [F2: product_prod_nat_nat > nat,Xs: list_P6011104703257516679at_nat,Y4: nat,Ys: list_nat] :
      ( ( ( map_Pr3938374229010428429at_nat @ F2 @ Xs )
        = ( cons_nat @ Y4 @ Ys ) )
      = ( ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Z4 @ Zs3 ) )
            & ( ( F2 @ Z4 )
              = Y4 )
            & ( ( map_Pr3938374229010428429at_nat @ F2 @ Zs3 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_710_map__eq__Cons__conv,axiom,
    ! [F2: nat > product_prod_nat_nat,Xs: list_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( map_na7298421622053143531at_nat @ F2 @ Xs )
        = ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) )
      = ( ? [Z4: nat,Zs3: list_nat] :
            ( ( Xs
              = ( cons_nat @ Z4 @ Zs3 ) )
            & ( ( F2 @ Z4 )
              = Y4 )
            & ( ( map_na7298421622053143531at_nat @ F2 @ Zs3 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_711_map__eq__Cons__conv,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr8058819605623181956at_nat @ F2 @ Xs )
        = ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) )
      = ( ? [Z4: product_prod_nat_nat,Zs3: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Z4 @ Zs3 ) )
            & ( ( F2 @ Z4 )
              = Y4 )
            & ( ( map_Pr8058819605623181956at_nat @ F2 @ Zs3 )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_712_map__is__Nil__conv,axiom,
    ! [F2: nat > nat,Xs: list_nat] :
      ( ( ( map_nat_nat @ F2 @ Xs )
        = nil_nat )
      = ( Xs = nil_nat ) ) ).

% map_is_Nil_conv
thf(fact_713_map__is__Nil__conv,axiom,
    ! [F2: product_prod_nat_nat > nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr3938374229010428429at_nat @ F2 @ Xs )
        = nil_nat )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% map_is_Nil_conv
thf(fact_714_map__is__Nil__conv,axiom,
    ! [F2: nat > product_prod_nat_nat,Xs: list_nat] :
      ( ( ( map_na7298421622053143531at_nat @ F2 @ Xs )
        = nil_Pr5478986624290739719at_nat )
      = ( Xs = nil_nat ) ) ).

% map_is_Nil_conv
thf(fact_715_map__is__Nil__conv,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr8058819605623181956at_nat @ F2 @ Xs )
        = nil_Pr5478986624290739719at_nat )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% map_is_Nil_conv
thf(fact_716_Nil__is__map__conv,axiom,
    ! [F2: nat > nat,Xs: list_nat] :
      ( ( nil_nat
        = ( map_nat_nat @ F2 @ Xs ) )
      = ( Xs = nil_nat ) ) ).

% Nil_is_map_conv
thf(fact_717_Nil__is__map__conv,axiom,
    ! [F2: product_prod_nat_nat > nat,Xs: list_P6011104703257516679at_nat] :
      ( ( nil_nat
        = ( map_Pr3938374229010428429at_nat @ F2 @ Xs ) )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% Nil_is_map_conv
thf(fact_718_Nil__is__map__conv,axiom,
    ! [F2: nat > product_prod_nat_nat,Xs: list_nat] :
      ( ( nil_Pr5478986624290739719at_nat
        = ( map_na7298421622053143531at_nat @ F2 @ Xs ) )
      = ( Xs = nil_nat ) ) ).

% Nil_is_map_conv
thf(fact_719_Nil__is__map__conv,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( nil_Pr5478986624290739719at_nat
        = ( map_Pr8058819605623181956at_nat @ F2 @ Xs ) )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% Nil_is_map_conv
thf(fact_720_list_Omap__disc__iff,axiom,
    ! [F2: nat > nat,A: list_nat] :
      ( ( ( map_nat_nat @ F2 @ A )
        = nil_nat )
      = ( A = nil_nat ) ) ).

% list.map_disc_iff
thf(fact_721_list_Omap__disc__iff,axiom,
    ! [F2: product_prod_nat_nat > nat,A: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr3938374229010428429at_nat @ F2 @ A )
        = nil_nat )
      = ( A = nil_Pr5478986624290739719at_nat ) ) ).

% list.map_disc_iff
thf(fact_722_list_Omap__disc__iff,axiom,
    ! [F2: nat > product_prod_nat_nat,A: list_nat] :
      ( ( ( map_na7298421622053143531at_nat @ F2 @ A )
        = nil_Pr5478986624290739719at_nat )
      = ( A = nil_nat ) ) ).

% list.map_disc_iff
thf(fact_723_list_Omap__disc__iff,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat,A: list_P6011104703257516679at_nat] :
      ( ( ( map_Pr8058819605623181956at_nat @ F2 @ A )
        = nil_Pr5478986624290739719at_nat )
      = ( A = nil_Pr5478986624290739719at_nat ) ) ).

% list.map_disc_iff
thf(fact_724_list_Osimps_I8_J,axiom,
    ! [F2: nat > nat] :
      ( ( map_nat_nat @ F2 @ nil_nat )
      = nil_nat ) ).

% list.simps(8)
thf(fact_725_list_Osimps_I8_J,axiom,
    ! [F2: nat > product_prod_nat_nat] :
      ( ( map_na7298421622053143531at_nat @ F2 @ nil_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% list.simps(8)
thf(fact_726_list_Osimps_I8_J,axiom,
    ! [F2: product_prod_nat_nat > nat] :
      ( ( map_Pr3938374229010428429at_nat @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_nat ) ).

% list.simps(8)
thf(fact_727_list_Osimps_I8_J,axiom,
    ! [F2: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( map_Pr8058819605623181956at_nat @ F2 @ nil_Pr5478986624290739719at_nat )
      = nil_Pr5478986624290739719at_nat ) ).

% list.simps(8)
thf(fact_728_length__map,axiom,
    ! [F2: a > a,Xs: list_a] :
      ( ( size_size_list_a @ ( map_a_a @ F2 @ Xs ) )
      = ( size_size_list_a @ Xs ) ) ).

% length_map
thf(fact_729_length__map,axiom,
    ! [F2: nat > a,Xs: list_nat] :
      ( ( size_size_list_a @ ( map_nat_a @ F2 @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_730_length__map,axiom,
    ! [F2: a > nat,Xs: list_a] :
      ( ( size_size_list_nat @ ( map_a_nat @ F2 @ Xs ) )
      = ( size_size_list_a @ Xs ) ) ).

% length_map
thf(fact_731_length__map,axiom,
    ! [F2: nat > nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( map_nat_nat @ F2 @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_732_map__append,axiom,
    ! [F2: a > a,Xs: list_a,Ys: list_a] :
      ( ( map_a_a @ F2 @ ( append_a @ Xs @ Ys ) )
      = ( append_a @ ( map_a_a @ F2 @ Xs ) @ ( map_a_a @ F2 @ Ys ) ) ) ).

% map_append
thf(fact_733_append__eq__map__conv,axiom,
    ! [Ys: list_a,Zs: list_a,F2: a > a,Xs: list_a] :
      ( ( ( append_a @ Ys @ Zs )
        = ( map_a_a @ F2 @ Xs ) )
      = ( ? [Us2: list_a,Vs3: list_a] :
            ( ( Xs
              = ( append_a @ Us2 @ Vs3 ) )
            & ( Ys
              = ( map_a_a @ F2 @ Us2 ) )
            & ( Zs
              = ( map_a_a @ F2 @ Vs3 ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_734_map__eq__append__conv,axiom,
    ! [F2: a > a,Xs: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( map_a_a @ F2 @ Xs )
        = ( append_a @ Ys @ Zs ) )
      = ( ? [Us2: list_a,Vs3: list_a] :
            ( ( Xs
              = ( append_a @ Us2 @ Vs3 ) )
            & ( Ys
              = ( map_a_a @ F2 @ Us2 ) )
            & ( Zs
              = ( map_a_a @ F2 @ Vs3 ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_735_drop__map,axiom,
    ! [N: nat,F2: a > a,Xs: list_a] :
      ( ( drop_a @ N @ ( map_a_a @ F2 @ Xs ) )
      = ( map_a_a @ F2 @ ( drop_a @ N @ Xs ) ) ) ).

% drop_map
thf(fact_736_lexord__linear,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,X: list_mat_a,Y4: list_mat_a] :
      ( ! [A3: mat_a,B2: mat_a] :
          ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ A3 @ B2 ) @ R )
          | ( A3 = B2 )
          | ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ B2 @ A3 ) @ R ) )
     => ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ X @ Y4 ) @ ( lexord_mat_a @ R ) )
        | ( X = Y4 )
        | ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Y4 @ X ) @ ( lexord_mat_a @ R ) ) ) ) ).

% lexord_linear
thf(fact_737_lexord__linear,axiom,
    ! [R: set_Pr1261947904930325089at_nat,X: list_nat,Y4: list_nat] :
      ( ! [A3: nat,B2: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A3 @ B2 ) @ R )
          | ( A3 = B2 )
          | ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ B2 @ A3 ) @ R ) )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y4 ) @ ( lexord_nat @ R ) )
        | ( X = Y4 )
        | ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Y4 @ X ) @ ( lexord_nat @ R ) ) ) ) ).

% lexord_linear
thf(fact_738_lexord__irreflexive,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a] :
      ( ! [X3: mat_a] :
          ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ X3 ) @ R )
     => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Xs ) @ ( lexord_mat_a @ R ) ) ) ).

% lexord_irreflexive
thf(fact_739_lexord__irreflexive,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Xs ) @ ( lexord_nat @ R ) ) ) ).

% lexord_irreflexive
thf(fact_740_lexord__simps_I2_J,axiom,
    ! [X: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ nil_nat ) @ ( lexord_nat @ R ) ) ).

% lexord_simps(2)
thf(fact_741_lexord__simps_I2_J,axiom,
    ! [X: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X @ nil_Pr5478986624290739719at_nat ) @ ( lexord2841853652668343668at_nat @ R ) ) ).

% lexord_simps(2)
thf(fact_742_lexord__append__leftI,axiom,
    ! [U: list_a,V2: list_a,R: set_Product_prod_a_a,X: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ U @ V2 ) @ ( lexord_a @ R ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ X @ U ) @ ( append_a @ X @ V2 ) ) @ ( lexord_a @ R ) ) ) ).

% lexord_append_leftI
thf(fact_743_lexord__cons__cons,axiom,
    ! [A: product_prod_nat_nat,X: list_P6011104703257516679at_nat,B: product_prod_nat_nat,Y4: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ A @ X ) @ ( cons_P6512896166579812791at_nat @ B @ Y4 ) ) @ ( lexord2841853652668343668at_nat @ R ) )
      = ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ A @ B ) @ R )
        | ( ( A = B )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X @ Y4 ) @ ( lexord2841853652668343668at_nat @ R ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_744_lexord__cons__cons,axiom,
    ! [A: mat_a,X: list_mat_a,B: mat_a,Y4: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ A @ X ) @ ( cons_mat_a @ B @ Y4 ) ) @ ( lexord_mat_a @ R ) )
      = ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ A @ B ) @ R )
        | ( ( A = B )
          & ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ X @ Y4 ) @ ( lexord_mat_a @ R ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_745_lexord__cons__cons,axiom,
    ! [A: nat,X: list_nat,B: nat,Y4: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ A @ X ) @ ( cons_nat @ B @ Y4 ) ) @ ( lexord_nat @ R ) )
      = ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ R )
        | ( ( A = B )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y4 ) @ ( lexord_nat @ R ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_746_lexord__Nil__left,axiom,
    ! [Y4: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Y4 ) @ ( lexord_nat @ R ) )
      = ( ? [A5: nat,X2: list_nat] :
            ( Y4
            = ( cons_nat @ A5 @ X2 ) ) ) ) ).

% lexord_Nil_left
thf(fact_747_lexord__Nil__left,axiom,
    ! [Y4: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Y4 ) @ ( lexord2841853652668343668at_nat @ R ) )
      = ( ? [A5: product_prod_nat_nat,X2: list_P6011104703257516679at_nat] :
            ( Y4
            = ( cons_P6512896166579812791at_nat @ A5 @ X2 ) ) ) ) ).

% lexord_Nil_left
thf(fact_748_lexord__append__leftD,axiom,
    ! [X: list_a,U: list_a,V2: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ X @ U ) @ ( append_a @ X @ V2 ) ) @ ( lexord_a @ R ) )
     => ( ! [A3: a] :
            ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ A3 @ A3 ) @ R )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ U @ V2 ) @ ( lexord_a @ R ) ) ) ) ).

% lexord_append_leftD
thf(fact_749_lexord__append__leftD,axiom,
    ! [X: list_mat_a,U: list_mat_a,V2: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( append_mat_a @ X @ U ) @ ( append_mat_a @ X @ V2 ) ) @ ( lexord_mat_a @ R ) )
     => ( ! [A3: mat_a] :
            ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ A3 @ A3 ) @ R )
       => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ U @ V2 ) @ ( lexord_mat_a @ R ) ) ) ) ).

% lexord_append_leftD
thf(fact_750_lexord__append__leftD,axiom,
    ! [X: list_nat,U: list_nat,V2: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ X @ U ) @ ( append_nat @ X @ V2 ) ) @ ( lexord_nat @ R ) )
     => ( ! [A3: nat] :
            ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A3 @ A3 ) @ R )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ U @ V2 ) @ ( lexord_nat @ R ) ) ) ) ).

% lexord_append_leftD
thf(fact_751_lexord__append__rightI,axiom,
    ! [Y4: list_a,X: list_a,R: set_Product_prod_a_a] :
      ( ? [B8: a,Z5: list_a] :
          ( Y4
          = ( cons_a @ B8 @ Z5 ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ X @ ( append_a @ X @ Y4 ) ) @ ( lexord_a @ R ) ) ) ).

% lexord_append_rightI
thf(fact_752_lexord__append__rightI,axiom,
    ! [Y4: list_nat,X: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ? [B8: nat,Z5: list_nat] :
          ( Y4
          = ( cons_nat @ B8 @ Z5 ) )
     => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ ( append_nat @ X @ Y4 ) ) @ ( lexord_nat @ R ) ) ) ).

% lexord_append_rightI
thf(fact_753_lexord__append__rightI,axiom,
    ! [Y4: list_P6011104703257516679at_nat,X: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ? [B8: product_prod_nat_nat,Z5: list_P6011104703257516679at_nat] :
          ( Y4
          = ( cons_P6512896166579812791at_nat @ B8 @ Z5 ) )
     => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X @ ( append985823374593552924at_nat @ X @ Y4 ) ) @ ( lexord2841853652668343668at_nat @ R ) ) ) ).

% lexord_append_rightI
thf(fact_754_lexord__sufE,axiom,
    ! [Xs: list_a,Zs: list_a,Ys: list_a,Qs: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs @ Zs ) @ ( append_a @ Ys @ Qs ) ) @ ( lexord_a @ R ) )
     => ( ( Xs != Ys )
       => ( ( ( size_size_list_a @ Xs )
            = ( size_size_list_a @ Ys ) )
         => ( ( ( size_size_list_a @ Zs )
              = ( size_size_list_a @ Qs ) )
           => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( lexord_a @ R ) ) ) ) ) ) ).

% lexord_sufE
thf(fact_755_lexord__sufE,axiom,
    ! [Xs: list_nat,Zs: list_nat,Ys: list_nat,Qs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Zs ) @ ( append_nat @ Ys @ Qs ) ) @ ( lexord_nat @ R ) )
     => ( ( Xs != Ys )
       => ( ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys ) )
         => ( ( ( size_size_list_nat @ Zs )
              = ( size_size_list_nat @ Qs ) )
           => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( lexord_nat @ R ) ) ) ) ) ) ).

% lexord_sufE
thf(fact_756_lexord__lex,axiom,
    ! [X: list_a,Y4: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ X @ Y4 ) @ ( lex_a @ R ) )
      = ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ X @ Y4 ) @ ( lexord_a @ R ) )
        & ( ( size_size_list_a @ X )
          = ( size_size_list_a @ Y4 ) ) ) ) ).

% lexord_lex
thf(fact_757_lexord__lex,axiom,
    ! [X: list_nat,Y4: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y4 ) @ ( lex_nat @ R ) )
      = ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X @ Y4 ) @ ( lexord_nat @ R ) )
        & ( ( size_size_list_nat @ X )
          = ( size_size_list_nat @ Y4 ) ) ) ) ).

% lexord_lex
thf(fact_758_prefixes_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat] :
      ( ( prefixes_nat @ ( cons_nat @ X @ Xs ) )
      = ( cons_list_nat @ nil_nat @ ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( prefixes_nat @ Xs ) ) ) ) ).

% prefixes.simps(2)
thf(fact_759_prefixes_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( prefix1395342811948450574at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) )
      = ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ ( map_li6716636275961704964at_nat @ ( cons_P6512896166579812791at_nat @ X ) @ ( prefix1395342811948450574at_nat @ Xs ) ) ) ) ).

% prefixes.simps(2)
thf(fact_760_gauss__jordan__single_I3_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,C3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_4244865067341541924omplex @ A2 )
          = C3 )
       => ( gauss_194721375535881179omplex @ C3 ) ) ) ).

% gauss_jordan_single(3)
thf(fact_761_nth__map__out__of__bound,axiom,
    ! [Xs: list_a,I: nat,F2: a > mat_complex] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ I )
     => ( ( nth_mat_complex @ ( map_a_mat_complex @ F2 @ Xs ) @ I )
        = ( nth_mat_complex @ nil_mat_complex @ ( minus_minus_nat @ I @ ( size_size_list_a @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_762_nth__map__out__of__bound,axiom,
    ! [Xs: list_a,I: nat,F2: a > complex] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ I )
     => ( ( nth_complex @ ( map_a_complex @ F2 @ Xs ) @ I )
        = ( nth_complex @ nil_complex @ ( minus_minus_nat @ I @ ( size_size_list_a @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_763_nth__map__out__of__bound,axiom,
    ! [Xs: list_a,I: nat,F2: a > nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ I )
     => ( ( nth_nat @ ( map_a_nat @ F2 @ Xs ) @ I )
        = ( nth_nat @ nil_nat @ ( minus_minus_nat @ I @ ( size_size_list_a @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_764_nth__map__out__of__bound,axiom,
    ! [Xs: list_a,I: nat,F2: a > product_prod_nat_nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ I )
     => ( ( nth_Pr7617993195940197384at_nat @ ( map_a_4696317093137605319at_nat @ F2 @ Xs ) @ I )
        = ( nth_Pr7617993195940197384at_nat @ nil_Pr5478986624290739719at_nat @ ( minus_minus_nat @ I @ ( size_size_list_a @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_765_nth__map__out__of__bound,axiom,
    ! [Xs: list_nat,I: nat,F2: nat > mat_complex] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ I )
     => ( ( nth_mat_complex @ ( map_nat_mat_complex @ F2 @ Xs ) @ I )
        = ( nth_mat_complex @ nil_mat_complex @ ( minus_minus_nat @ I @ ( size_size_list_nat @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_766_nth__map__out__of__bound,axiom,
    ! [Xs: list_nat,I: nat,F2: nat > complex] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ I )
     => ( ( nth_complex @ ( map_nat_complex @ F2 @ Xs ) @ I )
        = ( nth_complex @ nil_complex @ ( minus_minus_nat @ I @ ( size_size_list_nat @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_767_nth__map__out__of__bound,axiom,
    ! [Xs: list_nat,I: nat,F2: nat > nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ I )
     => ( ( nth_nat @ ( map_nat_nat @ F2 @ Xs ) @ I )
        = ( nth_nat @ nil_nat @ ( minus_minus_nat @ I @ ( size_size_list_nat @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_768_nth__map__out__of__bound,axiom,
    ! [Xs: list_nat,I: nat,F2: nat > product_prod_nat_nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ I )
     => ( ( nth_Pr7617993195940197384at_nat @ ( map_na7298421622053143531at_nat @ F2 @ Xs ) @ I )
        = ( nth_Pr7617993195940197384at_nat @ nil_Pr5478986624290739719at_nat @ ( minus_minus_nat @ I @ ( size_size_list_nat @ Xs ) ) ) ) ) ).

% nth_map_out_of_bound
thf(fact_769_lenlex__append1,axiom,
    ! [Us: list_a,Xs: list_a,R2: set_Product_prod_a_a,Vs: list_a,Ys: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Us @ Xs ) @ ( lenlex_a @ R2 ) )
     => ( ( ( size_size_list_a @ Vs )
          = ( size_size_list_a @ Ys ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Us @ Vs ) @ ( append_a @ Xs @ Ys ) ) @ ( lenlex_a @ R2 ) ) ) ) ).

% lenlex_append1
thf(fact_770_lenlex__append1,axiom,
    ! [Us: list_nat,Xs: list_nat,R2: set_Pr1261947904930325089at_nat,Vs: list_nat,Ys: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Us @ Xs ) @ ( lenlex_nat @ R2 ) )
     => ( ( ( size_size_list_nat @ Vs )
          = ( size_size_list_nat @ Ys ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Us @ Vs ) @ ( append_nat @ Xs @ Ys ) ) @ ( lenlex_nat @ R2 ) ) ) ) ).

% lenlex_append1
thf(fact_771_pair__list__eqI,axiom,
    ! [Xs: list_P5411175341357971485_mat_a,Ys: list_P5411175341357971485_mat_a] :
      ( ( ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ Xs )
        = ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ Ys ) )
     => ( ( ( map_Pr3314821613098446510_mat_a @ produc3539460521124201597_mat_a @ Xs )
          = ( map_Pr3314821613098446510_mat_a @ produc3539460521124201597_mat_a @ Ys ) )
       => ( Xs = Ys ) ) ) ).

% pair_list_eqI
thf(fact_772_pair__list__eqI,axiom,
    ! [Xs: list_P798859136818506497_mat_a,Ys: list_P798859136818506497_mat_a] :
      ( ( ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ Xs )
        = ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ Ys ) )
     => ( ( ( map_Pr6119232878687761056_mat_a @ produc7508173349661082485_mat_a @ Xs )
          = ( map_Pr6119232878687761056_mat_a @ produc7508173349661082485_mat_a @ Ys ) )
       => ( Xs = Ys ) ) ) ).

% pair_list_eqI
thf(fact_773_pair__list__eqI,axiom,
    ! [Xs: list_P2872167576551266355_mat_a,Ys: list_P2872167576551266355_mat_a] :
      ( ( ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ Xs )
        = ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ Ys ) )
     => ( ( ( map_Pr8468176641798699098_mat_a @ produc1482081755353976211_mat_a @ Xs )
          = ( map_Pr8468176641798699098_mat_a @ produc1482081755353976211_mat_a @ Ys ) )
       => ( Xs = Ys ) ) ) ).

% pair_list_eqI
thf(fact_774_nth__via__drop,axiom,
    ! [N: nat,Xs: list_mat_complex,Y4: mat_complex,Ys: list_mat_complex] :
      ( ( ( drop_mat_complex @ N @ Xs )
        = ( cons_mat_complex @ Y4 @ Ys ) )
     => ( ( nth_mat_complex @ Xs @ N )
        = Y4 ) ) ).

% nth_via_drop
thf(fact_775_nth__via__drop,axiom,
    ! [N: nat,Xs: list_complex,Y4: complex,Ys: list_complex] :
      ( ( ( drop_complex @ N @ Xs )
        = ( cons_complex @ Y4 @ Ys ) )
     => ( ( nth_complex @ Xs @ N )
        = Y4 ) ) ).

% nth_via_drop
thf(fact_776_nth__via__drop,axiom,
    ! [N: nat,Xs: list_a,Y4: a,Ys: list_a] :
      ( ( ( drop_a @ N @ Xs )
        = ( cons_a @ Y4 @ Ys ) )
     => ( ( nth_a @ Xs @ N )
        = Y4 ) ) ).

% nth_via_drop
thf(fact_777_nth__via__drop,axiom,
    ! [N: nat,Xs: list_nat,Y4: nat,Ys: list_nat] :
      ( ( ( drop_nat @ N @ Xs )
        = ( cons_nat @ Y4 @ Ys ) )
     => ( ( nth_nat @ Xs @ N )
        = Y4 ) ) ).

% nth_via_drop
thf(fact_778_nth__via__drop,axiom,
    ! [N: nat,Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( drop_P8868858903918902087at_nat @ N @ Xs )
        = ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) )
     => ( ( nth_Pr7617993195940197384at_nat @ Xs @ N )
        = Y4 ) ) ).

% nth_via_drop
thf(fact_779_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > produc5452184871688341745_mat_a,Al: list_P2872167576551266355_mat_a] :
      ( ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ ( map_ra8166749758470591350_mat_a @ F2 @ Al ) )
      = ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_780_map__fst__map__ran,axiom,
    ! [F2: mat_a > mat_a > produc5452184871688341745_mat_a,Al: list_P5411175341357971485_mat_a] :
      ( ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ ( map_ra5711430780487591136_mat_a @ F2 @ Al ) )
      = ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_781_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5452184871688341745_mat_a,Al: list_P798859136818506497_mat_a] :
      ( ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ ( map_ra3129878362297023990_mat_a @ F2 @ Al ) )
      = ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_782_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > mat_a,Al: list_P2872167576551266355_mat_a] :
      ( ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ ( map_ra5007938043284462816_mat_a @ F2 @ Al ) )
      = ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_783_map__fst__map__ran,axiom,
    ! [F2: mat_a > mat_a > mat_a,Al: list_P5411175341357971485_mat_a] :
      ( ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ ( map_ra1029780840500392266_mat_a @ F2 @ Al ) )
      = ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_784_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > mat_a,Al: list_P798859136818506497_mat_a] :
      ( ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ ( map_ra5636908361876965216_mat_a @ F2 @ Al ) )
      = ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_785_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5452184871688341745_mat_a > produc5370362606830271383_mat_a,Al: list_P2872167576551266355_mat_a] :
      ( ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ ( map_ra8397368593876798546_mat_a @ F2 @ Al ) )
      = ( map_Pr8597156708265738180_mat_a @ produc7700291086614992977_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_786_map__fst__map__ran,axiom,
    ! [F2: mat_a > mat_a > produc5370362606830271383_mat_a,Al: list_P5411175341357971485_mat_a] :
      ( ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ ( map_ra6655213778065426792_mat_a @ F2 @ Al ) )
      = ( map_Pr3314821613098446510_mat_a @ produc8618483072558553147_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_787_map__fst__map__ran,axiom,
    ! [F2: mat_a > produc5370362606830271383_mat_a > produc5370362606830271383_mat_a,Al: list_P798859136818506497_mat_a] :
      ( ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ ( map_ra711709222571885010_mat_a @ F2 @ Al ) )
      = ( map_Pr7878004344149739026_mat_a @ produc7340730364199978039_mat_a @ Al ) ) ).

% map_fst_map_ran
thf(fact_788_gauss__jordan__single_I2_J,axiom,
    ! [A2: mat_complex,Nr: nat,Nc: nat,C3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_4244865067341541924omplex @ A2 )
          = C3 )
       => ( member_mat_complex @ C3 @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% gauss_jordan_single(2)
thf(fact_789_nth__append__length,axiom,
    ! [Xs: list_mat_complex,X: mat_complex,Ys: list_mat_complex] :
      ( ( nth_mat_complex @ ( append_mat_complex @ Xs @ ( cons_mat_complex @ X @ Ys ) ) @ ( size_s5969786470865220249omplex @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_790_nth__append__length,axiom,
    ! [Xs: list_complex,X: complex,Ys: list_complex] :
      ( ( nth_complex @ ( append_complex @ Xs @ ( cons_complex @ X @ Ys ) ) @ ( size_s3451745648224563538omplex @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_791_nth__append__length,axiom,
    ! [Xs: list_P6011104703257516679at_nat,X: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( nth_Pr7617993195940197384at_nat @ ( append985823374593552924at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ X @ Ys ) ) @ ( size_s5460976970255530739at_nat @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_792_nth__append__length,axiom,
    ! [Xs: list_a,X: a,Ys: list_a] :
      ( ( nth_a @ ( append_a @ Xs @ ( cons_a @ X @ Ys ) ) @ ( size_size_list_a @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_793_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_794_lenlex__irreflexive,axiom,
    ! [R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a] :
      ( ! [X3: mat_a] :
          ~ ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ X3 ) @ R )
     => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Xs ) @ ( lenlex_mat_a @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_795_lenlex__irreflexive,axiom,
    ! [R: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ! [X3: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ X3 ) @ R )
     => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Xs ) @ ( lenlex_nat @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_796_Nil__lenlex__iff2,axiom,
    ! [Ns: list_nat,R: set_Pr1261947904930325089at_nat] :
      ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ns @ nil_nat ) @ ( lenlex_nat @ R ) ) ).

% Nil_lenlex_iff2
thf(fact_797_Nil__lenlex__iff2,axiom,
    ! [Ns: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ns @ nil_Pr5478986624290739719at_nat ) @ ( lenlex325483962726685836at_nat @ R ) ) ).

% Nil_lenlex_iff2
thf(fact_798_Nil__lenlex__iff1,axiom,
    ! [Ns: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ns ) @ ( lenlex_nat @ R ) )
      = ( Ns != nil_nat ) ) ).

% Nil_lenlex_iff1
thf(fact_799_Nil__lenlex__iff1,axiom,
    ! [Ns: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ns ) @ ( lenlex325483962726685836at_nat @ R ) )
      = ( Ns != nil_Pr5478986624290739719at_nat ) ) ).

% Nil_lenlex_iff1
thf(fact_800_product_Osimps_I2_J,axiom,
    ! [X: mat_a,Xs: list_mat_a,Ys: list_P798859136818506497_mat_a] :
      ( ( produc6980064191417368083_mat_a @ ( cons_mat_a @ X @ Xs ) @ Ys )
      = ( append8501144483719128520_mat_a @ ( map_Pr4616024890836479158_mat_a @ ( produc5286753621172121189_mat_a @ X ) @ Ys ) @ ( produc6980064191417368083_mat_a @ Xs @ Ys ) ) ) ).

% product.simps(2)
thf(fact_801_product_Osimps_I2_J,axiom,
    ! [X: mat_a,Xs: list_mat_a,Ys: list_P5411175341357971485_mat_a] :
      ( ( produc847735482211791605_mat_a @ ( cons_mat_a @ X @ Xs ) @ Ys )
      = ( append8121324640254463254_mat_a @ ( map_Pr851742647107986500_mat_a @ ( produc7602877900562455331_mat_a @ X ) @ Ys ) @ ( produc847735482211791605_mat_a @ Xs @ Ys ) ) ) ).

% product.simps(2)
thf(fact_802_product_Osimps_I2_J,axiom,
    ! [X: mat_a,Xs: list_mat_a,Ys: list_mat_a] :
      ( ( product_mat_a_mat_a @ ( cons_mat_a @ X @ Xs ) @ Ys )
      = ( append6681475394488695474_mat_a @ ( map_ma4333127029286908086_mat_a @ ( produc3091253522927621199_mat_a @ X ) @ Ys ) @ ( product_mat_a_mat_a @ Xs @ Ys ) ) ) ).

% product.simps(2)
thf(fact_803_product_Osimps_I2_J,axiom,
    ! [X: nat,Xs: list_nat,Ys: list_nat] :
      ( ( product_nat_nat @ ( cons_nat @ X @ Xs ) @ Ys )
      = ( append985823374593552924at_nat @ ( map_na7298421622053143531at_nat @ ( product_Pair_nat_nat @ X ) @ Ys ) @ ( product_nat_nat @ Xs @ Ys ) ) ) ).

% product.simps(2)
thf(fact_804_product_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_l3264859301627795341at_nat] :
      ( ( produc4700272936163034635at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
      = ( append5290687598215202952at_nat @ ( map_li7998053187192663402at_nat @ ( produc1593612501639298397at_nat @ X ) @ Ys ) @ ( produc4700272936163034635at_nat @ Xs @ Ys ) ) ) ).

% product.simps(2)
thf(fact_805_lenlex__length,axiom,
    ! [Ms: list_a,Ns: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ms @ Ns ) @ ( lenlex_a @ R ) )
     => ( ord_less_eq_nat @ ( size_size_list_a @ Ms ) @ ( size_size_list_a @ Ns ) ) ) ).

% lenlex_length
thf(fact_806_lenlex__length,axiom,
    ! [Ms: list_nat,Ns: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R ) )
     => ( ord_less_eq_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) ) ) ).

% lenlex_length
thf(fact_807_undef__vec__def,axiom,
    ( undef_2495355514574404529omplex
    = ( nth_mat_complex @ nil_mat_complex ) ) ).

% undef_vec_def
thf(fact_808_undef__vec__def,axiom,
    ( undef_vec_complex
    = ( nth_complex @ nil_complex ) ) ).

% undef_vec_def
thf(fact_809_undef__vec__def,axiom,
    ( undef_vec_nat
    = ( nth_nat @ nil_nat ) ) ).

% undef_vec_def
thf(fact_810_undef__vec__def,axiom,
    ( undef_7626143578040714507at_nat
    = ( nth_Pr7617993195940197384at_nat @ nil_Pr5478986624290739719at_nat ) ) ).

% undef_vec_def
thf(fact_811_Cons__lenlex__iff,axiom,
    ! [M: product_prod_nat_nat,Ms: list_P6011104703257516679at_nat,N: product_prod_nat_nat,Ns: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ M @ Ms ) @ ( cons_P6512896166579812791at_nat @ N @ Ns ) ) @ ( lenlex325483962726685836at_nat @ R ) )
      = ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ Ms ) @ ( size_s5460976970255530739at_nat @ Ns ) )
        | ( ( ( size_s5460976970255530739at_nat @ Ms )
            = ( size_s5460976970255530739at_nat @ Ns ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ms @ Ns ) @ ( lenlex325483962726685836at_nat @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_812_Cons__lenlex__iff,axiom,
    ! [M: mat_a,Ms: list_mat_a,N: mat_a,Ns: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ M @ Ms ) @ ( cons_mat_a @ N @ Ns ) ) @ ( lenlex_mat_a @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_mat_a @ Ms ) @ ( size_size_list_mat_a @ Ns ) )
        | ( ( ( size_size_list_mat_a @ Ms )
            = ( size_size_list_mat_a @ Ns ) )
          & ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Ms @ Ns ) @ ( lenlex_mat_a @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_813_Cons__lenlex__iff,axiom,
    ! [M: a,Ms: list_a,N: a,Ns: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( cons_a @ M @ Ms ) @ ( cons_a @ N @ Ns ) ) @ ( lenlex_a @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_a @ Ms ) @ ( size_size_list_a @ Ns ) )
        | ( ( ( size_size_list_a @ Ms )
            = ( size_size_list_a @ Ns ) )
          & ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ms @ Ns ) @ ( lenlex_a @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_814_Cons__lenlex__iff,axiom,
    ! [M: nat,Ms: list_nat,N: nat,Ns: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ M @ Ms ) @ ( cons_nat @ N @ Ns ) ) @ ( lenlex_nat @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) )
        | ( ( ( size_size_list_nat @ Ms )
            = ( size_size_list_nat @ Ns ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_815_listrel_Ocases,axiom,
    ! [A1: list_nat,A22: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ A1 @ A22 ) @ ( listre3491754300765241726at_nat @ R ) )
     => ( ( ( A1 = nil_nat )
         => ( A22 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: nat,Y2: product_prod_nat_nat,Xs2: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs2 ) )
             => ! [Ys2: list_P6011104703257516679at_nat] :
                  ( ( A22
                    = ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
                 => ( ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ X3 @ Y2 ) @ R )
                   => ~ ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs2 @ Ys2 ) @ ( listre3491754300765241726at_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_816_listrel_Ocases,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ A1 @ A22 ) @ ( listre131706907722526624at_nat @ R ) )
     => ( ( ( A1 = nil_Pr5478986624290739719at_nat )
         => ( A22 != nil_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Y2: nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( A1
                = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
             => ! [Ys2: list_nat] :
                  ( ( A22
                    = ( cons_nat @ Y2 @ Ys2 ) )
                 => ( ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ X3 @ Y2 ) @ R )
                   => ~ ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs2 @ Ys2 ) @ ( listre131706907722526624at_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_817_listrel_Ocases,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R ) )
     => ( ( ( A1 = nil_Pr5478986624290739719at_nat )
         => ( A22 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( A1
                = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
             => ! [Ys2: list_P6011104703257516679at_nat] :
                  ( ( A22
                    = ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
                 => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y2 ) @ R )
                   => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_818_listrel_Ocases,axiom,
    ! [A1: list_mat_a,A22: list_P798859136818506497_mat_a,R: set_Pr4108788433434999053_mat_a] :
      ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ A1 @ A22 ) @ ( listre2736938188450418879_mat_a @ R ) )
     => ( ( ( A1 = nil_mat_a )
         => ( A22 != nil_Pr3902087586535856747_mat_a ) )
       => ~ ! [X3: mat_a,Y2: produc5452184871688341745_mat_a,Xs2: list_mat_a] :
              ( ( A1
                = ( cons_mat_a @ X3 @ Xs2 ) )
             => ! [Ys2: list_P798859136818506497_mat_a] :
                  ( ( A22
                    = ( cons_P2417854964248693435_mat_a @ Y2 @ Ys2 ) )
                 => ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X3 @ Y2 ) @ R )
                   => ~ ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs2 @ Ys2 ) @ ( listre2736938188450418879_mat_a @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_819_listrel_Ocases,axiom,
    ! [A1: list_mat_a,A22: list_P5411175341357971485_mat_a,R: set_Pr1606082691126482087_mat_a] :
      ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ A1 @ A22 ) @ ( listre4448370753842979657_mat_a @ R ) )
     => ( ( ( A1 = nil_mat_a )
         => ( A22 != nil_Pr2784087112350407837_mat_a ) )
       => ~ ! [X3: mat_a,Y2: produc5370362606830271383_mat_a,Xs2: list_mat_a] :
              ( ( A1
                = ( cons_mat_a @ X3 @ Xs2 ) )
             => ! [Ys2: list_P5411175341357971485_mat_a] :
                  ( ( A22
                    = ( cons_P3230921977152692301_mat_a @ Y2 @ Ys2 ) )
                 => ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X3 @ Y2 ) @ R )
                   => ~ ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs2 @ Ys2 ) @ ( listre4448370753842979657_mat_a @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_820_listrel_Ocases,axiom,
    ! [A1: list_mat_a,A22: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ A1 @ A22 ) @ ( listrel_mat_a_mat_a @ R ) )
     => ( ( ( A1 = nil_mat_a )
         => ( A22 != nil_mat_a ) )
       => ~ ! [X3: mat_a,Y2: mat_a,Xs2: list_mat_a] :
              ( ( A1
                = ( cons_mat_a @ X3 @ Xs2 ) )
             => ! [Ys2: list_mat_a] :
                  ( ( A22
                    = ( cons_mat_a @ Y2 @ Ys2 ) )
                 => ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y2 ) @ R )
                   => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs2 @ Ys2 ) @ ( listrel_mat_a_mat_a @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_821_listrel_Ocases,axiom,
    ! [A1: list_nat,A22: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R ) )
     => ( ( ( A1 = nil_nat )
         => ( A22 != nil_nat ) )
       => ~ ! [X3: nat,Y2: nat,Xs2: list_nat] :
              ( ( A1
                = ( cons_nat @ X3 @ Xs2 ) )
             => ! [Ys2: list_nat] :
                  ( ( A22
                    = ( cons_nat @ Y2 @ Ys2 ) )
                 => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R )
                   => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys2 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_822_listrel_Ocases,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_l3264859301627795341at_nat,R: set_Pr711557420992995021at_nat] :
      ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ A1 @ A22 ) @ ( listre3843187478536823479at_nat @ R ) )
     => ( ( ( A1 = nil_Pr5478986624290739719at_nat )
         => ( A22 != nil_li8973309667444810893at_nat ) )
       => ~ ! [X3: product_prod_nat_nat,Y2: list_P6011104703257516679at_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( A1
                = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
             => ! [Ys2: list_l3264859301627795341at_nat] :
                  ( ( A22
                    = ( cons_l7612840610449961021at_nat @ Y2 @ Ys2 ) )
                 => ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X3 @ Y2 ) @ R )
                   => ~ ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs2 @ Ys2 ) @ ( listre3843187478536823479at_nat @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_823_listrel_Osimps,axiom,
    ! [A1: list_nat,A22: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ A1 @ A22 ) @ ( listre3491754300765241726at_nat @ R ) )
      = ( ( ( A1 = nil_nat )
          & ( A22 = nil_Pr5478986624290739719at_nat ) )
        | ? [X2: nat,Y: product_prod_nat_nat,Xs4: list_nat,Ys3: list_P6011104703257516679at_nat] :
            ( ( A1
              = ( cons_nat @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_P6512896166579812791at_nat @ Y @ Ys3 ) )
            & ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ X2 @ Y ) @ R )
            & ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs4 @ Ys3 ) @ ( listre3491754300765241726at_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_824_listrel_Osimps,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ A1 @ A22 ) @ ( listre131706907722526624at_nat @ R ) )
      = ( ( ( A1 = nil_Pr5478986624290739719at_nat )
          & ( A22 = nil_nat ) )
        | ? [X2: product_prod_nat_nat,Y: nat,Xs4: list_P6011104703257516679at_nat,Ys3: list_nat] :
            ( ( A1
              = ( cons_P6512896166579812791at_nat @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_nat @ Y @ Ys3 ) )
            & ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ X2 @ Y ) @ R )
            & ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs4 @ Ys3 ) @ ( listre131706907722526624at_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_825_listrel_Osimps,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R ) )
      = ( ( ( A1 = nil_Pr5478986624290739719at_nat )
          & ( A22 = nil_Pr5478986624290739719at_nat ) )
        | ? [X2: product_prod_nat_nat,Y: product_prod_nat_nat,Xs4: list_P6011104703257516679at_nat,Ys3: list_P6011104703257516679at_nat] :
            ( ( A1
              = ( cons_P6512896166579812791at_nat @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_P6512896166579812791at_nat @ Y @ Ys3 ) )
            & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X2 @ Y ) @ R )
            & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs4 @ Ys3 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_826_listrel_Osimps,axiom,
    ! [A1: list_mat_a,A22: list_P798859136818506497_mat_a,R: set_Pr4108788433434999053_mat_a] :
      ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ A1 @ A22 ) @ ( listre2736938188450418879_mat_a @ R ) )
      = ( ( ( A1 = nil_mat_a )
          & ( A22 = nil_Pr3902087586535856747_mat_a ) )
        | ? [X2: mat_a,Y: produc5452184871688341745_mat_a,Xs4: list_mat_a,Ys3: list_P798859136818506497_mat_a] :
            ( ( A1
              = ( cons_mat_a @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_P2417854964248693435_mat_a @ Y @ Ys3 ) )
            & ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X2 @ Y ) @ R )
            & ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs4 @ Ys3 ) @ ( listre2736938188450418879_mat_a @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_827_listrel_Osimps,axiom,
    ! [A1: list_mat_a,A22: list_P5411175341357971485_mat_a,R: set_Pr1606082691126482087_mat_a] :
      ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ A1 @ A22 ) @ ( listre4448370753842979657_mat_a @ R ) )
      = ( ( ( A1 = nil_mat_a )
          & ( A22 = nil_Pr2784087112350407837_mat_a ) )
        | ? [X2: mat_a,Y: produc5370362606830271383_mat_a,Xs4: list_mat_a,Ys3: list_P5411175341357971485_mat_a] :
            ( ( A1
              = ( cons_mat_a @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_P3230921977152692301_mat_a @ Y @ Ys3 ) )
            & ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X2 @ Y ) @ R )
            & ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs4 @ Ys3 ) @ ( listre4448370753842979657_mat_a @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_828_listrel_Osimps,axiom,
    ! [A1: list_mat_a,A22: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ A1 @ A22 ) @ ( listrel_mat_a_mat_a @ R ) )
      = ( ( ( A1 = nil_mat_a )
          & ( A22 = nil_mat_a ) )
        | ? [X2: mat_a,Y: mat_a,Xs4: list_mat_a,Ys3: list_mat_a] :
            ( ( A1
              = ( cons_mat_a @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_mat_a @ Y @ Ys3 ) )
            & ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X2 @ Y ) @ R )
            & ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs4 @ Ys3 ) @ ( listrel_mat_a_mat_a @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_829_listrel_Osimps,axiom,
    ! [A1: list_nat,A22: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R ) )
      = ( ( ( A1 = nil_nat )
          & ( A22 = nil_nat ) )
        | ? [X2: nat,Y: nat,Xs4: list_nat,Ys3: list_nat] :
            ( ( A1
              = ( cons_nat @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_nat @ Y @ Ys3 ) )
            & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y ) @ R )
            & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs4 @ Ys3 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_830_listrel_Osimps,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_l3264859301627795341at_nat,R: set_Pr711557420992995021at_nat] :
      ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ A1 @ A22 ) @ ( listre3843187478536823479at_nat @ R ) )
      = ( ( ( A1 = nil_Pr5478986624290739719at_nat )
          & ( A22 = nil_li8973309667444810893at_nat ) )
        | ? [X2: product_prod_nat_nat,Y: list_P6011104703257516679at_nat,Xs4: list_P6011104703257516679at_nat,Ys3: list_l3264859301627795341at_nat] :
            ( ( A1
              = ( cons_P6512896166579812791at_nat @ X2 @ Xs4 ) )
            & ( A22
              = ( cons_l7612840610449961021at_nat @ Y @ Ys3 ) )
            & ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X2 @ Y ) @ R )
            & ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs4 @ Ys3 ) @ ( listre3843187478536823479at_nat @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_831_listrel_Oinduct,axiom,
    ! [X1: list_nat,X23: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat,P2: list_nat > list_P6011104703257516679at_nat > $o] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ X1 @ X23 ) @ ( listre3491754300765241726at_nat @ R ) )
     => ( ( P2 @ nil_nat @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: nat,Y2: product_prod_nat_nat,Xs2: list_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ X3 @ Y2 ) @ R )
             => ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs2 @ Ys2 ) @ ( listre3491754300765241726at_nat @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_832_listrel_Oinduct,axiom,
    ! [X1: list_P6011104703257516679at_nat,X23: list_nat,R: set_Pr2539167527615954998at_nat,P2: list_P6011104703257516679at_nat > list_nat > $o] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ X1 @ X23 ) @ ( listre131706907722526624at_nat @ R ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_nat )
       => ( ! [X3: product_prod_nat_nat,Y2: nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_nat] :
              ( ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ X3 @ Y2 ) @ R )
             => ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs2 @ Ys2 ) @ ( listre131706907722526624at_nat @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_833_listrel_Oinduct,axiom,
    ! [X1: list_P6011104703257516679at_nat,X23: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat,P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ X1 @ X23 ) @ ( listre818007680106770737at_nat @ R ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_Pr5478986624290739719at_nat )
       => ( ! [X3: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y2 ) @ R )
             => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_834_listrel_Oinduct,axiom,
    ! [X1: list_mat_a,X23: list_P798859136818506497_mat_a,R: set_Pr4108788433434999053_mat_a,P2: list_mat_a > list_P798859136818506497_mat_a > $o] :
      ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ X1 @ X23 ) @ ( listre2736938188450418879_mat_a @ R ) )
     => ( ( P2 @ nil_mat_a @ nil_Pr3902087586535856747_mat_a )
       => ( ! [X3: mat_a,Y2: produc5452184871688341745_mat_a,Xs2: list_mat_a,Ys2: list_P798859136818506497_mat_a] :
              ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X3 @ Y2 ) @ R )
             => ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs2 @ Ys2 ) @ ( listre2736938188450418879_mat_a @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_mat_a @ X3 @ Xs2 ) @ ( cons_P2417854964248693435_mat_a @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_835_listrel_Oinduct,axiom,
    ! [X1: list_mat_a,X23: list_P5411175341357971485_mat_a,R: set_Pr1606082691126482087_mat_a,P2: list_mat_a > list_P5411175341357971485_mat_a > $o] :
      ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ X1 @ X23 ) @ ( listre4448370753842979657_mat_a @ R ) )
     => ( ( P2 @ nil_mat_a @ nil_Pr2784087112350407837_mat_a )
       => ( ! [X3: mat_a,Y2: produc5370362606830271383_mat_a,Xs2: list_mat_a,Ys2: list_P5411175341357971485_mat_a] :
              ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X3 @ Y2 ) @ R )
             => ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs2 @ Ys2 ) @ ( listre4448370753842979657_mat_a @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_mat_a @ X3 @ Xs2 ) @ ( cons_P3230921977152692301_mat_a @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_836_listrel_Oinduct,axiom,
    ! [X1: list_mat_a,X23: list_mat_a,R: set_Pr3154870478303372279_mat_a,P2: list_mat_a > list_mat_a > $o] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ X1 @ X23 ) @ ( listrel_mat_a_mat_a @ R ) )
     => ( ( P2 @ nil_mat_a @ nil_mat_a )
       => ( ! [X3: mat_a,Y2: mat_a,Xs2: list_mat_a,Ys2: list_mat_a] :
              ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y2 ) @ R )
             => ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs2 @ Ys2 ) @ ( listrel_mat_a_mat_a @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_mat_a @ X3 @ Xs2 ) @ ( cons_mat_a @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_837_listrel_Oinduct,axiom,
    ! [X1: list_nat,X23: list_nat,R: set_Pr1261947904930325089at_nat,P2: list_nat > list_nat > $o] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ X1 @ X23 ) @ ( listrel_nat_nat @ R ) )
     => ( ( P2 @ nil_nat @ nil_nat )
       => ( ! [X3: nat,Y2: nat,Xs2: list_nat,Ys2: list_nat] :
              ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y2 ) @ R )
             => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys2 ) @ ( listrel_nat_nat @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_838_listrel_Oinduct,axiom,
    ! [X1: list_P6011104703257516679at_nat,X23: list_l3264859301627795341at_nat,R: set_Pr711557420992995021at_nat,P2: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > $o] :
      ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ X1 @ X23 ) @ ( listre3843187478536823479at_nat @ R ) )
     => ( ( P2 @ nil_Pr5478986624290739719at_nat @ nil_li8973309667444810893at_nat )
       => ( ! [X3: product_prod_nat_nat,Y2: list_P6011104703257516679at_nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_l3264859301627795341at_nat] :
              ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X3 @ Y2 ) @ R )
             => ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs2 @ Ys2 ) @ ( listre3843187478536823479at_nat @ R ) )
               => ( ( P2 @ Xs2 @ Ys2 )
                 => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_l7612840610449961021at_nat @ Y2 @ Ys2 ) ) ) ) )
         => ( P2 @ X1 @ X23 ) ) ) ) ).

% listrel.induct
thf(fact_839_pinf_I6_J,axiom,
    ! [T2: nat] :
    ? [Z3: nat] :
    ! [X8: nat] :
      ( ( ord_less_nat @ Z3 @ X8 )
     => ~ ( ord_less_eq_nat @ X8 @ T2 ) ) ).

% pinf(6)
thf(fact_840_pinf_I8_J,axiom,
    ! [T2: nat] :
    ? [Z3: nat] :
    ! [X8: nat] :
      ( ( ord_less_nat @ Z3 @ X8 )
     => ( ord_less_eq_nat @ T2 @ X8 ) ) ).

% pinf(8)
thf(fact_841_minf_I6_J,axiom,
    ! [T2: nat] :
    ? [Z3: nat] :
    ! [X8: nat] :
      ( ( ord_less_nat @ X8 @ Z3 )
     => ( ord_less_eq_nat @ X8 @ T2 ) ) ).

% minf(6)
thf(fact_842_minf_I8_J,axiom,
    ! [T2: nat] :
    ? [Z3: nat] :
    ! [X8: nat] :
      ( ( ord_less_nat @ X8 @ Z3 )
     => ~ ( ord_less_eq_nat @ T2 @ X8 ) ) ).

% minf(8)
thf(fact_843_le__simps_I1_J,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% le_simps(1)
thf(fact_844_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M4: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M4 @ N2 )
          & ( M4 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_845_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M4: nat,N2: nat] :
          ( ( ord_less_nat @ M4 @ N2 )
          | ( M4 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_846_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_847_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_848_less__mono__imp__le__mono,axiom,
    ! [F2: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F2 @ I2 ) @ ( F2 @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F2 @ I ) @ ( F2 @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_849_inf__pigeonhole__principle,axiom,
    ! [N: nat,F2: nat > nat > $o] :
      ( ! [K2: nat] :
        ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
          & ( F2 @ K2 @ I3 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
          & ! [K5: nat] :
            ? [K3: nat] :
              ( ( ord_less_eq_nat @ K5 @ K3 )
              & ( F2 @ K3 @ I2 ) ) ) ) ).

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

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

% less_not_refl2
thf(fact_853_less__not__refl3,axiom,
    ! [S2: nat,T2: nat] :
      ( ( ord_less_nat @ S2 @ T2 )
     => ( S2 != T2 ) ) ).

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

% less_irrefl_nat
thf(fact_855_nat__less__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M5: nat] :
              ( ( ord_less_nat @ M5 @ N3 )
             => ( P2 @ M5 ) )
         => ( P2 @ N3 ) )
     => ( P2 @ N ) ) ).

% nat_less_induct
thf(fact_856_infinite__descent,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P2 @ N3 )
         => ? [M5: nat] :
              ( ( ord_less_nat @ M5 @ N3 )
              & ~ ( P2 @ M5 ) ) )
     => ( P2 @ N ) ) ).

% infinite_descent
thf(fact_857_linorder__neqE__nat,axiom,
    ! [X: nat,Y4: nat] :
      ( ( X != Y4 )
     => ( ~ ( ord_less_nat @ X @ Y4 )
       => ( ord_less_nat @ Y4 @ X ) ) ) ).

% linorder_neqE_nat
thf(fact_858_length__induct,axiom,
    ! [P2: list_a > $o,Xs: list_a] :
      ( ! [Xs2: list_a] :
          ( ! [Ys6: list_a] :
              ( ( ord_less_nat @ ( size_size_list_a @ Ys6 ) @ ( size_size_list_a @ Xs2 ) )
             => ( P2 @ Ys6 ) )
         => ( P2 @ Xs2 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_859_length__induct,axiom,
    ! [P2: list_nat > $o,Xs: list_nat] :
      ( ! [Xs2: list_nat] :
          ( ! [Ys6: list_nat] :
              ( ( ord_less_nat @ ( size_size_list_nat @ Ys6 ) @ ( size_size_list_nat @ Xs2 ) )
             => ( P2 @ Ys6 ) )
         => ( P2 @ Xs2 ) )
     => ( P2 @ Xs ) ) ).

% length_induct
thf(fact_860_less__imp__diff__less,axiom,
    ! [J: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ J @ K )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_861_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_862_listrel__iff__nth,axiom,
    ! [Xs: list_complex,Ys: list_complex,R: set_Pr5085853215250843933omplex] :
      ( ( member6068360845309590790omplex @ ( produc2490022270806822549omplex @ Xs @ Ys ) @ ( listre8129561644175834959omplex @ R ) )
      = ( ( ( size_s3451745648224563538omplex @ Xs )
          = ( size_s3451745648224563538omplex @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s3451745648224563538omplex @ Xs ) )
           => ( member5793383173714906214omplex @ ( produc101793102246108661omplex @ ( nth_complex @ Xs @ N2 ) @ ( nth_complex @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_863_listrel__iff__nth,axiom,
    ! [Xs: list_complex,Ys: list_a,R: set_Pr470261033714844795plex_a] :
      ( ( member9051261771375421138list_a @ ( produc8463916819289460077list_a @ Xs @ Ys ) @ ( listrel_complex_a @ R ) )
      = ( ( ( size_s3451745648224563538omplex @ Xs )
          = ( size_size_list_a @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s3451745648224563538omplex @ Xs ) )
           => ( member957964701361078236plex_a @ ( produc8061204051921124215plex_a @ ( nth_complex @ Xs @ N2 ) @ ( nth_a @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_864_listrel__iff__nth,axiom,
    ! [Xs: list_complex,Ys: list_nat,R: set_Pr4744753334818466879ex_nat] :
      ( ( member2726743781584122408st_nat @ ( produc4692933026955520183st_nat @ Xs @ Ys ) @ ( listrel_complex_nat @ R ) )
      = ( ( ( size_s3451745648224563538omplex @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s3451745648224563538omplex @ Xs ) )
           => ( member4772924384108857480ex_nat @ ( produc1369629321580543767ex_nat @ ( nth_complex @ Xs @ N2 ) @ ( nth_nat @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_865_listrel__iff__nth,axiom,
    ! [Xs: list_a,Ys: list_complex,R: set_Pr6004713250341684625omplex] :
      ( ( member3180876602347502600omplex @ ( produc5905839024221834859omplex @ Xs @ Ys ) @ ( listrel_a_complex @ R ) )
      = ( ( ( size_size_list_a @ Xs )
          = ( size_s3451745648224563538omplex @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_a @ Xs ) )
           => ( member2587824193763060722omplex @ ( produc2214049761573155413omplex @ ( nth_a @ Xs @ N2 ) @ ( nth_complex @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_866_listrel__iff__nth,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel_a_a @ R ) )
      = ( ( ( size_size_list_a @ Xs )
          = ( size_size_list_a @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_a @ Xs ) )
           => ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ ( nth_a @ Xs @ N2 ) @ ( nth_a @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_867_listrel__iff__nth,axiom,
    ! [Xs: list_a,Ys: list_nat,R: set_Pr4934435412358123699_a_nat] :
      ( ( member4851138774834033962st_nat @ ( produc4792949784200893581st_nat @ Xs @ Ys ) @ ( listrel_a_nat @ R ) )
      = ( ( ( size_size_list_a @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_a @ Xs ) )
           => ( member5724188588386418708_a_nat @ ( product_Pair_a_nat @ ( nth_a @ Xs @ N2 ) @ ( nth_nat @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_868_listrel__iff__nth,axiom,
    ! [Xs: list_nat,Ys: list_complex,R: set_Pr6653648255441992511omplex] :
      ( ( member1160787732442458152omplex @ ( produc8289038959187240375omplex @ Xs @ Ys ) @ ( listrel_nat_complex @ R ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_s3451745648224563538omplex @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs ) )
           => ( member7836386804969461640omplex @ ( produc6973218034000581911omplex @ ( nth_nat @ Xs @ N2 ) @ ( nth_complex @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_869_listrel__iff__nth,axiom,
    ! [Xs: list_nat,Ys: list_a,R: set_Pr4193341848836149977_nat_a] :
      ( ( member5932150393272073264list_a @ ( produc7723716010052024011list_a @ Xs @ Ys ) @ ( listrel_nat_a @ R ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_a @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs ) )
           => ( member8962352052110095674_nat_a @ ( product_Pair_nat_a @ ( nth_nat @ Xs @ N2 ) @ ( nth_a @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_870_listrel__iff__nth,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel_nat_nat @ R ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs ) )
           => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ N2 ) @ ( nth_nat @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_871_listrel__iff__nth,axiom,
    ! [Xs: list_mat_complex,Ys: list_complex,R: set_Pr5002820060132011706omplex] :
      ( ( member3251536763564917041omplex @ ( produc2969776787997347476omplex @ Xs @ Ys ) @ ( listre2688248412622954276omplex @ R ) )
      = ( ( ( size_s5969786470865220249omplex @ Xs )
          = ( size_s3451745648224563538omplex @ Ys ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s5969786470865220249omplex @ Xs ) )
           => ( member8529242985717642139omplex @ ( produc5669106556224566526omplex @ ( nth_mat_complex @ Xs @ N2 ) @ ( nth_complex @ Ys @ N2 ) ) @ R ) ) ) ) ).

% listrel_iff_nth
thf(fact_872_sorted__list__subset_Oinduct,axiom,
    ! [P2: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [A3: nat,As: list_nat,B2: nat,Bs: list_nat] :
          ( ( ( A3 = B2 )
           => ( P2 @ As @ ( cons_nat @ B2 @ Bs ) ) )
         => ( ( ( A3 != B2 )
             => ( ( ord_less_nat @ B2 @ A3 )
               => ( P2 @ ( cons_nat @ A3 @ As ) @ Bs ) ) )
           => ( P2 @ ( cons_nat @ A3 @ As ) @ ( cons_nat @ B2 @ Bs ) ) ) )
     => ( ! [X_1: list_nat] : ( P2 @ nil_nat @ X_1 )
       => ( ! [A3: nat,Uv: list_nat] : ( P2 @ ( cons_nat @ A3 @ Uv ) @ nil_nat )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% sorted_list_subset.induct
thf(fact_873_diff__less__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ C ) ) ) ) ).

% diff_less_mono
thf(fact_874_less__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_875_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_mat_complex,Z: list_mat_complex] : ( Y3 = Z ) )
    = ( ^ [Xs4: list_mat_complex,Ys3: list_mat_complex] :
          ( ( ( size_s5969786470865220249omplex @ Xs4 )
            = ( size_s5969786470865220249omplex @ Ys3 ) )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s5969786470865220249omplex @ Xs4 ) )
             => ( ( nth_mat_complex @ Xs4 @ I4 )
                = ( nth_mat_complex @ Ys3 @ I4 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_876_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_complex,Z: list_complex] : ( Y3 = Z ) )
    = ( ^ [Xs4: list_complex,Ys3: list_complex] :
          ( ( ( size_s3451745648224563538omplex @ Xs4 )
            = ( size_s3451745648224563538omplex @ Ys3 ) )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_s3451745648224563538omplex @ Xs4 ) )
             => ( ( nth_complex @ Xs4 @ I4 )
                = ( nth_complex @ Ys3 @ I4 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_877_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_a,Z: list_a] : ( Y3 = Z ) )
    = ( ^ [Xs4: list_a,Ys3: list_a] :
          ( ( ( size_size_list_a @ Xs4 )
            = ( size_size_list_a @ Ys3 ) )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_a @ Xs4 ) )
             => ( ( nth_a @ Xs4 @ I4 )
                = ( nth_a @ Ys3 @ I4 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_878_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y3: list_nat,Z: list_nat] : ( Y3 = Z ) )
    = ( ^ [Xs4: list_nat,Ys3: list_nat] :
          ( ( ( size_size_list_nat @ Xs4 )
            = ( size_size_list_nat @ Ys3 ) )
          & ! [I4: nat] :
              ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ Xs4 ) )
             => ( ( nth_nat @ Xs4 @ I4 )
                = ( nth_nat @ Ys3 @ I4 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_879_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > mat_complex > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ K )
           => ? [X9: mat_complex] : ( P2 @ I4 @ X9 ) ) )
      = ( ? [Xs4: list_mat_complex] :
            ( ( ( size_s5969786470865220249omplex @ Xs4 )
              = K )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K )
               => ( P2 @ I4 @ ( nth_mat_complex @ Xs4 @ I4 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_880_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > complex > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ K )
           => ? [X9: complex] : ( P2 @ I4 @ X9 ) ) )
      = ( ? [Xs4: list_complex] :
            ( ( ( size_s3451745648224563538omplex @ Xs4 )
              = K )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K )
               => ( P2 @ I4 @ ( nth_complex @ Xs4 @ I4 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_881_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > a > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ K )
           => ? [X9: a] : ( P2 @ I4 @ X9 ) ) )
      = ( ? [Xs4: list_a] :
            ( ( ( size_size_list_a @ Xs4 )
              = K )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K )
               => ( P2 @ I4 @ ( nth_a @ Xs4 @ I4 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_882_Skolem__list__nth,axiom,
    ! [K: nat,P2: nat > nat > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ K )
           => ? [X9: nat] : ( P2 @ I4 @ X9 ) ) )
      = ( ? [Xs4: list_nat] :
            ( ( ( size_size_list_nat @ Xs4 )
              = K )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K )
               => ( P2 @ I4 @ ( nth_nat @ Xs4 @ I4 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_883_nth__equalityI,axiom,
    ! [Xs: list_mat_complex,Ys: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Xs ) )
           => ( ( nth_mat_complex @ Xs @ I2 )
              = ( nth_mat_complex @ Ys @ I2 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_884_nth__equalityI,axiom,
    ! [Xs: list_complex,Ys: list_complex] :
      ( ( ( size_s3451745648224563538omplex @ Xs )
        = ( size_s3451745648224563538omplex @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3451745648224563538omplex @ Xs ) )
           => ( ( nth_complex @ Xs @ I2 )
              = ( nth_complex @ Ys @ I2 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_885_nth__equalityI,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_a @ Xs ) )
           => ( ( nth_a @ Xs @ I2 )
              = ( nth_a @ Ys @ I2 ) ) )
       => ( Xs = Ys ) ) ) ).

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

% nth_equalityI
thf(fact_887_listrel_Ointros_I1_J,axiom,
    ! [R: set_Pr1261947904930325089at_nat] : ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ nil_nat ) @ ( listrel_nat_nat @ R ) ) ).

% listrel.intros(1)
thf(fact_888_listrel_Ointros_I1_J,axiom,
    ! [R: set_Pr7717912310451564380at_nat] : ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ nil_nat @ nil_Pr5478986624290739719at_nat ) @ ( listre3491754300765241726at_nat @ R ) ) ).

% listrel.intros(1)
thf(fact_889_listrel_Ointros_I1_J,axiom,
    ! [R: set_Pr2539167527615954998at_nat] : ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ nil_Pr5478986624290739719at_nat @ nil_nat ) @ ( listre131706907722526624at_nat @ R ) ) ).

% listrel.intros(1)
thf(fact_890_listrel_Ointros_I1_J,axiom,
    ! [R: set_Pr8693737435421807431at_nat] : ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ nil_Pr5478986624290739719at_nat ) @ ( listre818007680106770737at_nat @ R ) ) ).

% listrel.intros(1)
thf(fact_891_listrel__Nil1,axiom,
    ! [Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xs ) @ ( listrel_nat_nat @ R ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil1
thf(fact_892_listrel__Nil1,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ nil_nat @ Xs ) @ ( listre3491754300765241726at_nat @ R ) )
     => ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% listrel_Nil1
thf(fact_893_listrel__Nil1,axiom,
    ! [Xs: list_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ nil_Pr5478986624290739719at_nat @ Xs ) @ ( listre131706907722526624at_nat @ R ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil1
thf(fact_894_listrel__Nil1,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Xs ) @ ( listre818007680106770737at_nat @ R ) )
     => ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% listrel_Nil1
thf(fact_895_listrel__Nil2,axiom,
    ! [Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ nil_nat ) @ ( listrel_nat_nat @ R ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil2
thf(fact_896_listrel__Nil2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs @ nil_nat ) @ ( listre131706907722526624at_nat @ R ) )
     => ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% listrel_Nil2
thf(fact_897_listrel__Nil2,axiom,
    ! [Xs: list_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs @ nil_Pr5478986624290739719at_nat ) @ ( listre3491754300765241726at_nat @ R ) )
     => ( Xs = nil_nat ) ) ).

% listrel_Nil2
thf(fact_898_listrel__Nil2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ nil_Pr5478986624290739719at_nat ) @ ( listre818007680106770737at_nat @ R ) )
     => ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% listrel_Nil2
thf(fact_899_listrel__eq__len,axiom,
    ! [Xs: list_a,Ys: list_a,R: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys ) @ ( listrel_a_a @ R ) )
     => ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) ) ) ).

% listrel_eq_len
thf(fact_900_listrel__eq__len,axiom,
    ! [Xs: list_a,Ys: list_nat,R: set_Pr4934435412358123699_a_nat] :
      ( ( member4851138774834033962st_nat @ ( produc4792949784200893581st_nat @ Xs @ Ys ) @ ( listrel_a_nat @ R ) )
     => ( ( size_size_list_a @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% listrel_eq_len
thf(fact_901_listrel__eq__len,axiom,
    ! [Xs: list_nat,Ys: list_a,R: set_Pr4193341848836149977_nat_a] :
      ( ( member5932150393272073264list_a @ ( produc7723716010052024011list_a @ Xs @ Ys ) @ ( listrel_nat_a @ R ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_size_list_a @ Ys ) ) ) ).

% listrel_eq_len
thf(fact_902_listrel__eq__len,axiom,
    ! [Xs: list_nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel_nat_nat @ R ) )
     => ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) ) ) ).

% listrel_eq_len
thf(fact_903_lst__diff_Osimps_I2_J,axiom,
    ! [L: list_mat_complex,X: nat,Xs: list_nat] :
      ( ( commut5044833095929398684omplex @ L @ ( cons_nat @ X @ Xs ) )
      = ( ( ord_less_eq_nat @ X @ ( size_s5969786470865220249omplex @ L ) )
        & ! [I4: nat,J3: nat] :
            ( ( ( ord_less_nat @ I4 @ X )
              & ( ord_less_eq_nat @ X @ J3 )
              & ( ord_less_nat @ J3 @ ( size_s5969786470865220249omplex @ L ) ) )
           => ( ord_less_mat_complex @ ( nth_mat_complex @ L @ I4 ) @ ( nth_mat_complex @ L @ J3 ) ) )
        & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X @ L ) @ Xs ) ) ) ).

% lst_diff.simps(2)
thf(fact_904_lst__diff_Osimps_I2_J,axiom,
    ! [L: list_complex,X: nat,Xs: list_nat] :
      ( ( commut1410864796179263225omplex @ L @ ( cons_nat @ X @ Xs ) )
      = ( ( ord_less_eq_nat @ X @ ( size_s3451745648224563538omplex @ L ) )
        & ! [I4: nat,J3: nat] :
            ( ( ( ord_less_nat @ I4 @ X )
              & ( ord_less_eq_nat @ X @ J3 )
              & ( ord_less_nat @ J3 @ ( size_s3451745648224563538omplex @ L ) ) )
           => ( ord_less_complex @ ( nth_complex @ L @ I4 ) @ ( nth_complex @ L @ J3 ) ) )
        & ( commut1410864796179263225omplex @ ( drop_complex @ X @ L ) @ Xs ) ) ) ).

% lst_diff.simps(2)
thf(fact_905_lst__diff_Osimps_I2_J,axiom,
    ! [L: list_nat,X: nat,Xs: list_nat] :
      ( ( commut7647841724617136155ff_nat @ L @ ( cons_nat @ X @ Xs ) )
      = ( ( ord_less_eq_nat @ X @ ( size_size_list_nat @ L ) )
        & ! [I4: nat,J3: nat] :
            ( ( ( ord_less_nat @ I4 @ X )
              & ( ord_less_eq_nat @ X @ J3 )
              & ( ord_less_nat @ J3 @ ( size_size_list_nat @ L ) ) )
           => ( ord_less_nat @ ( nth_nat @ L @ I4 ) @ ( nth_nat @ L @ J3 ) ) )
        & ( commut7647841724617136155ff_nat @ ( drop_nat @ X @ L ) @ Xs ) ) ) ).

% lst_diff.simps(2)
thf(fact_906_lst__diff_Osimps_I2_J,axiom,
    ! [L: list_a,X: nat,Xs: list_nat] :
      ( ( commuting_lst_diff_a @ L @ ( cons_nat @ X @ Xs ) )
      = ( ( ord_less_eq_nat @ X @ ( size_size_list_a @ L ) )
        & ! [I4: nat,J3: nat] :
            ( ( ( ord_less_nat @ I4 @ X )
              & ( ord_less_eq_nat @ X @ J3 )
              & ( ord_less_nat @ J3 @ ( size_size_list_a @ L ) ) )
           => ( ord_less_a @ ( nth_a @ L @ I4 ) @ ( nth_a @ L @ J3 ) ) )
        & ( commuting_lst_diff_a @ ( drop_a @ X @ L ) @ Xs ) ) ) ).

% lst_diff.simps(2)
thf(fact_907_nth__map,axiom,
    ! [N: nat,Xs: list_complex,F2: complex > nat] :
      ( ( ord_less_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) )
     => ( ( nth_nat @ ( map_complex_nat @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_complex @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_908_nth__map,axiom,
    ! [N: nat,Xs: list_complex,F2: complex > complex] :
      ( ( ord_less_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) )
     => ( ( nth_complex @ ( map_complex_complex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_complex @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_909_nth__map,axiom,
    ! [N: nat,Xs: list_a,F2: a > nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( nth_nat @ ( map_a_nat @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_a @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_910_nth__map,axiom,
    ! [N: nat,Xs: list_a,F2: a > complex] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( nth_complex @ ( map_a_complex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_a @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_911_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F2: nat > nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_nat @ ( map_nat_nat @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_912_nth__map,axiom,
    ! [N: nat,Xs: list_nat,F2: nat > complex] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_complex @ ( map_nat_complex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_913_nth__map,axiom,
    ! [N: nat,Xs: list_mat_complex,F2: mat_complex > nat] :
      ( ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ Xs ) )
     => ( ( nth_nat @ ( map_mat_complex_nat @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_mat_complex @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_914_nth__map,axiom,
    ! [N: nat,Xs: list_complex,F2: complex > mat_complex] :
      ( ( ord_less_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) )
     => ( ( nth_mat_complex @ ( map_co3992097597874031155omplex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_complex @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_915_nth__map,axiom,
    ! [N: nat,Xs: list_mat_complex,F2: mat_complex > complex] :
      ( ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ Xs ) )
     => ( ( nth_complex @ ( map_ma2069474870086613905omplex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_mat_complex @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_916_nth__map,axiom,
    ! [N: nat,Xs: list_a,F2: a > mat_complex] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( nth_mat_complex @ ( map_a_mat_complex @ F2 @ Xs ) @ N )
        = ( F2 @ ( nth_a @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_917_listrel__Cons2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y4: nat,Ys: list_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs @ ( cons_nat @ Y4 @ Ys ) ) @ ( listre131706907722526624at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
           => ( ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ X3 @ Y4 ) @ R )
             => ~ ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs2 @ Ys ) @ ( listre131706907722526624at_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_918_listrel__Cons2,axiom,
    ! [Xs: list_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre3491754300765241726at_nat @ R ) )
     => ~ ! [X3: nat,Xs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Xs2 ) )
           => ( ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ X3 @ Y4 ) @ R )
             => ~ ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs2 @ Ys ) @ ( listre3491754300765241726at_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_919_listrel__Cons2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre818007680106770737at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y4 ) @ R )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_920_listrel__Cons2,axiom,
    ! [Xs: list_mat_a,Y4: produc5452184871688341745_mat_a,Ys: list_P798859136818506497_mat_a,R: set_Pr4108788433434999053_mat_a] :
      ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs @ ( cons_P2417854964248693435_mat_a @ Y4 @ Ys ) ) @ ( listre2736938188450418879_mat_a @ R ) )
     => ~ ! [X3: mat_a,Xs2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ X3 @ Xs2 ) )
           => ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X3 @ Y4 ) @ R )
             => ~ ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs2 @ Ys ) @ ( listre2736938188450418879_mat_a @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_921_listrel__Cons2,axiom,
    ! [Xs: list_mat_a,Y4: produc5370362606830271383_mat_a,Ys: list_P5411175341357971485_mat_a,R: set_Pr1606082691126482087_mat_a] :
      ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs @ ( cons_P3230921977152692301_mat_a @ Y4 @ Ys ) ) @ ( listre4448370753842979657_mat_a @ R ) )
     => ~ ! [X3: mat_a,Xs2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ X3 @ Xs2 ) )
           => ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X3 @ Y4 ) @ R )
             => ~ ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs2 @ Ys ) @ ( listre4448370753842979657_mat_a @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_922_listrel__Cons2,axiom,
    ! [Xs: list_mat_a,Y4: mat_a,Ys: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ ( cons_mat_a @ Y4 @ Ys ) ) @ ( listrel_mat_a_mat_a @ R ) )
     => ~ ! [X3: mat_a,Xs2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ X3 @ Xs2 ) )
           => ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X3 @ Y4 ) @ R )
             => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs2 @ Ys ) @ ( listrel_mat_a_mat_a @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_923_listrel__Cons2,axiom,
    ! [Xs: list_nat,Y4: nat,Ys: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y4 @ Ys ) ) @ ( listrel_nat_nat @ R ) )
     => ~ ! [X3: nat,Xs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ X3 @ Xs2 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y4 ) @ R )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_924_listrel__Cons2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat,Ys: list_l3264859301627795341at_nat,R: set_Pr711557420992995021at_nat] :
      ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs @ ( cons_l7612840610449961021at_nat @ Y4 @ Ys ) ) @ ( listre3843187478536823479at_nat @ R ) )
     => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
           => ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X3 @ Y4 ) @ R )
             => ~ ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs2 @ Ys ) @ ( listre3843187478536823479at_nat @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_925_listrel__Cons1,axiom,
    ! [Y4: nat,Ys: list_nat,Xs: list_P6011104703257516679at_nat,R: set_Pr7717912310451564380at_nat] :
      ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ ( cons_nat @ Y4 @ Ys ) @ Xs ) @ ( listre3491754300765241726at_nat @ R ) )
     => ~ ! [Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
           => ( ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ Y4 @ Y2 ) @ R )
             => ~ ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Ys @ Ys2 ) @ ( listre3491754300765241726at_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_926_listrel__Cons1,axiom,
    ! [Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Xs: list_nat,R: set_Pr2539167527615954998at_nat] :
      ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) @ Xs ) @ ( listre131706907722526624at_nat @ R ) )
     => ~ ! [Y2: nat,Ys2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y2 @ Ys2 ) )
           => ( ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ Y4 @ Y2 ) @ R )
             => ~ ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Ys @ Ys2 ) @ ( listre131706907722526624at_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_927_listrel__Cons1,axiom,
    ! [Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Xs: list_P6011104703257516679at_nat,R: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) @ Xs ) @ ( listre818007680106770737at_nat @ R ) )
     => ~ ! [Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ Y4 @ Y2 ) @ R )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys @ Ys2 ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_928_listrel__Cons1,axiom,
    ! [Y4: mat_a,Ys: list_mat_a,Xs: list_P798859136818506497_mat_a,R: set_Pr4108788433434999053_mat_a] :
      ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ ( cons_mat_a @ Y4 @ Ys ) @ Xs ) @ ( listre2736938188450418879_mat_a @ R ) )
     => ~ ! [Y2: produc5452184871688341745_mat_a,Ys2: list_P798859136818506497_mat_a] :
            ( ( Xs
              = ( cons_P2417854964248693435_mat_a @ Y2 @ Ys2 ) )
           => ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ Y4 @ Y2 ) @ R )
             => ~ ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Ys @ Ys2 ) @ ( listre2736938188450418879_mat_a @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_929_listrel__Cons1,axiom,
    ! [Y4: mat_a,Ys: list_mat_a,Xs: list_P5411175341357971485_mat_a,R: set_Pr1606082691126482087_mat_a] :
      ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ ( cons_mat_a @ Y4 @ Ys ) @ Xs ) @ ( listre4448370753842979657_mat_a @ R ) )
     => ~ ! [Y2: produc5370362606830271383_mat_a,Ys2: list_P5411175341357971485_mat_a] :
            ( ( Xs
              = ( cons_P3230921977152692301_mat_a @ Y2 @ Ys2 ) )
           => ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ Y4 @ Y2 ) @ R )
             => ~ ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Ys @ Ys2 ) @ ( listre4448370753842979657_mat_a @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_930_listrel__Cons1,axiom,
    ! [Y4: mat_a,Ys: list_mat_a,Xs: list_mat_a,R: set_Pr3154870478303372279_mat_a] :
      ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ Y4 @ Ys ) @ Xs ) @ ( listrel_mat_a_mat_a @ R ) )
     => ~ ! [Y2: mat_a,Ys2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ Y2 @ Ys2 ) )
           => ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ Y4 @ Y2 ) @ R )
             => ~ ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Ys @ Ys2 ) @ ( listrel_mat_a_mat_a @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_931_listrel__Cons1,axiom,
    ! [Y4: nat,Ys: list_nat,Xs: list_nat,R: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ Y4 @ Ys ) @ Xs ) @ ( listrel_nat_nat @ R ) )
     => ~ ! [Y2: nat,Ys2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y2 @ Ys2 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ Y4 @ Y2 ) @ R )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys @ Ys2 ) @ ( listrel_nat_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_932_listrel__Cons1,axiom,
    ! [Y4: product_prod_nat_nat,Ys: list_P6011104703257516679at_nat,Xs: list_l3264859301627795341at_nat,R: set_Pr711557420992995021at_nat] :
      ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) @ Xs ) @ ( listre3843187478536823479at_nat @ R ) )
     => ~ ! [Y2: list_P6011104703257516679at_nat,Ys2: list_l3264859301627795341at_nat] :
            ( ( Xs
              = ( cons_l7612840610449961021at_nat @ Y2 @ Ys2 ) )
           => ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ Y4 @ Y2 ) @ R )
             => ~ ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Ys @ Ys2 ) @ ( listre3843187478536823479at_nat @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_933_listrel_OCons,axiom,
    ! [X: nat,Y4: product_prod_nat_nat,R: set_Pr7717912310451564380at_nat,Xs: list_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( member2223272150424702269at_nat @ ( produc487386426758144856at_nat @ X @ Y4 ) @ R )
     => ( ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ Xs @ Ys ) @ ( listre3491754300765241726at_nat @ R ) )
       => ( member5543284151954377011at_nat @ ( produc8954071634889624142at_nat @ ( cons_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre3491754300765241726at_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_934_listrel_OCons,axiom,
    ! [X: product_prod_nat_nat,Y4: nat,R: set_Pr2539167527615954998at_nat,Xs: list_P6011104703257516679at_nat,Ys: list_nat] :
      ( ( member3348759134392003351at_nat @ ( produc6350711070570205562at_nat @ X @ Y4 ) @ R )
     => ( ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ Xs @ Ys ) @ ( listre131706907722526624at_nat @ R ) )
       => ( member4319955032955891629st_nat @ ( produc12284909214523920st_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_nat @ Y4 @ Ys ) ) @ ( listre131706907722526624at_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_935_listrel_OCons,axiom,
    ! [X: product_prod_nat_nat,Y4: product_prod_nat_nat,R: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y4 ) @ R )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys ) @ ( listre818007680106770737at_nat @ R ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y4 @ Ys ) ) @ ( listre818007680106770737at_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_936_listrel_OCons,axiom,
    ! [X: mat_a,Y4: produc5452184871688341745_mat_a,R: set_Pr4108788433434999053_mat_a,Xs: list_mat_a,Ys: list_P798859136818506497_mat_a] :
      ( ( member6160517978331616854_mat_a @ ( produc5286753621172121189_mat_a @ X @ Y4 ) @ R )
     => ( ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ Xs @ Ys ) @ ( listre2736938188450418879_mat_a @ R ) )
       => ( member9115954862678890742_mat_a @ ( produc6153740362608783621_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_P2417854964248693435_mat_a @ Y4 @ Ys ) ) @ ( listre2736938188450418879_mat_a @ R ) ) ) ) ).

% listrel.Cons
thf(fact_937_listrel_OCons,axiom,
    ! [X: mat_a,Y4: produc5370362606830271383_mat_a,R: set_Pr1606082691126482087_mat_a,Xs: list_mat_a,Ys: list_P5411175341357971485_mat_a] :
      ( ( member7270109072717380616_mat_a @ ( produc7602877900562455331_mat_a @ X @ Y4 ) @ R )
     => ( ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ Xs @ Ys ) @ ( listre4448370753842979657_mat_a @ R ) )
       => ( member5361474214887387390_mat_a @ ( produc7715496112605084441_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_P3230921977152692301_mat_a @ Y4 @ Ys ) ) @ ( listre4448370753842979657_mat_a @ R ) ) ) ) ).

% listrel.Cons
thf(fact_938_listrel_OCons,axiom,
    ! [X: mat_a,Y4: mat_a,R: set_Pr3154870478303372279_mat_a,Xs: list_mat_a,Ys: list_mat_a] :
      ( ( member7323531280862645312_mat_a @ ( produc3091253522927621199_mat_a @ X @ Y4 ) @ R )
     => ( ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ Xs @ Ys ) @ ( listrel_mat_a_mat_a @ R ) )
       => ( member8250092531365124960_mat_a @ ( produc4079638386681799535_mat_a @ ( cons_mat_a @ X @ Xs ) @ ( cons_mat_a @ Y4 @ Ys ) ) @ ( listrel_mat_a_mat_a @ R ) ) ) ) ).

% listrel.Cons
thf(fact_939_listrel_OCons,axiom,
    ! [X: nat,Y4: nat,R: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y4 ) @ R )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys ) @ ( listrel_nat_nat @ R ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y4 @ Ys ) ) @ ( listrel_nat_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_940_listrel_OCons,axiom,
    ! [X: product_prod_nat_nat,Y4: list_P6011104703257516679at_nat,R: set_Pr711557420992995021at_nat,Xs: list_P6011104703257516679at_nat,Ys: list_l3264859301627795341at_nat] :
      ( ( member2819523180157272598at_nat @ ( produc1593612501639298397at_nat @ X @ Y4 ) @ R )
     => ( ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ Xs @ Ys ) @ ( listre3843187478536823479at_nat @ R ) )
       => ( member648575275185153558at_nat @ ( produc8179394566945259613at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_l7612840610449961021at_nat @ Y4 @ Ys ) ) @ ( listre3843187478536823479at_nat @ R ) ) ) ) ).

% listrel.Cons
thf(fact_941_nth__append,axiom,
    ! [N: nat,Xs: list_mat_complex,Ys: list_mat_complex] :
      ( ( ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ Xs ) )
       => ( ( nth_mat_complex @ ( append_mat_complex @ Xs @ Ys ) @ N )
          = ( nth_mat_complex @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ Xs ) )
       => ( ( nth_mat_complex @ ( append_mat_complex @ Xs @ Ys ) @ N )
          = ( nth_mat_complex @ Ys @ ( minus_minus_nat @ N @ ( size_s5969786470865220249omplex @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_942_nth__append,axiom,
    ! [N: nat,Xs: list_complex,Ys: list_complex] :
      ( ( ( ord_less_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) )
       => ( ( nth_complex @ ( append_complex @ Xs @ Ys ) @ N )
          = ( nth_complex @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) )
       => ( ( nth_complex @ ( append_complex @ Xs @ Ys ) @ N )
          = ( nth_complex @ Ys @ ( minus_minus_nat @ N @ ( size_s3451745648224563538omplex @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_943_nth__append,axiom,
    ! [N: nat,Xs: list_a,Ys: list_a] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
       => ( ( nth_a @ ( append_a @ Xs @ Ys ) @ N )
          = ( nth_a @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
       => ( ( nth_a @ ( append_a @ Xs @ Ys ) @ N )
          = ( nth_a @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_944_nth__append,axiom,
    ! [N: nat,Xs: list_nat,Ys: list_nat] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
       => ( ( nth_nat @ ( append_nat @ Xs @ Ys ) @ N )
          = ( nth_nat @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_nat @ Xs ) )
       => ( ( nth_nat @ ( append_nat @ Xs @ Ys ) @ N )
          = ( nth_nat @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_945_lst__diff_Oelims_I1_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat,Y4: $o] :
      ( ( ( commut5044833095929398684omplex @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_nat )
         => ( Y4
            = ( X != nil_mat_complex ) ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
                = ( ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s5969786470865220249omplex @ X ) ) )
                         => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I4 ) @ ( nth_mat_complex @ X @ J3 ) ) )
                      & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.elims(1)
thf(fact_946_lst__diff_Oelims_I1_J,axiom,
    ! [X: list_complex,Xa: list_nat,Y4: $o] :
      ( ( ( commut1410864796179263225omplex @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_nat )
         => ( Y4
            = ( X != nil_complex ) ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
                = ( ~ ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s3451745648224563538omplex @ X ) ) )
                         => ( ord_less_complex @ ( nth_complex @ X @ I4 ) @ ( nth_complex @ X @ J3 ) ) )
                      & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.elims(1)
thf(fact_947_lst__diff_Oelims_I1_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat,Y4: $o] :
      ( ( ( commut981440707321766646at_nat @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_nat )
         => ( Y4
            = ( X != nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
                = ( ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s5460976970255530739at_nat @ X ) ) )
                         => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I4 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J3 ) ) )
                      & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.elims(1)
thf(fact_948_lst__diff_Oelims_I1_J,axiom,
    ! [X: list_nat,Xa: list_nat,Y4: $o] :
      ( ( ( commut7647841724617136155ff_nat @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_nat )
         => ( Y4
            = ( X != nil_nat ) ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
                = ( ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_size_list_nat @ X ) ) )
                         => ( ord_less_nat @ ( nth_nat @ X @ I4 ) @ ( nth_nat @ X @ J3 ) ) )
                      & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.elims(1)
thf(fact_949_lst__diff_Oelims_I1_J,axiom,
    ! [X: list_a,Xa: list_nat,Y4: $o] :
      ( ( ( commuting_lst_diff_a @ X @ Xa )
        = Y4 )
     => ( ( ( Xa = nil_nat )
         => ( Y4
            = ( X != nil_a ) ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
                = ( ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_size_list_a @ X ) ) )
                         => ( ord_less_a @ ( nth_a @ X @ I4 ) @ ( nth_a @ X @ J3 ) ) )
                      & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.elims(1)
thf(fact_950_lst__diff_Oelims_I2_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat] :
      ( ( commut5044833095929398684omplex @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X != nil_mat_complex ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                  & ! [I3: nat,J4: nat] :
                      ( ( ( ord_less_nat @ I3 @ X3 )
                        & ( ord_less_eq_nat @ X3 @ J4 )
                        & ( ord_less_nat @ J4 @ ( size_s5969786470865220249omplex @ X ) ) )
                     => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I3 ) @ ( nth_mat_complex @ X @ J4 ) ) )
                  & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(2)
thf(fact_951_lst__diff_Oelims_I2_J,axiom,
    ! [X: list_complex,Xa: list_nat] :
      ( ( commut1410864796179263225omplex @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X != nil_complex ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                  & ! [I3: nat,J4: nat] :
                      ( ( ( ord_less_nat @ I3 @ X3 )
                        & ( ord_less_eq_nat @ X3 @ J4 )
                        & ( ord_less_nat @ J4 @ ( size_s3451745648224563538omplex @ X ) ) )
                     => ( ord_less_complex @ ( nth_complex @ X @ I3 ) @ ( nth_complex @ X @ J4 ) ) )
                  & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(2)
thf(fact_952_lst__diff_Oelims_I2_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat] :
      ( ( commut981440707321766646at_nat @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                  & ! [I3: nat,J4: nat] :
                      ( ( ( ord_less_nat @ I3 @ X3 )
                        & ( ord_less_eq_nat @ X3 @ J4 )
                        & ( ord_less_nat @ J4 @ ( size_s5460976970255530739at_nat @ X ) ) )
                     => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I3 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J4 ) ) )
                  & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(2)
thf(fact_953_lst__diff_Oelims_I2_J,axiom,
    ! [X: list_nat,Xa: list_nat] :
      ( ( commut7647841724617136155ff_nat @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X != nil_nat ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                  & ! [I3: nat,J4: nat] :
                      ( ( ( ord_less_nat @ I3 @ X3 )
                        & ( ord_less_eq_nat @ X3 @ J4 )
                        & ( ord_less_nat @ J4 @ ( size_size_list_nat @ X ) ) )
                     => ( ord_less_nat @ ( nth_nat @ X @ I3 ) @ ( nth_nat @ X @ J4 ) ) )
                  & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(2)
thf(fact_954_lst__diff_Oelims_I2_J,axiom,
    ! [X: list_a,Xa: list_nat] :
      ( ( commuting_lst_diff_a @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X != nil_a ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                  & ! [I3: nat,J4: nat] :
                      ( ( ( ord_less_nat @ I3 @ X3 )
                        & ( ord_less_eq_nat @ X3 @ J4 )
                        & ( ord_less_nat @ J4 @ ( size_size_list_a @ X ) ) )
                     => ( ord_less_a @ ( nth_a @ X @ I3 ) @ ( nth_a @ X @ J4 ) ) )
                  & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(2)
thf(fact_955_lst__diff_Oelims_I3_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat] :
      ( ~ ( commut5044833095929398684omplex @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X = nil_mat_complex ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                & ! [I2: nat,J2: nat] :
                    ( ( ( ord_less_nat @ I2 @ X3 )
                      & ( ord_less_eq_nat @ X3 @ J2 )
                      & ( ord_less_nat @ J2 @ ( size_s5969786470865220249omplex @ X ) ) )
                   => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I2 ) @ ( nth_mat_complex @ X @ J2 ) ) )
                & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(3)
thf(fact_956_lst__diff_Oelims_I3_J,axiom,
    ! [X: list_complex,Xa: list_nat] :
      ( ~ ( commut1410864796179263225omplex @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X = nil_complex ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                & ! [I2: nat,J2: nat] :
                    ( ( ( ord_less_nat @ I2 @ X3 )
                      & ( ord_less_eq_nat @ X3 @ J2 )
                      & ( ord_less_nat @ J2 @ ( size_s3451745648224563538omplex @ X ) ) )
                   => ( ord_less_complex @ ( nth_complex @ X @ I2 ) @ ( nth_complex @ X @ J2 ) ) )
                & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(3)
thf(fact_957_lst__diff_Oelims_I3_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat] :
      ( ~ ( commut981440707321766646at_nat @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X = nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                & ! [I2: nat,J2: nat] :
                    ( ( ( ord_less_nat @ I2 @ X3 )
                      & ( ord_less_eq_nat @ X3 @ J2 )
                      & ( ord_less_nat @ J2 @ ( size_s5460976970255530739at_nat @ X ) ) )
                   => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I2 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J2 ) ) )
                & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(3)
thf(fact_958_lst__diff_Oelims_I3_J,axiom,
    ! [X: list_nat,Xa: list_nat] :
      ( ~ ( commut7647841724617136155ff_nat @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X = nil_nat ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                & ! [I2: nat,J2: nat] :
                    ( ( ( ord_less_nat @ I2 @ X3 )
                      & ( ord_less_eq_nat @ X3 @ J2 )
                      & ( ord_less_nat @ J2 @ ( size_size_list_nat @ X ) ) )
                   => ( ord_less_nat @ ( nth_nat @ X @ I2 ) @ ( nth_nat @ X @ J2 ) ) )
                & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(3)
thf(fact_959_lst__diff_Oelims_I3_J,axiom,
    ! [X: list_a,Xa: list_nat] :
      ( ~ ( commuting_lst_diff_a @ X @ Xa )
     => ( ( ( Xa = nil_nat )
         => ( X = nil_a ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( Xa
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                & ! [I2: nat,J2: nat] :
                    ( ( ( ord_less_nat @ I2 @ X3 )
                      & ( ord_less_eq_nat @ X3 @ J2 )
                      & ( ord_less_nat @ J2 @ ( size_size_list_a @ X ) ) )
                   => ( ord_less_a @ ( nth_a @ X @ I2 ) @ ( nth_a @ X @ J2 ) ) )
                & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) ) ) ) ).

% lst_diff.elims(3)
thf(fact_960_lst__diff_Opelims_I1_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat,Y4: $o] :
      ( ( ( commut5044833095929398684omplex @ X @ Xa )
        = Y4 )
     => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y4
                = ( X = nil_mat_complex ) )
             => ~ ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ nil_nat ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s5969786470865220249omplex @ X ) ) )
                         => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I4 ) @ ( nth_mat_complex @ X @ J3 ) ) )
                      & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) )
                 => ~ ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) ) ) ) ) ) ) ).

% lst_diff.pelims(1)
thf(fact_961_lst__diff_Opelims_I1_J,axiom,
    ! [X: list_complex,Xa: list_nat,Y4: $o] :
      ( ( ( commut1410864796179263225omplex @ X @ Xa )
        = Y4 )
     => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y4
                = ( X = nil_complex ) )
             => ~ ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ nil_nat ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s3451745648224563538omplex @ X ) ) )
                         => ( ord_less_complex @ ( nth_complex @ X @ I4 ) @ ( nth_complex @ X @ J3 ) ) )
                      & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) )
                 => ~ ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) ) ) ) ) ) ) ).

% lst_diff.pelims(1)
thf(fact_962_lst__diff_Opelims_I1_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat,Y4: $o] :
      ( ( ( commut981440707321766646at_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y4
                = ( X = nil_Pr5478986624290739719at_nat ) )
             => ~ ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ nil_nat ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_s5460976970255530739at_nat @ X ) ) )
                         => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I4 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J3 ) ) )
                      & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) )
                 => ~ ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) ) ) ) ) ) ) ).

% lst_diff.pelims(1)
thf(fact_963_lst__diff_Opelims_I1_J,axiom,
    ! [X: list_nat,Xa: list_nat,Y4: $o] :
      ( ( ( commut7647841724617136155ff_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y4
                = ( X = nil_nat ) )
             => ~ ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ nil_nat ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_size_list_nat @ X ) ) )
                         => ( ord_less_nat @ ( nth_nat @ X @ I4 ) @ ( nth_nat @ X @ J3 ) ) )
                      & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) )
                 => ~ ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) ) ) ) ) ) ) ).

% lst_diff.pelims(1)
thf(fact_964_lst__diff_Opelims_I1_J,axiom,
    ! [X: list_a,Xa: list_nat,Y4: $o] :
      ( ( ( commuting_lst_diff_a @ X @ Xa )
        = Y4 )
     => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( Y4
                = ( X = nil_a ) )
             => ~ ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ nil_nat ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                      & ! [I4: nat,J3: nat] :
                          ( ( ( ord_less_nat @ I4 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J3 )
                            & ( ord_less_nat @ J3 @ ( size_size_list_a @ X ) ) )
                         => ( ord_less_a @ ( nth_a @ X @ I4 ) @ ( nth_a @ X @ J3 ) ) )
                      & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) )
                 => ~ ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) ) ) ) ) ) ) ).

% lst_diff.pelims(1)
thf(fact_965_lst__diff_Opelims_I2_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat] :
      ( ( commut5044833095929398684omplex @ X @ Xa )
     => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ nil_nat ) )
             => ( X != nil_mat_complex ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                      & ! [I3: nat,J4: nat] :
                          ( ( ( ord_less_nat @ I3 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J4 )
                            & ( ord_less_nat @ J4 @ ( size_s5969786470865220249omplex @ X ) ) )
                         => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I3 ) @ ( nth_mat_complex @ X @ J4 ) ) )
                      & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(2)
thf(fact_966_lst__diff_Opelims_I2_J,axiom,
    ! [X: list_complex,Xa: list_nat] :
      ( ( commut1410864796179263225omplex @ X @ Xa )
     => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ nil_nat ) )
             => ( X != nil_complex ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                      & ! [I3: nat,J4: nat] :
                          ( ( ( ord_less_nat @ I3 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J4 )
                            & ( ord_less_nat @ J4 @ ( size_s3451745648224563538omplex @ X ) ) )
                         => ( ord_less_complex @ ( nth_complex @ X @ I3 ) @ ( nth_complex @ X @ J4 ) ) )
                      & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(2)
thf(fact_967_lst__diff_Opelims_I2_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat] :
      ( ( commut981440707321766646at_nat @ X @ Xa )
     => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ nil_nat ) )
             => ( X != nil_Pr5478986624290739719at_nat ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ~ ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                      & ! [I3: nat,J4: nat] :
                          ( ( ( ord_less_nat @ I3 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J4 )
                            & ( ord_less_nat @ J4 @ ( size_s5460976970255530739at_nat @ X ) ) )
                         => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I3 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J4 ) ) )
                      & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(2)
thf(fact_968_lst__diff_Opelims_I2_J,axiom,
    ! [X: list_nat,Xa: list_nat] :
      ( ( commut7647841724617136155ff_nat @ X @ Xa )
     => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ nil_nat ) )
             => ( X != nil_nat ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                      & ! [I3: nat,J4: nat] :
                          ( ( ( ord_less_nat @ I3 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J4 )
                            & ( ord_less_nat @ J4 @ ( size_size_list_nat @ X ) ) )
                         => ( ord_less_nat @ ( nth_nat @ X @ I3 ) @ ( nth_nat @ X @ J4 ) ) )
                      & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(2)
thf(fact_969_lst__diff_Opelims_I2_J,axiom,
    ! [X: list_a,Xa: list_nat] :
      ( ( commuting_lst_diff_a @ X @ Xa )
     => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ nil_nat ) )
             => ( X != nil_a ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ~ ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                      & ! [I3: nat,J4: nat] :
                          ( ( ( ord_less_nat @ I3 @ X3 )
                            & ( ord_less_eq_nat @ X3 @ J4 )
                            & ( ord_less_nat @ J4 @ ( size_size_list_a @ X ) ) )
                         => ( ord_less_a @ ( nth_a @ X @ I3 ) @ ( nth_a @ X @ J4 ) ) )
                      & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(2)
thf(fact_970_lst__diff_Opelims_I3_J,axiom,
    ! [X: list_mat_complex,Xa: list_nat] :
      ( ~ ( commut5044833095929398684omplex @ X @ Xa )
     => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ nil_nat ) )
             => ( X = nil_mat_complex ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P799157788230702963st_nat @ commut832818077816034615omplex @ ( produc4937565944558872246st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ( ( ord_less_eq_nat @ X3 @ ( size_s5969786470865220249omplex @ X ) )
                    & ! [I2: nat,J2: nat] :
                        ( ( ( ord_less_nat @ I2 @ X3 )
                          & ( ord_less_eq_nat @ X3 @ J2 )
                          & ( ord_less_nat @ J2 @ ( size_s5969786470865220249omplex @ X ) ) )
                       => ( ord_less_mat_complex @ ( nth_mat_complex @ X @ I2 ) @ ( nth_mat_complex @ X @ J2 ) ) )
                    & ( commut5044833095929398684omplex @ ( drop_mat_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(3)
thf(fact_971_lst__diff_Opelims_I3_J,axiom,
    ! [X: list_complex,Xa: list_nat] :
      ( ~ ( commut1410864796179263225omplex @ X @ Xa )
     => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ nil_nat ) )
             => ( X = nil_complex ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P7255201967665123080st_nat @ commut8246921925132853022omplex @ ( produc4692933026955520183st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ( ( ord_less_eq_nat @ X3 @ ( size_s3451745648224563538omplex @ X ) )
                    & ! [I2: nat,J2: nat] :
                        ( ( ( ord_less_nat @ I2 @ X3 )
                          & ( ord_less_eq_nat @ X3 @ J2 )
                          & ( ord_less_nat @ J2 @ ( size_s3451745648224563538omplex @ X ) ) )
                       => ( ord_less_complex @ ( nth_complex @ X @ I2 ) @ ( nth_complex @ X @ J2 ) ) )
                    & ( commut1410864796179263225omplex @ ( drop_complex @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(3)
thf(fact_972_lst__diff_Opelims_I3_J,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_nat] :
      ( ~ ( commut981440707321766646at_nat @ X @ Xa )
     => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ nil_nat ) )
             => ( X = nil_Pr5478986624290739719at_nat ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P5328051967433407181st_nat @ commut3424622135553803921at_nat @ ( produc12284909214523920st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ( ( ord_less_eq_nat @ X3 @ ( size_s5460976970255530739at_nat @ X ) )
                    & ! [I2: nat,J2: nat] :
                        ( ( ( ord_less_nat @ I2 @ X3 )
                          & ( ord_less_eq_nat @ X3 @ J2 )
                          & ( ord_less_nat @ J2 @ ( size_s5460976970255530739at_nat @ X ) ) )
                       => ( ord_le1203424502768444845at_nat @ ( nth_Pr7617993195940197384at_nat @ X @ I2 ) @ ( nth_Pr7617993195940197384at_nat @ X @ J2 ) ) )
                    & ( commut981440707321766646at_nat @ ( drop_P8868858903918902087at_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(3)
thf(fact_973_lst__diff_Opelims_I3_J,axiom,
    ! [X: list_nat,Xa: list_nat] :
      ( ~ ( commut7647841724617136155ff_nat @ X @ Xa )
     => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ nil_nat ) )
             => ( X = nil_nat ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P8037286306265792042st_nat @ commut5232834205930541632el_nat @ ( produc2694037385005941721st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ( ( ord_less_eq_nat @ X3 @ ( size_size_list_nat @ X ) )
                    & ! [I2: nat,J2: nat] :
                        ( ( ( ord_less_nat @ I2 @ X3 )
                          & ( ord_less_eq_nat @ X3 @ J2 )
                          & ( ord_less_nat @ J2 @ ( size_size_list_nat @ X ) ) )
                       => ( ord_less_nat @ ( nth_nat @ X @ I2 ) @ ( nth_nat @ X @ J2 ) ) )
                    & ( commut7647841724617136155ff_nat @ ( drop_nat @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(3)
thf(fact_974_lst__diff_Opelims_I3_J,axiom,
    ! [X: list_a,Xa: list_nat] :
      ( ~ ( commuting_lst_diff_a @ X @ Xa )
     => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ Xa ) )
       => ( ( ( Xa = nil_nat )
           => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ nil_nat ) )
             => ( X = nil_a ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( accp_P3069379161693720650st_nat @ commut5096789157962719374_rel_a @ ( produc4792949784200893581st_nat @ X @ ( cons_nat @ X3 @ Xs2 ) ) )
                 => ( ( ord_less_eq_nat @ X3 @ ( size_size_list_a @ X ) )
                    & ! [I2: nat,J2: nat] :
                        ( ( ( ord_less_nat @ I2 @ X3 )
                          & ( ord_less_eq_nat @ X3 @ J2 )
                          & ( ord_less_nat @ J2 @ ( size_size_list_a @ X ) ) )
                       => ( ord_less_a @ ( nth_a @ X @ I2 ) @ ( nth_a @ X @ J2 ) ) )
                    & ( commuting_lst_diff_a @ ( drop_a @ X3 @ X ) @ Xs2 ) ) ) ) ) ) ) ).

% lst_diff.pelims(3)
thf(fact_975_nat__descend__induct,axiom,
    ! [N: nat,P2: nat > $o,M: nat] :
      ( ! [K2: nat] :
          ( ( ord_less_nat @ N @ K2 )
         => ( P2 @ K2 ) )
     => ( ! [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
           => ( ! [I3: nat] :
                  ( ( ord_less_nat @ K2 @ I3 )
                 => ( P2 @ I3 ) )
             => ( P2 @ K2 ) ) )
       => ( P2 @ M ) ) ) ).

% nat_descend_induct
thf(fact_976_splice_Opinduct,axiom,
    ! [A0: list_nat,A1: list_nat,P2: list_nat > list_nat > $o] :
      ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ A0 @ A1 ) )
     => ( ! [Ys2: list_nat] :
            ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
           => ( P2 @ nil_nat @ Ys2 ) )
       => ( ! [X3: nat,Xs2: list_nat,Ys2: list_nat] :
              ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 ) )
             => ( ( P2 @ Ys2 @ Xs2 )
               => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% splice.pinduct
thf(fact_977_splice_Opinduct,axiom,
    ! [A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat,P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o] :
      ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ A0 @ A1 ) )
     => ( ! [Ys2: list_P6011104703257516679at_nat] :
            ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
           => ( P2 @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
       => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
              ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 ) )
             => ( ( P2 @ Ys2 @ Xs2 )
               => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 ) ) )
         => ( P2 @ A0 @ A1 ) ) ) ) ).

% splice.pinduct
thf(fact_978_shuffles_Opinduct,axiom,
    ! [A0: list_nat,A1: list_nat,P2: list_nat > list_nat > $o] :
      ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ A0 @ A1 ) )
     => ( ! [Ys2: list_nat] :
            ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Ys2 ) )
           => ( P2 @ nil_nat @ Ys2 ) )
       => ( ! [Xs2: list_nat] :
              ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ Xs2 @ nil_nat ) )
             => ( P2 @ Xs2 @ nil_nat ) )
         => ( ! [X3: nat,Xs2: list_nat,Y2: nat,Ys2: list_nat] :
                ( ( accp_P8037286306265792042st_nat @ shuffles_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) )
               => ( ( P2 @ Xs2 @ ( cons_nat @ Y2 @ Ys2 ) )
                 => ( ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ Ys2 )
                   => ( P2 @ ( cons_nat @ X3 @ Xs2 ) @ ( cons_nat @ Y2 @ Ys2 ) ) ) ) )
           => ( P2 @ A0 @ A1 ) ) ) ) ) ).

% shuffles.pinduct
thf(fact_979_shuffles_Opinduct,axiom,
    ! [A0: list_P6011104703257516679at_nat,A1: list_P6011104703257516679at_nat,P2: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o] :
      ( ( accp_P7052990409830227952at_nat @ shuffl479420286952424683at_nat @ ( produc5943733680697469783at_nat @ A0 @ A1 ) )
     => ( ! [Ys2: list_P6011104703257516679at_nat] :
            ( ( accp_P7052990409830227952at_nat @ shuffl479420286952424683at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
           => ( P2 @ nil_Pr5478986624290739719at_nat @ Ys2 ) )
       => ( ! [Xs2: list_P6011104703257516679at_nat] :
              ( ( accp_P7052990409830227952at_nat @ shuffl479420286952424683at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ nil_Pr5478986624290739719at_nat ) )
             => ( P2 @ Xs2 @ nil_Pr5478986624290739719at_nat ) )
         => ( ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat] :
                ( ( accp_P7052990409830227952at_nat @ shuffl479420286952424683at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) )
               => ( ( P2 @ Xs2 @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) )
                 => ( ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Ys2 )
                   => ( P2 @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys2 ) ) ) ) )
           => ( P2 @ A0 @ A1 ) ) ) ) ) ).

% shuffles.pinduct
thf(fact_980_basic__trans__rules_I22_J,axiom,
    ! [X: nat,Y4: nat,Z2: nat] :
      ( ( ord_less_nat @ X @ Y4 )
     => ( ( ord_less_eq_nat @ Y4 @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(22)
thf(fact_981_basic__trans__rules_I21_J,axiom,
    ! [X: nat,Y4: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y4 )
     => ( ( ord_less_nat @ Y4 @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(21)
thf(fact_982_basic__trans__rules_I7_J,axiom,
    ! [A: nat,B: nat,F2: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F2 @ B ) @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_eq_nat @ ( F2 @ A ) @ C ) ) ) ) ).

% basic_trans_rules(7)
thf(fact_983_basic__trans__rules_I8_J,axiom,
    ! [A: nat,F2: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F2 @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_eq_nat @ A @ ( F2 @ C ) ) ) ) ) ).

% basic_trans_rules(8)
thf(fact_984_basic__trans__rules_I9_J,axiom,
    ! [A: nat,B: nat,F2: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F2 @ B )
          = C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_eq_nat @ ( F2 @ A ) @ C ) ) ) ) ).

% basic_trans_rules(9)
thf(fact_985_basic__trans__rules_I10_J,axiom,
    ! [A: nat,F2: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F2 @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_eq_nat @ A @ ( F2 @ C ) ) ) ) ) ).

% basic_trans_rules(10)
thf(fact_986_basic__trans__rules_I23_J,axiom,
    ! [X: nat,Y4: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y4 )
     => ( ( ord_less_eq_nat @ Y4 @ Z2 )
       => ( ord_less_eq_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(23)
thf(fact_987_basic__trans__rules_I24_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( A = B ) ) ) ).

% basic_trans_rules(24)
thf(fact_988_basic__trans__rules_I25_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% basic_trans_rules(25)
thf(fact_989_basic__trans__rules_I26_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% basic_trans_rules(26)
thf(fact_990_basic__trans__rules_I3_J,axiom,
    ! [A: nat,B: nat,F2: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F2 @ B ) @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_nat @ ( F2 @ A ) @ C ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_991_basic__trans__rules_I4_J,axiom,
    ! [A: nat,F2: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F2 @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_nat @ X3 @ Y2 )
             => ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_nat @ A @ ( F2 @ C ) ) ) ) ) ).

% basic_trans_rules(4)
thf(fact_992_basic__trans__rules_I5_J,axiom,
    ! [A: nat,B: nat,F2: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F2 @ B ) @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_nat @ X3 @ Y2 )
             => ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_nat @ ( F2 @ A ) @ C ) ) ) ) ).

% basic_trans_rules(5)
thf(fact_993_basic__trans__rules_I6_J,axiom,
    ! [A: nat,F2: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F2 @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y2: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y2 )
             => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) )
         => ( ord_less_nat @ A @ ( F2 @ C ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_994_basic__trans__rules_I17_J,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% basic_trans_rules(17)
thf(fact_995_basic__trans__rules_I18_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% basic_trans_rules(18)
thf(fact_996_splice_Opelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y4: list_nat] :
      ( ( ( splice_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ X @ Xa ) )
       => ( ( ( X = nil_nat )
           => ( ( Y4 = Xa )
             => ~ ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ nil_nat @ Xa ) ) ) )
         => ~ ! [X3: nat,Xs2: list_nat] :
                ( ( X
                  = ( cons_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( cons_nat @ X3 @ ( splice_nat @ Xa @ Xs2 ) ) )
                 => ~ ( accp_P8037286306265792042st_nat @ splice_rel_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X3 @ Xs2 ) @ Xa ) ) ) ) ) ) ) ).

% splice.pelims
thf(fact_997_splice_Opelims,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( splice938226673677627610at_nat @ X @ Xa )
        = Y4 )
     => ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ X @ Xa ) )
       => ( ( ( X = nil_Pr5478986624290739719at_nat )
           => ( ( Y4 = Xa )
             => ~ ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Xa ) ) ) )
         => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
                ( ( X
                  = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
               => ( ( Y4
                    = ( cons_P6512896166579812791at_nat @ X3 @ ( splice938226673677627610at_nat @ Xa @ Xs2 ) ) )
                 => ~ ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) @ Xa ) ) ) ) ) ) ) ).

% splice.pelims
thf(fact_998_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_999_splice_Opsimps_I1_J,axiom,
    ! [Ys: list_P6011104703257516679at_nat] :
      ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ nil_Pr5478986624290739719at_nat @ Ys ) )
     => ( ( splice938226673677627610at_nat @ nil_Pr5478986624290739719at_nat @ Ys )
        = Ys ) ) ).

% splice.psimps(1)
thf(fact_1000_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_1001_splice_Opsimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( accp_P7052990409830227952at_nat @ splice425205989056337325at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys ) )
     => ( ( splice938226673677627610at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
        = ( cons_P6512896166579812791at_nat @ X @ ( splice938226673677627610at_nat @ Ys @ Xs ) ) ) ) ).

% splice.psimps(2)
thf(fact_1002_order__le__imp__less__or__eq,axiom,
    ! [X: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ X @ Y4 )
     => ( ( ord_less_nat @ X @ Y4 )
        | ( X = Y4 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_1003_psubset__imp__ex__mem,axiom,
    ! [A2: set_mat_a,B4: set_mat_a] :
      ( ( ord_less_set_mat_a @ A2 @ B4 )
     => ? [B2: mat_a] : ( member_mat_a @ B2 @ ( minus_4757590266979429866_mat_a @ B4 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_1004_psubset__imp__ex__mem,axiom,
    ! [A2: set_mat_complex,B4: set_mat_complex] :
      ( ( ord_le5598786136212072115omplex @ A2 @ B4 )
     => ? [B2: mat_complex] : ( member_mat_complex @ B2 @ ( minus_8760755521168068590omplex @ B4 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_1005_Diff__iff,axiom,
    ! [C: mat_a,A2: set_mat_a,B4: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A2 @ B4 ) )
      = ( ( member_mat_a @ C @ A2 )
        & ~ ( member_mat_a @ C @ B4 ) ) ) ).

% Diff_iff
thf(fact_1006_Diff__iff,axiom,
    ! [C: mat_complex,A2: set_mat_complex,B4: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A2 @ B4 ) )
      = ( ( member_mat_complex @ C @ A2 )
        & ~ ( member_mat_complex @ C @ B4 ) ) ) ).

% Diff_iff
thf(fact_1007_DiffD2,axiom,
    ! [C: mat_a,A2: set_mat_a,B4: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A2 @ B4 ) )
     => ~ ( member_mat_a @ C @ B4 ) ) ).

% DiffD2
thf(fact_1008_DiffD2,axiom,
    ! [C: mat_complex,A2: set_mat_complex,B4: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A2 @ B4 ) )
     => ~ ( member_mat_complex @ C @ B4 ) ) ).

% DiffD2
thf(fact_1009_DiffD1,axiom,
    ! [C: mat_a,A2: set_mat_a,B4: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A2 @ B4 ) )
     => ( member_mat_a @ C @ A2 ) ) ).

% DiffD1
thf(fact_1010_DiffD1,axiom,
    ! [C: mat_complex,A2: set_mat_complex,B4: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A2 @ B4 ) )
     => ( member_mat_complex @ C @ A2 ) ) ).

% DiffD1
thf(fact_1011_DiffI,axiom,
    ! [C: mat_a,A2: set_mat_a,B4: set_mat_a] :
      ( ( member_mat_a @ C @ A2 )
     => ( ~ ( member_mat_a @ C @ B4 )
       => ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A2 @ B4 ) ) ) ) ).

% DiffI
thf(fact_1012_DiffI,axiom,
    ! [C: mat_complex,A2: set_mat_complex,B4: set_mat_complex] :
      ( ( member_mat_complex @ C @ A2 )
     => ( ~ ( member_mat_complex @ C @ B4 )
       => ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A2 @ B4 ) ) ) ) ).

% DiffI
thf(fact_1013_DiffE,axiom,
    ! [C: mat_a,A2: set_mat_a,B4: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A2 @ B4 ) )
     => ~ ( ( member_mat_a @ C @ A2 )
         => ( member_mat_a @ C @ B4 ) ) ) ).

% DiffE
thf(fact_1014_DiffE,axiom,
    ! [C: mat_complex,A2: set_mat_complex,B4: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A2 @ B4 ) )
     => ~ ( ( member_mat_complex @ C @ A2 )
         => ( member_mat_complex @ C @ B4 ) ) ) ).

% DiffE
thf(fact_1015_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_1016_splice_Osimps_I2_J,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( splice938226673677627610at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ Ys )
      = ( cons_P6512896166579812791at_nat @ X @ ( splice938226673677627610at_nat @ Ys @ Xs ) ) ) ).

% splice.simps(2)
thf(fact_1017_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_1018_split__Nil__iff,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( splice938226673677627610at_nat @ Xs @ Ys )
        = nil_Pr5478986624290739719at_nat )
      = ( ( Xs = nil_Pr5478986624290739719at_nat )
        & ( Ys = nil_Pr5478986624290739719at_nat ) ) ) ).

% split_Nil_iff
thf(fact_1019_splice__Nil2,axiom,
    ! [Xs: list_nat] :
      ( ( splice_nat @ Xs @ nil_nat )
      = Xs ) ).

% splice_Nil2
thf(fact_1020_splice__Nil2,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( splice938226673677627610at_nat @ Xs @ nil_Pr5478986624290739719at_nat )
      = Xs ) ).

% splice_Nil2
thf(fact_1021_splice_Osimps_I1_J,axiom,
    ! [Ys: list_nat] :
      ( ( splice_nat @ nil_nat @ Ys )
      = Ys ) ).

% splice.simps(1)
thf(fact_1022_splice_Osimps_I1_J,axiom,
    ! [Ys: list_P6011104703257516679at_nat] :
      ( ( splice938226673677627610at_nat @ nil_Pr5478986624290739719at_nat @ Ys )
      = Ys ) ).

% splice.simps(1)
thf(fact_1023_splice_Oelims,axiom,
    ! [X: list_nat,Xa: list_nat,Y4: list_nat] :
      ( ( ( splice_nat @ X @ Xa )
        = Y4 )
     => ( ( ( X = nil_nat )
         => ( Y4 != Xa ) )
       => ~ ! [X3: nat,Xs2: list_nat] :
              ( ( X
                = ( cons_nat @ X3 @ Xs2 ) )
             => ( Y4
               != ( cons_nat @ X3 @ ( splice_nat @ Xa @ Xs2 ) ) ) ) ) ) ).

% splice.elims
thf(fact_1024_splice_Oelims,axiom,
    ! [X: list_P6011104703257516679at_nat,Xa: list_P6011104703257516679at_nat,Y4: list_P6011104703257516679at_nat] :
      ( ( ( splice938226673677627610at_nat @ X @ Xa )
        = Y4 )
     => ( ( ( X = nil_Pr5478986624290739719at_nat )
         => ( Y4 != Xa ) )
       => ~ ! [X3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( X
                = ( cons_P6512896166579812791at_nat @ X3 @ Xs2 ) )
             => ( Y4
               != ( cons_P6512896166579812791at_nat @ X3 @ ( splice938226673677627610at_nat @ Xa @ Xs2 ) ) ) ) ) ) ).

% splice.elims
thf(fact_1025_linear,axiom,
    ! [X: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ X @ Y4 )
      | ( ord_less_eq_nat @ Y4 @ X ) ) ).

% linear
thf(fact_1026_nle__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_eq_nat @ A @ B ) )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( B != A ) ) ) ).

% nle_le
thf(fact_1027_eq__refl,axiom,
    ! [X: nat,Y4: nat] :
      ( ( X = Y4 )
     => ( ord_less_eq_nat @ X @ Y4 ) ) ).

% eq_refl
thf(fact_1028_le__cases,axiom,
    ! [X: nat,Y4: nat] :
      ( ~ ( ord_less_eq_nat @ X @ Y4 )
     => ( ord_less_eq_nat @ Y4 @ X ) ) ).

% le_cases
thf(fact_1029_le__cases3,axiom,
    ! [X: nat,Y4: nat,Z2: nat] :
      ( ( ( ord_less_eq_nat @ X @ Y4 )
       => ~ ( ord_less_eq_nat @ Y4 @ Z2 ) )
     => ( ( ( ord_less_eq_nat @ Y4 @ X )
         => ~ ( ord_less_eq_nat @ X @ Z2 ) )
       => ( ( ( ord_less_eq_nat @ X @ Z2 )
           => ~ ( ord_less_eq_nat @ Z2 @ Y4 ) )
         => ( ( ( ord_less_eq_nat @ Z2 @ Y4 )
             => ~ ( ord_less_eq_nat @ Y4 @ X ) )
           => ( ( ( ord_less_eq_nat @ Y4 @ Z2 )
               => ~ ( ord_less_eq_nat @ Z2 @ X ) )
             => ~ ( ( ord_less_eq_nat @ Z2 @ X )
                 => ~ ( ord_less_eq_nat @ X @ Y4 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_1030_antisym__conv,axiom,
    ! [Y4: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y4 @ X )
     => ( ( ord_less_eq_nat @ X @ Y4 )
        = ( X = Y4 ) ) ) ).

% antisym_conv
thf(fact_1031_order_Oeq__iff,axiom,
    ( ( ^ [Y3: nat,Z: nat] : ( Y3 = Z ) )
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ A5 @ B5 )
          & ( ord_less_eq_nat @ B5 @ A5 ) ) ) ) ).

% order.eq_iff
thf(fact_1032_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y3: nat,Z: nat] : ( Y3 = Z ) )
    = ( ^ [X2: nat,Y: nat] :
          ( ( ord_less_eq_nat @ X2 @ Y )
          & ( ord_less_eq_nat @ Y @ X2 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_1033_order__antisym,axiom,
    ! [X: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ X @ Y4 )
     => ( ( ord_less_eq_nat @ Y4 @ X )
       => ( X = Y4 ) ) ) ).

% order_antisym
thf(fact_1034_order_Orefl,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% order.refl
thf(fact_1035_order__refl,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ X @ X ) ).

% order_refl
thf(fact_1036_order_Otrans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_1037_linorder__wlog,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A3 @ B2 )
         => ( P2 @ A3 @ B2 ) )
     => ( ! [A3: nat,B2: nat] :
            ( ( P2 @ B2 @ A3 )
           => ( P2 @ A3 @ B2 ) )
       => ( P2 @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_1038_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y3: nat,Z: nat] : ( Y3 = Z ) )
    = ( ^ [A5: nat,B5: nat] :
          ( ( ord_less_eq_nat @ B5 @ A5 )
          & ( ord_less_eq_nat @ A5 @ B5 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_1039_dual__order_Oantisym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_1040_diffs0__imp__equal,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M )
          = zero_zero_nat )
       => ( M = N ) ) ) ).

% diffs0_imp_equal
thf(fact_1041_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

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

% diff_0_eq_0
thf(fact_1043_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_1044_mult__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ( times_times_nat @ M @ K )
        = ( times_times_nat @ N @ K ) )
      = ( ( M = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel2
thf(fact_1045_mult__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M )
        = ( times_times_nat @ K @ N ) )
      = ( ( M = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel1
thf(fact_1046_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_1047_mult__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        | ( N = zero_zero_nat ) ) ) ).

% mult_is_0
thf(fact_1048_mult__0,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% mult_0
thf(fact_1049_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_1050_infinite__descent0,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P2 @ N3 )
             => ? [M5: nat] :
                  ( ( ord_less_nat @ M5 @ N3 )
                  & ~ ( P2 @ M5 ) ) ) )
       => ( P2 @ N ) ) ) ).

% infinite_descent0
thf(fact_1051_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_1052_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_1053_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_1054_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_1055_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_1056_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_1057_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_1058_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_1059_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_1060_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_1061_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_1062_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_1063_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1064_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_1065_ex__least__nat__le,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K2 )
               => ~ ( P2 @ I3 ) )
            & ( P2 @ K2 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1066_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_1067_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_1068_nat__0__less__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_1069_mult__less__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel2
thf(fact_1070_mult__less__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel1
thf(fact_1071_mult__less__mono2,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_nat @ ( times_times_nat @ K @ I ) @ ( times_times_nat @ K @ J ) ) ) ) ).

% mult_less_mono2
thf(fact_1072_mult__less__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_nat @ ( times_times_nat @ I @ K ) @ ( times_times_nat @ J @ K ) ) ) ) ).

% mult_less_mono1
thf(fact_1073_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_1074_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_1075_mult__le__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel2
thf(fact_1076_mult__le__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel1
thf(fact_1077_nat__mult__le__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ord_less_eq_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
        = ( ord_less_eq_nat @ M @ N ) ) ) ).

% nat_mult_le_cancel1
thf(fact_1078_nat__mult__eq__cancel__disj,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M )
        = ( times_times_nat @ K @ N ) )
      = ( ( K = zero_zero_nat )
        | ( M = N ) ) ) ).

% nat_mult_eq_cancel_disj
thf(fact_1079_nat__mult__eq__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ( times_times_nat @ K @ M )
          = ( times_times_nat @ K @ N ) )
        = ( M = N ) ) ) ).

% nat_mult_eq_cancel1
thf(fact_1080_nat__mult__less__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ord_less_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
        = ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel1
thf(fact_1081_sorted__wrt__less__idx,axiom,
    ! [Ns: list_nat,I: nat] :
      ( ( sorted_wrt_nat @ ord_less_nat @ Ns )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ns ) )
       => ( ord_less_eq_nat @ I @ ( nth_nat @ Ns @ I ) ) ) ) ).

% sorted_wrt_less_idx
thf(fact_1082_extract__subdiags__comp__commute,axiom,
    ! [A2: mat_complex,N: nat,I: nat,B4: mat_complex] :
      ( ( diagonal_mat_complex @ A2 )
     => ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ( ord_less_nat @ I @ ( size_size_list_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A2 ) ) ) )
           => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ ( nth_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A2 ) ) @ I ) @ ( nth_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A2 ) ) @ I ) ) )
             => ( ( times_8009071140041733218omplex @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ A2 @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A2 ) ) ) @ I ) @ B4 )
                = ( times_8009071140041733218omplex @ B4 @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ A2 @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A2 ) ) ) @ I ) ) ) ) ) ) ) ) ).

% extract_subdiags_comp_commute
thf(fact_1083_mat__assoc__test_I1_J,axiom,
    ! [A2: mat_complex,N: nat,B4: mat_complex,C3: mat_complex,D3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C3 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ ( times_8009071140041733218omplex @ C3 @ D3 ) )
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ C3 ) @ D3 ) ) ) ) ) ) ).

% mat_assoc_test(1)
thf(fact_1084_mat__assoc__test_I9_J,axiom,
    ! [A2: mat_complex,N: nat,B4: mat_complex,C3: mat_complex,D3: mat_complex] :
      ( ( member_mat_complex @ A2 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C3 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D3 @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ ( minus_2412168080157227406omplex @ B4 @ C3 ) ) @ D3 )
              = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ B4 ) @ D3 ) @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A2 @ C3 ) @ D3 ) ) ) ) ) ) ) ).

% mat_assoc_test(9)
thf(fact_1085_extract__subdiags__diag__elem,axiom,
    ! [B4: mat_complex,N: nat,L: list_nat,I: nat,J: nat] :
      ( ( member_mat_complex @ B4 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( L != nil_nat )
         => ( ( ord_less_nat @ I @ ( size_size_list_nat @ L ) )
           => ( ( ord_less_nat @ J @ ( nth_nat @ L @ I ) )
             => ( ( ord_less_eq_nat @ ( groups4561878855575611511st_nat @ L ) @ N )
               => ( ! [J2: nat] :
                      ( ( ord_less_nat @ J2 @ ( size_size_list_nat @ L ) )
                     => ( ord_less_nat @ zero_zero_nat @ ( nth_nat @ L @ J2 ) ) )
                 => ( ( index_mat_complex @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ B4 @ L ) @ I ) @ ( product_Pair_nat_nat @ J @ J ) )
                    = ( nth_complex @ ( diag_mat_complex @ B4 ) @ ( plus_plus_nat @ ( commut2019222099004354946um_nat @ I @ L ) @ J ) ) ) ) ) ) ) ) ) ) ).

% extract_subdiags_diag_elem
thf(fact_1086_diff__add__0,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_1087_less__diff__conv,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ).

% less_diff_conv
thf(fact_1088_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_1089_le__diff__conv,axiom,
    ! [J: nat,K: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ).

% le_diff_conv
thf(fact_1090_Nat_Ole__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1091_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1092_Nat_Odiff__add__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1093_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1094_Nat_Odiff__add__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1095_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1096_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K )
        = ( J
          = ( plus_plus_nat @ K @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1097_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_1098_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_1099_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_1100_diff__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_1101_Nat_Odiff__cancel,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_1102_nat__add__left__cancel__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_1103_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M4: nat,N2: nat] :
        ? [K6: nat] :
          ( N2
          = ( plus_plus_nat @ M4 @ K6 ) ) ) ) ).

% nat_le_iff_add
thf(fact_1104_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_1105_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_1106_add__le__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_le_mono1
thf(fact_1107_add__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_le_mono
thf(fact_1108_le__Suc__ex,axiom,
    ! [K: nat,L: nat] :
      ( ( ord_less_eq_nat @ K @ L )
     => ? [N3: nat] :
          ( L
          = ( plus_plus_nat @ K @ N3 ) ) ) ).

% le_Suc_ex
thf(fact_1109_add__leD2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_1110_add__leD1,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_1111_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_1112_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_1113_add__leE,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE

% Helper facts (3)
thf(help_If_3_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [P2: $o] :
      ( ( P2 = $true )
      | ( P2 = $false ) ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y4: list_nat] :
      ( ( if_list_nat @ $false @ X @ Y4 )
      = Y4 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y4: list_nat] :
      ( ( if_list_nat @ $true @ X @ Y4 )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( diag_mat_a @ d4 )
    = ( drop_a @ a2 @ ( diag_mat_a @ da ) ) ) ).

%------------------------------------------------------------------------------