TPTP Problem File: SLH0396^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_03353_134586__19688462_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1319 ( 535 unt; 262 typ;   0 def)
%            Number of atoms       : 2636 (1493 equ;   0 cnn)
%            Maximal formula atoms :   18 (   2 avg)
%            Number of connectives : 9867 ( 307   ~;  42   |; 133   &;8083   @)
%                                         (   0 <=>;1302  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   6 avg)
%            Number of types       :   28 (  27 usr)
%            Number of type conns  :  788 ( 788   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  238 ( 235 usr;  29 con; 0-5 aty)
%            Number of variables   : 3016 ( 185   ^;2733   !;  98   ?;3016   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 11:38:57.804
%------------------------------------------------------------------------------
% Could-be-implicit typings (27)
thf(ty_n_t__List__Olist_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    list_l5436439031154120755omplex: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    set_mat_mat_complex: $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__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__Matrix__Omat_It__Matrix__Omat_Itf__a_J_J_J,type,
    set_mat_mat_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__Matrix__Omat_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    mat_mat_complex: $tType ).

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

thf(ty_n_t__Set__Oset_It__Matrix__Ovec_It__Complex__Ocomplex_J_J,type,
    set_vec_complex: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    set_mat_complex: $tType ).

thf(ty_n_t__List__Olist_It__Matrix__Omat_It__Nat__Onat_J_J,type,
    list_mat_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Nat__Onat_J_J,type,
    set_mat_nat: $tType ).

thf(ty_n_t__Matrix__Omat_It__Matrix__Omat_Itf__a_J_J,type,
    mat_mat_a: $tType ).

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

thf(ty_n_t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    set_mat_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__Set__Oset_It__Complex__Ocomplex_J,type,
    set_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 (235)
thf(sy_c_Column__Operations_Oadd__col__sub__row_001t__Complex__Ocomplex,type,
    column6029646570091773654omplex: complex > nat > nat > mat_complex > mat_complex ).

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

thf(sy_c_Commuting__Hermitian_Odiag__compat_001tf__a,type,
    commut3805009435888488104mpat_a: mat_a > 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_Oeq__comps_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    commut5736191610077499254omplex: list_mat_complex > list_nat ).

thf(sy_c_Commuting__Hermitian_Oeq__comps_001t__Matrix__Omat_Itf__a_J,type,
    commut861362805798584524_mat_a: list_mat_a > list_nat ).

thf(sy_c_Commuting__Hermitian_Oeq__comps_001t__Nat__Onat,type,
    commut2436974278740741825ps_nat: list_nat > list_nat ).

thf(sy_c_Commuting__Hermitian_Oeq__comps_001tf__a,type,
    commuting_eq_comps_a: list_a > list_nat ).

thf(sy_c_Commuting__Hermitian_Oeq__comps__rel_001t__Complex__Ocomplex,type,
    commut5384305104226550776omplex: list_complex > list_complex > $o ).

thf(sy_c_Commuting__Hermitian_Oeq__comps__rel_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    commut7557203520794418141omplex: list_mat_complex > list_mat_complex > $o ).

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

thf(sy_c_Commuting__Hermitian_Oextract__subdiags_001tf__a,type,
    commut2531942506349284476iags_a: mat_a > list_nat > list_mat_a ).

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_Oper__diag_001t__Complex__Ocomplex,type,
    commut4119912100034661455omplex: mat_complex > ( nat > nat ) > mat_complex ).

thf(sy_c_Commuting__Hermitian_Oper__diag_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    commut3385207333667201222omplex: mat_mat_complex > ( nat > nat ) > mat_mat_complex ).

thf(sy_c_Commuting__Hermitian_Oper__diag_001t__Matrix__Omat_Itf__a_J,type,
    commut4845697108357530492_mat_a: mat_mat_a > ( nat > nat ) > mat_mat_a ).

thf(sy_c_Commuting__Hermitian_Oper__diag_001t__Nat__Onat,type,
    commut5604902300900073841ag_nat: mat_nat > ( nat > nat ) > mat_nat ).

thf(sy_c_Commuting__Hermitian_Oper__diag_001tf__a,type,
    commuting_per_diag_a: mat_a > ( nat > nat ) > mat_a ).

thf(sy_c_Complex__Matrix_Odensity__operator,type,
    comple5220265106149225959erator: mat_complex > $o ).

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

thf(sy_c_Complex__Matrix_Ounitary_001t__Complex__Ocomplex,type,
    comple6660659447773130958omplex: mat_complex > $o ).

thf(sy_c_Determinant_Odelete__index,type,
    delete_index: nat > nat > nat ).

thf(sy_c_Determinant_Omat__delete_001t__Complex__Ocomplex,type,
    mat_delete_complex: mat_complex > nat > nat > mat_complex ).

thf(sy_c_Determinant_Omat__delete_001tf__a,type,
    mat_delete_a: mat_a > nat > nat > mat_a ).

thf(sy_c_Determinant_Opermutation__delete,type,
    permutation_delete: ( nat > nat ) > nat > nat > nat ).

thf(sy_c_Determinant_Opermutation__insert_001t__Complex__Ocomplex,type,
    permut138581522262023397omplex: complex > nat > ( complex > nat ) > complex > nat ).

thf(sy_c_Determinant_Opermutation__insert_001t__Nat__Onat,type,
    permut3695043542826343943rt_nat: nat > nat > ( nat > nat ) > nat > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_M_Eo_J,type,
    minus_6091799863187062411at_a_o: ( list_mat_a > $o ) > ( list_mat_a > $o ) > list_mat_a > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Matrix__Omat_It__Complex__Ocomplex_J_M_Eo_J,type,
    minus_3373970217925266543plex_o: ( mat_complex > $o ) > ( mat_complex > $o ) > mat_complex > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Matrix__Omat_Itf__a_J_M_Eo_J,type,
    minus_minus_mat_a_o: ( mat_a > $o ) > ( mat_a > $o ) > mat_a > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Nat__Onat_M_Eo_J,type,
    minus_minus_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Complex__Ocomplex,type,
    minus_minus_complex: complex > complex > complex ).

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__Set__Oset_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    minus_2745209628418873978_mat_a: set_list_mat_a > set_list_mat_a > set_list_mat_a ).

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_Ominus__class_Ominus_001t__Set__Oset_It__Nat__Onat_J,type,
    minus_minus_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Complex__Ocomplex,type,
    one_one_complex: complex ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Complex__Ocomplex,type,
    plus_plus_complex: complex > complex > complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    plus_p8323303612493835998omplex: mat_complex > mat_complex > mat_complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Matrix__Omat_Itf__a_J,type,
    plus_plus_mat_a: mat_a > mat_a > mat_a ).

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

thf(sy_c_Groups_Oplus__class_Oplus_001tf__a,type,
    plus_plus_a: a > a > a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Complex__Ocomplex,type,
    times_times_complex: complex > complex > complex ).

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__Matrix__Omat_It__Nat__Onat_J,type,
    times_times_mat_nat: mat_nat > mat_nat > mat_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Matrix__Omat_Itf__a_J,type,
    times_times_mat_a: mat_a > mat_a > mat_a ).

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

thf(sy_c_Groups_Otimes__class_Otimes_001tf__a,type,
    times_times_a: a > a > a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001_062_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_M_Eo_J,type,
    uminus3146574562106390299at_a_o: ( list_mat_a > $o ) > list_mat_a > $o ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001_062_It__Matrix__Omat_It__Complex__Ocomplex_J_M_Eo_J,type,
    uminus4972024321359112159plex_o: ( mat_complex > $o ) > mat_complex > $o ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001_062_It__Matrix__Omat_Itf__a_J_M_Eo_J,type,
    uminus3675660938536137131at_a_o: ( mat_a > $o ) > mat_a > $o ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001_062_It__Nat__Onat_M_Eo_J,type,
    uminus_uminus_nat_o: ( nat > $o ) > nat > $o ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Complex__Ocomplex,type,
    uminus1482373934393186551omplex: complex > complex ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    uminus467866341702955550omplex: mat_complex > mat_complex ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    uminus1627440288842321386_mat_a: set_list_mat_a > set_list_mat_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    uminus5815530220087396478omplex: set_mat_complex > set_mat_complex ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    uminus1296375033039821146_mat_a: set_mat_a > set_mat_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Nat__Onat_J,type,
    uminus5710092332889474511et_nat: set_nat > set_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Complex__Ocomplex,type,
    zero_zero_complex: complex ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_If_001t__Complex__Ocomplex,type,
    if_complex: $o > complex > complex > complex ).

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

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

thf(sy_c_Jordan__Normal__Form__Existence_Oinv__all_H_001t__Complex__Ocomplex,type,
    jordan5032732407113867375omplex: ( mat_complex > nat > nat > $o ) > mat_complex > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__1_001t__Complex__Ocomplex,type,
    jordan2017415923357163885omplex: mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__1__main_001t__Complex__Ocomplex,type,
    jordan9130142659770429862omplex: nat > nat > nat > mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__2_001t__Complex__Ocomplex,type,
    jordan7871273693253786478omplex: mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__2__main_001t__Complex__Ocomplex,type,
    jordan6916311984355858983omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__3_001t__Complex__Ocomplex,type,
    jordan4501759426295633263omplex: mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__3__a_001t__Complex__Ocomplex,type,
    jordan2858886415929732048omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__3__c_001t__Complex__Ocomplex,type,
    jordan5343229918868201426omplex: complex > nat > nat > list_P6011104703257516679at_nat > mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__3__c__inner__loop_001t__Complex__Ocomplex,type,
    jordan7656109678144820486omplex: complex > nat > nat > nat > mat_complex > mat_complex ).

thf(sy_c_Jordan__Normal__Form__Existence_Ostep__3__main_001t__Complex__Ocomplex,type,
    jordan4702481308941288104omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Linear__Algebra__Complements_Ocpx__sq__mat__axioms,type,
    linear2040860143340867312axioms: nat > nat > $o ).

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

thf(sy_c_List_Obutlast_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    butlast_mat_complex: list_mat_complex > list_mat_complex ).

thf(sy_c_List_Obutlast_001t__Matrix__Omat_Itf__a_J,type,
    butlast_mat_a: list_mat_a > list_mat_a ).

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

thf(sy_c_List_Ogen__length_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    gen_le107826107610854458omplex: nat > list_mat_complex > nat ).

thf(sy_c_List_Ogen__length_001t__Matrix__Omat_Itf__a_J,type,
    gen_length_mat_a: nat > list_mat_a > nat ).

thf(sy_c_List_Ogen__length_001t__Nat__Onat,type,
    gen_length_nat: nat > list_nat > nat ).

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__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    cons_l4198107141827137507omplex: list_mat_complex > list_l5436439031154120755omplex > list_l5436439031154120755omplex ).

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_ONil_001t__Complex__Ocomplex,type,
    nil_complex: list_complex ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    nil_list_mat_complex: list_l5436439031154120755omplex ).

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_Ocase__list_001_Eo_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    case_l1221455599337119861omplex: $o > ( mat_complex > list_mat_complex > $o ) > list_mat_complex > $o ).

thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    case_l3703368812846972192omplex: list_mat_complex > ( mat_complex > list_mat_complex > list_mat_complex ) > list_mat_complex > list_mat_complex ).

thf(sy_c_List_Olist_Ohd_001t__Complex__Ocomplex,type,
    hd_complex: list_complex > complex ).

thf(sy_c_List_Olist_Ohd_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    hd_mat_complex: list_mat_complex > mat_complex ).

thf(sy_c_List_Olist_Ohd_001t__Matrix__Omat_Itf__a_J,type,
    hd_mat_a: list_mat_a > mat_a ).

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

thf(sy_c_List_Olist_Olist__all_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    list_all_mat_complex: ( mat_complex > $o ) > list_mat_complex > $o ).

thf(sy_c_List_Olist_Olist__all_001t__Matrix__Omat_Itf__a_J,type,
    list_all_mat_a: ( mat_a > $o ) > list_mat_a > $o ).

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

thf(sy_c_List_Olist_Otl_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    tl_mat_complex: list_mat_complex > list_mat_complex ).

thf(sy_c_List_Olist_Otl_001t__Matrix__Omat_Itf__a_J,type,
    tl_mat_a: list_mat_a > list_mat_a ).

thf(sy_c_List_Olist_Otl_001t__Nat__Onat,type,
    tl_nat: list_nat > list_nat ).

thf(sy_c_List_Olist__ex1_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    list_ex1_mat_complex: ( mat_complex > $o ) > list_mat_complex > $o ).

thf(sy_c_List_Olist__ex_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    list_ex_mat_complex: ( mat_complex > $o ) > list_mat_complex > $o ).

thf(sy_c_List_Olist__ex_001t__Matrix__Omat_Itf__a_J,type,
    list_ex_mat_a: ( mat_a > $o ) > list_mat_a > $o ).

thf(sy_c_List_Olist__ex_001t__Nat__Onat,type,
    list_ex_nat: ( nat > $o ) > list_nat > $o ).

thf(sy_c_List_On__lists_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    n_lists_mat_complex: nat > list_mat_complex > list_l5436439031154120755omplex ).

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__Matrix__Omat_It__Nat__Onat_J,type,
    nth_mat_nat: list_mat_nat > nat > mat_nat ).

thf(sy_c_List_Onth_001t__Matrix__Omat_Itf__a_J,type,
    nth_mat_a: list_mat_a > nat > mat_a ).

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

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

thf(sy_c_List_Oproduct__lists_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc3473099730217715734omplex: list_l5436439031154120755omplex > list_l5436439031154120755omplex ).

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

thf(sy_c_Matrix_Ocarrier__mat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    carrie8442657464762054641omplex: nat > nat > set_mat_mat_complex ).

thf(sy_c_Matrix_Ocarrier__mat_001t__Matrix__Omat_Itf__a_J,type,
    carrier_mat_mat_a: nat > nat > set_mat_mat_a ).

thf(sy_c_Matrix_Ocarrier__mat_001t__Nat__Onat,type,
    carrier_mat_nat: nat > nat > set_mat_nat ).

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

thf(sy_c_Matrix_Odiag__block__mat_001t__Complex__Ocomplex,type,
    diag_b9145358668110806138omplex: list_mat_complex > mat_complex ).

thf(sy_c_Matrix_Odiag__block__mat_001t__Nat__Onat,type,
    diag_block_mat_nat: list_mat_nat > mat_nat ).

thf(sy_c_Matrix_Odiag__block__mat_001tf__a,type,
    diag_block_mat_a: list_mat_a > 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__Matrix__Omat_It__Complex__Ocomplex_J,type,
    diag_mat_mat_complex: mat_mat_complex > list_mat_complex ).

thf(sy_c_Matrix_Odiag__mat_001t__Matrix__Omat_Itf__a_J,type,
    diag_mat_mat_a: mat_mat_a > list_mat_a ).

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_Odiagonal__mat_001tf__a,type,
    diagonal_mat_a: mat_a > $o ).

thf(sy_c_Matrix_Odim__col_001t__Complex__Ocomplex,type,
    dim_col_complex: mat_complex > nat ).

thf(sy_c_Matrix_Odim__col_001t__Nat__Onat,type,
    dim_col_nat: mat_nat > nat ).

thf(sy_c_Matrix_Odim__col_001tf__a,type,
    dim_col_a: mat_a > nat ).

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

thf(sy_c_Matrix_Odim__row_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    dim_row_mat_complex: mat_mat_complex > nat ).

thf(sy_c_Matrix_Odim__row_001t__Matrix__Omat_Itf__a_J,type,
    dim_row_mat_a: mat_mat_a > 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_Oinvertible__mat_001t__Complex__Ocomplex,type,
    invert2568027935824841882omplex: mat_complex > $o ).

thf(sy_c_Matrix_Oinverts__mat_001t__Complex__Ocomplex,type,
    inverts_mat_complex: mat_complex > mat_complex > $o ).

thf(sy_c_Matrix_Omat__diag_001t__Complex__Ocomplex,type,
    mat_diag_complex: nat > ( nat > complex ) > mat_complex ).

thf(sy_c_Matrix_Omat__diag_001t__Nat__Onat,type,
    mat_diag_nat: nat > ( nat > nat ) > mat_nat ).

thf(sy_c_Matrix_Omat__diag_001tf__a,type,
    mat_diag_a: nat > ( nat > a ) > mat_a ).

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_Omk__diagonal_001tf__a,type,
    mk_diagonal_a: list_a > mat_a ).

thf(sy_c_Matrix_Oone__mat_001t__Complex__Ocomplex,type,
    one_mat_complex: nat > mat_complex ).

thf(sy_c_Matrix_Oone__mat_001t__Nat__Onat,type,
    one_mat_nat: nat > mat_nat ).

thf(sy_c_Matrix_Opow__mat_001t__Complex__Ocomplex,type,
    pow_mat_complex: mat_complex > nat > mat_complex ).

thf(sy_c_Matrix_Osmult__mat_001t__Complex__Ocomplex,type,
    smult_mat_complex: complex > mat_complex > mat_complex ).

thf(sy_c_Matrix_Osmult__mat_001t__Nat__Onat,type,
    smult_mat_nat: nat > mat_nat > mat_nat ).

thf(sy_c_Matrix_Osmult__mat_001tf__a,type,
    smult_mat_a: a > mat_a > mat_a ).

thf(sy_c_Matrix_Osquare__mat_001t__Complex__Ocomplex,type,
    square_mat_complex: mat_complex > $o ).

thf(sy_c_Matrix_Osquare__mat_001tf__a,type,
    square_mat_a: mat_a > $o ).

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__Matrix__Omat_Itf__a_J,type,
    undef_vec_mat_a: nat > mat_a ).

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

thf(sy_c_Nat_OSuc,type,
    suc: nat > 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_It__Nat__Onat_J_J,type,
    size_s66138613738048955at_nat: list_mat_nat > 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_Itf__a_J,type,
    size_size_list_a: list_a > nat ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_M_Eo_J,type,
    bot_bot_list_mat_a_o: list_mat_a > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Matrix__Omat_It__Complex__Ocomplex_J_M_Eo_J,type,
    bot_bo2514468519737825834plex_o: mat_complex > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Matrix__Omat_Itf__a_J_M_Eo_J,type,
    bot_bot_mat_a_o: mat_a > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J,type,
    bot_bot_nat_o: nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    bot_bot_set_complex: set_complex ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    bot_bo6377478972893813113omplex: set_list_mat_complex ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    bot_bo2759726786008686517_mat_a: set_list_mat_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    bot_bo7165004461764951667omplex: set_mat_complex ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    bot_bot_set_mat_a: set_mat_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__a_J,type,
    bot_bot_set_a: set_a ).

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__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__List__Olist_It__Matrix__Omat_Itf__a_J_J_J,type,
    ord_le3279973697895081845_mat_a: set_list_mat_a > set_list_mat_a > $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_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Projective__Measurements_Odensity__collapse,type,
    projec3470689467825365843llapse: mat_complex > mat_complex > mat_complex ).

thf(sy_c_Projective__Measurements_Odiag__elems_001t__Complex__Ocomplex,type,
    projec2809893096078145286omplex: mat_complex > set_complex ).

thf(sy_c_Projective__Measurements_Odiag__elems_001tf__a,type,
    projec3180294917645509286lems_a: mat_a > set_a ).

thf(sy_c_Projective__Measurements_Oeigvals_001t__Complex__Ocomplex,type,
    projec6785268565095433026omplex: mat_complex > list_complex ).

thf(sy_c_Projective__Measurements_Ohermitian__decomp_001t__Complex__Ocomplex,type,
    projec5943904436471448624omplex: mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_Projective__Measurements_Omax__mix__density,type,
    projec8360710381328234318ensity: nat > mat_complex ).

thf(sy_c_Schur__Decomposition_Ocorthogonal__mat_001t__Complex__Ocomplex,type,
    schur_549222400177443379omplex: mat_complex > $o ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    collect_list_mat_a: ( list_mat_a > $o ) > set_list_mat_a ).

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_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    image_259494301985415389_mat_a: ( list_mat_a > list_mat_a ) > set_list_mat_a > set_list_mat_a ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__Matrix__Omat_Itf__a_J,type,
    image_1232966742303607629_mat_a: ( list_mat_a > mat_a ) > set_list_mat_a > set_mat_a ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J_001t__Nat__Onat,type,
    image_list_mat_a_nat: ( list_mat_a > nat ) > set_list_mat_a > set_nat ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    image_23760814813800901omplex: ( mat_complex > mat_complex ) > set_mat_complex > set_mat_complex ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Matrix__Omat_Itf__a_J,type,
    image_3928002249759489597_mat_a: ( mat_complex > mat_a ) > set_mat_complex > set_mat_a ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    image_3888497042482528050ex_nat: ( mat_complex > nat ) > set_mat_complex > set_nat ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_Itf__a_J_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    image_3414620351066639693_mat_a: ( mat_a > list_mat_a ) > set_mat_a > set_list_mat_a ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    image_1784612459232958533omplex: ( mat_a > mat_complex ) > set_mat_a > set_mat_complex ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_Itf__a_J_001t__Matrix__Omat_Itf__a_J,type,
    image_mat_a_mat_a: ( mat_a > mat_a ) > set_mat_a > set_mat_a ).

thf(sy_c_Set_Oimage_001t__Matrix__Omat_Itf__a_J_001t__Nat__Onat,type,
    image_mat_a_nat: ( mat_a > nat ) > set_mat_a > set_nat ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__List__Olist_It__Matrix__Omat_Itf__a_J_J,type,
    image_nat_list_mat_a: ( nat > list_mat_a ) > set_nat > set_list_mat_a ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    image_4971298370881856784omplex: ( nat > mat_complex ) > set_nat > set_mat_complex ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Matrix__Omat_Itf__a_J,type,
    image_nat_mat_a: ( nat > mat_a ) > set_nat > set_mat_a ).

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

thf(sy_c_Spectral__Theory__Complements_Oreal__diag__decomp_001t__Complex__Ocomplex,type,
    spectr5409772854192057952omplex: mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_VS__Connect_Ovec__space_Orow__space_001t__Complex__Ocomplex,type,
    vS_vec3284807721666986142omplex: nat > mat_complex > set_vec_complex ).

thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__Complex__Ocomplex_J,type,
    accp_list_complex: ( list_complex > list_complex > $o ) > list_complex > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    accp_l4317946081743925558omplex: ( list_mat_complex > list_mat_complex > $o ) > list_mat_complex > $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__Matrix__Omat_It__Complex__Ocomplex_J,type,
    member_mat_complex: mat_complex > set_mat_complex > $o ).

thf(sy_c_member_001t__Matrix__Omat_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    member7752848204589936667omplex: mat_mat_complex > set_mat_mat_complex > $o ).

thf(sy_c_member_001t__Matrix__Omat_It__Matrix__Omat_Itf__a_J_J,type,
    member_mat_mat_a: mat_mat_a > set_mat_mat_a > $o ).

thf(sy_c_member_001t__Matrix__Omat_It__Nat__Onat_J,type,
    member_mat_nat: mat_nat > set_mat_nat > $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_v_Al,type,
    al: mat_a ).

thf(sy_v_Bl,type,
    bl: mat_a ).

thf(sy_v_Cs,type,
    cs: set_mat_a ).

thf(sy_v_Ea____,type,
    ea: list_mat_a ).

thf(sy_v_Eb____,type,
    eb: list_mat_a ).

thf(sy_v_ExC,type,
    exC: set_list_mat_a ).

thf(sy_v_Exi,type,
    exi: set_mat_a ).

thf(sy_v_j,type,
    j: nat ).

thf(sy_v_l,type,
    l: list_nat ).

thf(sy_v_ncl____,type,
    ncl: nat ).

% Relevant facts (1049)
thf(fact_0_assms_I7_J,axiom,
    member_mat_a @ bl @ exi ).

% assms(7)
thf(fact_1_assms_I6_J,axiom,
    member_mat_a @ al @ exi ).

% assms(6)
thf(fact_2__092_060open_062Ea_A_092_060in_062_AExC_092_060close_062,axiom,
    member_list_mat_a @ ea @ exC ).

% \<open>Ea \<in> ExC\<close>
thf(fact_3__092_060open_062Eb_A_092_060in_062_AExC_092_060close_062,axiom,
    member_list_mat_a @ eb @ exC ).

% \<open>Eb \<in> ExC\<close>
thf(fact_4__092_060open_062length_AEa_A_061_Alength_AEb_092_060close_062,axiom,
    ( ( size_size_list_mat_a @ ea )
    = ( size_size_list_mat_a @ eb ) ) ).

% \<open>length Ea = length Eb\<close>
thf(fact_5__092_060open_062j_A_060_Alength_AEa_092_060close_062,axiom,
    ord_less_nat @ j @ ( size_size_list_mat_a @ ea ) ).

% \<open>j < length Ea\<close>
thf(fact_6__092_060open_062Bl_A_061_AEb_A_B_Aj_092_060close_062,axiom,
    ( bl
    = ( nth_mat_a @ eb @ j ) ) ).

% \<open>Bl = Eb ! j\<close>
thf(fact_7__092_060open_062_092_060forall_062i_060length_AEa_O_Adim__row_A_IEa_A_B_Ai_J_A_061_Adim__row_A_IEb_A_B_Ai_J_092_060close_062,axiom,
    ! [I: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_mat_a @ ea ) )
     => ( ( dim_row_a @ ( nth_mat_a @ ea @ I ) )
        = ( dim_row_a @ ( nth_mat_a @ eb @ I ) ) ) ) ).

% \<open>\<forall>i<length Ea. dim_row (Ea ! i) = dim_row (Eb ! i)\<close>
thf(fact_8__092_060open_062Al_A_061_AEa_A_B_Aj_092_060close_062,axiom,
    ( al
    = ( nth_mat_a @ ea @ j ) ) ).

% \<open>Al = Ea ! j\<close>
thf(fact_9__092_060open_062_092_060forall_062i_060length_AEa_O_Adim__row_A_IEa_A_B_Ai_J_A_061_Adim__col_A_IEa_A_B_Ai_J_092_060close_062,axiom,
    ! [I: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_mat_a @ ea ) )
     => ( ( dim_row_a @ ( nth_mat_a @ ea @ I ) )
        = ( dim_col_a @ ( nth_mat_a @ ea @ I ) ) ) ) ).

% \<open>\<forall>i<length Ea. dim_row (Ea ! i) = dim_col (Ea ! i)\<close>
thf(fact_10_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_11_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_12_nth__equalityI,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Xs ) )
           => ( ( nth_mat_a @ Xs @ I2 )
              = ( nth_mat_a @ Ys @ I2 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_13_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_14_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_15_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > complex > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X: complex] : ( P @ I3 @ X ) ) )
      = ( ? [Xs2: list_complex] :
            ( ( ( size_s3451745648224563538omplex @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_complex @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_16_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > a > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X: a] : ( P @ I3 @ X ) ) )
      = ( ? [Xs2: list_a] :
            ( ( ( size_size_list_a @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_a @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_17_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > mat_a > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X: mat_a] : ( P @ I3 @ X ) ) )
      = ( ? [Xs2: list_mat_a] :
            ( ( ( size_size_list_mat_a @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_mat_a @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_18_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X: nat] : ( P @ I3 @ X ) ) )
      = ( ? [Xs2: list_nat] :
            ( ( ( size_size_list_nat @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_nat @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_19_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > mat_complex > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ K )
           => ? [X: mat_complex] : ( P @ I3 @ X ) ) )
      = ( ? [Xs2: list_mat_complex] :
            ( ( ( size_s5969786470865220249omplex @ Xs2 )
              = K )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K )
               => ( P @ I3 @ ( nth_mat_complex @ Xs2 @ I3 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_20_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_complex,Z: list_complex] : ( Y = Z ) )
    = ( ^ [Xs2: list_complex,Ys2: list_complex] :
          ( ( ( size_s3451745648224563538omplex @ Xs2 )
            = ( size_s3451745648224563538omplex @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s3451745648224563538omplex @ Xs2 ) )
             => ( ( nth_complex @ Xs2 @ I3 )
                = ( nth_complex @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_21_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_a,Z: list_a] : ( Y = Z ) )
    = ( ^ [Xs2: list_a,Ys2: list_a] :
          ( ( ( size_size_list_a @ Xs2 )
            = ( size_size_list_a @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Xs2 ) )
             => ( ( nth_a @ Xs2 @ I3 )
                = ( nth_a @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_22_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_mat_a,Z: list_mat_a] : ( Y = Z ) )
    = ( ^ [Xs2: list_mat_a,Ys2: list_mat_a] :
          ( ( ( size_size_list_mat_a @ Xs2 )
            = ( size_size_list_mat_a @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_mat_a @ Xs2 ) )
             => ( ( nth_mat_a @ Xs2 @ I3 )
                = ( nth_mat_a @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_23_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_nat,Z: list_nat] : ( Y = Z ) )
    = ( ^ [Xs2: list_nat,Ys2: list_nat] :
          ( ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_nat @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs2 ) )
             => ( ( nth_nat @ Xs2 @ I3 )
                = ( nth_nat @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_24_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_mat_complex,Z: list_mat_complex] : ( Y = Z ) )
    = ( ^ [Xs2: list_mat_complex,Ys2: list_mat_complex] :
          ( ( ( size_s5969786470865220249omplex @ Xs2 )
            = ( size_s5969786470865220249omplex @ Ys2 ) )
          & ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( size_s5969786470865220249omplex @ Xs2 ) )
             => ( ( nth_mat_complex @ Xs2 @ I3 )
                = ( nth_mat_complex @ Ys2 @ I3 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_25_length__induct,axiom,
    ! [P: list_complex > $o,Xs: list_complex] :
      ( ! [Xs3: list_complex] :
          ( ! [Ys3: list_complex] :
              ( ( ord_less_nat @ ( size_s3451745648224563538omplex @ Ys3 ) @ ( size_s3451745648224563538omplex @ Xs3 ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_26_length__induct,axiom,
    ! [P: list_a > $o,Xs: list_a] :
      ( ! [Xs3: list_a] :
          ( ! [Ys3: list_a] :
              ( ( ord_less_nat @ ( size_size_list_a @ Ys3 ) @ ( size_size_list_a @ Xs3 ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_27_length__induct,axiom,
    ! [P: list_mat_a > $o,Xs: list_mat_a] :
      ( ! [Xs3: list_mat_a] :
          ( ! [Ys3: list_mat_a] :
              ( ( ord_less_nat @ ( size_size_list_mat_a @ Ys3 ) @ ( size_size_list_mat_a @ Xs3 ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

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

% length_induct
thf(fact_29_length__induct,axiom,
    ! [P: list_mat_complex > $o,Xs: list_mat_complex] :
      ( ! [Xs3: list_mat_complex] :
          ( ! [Ys3: list_mat_complex] :
              ( ( ord_less_nat @ ( size_s5969786470865220249omplex @ Ys3 ) @ ( size_s5969786470865220249omplex @ Xs3 ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs3 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_30_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_nat] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_col_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_col_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_col_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_col_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_31_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_a] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_col_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_col_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_col_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_32_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_complex] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_col_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_col_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_33_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_nat] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_col_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_col_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_col_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_col_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_34_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_nat] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_col_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_col_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_col_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_35_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_col_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_col_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_col_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_36_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_complex] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_col_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_col_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_37_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_a] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_col_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_col_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_38_diag__block__mat__dim__col__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_col_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_col_cong
thf(fact_39_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_complex] :
      ( ( size_s3451745648224563538omplex @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_40_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_a] :
      ( ( size_size_list_a @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_41_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_mat_a] :
      ( ( size_size_list_mat_a @ Xs3 )
      = N ) ).

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

% Ex_list_of_length
thf(fact_43_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs3: list_mat_complex] :
      ( ( size_s5969786470865220249omplex @ Xs3 )
      = N ) ).

% Ex_list_of_length
thf(fact_44_neq__if__length__neq,axiom,
    ! [Xs: list_complex,Ys: list_complex] :
      ( ( ( size_s3451745648224563538omplex @ Xs )
       != ( size_s3451745648224563538omplex @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_45_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_46_neq__if__length__neq,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Xs )
       != ( size_size_list_mat_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_neq__if__length__neq,axiom,
    ! [Xs: list_mat_complex,Ys: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
       != ( size_s5969786470865220249omplex @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_49_assms_I4_J,axiom,
    ord_less_nat @ j @ ( size_size_list_nat @ l ) ).

% assms(4)
thf(fact_50__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062Eb_O_A_092_060lbrakk_062Eb_A_092_060in_062_AExC_059_ABl_A_061_AEb_A_B_Aj_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Eb: list_mat_a] :
        ( ( member_list_mat_a @ Eb @ exC )
       => ( bl
         != ( nth_mat_a @ Eb @ j ) ) ) ).

% \<open>\<And>thesis. (\<And>Eb. \<lbrakk>Eb \<in> ExC; Bl = Eb ! j\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_51__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062Ea_O_A_092_060lbrakk_062Ea_A_092_060in_062_AExC_059_AAl_A_061_AEa_A_B_Aj_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Ea: list_mat_a] :
        ( ( member_list_mat_a @ Ea @ exC )
       => ( al
         != ( nth_mat_a @ Ea @ j ) ) ) ).

% \<open>\<And>thesis. (\<And>Ea. \<lbrakk>Ea \<in> ExC; Al = Ea ! j\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_52__092_060open_062_092_060exists_062Eb_092_060in_062ExC_O_ABl_A_061_AEb_A_B_Aj_092_060close_062,axiom,
    ? [X2: list_mat_a] :
      ( ( member_list_mat_a @ X2 @ exC )
      & ( bl
        = ( nth_mat_a @ X2 @ j ) ) ) ).

% \<open>\<exists>Eb\<in>ExC. Bl = Eb ! j\<close>
thf(fact_53__092_060open_062_092_060exists_062Ea_092_060in_062ExC_O_AAl_A_061_AEa_A_B_Aj_092_060close_062,axiom,
    ? [X2: list_mat_a] :
      ( ( member_list_mat_a @ X2 @ exC )
      & ( al
        = ( nth_mat_a @ X2 @ j ) ) ) ).

% \<open>\<exists>Ea\<in>ExC. Al = Ea ! j\<close>
thf(fact_54__092_060open_062_092_060forall_062Al_092_060in_062ExC_O_Alength_AAl_A_061_Ancl_092_060close_062,axiom,
    ! [X3: list_mat_a] :
      ( ( member_list_mat_a @ X3 @ exC )
     => ( ( size_size_list_mat_a @ X3 )
        = ncl ) ) ).

% \<open>\<forall>Al\<in>ExC. length Al = ncl\<close>
thf(fact_55__092_060open_062_092_060forall_062i_060ncl_O_A_092_060forall_062Al_092_060in_062ExC_O_Adim__row_A_IAl_A_B_Ai_J_A_061_Adim__col_A_IAl_A_B_Ai_J_092_060close_062,axiom,
    ! [I: nat] :
      ( ( ord_less_nat @ I @ ncl )
     => ! [X3: list_mat_a] :
          ( ( member_list_mat_a @ X3 @ exC )
         => ( ( dim_row_a @ ( nth_mat_a @ X3 @ I ) )
            = ( dim_col_a @ ( nth_mat_a @ X3 @ I ) ) ) ) ) ).

% \<open>\<forall>i<ncl. \<forall>Al\<in>ExC. dim_row (Al ! i) = dim_col (Al ! i)\<close>
thf(fact_56_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_nat] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_row_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_row_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_row_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_row_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_57_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_a] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_row_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_row_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_row_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_58_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_nat,Bl: list_mat_complex] :
      ( ( ( size_s66138613738048955at_nat @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_row_nat @ ( nth_mat_nat @ Ul @ I2 ) ) ) )
       => ( ( dim_row_nat @ ( diag_block_mat_nat @ Ul ) )
          = ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_59_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_nat] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_row_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_row_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_row_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_row_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_60_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_nat] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Bl ) )
           => ( ( dim_row_nat @ ( nth_mat_nat @ Bl @ I2 ) )
              = ( dim_row_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_row_nat @ ( diag_block_mat_nat @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_61_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_row_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_row_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_row_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_62_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_a,Bl: list_mat_complex] :
      ( ( ( size_size_list_mat_a @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_row_a @ ( nth_mat_a @ Ul @ I2 ) ) ) )
       => ( ( dim_row_a @ ( diag_block_mat_a @ Ul ) )
          = ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_63_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_a] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Bl ) )
           => ( ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) )
              = ( dim_row_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_row_a @ ( diag_block_mat_a @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_64_diag__block__mat__dim__row__cong,axiom,
    ! [Ul: list_mat_complex,Bl: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Ul )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
           => ( ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( dim_row_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
       => ( ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Ul ) )
          = ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Bl ) ) ) ) ) ).

% diag_block_mat_dim_row_cong
thf(fact_65_diag__block__mat__dim__row__col__eq,axiom,
    ! [Al: list_mat_nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Al ) )
         => ( ( dim_row_nat @ ( nth_mat_nat @ Al @ I2 ) )
            = ( dim_col_nat @ ( nth_mat_nat @ Al @ I2 ) ) ) )
     => ( ( dim_row_nat @ ( diag_block_mat_nat @ Al ) )
        = ( dim_col_nat @ ( diag_block_mat_nat @ Al ) ) ) ) ).

% diag_block_mat_dim_row_col_eq
thf(fact_66_diag__block__mat__dim__row__col__eq,axiom,
    ! [Al: list_mat_a] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
         => ( ( dim_row_a @ ( nth_mat_a @ Al @ I2 ) )
            = ( dim_col_a @ ( nth_mat_a @ Al @ I2 ) ) ) )
     => ( ( dim_row_a @ ( diag_block_mat_a @ Al ) )
        = ( dim_col_a @ ( diag_block_mat_a @ Al ) ) ) ) ).

% diag_block_mat_dim_row_col_eq
thf(fact_67_diag__block__mat__dim__row__col__eq,axiom,
    ! [Al: list_mat_complex] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
         => ( ( dim_row_complex @ ( nth_mat_complex @ Al @ I2 ) )
            = ( dim_col_complex @ ( nth_mat_complex @ Al @ I2 ) ) ) )
     => ( ( dim_row_complex @ ( diag_b9145358668110806138omplex @ Al ) )
        = ( dim_col_complex @ ( diag_b9145358668110806138omplex @ Al ) ) ) ) ).

% diag_block_mat_dim_row_col_eq
thf(fact_68_diag__block__mat__cong__comp,axiom,
    ! [Al: list_mat_nat,Bl: list_mat_nat,J: nat] :
      ( ( ( size_s66138613738048955at_nat @ Al )
        = ( size_s66138613738048955at_nat @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Al ) )
           => ( ( dim_row_nat @ ( nth_mat_nat @ Al @ I2 ) )
              = ( dim_row_nat @ ( nth_mat_nat @ Bl @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s66138613738048955at_nat @ Al ) )
             => ( ( dim_col_nat @ ( nth_mat_nat @ Al @ I2 ) )
                = ( dim_col_nat @ ( nth_mat_nat @ Bl @ I2 ) ) ) )
         => ( ( ( diag_block_mat_nat @ Al )
              = ( diag_block_mat_nat @ Bl ) )
           => ( ( ord_less_nat @ J @ ( size_s66138613738048955at_nat @ Al ) )
             => ( ( nth_mat_nat @ Al @ J )
                = ( nth_mat_nat @ Bl @ J ) ) ) ) ) ) ) ).

% diag_block_mat_cong_comp
thf(fact_69_diag__block__mat__cong__comp,axiom,
    ! [Al: list_mat_a,Bl: list_mat_a,J: nat] :
      ( ( ( size_size_list_mat_a @ Al )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
           => ( ( dim_row_a @ ( nth_mat_a @ Al @ I2 ) )
              = ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
             => ( ( dim_col_a @ ( nth_mat_a @ Al @ I2 ) )
                = ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) ) ) )
         => ( ( ( diag_block_mat_a @ Al )
              = ( diag_block_mat_a @ Bl ) )
           => ( ( ord_less_nat @ J @ ( size_size_list_mat_a @ Al ) )
             => ( ( nth_mat_a @ Al @ J )
                = ( nth_mat_a @ Bl @ J ) ) ) ) ) ) ) ).

% diag_block_mat_cong_comp
thf(fact_70_diag__block__mat__cong__comp,axiom,
    ! [Al: list_mat_complex,Bl: list_mat_complex,J: nat] :
      ( ( ( size_s5969786470865220249omplex @ Al )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
           => ( ( dim_row_complex @ ( nth_mat_complex @ Al @ I2 ) )
              = ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
             => ( ( dim_col_complex @ ( nth_mat_complex @ Al @ I2 ) )
                = ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
         => ( ( ( diag_b9145358668110806138omplex @ Al )
              = ( diag_b9145358668110806138omplex @ Bl ) )
           => ( ( ord_less_nat @ J @ ( size_s5969786470865220249omplex @ Al ) )
             => ( ( nth_mat_complex @ Al @ J )
                = ( nth_mat_complex @ Bl @ J ) ) ) ) ) ) ) ).

% diag_block_mat_cong_comp
thf(fact_71_diag__block__mat__commute__comp,axiom,
    ! [Al: list_mat_a,Bl: list_mat_a,I4: nat] :
      ( ( ( size_size_list_mat_a @ Al )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
           => ( ( dim_row_a @ ( nth_mat_a @ Al @ I2 ) )
              = ( dim_col_a @ ( nth_mat_a @ Al @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
             => ( ( dim_row_a @ ( nth_mat_a @ Al @ I2 ) )
                = ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) ) ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
               => ( ( dim_col_a @ ( nth_mat_a @ Al @ I2 ) )
                  = ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) ) ) )
           => ( ( ( times_times_mat_a @ ( diag_block_mat_a @ Al ) @ ( diag_block_mat_a @ Bl ) )
                = ( times_times_mat_a @ ( diag_block_mat_a @ Bl ) @ ( diag_block_mat_a @ Al ) ) )
             => ( ( ord_less_nat @ I4 @ ( size_size_list_mat_a @ Al ) )
               => ( ( times_times_mat_a @ ( nth_mat_a @ Al @ I4 ) @ ( nth_mat_a @ Bl @ I4 ) )
                  = ( times_times_mat_a @ ( nth_mat_a @ Bl @ I4 ) @ ( nth_mat_a @ Al @ I4 ) ) ) ) ) ) ) ) ) ).

% diag_block_mat_commute_comp
thf(fact_72_diag__block__mat__commute__comp,axiom,
    ! [Al: list_mat_complex,Bl: list_mat_complex,I4: nat] :
      ( ( ( size_s5969786470865220249omplex @ Al )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
           => ( ( dim_row_complex @ ( nth_mat_complex @ Al @ I2 ) )
              = ( dim_col_complex @ ( nth_mat_complex @ Al @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
             => ( ( dim_row_complex @ ( nth_mat_complex @ Al @ I2 ) )
                = ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
               => ( ( dim_col_complex @ ( nth_mat_complex @ Al @ I2 ) )
                  = ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
           => ( ( ( times_8009071140041733218omplex @ ( diag_b9145358668110806138omplex @ Al ) @ ( diag_b9145358668110806138omplex @ Bl ) )
                = ( times_8009071140041733218omplex @ ( diag_b9145358668110806138omplex @ Bl ) @ ( diag_b9145358668110806138omplex @ Al ) ) )
             => ( ( ord_less_nat @ I4 @ ( size_s5969786470865220249omplex @ Al ) )
               => ( ( times_8009071140041733218omplex @ ( nth_mat_complex @ Al @ I4 ) @ ( nth_mat_complex @ Bl @ I4 ) )
                  = ( times_8009071140041733218omplex @ ( nth_mat_complex @ Bl @ I4 ) @ ( nth_mat_complex @ Al @ I4 ) ) ) ) ) ) ) ) ) ).

% diag_block_mat_commute_comp
thf(fact_73_diag__block__mat__commute,axiom,
    ! [Al: list_mat_a,Bl: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Al )
        = ( size_size_list_mat_a @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
           => ( ( times_times_mat_a @ ( nth_mat_a @ Al @ I2 ) @ ( nth_mat_a @ Bl @ I2 ) )
              = ( times_times_mat_a @ ( nth_mat_a @ Bl @ I2 ) @ ( nth_mat_a @ Al @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
             => ( ( dim_col_a @ ( nth_mat_a @ Al @ I2 ) )
                = ( dim_row_a @ ( nth_mat_a @ Bl @ I2 ) ) ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ Al ) )
               => ( ( dim_col_a @ ( nth_mat_a @ Bl @ I2 ) )
                  = ( dim_row_a @ ( nth_mat_a @ Al @ I2 ) ) ) )
           => ( ( times_times_mat_a @ ( diag_block_mat_a @ Al ) @ ( diag_block_mat_a @ Bl ) )
              = ( times_times_mat_a @ ( diag_block_mat_a @ Bl ) @ ( diag_block_mat_a @ Al ) ) ) ) ) ) ) ).

% diag_block_mat_commute
thf(fact_74_diag__block__mat__commute,axiom,
    ! [Al: list_mat_complex,Bl: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Al )
        = ( size_s5969786470865220249omplex @ Bl ) )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
           => ( ( times_8009071140041733218omplex @ ( nth_mat_complex @ Al @ I2 ) @ ( nth_mat_complex @ Bl @ I2 ) )
              = ( times_8009071140041733218omplex @ ( nth_mat_complex @ Bl @ I2 ) @ ( nth_mat_complex @ Al @ I2 ) ) ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
             => ( ( dim_col_complex @ ( nth_mat_complex @ Al @ I2 ) )
                = ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Al ) )
               => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
                  = ( dim_row_complex @ ( nth_mat_complex @ Al @ I2 ) ) ) )
           => ( ( times_8009071140041733218omplex @ ( diag_b9145358668110806138omplex @ Al ) @ ( diag_b9145358668110806138omplex @ Bl ) )
              = ( times_8009071140041733218omplex @ ( diag_b9145358668110806138omplex @ Bl ) @ ( diag_b9145358668110806138omplex @ Al ) ) ) ) ) ) ) ).

% diag_block_mat_commute
thf(fact_75_list__ex__length,axiom,
    ( list_ex_mat_a
    = ( ^ [P2: mat_a > $o,Xs2: list_mat_a] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_mat_a @ Xs2 ) )
          & ( P2 @ ( nth_mat_a @ Xs2 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_76_list__ex__length,axiom,
    ( list_ex_nat
    = ( ^ [P2: nat > $o,Xs2: list_nat] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs2 ) )
          & ( P2 @ ( nth_nat @ Xs2 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_77_list__ex__length,axiom,
    ( list_ex_mat_complex
    = ( ^ [P2: mat_complex > $o,Xs2: list_mat_complex] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s5969786470865220249omplex @ Xs2 ) )
          & ( P2 @ ( nth_mat_complex @ Xs2 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_78_assms_I5_J,axiom,
    ( exi
    = ( image_1232966742303607629_mat_a
      @ ^ [A: list_mat_a] : ( nth_mat_a @ A @ j )
      @ exC ) ) ).

% assms(5)
thf(fact_79_nth__butlast,axiom,
    ! [N: nat,Xs: list_mat_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_mat_a @ ( butlast_mat_a @ Xs ) ) )
     => ( ( nth_mat_a @ ( butlast_mat_a @ Xs ) @ N )
        = ( nth_mat_a @ Xs @ N ) ) ) ).

% nth_butlast
thf(fact_80_nth__butlast,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ ( butlast_nat @ Xs ) ) )
     => ( ( nth_nat @ ( butlast_nat @ Xs ) @ N )
        = ( nth_nat @ Xs @ N ) ) ) ).

% nth_butlast
thf(fact_81_nth__butlast,axiom,
    ! [N: nat,Xs: list_mat_complex] :
      ( ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ ( butlast_mat_complex @ Xs ) ) )
     => ( ( nth_mat_complex @ ( butlast_mat_complex @ Xs ) @ N )
        = ( nth_mat_complex @ Xs @ N ) ) ) ).

% nth_butlast
thf(fact_82_list__all__length,axiom,
    ( list_all_mat_a
    = ( ^ [P2: mat_a > $o,Xs2: list_mat_a] :
        ! [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_mat_a @ Xs2 ) )
         => ( P2 @ ( nth_mat_a @ Xs2 @ N2 ) ) ) ) ) ).

% list_all_length
thf(fact_83_list__all__length,axiom,
    ( list_all_nat
    = ( ^ [P2: nat > $o,Xs2: list_nat] :
        ! [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs2 ) )
         => ( P2 @ ( nth_nat @ Xs2 @ N2 ) ) ) ) ) ).

% list_all_length
thf(fact_84_list__all__length,axiom,
    ( list_all_mat_complex
    = ( ^ [P2: mat_complex > $o,Xs2: list_mat_complex] :
        ! [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s5969786470865220249omplex @ Xs2 ) )
         => ( P2 @ ( nth_mat_complex @ Xs2 @ N2 ) ) ) ) ) ).

% list_all_length
thf(fact_85_inv__all_H__def,axiom,
    ( jordan5032732407113867375omplex
    = ( ^ [P3: mat_complex > nat > nat > $o,A: mat_complex] :
        ! [I3: nat,J2: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ A ) )
         => ( ( ord_less_nat @ J2 @ ( dim_row_complex @ A ) )
           => ( P3 @ A @ I3 @ J2 ) ) ) ) ) ).

% inv_all'_def
thf(fact_86_size__neq__size__imp__neq,axiom,
    ! [X4: list_mat_a,Y2: list_mat_a] :
      ( ( ( size_size_list_mat_a @ X4 )
       != ( size_size_list_mat_a @ Y2 ) )
     => ( X4 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_87_size__neq__size__imp__neq,axiom,
    ! [X4: list_nat,Y2: list_nat] :
      ( ( ( size_size_list_nat @ X4 )
       != ( size_size_list_nat @ Y2 ) )
     => ( X4 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_88_size__neq__size__imp__neq,axiom,
    ! [X4: list_mat_complex,Y2: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ X4 )
       != ( size_s5969786470865220249omplex @ Y2 ) )
     => ( X4 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_89_linorder__neqE__nat,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( X4 != Y2 )
     => ( ~ ( ord_less_nat @ X4 @ Y2 )
       => ( ord_less_nat @ Y2 @ X4 ) ) ) ).

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

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

% nat_less_induct
thf(fact_92_ncl__def,axiom,
    ( ncl
    = ( size_size_list_nat @ l ) ) ).

% ncl_def
thf(fact_93_list_Opred__True,axiom,
    ( ( list_all_mat_complex
      @ ^ [Uu: mat_complex] : $true )
    = ( ^ [Uu: list_mat_complex] : $true ) ) ).

% list.pred_True
thf(fact_94_nat__neq__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( M2 != N )
      = ( ( ord_less_nat @ M2 @ N )
        | ( ord_less_nat @ N @ M2 ) ) ) ).

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

% less_not_refl
thf(fact_96_mem__Collect__eq,axiom,
    ! [A2: mat_a,P: mat_a > $o] :
      ( ( member_mat_a @ A2 @ ( collect_mat_a @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_97_mem__Collect__eq,axiom,
    ! [A2: list_mat_a,P: list_mat_a > $o] :
      ( ( member_list_mat_a @ A2 @ ( collect_list_mat_a @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_98_mem__Collect__eq,axiom,
    ! [A2: mat_complex,P: mat_complex > $o] :
      ( ( member_mat_complex @ A2 @ ( collect_mat_complex @ P ) )
      = ( P @ A2 ) ) ).

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

% mem_Collect_eq
thf(fact_100_Collect__mem__eq,axiom,
    ! [A3: set_mat_a] :
      ( ( collect_mat_a
        @ ^ [X5: mat_a] : ( member_mat_a @ X5 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_101_Collect__mem__eq,axiom,
    ! [A3: set_list_mat_a] :
      ( ( collect_list_mat_a
        @ ^ [X5: list_mat_a] : ( member_list_mat_a @ X5 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_102_Collect__mem__eq,axiom,
    ! [A3: set_mat_complex] :
      ( ( collect_mat_complex
        @ ^ [X5: mat_complex] : ( member_mat_complex @ X5 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_103_Collect__mem__eq,axiom,
    ! [A3: set_nat] :
      ( ( collect_nat
        @ ^ [X5: nat] : ( member_nat @ X5 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_104_less__not__refl2,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ N @ M2 )
     => ( M2 != N ) ) ).

% less_not_refl2
thf(fact_105_less__not__refl3,axiom,
    ! [S: nat,T: nat] :
      ( ( ord_less_nat @ S @ T )
     => ( S != T ) ) ).

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

% less_irrefl_nat
thf(fact_107_assms_I1_J,axiom,
    ! [X3: mat_a] :
      ( ( member_mat_a @ X3 @ cs )
     => ( X3
        = ( diag_block_mat_a @ ( commut2531942506349284476iags_a @ X3 @ l ) ) ) ) ).

% assms(1)
thf(fact_108__092_060open_062_092_060forall_062j_060ncl_O_A_092_060forall_062E_092_060in_062ExC_O_AE_A_B_Aj_A_092_060in_062_Acarrier__mat_A_Il_A_B_Aj_J_A_Il_A_B_Aj_J_092_060close_062,axiom,
    ! [J3: nat] :
      ( ( ord_less_nat @ J3 @ ncl )
     => ! [X3: list_mat_a] :
          ( ( member_list_mat_a @ X3 @ exC )
         => ( member_mat_a @ ( nth_mat_a @ X3 @ J3 ) @ ( carrier_mat_a @ ( nth_nat @ l @ J3 ) @ ( nth_nat @ l @ J3 ) ) ) ) ) ).

% \<open>\<forall>j<ncl. \<forall>E\<in>ExC. E ! j \<in> carrier_mat (l ! j) (l ! j)\<close>
thf(fact_109_index__mult__mat_I3_J,axiom,
    ! [A3: mat_a,B: mat_a] :
      ( ( dim_col_a @ ( times_times_mat_a @ A3 @ B ) )
      = ( dim_col_a @ B ) ) ).

% index_mult_mat(3)
thf(fact_110_index__mult__mat_I3_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_col_complex @ ( times_8009071140041733218omplex @ A3 @ B ) )
      = ( dim_col_complex @ B ) ) ).

% index_mult_mat(3)
thf(fact_111_index__mult__mat_I2_J,axiom,
    ! [A3: mat_a,B: mat_a] :
      ( ( dim_row_a @ ( times_times_mat_a @ A3 @ B ) )
      = ( dim_row_a @ A3 ) ) ).

% index_mult_mat(2)
thf(fact_112_index__mult__mat_I2_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_row_complex @ ( times_8009071140041733218omplex @ A3 @ B ) )
      = ( dim_row_complex @ A3 ) ) ).

% index_mult_mat(2)
thf(fact_113_Compr__image__eq,axiom,
    ! [F: nat > nat,A3: set_nat,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X5: nat] :
            ( ( member_nat @ X5 @ ( image_nat_nat @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_nat_nat @ F
        @ ( collect_nat
          @ ^ [X5: nat] :
              ( ( member_nat @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_114_Compr__image__eq,axiom,
    ! [F: nat > mat_a,A3: set_nat,P: mat_a > $o] :
      ( ( collect_mat_a
        @ ^ [X5: mat_a] :
            ( ( member_mat_a @ X5 @ ( image_nat_mat_a @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_nat_mat_a @ F
        @ ( collect_nat
          @ ^ [X5: nat] :
              ( ( member_nat @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_115_Compr__image__eq,axiom,
    ! [F: nat > mat_complex,A3: set_nat,P: mat_complex > $o] :
      ( ( collect_mat_complex
        @ ^ [X5: mat_complex] :
            ( ( member_mat_complex @ X5 @ ( image_4971298370881856784omplex @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_4971298370881856784omplex @ F
        @ ( collect_nat
          @ ^ [X5: nat] :
              ( ( member_nat @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_116_Compr__image__eq,axiom,
    ! [F: mat_a > nat,A3: set_mat_a,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X5: nat] :
            ( ( member_nat @ X5 @ ( image_mat_a_nat @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_mat_a_nat @ F
        @ ( collect_mat_a
          @ ^ [X5: mat_a] :
              ( ( member_mat_a @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_117_Compr__image__eq,axiom,
    ! [F: mat_complex > nat,A3: set_mat_complex,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X5: nat] :
            ( ( member_nat @ X5 @ ( image_3888497042482528050ex_nat @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_3888497042482528050ex_nat @ F
        @ ( collect_mat_complex
          @ ^ [X5: mat_complex] :
              ( ( member_mat_complex @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_118_Compr__image__eq,axiom,
    ! [F: mat_a > mat_a,A3: set_mat_a,P: mat_a > $o] :
      ( ( collect_mat_a
        @ ^ [X5: mat_a] :
            ( ( member_mat_a @ X5 @ ( image_mat_a_mat_a @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_mat_a_mat_a @ F
        @ ( collect_mat_a
          @ ^ [X5: mat_a] :
              ( ( member_mat_a @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_119_Compr__image__eq,axiom,
    ! [F: mat_complex > mat_a,A3: set_mat_complex,P: mat_a > $o] :
      ( ( collect_mat_a
        @ ^ [X5: mat_a] :
            ( ( member_mat_a @ X5 @ ( image_3928002249759489597_mat_a @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_3928002249759489597_mat_a @ F
        @ ( collect_mat_complex
          @ ^ [X5: mat_complex] :
              ( ( member_mat_complex @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_120_Compr__image__eq,axiom,
    ! [F: nat > list_mat_a,A3: set_nat,P: list_mat_a > $o] :
      ( ( collect_list_mat_a
        @ ^ [X5: list_mat_a] :
            ( ( member_list_mat_a @ X5 @ ( image_nat_list_mat_a @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_nat_list_mat_a @ F
        @ ( collect_nat
          @ ^ [X5: nat] :
              ( ( member_nat @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_121_Compr__image__eq,axiom,
    ! [F: mat_a > mat_complex,A3: set_mat_a,P: mat_complex > $o] :
      ( ( collect_mat_complex
        @ ^ [X5: mat_complex] :
            ( ( member_mat_complex @ X5 @ ( image_1784612459232958533omplex @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_1784612459232958533omplex @ F
        @ ( collect_mat_a
          @ ^ [X5: mat_a] :
              ( ( member_mat_a @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_122_Compr__image__eq,axiom,
    ! [F: mat_complex > mat_complex,A3: set_mat_complex,P: mat_complex > $o] :
      ( ( collect_mat_complex
        @ ^ [X5: mat_complex] :
            ( ( member_mat_complex @ X5 @ ( image_23760814813800901omplex @ F @ A3 ) )
            & ( P @ X5 ) ) )
      = ( image_23760814813800901omplex @ F
        @ ( collect_mat_complex
          @ ^ [X5: mat_complex] :
              ( ( member_mat_complex @ X5 @ A3 )
              & ( P @ ( F @ X5 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_123_image__image,axiom,
    ! [F: mat_a > mat_a,G: list_mat_a > mat_a,A3: set_list_mat_a] :
      ( ( image_mat_a_mat_a @ F @ ( image_1232966742303607629_mat_a @ G @ A3 ) )
      = ( image_1232966742303607629_mat_a
        @ ^ [X5: list_mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_124_image__image,axiom,
    ! [F: list_mat_a > list_mat_a,G: mat_a > list_mat_a,A3: set_mat_a] :
      ( ( image_259494301985415389_mat_a @ F @ ( image_3414620351066639693_mat_a @ G @ A3 ) )
      = ( image_3414620351066639693_mat_a
        @ ^ [X5: mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_125_image__image,axiom,
    ! [F: list_mat_a > mat_a,G: list_mat_a > list_mat_a,A3: set_list_mat_a] :
      ( ( image_1232966742303607629_mat_a @ F @ ( image_259494301985415389_mat_a @ G @ A3 ) )
      = ( image_1232966742303607629_mat_a
        @ ^ [X5: list_mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_126_image__image,axiom,
    ! [F: list_mat_a > mat_a,G: mat_a > list_mat_a,A3: set_mat_a] :
      ( ( image_1232966742303607629_mat_a @ F @ ( image_3414620351066639693_mat_a @ G @ A3 ) )
      = ( image_mat_a_mat_a
        @ ^ [X5: mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_127_image__image,axiom,
    ! [F: mat_a > list_mat_a,G: mat_a > mat_a,A3: set_mat_a] :
      ( ( image_3414620351066639693_mat_a @ F @ ( image_mat_a_mat_a @ G @ A3 ) )
      = ( image_3414620351066639693_mat_a
        @ ^ [X5: mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_128_image__image,axiom,
    ! [F: mat_a > list_mat_a,G: list_mat_a > mat_a,A3: set_list_mat_a] :
      ( ( image_3414620351066639693_mat_a @ F @ ( image_1232966742303607629_mat_a @ G @ A3 ) )
      = ( image_259494301985415389_mat_a
        @ ^ [X5: list_mat_a] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_129_image__image,axiom,
    ! [F: nat > nat,G: nat > nat,A3: set_nat] :
      ( ( image_nat_nat @ F @ ( image_nat_nat @ G @ A3 ) )
      = ( image_nat_nat
        @ ^ [X5: nat] : ( F @ ( G @ X5 ) )
        @ A3 ) ) ).

% image_image
thf(fact_130_image__ident,axiom,
    ! [Y3: set_nat] :
      ( ( image_nat_nat
        @ ^ [X5: nat] : X5
        @ Y3 )
      = Y3 ) ).

% image_ident
thf(fact_131_imageE,axiom,
    ! [B2: nat,F: nat > nat,A3: set_nat] :
      ( ( member_nat @ B2 @ ( image_nat_nat @ F @ A3 ) )
     => ~ ! [X2: nat] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_132_imageE,axiom,
    ! [B2: mat_a,F: nat > mat_a,A3: set_nat] :
      ( ( member_mat_a @ B2 @ ( image_nat_mat_a @ F @ A3 ) )
     => ~ ! [X2: nat] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_133_imageE,axiom,
    ! [B2: mat_complex,F: nat > mat_complex,A3: set_nat] :
      ( ( member_mat_complex @ B2 @ ( image_4971298370881856784omplex @ F @ A3 ) )
     => ~ ! [X2: nat] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_134_imageE,axiom,
    ! [B2: nat,F: mat_a > nat,A3: set_mat_a] :
      ( ( member_nat @ B2 @ ( image_mat_a_nat @ F @ A3 ) )
     => ~ ! [X2: mat_a] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_a @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_135_imageE,axiom,
    ! [B2: nat,F: mat_complex > nat,A3: set_mat_complex] :
      ( ( member_nat @ B2 @ ( image_3888497042482528050ex_nat @ F @ A3 ) )
     => ~ ! [X2: mat_complex] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_complex @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_136_imageE,axiom,
    ! [B2: mat_a,F: mat_a > mat_a,A3: set_mat_a] :
      ( ( member_mat_a @ B2 @ ( image_mat_a_mat_a @ F @ A3 ) )
     => ~ ! [X2: mat_a] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_a @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_137_imageE,axiom,
    ! [B2: mat_a,F: mat_complex > mat_a,A3: set_mat_complex] :
      ( ( member_mat_a @ B2 @ ( image_3928002249759489597_mat_a @ F @ A3 ) )
     => ~ ! [X2: mat_complex] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_complex @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_138_imageE,axiom,
    ! [B2: list_mat_a,F: nat > list_mat_a,A3: set_nat] :
      ( ( member_list_mat_a @ B2 @ ( image_nat_list_mat_a @ F @ A3 ) )
     => ~ ! [X2: nat] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_139_imageE,axiom,
    ! [B2: mat_complex,F: mat_a > mat_complex,A3: set_mat_a] :
      ( ( member_mat_complex @ B2 @ ( image_1784612459232958533omplex @ F @ A3 ) )
     => ~ ! [X2: mat_a] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_a @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_140_imageE,axiom,
    ! [B2: mat_complex,F: mat_complex > mat_complex,A3: set_mat_complex] :
      ( ( member_mat_complex @ B2 @ ( image_23760814813800901omplex @ F @ A3 ) )
     => ~ ! [X2: mat_complex] :
            ( ( B2
              = ( F @ X2 ) )
           => ~ ( member_mat_complex @ X2 @ A3 ) ) ) ).

% imageE
thf(fact_141_Sup_OSUP__identity__eq,axiom,
    ! [Sup: set_nat > nat,A3: set_nat] :
      ( ( Sup
        @ ( image_nat_nat
          @ ^ [X5: nat] : X5
          @ A3 ) )
      = ( Sup @ A3 ) ) ).

% Sup.SUP_identity_eq
thf(fact_142_Inf_OINF__identity__eq,axiom,
    ! [Inf: set_nat > nat,A3: set_nat] :
      ( ( Inf
        @ ( image_nat_nat
          @ ^ [X5: nat] : X5
          @ A3 ) )
      = ( Inf @ A3 ) ) ).

% Inf.INF_identity_eq
thf(fact_143_mult__commute__abs,axiom,
    ! [C: nat] :
      ( ( ^ [X5: nat] : ( times_times_nat @ X5 @ C ) )
      = ( times_times_nat @ C ) ) ).

% mult_commute_abs
thf(fact_144_mult__commute__abs,axiom,
    ! [C: complex] :
      ( ( ^ [X5: complex] : ( times_times_complex @ X5 @ C ) )
      = ( times_times_complex @ C ) ) ).

% mult_commute_abs
thf(fact_145_assms_I2_J,axiom,
    ! [X3: mat_a] :
      ( ( member_mat_a @ X3 @ cs )
     => ! [Xa: mat_a] :
          ( ( member_mat_a @ Xa @ cs )
         => ( ( times_times_mat_a @ X3 @ Xa )
            = ( times_times_mat_a @ Xa @ X3 ) ) ) ) ).

% assms(2)
thf(fact_146_assms_I3_J,axiom,
    ( exC
    = ( image_3414620351066639693_mat_a
      @ ^ [A: mat_a] : ( commut2531942506349284476iags_a @ A @ l )
      @ cs ) ) ).

% assms(3)
thf(fact_147_carrier__matD_I1_J,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( dim_row_a @ A3 )
        = Nr ) ) ).

% carrier_matD(1)
thf(fact_148_carrier__matD_I1_J,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( dim_row_complex @ A3 )
        = Nr ) ) ).

% carrier_matD(1)
thf(fact_149_carrier__matD_I2_J,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( dim_col_a @ A3 )
        = Nc ) ) ).

% carrier_matD(2)
thf(fact_150_carrier__matD_I2_J,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( dim_col_complex @ A3 )
        = Nc ) ) ).

% carrier_matD(2)
thf(fact_151_assoc__mult__mat,axiom,
    ! [A3: mat_a,N_1: nat,N_2: nat,B: mat_a,N_3: nat,C2: mat_a,N_4: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ N_1 @ N_2 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N_2 @ N_3 ) )
       => ( ( member_mat_a @ C2 @ ( carrier_mat_a @ N_3 @ N_4 ) )
         => ( ( times_times_mat_a @ ( times_times_mat_a @ A3 @ B ) @ C2 )
            = ( times_times_mat_a @ A3 @ ( times_times_mat_a @ B @ C2 ) ) ) ) ) ) ).

% assoc_mult_mat
thf(fact_152_assoc__mult__mat,axiom,
    ! [A3: mat_complex,N_1: nat,N_2: nat,B: mat_complex,N_3: nat,C2: mat_complex,N_4: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N_1 @ N_2 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N_2 @ N_3 ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N_3 @ N_4 ) )
         => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ C2 )
            = ( times_8009071140041733218omplex @ A3 @ ( times_8009071140041733218omplex @ B @ C2 ) ) ) ) ) ) ).

% assoc_mult_mat
thf(fact_153_mult__carrier__mat,axiom,
    ! [A3: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( member_mat_a @ ( times_times_mat_a @ A3 @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% mult_carrier_mat
thf(fact_154_mult__carrier__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( member_mat_complex @ ( times_8009071140041733218omplex @ A3 @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% mult_carrier_mat
thf(fact_155_carrier__matI,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat] :
      ( ( ( dim_row_a @ A3 )
        = Nr )
     => ( ( ( dim_col_a @ A3 )
          = Nc )
       => ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% carrier_matI
thf(fact_156_carrier__matI,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( ( dim_row_complex @ A3 )
        = Nr )
     => ( ( ( dim_col_complex @ A3 )
          = Nc )
       => ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% carrier_matI
thf(fact_157_carrier__mat__triv,axiom,
    ! [M2: mat_a] : ( member_mat_a @ M2 @ ( carrier_mat_a @ ( dim_row_a @ M2 ) @ ( dim_col_a @ M2 ) ) ) ).

% carrier_mat_triv
thf(fact_158_carrier__mat__triv,axiom,
    ! [M2: mat_complex] : ( member_mat_complex @ M2 @ ( carrier_mat_complex @ ( dim_row_complex @ M2 ) @ ( dim_col_complex @ M2 ) ) ) ).

% carrier_mat_triv
thf(fact_159_carrier__mat__def,axiom,
    ( carrier_mat_a
    = ( ^ [Nr2: nat,Nc2: nat] :
          ( collect_mat_a
          @ ^ [M3: mat_a] :
              ( ( ( dim_row_a @ M3 )
                = Nr2 )
              & ( ( dim_col_a @ M3 )
                = Nc2 ) ) ) ) ) ).

% carrier_mat_def
thf(fact_160_carrier__mat__def,axiom,
    ( carrier_mat_complex
    = ( ^ [Nr2: nat,Nc2: nat] :
          ( collect_mat_complex
          @ ^ [M3: mat_complex] :
              ( ( ( dim_row_complex @ M3 )
                = Nr2 )
              & ( ( dim_col_complex @ M3 )
                = Nc2 ) ) ) ) ) ).

% carrier_mat_def
thf(fact_161_extract__subdiags__carrier,axiom,
    ! [I4: nat,L: list_nat,B: mat_a] :
      ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ L ) )
     => ( member_mat_a @ ( nth_mat_a @ ( commut2531942506349284476iags_a @ B @ L ) @ I4 ) @ ( carrier_mat_a @ ( nth_nat @ L @ I4 ) @ ( nth_nat @ L @ I4 ) ) ) ) ).

% extract_subdiags_carrier
thf(fact_162_extract__subdiags__carrier,axiom,
    ! [I4: nat,L: list_nat,B: mat_complex] :
      ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ L ) )
     => ( member_mat_complex @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ B @ L ) @ I4 ) @ ( carrier_mat_complex @ ( nth_nat @ L @ I4 ) @ ( nth_nat @ L @ I4 ) ) ) ) ).

% extract_subdiags_carrier
thf(fact_163_basic__trans__rules_I1_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C )
       => ( ! [X2: nat,Y4: nat] :
              ( ( ord_less_nat @ X2 @ Y4 )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C ) ) ) ) ).

% basic_trans_rules(1)
thf(fact_164_basic__trans__rules_I2_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X2: nat,Y4: nat] :
              ( ( ord_less_nat @ X2 @ Y4 )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C ) ) ) ) ) ).

% basic_trans_rules(2)
thf(fact_165_basic__trans__rules_I11_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ( F @ B2 )
          = C )
       => ( ! [X2: nat,Y4: nat] :
              ( ( ord_less_nat @ X2 @ Y4 )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C ) ) ) ) ).

% basic_trans_rules(11)
thf(fact_166_basic__trans__rules_I12_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C: nat] :
      ( ( A2
        = ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ! [X2: nat,Y4: nat] :
              ( ( ord_less_nat @ X2 @ Y4 )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C ) ) ) ) ) ).

% basic_trans_rules(12)
thf(fact_167_basic__trans__rules_I19_J,axiom,
    ! [X4: nat,Y2: nat,Z2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z2 )
       => ( ord_less_nat @ X4 @ Z2 ) ) ) ).

% basic_trans_rules(19)
thf(fact_168_basic__trans__rules_I20_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ~ ( ord_less_nat @ B2 @ A2 ) ) ).

% basic_trans_rules(20)
thf(fact_169_basic__trans__rules_I27_J,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( B2 = C )
       => ( ord_less_nat @ A2 @ C ) ) ) ).

% basic_trans_rules(27)
thf(fact_170_basic__trans__rules_I28_J,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( A2 = B2 )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ord_less_nat @ A2 @ C ) ) ) ).

% basic_trans_rules(28)
thf(fact_171_Inf_OINF__cong,axiom,
    ! [A3: set_mat_a,B: set_mat_a,C2: mat_a > list_mat_a,D: mat_a > list_mat_a,Inf: set_list_mat_a > list_mat_a] :
      ( ( A3 = B )
     => ( ! [X2: mat_a] :
            ( ( member_mat_a @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Inf @ ( image_3414620351066639693_mat_a @ C2 @ A3 ) )
          = ( Inf @ ( image_3414620351066639693_mat_a @ D @ B ) ) ) ) ) ).

% Inf.INF_cong
thf(fact_172_Inf_OINF__cong,axiom,
    ! [A3: set_list_mat_a,B: set_list_mat_a,C2: list_mat_a > mat_a,D: list_mat_a > mat_a,Inf: set_mat_a > mat_a] :
      ( ( A3 = B )
     => ( ! [X2: list_mat_a] :
            ( ( member_list_mat_a @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Inf @ ( image_1232966742303607629_mat_a @ C2 @ A3 ) )
          = ( Inf @ ( image_1232966742303607629_mat_a @ D @ B ) ) ) ) ) ).

% Inf.INF_cong
thf(fact_173_Inf_OINF__cong,axiom,
    ! [A3: set_nat,B: set_nat,C2: nat > nat,D: nat > nat,Inf: set_nat > nat] :
      ( ( A3 = B )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Inf @ ( image_nat_nat @ C2 @ A3 ) )
          = ( Inf @ ( image_nat_nat @ D @ B ) ) ) ) ) ).

% Inf.INF_cong
thf(fact_174_Sup_OSUP__cong,axiom,
    ! [A3: set_mat_a,B: set_mat_a,C2: mat_a > list_mat_a,D: mat_a > list_mat_a,Sup: set_list_mat_a > list_mat_a] :
      ( ( A3 = B )
     => ( ! [X2: mat_a] :
            ( ( member_mat_a @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Sup @ ( image_3414620351066639693_mat_a @ C2 @ A3 ) )
          = ( Sup @ ( image_3414620351066639693_mat_a @ D @ B ) ) ) ) ) ).

% Sup.SUP_cong
thf(fact_175_Sup_OSUP__cong,axiom,
    ! [A3: set_list_mat_a,B: set_list_mat_a,C2: list_mat_a > mat_a,D: list_mat_a > mat_a,Sup: set_mat_a > mat_a] :
      ( ( A3 = B )
     => ( ! [X2: list_mat_a] :
            ( ( member_list_mat_a @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Sup @ ( image_1232966742303607629_mat_a @ C2 @ A3 ) )
          = ( Sup @ ( image_1232966742303607629_mat_a @ D @ B ) ) ) ) ) ).

% Sup.SUP_cong
thf(fact_176_Sup_OSUP__cong,axiom,
    ! [A3: set_nat,B: set_nat,C2: nat > nat,D: nat > nat,Sup: set_nat > nat] :
      ( ( A3 = B )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ B )
           => ( ( C2 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Sup @ ( image_nat_nat @ C2 @ A3 ) )
          = ( Sup @ ( image_nat_nat @ D @ B ) ) ) ) ) ).

% Sup.SUP_cong
thf(fact_177_imageI,axiom,
    ! [X4: nat,A3: set_nat,F: nat > nat] :
      ( ( member_nat @ X4 @ A3 )
     => ( member_nat @ ( F @ X4 ) @ ( image_nat_nat @ F @ A3 ) ) ) ).

% imageI
thf(fact_178_imageI,axiom,
    ! [X4: mat_a,A3: set_mat_a,F: mat_a > nat] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( member_nat @ ( F @ X4 ) @ ( image_mat_a_nat @ F @ A3 ) ) ) ).

% imageI
thf(fact_179_imageI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,F: mat_complex > nat] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( member_nat @ ( F @ X4 ) @ ( image_3888497042482528050ex_nat @ F @ A3 ) ) ) ).

% imageI
thf(fact_180_imageI,axiom,
    ! [X4: nat,A3: set_nat,F: nat > mat_a] :
      ( ( member_nat @ X4 @ A3 )
     => ( member_mat_a @ ( F @ X4 ) @ ( image_nat_mat_a @ F @ A3 ) ) ) ).

% imageI
thf(fact_181_imageI,axiom,
    ! [X4: nat,A3: set_nat,F: nat > mat_complex] :
      ( ( member_nat @ X4 @ A3 )
     => ( member_mat_complex @ ( F @ X4 ) @ ( image_4971298370881856784omplex @ F @ A3 ) ) ) ).

% imageI
thf(fact_182_imageI,axiom,
    ! [X4: mat_a,A3: set_mat_a,F: mat_a > mat_a] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( member_mat_a @ ( F @ X4 ) @ ( image_mat_a_mat_a @ F @ A3 ) ) ) ).

% imageI
thf(fact_183_imageI,axiom,
    ! [X4: mat_a,A3: set_mat_a,F: mat_a > mat_complex] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( member_mat_complex @ ( F @ X4 ) @ ( image_1784612459232958533omplex @ F @ A3 ) ) ) ).

% imageI
thf(fact_184_imageI,axiom,
    ! [X4: list_mat_a,A3: set_list_mat_a,F: list_mat_a > nat] :
      ( ( member_list_mat_a @ X4 @ A3 )
     => ( member_nat @ ( F @ X4 ) @ ( image_list_mat_a_nat @ F @ A3 ) ) ) ).

% imageI
thf(fact_185_imageI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,F: mat_complex > mat_a] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( member_mat_a @ ( F @ X4 ) @ ( image_3928002249759489597_mat_a @ F @ A3 ) ) ) ).

% imageI
thf(fact_186_imageI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,F: mat_complex > mat_complex] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( member_mat_complex @ ( F @ X4 ) @ ( image_23760814813800901omplex @ F @ A3 ) ) ) ).

% imageI
thf(fact_187_image__eqI,axiom,
    ! [B2: nat,F: nat > nat,X4: nat,A3: set_nat] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_nat @ X4 @ A3 )
       => ( member_nat @ B2 @ ( image_nat_nat @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_188_image__eqI,axiom,
    ! [B2: nat,F: mat_a > nat,X4: mat_a,A3: set_mat_a] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_a @ X4 @ A3 )
       => ( member_nat @ B2 @ ( image_mat_a_nat @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_189_image__eqI,axiom,
    ! [B2: nat,F: mat_complex > nat,X4: mat_complex,A3: set_mat_complex] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_complex @ X4 @ A3 )
       => ( member_nat @ B2 @ ( image_3888497042482528050ex_nat @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_190_image__eqI,axiom,
    ! [B2: mat_a,F: nat > mat_a,X4: nat,A3: set_nat] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_nat @ X4 @ A3 )
       => ( member_mat_a @ B2 @ ( image_nat_mat_a @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_191_image__eqI,axiom,
    ! [B2: mat_complex,F: nat > mat_complex,X4: nat,A3: set_nat] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_nat @ X4 @ A3 )
       => ( member_mat_complex @ B2 @ ( image_4971298370881856784omplex @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_192_image__eqI,axiom,
    ! [B2: mat_a,F: mat_a > mat_a,X4: mat_a,A3: set_mat_a] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_a @ X4 @ A3 )
       => ( member_mat_a @ B2 @ ( image_mat_a_mat_a @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_193_image__eqI,axiom,
    ! [B2: mat_complex,F: mat_a > mat_complex,X4: mat_a,A3: set_mat_a] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_a @ X4 @ A3 )
       => ( member_mat_complex @ B2 @ ( image_1784612459232958533omplex @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_194_image__eqI,axiom,
    ! [B2: nat,F: list_mat_a > nat,X4: list_mat_a,A3: set_list_mat_a] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_list_mat_a @ X4 @ A3 )
       => ( member_nat @ B2 @ ( image_list_mat_a_nat @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_195_image__eqI,axiom,
    ! [B2: mat_a,F: mat_complex > mat_a,X4: mat_complex,A3: set_mat_complex] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_complex @ X4 @ A3 )
       => ( member_mat_a @ B2 @ ( image_3928002249759489597_mat_a @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_196_image__eqI,axiom,
    ! [B2: mat_complex,F: mat_complex > mat_complex,X4: mat_complex,A3: set_mat_complex] :
      ( ( B2
        = ( F @ X4 ) )
     => ( ( member_mat_complex @ X4 @ A3 )
       => ( member_mat_complex @ B2 @ ( image_23760814813800901omplex @ F @ A3 ) ) ) ) ).

% image_eqI
thf(fact_197_image__iff,axiom,
    ! [Z2: mat_a,F: list_mat_a > mat_a,A3: set_list_mat_a] :
      ( ( member_mat_a @ Z2 @ ( image_1232966742303607629_mat_a @ F @ A3 ) )
      = ( ? [X5: list_mat_a] :
            ( ( member_list_mat_a @ X5 @ A3 )
            & ( Z2
              = ( F @ X5 ) ) ) ) ) ).

% image_iff
thf(fact_198_image__iff,axiom,
    ! [Z2: list_mat_a,F: mat_a > list_mat_a,A3: set_mat_a] :
      ( ( member_list_mat_a @ Z2 @ ( image_3414620351066639693_mat_a @ F @ A3 ) )
      = ( ? [X5: mat_a] :
            ( ( member_mat_a @ X5 @ A3 )
            & ( Z2
              = ( F @ X5 ) ) ) ) ) ).

% image_iff
thf(fact_199_image__iff,axiom,
    ! [Z2: nat,F: nat > nat,A3: set_nat] :
      ( ( member_nat @ Z2 @ ( image_nat_nat @ F @ A3 ) )
      = ( ? [X5: nat] :
            ( ( member_nat @ X5 @ A3 )
            & ( Z2
              = ( F @ X5 ) ) ) ) ) ).

% image_iff
thf(fact_200_bex__imageD,axiom,
    ! [F: list_mat_a > mat_a,A3: set_list_mat_a,P: mat_a > $o] :
      ( ? [X3: mat_a] :
          ( ( member_mat_a @ X3 @ ( image_1232966742303607629_mat_a @ F @ A3 ) )
          & ( P @ X3 ) )
     => ? [X2: list_mat_a] :
          ( ( member_list_mat_a @ X2 @ A3 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_201_bex__imageD,axiom,
    ! [F: mat_a > list_mat_a,A3: set_mat_a,P: list_mat_a > $o] :
      ( ? [X3: list_mat_a] :
          ( ( member_list_mat_a @ X3 @ ( image_3414620351066639693_mat_a @ F @ A3 ) )
          & ( P @ X3 ) )
     => ? [X2: mat_a] :
          ( ( member_mat_a @ X2 @ A3 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_202_bex__imageD,axiom,
    ! [F: nat > nat,A3: set_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( image_nat_nat @ F @ A3 ) )
          & ( P @ X3 ) )
     => ? [X2: nat] :
          ( ( member_nat @ X2 @ A3 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_203_image__cong,axiom,
    ! [M4: set_mat_a,N4: set_mat_a,F: mat_a > list_mat_a,G: mat_a > list_mat_a] :
      ( ( M4 = N4 )
     => ( ! [X2: mat_a] :
            ( ( member_mat_a @ X2 @ N4 )
           => ( ( F @ X2 )
              = ( G @ X2 ) ) )
       => ( ( image_3414620351066639693_mat_a @ F @ M4 )
          = ( image_3414620351066639693_mat_a @ G @ N4 ) ) ) ) ).

% image_cong
thf(fact_204_image__cong,axiom,
    ! [M4: set_list_mat_a,N4: set_list_mat_a,F: list_mat_a > mat_a,G: list_mat_a > mat_a] :
      ( ( M4 = N4 )
     => ( ! [X2: list_mat_a] :
            ( ( member_list_mat_a @ X2 @ N4 )
           => ( ( F @ X2 )
              = ( G @ X2 ) ) )
       => ( ( image_1232966742303607629_mat_a @ F @ M4 )
          = ( image_1232966742303607629_mat_a @ G @ N4 ) ) ) ) ).

% image_cong
thf(fact_205_image__cong,axiom,
    ! [M4: set_nat,N4: set_nat,F: nat > nat,G: nat > nat] :
      ( ( M4 = N4 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ N4 )
           => ( ( F @ X2 )
              = ( G @ X2 ) ) )
       => ( ( image_nat_nat @ F @ M4 )
          = ( image_nat_nat @ G @ N4 ) ) ) ) ).

% image_cong
thf(fact_206_ball__imageD,axiom,
    ! [F: list_mat_a > mat_a,A3: set_list_mat_a,P: mat_a > $o] :
      ( ! [X2: mat_a] :
          ( ( member_mat_a @ X2 @ ( image_1232966742303607629_mat_a @ F @ A3 ) )
         => ( P @ X2 ) )
     => ! [X3: list_mat_a] :
          ( ( member_list_mat_a @ X3 @ A3 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_207_ball__imageD,axiom,
    ! [F: mat_a > list_mat_a,A3: set_mat_a,P: list_mat_a > $o] :
      ( ! [X2: list_mat_a] :
          ( ( member_list_mat_a @ X2 @ ( image_3414620351066639693_mat_a @ F @ A3 ) )
         => ( P @ X2 ) )
     => ! [X3: mat_a] :
          ( ( member_mat_a @ X3 @ A3 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_208_ball__imageD,axiom,
    ! [F: nat > nat,A3: set_nat,P: nat > $o] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( image_nat_nat @ F @ A3 ) )
         => ( P @ X2 ) )
     => ! [X3: nat] :
          ( ( member_nat @ X3 @ A3 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_209_rev__image__eqI,axiom,
    ! [X4: nat,A3: set_nat,B2: nat,F: nat > nat] :
      ( ( member_nat @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_nat @ B2 @ ( image_nat_nat @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_210_rev__image__eqI,axiom,
    ! [X4: mat_a,A3: set_mat_a,B2: nat,F: mat_a > nat] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_nat @ B2 @ ( image_mat_a_nat @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_211_rev__image__eqI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,B2: nat,F: mat_complex > nat] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_nat @ B2 @ ( image_3888497042482528050ex_nat @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_212_rev__image__eqI,axiom,
    ! [X4: nat,A3: set_nat,B2: mat_a,F: nat > mat_a] :
      ( ( member_nat @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_a @ B2 @ ( image_nat_mat_a @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_213_rev__image__eqI,axiom,
    ! [X4: nat,A3: set_nat,B2: mat_complex,F: nat > mat_complex] :
      ( ( member_nat @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_complex @ B2 @ ( image_4971298370881856784omplex @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_214_rev__image__eqI,axiom,
    ! [X4: mat_a,A3: set_mat_a,B2: mat_a,F: mat_a > mat_a] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_a @ B2 @ ( image_mat_a_mat_a @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_215_rev__image__eqI,axiom,
    ! [X4: mat_a,A3: set_mat_a,B2: mat_complex,F: mat_a > mat_complex] :
      ( ( member_mat_a @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_complex @ B2 @ ( image_1784612459232958533omplex @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_216_rev__image__eqI,axiom,
    ! [X4: list_mat_a,A3: set_list_mat_a,B2: nat,F: list_mat_a > nat] :
      ( ( member_list_mat_a @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_nat @ B2 @ ( image_list_mat_a_nat @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_217_rev__image__eqI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,B2: mat_a,F: mat_complex > mat_a] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_a @ B2 @ ( image_3928002249759489597_mat_a @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_218_rev__image__eqI,axiom,
    ! [X4: mat_complex,A3: set_mat_complex,B2: mat_complex,F: mat_complex > mat_complex] :
      ( ( member_mat_complex @ X4 @ A3 )
     => ( ( B2
          = ( F @ X4 ) )
       => ( member_mat_complex @ B2 @ ( image_23760814813800901omplex @ F @ A3 ) ) ) ) ).

% rev_image_eqI
thf(fact_219_extract__subdiags__length,axiom,
    ! [B: mat_a,L: list_nat] :
      ( ( size_size_list_mat_a @ ( commut2531942506349284476iags_a @ B @ L ) )
      = ( size_size_list_nat @ L ) ) ).

% extract_subdiags_length
thf(fact_220_extract__subdiags__length,axiom,
    ! [B: mat_complex,L: list_nat] :
      ( ( size_s5969786470865220249omplex @ ( commut6900707758132580272omplex @ B @ L ) )
      = ( size_size_list_nat @ L ) ) ).

% extract_subdiags_length
thf(fact_221_per__diag__carrier,axiom,
    ! [A3: mat_a,F: nat > nat] : ( member_mat_a @ ( commuting_per_diag_a @ A3 @ F ) @ ( carrier_mat_a @ ( dim_row_a @ A3 ) @ ( dim_col_a @ A3 ) ) ) ).

% per_diag_carrier
thf(fact_222_per__diag__carrier,axiom,
    ! [A3: mat_complex,F: nat > nat] : ( member_mat_complex @ ( commut4119912100034661455omplex @ A3 @ F ) @ ( carrier_mat_complex @ ( dim_row_complex @ A3 ) @ ( dim_col_complex @ A3 ) ) ) ).

% per_diag_carrier
thf(fact_223_mk__diagonal__dim_I2_J,axiom,
    ! [As: list_a] :
      ( ( dim_col_a @ ( mk_diagonal_a @ As ) )
      = ( size_size_list_a @ As ) ) ).

% mk_diagonal_dim(2)
thf(fact_224_mk__diagonal__dim_I2_J,axiom,
    ! [As: list_complex] :
      ( ( dim_col_complex @ ( mk_diagonal_complex @ As ) )
      = ( size_s3451745648224563538omplex @ As ) ) ).

% mk_diagonal_dim(2)
thf(fact_225_mk__diagonal__dim_I2_J,axiom,
    ! [As: list_nat] :
      ( ( dim_col_nat @ ( mk_diagonal_nat @ As ) )
      = ( size_size_list_nat @ As ) ) ).

% mk_diagonal_dim(2)
thf(fact_226_mk__diagonal__dim_I1_J,axiom,
    ! [As: list_a] :
      ( ( dim_row_a @ ( mk_diagonal_a @ As ) )
      = ( size_size_list_a @ As ) ) ).

% mk_diagonal_dim(1)
thf(fact_227_mk__diagonal__dim_I1_J,axiom,
    ! [As: list_complex] :
      ( ( dim_row_complex @ ( mk_diagonal_complex @ As ) )
      = ( size_s3451745648224563538omplex @ As ) ) ).

% mk_diagonal_dim(1)
thf(fact_228_mk__diagonal__dim_I1_J,axiom,
    ! [As: list_nat] :
      ( ( dim_row_nat @ ( mk_diagonal_nat @ As ) )
      = ( size_size_list_nat @ As ) ) ).

% mk_diagonal_dim(1)
thf(fact_229_real__diag__decomp__mult__dbm__unit,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,U: mat_complex,Bl: list_mat_complex,Ul: list_mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr5409772854192057952omplex @ A3 @ B @ U )
       => ( ( B
            = ( diag_b9145358668110806138omplex @ Bl ) )
         => ( ( ( size_s5969786470865220249omplex @ Ul )
              = ( size_s5969786470865220249omplex @ Bl ) )
           => ( ! [I2: nat] :
                  ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
                 => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
                    = ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) ) ) )
             => ( ! [I2: nat] :
                    ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
                   => ( ( dim_row_complex @ ( nth_mat_complex @ Bl @ I2 ) )
                      = ( dim_row_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
               => ( ! [I2: nat] :
                      ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Bl ) )
                     => ( ( dim_col_complex @ ( nth_mat_complex @ Bl @ I2 ) )
                        = ( dim_col_complex @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
                 => ( ( comple6660659447773130958omplex @ ( diag_b9145358668110806138omplex @ Ul ) )
                   => ( ! [I2: nat] :
                          ( ( ord_less_nat @ I2 @ ( size_s5969786470865220249omplex @ Ul ) )
                         => ( ( times_8009071140041733218omplex @ ( nth_mat_complex @ Ul @ I2 ) @ ( nth_mat_complex @ Bl @ I2 ) )
                            = ( times_8009071140041733218omplex @ ( nth_mat_complex @ Bl @ I2 ) @ ( nth_mat_complex @ Ul @ I2 ) ) ) )
                     => ( spectr5409772854192057952omplex @ A3 @ B @ ( times_8009071140041733218omplex @ U @ ( diag_b9145358668110806138omplex @ Ul ) ) ) ) ) ) ) ) ) ) ) ) ).

% real_diag_decomp_mult_dbm_unit
thf(fact_230_diag__compat__extract__subdiag,axiom,
    ! [B: mat_a,N: nat,L: list_nat] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
     => ( ( commut3805009435888488104mpat_a @ B @ L )
       => ( B
          = ( diag_block_mat_a @ ( commut2531942506349284476iags_a @ B @ L ) ) ) ) ) ).

% diag_compat_extract_subdiag
thf(fact_231_diag__compat__extract__subdiag,axiom,
    ! [B: mat_complex,N: nat,L: list_nat] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
     => ( ( commut5261563022830629508omplex @ B @ L )
       => ( B
          = ( diag_b9145358668110806138omplex @ ( commut6900707758132580272omplex @ B @ L ) ) ) ) ) ).

% diag_compat_extract_subdiag
thf(fact_232_mat__diag__diag,axiom,
    ! [N: nat,F: nat > nat,G: nat > nat] :
      ( ( times_times_mat_nat @ ( mat_diag_nat @ N @ F ) @ ( mat_diag_nat @ N @ G ) )
      = ( mat_diag_nat @ N
        @ ^ [I3: nat] : ( times_times_nat @ ( F @ I3 ) @ ( G @ I3 ) ) ) ) ).

% mat_diag_diag
thf(fact_233_mat__diag__diag,axiom,
    ! [N: nat,F: nat > a,G: nat > a] :
      ( ( times_times_mat_a @ ( mat_diag_a @ N @ F ) @ ( mat_diag_a @ N @ G ) )
      = ( mat_diag_a @ N
        @ ^ [I3: nat] : ( times_times_a @ ( F @ I3 ) @ ( G @ I3 ) ) ) ) ).

% mat_diag_diag
thf(fact_234_mat__diag__diag,axiom,
    ! [N: nat,F: nat > complex,G: nat > complex] :
      ( ( times_8009071140041733218omplex @ ( mat_diag_complex @ N @ F ) @ ( mat_diag_complex @ N @ G ) )
      = ( mat_diag_complex @ N
        @ ^ [I3: nat] : ( times_times_complex @ ( F @ I3 ) @ ( G @ I3 ) ) ) ) ).

% mat_diag_diag
thf(fact_235_hermitian__decomp__dim__carrier,axiom,
    ! [A3: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A3 @ B @ U )
     => ( member_mat_complex @ B @ ( carrier_mat_complex @ ( dim_row_complex @ A3 ) @ ( dim_col_complex @ A3 ) ) ) ) ).

% hermitian_decomp_dim_carrier
thf(fact_236_step__2__main__dims__main,axiom,
    ! [N: nat,J: nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan6916311984355858983omplex @ N @ J @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan6916311984355858983omplex @ N @ J @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_2_main_dims_main
thf(fact_237_square__mat_Oelims_I3_J,axiom,
    ! [X4: mat_a] :
      ( ~ ( square_mat_a @ X4 )
     => ( ( dim_col_a @ X4 )
       != ( dim_row_a @ X4 ) ) ) ).

% square_mat.elims(3)
thf(fact_238_square__mat_Oelims_I3_J,axiom,
    ! [X4: mat_complex] :
      ( ~ ( square_mat_complex @ X4 )
     => ( ( dim_col_complex @ X4 )
       != ( dim_row_complex @ X4 ) ) ) ).

% square_mat.elims(3)
thf(fact_239_square__mat_Oelims_I2_J,axiom,
    ! [X4: mat_a] :
      ( ( square_mat_a @ X4 )
     => ( ( dim_col_a @ X4 )
        = ( dim_row_a @ X4 ) ) ) ).

% square_mat.elims(2)
thf(fact_240_square__mat_Oelims_I2_J,axiom,
    ! [X4: mat_complex] :
      ( ( square_mat_complex @ X4 )
     => ( ( dim_col_complex @ X4 )
        = ( dim_row_complex @ X4 ) ) ) ).

% square_mat.elims(2)
thf(fact_241_square__mat_Oelims_I1_J,axiom,
    ! [X4: mat_a,Y2: $o] :
      ( ( ( square_mat_a @ X4 )
        = Y2 )
     => ( Y2
        = ( ( dim_col_a @ X4 )
          = ( dim_row_a @ X4 ) ) ) ) ).

% square_mat.elims(1)
thf(fact_242_square__mat_Oelims_I1_J,axiom,
    ! [X4: mat_complex,Y2: $o] :
      ( ( ( square_mat_complex @ X4 )
        = Y2 )
     => ( Y2
        = ( ( dim_col_complex @ X4 )
          = ( dim_row_complex @ X4 ) ) ) ) ).

% square_mat.elims(1)
thf(fact_243_hermitian__decomp__unitary,axiom,
    ! [A3: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A3 @ B @ U )
     => ( comple6660659447773130958omplex @ U ) ) ).

% hermitian_decomp_unitary
thf(fact_244_step__2__main__dims_I1_J,axiom,
    ! [N: nat,J: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan6916311984355858983omplex @ N @ J @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_2_main_dims(1)
thf(fact_245_step__2__main__dims_I2_J,axiom,
    ! [N: nat,J: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan6916311984355858983omplex @ N @ J @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_2_main_dims(2)
thf(fact_246_mat__diag__dim,axiom,
    ! [N: nat,F: nat > a] : ( member_mat_a @ ( mat_diag_a @ N @ F ) @ ( carrier_mat_a @ N @ N ) ) ).

% mat_diag_dim
thf(fact_247_mat__diag__dim,axiom,
    ! [N: nat,F: nat > complex] : ( member_mat_complex @ ( mat_diag_complex @ N @ F ) @ ( carrier_mat_complex @ N @ N ) ) ).

% mat_diag_dim
thf(fact_248_square__mat_Osimps,axiom,
    ( square_mat_a
    = ( ^ [A: mat_a] :
          ( ( dim_col_a @ A )
          = ( dim_row_a @ A ) ) ) ) ).

% square_mat.simps
thf(fact_249_square__mat_Osimps,axiom,
    ( square_mat_complex
    = ( ^ [A: mat_complex] :
          ( ( dim_col_complex @ A )
          = ( dim_row_complex @ A ) ) ) ) ).

% square_mat.simps
thf(fact_250_unitary__times__unitary,axiom,
    ! [P: mat_complex,N: nat,Q: mat_complex] :
      ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ Q @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple6660659447773130958omplex @ P )
         => ( ( comple6660659447773130958omplex @ Q )
           => ( comple6660659447773130958omplex @ ( times_8009071140041733218omplex @ P @ Q ) ) ) ) ) ) ).

% unitary_times_unitary
thf(fact_251_per__diag__diag__mat,axiom,
    ! [A3: mat_mat_a,N: nat,I4: nat,F: nat > nat] :
      ( ( member_mat_mat_a @ A3 @ ( carrier_mat_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( ord_less_nat @ ( F @ I4 ) @ N )
         => ( ( nth_mat_a @ ( diag_mat_mat_a @ ( commut4845697108357530492_mat_a @ A3 @ F ) ) @ I4 )
            = ( nth_mat_a @ ( diag_mat_mat_a @ A3 ) @ ( F @ I4 ) ) ) ) ) ) ).

% per_diag_diag_mat
thf(fact_252_per__diag__diag__mat,axiom,
    ! [A3: mat_nat,N: nat,I4: nat,F: nat > nat] :
      ( ( member_mat_nat @ A3 @ ( carrier_mat_nat @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( ord_less_nat @ ( F @ I4 ) @ N )
         => ( ( nth_nat @ ( diag_mat_nat @ ( commut5604902300900073841ag_nat @ A3 @ F ) ) @ I4 )
            = ( nth_nat @ ( diag_mat_nat @ A3 ) @ ( F @ I4 ) ) ) ) ) ) ).

% per_diag_diag_mat
thf(fact_253_per__diag__diag__mat,axiom,
    ! [A3: mat_mat_complex,N: nat,I4: nat,F: nat > nat] :
      ( ( member7752848204589936667omplex @ A3 @ ( carrie8442657464762054641omplex @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( ord_less_nat @ ( F @ I4 ) @ N )
         => ( ( nth_mat_complex @ ( diag_mat_mat_complex @ ( commut3385207333667201222omplex @ A3 @ F ) ) @ I4 )
            = ( nth_mat_complex @ ( diag_mat_mat_complex @ A3 ) @ ( F @ I4 ) ) ) ) ) ) ).

% per_diag_diag_mat
thf(fact_254_per__diag__diag__mat,axiom,
    ! [A3: mat_a,N: nat,I4: nat,F: nat > nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( ord_less_nat @ ( F @ I4 ) @ N )
         => ( ( nth_a @ ( diag_mat_a @ ( commuting_per_diag_a @ A3 @ F ) ) @ I4 )
            = ( nth_a @ ( diag_mat_a @ A3 ) @ ( F @ I4 ) ) ) ) ) ) ).

% per_diag_diag_mat
thf(fact_255_per__diag__diag__mat,axiom,
    ! [A3: mat_complex,N: nat,I4: nat,F: nat > nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( ord_less_nat @ ( F @ I4 ) @ N )
         => ( ( nth_complex @ ( diag_mat_complex @ ( commut4119912100034661455omplex @ A3 @ F ) ) @ I4 )
            = ( nth_complex @ ( diag_mat_complex @ A3 ) @ ( F @ I4 ) ) ) ) ) ) ).

% per_diag_diag_mat
thf(fact_256_real__diag__decomp__block__set,axiom,
    ! [Als: set_list_mat_complex,N: nat] :
      ( ( Als != bot_bo6377478972893813113omplex )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ! [X2: list_mat_complex] :
              ( ( member279434397506102358omplex @ X2 @ Als )
             => ( ( size_s5969786470865220249omplex @ X2 )
                = N ) )
         => ( ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ N )
               => ! [X2: list_mat_complex] :
                    ( ( member279434397506102358omplex @ X2 @ Als )
                   => ( ( dim_row_complex @ ( nth_mat_complex @ X2 @ I2 ) )
                      = ( dim_col_complex @ ( nth_mat_complex @ X2 @ I2 ) ) ) ) )
           => ( ! [I2: nat] :
                  ( ( ord_less_nat @ I2 @ N )
                 => ? [U2: mat_complex] :
                    ! [X2: list_mat_complex] :
                      ( ( member279434397506102358omplex @ X2 @ Als )
                     => ? [B3: mat_complex] : ( spectr5409772854192057952omplex @ ( nth_mat_complex @ X2 @ I2 ) @ B3 @ U2 ) ) )
             => ? [Ul2: list_mat_complex] :
                  ( ( ( size_s5969786470865220249omplex @ Ul2 )
                    = N )
                  & ! [I: nat] :
                      ( ( ord_less_nat @ I @ N )
                     => ! [X3: list_mat_complex] :
                          ( ( member279434397506102358omplex @ X3 @ Als )
                         => ( ( ( dim_row_complex @ ( nth_mat_complex @ Ul2 @ I ) )
                              = ( dim_row_complex @ ( nth_mat_complex @ X3 @ I ) ) )
                            & ( ( dim_col_complex @ ( nth_mat_complex @ Ul2 @ I ) )
                              = ( dim_col_complex @ ( nth_mat_complex @ X3 @ I ) ) ) ) ) )
                  & ! [X3: list_mat_complex] :
                      ( ( member279434397506102358omplex @ X3 @ Als )
                     => ? [Bl2: list_mat_complex] :
                          ( ( ( size_s5969786470865220249omplex @ Bl2 )
                            = N )
                          & ( spectr5409772854192057952omplex @ ( diag_b9145358668110806138omplex @ X3 ) @ ( diag_b9145358668110806138omplex @ Bl2 ) @ ( diag_b9145358668110806138omplex @ Ul2 ) ) ) ) ) ) ) ) ) ) ).

% real_diag_decomp_block_set
thf(fact_257_step__3__c__inner__loop__dims__main,axiom,
    ! [Val: complex,L: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan7656109678144820486omplex @ Val @ L @ I4 @ J @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan7656109678144820486omplex @ Val @ L @ I4 @ J @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_3_c_inner_loop_dims_main
thf(fact_258_step__3__main__dims__main,axiom,
    ! [N: nat,K: nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan4702481308941288104omplex @ N @ K @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan4702481308941288104omplex @ N @ K @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_3_main_dims_main
thf(fact_259_uminus__mult__right__mat,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( ( dim_col_complex @ A3 )
        = ( dim_row_complex @ B ) )
     => ( ( times_8009071140041733218omplex @ A3 @ ( uminus467866341702955550omplex @ B ) )
        = ( uminus467866341702955550omplex @ ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ).

% uminus_mult_right_mat
thf(fact_260_uminus__mult__left__mat,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( ( dim_col_complex @ A3 )
        = ( dim_row_complex @ B ) )
     => ( ( times_8009071140041733218omplex @ ( uminus467866341702955550omplex @ A3 ) @ B )
        = ( uminus467866341702955550omplex @ ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ).

% uminus_mult_left_mat
thf(fact_261_step__1__main__dims__main,axiom,
    ! [N: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan9130142659770429862omplex @ N @ I4 @ J @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan9130142659770429862omplex @ N @ I4 @ J @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_1_main_dims_main
thf(fact_262_step__3__c__dims__main,axiom,
    ! [X4: complex,L: nat,K: nat,I4: list_P6011104703257516679at_nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan5343229918868201426omplex @ X4 @ L @ K @ I4 @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan5343229918868201426omplex @ X4 @ L @ K @ I4 @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_3_c_dims_main
thf(fact_263_step__3__a__dims__main,axiom,
    ! [I4: nat,J: nat,A3: mat_complex] :
      ( ( ( dim_row_complex @ ( jordan2858886415929732048omplex @ I4 @ J @ A3 ) )
        = ( dim_row_complex @ A3 ) )
      & ( ( dim_col_complex @ ( jordan2858886415929732048omplex @ I4 @ J @ A3 ) )
        = ( dim_col_complex @ A3 ) ) ) ).

% step_3_a_dims_main
thf(fact_264_mult__cancel2,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( ( times_times_nat @ M2 @ K )
        = ( times_times_nat @ N @ K ) )
      = ( ( M2 = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel2
thf(fact_265_mult__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M2 )
        = ( times_times_nat @ K @ N ) )
      = ( ( M2 = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel1
thf(fact_266_mult__0__right,axiom,
    ! [M2: nat] :
      ( ( times_times_nat @ M2 @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_267_mult__is__0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( times_times_nat @ M2 @ N )
        = zero_zero_nat )
      = ( ( M2 = zero_zero_nat )
        | ( N = zero_zero_nat ) ) ) ).

% mult_is_0
thf(fact_268_mult__0,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% mult_0
thf(fact_269_uminus__uminus__mat,axiom,
    ! [A3: mat_complex] :
      ( ( uminus467866341702955550omplex @ ( uminus467866341702955550omplex @ A3 ) )
      = A3 ) ).

% uminus_uminus_mat
thf(fact_270_uminus__eq__mat,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( ( uminus467866341702955550omplex @ A3 )
        = ( uminus467866341702955550omplex @ B ) )
      = ( A3 = B ) ) ).

% uminus_eq_mat
thf(fact_271_all__not__in__conv,axiom,
    ! [A3: set_mat_a] :
      ( ( ! [X5: mat_a] :
            ~ ( member_mat_a @ X5 @ A3 ) )
      = ( A3 = bot_bot_set_mat_a ) ) ).

% all_not_in_conv
thf(fact_272_all__not__in__conv,axiom,
    ! [A3: set_list_mat_a] :
      ( ( ! [X5: list_mat_a] :
            ~ ( member_list_mat_a @ X5 @ A3 ) )
      = ( A3 = bot_bo2759726786008686517_mat_a ) ) ).

% all_not_in_conv
thf(fact_273_all__not__in__conv,axiom,
    ! [A3: set_mat_complex] :
      ( ( ! [X5: mat_complex] :
            ~ ( member_mat_complex @ X5 @ A3 ) )
      = ( A3 = bot_bo7165004461764951667omplex ) ) ).

% all_not_in_conv
thf(fact_274_all__not__in__conv,axiom,
    ! [A3: set_nat] :
      ( ( ! [X5: nat] :
            ~ ( member_nat @ X5 @ A3 ) )
      = ( A3 = bot_bot_set_nat ) ) ).

% all_not_in_conv
thf(fact_275_ex__in__conv,axiom,
    ! [A3: set_mat_a] :
      ( ( ? [X5: mat_a] : ( member_mat_a @ X5 @ A3 ) )
      = ( A3 != bot_bot_set_mat_a ) ) ).

% ex_in_conv
thf(fact_276_ex__in__conv,axiom,
    ! [A3: set_list_mat_a] :
      ( ( ? [X5: list_mat_a] : ( member_list_mat_a @ X5 @ A3 ) )
      = ( A3 != bot_bo2759726786008686517_mat_a ) ) ).

% ex_in_conv
thf(fact_277_ex__in__conv,axiom,
    ! [A3: set_mat_complex] :
      ( ( ? [X5: mat_complex] : ( member_mat_complex @ X5 @ A3 ) )
      = ( A3 != bot_bo7165004461764951667omplex ) ) ).

% ex_in_conv
thf(fact_278_ex__in__conv,axiom,
    ! [A3: set_nat] :
      ( ( ? [X5: nat] : ( member_nat @ X5 @ A3 ) )
      = ( A3 != bot_bot_set_nat ) ) ).

% ex_in_conv
thf(fact_279_empty__iff,axiom,
    ! [C: mat_a] :
      ~ ( member_mat_a @ C @ bot_bot_set_mat_a ) ).

% empty_iff
thf(fact_280_empty__iff,axiom,
    ! [C: list_mat_a] :
      ~ ( member_list_mat_a @ C @ bot_bo2759726786008686517_mat_a ) ).

% empty_iff
thf(fact_281_empty__iff,axiom,
    ! [C: mat_complex] :
      ~ ( member_mat_complex @ C @ bot_bo7165004461764951667omplex ) ).

% empty_iff
thf(fact_282_empty__iff,axiom,
    ! [C: nat] :
      ~ ( member_nat @ C @ bot_bot_set_nat ) ).

% empty_iff
thf(fact_283_equals0I,axiom,
    ! [A3: set_mat_a] :
      ( ! [Y4: mat_a] :
          ~ ( member_mat_a @ Y4 @ A3 )
     => ( A3 = bot_bot_set_mat_a ) ) ).

% equals0I
thf(fact_284_equals0I,axiom,
    ! [A3: set_list_mat_a] :
      ( ! [Y4: list_mat_a] :
          ~ ( member_list_mat_a @ Y4 @ A3 )
     => ( A3 = bot_bo2759726786008686517_mat_a ) ) ).

% equals0I
thf(fact_285_equals0I,axiom,
    ! [A3: set_mat_complex] :
      ( ! [Y4: mat_complex] :
          ~ ( member_mat_complex @ Y4 @ A3 )
     => ( A3 = bot_bo7165004461764951667omplex ) ) ).

% equals0I
thf(fact_286_equals0I,axiom,
    ! [A3: set_nat] :
      ( ! [Y4: nat] :
          ~ ( member_nat @ Y4 @ A3 )
     => ( A3 = bot_bot_set_nat ) ) ).

% equals0I
thf(fact_287_equals0D,axiom,
    ! [A3: set_mat_a,A2: mat_a] :
      ( ( A3 = bot_bot_set_mat_a )
     => ~ ( member_mat_a @ A2 @ A3 ) ) ).

% equals0D
thf(fact_288_equals0D,axiom,
    ! [A3: set_list_mat_a,A2: list_mat_a] :
      ( ( A3 = bot_bo2759726786008686517_mat_a )
     => ~ ( member_list_mat_a @ A2 @ A3 ) ) ).

% equals0D
thf(fact_289_equals0D,axiom,
    ! [A3: set_mat_complex,A2: mat_complex] :
      ( ( A3 = bot_bo7165004461764951667omplex )
     => ~ ( member_mat_complex @ A2 @ A3 ) ) ).

% equals0D
thf(fact_290_equals0D,axiom,
    ! [A3: set_nat,A2: nat] :
      ( ( A3 = bot_bot_set_nat )
     => ~ ( member_nat @ A2 @ A3 ) ) ).

% equals0D
thf(fact_291_emptyE,axiom,
    ! [A2: mat_a] :
      ~ ( member_mat_a @ A2 @ bot_bot_set_mat_a ) ).

% emptyE
thf(fact_292_emptyE,axiom,
    ! [A2: list_mat_a] :
      ~ ( member_list_mat_a @ A2 @ bot_bo2759726786008686517_mat_a ) ).

% emptyE
thf(fact_293_emptyE,axiom,
    ! [A2: mat_complex] :
      ~ ( member_mat_complex @ A2 @ bot_bo7165004461764951667omplex ) ).

% emptyE
thf(fact_294_emptyE,axiom,
    ! [A2: nat] :
      ~ ( member_nat @ A2 @ bot_bot_set_nat ) ).

% emptyE
thf(fact_295_uminus__carrier__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( uminus467866341702955550omplex @ A3 ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% uminus_carrier_mat
thf(fact_296_uminus__carrier__iff__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ ( uminus467866341702955550omplex @ A3 ) @ ( carrier_mat_complex @ Nr @ Nc ) )
      = ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% uminus_carrier_iff_mat
thf(fact_297_index__uminus__mat_I2_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_row_complex @ ( uminus467866341702955550omplex @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% index_uminus_mat(2)
thf(fact_298_index__uminus__mat_I3_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_col_complex @ ( uminus467866341702955550omplex @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% index_uminus_mat(3)
thf(fact_299_image__empty,axiom,
    ! [F: list_mat_a > mat_a] :
      ( ( image_1232966742303607629_mat_a @ F @ bot_bo2759726786008686517_mat_a )
      = bot_bot_set_mat_a ) ).

% image_empty
thf(fact_300_image__empty,axiom,
    ! [F: mat_a > list_mat_a] :
      ( ( image_3414620351066639693_mat_a @ F @ bot_bot_set_mat_a )
      = bot_bo2759726786008686517_mat_a ) ).

% image_empty
thf(fact_301_image__empty,axiom,
    ! [F: nat > nat] :
      ( ( image_nat_nat @ F @ bot_bot_set_nat )
      = bot_bot_set_nat ) ).

% image_empty
thf(fact_302_empty__is__image,axiom,
    ! [F: list_mat_a > mat_a,A3: set_list_mat_a] :
      ( ( bot_bot_set_mat_a
        = ( image_1232966742303607629_mat_a @ F @ A3 ) )
      = ( A3 = bot_bo2759726786008686517_mat_a ) ) ).

% empty_is_image
thf(fact_303_empty__is__image,axiom,
    ! [F: mat_a > list_mat_a,A3: set_mat_a] :
      ( ( bot_bo2759726786008686517_mat_a
        = ( image_3414620351066639693_mat_a @ F @ A3 ) )
      = ( A3 = bot_bot_set_mat_a ) ) ).

% empty_is_image
thf(fact_304_empty__is__image,axiom,
    ! [F: nat > nat,A3: set_nat] :
      ( ( bot_bot_set_nat
        = ( image_nat_nat @ F @ A3 ) )
      = ( A3 = bot_bot_set_nat ) ) ).

% empty_is_image
thf(fact_305_image__is__empty,axiom,
    ! [F: list_mat_a > mat_a,A3: set_list_mat_a] :
      ( ( ( image_1232966742303607629_mat_a @ F @ A3 )
        = bot_bot_set_mat_a )
      = ( A3 = bot_bo2759726786008686517_mat_a ) ) ).

% image_is_empty
thf(fact_306_image__is__empty,axiom,
    ! [F: mat_a > list_mat_a,A3: set_mat_a] :
      ( ( ( image_3414620351066639693_mat_a @ F @ A3 )
        = bot_bo2759726786008686517_mat_a )
      = ( A3 = bot_bot_set_mat_a ) ) ).

% image_is_empty
thf(fact_307_image__is__empty,axiom,
    ! [F: nat > nat,A3: set_nat] :
      ( ( ( image_nat_nat @ F @ A3 )
        = bot_bot_set_nat )
      = ( A3 = bot_bot_set_nat ) ) ).

% image_is_empty
thf(fact_308_mult__less__mono1,axiom,
    ! [I4: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I4 @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_nat @ ( times_times_nat @ I4 @ K ) @ ( times_times_nat @ J @ K ) ) ) ) ).

% mult_less_mono1
thf(fact_309_mult__less__mono2,axiom,
    ! [I4: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I4 @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_nat @ ( times_times_nat @ K @ I4 ) @ ( times_times_nat @ K @ J ) ) ) ) ).

% mult_less_mono2
thf(fact_310_mult__less__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ K @ M2 ) @ ( times_times_nat @ K @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M2 @ N ) ) ) ).

% mult_less_cancel1
thf(fact_311_mult__less__cancel2,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M2 @ K ) @ ( times_times_nat @ N @ K ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M2 @ N ) ) ) ).

% mult_less_cancel2
thf(fact_312_nat__0__less__mult__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M2 )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_313_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_314_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P @ N3 )
             => ? [M: nat] :
                  ( ( ord_less_nat @ M @ N3 )
                  & ~ ( P @ M ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_315_gr__implies__not0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_316_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_317_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_318_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_319_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_320_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_321_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A2: nat] :
      ( ( A2 != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ A2 ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_322_bot__nat__0_Oextremum__strict,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_323_unitary__zero,axiom,
    ! [A3: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ zero_zero_nat @ zero_zero_nat ) )
     => ( comple6660659447773130958omplex @ A3 ) ) ).

% unitary_zero
thf(fact_324_step__3__a__dims_I1_J,axiom,
    ! [I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan2858886415929732048omplex @ I4 @ J @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_3_a_dims(1)
thf(fact_325_step__3__c__dims_I1_J,axiom,
    ! [X4: complex,L: nat,K: nat,I4: list_P6011104703257516679at_nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan5343229918868201426omplex @ X4 @ L @ K @ I4 @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_3_c_dims(1)
thf(fact_326_step__1__main__dims_I1_J,axiom,
    ! [N: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan9130142659770429862omplex @ N @ I4 @ J @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_1_main_dims(1)
thf(fact_327_step__1__main__dims_I2_J,axiom,
    ! [N: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan9130142659770429862omplex @ N @ I4 @ J @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_1_main_dims(2)
thf(fact_328_step__3__c__dims_I2_J,axiom,
    ! [X4: complex,L: nat,K: nat,I4: list_P6011104703257516679at_nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan5343229918868201426omplex @ X4 @ L @ K @ I4 @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_3_c_dims(2)
thf(fact_329_step__3__a__dims_I2_J,axiom,
    ! [I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan2858886415929732048omplex @ I4 @ J @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_3_a_dims(2)
thf(fact_330_step__3__main__dims_I1_J,axiom,
    ! [N: nat,J: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan4702481308941288104omplex @ N @ J @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_3_main_dims(1)
thf(fact_331_step__3__c__inner__loop__dims_I1_J,axiom,
    ! [Val: complex,L: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan7656109678144820486omplex @ Val @ L @ I4 @ J @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% step_3_c_inner_loop_dims(1)
thf(fact_332_step__3__c__inner__loop__dims_I2_J,axiom,
    ! [Val: complex,L: nat,I4: nat,J: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan7656109678144820486omplex @ Val @ L @ I4 @ J @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_3_c_inner_loop_dims(2)
thf(fact_333_step__3__main__dims_I2_J,axiom,
    ! [N: nat,J: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan4702481308941288104omplex @ N @ J @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% step_3_main_dims(2)
thf(fact_334_diag__mat__length,axiom,
    ! [A3: mat_a] :
      ( ( size_size_list_a @ ( diag_mat_a @ A3 ) )
      = ( dim_row_a @ A3 ) ) ).

% diag_mat_length
thf(fact_335_diag__mat__length,axiom,
    ! [A3: mat_complex] :
      ( ( size_s3451745648224563538omplex @ ( diag_mat_complex @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% diag_mat_length
thf(fact_336_diag__mat__length,axiom,
    ! [A3: mat_mat_a] :
      ( ( size_size_list_mat_a @ ( diag_mat_mat_a @ A3 ) )
      = ( dim_row_mat_a @ A3 ) ) ).

% diag_mat_length
thf(fact_337_diag__mat__length,axiom,
    ! [A3: mat_nat] :
      ( ( size_size_list_nat @ ( diag_mat_nat @ A3 ) )
      = ( dim_row_nat @ A3 ) ) ).

% diag_mat_length
thf(fact_338_diag__mat__length,axiom,
    ! [A3: mat_mat_complex] :
      ( ( size_s5969786470865220249omplex @ ( diag_mat_mat_complex @ A3 ) )
      = ( dim_row_mat_complex @ A3 ) ) ).

% diag_mat_length
thf(fact_339_neg__less__0__iff__less,axiom,
    ! [A2: complex] :
      ( ( ord_less_complex @ ( uminus1482373934393186551omplex @ A2 ) @ zero_zero_complex )
      = ( ord_less_complex @ zero_zero_complex @ A2 ) ) ).

% neg_less_0_iff_less
thf(fact_340_neg__0__less__iff__less,axiom,
    ! [A2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ ( uminus1482373934393186551omplex @ A2 ) )
      = ( ord_less_complex @ A2 @ zero_zero_complex ) ) ).

% neg_0_less_iff_less
thf(fact_341_mult__sign__intros_I7_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_nat @ zero_zero_nat @ B2 )
       => ( ord_less_nat @ ( times_times_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% mult_sign_intros(7)
thf(fact_342_mult__sign__intros_I6_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ B2 @ zero_zero_nat )
       => ( ord_less_nat @ ( times_times_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% mult_sign_intros(6)
thf(fact_343_mult__sign__intros_I5_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ zero_zero_nat @ B2 )
       => ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ A2 @ B2 ) ) ) ) ).

% mult_sign_intros(5)
thf(fact_344_zero__reorient,axiom,
    ! [X4: nat] :
      ( ( zero_zero_nat = X4 )
      = ( X4 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_345_mult_Oleft__commute,axiom,
    ! [B2: nat,A2: nat,C: nat] :
      ( ( times_times_nat @ B2 @ ( times_times_nat @ A2 @ C ) )
      = ( times_times_nat @ A2 @ ( times_times_nat @ B2 @ C ) ) ) ).

% mult.left_commute
thf(fact_346_mult_Oleft__commute,axiom,
    ! [B2: complex,A2: complex,C: complex] :
      ( ( times_times_complex @ B2 @ ( times_times_complex @ A2 @ C ) )
      = ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ C ) ) ) ).

% mult.left_commute
thf(fact_347_mult_Ocommute,axiom,
    ( times_times_nat
    = ( ^ [A4: nat,B4: nat] : ( times_times_nat @ B4 @ A4 ) ) ) ).

% mult.commute
thf(fact_348_mult_Ocommute,axiom,
    ( times_times_complex
    = ( ^ [A4: complex,B4: complex] : ( times_times_complex @ B4 @ A4 ) ) ) ).

% mult.commute
thf(fact_349_semigroup__mult__class_Omult_Oassoc,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A2 @ B2 ) @ C )
      = ( times_times_nat @ A2 @ ( times_times_nat @ B2 @ C ) ) ) ).

% semigroup_mult_class.mult.assoc
thf(fact_350_semigroup__mult__class_Omult_Oassoc,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( times_times_complex @ A2 @ B2 ) @ C )
      = ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ C ) ) ) ).

% semigroup_mult_class.mult.assoc
thf(fact_351_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ ( times_times_nat @ A2 @ B2 ) @ C )
      = ( times_times_nat @ A2 @ ( times_times_nat @ B2 @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_352_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( times_times_complex @ A2 @ B2 ) @ C )
      = ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_353_neg__equal__iff__equal,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = ( uminus1482373934393186551omplex @ B2 ) )
      = ( A2 = B2 ) ) ).

% neg_equal_iff_equal
thf(fact_354_add_Oinverse__inverse,axiom,
    ! [A2: complex] :
      ( ( uminus1482373934393186551omplex @ ( uminus1482373934393186551omplex @ A2 ) )
      = A2 ) ).

% add.inverse_inverse
thf(fact_355_minus__equation__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = B2 )
      = ( ( uminus1482373934393186551omplex @ B2 )
        = A2 ) ) ).

% minus_equation_iff
thf(fact_356_equation__minus__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2
        = ( uminus1482373934393186551omplex @ B2 ) )
      = ( B2
        = ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% equation_minus_iff
thf(fact_357_mult__right__cancel,axiom,
    ! [C: nat,A2: nat,B2: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ A2 @ C )
          = ( times_times_nat @ B2 @ C ) )
        = ( A2 = B2 ) ) ) ).

% mult_right_cancel
thf(fact_358_mult__right__cancel,axiom,
    ! [C: complex,A2: complex,B2: complex] :
      ( ( C != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ C )
          = ( times_times_complex @ B2 @ C ) )
        = ( A2 = B2 ) ) ) ).

% mult_right_cancel
thf(fact_359_mult__cancel__right,axiom,
    ! [A2: nat,C: nat,B2: nat] :
      ( ( ( times_times_nat @ A2 @ C )
        = ( times_times_nat @ B2 @ C ) )
      = ( ( C = zero_zero_nat )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_right
thf(fact_360_mult__cancel__right,axiom,
    ! [A2: complex,C: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ C )
        = ( times_times_complex @ B2 @ C ) )
      = ( ( C = zero_zero_complex )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_right
thf(fact_361_mult__left__cancel,axiom,
    ! [C: nat,A2: nat,B2: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ C @ A2 )
          = ( times_times_nat @ C @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% mult_left_cancel
thf(fact_362_mult__left__cancel,axiom,
    ! [C: complex,A2: complex,B2: complex] :
      ( ( C != zero_zero_complex )
     => ( ( ( times_times_complex @ C @ A2 )
          = ( times_times_complex @ C @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% mult_left_cancel
thf(fact_363_mult__cancel__left,axiom,
    ! [C: nat,A2: nat,B2: nat] :
      ( ( ( times_times_nat @ C @ A2 )
        = ( times_times_nat @ C @ B2 ) )
      = ( ( C = zero_zero_nat )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_left
thf(fact_364_mult__cancel__left,axiom,
    ! [C: complex,A2: complex,B2: complex] :
      ( ( ( times_times_complex @ C @ A2 )
        = ( times_times_complex @ C @ B2 ) )
      = ( ( C = zero_zero_complex )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_left
thf(fact_365_no__zero__divisors,axiom,
    ! [A2: nat,B2: nat] :
      ( ( A2 != zero_zero_nat )
     => ( ( B2 != zero_zero_nat )
       => ( ( times_times_nat @ A2 @ B2 )
         != zero_zero_nat ) ) ) ).

% no_zero_divisors
thf(fact_366_no__zero__divisors,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2 != zero_zero_complex )
     => ( ( B2 != zero_zero_complex )
       => ( ( times_times_complex @ A2 @ B2 )
         != zero_zero_complex ) ) ) ).

% no_zero_divisors
thf(fact_367_mult__eq__0__iff,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ( times_times_nat @ A2 @ B2 )
        = zero_zero_nat )
      = ( ( A2 = zero_zero_nat )
        | ( B2 = zero_zero_nat ) ) ) ).

% mult_eq_0_iff
thf(fact_368_mult__eq__0__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ B2 )
        = zero_zero_complex )
      = ( ( A2 = zero_zero_complex )
        | ( B2 = zero_zero_complex ) ) ) ).

% mult_eq_0_iff
thf(fact_369_divisors__zero,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ( times_times_nat @ A2 @ B2 )
        = zero_zero_nat )
     => ( ( A2 = zero_zero_nat )
        | ( B2 = zero_zero_nat ) ) ) ).

% divisors_zero
thf(fact_370_divisors__zero,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ B2 )
        = zero_zero_complex )
     => ( ( A2 = zero_zero_complex )
        | ( B2 = zero_zero_complex ) ) ) ).

% divisors_zero
thf(fact_371_mult__zero__right,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ A2 @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_zero_right
thf(fact_372_mult__zero__right,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ zero_zero_complex )
      = zero_zero_complex ) ).

% mult_zero_right
thf(fact_373_mult__zero__left,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

% mult_zero_left
thf(fact_374_mult__zero__left,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ zero_zero_complex @ A2 )
      = zero_zero_complex ) ).

% mult_zero_left
thf(fact_375_mult__not__zero,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ( times_times_nat @ A2 @ B2 )
       != zero_zero_nat )
     => ( ( A2 != zero_zero_nat )
        & ( B2 != zero_zero_nat ) ) ) ).

% mult_not_zero
thf(fact_376_mult__not__zero,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ B2 )
       != zero_zero_complex )
     => ( ( A2 != zero_zero_complex )
        & ( B2 != zero_zero_complex ) ) ) ).

% mult_not_zero
thf(fact_377_zero__order_I5_J,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% zero_order(5)
thf(fact_378_zero__order_I4_J,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( N != zero_zero_nat ) ) ).

% zero_order(4)
thf(fact_379_zero__order_I3_J,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% zero_order(3)
thf(fact_380_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_381_gr__implies__not__zero,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_382_neg__equal__0__iff__equal,axiom,
    ! [A2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = zero_zero_complex )
      = ( A2 = zero_zero_complex ) ) ).

% neg_equal_0_iff_equal
thf(fact_383_neg__0__equal__iff__equal,axiom,
    ! [A2: complex] :
      ( ( zero_zero_complex
        = ( uminus1482373934393186551omplex @ A2 ) )
      = ( zero_zero_complex = A2 ) ) ).

% neg_0_equal_iff_equal
thf(fact_384_add_Oinverse__neutral,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% add.inverse_neutral
thf(fact_385_minus__mult__commute,axiom,
    ! [A2: complex,B2: complex] :
      ( ( times_times_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 )
      = ( times_times_complex @ A2 @ ( uminus1482373934393186551omplex @ B2 ) ) ) ).

% minus_mult_commute
thf(fact_386_mult__minus__right,axiom,
    ! [A2: complex,B2: complex] :
      ( ( times_times_complex @ A2 @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( uminus1482373934393186551omplex @ ( times_times_complex @ A2 @ B2 ) ) ) ).

% mult_minus_right
thf(fact_387_minus__mult__minus,axiom,
    ! [A2: complex,B2: complex] :
      ( ( times_times_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( times_times_complex @ A2 @ B2 ) ) ).

% minus_mult_minus
thf(fact_388_mult__minus__left,axiom,
    ! [A2: complex,B2: complex] :
      ( ( times_times_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 )
      = ( uminus1482373934393186551omplex @ ( times_times_complex @ A2 @ B2 ) ) ) ).

% mult_minus_left
thf(fact_389_square__eq__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ A2 )
        = ( times_times_complex @ B2 @ B2 ) )
      = ( ( A2 = B2 )
        | ( A2
          = ( uminus1482373934393186551omplex @ B2 ) ) ) ) ).

% square_eq_iff
thf(fact_390_less__minus__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( ord_less_complex @ B2 @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% less_minus_iff
thf(fact_391_minus__less__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 )
      = ( ord_less_complex @ ( uminus1482373934393186551omplex @ B2 ) @ A2 ) ) ).

% minus_less_iff
thf(fact_392_neg__less__iff__less,axiom,
    ! [B2: complex,A2: complex] :
      ( ( ord_less_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) )
      = ( ord_less_complex @ A2 @ B2 ) ) ).

% neg_less_iff_less
thf(fact_393_lambda__zero,axiom,
    ( ( ^ [H: nat] : zero_zero_nat )
    = ( times_times_nat @ zero_zero_nat ) ) ).

% lambda_zero
thf(fact_394_lambda__zero,axiom,
    ( ( ^ [H: complex] : zero_zero_complex )
    = ( times_times_complex @ zero_zero_complex ) ) ).

% lambda_zero
thf(fact_395_linordered__comm__semiring__strict__class_Ocomm__mult__strict__left__mono,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ C @ A2 ) @ ( times_times_nat @ C @ B2 ) ) ) ) ).

% linordered_comm_semiring_strict_class.comm_mult_strict_left_mono
thf(fact_396_linordered__semiring__strict__class_Omult__strict__right__mono,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ A2 @ C ) @ ( times_times_nat @ B2 @ C ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_right_mono
thf(fact_397_linordered__semiring__strict__class_Omult__strict__left__mono,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ C @ A2 ) @ ( times_times_nat @ C @ B2 ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_left_mono
thf(fact_398_zero__less__mult__pos2,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ B2 @ A2 ) )
     => ( ( ord_less_nat @ zero_zero_nat @ A2 )
       => ( ord_less_nat @ zero_zero_nat @ B2 ) ) ) ).

% zero_less_mult_pos2
thf(fact_399_zero__less__mult__pos,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ A2 @ B2 ) )
     => ( ( ord_less_nat @ zero_zero_nat @ A2 )
       => ( ord_less_nat @ zero_zero_nat @ B2 ) ) ) ).

% zero_less_mult_pos
thf(fact_400_linordered__semiring__strict__class_Omult__pos__neg2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ B2 @ zero_zero_nat )
       => ( ord_less_nat @ ( times_times_nat @ B2 @ A2 ) @ zero_zero_nat ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg2
thf(fact_401_nat__mult__eq__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ( times_times_nat @ K @ M2 )
          = ( times_times_nat @ K @ N ) )
        = ( M2 = N ) ) ) ).

% nat_mult_eq_cancel1
thf(fact_402_nat__mult__less__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ord_less_nat @ ( times_times_nat @ K @ M2 ) @ ( times_times_nat @ K @ N ) )
        = ( ord_less_nat @ M2 @ N ) ) ) ).

% nat_mult_less_cancel1
thf(fact_403_semiring__norm_I137_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% semiring_norm(137)
thf(fact_404_nat__mult__eq__cancel__disj,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M2 )
        = ( times_times_nat @ K @ N ) )
      = ( ( K = zero_zero_nat )
        | ( M2 = N ) ) ) ).

% nat_mult_eq_cancel_disj
thf(fact_405_hermitian__decomp__eigenvalues,axiom,
    ! [A3: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A3 @ B @ U )
     => ( ( diag_mat_complex @ B )
        = ( projec6785268565095433026omplex @ A3 ) ) ) ).

% hermitian_decomp_eigenvalues
thf(fact_406_step__2__def,axiom,
    ( jordan7871273693253786478omplex
    = ( ^ [A: mat_complex] : ( jordan6916311984355858983omplex @ ( dim_row_complex @ A ) @ zero_zero_nat @ A ) ) ) ).

% step_2_def
thf(fact_407_density__collapse__carrier,axiom,
    ! [R: mat_complex,P: mat_complex,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( dim_row_complex @ R ) )
     => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ R @ ( carrier_mat_complex @ N @ N ) )
         => ( member_mat_complex @ ( projec3470689467825365843llapse @ R @ P ) @ ( carrier_mat_complex @ N @ N ) ) ) ) ) ).

% density_collapse_carrier
thf(fact_408_step__1__def,axiom,
    ( jordan2017415923357163885omplex
    = ( ^ [A: mat_complex] : ( jordan9130142659770429862omplex @ ( dim_row_complex @ A ) @ zero_zero_nat @ zero_zero_nat @ A ) ) ) ).

% step_1_def
thf(fact_409_mat__assoc__test_I1_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ ( times_8009071140041733218omplex @ C2 @ D ) )
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ C2 ) @ D ) ) ) ) ) ) ).

% mat_assoc_test(1)
thf(fact_410_triangular__to__jnf__steps__dims_I1_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan2017415923357163885omplex @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(1)
thf(fact_411_triangular__to__jnf__steps__dims_I3_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan7871273693253786478omplex @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(3)
thf(fact_412_triangular__to__jnf__steps__dims_I4_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan7871273693253786478omplex @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(4)
thf(fact_413_triangular__to__jnf__steps__dims_I2_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan2017415923357163885omplex @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(2)
thf(fact_414_verit__negate__coefficient_I2_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ B2 )
     => ( ord_less_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% verit_negate_coefficient(2)
thf(fact_415_vector__space__over__itself_Oscale__minus__right,axiom,
    ! [A2: complex,X4: complex] :
      ( ( times_times_complex @ A2 @ ( uminus1482373934393186551omplex @ X4 ) )
      = ( uminus1482373934393186551omplex @ ( times_times_complex @ A2 @ X4 ) ) ) ).

% vector_space_over_itself.scale_minus_right
thf(fact_416_vector__space__over__itself_Oscale__minus__left,axiom,
    ! [A2: complex,X4: complex] :
      ( ( times_times_complex @ ( uminus1482373934393186551omplex @ A2 ) @ X4 )
      = ( uminus1482373934393186551omplex @ ( times_times_complex @ A2 @ X4 ) ) ) ).

% vector_space_over_itself.scale_minus_left
thf(fact_417_vector__space__over__itself_Ovector__space__assms_I3_J,axiom,
    ! [A2: complex,B2: complex,X4: complex] :
      ( ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ X4 ) )
      = ( times_times_complex @ ( times_times_complex @ A2 @ B2 ) @ X4 ) ) ).

% vector_space_over_itself.vector_space_assms(3)
thf(fact_418_vector__space__over__itself_Oscale__left__commute,axiom,
    ! [A2: complex,B2: complex,X4: complex] :
      ( ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ X4 ) )
      = ( times_times_complex @ B2 @ ( times_times_complex @ A2 @ X4 ) ) ) ).

% vector_space_over_itself.scale_left_commute
thf(fact_419_verit__comp__simplify1_I1_J,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ A2 ) ).

% verit_comp_simplify1(1)
thf(fact_420_verit__minus__simplify_I4_J,axiom,
    ! [B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( uminus1482373934393186551omplex @ B2 ) )
      = B2 ) ).

% verit_minus_simplify(4)
thf(fact_421_verit__negate__coefficient_I3_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2 = B2 )
     => ( ( uminus1482373934393186551omplex @ A2 )
        = ( uminus1482373934393186551omplex @ B2 ) ) ) ).

% verit_negate_coefficient(3)
thf(fact_422_vector__space__over__itself_Oscale__eq__0__iff,axiom,
    ! [A2: complex,X4: complex] :
      ( ( ( times_times_complex @ A2 @ X4 )
        = zero_zero_complex )
      = ( ( A2 = zero_zero_complex )
        | ( X4 = zero_zero_complex ) ) ) ).

% vector_space_over_itself.scale_eq_0_iff
thf(fact_423_vector__space__over__itself_Oscale__zero__left,axiom,
    ! [X4: complex] :
      ( ( times_times_complex @ zero_zero_complex @ X4 )
      = zero_zero_complex ) ).

% vector_space_over_itself.scale_zero_left
thf(fact_424_vector__space__over__itself_Oscale__zero__right,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ zero_zero_complex )
      = zero_zero_complex ) ).

% vector_space_over_itself.scale_zero_right
thf(fact_425_vector__space__over__itself_Oscale__cancel__left,axiom,
    ! [A2: complex,X4: complex,Y2: complex] :
      ( ( ( times_times_complex @ A2 @ X4 )
        = ( times_times_complex @ A2 @ Y2 ) )
      = ( ( X4 = Y2 )
        | ( A2 = zero_zero_complex ) ) ) ).

% vector_space_over_itself.scale_cancel_left
thf(fact_426_vector__space__over__itself_Oscale__left__imp__eq,axiom,
    ! [A2: complex,X4: complex,Y2: complex] :
      ( ( A2 != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ X4 )
          = ( times_times_complex @ A2 @ Y2 ) )
       => ( X4 = Y2 ) ) ) ).

% vector_space_over_itself.scale_left_imp_eq
thf(fact_427_vector__space__over__itself_Oscale__cancel__right,axiom,
    ! [A2: complex,X4: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ X4 )
        = ( times_times_complex @ B2 @ X4 ) )
      = ( ( A2 = B2 )
        | ( X4 = zero_zero_complex ) ) ) ).

% vector_space_over_itself.scale_cancel_right
thf(fact_428_vector__space__over__itself_Oscale__right__imp__eq,axiom,
    ! [X4: complex,A2: complex,B2: complex] :
      ( ( X4 != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ X4 )
          = ( times_times_complex @ B2 @ X4 ) )
       => ( A2 = B2 ) ) ) ).

% vector_space_over_itself.scale_right_imp_eq
thf(fact_429_bot__less,axiom,
    ! [A2: nat] :
      ( ( A2 != bot_bot_nat )
      = ( ord_less_nat @ bot_bot_nat @ A2 ) ) ).

% bot_less
thf(fact_430_not__less__bot,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ bot_bot_nat ) ).

% not_less_bot
thf(fact_431_bot__nat__def,axiom,
    bot_bot_nat = zero_zero_nat ).

% bot_nat_def
thf(fact_432_gt__ex,axiom,
    ! [X4: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X4 @ X_1 ) ).

% gt_ex
thf(fact_433_neqE,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( X4 != Y2 )
     => ( ~ ( ord_less_nat @ X4 @ Y2 )
       => ( ord_less_nat @ Y2 @ X4 ) ) ) ).

% neqE
thf(fact_434_neq__iff,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( X4 != Y2 )
      = ( ( ord_less_nat @ X4 @ Y2 )
        | ( ord_less_nat @ Y2 @ X4 ) ) ) ).

% neq_iff
thf(fact_435_less__imp__neq,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ( X4 != Y2 ) ) ).

% less_imp_neq
thf(fact_436_less__asym,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X4 ) ) ).

% less_asym
thf(fact_437_order_Oasym,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ~ ( ord_less_nat @ B2 @ A2 ) ) ).

% order.asym
thf(fact_438_less__linear,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
      | ( X4 = Y2 )
      | ( ord_less_nat @ Y2 @ X4 ) ) ).

% less_linear
thf(fact_439_less__irrefl,axiom,
    ! [X4: nat] :
      ~ ( ord_less_nat @ X4 @ X4 ) ).

% less_irrefl
thf(fact_440_less__imp__not__eq,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ( X4 != Y2 ) ) ).

% less_imp_not_eq
thf(fact_441_less__not__sym,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X4 ) ) ).

% less_not_sym
thf(fact_442_order_Oirrefl,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ A2 ) ).

% order.irrefl
thf(fact_443_less__induct,axiom,
    ! [P: nat > $o,A2: nat] :
      ( ! [X2: nat] :
          ( ! [Y5: nat] :
              ( ( ord_less_nat @ Y5 @ X2 )
             => ( P @ Y5 ) )
         => ( P @ X2 ) )
     => ( P @ A2 ) ) ).

% less_induct
thf(fact_444_antisym__conv3,axiom,
    ! [Y2: nat,X4: nat] :
      ( ~ ( ord_less_nat @ Y2 @ X4 )
     => ( ( ~ ( ord_less_nat @ X4 @ Y2 ) )
        = ( X4 = Y2 ) ) ) ).

% antisym_conv3
thf(fact_445_less__imp__not__eq2,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ( Y2 != X4 ) ) ).

% less_imp_not_eq2
thf(fact_446_less__imp__triv,axiom,
    ! [X4: nat,Y2: nat,P: $o] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ X4 )
       => P ) ) ).

% less_imp_triv
thf(fact_447_linorder__cases,axiom,
    ! [X4: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X4 @ Y2 )
     => ( ( X4 != Y2 )
       => ( ord_less_nat @ Y2 @ X4 ) ) ) ).

% linorder_cases
thf(fact_448_dual__order_Oasym,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_nat @ B2 @ A2 )
     => ~ ( ord_less_nat @ A2 @ B2 ) ) ).

% dual_order.asym
thf(fact_449_less__imp__not__less,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ord_less_nat @ X4 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X4 ) ) ).

% less_imp_not_less
thf(fact_450_exists__least__iff,axiom,
    ( ( ^ [P4: nat > $o] :
        ? [X6: nat] : ( P4 @ X6 ) )
    = ( ^ [P2: nat > $o] :
        ? [N2: nat] :
          ( ( P2 @ N2 )
          & ! [M3: nat] :
              ( ( ord_less_nat @ M3 @ N2 )
             => ~ ( P2 @ M3 ) ) ) ) ) ).

% exists_least_iff
thf(fact_451_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A2: nat,B2: nat] :
      ( ! [A5: nat,B5: nat] :
          ( ( ord_less_nat @ A5 @ B5 )
         => ( P @ A5 @ B5 ) )
     => ( ! [A5: nat] : ( P @ A5 @ A5 )
       => ( ! [A5: nat,B5: nat] :
              ( ( P @ B5 @ A5 )
             => ( P @ A5 @ B5 ) )
         => ( P @ A2 @ B2 ) ) ) ) ).

% linorder_less_wlog
thf(fact_452_order_Ostrict__trans,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ord_less_nat @ A2 @ C ) ) ) ).

% order.strict_trans
thf(fact_453_not__less__iff__gr__or__eq,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X4 @ Y2 ) )
      = ( ( ord_less_nat @ Y2 @ X4 )
        | ( X4 = Y2 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_454_dual__order_Ostrict__trans,axiom,
    ! [B2: nat,A2: nat,C: nat] :
      ( ( ord_less_nat @ B2 @ A2 )
     => ( ( ord_less_nat @ C @ B2 )
       => ( ord_less_nat @ C @ A2 ) ) ) ).

% dual_order.strict_trans
thf(fact_455_order_Ostrict__implies__not__eq,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( A2 != B2 ) ) ).

% order.strict_implies_not_eq
thf(fact_456_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_nat @ B2 @ A2 )
     => ( A2 != B2 ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_457_class__ring_Ominus__zero,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% class_ring.minus_zero
thf(fact_458_class__cring_Ocring__simprules_I22_J,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% class_cring.cring_simprules(22)
thf(fact_459_mult__delta__right,axiom,
    ! [B2: $o,X4: nat,Y2: nat] :
      ( ( B2
       => ( ( times_times_nat @ X4 @ ( if_nat @ B2 @ Y2 @ zero_zero_nat ) )
          = ( times_times_nat @ X4 @ Y2 ) ) )
      & ( ~ B2
       => ( ( times_times_nat @ X4 @ ( if_nat @ B2 @ Y2 @ zero_zero_nat ) )
          = zero_zero_nat ) ) ) ).

% mult_delta_right
thf(fact_460_mult__delta__right,axiom,
    ! [B2: $o,X4: complex,Y2: complex] :
      ( ( B2
       => ( ( times_times_complex @ X4 @ ( if_complex @ B2 @ Y2 @ zero_zero_complex ) )
          = ( times_times_complex @ X4 @ Y2 ) ) )
      & ( ~ B2
       => ( ( times_times_complex @ X4 @ ( if_complex @ B2 @ Y2 @ zero_zero_complex ) )
          = zero_zero_complex ) ) ) ).

% mult_delta_right
thf(fact_461_class__cring_Ofactors__equal,axiom,
    ! [A2: complex,B2: complex,C: complex,D2: complex] :
      ( ( A2 = B2 )
     => ( ( C = D2 )
       => ( ( times_times_complex @ A2 @ C )
          = ( times_times_complex @ B2 @ D2 ) ) ) ) ).

% class_cring.factors_equal
thf(fact_462_mult__delta__left,axiom,
    ! [B2: $o,X4: nat,Y2: nat] :
      ( ( B2
       => ( ( times_times_nat @ ( if_nat @ B2 @ X4 @ zero_zero_nat ) @ Y2 )
          = ( times_times_nat @ X4 @ Y2 ) ) )
      & ( ~ B2
       => ( ( times_times_nat @ ( if_nat @ B2 @ X4 @ zero_zero_nat ) @ Y2 )
          = zero_zero_nat ) ) ) ).

% mult_delta_left
thf(fact_463_mult__delta__left,axiom,
    ! [B2: $o,X4: complex,Y2: complex] :
      ( ( B2
       => ( ( times_times_complex @ ( if_complex @ B2 @ X4 @ zero_zero_complex ) @ Y2 )
          = ( times_times_complex @ X4 @ Y2 ) ) )
      & ( ~ B2
       => ( ( times_times_complex @ ( if_complex @ B2 @ X4 @ zero_zero_complex ) @ Y2 )
          = zero_zero_complex ) ) ) ).

% mult_delta_left
thf(fact_464_bot__empty__eq,axiom,
    ( bot_bot_mat_a_o
    = ( ^ [X5: mat_a] : ( member_mat_a @ X5 @ bot_bot_set_mat_a ) ) ) ).

% bot_empty_eq
thf(fact_465_bot__empty__eq,axiom,
    ( bot_bot_list_mat_a_o
    = ( ^ [X5: list_mat_a] : ( member_list_mat_a @ X5 @ bot_bo2759726786008686517_mat_a ) ) ) ).

% bot_empty_eq
thf(fact_466_bot__empty__eq,axiom,
    ( bot_bo2514468519737825834plex_o
    = ( ^ [X5: mat_complex] : ( member_mat_complex @ X5 @ bot_bo7165004461764951667omplex ) ) ) ).

% bot_empty_eq
thf(fact_467_bot__empty__eq,axiom,
    ( bot_bot_nat_o
    = ( ^ [X5: nat] : ( member_nat @ X5 @ bot_bot_set_nat ) ) ) ).

% bot_empty_eq
thf(fact_468_mult__hom_Ohom__zero,axiom,
    ! [C: nat] :
      ( ( times_times_nat @ C @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_hom.hom_zero
thf(fact_469_mult__hom_Ohom__zero,axiom,
    ! [C: complex] :
      ( ( times_times_complex @ C @ zero_zero_complex )
      = zero_zero_complex ) ).

% mult_hom.hom_zero
thf(fact_470_diag__block__mat__cong__hd,axiom,
    ! [Al: list_mat_a,Bl: list_mat_a] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_mat_a @ Al ) )
     => ( ( ( size_size_list_mat_a @ Al )
          = ( size_size_list_mat_a @ Bl ) )
       => ( ( ( dim_row_a @ ( hd_mat_a @ Al ) )
            = ( dim_row_a @ ( hd_mat_a @ Bl ) ) )
         => ( ( ( dim_col_a @ ( hd_mat_a @ Al ) )
              = ( dim_col_a @ ( hd_mat_a @ Bl ) ) )
           => ( ( ( diag_block_mat_a @ Al )
                = ( diag_block_mat_a @ Bl ) )
             => ( ( hd_mat_a @ Al )
                = ( hd_mat_a @ Bl ) ) ) ) ) ) ) ).

% diag_block_mat_cong_hd
thf(fact_471_diag__block__mat__cong__hd,axiom,
    ! [Al: list_mat_complex,Bl: list_mat_complex] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5969786470865220249omplex @ Al ) )
     => ( ( ( size_s5969786470865220249omplex @ Al )
          = ( size_s5969786470865220249omplex @ Bl ) )
       => ( ( ( dim_row_complex @ ( hd_mat_complex @ Al ) )
            = ( dim_row_complex @ ( hd_mat_complex @ Bl ) ) )
         => ( ( ( dim_col_complex @ ( hd_mat_complex @ Al ) )
              = ( dim_col_complex @ ( hd_mat_complex @ Bl ) ) )
           => ( ( ( diag_b9145358668110806138omplex @ Al )
                = ( diag_b9145358668110806138omplex @ Bl ) )
             => ( ( hd_mat_complex @ Al )
                = ( hd_mat_complex @ Bl ) ) ) ) ) ) ) ).

% diag_block_mat_cong_hd
thf(fact_472_length__code,axiom,
    ( size_size_list_mat_a
    = ( gen_length_mat_a @ zero_zero_nat ) ) ).

% length_code
thf(fact_473_length__code,axiom,
    ( size_size_list_nat
    = ( gen_length_nat @ zero_zero_nat ) ) ).

% length_code
thf(fact_474_length__code,axiom,
    ( size_s5969786470865220249omplex
    = ( gen_le107826107610854458omplex @ zero_zero_nat ) ) ).

% length_code
thf(fact_475_diag__block__mat__cong__tl,axiom,
    ! [Al: list_mat_a,Bl: list_mat_a] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_mat_a @ Al ) )
     => ( ( ( size_size_list_mat_a @ Al )
          = ( size_size_list_mat_a @ Bl ) )
       => ( ( ( dim_row_a @ ( hd_mat_a @ Al ) )
            = ( dim_row_a @ ( hd_mat_a @ Bl ) ) )
         => ( ( ( dim_col_a @ ( hd_mat_a @ Al ) )
              = ( dim_col_a @ ( hd_mat_a @ Bl ) ) )
           => ( ( ( diag_block_mat_a @ Al )
                = ( diag_block_mat_a @ Bl ) )
             => ( ( diag_block_mat_a @ ( tl_mat_a @ Al ) )
                = ( diag_block_mat_a @ ( tl_mat_a @ Bl ) ) ) ) ) ) ) ) ).

% diag_block_mat_cong_tl
thf(fact_476_diag__block__mat__cong__tl,axiom,
    ! [Al: list_mat_complex,Bl: list_mat_complex] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5969786470865220249omplex @ Al ) )
     => ( ( ( size_s5969786470865220249omplex @ Al )
          = ( size_s5969786470865220249omplex @ Bl ) )
       => ( ( ( dim_row_complex @ ( hd_mat_complex @ Al ) )
            = ( dim_row_complex @ ( hd_mat_complex @ Bl ) ) )
         => ( ( ( dim_col_complex @ ( hd_mat_complex @ Al ) )
              = ( dim_col_complex @ ( hd_mat_complex @ Bl ) ) )
           => ( ( ( diag_b9145358668110806138omplex @ Al )
                = ( diag_b9145358668110806138omplex @ Bl ) )
             => ( ( diag_b9145358668110806138omplex @ ( tl_mat_complex @ Al ) )
                = ( diag_b9145358668110806138omplex @ ( tl_mat_complex @ Bl ) ) ) ) ) ) ) ) ).

% diag_block_mat_cong_tl
thf(fact_477_unitary__is__corthogonal,axiom,
    ! [U: mat_complex,N: nat] :
      ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
     => ( ( comple6660659447773130958omplex @ U )
       => ( schur_549222400177443379omplex @ U ) ) ) ).

% unitary_is_corthogonal
thf(fact_478_diag__block__mat__length__1,axiom,
    ! [Al: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Al )
        = one_one_nat )
     => ( ( diag_block_mat_a @ Al )
        = ( nth_mat_a @ Al @ zero_zero_nat ) ) ) ).

% diag_block_mat_length_1
thf(fact_479_diag__block__mat__length__1,axiom,
    ! [Al: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Al )
        = one_one_nat )
     => ( ( diag_b9145358668110806138omplex @ Al )
        = ( nth_mat_complex @ Al @ zero_zero_nat ) ) ) ).

% diag_block_mat_length_1
thf(fact_480_diag__compat_Osimps_I1_J,axiom,
    ! [B: mat_a] :
      ( ( commut3805009435888488104mpat_a @ B @ nil_nat )
      = ( ( ( dim_row_a @ B )
          = zero_zero_nat )
        & ( ( dim_col_a @ B )
          = zero_zero_nat ) ) ) ).

% diag_compat.simps(1)
thf(fact_481_diag__compat_Osimps_I1_J,axiom,
    ! [B: mat_complex] :
      ( ( commut5261563022830629508omplex @ B @ nil_nat )
      = ( ( ( dim_row_complex @ B )
          = zero_zero_nat )
        & ( ( dim_col_complex @ B )
          = zero_zero_nat ) ) ) ).

% diag_compat.simps(1)
thf(fact_482_list_Oexpand,axiom,
    ! [List: list_mat_complex,List2: list_mat_complex] :
      ( ( ( List = nil_mat_complex )
        = ( List2 = nil_mat_complex ) )
     => ( ( ( List != nil_mat_complex )
         => ( ( List2 != nil_mat_complex )
           => ( ( ( hd_mat_complex @ List )
                = ( hd_mat_complex @ List2 ) )
              & ( ( tl_mat_complex @ List )
                = ( tl_mat_complex @ List2 ) ) ) ) )
       => ( List = List2 ) ) ) ).

% list.expand
thf(fact_483_list_Osel_I2_J,axiom,
    ( ( tl_mat_complex @ nil_mat_complex )
    = nil_mat_complex ) ).

% list.sel(2)
thf(fact_484_class__field_Oone__not__zero,axiom,
    one_one_complex != zero_zero_complex ).

% class_field.one_not_zero
thf(fact_485_verit__eq__simplify_I24_J,axiom,
    one_one_complex != zero_zero_complex ).

% verit_eq_simplify(24)
thf(fact_486_verit__eq__simplify_I24_J,axiom,
    one_one_nat != zero_zero_nat ).

% verit_eq_simplify(24)
thf(fact_487_arithmetic__simps_I79_J,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ A2 @ one_one_nat )
      = A2 ) ).

% arithmetic_simps(79)
thf(fact_488_arithmetic__simps_I79_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ one_one_complex )
      = A2 ) ).

% arithmetic_simps(79)
thf(fact_489_arithmetic__simps_I78_J,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ one_one_nat @ A2 )
      = A2 ) ).

% arithmetic_simps(78)
thf(fact_490_arithmetic__simps_I78_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ one_one_complex @ A2 )
      = A2 ) ).

% arithmetic_simps(78)
thf(fact_491_vector__space__over__itself_Oscale__one,axiom,
    ! [X4: complex] :
      ( ( times_times_complex @ one_one_complex @ X4 )
      = X4 ) ).

% vector_space_over_itself.scale_one
thf(fact_492_comm__monoid__mult__class_Omult__1,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ one_one_nat @ A2 )
      = A2 ) ).

% comm_monoid_mult_class.mult_1
thf(fact_493_comm__monoid__mult__class_Omult__1,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ one_one_complex @ A2 )
      = A2 ) ).

% comm_monoid_mult_class.mult_1
thf(fact_494_mult_Ocomm__neutral,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ A2 @ one_one_nat )
      = A2 ) ).

% mult.comm_neutral
thf(fact_495_mult_Ocomm__neutral,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ one_one_complex )
      = A2 ) ).

% mult.comm_neutral
thf(fact_496_semiring__norm_I138_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% semiring_norm(138)
thf(fact_497_semiring__norm_I157_J,axiom,
    ( ( uminus1482373934393186551omplex @ one_one_complex )
   != one_one_complex ) ).

% semiring_norm(157)
thf(fact_498_nat__mult__eq__1__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( times_times_nat @ M2 @ N )
        = one_one_nat )
      = ( ( M2 = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_mult_eq_1_iff
thf(fact_499_nat__1__eq__mult__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( one_one_nat
        = ( times_times_nat @ M2 @ N ) )
      = ( ( M2 = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_1_eq_mult_iff
thf(fact_500_nat__mult__1__right,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ N @ one_one_nat )
      = N ) ).

% nat_mult_1_right
thf(fact_501_nat__mult__1,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ one_one_nat @ N )
      = N ) ).

% nat_mult_1
thf(fact_502_list_Opred__inject_I1_J,axiom,
    ! [P: mat_complex > $o] : ( list_all_mat_complex @ P @ nil_mat_complex ) ).

% list.pred_inject(1)
thf(fact_503_list__all__simps_I2_J,axiom,
    ! [P: mat_complex > $o] : ( list_all_mat_complex @ P @ nil_mat_complex ) ).

% list_all_simps(2)
thf(fact_504_butlast_Osimps_I1_J,axiom,
    ( ( butlast_mat_complex @ nil_mat_complex )
    = nil_mat_complex ) ).

% butlast.simps(1)
thf(fact_505_list__ex__simps_I2_J,axiom,
    ! [P: mat_complex > $o] :
      ~ ( list_ex_mat_complex @ P @ nil_mat_complex ) ).

% list_ex_simps(2)
thf(fact_506_lambda__one,axiom,
    ( ( ^ [X5: nat] : X5 )
    = ( times_times_nat @ one_one_nat ) ) ).

% lambda_one
thf(fact_507_lambda__one,axiom,
    ( ( ^ [X5: complex] : X5 )
    = ( times_times_complex @ one_one_complex ) ) ).

% lambda_one
thf(fact_508_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_le107826107610854458omplex @ N @ nil_mat_complex )
      = N ) ).

% gen_length_code(1)
thf(fact_509_mult__cancel__right2,axiom,
    ! [A2: complex,C: complex] :
      ( ( ( times_times_complex @ A2 @ C )
        = C )
      = ( ( C = zero_zero_complex )
        | ( A2 = one_one_complex ) ) ) ).

% mult_cancel_right2
thf(fact_510_mult__cancel__right1,axiom,
    ! [C: complex,B2: complex] :
      ( ( C
        = ( times_times_complex @ B2 @ C ) )
      = ( ( C = zero_zero_complex )
        | ( B2 = one_one_complex ) ) ) ).

% mult_cancel_right1
thf(fact_511_mult__cancel__left2,axiom,
    ! [C: complex,A2: complex] :
      ( ( ( times_times_complex @ C @ A2 )
        = C )
      = ( ( C = zero_zero_complex )
        | ( A2 = one_one_complex ) ) ) ).

% mult_cancel_left2
thf(fact_512_mult__cancel__left1,axiom,
    ! [C: complex,B2: complex] :
      ( ( C
        = ( times_times_complex @ C @ B2 ) )
      = ( ( C = zero_zero_complex )
        | ( B2 = one_one_complex ) ) ) ).

% mult_cancel_left1
thf(fact_513_verit__comp__simplify_I28_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% verit_comp_simplify(28)
thf(fact_514_semiring__norm_I135_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% semiring_norm(135)
thf(fact_515_semiring__norm_I136_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% semiring_norm(136)
thf(fact_516_less__1__mult,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ M2 )
     => ( ( ord_less_nat @ one_one_nat @ N )
       => ( ord_less_nat @ one_one_nat @ ( times_times_nat @ M2 @ N ) ) ) ) ).

% less_1_mult
thf(fact_517_class__field_Oneg__1__not__0,axiom,
    ( ( uminus1482373934393186551omplex @ one_one_complex )
   != zero_zero_complex ) ).

% class_field.neg_1_not_0
thf(fact_518_semiring__norm_I156_J,axiom,
    ( zero_zero_complex
   != ( uminus1482373934393186551omplex @ one_one_complex ) ) ).

% semiring_norm(156)
thf(fact_519_square__eq__1__iff,axiom,
    ! [X4: complex] :
      ( ( ( times_times_complex @ X4 @ X4 )
        = one_one_complex )
      = ( ( X4 = one_one_complex )
        | ( X4
          = ( uminus1482373934393186551omplex @ one_one_complex ) ) ) ) ).

% square_eq_1_iff
thf(fact_520_mult__minus1__right,axiom,
    ! [Z2: complex] :
      ( ( times_times_complex @ Z2 @ ( uminus1482373934393186551omplex @ one_one_complex ) )
      = ( uminus1482373934393186551omplex @ Z2 ) ) ).

% mult_minus1_right
thf(fact_521_mult__minus1,axiom,
    ! [Z2: complex] :
      ( ( times_times_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ Z2 )
      = ( uminus1482373934393186551omplex @ Z2 ) ) ).

% mult_minus1
thf(fact_522_list_Osize_I3_J,axiom,
    ( ( size_size_list_mat_a @ nil_mat_a )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_523_list_Osize_I3_J,axiom,
    ( ( size_size_list_nat @ nil_nat )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_524_list_Osize_I3_J,axiom,
    ( ( size_s5969786470865220249omplex @ nil_mat_complex )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_525_length__0__conv,axiom,
    ! [Xs: list_mat_a] :
      ( ( ( size_size_list_mat_a @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_mat_a ) ) ).

% length_0_conv
thf(fact_526_length__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_nat ) ) ).

% length_0_conv
thf(fact_527_length__0__conv,axiom,
    ! [Xs: list_mat_complex] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_mat_complex ) ) ).

% length_0_conv
thf(fact_528_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_529_mult__eq__self__implies__10,axiom,
    ! [M2: nat,N: nat] :
      ( ( M2
        = ( times_times_nat @ M2 @ N ) )
     => ( ( N = one_one_nat )
        | ( M2 = zero_zero_nat ) ) ) ).

% mult_eq_self_implies_10
thf(fact_530_length__greater__0__conv,axiom,
    ! [Xs: list_mat_a] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_mat_a @ Xs ) )
      = ( Xs != nil_mat_a ) ) ).

% length_greater_0_conv
thf(fact_531_length__greater__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Xs ) )
      = ( Xs != nil_nat ) ) ).

% length_greater_0_conv
thf(fact_532_length__greater__0__conv,axiom,
    ! [Xs: list_mat_complex] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5969786470865220249omplex @ Xs ) )
      = ( Xs != nil_mat_complex ) ) ).

% length_greater_0_conv
thf(fact_533_hd__conv__nth,axiom,
    ! [Xs: list_mat_a] :
      ( ( Xs != nil_mat_a )
     => ( ( hd_mat_a @ Xs )
        = ( nth_mat_a @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_534_hd__conv__nth,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( hd_nat @ Xs )
        = ( nth_nat @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_535_hd__conv__nth,axiom,
    ! [Xs: list_mat_complex] :
      ( ( Xs != nil_mat_complex )
     => ( ( hd_mat_complex @ Xs )
        = ( nth_mat_complex @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_536_mult__if__delta,axiom,
    ! [P: $o,Q2: nat] :
      ( ( P
       => ( ( times_times_nat @ ( if_nat @ P @ one_one_nat @ zero_zero_nat ) @ Q2 )
          = Q2 ) )
      & ( ~ P
       => ( ( times_times_nat @ ( if_nat @ P @ one_one_nat @ zero_zero_nat ) @ Q2 )
          = zero_zero_nat ) ) ) ).

% mult_if_delta
thf(fact_537_mult__if__delta,axiom,
    ! [P: $o,Q2: complex] :
      ( ( P
       => ( ( times_times_complex @ ( if_complex @ P @ one_one_complex @ zero_zero_complex ) @ Q2 )
          = Q2 ) )
      & ( ~ P
       => ( ( times_times_complex @ ( if_complex @ P @ one_one_complex @ zero_zero_complex ) @ Q2 )
          = zero_zero_complex ) ) ) ).

% mult_if_delta
thf(fact_538_undef__vec__def,axiom,
    ( undef_vec_mat_a
    = ( nth_mat_a @ nil_mat_a ) ) ).

% undef_vec_def
thf(fact_539_undef__vec__def,axiom,
    ( undef_vec_nat
    = ( nth_nat @ nil_nat ) ) ).

% undef_vec_def
thf(fact_540_undef__vec__def,axiom,
    ( undef_2495355514574404529omplex
    = ( nth_mat_complex @ nil_mat_complex ) ) ).

% undef_vec_def
thf(fact_541_step__3__def,axiom,
    ( jordan4501759426295633263omplex
    = ( ^ [A: mat_complex] : ( jordan4702481308941288104omplex @ ( dim_row_complex @ A ) @ one_one_nat @ A ) ) ) ).

% step_3_def
thf(fact_542_diag__diff_Osimps_I1_J,axiom,
    ! [D: mat_a] :
      ( ( commut2169701021494907589diff_a @ D @ nil_nat )
      = ( ( ( dim_row_a @ D )
          = zero_zero_nat )
        & ( ( dim_col_a @ D )
          = zero_zero_nat ) ) ) ).

% diag_diff.simps(1)
thf(fact_543_diag__diff_Osimps_I1_J,axiom,
    ! [D: mat_complex] :
      ( ( commut4502369927624756007omplex @ D @ nil_nat )
      = ( ( ( dim_row_complex @ D )
          = zero_zero_nat )
        & ( ( dim_col_complex @ D )
          = zero_zero_nat ) ) ) ).

% diag_diff.simps(1)
thf(fact_544_density__collapse__operator,axiom,
    ! [P: mat_complex,R: mat_complex,N: nat] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( comple5220265106149225959erator @ R )
       => ( ( ord_less_nat @ zero_zero_nat @ ( dim_row_complex @ R ) )
         => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
           => ( ( member_mat_complex @ R @ ( carrier_mat_complex @ N @ N ) )
             => ( comple5220265106149225959erator @ ( projec3470689467825365843llapse @ R @ P ) ) ) ) ) ) ) ).

% density_collapse_operator
thf(fact_545_extract__subdiags_Osimps_I1_J,axiom,
    ! [B: mat_a] :
      ( ( commut2531942506349284476iags_a @ B @ nil_nat )
      = nil_mat_a ) ).

% extract_subdiags.simps(1)
thf(fact_546_extract__subdiags_Osimps_I1_J,axiom,
    ! [B: mat_complex] :
      ( ( commut6900707758132580272omplex @ B @ nil_nat )
      = nil_mat_complex ) ).

% extract_subdiags.simps(1)
thf(fact_547_triangular__to__jnf__steps__dims_I5_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_row_complex @ ( jordan4501759426295633263omplex @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(5)
thf(fact_548_triangular__to__jnf__steps__dims_I6_J,axiom,
    ! [A3: mat_complex] :
      ( ( dim_col_complex @ ( jordan4501759426295633263omplex @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% triangular_to_jnf_steps_dims(6)
thf(fact_549_max__mix__is__density,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( comple5220265106149225959erator @ ( projec8360710381328234318ensity @ N ) ) ) ).

% max_mix_is_density
thf(fact_550_projector__square__eq,axiom,
    ! [M4: mat_complex] :
      ( ( linear5633924348262549461omplex @ M4 )
     => ( ( times_8009071140041733218omplex @ M4 @ M4 )
        = M4 ) ) ).

% projector_square_eq
thf(fact_551_lst__diff__imp__diag__diff,axiom,
    ! [D: mat_complex,N: nat,M2: list_nat] :
      ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
     => ( ( commut1410864796179263225omplex @ ( diag_mat_complex @ D ) @ M2 )
       => ( commut4502369927624756007omplex @ D @ M2 ) ) ) ).

% lst_diff_imp_diag_diff
thf(fact_552_commute__diag__compat,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,L: list_nat] :
      ( ( diagonal_mat_complex @ D )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ( times_8009071140041733218omplex @ B @ D )
              = ( times_8009071140041733218omplex @ D @ B ) )
           => ( ( commut4502369927624756007omplex @ D @ L )
             => ( commut5261563022830629508omplex @ B @ L ) ) ) ) ) ) ).

% commute_diag_compat
thf(fact_553_hermitian__decomp__diag__mat,axiom,
    ! [A3: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A3 @ B @ U )
     => ( diagonal_mat_complex @ B ) ) ).

% hermitian_decomp_diag_mat
thf(fact_554_mk__diagonal__diagonal,axiom,
    ! [As: list_complex] : ( diagonal_mat_complex @ ( mk_diagonal_complex @ As ) ) ).

% mk_diagonal_diagonal
thf(fact_555_max__mix__density__carrier,axiom,
    ! [N: nat] : ( member_mat_complex @ ( projec8360710381328234318ensity @ N ) @ ( carrier_mat_complex @ N @ N ) ) ).

% max_mix_density_carrier
thf(fact_556_lst__diff_Osimps_I1_J,axiom,
    ! [L: list_mat_complex] :
      ( ( commut5044833095929398684omplex @ L @ nil_nat )
      = ( L = nil_mat_complex ) ) ).

% lst_diff.simps(1)
thf(fact_557_diag__mat__diagonal__eq,axiom,
    ! [A3: mat_a,B: mat_a] :
      ( ( ( diag_mat_a @ A3 )
        = ( diag_mat_a @ B ) )
     => ( ( diagonal_mat_a @ A3 )
       => ( ( diagonal_mat_a @ B )
         => ( ( ( dim_col_a @ A3 )
              = ( dim_col_a @ B ) )
           => ( A3 = B ) ) ) ) ) ).

% diag_mat_diagonal_eq
thf(fact_558_diag__mat__diagonal__eq,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( ( diag_mat_complex @ A3 )
        = ( diag_mat_complex @ B ) )
     => ( ( diagonal_mat_complex @ A3 )
       => ( ( diagonal_mat_complex @ B )
         => ( ( ( dim_col_complex @ A3 )
              = ( dim_col_complex @ B ) )
           => ( A3 = B ) ) ) ) ) ).

% diag_mat_diagonal_eq
thf(fact_559_diagonal__mat__commute,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( diagonal_mat_complex @ A3 )
         => ( ( diagonal_mat_complex @ B )
           => ( ( times_8009071140041733218omplex @ A3 @ B )
              = ( times_8009071140041733218omplex @ B @ A3 ) ) ) ) ) ) ).

% diagonal_mat_commute
thf(fact_560_diagonal__mat__sq__diag,axiom,
    ! [B: mat_complex,N: nat] :
      ( ( diagonal_mat_complex @ B )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( diagonal_mat_complex @ ( times_8009071140041733218omplex @ B @ B ) ) ) ) ).

% diagonal_mat_sq_diag
thf(fact_561_diagonal__mat__times__diag,axiom,
    ! [A3: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( diagonal_mat_a @ A3 )
         => ( ( diagonal_mat_a @ B )
           => ( diagonal_mat_a @ ( times_times_mat_a @ A3 @ B ) ) ) ) ) ) ).

% diagonal_mat_times_diag
thf(fact_562_diagonal__mat__times__diag,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( diagonal_mat_complex @ A3 )
         => ( ( diagonal_mat_complex @ B )
           => ( diagonal_mat_complex @ ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ) ) ).

% diagonal_mat_times_diag
thf(fact_563_diagonal__mat__uminus,axiom,
    ! [A3: mat_complex] :
      ( ( diagonal_mat_complex @ A3 )
     => ( diagonal_mat_complex @ ( uminus467866341702955550omplex @ A3 ) ) ) ).

% diagonal_mat_uminus
thf(fact_564_extract__subdiags__comp__commute,axiom,
    ! [A3: mat_complex,N: nat,I4: nat,B: mat_complex] :
      ( ( diagonal_mat_complex @ A3 )
     => ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) ) )
           => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ ( nth_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) @ I4 ) @ ( nth_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) @ I4 ) ) )
             => ( ( times_8009071140041733218omplex @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ A3 @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) ) @ I4 ) @ B )
                = ( times_8009071140041733218omplex @ B @ ( nth_mat_complex @ ( commut6900707758132580272omplex @ A3 @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) ) @ I4 ) ) ) ) ) ) ) ) ).

% extract_subdiags_comp_commute
thf(fact_565_diag__elems__ne,axiom,
    ! [B: mat_a,N: nat] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( projec3180294917645509286lems_a @ B )
         != bot_bot_set_a ) ) ) ).

% diag_elems_ne
thf(fact_566_diag__elems__ne,axiom,
    ! [B: mat_complex,N: nat] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( projec2809893096078145286omplex @ B )
         != bot_bot_set_complex ) ) ) ).

% diag_elems_ne
thf(fact_567_diagonal__extract__eq,axiom,
    ! [B: mat_a,N: nat] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
     => ( ( diagonal_mat_a @ B )
       => ( B
          = ( diag_block_mat_a @ ( commut2531942506349284476iags_a @ B @ ( commuting_eq_comps_a @ ( diag_mat_a @ B ) ) ) ) ) ) ) ).

% diagonal_extract_eq
thf(fact_568_diagonal__extract__eq,axiom,
    ! [B: mat_complex,N: nat] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
     => ( ( diagonal_mat_complex @ B )
       => ( B
          = ( diag_b9145358668110806138omplex @ ( commut6900707758132580272omplex @ B @ ( commut93809757773076895omplex @ ( diag_mat_complex @ B ) ) ) ) ) ) ) ).

% diagonal_extract_eq
thf(fact_569_cpx__sq__mat__axioms_Ointro,axiom,
    ! [DimR: nat,DimC: nat] :
      ( ( DimR = DimC )
     => ( ( ord_less_nat @ zero_zero_nat @ DimR )
       => ( linear2040860143340867312axioms @ DimR @ DimC ) ) ) ).

% cpx_sq_mat_axioms.intro
thf(fact_570_eq__comps_Osimps_I1_J,axiom,
    ( ( commut5736191610077499254omplex @ nil_mat_complex )
    = nil_nat ) ).

% eq_comps.simps(1)
thf(fact_571_eq__comps_Osimps_I1_J,axiom,
    ( ( commut93809757773076895omplex @ nil_complex )
    = nil_nat ) ).

% eq_comps.simps(1)
thf(fact_572_eq__comps__empty__if,axiom,
    ! [L: list_mat_complex] :
      ( ( ( commut5736191610077499254omplex @ L )
        = nil_nat )
     => ( L = nil_mat_complex ) ) ).

% eq_comps_empty_if
thf(fact_573_eq__comps__empty__if,axiom,
    ! [L: list_complex] :
      ( ( ( commut93809757773076895omplex @ L )
        = nil_nat )
     => ( L = nil_complex ) ) ).

% eq_comps_empty_if
thf(fact_574_eq__comps__not__empty,axiom,
    ! [L: list_mat_complex] :
      ( ( L != nil_mat_complex )
     => ( ( commut5736191610077499254omplex @ L )
       != nil_nat ) ) ).

% eq_comps_not_empty
thf(fact_575_eq__comps__not__empty,axiom,
    ! [L: list_complex] :
      ( ( L != nil_complex )
     => ( ( commut93809757773076895omplex @ L )
       != nil_nat ) ) ).

% eq_comps_not_empty
thf(fact_576_eq__comps__gt__0,axiom,
    ! [L: list_mat_complex] :
      ( ( L != nil_mat_complex )
     => ( list_all_nat @ ( ord_less_nat @ zero_zero_nat ) @ ( commut5736191610077499254omplex @ L ) ) ) ).

% eq_comps_gt_0
thf(fact_577_eq__comps__gt__0,axiom,
    ! [L: list_complex] :
      ( ( L != nil_complex )
     => ( list_all_nat @ ( ord_less_nat @ zero_zero_nat ) @ ( commut93809757773076895omplex @ L ) ) ) ).

% eq_comps_gt_0
thf(fact_578_eq__comps__elem__lt,axiom,
    ! [L: list_mat_a] :
      ( ( ord_less_nat @ one_one_nat @ ( size_size_list_nat @ ( commut861362805798584524_mat_a @ L ) ) )
     => ( ord_less_nat @ ( hd_nat @ ( commut861362805798584524_mat_a @ L ) ) @ ( size_size_list_mat_a @ L ) ) ) ).

% eq_comps_elem_lt
thf(fact_579_eq__comps__elem__lt,axiom,
    ! [L: list_nat] :
      ( ( ord_less_nat @ one_one_nat @ ( size_size_list_nat @ ( commut2436974278740741825ps_nat @ L ) ) )
     => ( ord_less_nat @ ( hd_nat @ ( commut2436974278740741825ps_nat @ L ) ) @ ( size_size_list_nat @ L ) ) ) ).

% eq_comps_elem_lt
thf(fact_580_eq__comps__elem__lt,axiom,
    ! [L: list_mat_complex] :
      ( ( ord_less_nat @ one_one_nat @ ( size_size_list_nat @ ( commut5736191610077499254omplex @ L ) ) )
     => ( ord_less_nat @ ( hd_nat @ ( commut5736191610077499254omplex @ L ) ) @ ( size_s5969786470865220249omplex @ L ) ) ) ).

% eq_comps_elem_lt
thf(fact_581_eq__comps__elem__lt,axiom,
    ! [L: list_complex] :
      ( ( ord_less_nat @ one_one_nat @ ( size_size_list_nat @ ( commut93809757773076895omplex @ L ) ) )
     => ( ord_less_nat @ ( hd_nat @ ( commut93809757773076895omplex @ L ) ) @ ( size_s3451745648224563538omplex @ L ) ) ) ).

% eq_comps_elem_lt
thf(fact_582_cpx__sq__mat__axioms__def,axiom,
    ( linear2040860143340867312axioms
    = ( ^ [DimR2: nat,DimC2: nat] :
          ( ( DimR2 = DimC2 )
          & ( ord_less_nat @ zero_zero_nat @ DimR2 ) ) ) ) ).

% cpx_sq_mat_axioms_def
thf(fact_583_eq__comps__singleton__elems,axiom,
    ! [L: list_mat_a,A2: nat] :
      ( ( ( commut861362805798584524_mat_a @ L )
        = ( cons_nat @ A2 @ nil_nat ) )
     => ! [I: nat] :
          ( ( ord_less_nat @ I @ ( size_size_list_mat_a @ L ) )
         => ( ( nth_mat_a @ L @ I )
            = ( nth_mat_a @ L @ zero_zero_nat ) ) ) ) ).

% eq_comps_singleton_elems
thf(fact_584_eq__comps__singleton__elems,axiom,
    ! [L: list_nat,A2: nat] :
      ( ( ( commut2436974278740741825ps_nat @ L )
        = ( cons_nat @ A2 @ nil_nat ) )
     => ! [I: nat] :
          ( ( ord_less_nat @ I @ ( size_size_list_nat @ L ) )
         => ( ( nth_nat @ L @ I )
            = ( nth_nat @ L @ zero_zero_nat ) ) ) ) ).

% eq_comps_singleton_elems
thf(fact_585_eq__comps__singleton__elems,axiom,
    ! [L: list_mat_complex,A2: nat] :
      ( ( ( commut5736191610077499254omplex @ L )
        = ( cons_nat @ A2 @ nil_nat ) )
     => ! [I: nat] :
          ( ( ord_less_nat @ I @ ( size_s5969786470865220249omplex @ L ) )
         => ( ( nth_mat_complex @ L @ I )
            = ( nth_mat_complex @ L @ zero_zero_nat ) ) ) ) ).

% eq_comps_singleton_elems
thf(fact_586_eq__comps__singleton__elems,axiom,
    ! [L: list_complex,A2: nat] :
      ( ( ( commut93809757773076895omplex @ L )
        = ( cons_nat @ A2 @ nil_nat ) )
     => ! [I: nat] :
          ( ( ord_less_nat @ I @ ( size_s3451745648224563538omplex @ L ) )
         => ( ( nth_complex @ L @ I )
            = ( nth_complex @ L @ zero_zero_nat ) ) ) ) ).

% eq_comps_singleton_elems
thf(fact_587_extract__subdiags__eq__comp,axiom,
    ! [A3: mat_complex,N: nat,I4: nat] :
      ( ( diagonal_mat_complex @ A3 )
     => ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ( ord_less_nat @ I4 @ ( size_size_list_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) ) )
           => ? [K2: complex] :
                ( ( nth_mat_complex @ ( commut6900707758132580272omplex @ A3 @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) ) @ I4 )
                = ( smult_mat_complex @ K2 @ ( one_mat_complex @ ( nth_nat @ ( commut93809757773076895omplex @ ( diag_mat_complex @ A3 ) ) @ I4 ) ) ) ) ) ) ) ) ).

% extract_subdiags_eq_comp
thf(fact_588_real__diag__decomp__block,axiom,
    ! [Al: list_mat_complex] :
      ( ( Al != nil_mat_complex )
     => ( ( list_all_mat_complex
          @ ^ [A: mat_complex] :
              ( ( ord_less_nat @ zero_zero_nat @ ( dim_row_complex @ A ) )
              & ( comple8306762464034002205omplex @ A ) )
          @ Al )
       => ? [Bl2: list_mat_complex,Ul2: list_mat_complex] :
            ( ( ( size_s5969786470865220249omplex @ Ul2 )
              = ( size_s5969786470865220249omplex @ Al ) )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ ( size_s5969786470865220249omplex @ Al ) )
               => ( ( member_mat_complex @ ( nth_mat_complex @ Ul2 @ I ) @ ( carrier_mat_complex @ ( dim_row_complex @ ( nth_mat_complex @ Al @ I ) ) @ ( dim_col_complex @ ( nth_mat_complex @ Al @ I ) ) ) )
                  & ( comple6660659447773130958omplex @ ( nth_mat_complex @ Ul2 @ I ) )
                  & ( member_mat_complex @ ( nth_mat_complex @ Bl2 @ I ) @ ( carrier_mat_complex @ ( dim_row_complex @ ( nth_mat_complex @ Al @ I ) ) @ ( dim_col_complex @ ( nth_mat_complex @ Al @ I ) ) ) ) ) )
            & ( spectr5409772854192057952omplex @ ( diag_b9145358668110806138omplex @ Al ) @ ( diag_b9145358668110806138omplex @ Bl2 ) @ ( diag_b9145358668110806138omplex @ Ul2 ) ) ) ) ) ).

% real_diag_decomp_block
thf(fact_589_eq__comps__hd__eq__tl,axiom,
    ! [X4: complex,Y2: complex,L: list_complex] :
      ( ( X4 = Y2 )
     => ( ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ X4 @ ( cons_complex @ Y2 @ L ) ) ) )
        = ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y2 @ L ) ) ) ) ) ).

% eq_comps_hd_eq_tl
thf(fact_590_eq__comps__hd__neq__tl,axiom,
    ! [X4: complex,Y2: complex,L: list_complex] :
      ( ( X4 != Y2 )
     => ( ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ X4 @ ( cons_complex @ Y2 @ L ) ) ) )
        = ( commut93809757773076895omplex @ ( cons_complex @ Y2 @ L ) ) ) ) ).

% eq_comps_hd_neq_tl
thf(fact_591_eq__comps_Ocases,axiom,
    ! [X4: list_mat_complex] :
      ( ( X4 != nil_mat_complex )
     => ( ! [X2: mat_complex] :
            ( X4
           != ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ~ ! [X2: mat_complex,Y4: mat_complex,L2: list_mat_complex] :
              ( X4
             != ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) ) ).

% eq_comps.cases
thf(fact_592_eq__comps_Oinduct,axiom,
    ! [P: list_mat_complex > $o,A0: list_mat_complex] :
      ( ( P @ nil_mat_complex )
     => ( ! [X2: mat_complex] : ( P @ ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ( ! [X2: mat_complex,Y4: mat_complex,L2: list_mat_complex] :
              ( ( P @ ( cons_mat_complex @ Y4 @ L2 ) )
             => ( P @ ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ L2 ) ) ) )
         => ( P @ A0 ) ) ) ) ).

% eq_comps.induct
thf(fact_593_list__nonempty__induct,axiom,
    ! [Xs: list_mat_complex,P: list_mat_complex > $o] :
      ( ( Xs != nil_mat_complex )
     => ( ! [X2: mat_complex] : ( P @ ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ( ! [X2: mat_complex,Xs3: list_mat_complex] :
              ( ( Xs3 != nil_mat_complex )
             => ( ( P @ Xs3 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_594_induct__list012,axiom,
    ! [P: list_mat_complex > $o,Xs: list_mat_complex] :
      ( ( P @ nil_mat_complex )
     => ( ! [X2: mat_complex] : ( P @ ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ( ! [X2: mat_complex,Y4: mat_complex,Zs: list_mat_complex] :
              ( ( P @ Zs )
             => ( ( P @ ( cons_mat_complex @ Y4 @ Zs ) )
               => ( P @ ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ Zs ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% induct_list012
thf(fact_595_list__induct2_H,axiom,
    ! [P: list_mat_complex > list_mat_complex > $o,Xs: list_mat_complex,Ys: list_mat_complex] :
      ( ( P @ nil_mat_complex @ nil_mat_complex )
     => ( ! [X2: mat_complex,Xs3: list_mat_complex] : ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ nil_mat_complex )
       => ( ! [Y4: mat_complex,Ys4: list_mat_complex] : ( P @ nil_mat_complex @ ( cons_mat_complex @ Y4 @ Ys4 ) )
         => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: mat_complex,Ys4: list_mat_complex] :
                ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_596_neq__Nil__conv,axiom,
    ! [Xs: list_mat_complex] :
      ( ( Xs != nil_mat_complex )
      = ( ? [Y6: mat_complex,Ys2: list_mat_complex] :
            ( Xs
            = ( cons_mat_complex @ Y6 @ Ys2 ) ) ) ) ).

% neq_Nil_conv
thf(fact_597_successively_Oinduct,axiom,
    ! [P: ( mat_complex > mat_complex > $o ) > list_mat_complex > $o,A0: mat_complex > mat_complex > $o,A1: list_mat_complex] :
      ( ! [P5: mat_complex > mat_complex > $o] : ( P @ P5 @ nil_mat_complex )
     => ( ! [P5: mat_complex > mat_complex > $o,X2: mat_complex] : ( P @ P5 @ ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ( ! [P5: mat_complex > mat_complex > $o,X2: mat_complex,Y4: mat_complex,Xs3: list_mat_complex] :
              ( ( P @ P5 @ ( cons_mat_complex @ Y4 @ Xs3 ) )
             => ( P @ P5 @ ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ Xs3 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_598_remdups__adj_Oinduct,axiom,
    ! [P: list_mat_complex > $o,A0: list_mat_complex] :
      ( ( P @ nil_mat_complex )
     => ( ! [X2: mat_complex] : ( P @ ( cons_mat_complex @ X2 @ nil_mat_complex ) )
       => ( ! [X2: mat_complex,Y4: mat_complex,Xs3: list_mat_complex] :
              ( ( ( X2 = Y4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) ) )
             => ( ( ( X2 != Y4 )
                 => ( P @ ( cons_mat_complex @ Y4 @ Xs3 ) ) )
               => ( P @ ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ Xs3 ) ) ) ) )
         => ( P @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_599_sorted__wrt_Oinduct,axiom,
    ! [P: ( mat_complex > mat_complex > $o ) > list_mat_complex > $o,A0: mat_complex > mat_complex > $o,A1: list_mat_complex] :
      ( ! [P5: mat_complex > mat_complex > $o] : ( P @ P5 @ nil_mat_complex )
     => ( ! [P5: mat_complex > mat_complex > $o,X2: mat_complex,Ys4: list_mat_complex] :
            ( ( P @ P5 @ Ys4 )
           => ( P @ P5 @ ( cons_mat_complex @ X2 @ Ys4 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_600_List_Otranspose_Ocases,axiom,
    ! [X4: list_l5436439031154120755omplex] :
      ( ( X4 != nil_list_mat_complex )
     => ( ! [Xss: list_l5436439031154120755omplex] :
            ( X4
           != ( cons_l4198107141827137507omplex @ nil_mat_complex @ Xss ) )
       => ~ ! [X2: mat_complex,Xs3: list_mat_complex,Xss: list_l5436439031154120755omplex] :
              ( X4
             != ( cons_l4198107141827137507omplex @ ( cons_mat_complex @ X2 @ Xs3 ) @ Xss ) ) ) ) ).

% List.transpose.cases
thf(fact_601_shuffles_Oinduct,axiom,
    ! [P: list_mat_complex > list_mat_complex > $o,A0: list_mat_complex,A1: list_mat_complex] :
      ( ! [X_1: list_mat_complex] : ( P @ nil_mat_complex @ X_1 )
     => ( ! [Xs3: list_mat_complex] : ( P @ Xs3 @ nil_mat_complex )
       => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: mat_complex,Ys4: list_mat_complex] :
              ( ( P @ Xs3 @ ( cons_mat_complex @ Y4 @ Ys4 ) )
             => ( ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ Ys4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_602_min__list_Oinduct,axiom,
    ! [P: list_mat_complex > $o,A0: list_mat_complex] :
      ( ! [X2: mat_complex,Xs3: list_mat_complex] :
          ( ! [X21: mat_complex,X22: list_mat_complex] :
              ( ( Xs3
                = ( cons_mat_complex @ X21 @ X22 ) )
             => ( P @ Xs3 ) )
         => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) ) )
     => ( ( P @ nil_mat_complex )
       => ( P @ A0 ) ) ) ).

% min_list.induct
thf(fact_603_min__list_Ocases,axiom,
    ! [X4: list_mat_complex] :
      ( ! [X2: mat_complex,Xs3: list_mat_complex] :
          ( X4
         != ( cons_mat_complex @ X2 @ Xs3 ) )
     => ( X4 = nil_mat_complex ) ) ).

% min_list.cases
thf(fact_604_splice_Oinduct,axiom,
    ! [P: list_mat_complex > list_mat_complex > $o,A0: list_mat_complex,A1: list_mat_complex] :
      ( ! [X_1: list_mat_complex] : ( P @ nil_mat_complex @ X_1 )
     => ( ! [X2: mat_complex,Xs3: list_mat_complex,Ys4: list_mat_complex] :
            ( ( P @ Ys4 @ Xs3 )
           => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ Ys4 ) )
       => ( P @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_605_list_Oinducts,axiom,
    ! [P: list_mat_complex > $o,List: list_mat_complex] :
      ( ( P @ nil_mat_complex )
     => ( ! [X1: mat_complex,X23: list_mat_complex] :
            ( ( P @ X23 )
           => ( P @ ( cons_mat_complex @ X1 @ X23 ) ) )
       => ( P @ List ) ) ) ).

% list.inducts
thf(fact_606_list_Oexhaust,axiom,
    ! [Y2: list_mat_complex] :
      ( ( Y2 != nil_mat_complex )
     => ~ ! [X212: mat_complex,X222: list_mat_complex] :
            ( Y2
           != ( cons_mat_complex @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_607_list_OdiscI,axiom,
    ! [List: list_mat_complex,X213: mat_complex,X223: list_mat_complex] :
      ( ( List
        = ( cons_mat_complex @ X213 @ X223 ) )
     => ( List != nil_mat_complex ) ) ).

% list.discI
thf(fact_608_list_Odistinct_I1_J,axiom,
    ! [X213: mat_complex,X223: list_mat_complex] :
      ( nil_mat_complex
     != ( cons_mat_complex @ X213 @ X223 ) ) ).

% list.distinct(1)
thf(fact_609_smult__smult__times,axiom,
    ! [A2: nat,K: nat,A3: mat_nat] :
      ( ( smult_mat_nat @ A2 @ ( smult_mat_nat @ K @ A3 ) )
      = ( smult_mat_nat @ ( times_times_nat @ A2 @ K ) @ A3 ) ) ).

% smult_smult_times
thf(fact_610_smult__smult__times,axiom,
    ! [A2: complex,K: complex,A3: mat_complex] :
      ( ( smult_mat_complex @ A2 @ ( smult_mat_complex @ K @ A3 ) )
      = ( smult_mat_complex @ ( times_times_complex @ A2 @ K ) @ A3 ) ) ).

% smult_smult_times
thf(fact_611_one__carrier__mat,axiom,
    ! [N: nat] : ( member_mat_complex @ ( one_mat_complex @ N ) @ ( carrier_mat_complex @ N @ N ) ) ).

% one_carrier_mat
thf(fact_612_index__one__mat_I2_J,axiom,
    ! [N: nat] :
      ( ( dim_row_complex @ ( one_mat_complex @ N ) )
      = N ) ).

% index_one_mat(2)
thf(fact_613_index__one__mat_I3_J,axiom,
    ! [N: nat] :
      ( ( dim_col_complex @ ( one_mat_complex @ N ) )
      = N ) ).

% index_one_mat(3)
thf(fact_614_smult__smult__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,K: complex,L: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( smult_mat_complex @ K @ ( smult_mat_complex @ L @ A3 ) )
        = ( smult_mat_complex @ ( times_times_complex @ K @ L ) @ A3 ) ) ) ).

% smult_smult_mat
thf(fact_615_hermitian__one,axiom,
    ! [N: nat] : ( comple8306762464034002205omplex @ ( one_mat_complex @ N ) ) ).

% hermitian_one
thf(fact_616_unitary__one,axiom,
    ! [N: nat] : ( comple6660659447773130958omplex @ ( one_mat_complex @ N ) ) ).

% unitary_one
thf(fact_617_list_Opred__inject_I2_J,axiom,
    ! [P: mat_complex > $o,A2: mat_complex,Aa: list_mat_complex] :
      ( ( list_all_mat_complex @ P @ ( cons_mat_complex @ A2 @ Aa ) )
      = ( ( P @ A2 )
        & ( list_all_mat_complex @ P @ Aa ) ) ) ).

% list.pred_inject(2)
thf(fact_618_list__all__simps_I1_J,axiom,
    ! [P: mat_complex > $o,X4: mat_complex,Xs: list_mat_complex] :
      ( ( list_all_mat_complex @ P @ ( cons_mat_complex @ X4 @ Xs ) )
      = ( ( P @ X4 )
        & ( list_all_mat_complex @ P @ Xs ) ) ) ).

% list_all_simps(1)
thf(fact_619_index__smult__mat_I3_J,axiom,
    ! [A2: a,A3: mat_a] :
      ( ( dim_col_a @ ( smult_mat_a @ A2 @ A3 ) )
      = ( dim_col_a @ A3 ) ) ).

% index_smult_mat(3)
thf(fact_620_index__smult__mat_I3_J,axiom,
    ! [A2: complex,A3: mat_complex] :
      ( ( dim_col_complex @ ( smult_mat_complex @ A2 @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% index_smult_mat(3)
thf(fact_621_index__smult__mat_I2_J,axiom,
    ! [A2: a,A3: mat_a] :
      ( ( dim_row_a @ ( smult_mat_a @ A2 @ A3 ) )
      = ( dim_row_a @ A3 ) ) ).

% index_smult_mat(2)
thf(fact_622_index__smult__mat_I2_J,axiom,
    ! [A2: complex,A3: mat_complex] :
      ( ( dim_row_complex @ ( smult_mat_complex @ A2 @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% index_smult_mat(2)
thf(fact_623_smult__carrier__mat,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,K: a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( smult_mat_a @ K @ A3 ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% smult_carrier_mat
thf(fact_624_smult__carrier__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,K: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( smult_mat_complex @ K @ A3 ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% smult_carrier_mat
thf(fact_625_uminus__mat,axiom,
    ! [A3: mat_complex,N: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( uminus467866341702955550omplex @ A3 )
        = ( smult_mat_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ A3 ) ) ) ).

% uminus_mat
thf(fact_626_hermitian__square__hermitian,axiom,
    ! [A3: mat_complex] :
      ( ( comple8306762464034002205omplex @ A3 )
     => ( comple8306762464034002205omplex @ ( times_8009071140041733218omplex @ A3 @ A3 ) ) ) ).

% hermitian_square_hermitian
thf(fact_627_left__mult__one__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( times_8009071140041733218omplex @ ( one_mat_complex @ Nr ) @ A3 )
        = A3 ) ) ).

% left_mult_one_mat
thf(fact_628_right__mult__one__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( times_8009071140041733218omplex @ A3 @ ( one_mat_complex @ Nc ) )
        = A3 ) ) ).

% right_mult_one_mat
thf(fact_629_left__mult__one__mat_H,axiom,
    ! [A3: mat_complex,N: nat] :
      ( ( ( dim_row_complex @ A3 )
        = N )
     => ( ( times_8009071140041733218omplex @ ( one_mat_complex @ N ) @ A3 )
        = A3 ) ) ).

% left_mult_one_mat'
thf(fact_630_right__mult__one__mat_H,axiom,
    ! [A3: mat_complex,N: nat] :
      ( ( ( dim_col_complex @ A3 )
        = N )
     => ( ( times_8009071140041733218omplex @ A3 @ ( one_mat_complex @ N ) )
        = A3 ) ) ).

% right_mult_one_mat'
thf(fact_631_mat__assoc__test_I3_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ ( one_mat_complex @ N ) ) @ ( one_mat_complex @ N ) ) @ B ) @ ( one_mat_complex @ N ) )
              = ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ) ) ).

% mat_assoc_test(3)
thf(fact_632_eq__comps_Osimps_I2_J,axiom,
    ! [X4: mat_complex] :
      ( ( commut5736191610077499254omplex @ ( cons_mat_complex @ X4 @ nil_mat_complex ) )
      = ( cons_nat @ one_one_nat @ nil_nat ) ) ).

% eq_comps.simps(2)
thf(fact_633_eq__comps_Osimps_I2_J,axiom,
    ! [X4: complex] :
      ( ( commut93809757773076895omplex @ ( cons_complex @ X4 @ nil_complex ) )
      = ( cons_nat @ one_one_nat @ nil_nat ) ) ).

% eq_comps.simps(2)
thf(fact_634_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,Ws: list_nat,P: list_nat > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_635_list__induct4,axiom,
    ! [Xs: list_mat_a,Ys: list_nat,Zs2: list_nat,Ws: list_nat,P: list_mat_a > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_mat_a @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_mat_a @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_636_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_mat_a,Zs2: list_nat,Ws: list_nat,P: list_nat > list_mat_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( ( size_size_list_mat_a @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_mat_a @ nil_nat @ nil_nat )
           => ( ! [X2: nat,Xs3: list_nat,Y4: mat_a,Ys4: list_mat_a,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_mat_a @ Ys4 ) )
                 => ( ( ( size_size_list_mat_a @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_637_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_mat_a,Ws: list_nat,P: list_nat > list_nat > list_mat_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_mat_a @ Zs2 ) )
       => ( ( ( size_size_list_mat_a @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_nat @ nil_mat_a @ nil_nat )
           => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: mat_a,Zs: list_mat_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_mat_a @ Zs ) )
                   => ( ( ( size_size_list_mat_a @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_a @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_638_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,Ws: list_mat_a,P: list_nat > list_nat > list_nat > list_mat_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_mat_a @ Ws ) )
         => ( ( P @ nil_nat @ nil_nat @ nil_nat @ nil_mat_a )
           => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat,W: mat_a,Ws2: list_mat_a] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_mat_a @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_mat_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_639_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,Ws: list_mat_complex,P: list_nat > list_nat > list_nat > list_mat_complex > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_s5969786470865220249omplex @ Ws ) )
         => ( ( P @ nil_nat @ nil_nat @ nil_nat @ nil_mat_complex )
           => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat,W: mat_complex,Ws2: list_mat_complex] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_s5969786470865220249omplex @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_mat_complex @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_640_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_mat_complex,Ws: list_nat,P: list_nat > list_nat > list_mat_complex > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_s5969786470865220249omplex @ Zs2 ) )
       => ( ( ( size_s5969786470865220249omplex @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_nat @ nil_mat_complex @ nil_nat )
           => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: mat_complex,Zs: list_mat_complex,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_s5969786470865220249omplex @ Zs ) )
                   => ( ( ( size_s5969786470865220249omplex @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_complex @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_641_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_mat_complex,Zs2: list_nat,Ws: list_nat,P: list_nat > list_mat_complex > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ( ( size_s5969786470865220249omplex @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_mat_complex @ nil_nat @ nil_nat )
           => ( ! [X2: nat,Xs3: list_nat,Y4: mat_complex,Ys4: list_mat_complex,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs3 )
                    = ( size_s5969786470865220249omplex @ Ys4 ) )
                 => ( ( ( size_s5969786470865220249omplex @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_642_list__induct4,axiom,
    ! [Xs: list_mat_complex,Ys: list_nat,Zs2: list_nat,Ws: list_nat,P: list_mat_complex > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_mat_complex @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_s5969786470865220249omplex @ Xs3 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_643_list__induct4,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a,Zs2: list_nat,Ws: list_nat,P: list_mat_a > list_mat_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( ( size_size_list_mat_a @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( ( size_size_list_nat @ Zs2 )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_mat_a @ nil_mat_a @ nil_nat @ nil_nat )
           => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: mat_a,Ys4: list_mat_a,Z3: nat,Zs: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_mat_a @ Xs3 )
                    = ( size_size_list_mat_a @ Ys4 ) )
                 => ( ( ( size_size_list_mat_a @ Ys4 )
                      = ( size_size_list_nat @ Zs ) )
                   => ( ( ( size_size_list_nat @ Zs )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs3 @ Ys4 @ Zs @ Ws2 )
                       => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_644_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_nat,P: list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_nat @ nil_nat @ nil_nat )
         => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat] :
                ( ( ( size_size_list_nat @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_645_list__induct3,axiom,
    ! [Xs: list_mat_a,Ys: list_nat,Zs2: list_nat,P: list_mat_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_mat_a @ nil_nat @ nil_nat )
         => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat] :
                ( ( ( size_size_list_mat_a @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_646_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_mat_a,Zs2: list_nat,P: list_nat > list_mat_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( ( size_size_list_mat_a @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_nat @ nil_mat_a @ nil_nat )
         => ( ! [X2: nat,Xs3: list_nat,Y4: mat_a,Ys4: list_mat_a,Z3: nat,Zs: list_nat] :
                ( ( ( size_size_list_nat @ Xs3 )
                  = ( size_size_list_mat_a @ Ys4 ) )
               => ( ( ( size_size_list_mat_a @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_647_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_mat_a,P: list_nat > list_nat > list_mat_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_mat_a @ Zs2 ) )
       => ( ( P @ nil_nat @ nil_nat @ nil_mat_a )
         => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: mat_a,Zs: list_mat_a] :
                ( ( ( size_size_list_nat @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_mat_a @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_a @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_648_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_nat,Zs2: list_mat_complex,P: list_nat > list_nat > list_mat_complex > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_s5969786470865220249omplex @ Zs2 ) )
       => ( ( P @ nil_nat @ nil_nat @ nil_mat_complex )
         => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat,Z3: mat_complex,Zs: list_mat_complex] :
                ( ( ( size_size_list_nat @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_s5969786470865220249omplex @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_complex @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_649_list__induct3,axiom,
    ! [Xs: list_nat,Ys: list_mat_complex,Zs2: list_nat,P: list_nat > list_mat_complex > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ( ( size_s5969786470865220249omplex @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_nat @ nil_mat_complex @ nil_nat )
         => ( ! [X2: nat,Xs3: list_nat,Y4: mat_complex,Ys4: list_mat_complex,Z3: nat,Zs: list_nat] :
                ( ( ( size_size_list_nat @ Xs3 )
                  = ( size_s5969786470865220249omplex @ Ys4 ) )
               => ( ( ( size_s5969786470865220249omplex @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_650_list__induct3,axiom,
    ! [Xs: list_mat_complex,Ys: list_nat,Zs2: list_nat,P: list_mat_complex > list_nat > list_nat > $o] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_mat_complex @ nil_nat @ nil_nat )
         => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: nat,Ys4: list_nat,Z3: nat,Zs: list_nat] :
                ( ( ( size_s5969786470865220249omplex @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_651_list__induct3,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a,Zs2: list_nat,P: list_mat_a > list_mat_a > list_nat > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( ( size_size_list_mat_a @ Ys )
          = ( size_size_list_nat @ Zs2 ) )
       => ( ( P @ nil_mat_a @ nil_mat_a @ nil_nat )
         => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: mat_a,Ys4: list_mat_a,Z3: nat,Zs: list_nat] :
                ( ( ( size_size_list_mat_a @ Xs3 )
                  = ( size_size_list_mat_a @ Ys4 ) )
               => ( ( ( size_size_list_mat_a @ Ys4 )
                    = ( size_size_list_nat @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_652_list__induct3,axiom,
    ! [Xs: list_mat_a,Ys: list_nat,Zs2: list_mat_a,P: list_mat_a > list_nat > list_mat_a > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_mat_a @ Zs2 ) )
       => ( ( P @ nil_mat_a @ nil_nat @ nil_mat_a )
         => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: nat,Ys4: list_nat,Z3: mat_a,Zs: list_mat_a] :
                ( ( ( size_size_list_mat_a @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_mat_a @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_a @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_653_list__induct3,axiom,
    ! [Xs: list_mat_a,Ys: list_nat,Zs2: list_mat_complex,P: list_mat_a > list_nat > list_mat_complex > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_s5969786470865220249omplex @ Zs2 ) )
       => ( ( P @ nil_mat_a @ nil_nat @ nil_mat_complex )
         => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: nat,Ys4: list_nat,Z3: mat_complex,Zs: list_mat_complex] :
                ( ( ( size_size_list_mat_a @ Xs3 )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_s5969786470865220249omplex @ Zs ) )
                 => ( ( P @ Xs3 @ Ys4 @ Zs )
                   => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) @ ( cons_mat_complex @ Z3 @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_654_list__induct2,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_a,P: list_mat_a > list_mat_a > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( P @ nil_mat_a @ nil_mat_a )
       => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: mat_a,Ys4: list_mat_a] :
              ( ( ( size_size_list_mat_a @ Xs3 )
                = ( size_size_list_mat_a @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_655_list__induct2,axiom,
    ! [Xs: list_mat_a,Ys: list_nat,P: list_mat_a > list_nat > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P @ nil_mat_a @ nil_nat )
       => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: nat,Ys4: list_nat] :
              ( ( ( size_size_list_mat_a @ Xs3 )
                = ( size_size_list_nat @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_656_list__induct2,axiom,
    ! [Xs: list_mat_a,Ys: list_mat_complex,P: list_mat_a > list_mat_complex > $o] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ( P @ nil_mat_a @ nil_mat_complex )
       => ( ! [X2: mat_a,Xs3: list_mat_a,Y4: mat_complex,Ys4: list_mat_complex] :
              ( ( ( size_size_list_mat_a @ Xs3 )
                = ( size_s5969786470865220249omplex @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_a @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_657_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_mat_a,P: list_nat > list_mat_a > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( P @ nil_nat @ nil_mat_a )
       => ( ! [X2: nat,Xs3: list_nat,Y4: mat_a,Ys4: list_mat_a] :
              ( ( ( size_size_list_nat @ Xs3 )
                = ( size_size_list_mat_a @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_658_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_nat,P: list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P @ nil_nat @ nil_nat )
       => ( ! [X2: nat,Xs3: list_nat,Y4: nat,Ys4: list_nat] :
              ( ( ( size_size_list_nat @ Xs3 )
                = ( size_size_list_nat @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_659_list__induct2,axiom,
    ! [Xs: list_nat,Ys: list_mat_complex,P: list_nat > list_mat_complex > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ( P @ nil_nat @ nil_mat_complex )
       => ( ! [X2: nat,Xs3: list_nat,Y4: mat_complex,Ys4: list_mat_complex] :
              ( ( ( size_size_list_nat @ Xs3 )
                = ( size_s5969786470865220249omplex @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_nat @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_660_list__induct2,axiom,
    ! [Xs: list_mat_complex,Ys: list_mat_a,P: list_mat_complex > list_mat_a > $o] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_size_list_mat_a @ Ys ) )
     => ( ( P @ nil_mat_complex @ nil_mat_a )
       => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: mat_a,Ys4: list_mat_a] :
              ( ( ( size_s5969786470865220249omplex @ Xs3 )
                = ( size_size_list_mat_a @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_mat_a @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_661_list__induct2,axiom,
    ! [Xs: list_mat_complex,Ys: list_nat,P: list_mat_complex > list_nat > $o] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P @ nil_mat_complex @ nil_nat )
       => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: nat,Ys4: list_nat] :
              ( ( ( size_s5969786470865220249omplex @ Xs3 )
                = ( size_size_list_nat @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_662_list__induct2,axiom,
    ! [Xs: list_mat_complex,Ys: list_mat_complex,P: list_mat_complex > list_mat_complex > $o] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( size_s5969786470865220249omplex @ Ys ) )
     => ( ( P @ nil_mat_complex @ nil_mat_complex )
       => ( ! [X2: mat_complex,Xs3: list_mat_complex,Y4: mat_complex,Ys4: list_mat_complex] :
              ( ( ( size_s5969786470865220249omplex @ Xs3 )
                = ( size_s5969786470865220249omplex @ Ys4 ) )
             => ( ( P @ Xs3 @ Ys4 )
               => ( P @ ( cons_mat_complex @ X2 @ Xs3 ) @ ( cons_mat_complex @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_663_nth__Cons__0,axiom,
    ! [X4: mat_a,Xs: list_mat_a] :
      ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ zero_zero_nat )
      = X4 ) ).

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

% nth_Cons_0
thf(fact_665_nth__Cons__0,axiom,
    ! [X4: mat_complex,Xs: list_mat_complex] :
      ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ zero_zero_nat )
      = X4 ) ).

% nth_Cons_0
thf(fact_666_mult__smult__distrib,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,K: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( times_8009071140041733218omplex @ A3 @ ( smult_mat_complex @ K @ B ) )
          = ( smult_mat_complex @ K @ ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ) ).

% mult_smult_distrib
thf(fact_667_mult__smult__assoc__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,K: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( times_8009071140041733218omplex @ ( smult_mat_complex @ K @ A3 ) @ B )
          = ( smult_mat_complex @ K @ ( times_8009071140041733218omplex @ A3 @ B ) ) ) ) ) ).

% mult_smult_assoc_mat
thf(fact_668_Nil__tl,axiom,
    ! [Xs: list_mat_complex] :
      ( ( nil_mat_complex
        = ( tl_mat_complex @ Xs ) )
      = ( ( Xs = nil_mat_complex )
        | ? [X5: mat_complex] :
            ( Xs
            = ( cons_mat_complex @ X5 @ nil_mat_complex ) ) ) ) ).

% Nil_tl
thf(fact_669_tl__Nil,axiom,
    ! [Xs: list_mat_complex] :
      ( ( ( tl_mat_complex @ Xs )
        = nil_mat_complex )
      = ( ( Xs = nil_mat_complex )
        | ? [X5: mat_complex] :
            ( Xs
            = ( cons_mat_complex @ X5 @ nil_mat_complex ) ) ) ) ).

% tl_Nil
thf(fact_670_eq__comps__neq__0,axiom,
    ! [A2: nat,M2: list_nat,L: list_complex] :
      ( ( ( cons_nat @ A2 @ M2 )
        = ( commut93809757773076895omplex @ L ) )
     => ( A2 != zero_zero_nat ) ) ).

% eq_comps_neq_0
thf(fact_671_butlast_Osimps_I2_J,axiom,
    ! [Xs: list_mat_complex,X4: mat_complex] :
      ( ( ( Xs = nil_mat_complex )
       => ( ( butlast_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) )
          = nil_mat_complex ) )
      & ( ( Xs != nil_mat_complex )
       => ( ( butlast_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) )
          = ( cons_mat_complex @ X4 @ ( butlast_mat_complex @ Xs ) ) ) ) ) ).

% butlast.simps(2)
thf(fact_672_hermitian__square,axiom,
    ! [M4: mat_complex] :
      ( ( comple8306762464034002205omplex @ M4 )
     => ( member_mat_complex @ M4 @ ( carrier_mat_complex @ ( dim_row_complex @ M4 ) @ ( dim_row_complex @ M4 ) ) ) ) ).

% hermitian_square
thf(fact_673_mat__diag__one,axiom,
    ! [N: nat] :
      ( ( mat_diag_nat @ N
        @ ^ [X5: nat] : one_one_nat )
      = ( one_mat_nat @ N ) ) ).

% mat_diag_one
thf(fact_674_mat__diag__one,axiom,
    ! [N: nat] :
      ( ( mat_diag_complex @ N
        @ ^ [X5: nat] : one_one_complex )
      = ( one_mat_complex @ N ) ) ).

% mat_diag_one
thf(fact_675_extract__subdiags__neq__Nil,axiom,
    ! [B: mat_a,A2: nat,L: list_nat] :
      ( ( commut2531942506349284476iags_a @ B @ ( cons_nat @ A2 @ L ) )
     != nil_mat_a ) ).

% extract_subdiags_neq_Nil
thf(fact_676_extract__subdiags__neq__Nil,axiom,
    ! [B: mat_complex,A2: nat,L: list_nat] :
      ( ( commut6900707758132580272omplex @ B @ ( cons_nat @ A2 @ L ) )
     != nil_mat_complex ) ).

% extract_subdiags_neq_Nil
thf(fact_677_hermitian__real__diag__decomp,axiom,
    ! [A3: mat_complex,N: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( comple8306762464034002205omplex @ A3 )
         => ~ ! [B6: mat_complex,U3: mat_complex] :
                ~ ( spectr5409772854192057952omplex @ A3 @ B6 @ U3 ) ) ) ) ).

% hermitian_real_diag_decomp
thf(fact_678_projector__def,axiom,
    ( linear5633924348262549461omplex
    = ( ^ [M5: mat_complex] :
          ( ( comple8306762464034002205omplex @ M5 )
          & ( ( times_8009071140041733218omplex @ M5 @ M5 )
            = M5 ) ) ) ) ).

% projector_def
thf(fact_679_hd__Cons__tl,axiom,
    ! [Xs: list_mat_complex] :
      ( ( Xs != nil_mat_complex )
     => ( ( cons_mat_complex @ ( hd_mat_complex @ Xs ) @ ( tl_mat_complex @ Xs ) )
        = Xs ) ) ).

% hd_Cons_tl
thf(fact_680_list_Oexhaust__sel,axiom,
    ! [List: list_mat_complex] :
      ( ( List != nil_mat_complex )
     => ( List
        = ( cons_mat_complex @ ( hd_mat_complex @ List ) @ ( tl_mat_complex @ List ) ) ) ) ).

% list.exhaust_sel
thf(fact_681_list_Ocollapse,axiom,
    ! [List: list_mat_complex] :
      ( ( List != nil_mat_complex )
     => ( ( cons_mat_complex @ ( hd_mat_complex @ List ) @ ( tl_mat_complex @ List ) )
        = List ) ) ).

% list.collapse
thf(fact_682_eq__comps__singleton,axiom,
    ! [A2: nat,L: list_mat_a] :
      ( ( ( cons_nat @ A2 @ nil_nat )
        = ( commut861362805798584524_mat_a @ L ) )
     => ( A2
        = ( size_size_list_mat_a @ L ) ) ) ).

% eq_comps_singleton
thf(fact_683_eq__comps__singleton,axiom,
    ! [A2: nat,L: list_nat] :
      ( ( ( cons_nat @ A2 @ nil_nat )
        = ( commut2436974278740741825ps_nat @ L ) )
     => ( A2
        = ( size_size_list_nat @ L ) ) ) ).

% eq_comps_singleton
thf(fact_684_eq__comps__singleton,axiom,
    ! [A2: nat,L: list_mat_complex] :
      ( ( ( cons_nat @ A2 @ nil_nat )
        = ( commut5736191610077499254omplex @ L ) )
     => ( A2
        = ( size_s5969786470865220249omplex @ L ) ) ) ).

% eq_comps_singleton
thf(fact_685_eq__comps__singleton,axiom,
    ! [A2: nat,L: list_complex] :
      ( ( ( cons_nat @ A2 @ nil_nat )
        = ( commut93809757773076895omplex @ L ) )
     => ( A2
        = ( size_s3451745648224563538omplex @ L ) ) ) ).

% eq_comps_singleton
thf(fact_686_eq__comps__eq,axiom,
    ! [A2: nat,M2: list_nat,L: list_mat_a,I4: nat] :
      ( ( ( cons_nat @ A2 @ M2 )
        = ( commut861362805798584524_mat_a @ L ) )
     => ( ( ord_less_nat @ I4 @ A2 )
       => ( ( nth_mat_a @ L @ I4 )
          = ( hd_mat_a @ L ) ) ) ) ).

% eq_comps_eq
thf(fact_687_eq__comps__eq,axiom,
    ! [A2: nat,M2: list_nat,L: list_nat,I4: nat] :
      ( ( ( cons_nat @ A2 @ M2 )
        = ( commut2436974278740741825ps_nat @ L ) )
     => ( ( ord_less_nat @ I4 @ A2 )
       => ( ( nth_nat @ L @ I4 )
          = ( hd_nat @ L ) ) ) ) ).

% eq_comps_eq
thf(fact_688_eq__comps__eq,axiom,
    ! [A2: nat,M2: list_nat,L: list_mat_complex,I4: nat] :
      ( ( ( cons_nat @ A2 @ M2 )
        = ( commut5736191610077499254omplex @ L ) )
     => ( ( ord_less_nat @ I4 @ A2 )
       => ( ( nth_mat_complex @ L @ I4 )
          = ( hd_mat_complex @ L ) ) ) ) ).

% eq_comps_eq
thf(fact_689_eq__comps__eq,axiom,
    ! [A2: nat,M2: list_nat,L: list_complex,I4: nat] :
      ( ( ( cons_nat @ A2 @ M2 )
        = ( commut93809757773076895omplex @ L ) )
     => ( ( ord_less_nat @ I4 @ A2 )
       => ( ( nth_complex @ L @ I4 )
          = ( hd_complex @ L ) ) ) ) ).

% eq_comps_eq
thf(fact_690_mat__mult__left__right__inverse,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ( times_8009071140041733218omplex @ A3 @ B )
            = ( one_mat_complex @ N ) )
         => ( ( times_8009071140041733218omplex @ B @ A3 )
            = ( one_mat_complex @ N ) ) ) ) ) ).

% mat_mult_left_right_inverse
thf(fact_691_sorted__list__subset_Oinduct,axiom,
    ! [P: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
      ( ! [A5: nat,As2: list_nat,B5: nat,Bs: list_nat] :
          ( ( ( A5 = B5 )
           => ( P @ As2 @ ( cons_nat @ B5 @ Bs ) ) )
         => ( ( ( A5 != B5 )
             => ( ( ord_less_nat @ B5 @ A5 )
               => ( P @ ( cons_nat @ A5 @ As2 ) @ Bs ) ) )
           => ( P @ ( cons_nat @ A5 @ As2 ) @ ( cons_nat @ B5 @ Bs ) ) ) )
     => ( ! [X_1: list_nat] : ( P @ nil_nat @ X_1 )
       => ( ! [A5: nat,Uv: list_nat] : ( P @ ( cons_nat @ A5 @ Uv ) @ nil_nat )
         => ( P @ A0 @ A1 ) ) ) ) ).

% sorted_list_subset.induct
thf(fact_692_eq__comps_Oelims,axiom,
    ! [X4: list_mat_complex,Y2: list_nat] :
      ( ( ( commut5736191610077499254omplex @ X4 )
        = Y2 )
     => ( ( ( X4 = nil_mat_complex )
         => ( Y2 != nil_nat ) )
       => ( ( ? [X2: mat_complex] :
                ( X4
                = ( cons_mat_complex @ X2 @ nil_mat_complex ) )
           => ( Y2
             != ( cons_nat @ one_one_nat @ nil_nat ) ) )
         => ~ ! [X2: mat_complex,Y4: mat_complex,L2: list_mat_complex] :
                ( ( X4
                  = ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ L2 ) ) )
               => ( Y2
                 != ( if_list_nat @ ( X2 = Y4 ) @ ( cons_nat @ ( suc @ ( hd_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) @ ( tl_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) @ ( cons_nat @ one_one_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) ) ) ) ) ) ).

% eq_comps.elims
thf(fact_693_eq__comps_Oelims,axiom,
    ! [X4: list_complex,Y2: list_nat] :
      ( ( ( commut93809757773076895omplex @ X4 )
        = Y2 )
     => ( ( ( X4 = nil_complex )
         => ( Y2 != nil_nat ) )
       => ( ( ? [X2: complex] :
                ( X4
                = ( cons_complex @ X2 @ nil_complex ) )
           => ( Y2
             != ( cons_nat @ one_one_nat @ nil_nat ) ) )
         => ~ ! [X2: complex,Y4: complex,L2: list_complex] :
                ( ( X4
                  = ( cons_complex @ X2 @ ( cons_complex @ Y4 @ L2 ) ) )
               => ( Y2
                 != ( if_list_nat @ ( X2 = Y4 ) @ ( cons_nat @ ( suc @ ( hd_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) @ ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) @ ( cons_nat @ one_one_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) ) ) ) ) ) ).

% eq_comps.elims
thf(fact_694_eq__comps_Osimps_I3_J,axiom,
    ! [X4: complex,Y2: complex,L: list_complex] :
      ( ( commut93809757773076895omplex @ ( cons_complex @ X4 @ ( cons_complex @ Y2 @ L ) ) )
      = ( if_list_nat @ ( X4 = Y2 ) @ ( cons_nat @ ( suc @ ( hd_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y2 @ L ) ) ) ) @ ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y2 @ L ) ) ) ) @ ( cons_nat @ one_one_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y2 @ L ) ) ) ) ) ).

% eq_comps.simps(3)
thf(fact_695_diag__block__mat_Oinduct,axiom,
    ! [P: list_mat_complex > $o,A0: list_mat_complex] :
      ( ( P @ nil_mat_complex )
     => ( ! [A6: mat_complex,As3: list_mat_complex] :
            ( ( P @ As3 )
           => ( P @ ( cons_mat_complex @ A6 @ As3 ) ) )
       => ( P @ A0 ) ) ) ).

% diag_block_mat.induct
thf(fact_696_diag__block__mat_Ocases,axiom,
    ! [X4: list_mat_complex] :
      ( ( X4 != nil_mat_complex )
     => ~ ! [A6: mat_complex,As3: list_mat_complex] :
            ( X4
           != ( cons_mat_complex @ A6 @ As3 ) ) ) ).

% diag_block_mat.cases
thf(fact_697_not__less__simps_I1_J,axiom,
    ! [N: nat,M2: nat] :
      ( ~ ( ord_less_nat @ N @ M2 )
     => ( ( ord_less_nat @ N @ ( suc @ M2 ) )
        = ( N = M2 ) ) ) ).

% not_less_simps(1)
thf(fact_698_Nat_OlessE,axiom,
    ! [I4: nat,K: nat] :
      ( ( ord_less_nat @ I4 @ K )
     => ( ( K
         != ( suc @ I4 ) )
       => ~ ! [J4: nat] :
              ( ( ord_less_nat @ I4 @ J4 )
             => ( K
               != ( suc @ J4 ) ) ) ) ) ).

% Nat.lessE
thf(fact_699_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_700_Suc__mono,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_701_Suc__lessD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M2 ) @ N )
     => ( ord_less_nat @ M2 @ N ) ) ).

% Suc_lessD
thf(fact_702_Suc__lessE,axiom,
    ! [I4: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I4 ) @ K )
     => ~ ! [J4: nat] :
            ( ( ord_less_nat @ I4 @ J4 )
           => ( K
             != ( suc @ J4 ) ) ) ) ).

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

% Suc_lessI
thf(fact_704_less__SucE,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M2 @ N )
       => ( M2 = N ) ) ) ).

% less_SucE
thf(fact_705_less__SucI,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ord_less_nat @ M2 @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_706_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ N )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ I3 ) ) ) ) ).

% Ex_less_Suc
thf(fact_707_Suc__less__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% Suc_less_eq
thf(fact_708_less__Suc__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
      = ( ( ord_less_nat @ M2 @ N )
        | ( M2 = N ) ) ) ).

% less_Suc_eq
thf(fact_709_not__less__eq,axiom,
    ! [M2: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M2 @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M2 ) ) ) ).

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

% All_less_Suc
thf(fact_711_Suc__less__eq2,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M2 )
      = ( ? [M6: nat] :
            ( ( M2
              = ( suc @ M6 ) )
            & ( ord_less_nat @ N @ M6 ) ) ) ) ).

% Suc_less_eq2
thf(fact_712_less__antisym,axiom,
    ! [N: nat,M2: nat] :
      ( ~ ( ord_less_nat @ N @ M2 )
     => ( ( ord_less_nat @ N @ ( suc @ M2 ) )
       => ( M2 = N ) ) ) ).

% less_antisym
thf(fact_713_Suc__less__SucD,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N ) )
     => ( ord_less_nat @ M2 @ N ) ) ).

% Suc_less_SucD
thf(fact_714_less__trans__Suc,axiom,
    ! [I4: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I4 @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I4 ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_715_less__Suc__induct,axiom,
    ! [I4: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I4 @ J )
     => ( ! [I2: nat] : ( P @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J4: nat,K2: nat] :
              ( ( ord_less_nat @ I2 @ J4 )
             => ( ( ord_less_nat @ J4 @ K2 )
               => ( ( P @ I2 @ J4 )
                 => ( ( P @ J4 @ K2 )
                   => ( P @ I2 @ K2 ) ) ) ) )
         => ( P @ I4 @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_716_strict__inc__induct,axiom,
    ! [I4: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I4 @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P @ ( suc @ I2 ) )
               => ( P @ I2 ) ) )
         => ( P @ I4 ) ) ) ) ).

% strict_inc_induct
thf(fact_717_Suc__mult__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ( times_times_nat @ ( suc @ K ) @ M2 )
        = ( times_times_nat @ ( suc @ K ) @ N ) )
      = ( M2 = N ) ) ).

% Suc_mult_cancel1
thf(fact_718_ex__Suc__conv,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ ( suc @ I3 ) ) ) ) ) ).

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

% all_Suc_conv
thf(fact_720_all__less__two,axiom,
    ! [P: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ ( suc @ zero_zero_nat ) ) )
           => ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        & ( P @ ( suc @ zero_zero_nat ) ) ) ) ).

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

% n_not_Suc_n
thf(fact_722_Suc__inject,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ( suc @ X4 )
        = ( suc @ Y2 ) )
     => ( X4 = Y2 ) ) ).

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

% old.nat.inject
thf(fact_724_nat_Oinject,axiom,
    ! [X24: nat,Y22: nat] :
      ( ( ( suc @ X24 )
        = ( suc @ Y22 ) )
      = ( X24 = Y22 ) ) ).

% nat.inject
thf(fact_725_unit__vecs__last_Oinduct,axiom,
    ! [P: nat > nat > $o,A0: nat,A1: nat] :
      ( ! [N3: nat] : ( P @ N3 @ zero_zero_nat )
     => ( ! [N3: nat,I2: nat] :
            ( ( P @ N3 @ I2 )
           => ( P @ N3 @ ( suc @ I2 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% unit_vecs_last.induct
thf(fact_726_nat_Osimps_I3_J,axiom,
    ! [X24: nat] :
      ( ( suc @ X24 )
     != zero_zero_nat ) ).

% nat.simps(3)
thf(fact_727_old_Onat_Osimps_I3_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.simps(3)
thf(fact_728_old_Onat_Osimps_I2_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.simps(2)
thf(fact_729_nat_OdiscI,axiom,
    ! [Nat: nat,X24: nat] :
      ( ( Nat
        = ( suc @ X24 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_730_nat_Oinduct,axiom,
    ! [P: nat > $o,Nat: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [Nat3: nat] :
            ( ( P @ Nat3 )
           => ( P @ ( suc @ Nat3 ) ) )
       => ( P @ Nat ) ) ) ).

% nat.induct
thf(fact_731_nat_Oexhaust,axiom,
    ! [Y2: nat] :
      ( ( Y2 != zero_zero_nat )
     => ~ ! [X23: nat] :
            ( Y2
           != ( suc @ X23 ) ) ) ).

% nat.exhaust
thf(fact_732_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P @ N3 )
           => ( P @ ( suc @ N3 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_733_diff__induct,axiom,
    ! [P: nat > nat > $o,M2: nat,N: nat] :
      ( ! [X2: nat] : ( P @ X2 @ zero_zero_nat )
     => ( ! [Y4: nat] : ( P @ zero_zero_nat @ ( suc @ Y4 ) )
       => ( ! [X2: nat,Y4: nat] :
              ( ( P @ X2 @ Y4 )
             => ( P @ ( suc @ X2 ) @ ( suc @ Y4 ) ) )
         => ( P @ M2 @ N ) ) ) ) ).

% diff_induct
thf(fact_734_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ zero_zero_nat ) ) ) ).

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

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

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

% Zero_neq_Suc
thf(fact_738_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M7: nat] :
          ( N
          = ( suc @ M7 ) ) ) ).

% not0_implies_Suc
thf(fact_739_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M2: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M2 ) )
        = ( ord_less_nat @ N @ M2 ) ) ) ).

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

% lift_Suc_mono_less
thf(fact_741_less__Suc__eq__0__disj,axiom,
    ! [M2: nat,N: nat] :
      ( ( ord_less_nat @ M2 @ ( suc @ N ) )
      = ( ( M2 = zero_zero_nat )
        | ? [J2: nat] :
            ( ( M2
              = ( suc @ J2 ) )
            & ( ord_less_nat @ J2 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_742_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M7: nat] :
          ( N
          = ( suc @ M7 ) ) ) ).

% gr0_implies_Suc
thf(fact_743_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_744_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M3: nat] :
            ( N
            = ( suc @ M3 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_745_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_746_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_mat_a] :
      ( ( ( suc @ N )
        = ( size_size_list_mat_a @ Xs ) )
      = ( ? [Y6: mat_a,Ys2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ Y6 @ Ys2 ) )
            & ( ( size_size_list_mat_a @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_747_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ( suc @ N )
        = ( size_size_list_nat @ Xs ) )
      = ( ? [Y6: nat,Ys2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y6 @ Ys2 ) )
            & ( ( size_size_list_nat @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_748_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_mat_complex] :
      ( ( ( suc @ N )
        = ( size_s5969786470865220249omplex @ Xs ) )
      = ( ? [Y6: mat_complex,Ys2: list_mat_complex] :
            ( ( Xs
              = ( cons_mat_complex @ Y6 @ Ys2 ) )
            & ( ( size_s5969786470865220249omplex @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_749_length__Suc__conv,axiom,
    ! [Xs: list_mat_a,N: nat] :
      ( ( ( size_size_list_mat_a @ Xs )
        = ( suc @ N ) )
      = ( ? [Y6: mat_a,Ys2: list_mat_a] :
            ( ( Xs
              = ( cons_mat_a @ Y6 @ Ys2 ) )
            & ( ( size_size_list_mat_a @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_750_length__Suc__conv,axiom,
    ! [Xs: list_nat,N: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( suc @ N ) )
      = ( ? [Y6: nat,Ys2: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y6 @ Ys2 ) )
            & ( ( size_size_list_nat @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_751_length__Suc__conv,axiom,
    ! [Xs: list_mat_complex,N: nat] :
      ( ( ( size_s5969786470865220249omplex @ Xs )
        = ( suc @ N ) )
      = ( ? [Y6: mat_complex,Ys2: list_mat_complex] :
            ( ( Xs
              = ( cons_mat_complex @ Y6 @ Ys2 ) )
            & ( ( size_s5969786470865220249omplex @ Ys2 )
              = N ) ) ) ) ).

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

% numeral_nat(7)
thf(fact_753_one__eq__mult__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( times_times_nat @ M2 @ N ) )
      = ( ( M2
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% one_eq_mult_iff
thf(fact_754_mult__eq__1__iff,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( times_times_nat @ M2 @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( M2
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% mult_eq_1_iff
thf(fact_755_Suc__mult__less__cancel1,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ ( suc @ K ) @ M2 ) @ ( times_times_nat @ ( suc @ K ) @ N ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% Suc_mult_less_cancel1
thf(fact_756_nth__Cons__Suc,axiom,
    ! [X4: mat_a,Xs: list_mat_a,N: nat] :
      ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ ( suc @ N ) )
      = ( nth_mat_a @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_757_nth__Cons__Suc,axiom,
    ! [X4: nat,Xs: list_nat,N: nat] :
      ( ( nth_nat @ ( cons_nat @ X4 @ Xs ) @ ( suc @ N ) )
      = ( nth_nat @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_758_nth__Cons__Suc,axiom,
    ! [X4: mat_complex,Xs: list_mat_complex,N: nat] :
      ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ ( suc @ N ) )
      = ( nth_mat_complex @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_759_diag__block__mat__singleton,axiom,
    ! [A3: mat_a] :
      ( ( diag_block_mat_a @ ( cons_mat_a @ A3 @ nil_mat_a ) )
      = A3 ) ).

% diag_block_mat_singleton
thf(fact_760_diag__block__mat__singleton,axiom,
    ! [A3: mat_complex] :
      ( ( diag_b9145358668110806138omplex @ ( cons_mat_complex @ A3 @ nil_mat_complex ) )
      = A3 ) ).

% diag_block_mat_singleton
thf(fact_761_nat__induct__non__zero,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P @ one_one_nat )
       => ( ! [N3: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_762_one__less__mult,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M2 )
       => ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( times_times_nat @ M2 @ N ) ) ) ) ).

% one_less_mult
thf(fact_763_n__less__m__mult__n,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M2 )
       => ( ord_less_nat @ N @ ( times_times_nat @ M2 @ N ) ) ) ) ).

% n_less_m_mult_n
thf(fact_764_n__less__n__mult__m,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M2 )
       => ( ord_less_nat @ N @ ( times_times_nat @ N @ M2 ) ) ) ) ).

% n_less_n_mult_m
thf(fact_765_nth__tl,axiom,
    ! [N: nat,Xs: list_mat_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_mat_a @ ( tl_mat_a @ Xs ) ) )
     => ( ( nth_mat_a @ ( tl_mat_a @ Xs ) @ N )
        = ( nth_mat_a @ Xs @ ( suc @ N ) ) ) ) ).

% nth_tl
thf(fact_766_nth__tl,axiom,
    ! [N: nat,Xs: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ ( tl_nat @ Xs ) ) )
     => ( ( nth_nat @ ( tl_nat @ Xs ) @ N )
        = ( nth_nat @ Xs @ ( suc @ N ) ) ) ) ).

% nth_tl
thf(fact_767_nth__tl,axiom,
    ! [N: nat,Xs: list_mat_complex] :
      ( ( ord_less_nat @ N @ ( size_s5969786470865220249omplex @ ( tl_mat_complex @ Xs ) ) )
     => ( ( nth_mat_complex @ ( tl_mat_complex @ Xs ) @ N )
        = ( nth_mat_complex @ Xs @ ( suc @ N ) ) ) ) ).

% nth_tl
thf(fact_768_Nitpick_Osize__list__simp_I2_J,axiom,
    ( size_size_list_mat_a
    = ( ^ [Xs2: list_mat_a] : ( if_nat @ ( Xs2 = nil_mat_a ) @ zero_zero_nat @ ( suc @ ( size_size_list_mat_a @ ( tl_mat_a @ Xs2 ) ) ) ) ) ) ).

% Nitpick.size_list_simp(2)
thf(fact_769_Nitpick_Osize__list__simp_I2_J,axiom,
    ( size_size_list_nat
    = ( ^ [Xs2: list_nat] : ( if_nat @ ( Xs2 = nil_nat ) @ zero_zero_nat @ ( suc @ ( size_size_list_nat @ ( tl_nat @ Xs2 ) ) ) ) ) ) ).

% Nitpick.size_list_simp(2)
thf(fact_770_Nitpick_Osize__list__simp_I2_J,axiom,
    ( size_s5969786470865220249omplex
    = ( ^ [Xs2: list_mat_complex] : ( if_nat @ ( Xs2 = nil_mat_complex ) @ zero_zero_nat @ ( suc @ ( size_s5969786470865220249omplex @ ( tl_mat_complex @ Xs2 ) ) ) ) ) ) ).

% Nitpick.size_list_simp(2)
thf(fact_771_length__Cons,axiom,
    ! [X4: mat_a,Xs: list_mat_a] :
      ( ( size_size_list_mat_a @ ( cons_mat_a @ X4 @ Xs ) )
      = ( suc @ ( size_size_list_mat_a @ Xs ) ) ) ).

% length_Cons
thf(fact_772_length__Cons,axiom,
    ! [X4: nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( cons_nat @ X4 @ Xs ) )
      = ( suc @ ( size_size_list_nat @ Xs ) ) ) ).

% length_Cons
thf(fact_773_length__Cons,axiom,
    ! [X4: mat_complex,Xs: list_mat_complex] :
      ( ( size_s5969786470865220249omplex @ ( cons_mat_complex @ X4 @ Xs ) )
      = ( suc @ ( size_s5969786470865220249omplex @ Xs ) ) ) ).

% length_Cons
thf(fact_774_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_lists_mat_complex @ N @ nil_mat_complex )
          = ( cons_l4198107141827137507omplex @ nil_mat_complex @ nil_list_mat_complex ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_lists_mat_complex @ N @ nil_mat_complex )
          = nil_list_mat_complex ) ) ) ).

% n_lists_Nil
thf(fact_775_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_mat_complex] :
      ( ( n_lists_mat_complex @ zero_zero_nat @ Xs )
      = ( cons_l4198107141827137507omplex @ nil_mat_complex @ nil_list_mat_complex ) ) ).

% n_lists.simps(1)
thf(fact_776_eq__comps_Opelims,axiom,
    ! [X4: list_mat_complex,Y2: list_nat] :
      ( ( ( commut5736191610077499254omplex @ X4 )
        = Y2 )
     => ( ( accp_l4317946081743925558omplex @ commut7557203520794418141omplex @ X4 )
       => ( ( ( X4 = nil_mat_complex )
           => ( ( Y2 = nil_nat )
             => ~ ( accp_l4317946081743925558omplex @ commut7557203520794418141omplex @ nil_mat_complex ) ) )
         => ( ! [X2: mat_complex] :
                ( ( X4
                  = ( cons_mat_complex @ X2 @ nil_mat_complex ) )
               => ( ( Y2
                    = ( cons_nat @ one_one_nat @ nil_nat ) )
                 => ~ ( accp_l4317946081743925558omplex @ commut7557203520794418141omplex @ ( cons_mat_complex @ X2 @ nil_mat_complex ) ) ) )
           => ~ ! [X2: mat_complex,Y4: mat_complex,L2: list_mat_complex] :
                  ( ( X4
                    = ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ L2 ) ) )
                 => ( ( Y2
                      = ( if_list_nat @ ( X2 = Y4 ) @ ( cons_nat @ ( suc @ ( hd_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) @ ( tl_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) @ ( cons_nat @ one_one_nat @ ( commut5736191610077499254omplex @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) )
                   => ~ ( accp_l4317946081743925558omplex @ commut7557203520794418141omplex @ ( cons_mat_complex @ X2 @ ( cons_mat_complex @ Y4 @ L2 ) ) ) ) ) ) ) ) ) ).

% eq_comps.pelims
thf(fact_777_eq__comps_Opelims,axiom,
    ! [X4: list_complex,Y2: list_nat] :
      ( ( ( commut93809757773076895omplex @ X4 )
        = Y2 )
     => ( ( accp_list_complex @ commut5384305104226550776omplex @ X4 )
       => ( ( ( X4 = nil_complex )
           => ( ( Y2 = nil_nat )
             => ~ ( accp_list_complex @ commut5384305104226550776omplex @ nil_complex ) ) )
         => ( ! [X2: complex] :
                ( ( X4
                  = ( cons_complex @ X2 @ nil_complex ) )
               => ( ( Y2
                    = ( cons_nat @ one_one_nat @ nil_nat ) )
                 => ~ ( accp_list_complex @ commut5384305104226550776omplex @ ( cons_complex @ X2 @ nil_complex ) ) ) )
           => ~ ! [X2: complex,Y4: complex,L2: list_complex] :
                  ( ( X4
                    = ( cons_complex @ X2 @ ( cons_complex @ Y4 @ L2 ) ) )
                 => ( ( Y2
                      = ( if_list_nat @ ( X2 = Y4 ) @ ( cons_nat @ ( suc @ ( hd_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) @ ( tl_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) @ ( cons_nat @ one_one_nat @ ( commut93809757773076895omplex @ ( cons_complex @ Y4 @ L2 ) ) ) ) )
                   => ~ ( accp_list_complex @ commut5384305104226550776omplex @ ( cons_complex @ X2 @ ( cons_complex @ Y4 @ L2 ) ) ) ) ) ) ) ) ) ).

% eq_comps.pelims
thf(fact_778_exists__least__lemma,axiom,
    ! [P: nat > $o] :
      ( ~ ( P @ zero_zero_nat )
     => ( ? [X_12: nat] : ( P @ X_12 )
       => ? [N3: nat] :
            ( ~ ( P @ N3 )
            & ( P @ ( suc @ N3 ) ) ) ) ) ).

% exists_least_lemma
thf(fact_779_inf__concat_Oinduct,axiom,
    ! [P: ( nat > nat ) > nat > $o,A0: nat > nat,A1: nat] :
      ( ! [N3: nat > nat] : ( P @ N3 @ zero_zero_nat )
     => ( ! [N3: nat > nat,K2: nat] :
            ( ( P @ N3 @ K2 )
           => ( P @ N3 @ ( suc @ K2 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% inf_concat.induct
thf(fact_780_zero__notin__Suc__image,axiom,
    ! [A3: set_nat] :
      ~ ( member_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ A3 ) ) ).

% zero_notin_Suc_image
thf(fact_781_nth__item_Ocases,axiom,
    ! [X4: nat] :
      ( ( X4 != zero_zero_nat )
     => ~ ! [N3: nat] :
            ( X4
           != ( suc @ N3 ) ) ) ).

% nth_item.cases
thf(fact_782_list__ex1__simps_I2_J,axiom,
    ! [P: mat_complex > $o,X4: mat_complex,Xs: list_mat_complex] :
      ( ( list_ex1_mat_complex @ P @ ( cons_mat_complex @ X4 @ Xs ) )
      = ( ( ( P @ X4 )
         => ( list_all_mat_complex
            @ ^ [Y6: mat_complex] :
                ( ~ ( P @ Y6 )
                | ( X4 = Y6 ) )
            @ Xs ) )
        & ( ~ ( P @ X4 )
         => ( list_ex1_mat_complex @ P @ Xs ) ) ) ) ).

% list_ex1_simps(2)
thf(fact_783_list__ex1__simps_I1_J,axiom,
    ! [P: mat_complex > $o] :
      ~ ( list_ex1_mat_complex @ P @ nil_mat_complex ) ).

% list_ex1_simps(1)
thf(fact_784_product__lists_Osimps_I1_J,axiom,
    ( ( produc3473099730217715734omplex @ nil_list_mat_complex )
    = ( cons_l4198107141827137507omplex @ nil_mat_complex @ nil_list_mat_complex ) ) ).

% product_lists.simps(1)
thf(fact_785_inverts__mat__def,axiom,
    ( inverts_mat_complex
    = ( ^ [A: mat_complex,B7: mat_complex] :
          ( ( times_8009071140041733218omplex @ A @ B7 )
          = ( one_mat_complex @ ( dim_row_complex @ A ) ) ) ) ) ).

% inverts_mat_def
thf(fact_786_pow__mat_Oelims,axiom,
    ! [X4: mat_complex,Xa2: nat,Y2: mat_complex] :
      ( ( ( pow_mat_complex @ X4 @ Xa2 )
        = Y2 )
     => ( ( ( Xa2 = zero_zero_nat )
         => ( Y2
           != ( one_mat_complex @ ( dim_row_complex @ X4 ) ) ) )
       => ~ ! [K2: nat] :
              ( ( Xa2
                = ( suc @ K2 ) )
             => ( Y2
               != ( times_8009071140041733218omplex @ ( pow_mat_complex @ X4 @ K2 ) @ X4 ) ) ) ) ) ).

% pow_mat.elims
thf(fact_787_pow__mat__dim_I1_J,axiom,
    ! [A3: mat_complex,K: nat] :
      ( ( dim_row_complex @ ( pow_mat_complex @ A3 @ K ) )
      = ( dim_row_complex @ A3 ) ) ).

% pow_mat_dim(1)
thf(fact_788_pow__carrier__mat,axiom,
    ! [A3: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( pow_mat_complex @ A3 @ K ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% pow_carrier_mat
thf(fact_789_inverts__mat__symm,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( inverts_mat_complex @ A3 @ B )
         => ( inverts_mat_complex @ B @ A3 ) ) ) ) ).

% inverts_mat_symm
thf(fact_790_inverts__mat__unique,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( inverts_mat_complex @ A3 @ B )
           => ( ( inverts_mat_complex @ A3 @ C2 )
             => ( B = C2 ) ) ) ) ) ) ).

% inverts_mat_unique
thf(fact_791_pow__mat_Osimps_I2_J,axiom,
    ! [A3: mat_complex,K: nat] :
      ( ( pow_mat_complex @ A3 @ ( suc @ K ) )
      = ( times_8009071140041733218omplex @ ( pow_mat_complex @ A3 @ K ) @ A3 ) ) ).

% pow_mat.simps(2)
thf(fact_792_pow__mat__dim__square_I1_J,axiom,
    ! [A3: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( dim_row_complex @ ( pow_mat_complex @ A3 @ K ) )
        = N ) ) ).

% pow_mat_dim_square(1)
thf(fact_793_pow__mat__dim__square_I2_J,axiom,
    ! [A3: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( dim_col_complex @ ( pow_mat_complex @ A3 @ K ) )
        = N ) ) ).

% pow_mat_dim_square(2)
thf(fact_794_pow__mat__dim_I2_J,axiom,
    ! [K: nat,A3: mat_complex] :
      ( ( ( K = zero_zero_nat )
       => ( ( dim_col_complex @ ( pow_mat_complex @ A3 @ K ) )
          = ( dim_row_complex @ A3 ) ) )
      & ( ( K != zero_zero_nat )
       => ( ( dim_col_complex @ ( pow_mat_complex @ A3 @ K ) )
          = ( dim_col_complex @ A3 ) ) ) ) ).

% pow_mat_dim(2)
thf(fact_795_pow__mat_Osimps_I1_J,axiom,
    ! [A3: mat_complex] :
      ( ( pow_mat_complex @ A3 @ zero_zero_nat )
      = ( one_mat_complex @ ( dim_row_complex @ A3 ) ) ) ).

% pow_mat.simps(1)
thf(fact_796_list_Odisc__eq__case_I1_J,axiom,
    ! [List: list_mat_complex] :
      ( ( List = nil_mat_complex )
      = ( case_l1221455599337119861omplex @ $true
        @ ^ [Uu: mat_complex,Uv2: list_mat_complex] : $false
        @ List ) ) ).

% list.disc_eq_case(1)
thf(fact_797_list_Odisc__eq__case_I2_J,axiom,
    ! [List: list_mat_complex] :
      ( ( List != nil_mat_complex )
      = ( case_l1221455599337119861omplex @ $false
        @ ^ [Uu: mat_complex,Uv2: list_mat_complex] : $true
        @ List ) ) ).

% list.disc_eq_case(2)
thf(fact_798_tl__def,axiom,
    ( tl_mat_complex
    = ( case_l3703368812846972192omplex @ nil_mat_complex
      @ ^ [X214: mat_complex,X224: list_mat_complex] : X224 ) ) ).

% tl_def
thf(fact_799_vec__space_Orow__space__is__preserved,axiom,
    ! [P: mat_complex,M2: nat,A3: mat_complex,N: nat] :
      ( ( invert2568027935824841882omplex @ P )
     => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ M2 @ M2 ) )
       => ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ M2 @ N ) )
         => ( ( vS_vec3284807721666986142omplex @ N @ ( times_8009071140041733218omplex @ P @ A3 ) )
            = ( vS_vec3284807721666986142omplex @ N @ A3 ) ) ) ) ) ).

% vec_space.row_space_is_preserved
thf(fact_800_nth__non__equal__first__eq,axiom,
    ! [X4: mat_a,Y2: mat_a,Xs: list_mat_a,N: nat] :
      ( ( X4 != Y2 )
     => ( ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ N )
          = Y2 )
        = ( ( ( nth_mat_a @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y2 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_801_nth__non__equal__first__eq,axiom,
    ! [X4: nat,Y2: nat,Xs: list_nat,N: nat] :
      ( ( X4 != Y2 )
     => ( ( ( nth_nat @ ( cons_nat @ X4 @ Xs ) @ N )
          = Y2 )
        = ( ( ( nth_nat @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y2 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_802_nth__non__equal__first__eq,axiom,
    ! [X4: mat_complex,Y2: mat_complex,Xs: list_mat_complex,N: nat] :
      ( ( X4 != Y2 )
     => ( ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ N )
          = Y2 )
        = ( ( ( nth_mat_complex @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y2 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_803_nth__Cons__pos,axiom,
    ! [N: nat,X4: mat_a,Xs: list_mat_a] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ N )
        = ( nth_mat_a @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_804_nth__Cons__pos,axiom,
    ! [N: nat,X4: nat,Xs: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_nat @ ( cons_nat @ X4 @ Xs ) @ N )
        = ( nth_nat @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_805_nth__Cons__pos,axiom,
    ! [N: nat,X4: mat_complex,Xs: list_mat_complex] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ N )
        = ( nth_mat_complex @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_806_diff__Suc__eq__diff__pred,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus_nat @ M2 @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M2 @ one_one_nat ) @ N ) ) ).

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

% diff_Suc_1
thf(fact_808_zero__less__diff,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M2 ) )
      = ( ord_less_nat @ M2 @ N ) ) ).

% zero_less_diff
thf(fact_809_diff__less,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M2 )
       => ( ord_less_nat @ ( minus_minus_nat @ M2 @ N ) @ M2 ) ) ) ).

% diff_less
thf(fact_810_nat__distrib_I4_J,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( times_times_nat @ K @ ( minus_minus_nat @ M2 @ N ) )
      = ( minus_minus_nat @ ( times_times_nat @ K @ M2 ) @ ( times_times_nat @ K @ N ) ) ) ).

% nat_distrib(4)
thf(fact_811_nat__distrib_I3_J,axiom,
    ! [M2: nat,N: nat,K: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ M2 @ N ) @ K )
      = ( minus_minus_nat @ ( times_times_nat @ M2 @ K ) @ ( times_times_nat @ N @ K ) ) ) ).

% nat_distrib(3)
thf(fact_812_minus__diff__eq,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( minus_minus_complex @ A2 @ B2 ) )
      = ( minus_minus_complex @ B2 @ A2 ) ) ).

% minus_diff_eq
thf(fact_813_minus__diff__commute,axiom,
    ! [B2: complex,A2: complex] :
      ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ A2 )
      = ( minus_minus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 ) ) ).

% minus_diff_commute
thf(fact_814_minus__diff__minus,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( uminus1482373934393186551omplex @ ( minus_minus_complex @ A2 @ B2 ) ) ) ).

% minus_diff_minus
thf(fact_815_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I4: nat] :
      ( ( P @ K )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ ( minus_minus_nat @ K @ I4 ) ) ) ) ).

% zero_induct_lemma
thf(fact_816_Suc__diff__diff,axiom,
    ! [M2: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M2 ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M2 @ N ) @ K ) ) ).

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

% diff_Suc_Suc
thf(fact_818_Rings_Oring__distribs_I4_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ B2 @ C ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C ) ) ) ).

% Rings.ring_distribs(4)
thf(fact_819_Rings_Oring__distribs_I3_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ C )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ C ) @ ( times_times_complex @ B2 @ C ) ) ) ).

% Rings.ring_distribs(3)
thf(fact_820_left__diff__distrib_H,axiom,
    ! [B2: nat,C: nat,A2: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ B2 @ C ) @ A2 )
      = ( minus_minus_nat @ ( times_times_nat @ B2 @ A2 ) @ ( times_times_nat @ C @ A2 ) ) ) ).

% left_diff_distrib'
thf(fact_821_left__diff__distrib_H,axiom,
    ! [B2: complex,C: complex,A2: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ B2 @ C ) @ A2 )
      = ( minus_minus_complex @ ( times_times_complex @ B2 @ A2 ) @ ( times_times_complex @ C @ A2 ) ) ) ).

% left_diff_distrib'
thf(fact_822_right__diff__distrib_H,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ A2 @ ( minus_minus_nat @ B2 @ C ) )
      = ( minus_minus_nat @ ( times_times_nat @ A2 @ B2 ) @ ( times_times_nat @ A2 @ C ) ) ) ).

% right_diff_distrib'
thf(fact_823_right__diff__distrib_H,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ B2 @ C ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C ) ) ) ).

% right_diff_distrib'
thf(fact_824_vector__space__over__itself_Oscale__right__diff__distrib,axiom,
    ! [A2: complex,X4: complex,Y2: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ X4 @ Y2 ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ X4 ) @ ( times_times_complex @ A2 @ Y2 ) ) ) ).

% vector_space_over_itself.scale_right_diff_distrib
thf(fact_825_vector__space__over__itself_Oscale__left__diff__distrib,axiom,
    ! [A2: complex,B2: complex,X4: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ X4 )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ X4 ) @ ( times_times_complex @ B2 @ X4 ) ) ) ).

% vector_space_over_itself.scale_left_diff_distrib
thf(fact_826_diffs0__imp__equal,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( minus_minus_nat @ M2 @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M2 )
          = zero_zero_nat )
       => ( M2 = N ) ) ) ).

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

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

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

% minus_nat.diff_0
thf(fact_830_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_831_diff__less__mono2,axiom,
    ! [M2: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M2 @ N )
     => ( ( ord_less_nat @ M2 @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M2 ) ) ) ) ).

% diff_less_mono2
thf(fact_832_verit__minus__simplify_I1_J,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ A2 @ A2 )
      = zero_zero_nat ) ).

% verit_minus_simplify(1)
thf(fact_833_verit__minus__simplify_I2_J,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

% verit_minus_simplify(2)
thf(fact_834_zero__diff,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_835_diff__commute,axiom,
    ! [I4: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I4 @ J ) @ K )
      = ( minus_minus_nat @ ( minus_minus_nat @ I4 @ K ) @ J ) ) ).

% diff_commute
thf(fact_836_arithmetic__simps_I56_J,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ zero_zero_complex @ A2 )
      = ( uminus1482373934393186551omplex @ A2 ) ) ).

% arithmetic_simps(56)
thf(fact_837_verit__minus__simplify_I3_J,axiom,
    ! [B2: complex] :
      ( ( minus_minus_complex @ zero_zero_complex @ B2 )
      = ( uminus1482373934393186551omplex @ B2 ) ) ).

% verit_minus_simplify(3)
thf(fact_838_arith__special_I21_J,axiom,
    ( ( minus_minus_complex @ one_one_complex @ one_one_complex )
    = zero_zero_complex ) ).

% arith_special(21)
thf(fact_839_Suc__diff__Suc,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ N @ M2 )
     => ( ( suc @ ( minus_minus_nat @ M2 @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M2 @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_840_diff__less__Suc,axiom,
    ! [M2: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M2 @ N ) @ ( suc @ M2 ) ) ).

% diff_less_Suc
thf(fact_841_arith__special_I24_J,axiom,
    ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ ( uminus1482373934393186551omplex @ one_one_complex ) )
    = zero_zero_complex ) ).

% arith_special(24)
thf(fact_842_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_843_diff__Suc__less,axiom,
    ! [N: nat,I4: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I4 ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_844_length__tl,axiom,
    ! [Xs: list_mat_a] :
      ( ( size_size_list_mat_a @ ( tl_mat_a @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_mat_a @ Xs ) @ one_one_nat ) ) ).

% length_tl
thf(fact_845_length__tl,axiom,
    ! [Xs: list_nat] :
      ( ( size_size_list_nat @ ( tl_nat @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_nat @ Xs ) @ one_one_nat ) ) ).

% length_tl
thf(fact_846_length__tl,axiom,
    ! [Xs: list_mat_complex] :
      ( ( size_s5969786470865220249omplex @ ( tl_mat_complex @ Xs ) )
      = ( minus_minus_nat @ ( size_s5969786470865220249omplex @ Xs ) @ one_one_nat ) ) ).

% length_tl
thf(fact_847_length__butlast,axiom,
    ! [Xs: list_mat_a] :
      ( ( size_size_list_mat_a @ ( butlast_mat_a @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_mat_a @ Xs ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_848_length__butlast,axiom,
    ! [Xs: list_nat] :
      ( ( size_size_list_nat @ ( butlast_nat @ Xs ) )
      = ( minus_minus_nat @ ( size_size_list_nat @ Xs ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_849_length__butlast,axiom,
    ! [Xs: list_mat_complex] :
      ( ( size_s5969786470865220249omplex @ ( butlast_mat_complex @ Xs ) )
      = ( minus_minus_nat @ ( size_s5969786470865220249omplex @ Xs ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_850_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_851_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_852_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M2 ) @ N )
        = ( minus_minus_nat @ M2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_853_nth__Cons_H,axiom,
    ! [N: nat,X4: mat_a,Xs: list_mat_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ N )
          = X4 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_mat_a @ ( cons_mat_a @ X4 @ Xs ) @ N )
          = ( nth_mat_a @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_854_nth__Cons_H,axiom,
    ! [N: nat,X4: nat,Xs: list_nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_nat @ ( cons_nat @ X4 @ Xs ) @ N )
          = X4 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_nat @ ( cons_nat @ X4 @ Xs ) @ N )
          = ( nth_nat @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_855_nth__Cons_H,axiom,
    ! [N: nat,X4: mat_complex,Xs: list_mat_complex] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ N )
          = X4 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_mat_complex @ ( cons_mat_complex @ X4 @ Xs ) @ N )
          = ( nth_mat_complex @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_856_permutation__insert__expand,axiom,
    ( permut138581522262023397omplex
    = ( ^ [I3: complex,J2: nat,P3: complex > nat,I5: complex] : ( if_nat @ ( ord_less_complex @ I5 @ I3 ) @ ( if_nat @ ( ord_less_nat @ ( P3 @ I5 ) @ J2 ) @ ( P3 @ I5 ) @ ( suc @ ( P3 @ I5 ) ) ) @ ( if_nat @ ( I5 = I3 ) @ J2 @ ( if_nat @ ( ord_less_nat @ ( P3 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) @ J2 ) @ ( P3 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) @ ( suc @ ( P3 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) ) ) ) ) ) ) ).

% permutation_insert_expand
thf(fact_857_permutation__insert__expand,axiom,
    ( permut3695043542826343943rt_nat
    = ( ^ [I3: nat,J2: nat,P3: nat > nat,I5: nat] : ( if_nat @ ( ord_less_nat @ I5 @ I3 ) @ ( if_nat @ ( ord_less_nat @ ( P3 @ I5 ) @ J2 ) @ ( P3 @ I5 ) @ ( suc @ ( P3 @ I5 ) ) ) @ ( if_nat @ ( I5 = I3 ) @ J2 @ ( if_nat @ ( ord_less_nat @ ( P3 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) @ J2 ) @ ( P3 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) @ ( suc @ ( P3 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) ) ) ) ) ) ) ).

% permutation_insert_expand
thf(fact_858_poly__cancel__eq__conv,axiom,
    ! [X4: complex,A2: complex,Y2: complex,B2: complex] :
      ( ( X4 = zero_zero_complex )
     => ( ( A2 != zero_zero_complex )
       => ( ( Y2 = zero_zero_complex )
          = ( ( minus_minus_complex @ ( times_times_complex @ A2 @ Y2 ) @ ( times_times_complex @ B2 @ X4 ) )
            = zero_zero_complex ) ) ) ) ).

% poly_cancel_eq_conv
thf(fact_859_mult__minus__distrib__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ A3 @ ( minus_2412168080157227406omplex @ B @ C2 ) )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ ( times_8009071140041733218omplex @ A3 @ C2 ) ) ) ) ) ) ).

% mult_minus_distrib_mat
thf(fact_860_minus__mult__distrib__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,C2: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ ( minus_2412168080157227406omplex @ A3 @ B ) @ C2 )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A3 @ C2 ) @ ( times_8009071140041733218omplex @ B @ C2 ) ) ) ) ) ) ).

% minus_mult_distrib_mat
thf(fact_861_psubset__imp__ex__mem,axiom,
    ! [A3: set_mat_a,B: set_mat_a] :
      ( ( ord_less_set_mat_a @ A3 @ B )
     => ? [B5: mat_a] : ( member_mat_a @ B5 @ ( minus_4757590266979429866_mat_a @ B @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_862_psubset__imp__ex__mem,axiom,
    ! [A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( ord_le3279973697895081845_mat_a @ A3 @ B )
     => ? [B5: list_mat_a] : ( member_list_mat_a @ B5 @ ( minus_2745209628418873978_mat_a @ B @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_863_psubset__imp__ex__mem,axiom,
    ! [A3: set_mat_complex,B: set_mat_complex] :
      ( ( ord_le5598786136212072115omplex @ A3 @ B )
     => ? [B5: mat_complex] : ( member_mat_complex @ B5 @ ( minus_8760755521168068590omplex @ B @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_864_psubset__imp__ex__mem,axiom,
    ! [A3: set_nat,B: set_nat] :
      ( ( ord_less_set_nat @ A3 @ B )
     => ? [B5: nat] : ( member_nat @ B5 @ ( minus_minus_set_nat @ B @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_865_index__minus__mat_I2_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_row_complex @ ( minus_2412168080157227406omplex @ A3 @ B ) )
      = ( dim_row_complex @ B ) ) ).

% index_minus_mat(2)
thf(fact_866_minus__carrier__mat_H,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A3 @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% minus_carrier_mat'
thf(fact_867_minus__carrier__mat,axiom,
    ! [B: mat_complex,Nr: nat,Nc: nat,A3: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A3 @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% minus_carrier_mat
thf(fact_868_index__minus__mat_I3_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_col_complex @ ( minus_2412168080157227406omplex @ A3 @ B ) )
      = ( dim_col_complex @ B ) ) ).

% index_minus_mat(3)
thf(fact_869_smult__distrib__left__minus__mat,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( smult_mat_complex @ C @ ( minus_2412168080157227406omplex @ B @ A3 ) )
          = ( minus_2412168080157227406omplex @ ( smult_mat_complex @ C @ B ) @ ( smult_mat_complex @ C @ A3 ) ) ) ) ) ).

% smult_distrib_left_minus_mat
thf(fact_870_hermitian__minus,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A3 )
         => ( ( comple8306762464034002205omplex @ B )
           => ( comple8306762464034002205omplex @ ( minus_2412168080157227406omplex @ A3 @ B ) ) ) ) ) ) ).

% hermitian_minus
thf(fact_871_mat__assoc__test_I9_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ ( minus_2412168080157227406omplex @ B @ C2 ) ) @ D )
              = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ D ) @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A3 @ C2 ) @ D ) ) ) ) ) ) ) ).

% mat_assoc_test(9)
thf(fact_872_delete__index__def,axiom,
    ( delete_index
    = ( ^ [I3: nat,I5: nat] : ( if_nat @ ( ord_less_nat @ I5 @ I3 ) @ I5 @ ( minus_minus_nat @ I5 @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% delete_index_def
thf(fact_873_permutation__delete__expand,axiom,
    ( permutation_delete
    = ( ^ [P3: nat > nat,I3: nat,J2: nat] : ( if_nat @ ( ord_less_nat @ ( P3 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( P3 @ I3 ) ) @ ( P3 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( minus_minus_nat @ ( P3 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% permutation_delete_expand
thf(fact_874_minus__set__def,axiom,
    ( minus_4757590266979429866_mat_a
    = ( ^ [A: set_mat_a,B7: set_mat_a] :
          ( collect_mat_a
          @ ( minus_minus_mat_a_o
            @ ^ [X5: mat_a] : ( member_mat_a @ X5 @ A )
            @ ^ [X5: mat_a] : ( member_mat_a @ X5 @ B7 ) ) ) ) ) ).

% minus_set_def
thf(fact_875_minus__set__def,axiom,
    ( minus_2745209628418873978_mat_a
    = ( ^ [A: set_list_mat_a,B7: set_list_mat_a] :
          ( collect_list_mat_a
          @ ( minus_6091799863187062411at_a_o
            @ ^ [X5: list_mat_a] : ( member_list_mat_a @ X5 @ A )
            @ ^ [X5: list_mat_a] : ( member_list_mat_a @ X5 @ B7 ) ) ) ) ) ).

% minus_set_def
thf(fact_876_minus__set__def,axiom,
    ( minus_8760755521168068590omplex
    = ( ^ [A: set_mat_complex,B7: set_mat_complex] :
          ( collect_mat_complex
          @ ( minus_3373970217925266543plex_o
            @ ^ [X5: mat_complex] : ( member_mat_complex @ X5 @ A )
            @ ^ [X5: mat_complex] : ( member_mat_complex @ X5 @ B7 ) ) ) ) ) ).

% minus_set_def
thf(fact_877_minus__set__def,axiom,
    ( minus_minus_set_nat
    = ( ^ [A: set_nat,B7: set_nat] :
          ( collect_nat
          @ ( minus_minus_nat_o
            @ ^ [X5: nat] : ( member_nat @ X5 @ A )
            @ ^ [X5: nat] : ( member_nat @ X5 @ B7 ) ) ) ) ) ).

% minus_set_def
thf(fact_878_mem__simps_I6_J,axiom,
    ! [C: mat_a,A3: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A3 @ B ) )
      = ( ( member_mat_a @ C @ A3 )
        & ~ ( member_mat_a @ C @ B ) ) ) ).

% mem_simps(6)
thf(fact_879_mem__simps_I6_J,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( minus_2745209628418873978_mat_a @ A3 @ B ) )
      = ( ( member_list_mat_a @ C @ A3 )
        & ~ ( member_list_mat_a @ C @ B ) ) ) ).

% mem_simps(6)
thf(fact_880_mem__simps_I6_J,axiom,
    ! [C: mat_complex,A3: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A3 @ B ) )
      = ( ( member_mat_complex @ C @ A3 )
        & ~ ( member_mat_complex @ C @ B ) ) ) ).

% mem_simps(6)
thf(fact_881_mem__simps_I6_J,axiom,
    ! [C: nat,A3: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A3 @ B ) )
      = ( ( member_nat @ C @ A3 )
        & ~ ( member_nat @ C @ B ) ) ) ).

% mem_simps(6)
thf(fact_882_DiffE,axiom,
    ! [C: mat_a,A3: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A3 @ B ) )
     => ~ ( ( member_mat_a @ C @ A3 )
         => ( member_mat_a @ C @ B ) ) ) ).

% DiffE
thf(fact_883_DiffE,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( minus_2745209628418873978_mat_a @ A3 @ B ) )
     => ~ ( ( member_list_mat_a @ C @ A3 )
         => ( member_list_mat_a @ C @ B ) ) ) ).

% DiffE
thf(fact_884_DiffE,axiom,
    ! [C: mat_complex,A3: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A3 @ B ) )
     => ~ ( ( member_mat_complex @ C @ A3 )
         => ( member_mat_complex @ C @ B ) ) ) ).

% DiffE
thf(fact_885_DiffE,axiom,
    ! [C: nat,A3: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A3 @ B ) )
     => ~ ( ( member_nat @ C @ A3 )
         => ( member_nat @ C @ B ) ) ) ).

% DiffE
thf(fact_886_DiffI,axiom,
    ! [C: mat_a,A3: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ C @ A3 )
     => ( ~ ( member_mat_a @ C @ B )
       => ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A3 @ B ) ) ) ) ).

% DiffI
thf(fact_887_DiffI,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ A3 )
     => ( ~ ( member_list_mat_a @ C @ B )
       => ( member_list_mat_a @ C @ ( minus_2745209628418873978_mat_a @ A3 @ B ) ) ) ) ).

% DiffI
thf(fact_888_DiffI,axiom,
    ! [C: mat_complex,A3: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ C @ A3 )
     => ( ~ ( member_mat_complex @ C @ B )
       => ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A3 @ B ) ) ) ) ).

% DiffI
thf(fact_889_DiffI,axiom,
    ! [C: nat,A3: set_nat,B: set_nat] :
      ( ( member_nat @ C @ A3 )
     => ( ~ ( member_nat @ C @ B )
       => ( member_nat @ C @ ( minus_minus_set_nat @ A3 @ B ) ) ) ) ).

% DiffI
thf(fact_890_DiffD1,axiom,
    ! [C: mat_a,A3: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A3 @ B ) )
     => ( member_mat_a @ C @ A3 ) ) ).

% DiffD1
thf(fact_891_DiffD1,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( minus_2745209628418873978_mat_a @ A3 @ B ) )
     => ( member_list_mat_a @ C @ A3 ) ) ).

% DiffD1
thf(fact_892_DiffD1,axiom,
    ! [C: mat_complex,A3: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A3 @ B ) )
     => ( member_mat_complex @ C @ A3 ) ) ).

% DiffD1
thf(fact_893_DiffD1,axiom,
    ! [C: nat,A3: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A3 @ B ) )
     => ( member_nat @ C @ A3 ) ) ).

% DiffD1
thf(fact_894_DiffD2,axiom,
    ! [C: mat_a,A3: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ C @ ( minus_4757590266979429866_mat_a @ A3 @ B ) )
     => ~ ( member_mat_a @ C @ B ) ) ).

% DiffD2
thf(fact_895_DiffD2,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a,B: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( minus_2745209628418873978_mat_a @ A3 @ B ) )
     => ~ ( member_list_mat_a @ C @ B ) ) ).

% DiffD2
thf(fact_896_DiffD2,axiom,
    ! [C: mat_complex,A3: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( minus_8760755521168068590omplex @ A3 @ B ) )
     => ~ ( member_mat_complex @ C @ B ) ) ).

% DiffD2
thf(fact_897_DiffD2,axiom,
    ! [C: nat,A3: set_nat,B: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A3 @ B ) )
     => ~ ( member_nat @ C @ B ) ) ).

% DiffD2
thf(fact_898_set__diff__eq,axiom,
    ( minus_4757590266979429866_mat_a
    = ( ^ [A: set_mat_a,B7: set_mat_a] :
          ( collect_mat_a
          @ ^ [X5: mat_a] :
              ( ( member_mat_a @ X5 @ A )
              & ~ ( member_mat_a @ X5 @ B7 ) ) ) ) ) ).

% set_diff_eq
thf(fact_899_set__diff__eq,axiom,
    ( minus_2745209628418873978_mat_a
    = ( ^ [A: set_list_mat_a,B7: set_list_mat_a] :
          ( collect_list_mat_a
          @ ^ [X5: list_mat_a] :
              ( ( member_list_mat_a @ X5 @ A )
              & ~ ( member_list_mat_a @ X5 @ B7 ) ) ) ) ) ).

% set_diff_eq
thf(fact_900_set__diff__eq,axiom,
    ( minus_8760755521168068590omplex
    = ( ^ [A: set_mat_complex,B7: set_mat_complex] :
          ( collect_mat_complex
          @ ^ [X5: mat_complex] :
              ( ( member_mat_complex @ X5 @ A )
              & ~ ( member_mat_complex @ X5 @ B7 ) ) ) ) ) ).

% set_diff_eq
thf(fact_901_set__diff__eq,axiom,
    ( minus_minus_set_nat
    = ( ^ [A: set_nat,B7: set_nat] :
          ( collect_nat
          @ ^ [X5: nat] :
              ( ( member_nat @ X5 @ A )
              & ~ ( member_nat @ X5 @ B7 ) ) ) ) ) ).

% set_diff_eq
thf(fact_902_Compl__eq,axiom,
    ( uminus1296375033039821146_mat_a
    = ( ^ [A: set_mat_a] :
          ( collect_mat_a
          @ ^ [X5: mat_a] :
              ~ ( member_mat_a @ X5 @ A ) ) ) ) ).

% Compl_eq
thf(fact_903_Compl__eq,axiom,
    ( uminus1627440288842321386_mat_a
    = ( ^ [A: set_list_mat_a] :
          ( collect_list_mat_a
          @ ^ [X5: list_mat_a] :
              ~ ( member_list_mat_a @ X5 @ A ) ) ) ) ).

% Compl_eq
thf(fact_904_Compl__eq,axiom,
    ( uminus5815530220087396478omplex
    = ( ^ [A: set_mat_complex] :
          ( collect_mat_complex
          @ ^ [X5: mat_complex] :
              ~ ( member_mat_complex @ X5 @ A ) ) ) ) ).

% Compl_eq
thf(fact_905_Compl__eq,axiom,
    ( uminus5710092332889474511et_nat
    = ( ^ [A: set_nat] :
          ( collect_nat
          @ ^ [X5: nat] :
              ~ ( member_nat @ X5 @ A ) ) ) ) ).

% Compl_eq
thf(fact_906_uminus__set__def,axiom,
    ( uminus1296375033039821146_mat_a
    = ( ^ [A: set_mat_a] :
          ( collect_mat_a
          @ ( uminus3675660938536137131at_a_o
            @ ^ [X5: mat_a] : ( member_mat_a @ X5 @ A ) ) ) ) ) ).

% uminus_set_def
thf(fact_907_uminus__set__def,axiom,
    ( uminus1627440288842321386_mat_a
    = ( ^ [A: set_list_mat_a] :
          ( collect_list_mat_a
          @ ( uminus3146574562106390299at_a_o
            @ ^ [X5: list_mat_a] : ( member_list_mat_a @ X5 @ A ) ) ) ) ) ).

% uminus_set_def
thf(fact_908_uminus__set__def,axiom,
    ( uminus5815530220087396478omplex
    = ( ^ [A: set_mat_complex] :
          ( collect_mat_complex
          @ ( uminus4972024321359112159plex_o
            @ ^ [X5: mat_complex] : ( member_mat_complex @ X5 @ A ) ) ) ) ) ).

% uminus_set_def
thf(fact_909_uminus__set__def,axiom,
    ( uminus5710092332889474511et_nat
    = ( ^ [A: set_nat] :
          ( collect_nat
          @ ( uminus_uminus_nat_o
            @ ^ [X5: nat] : ( member_nat @ X5 @ A ) ) ) ) ) ).

% uminus_set_def
thf(fact_910_mem__simps_I5_J,axiom,
    ! [C: mat_a,A3: set_mat_a] :
      ( ( member_mat_a @ C @ ( uminus1296375033039821146_mat_a @ A3 ) )
      = ( ~ ( member_mat_a @ C @ A3 ) ) ) ).

% mem_simps(5)
thf(fact_911_mem__simps_I5_J,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( uminus1627440288842321386_mat_a @ A3 ) )
      = ( ~ ( member_list_mat_a @ C @ A3 ) ) ) ).

% mem_simps(5)
thf(fact_912_mem__simps_I5_J,axiom,
    ! [C: mat_complex,A3: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( uminus5815530220087396478omplex @ A3 ) )
      = ( ~ ( member_mat_complex @ C @ A3 ) ) ) ).

% mem_simps(5)
thf(fact_913_mem__simps_I5_J,axiom,
    ! [C: nat,A3: set_nat] :
      ( ( member_nat @ C @ ( uminus5710092332889474511et_nat @ A3 ) )
      = ( ~ ( member_nat @ C @ A3 ) ) ) ).

% mem_simps(5)
thf(fact_914_ComplD,axiom,
    ! [C: mat_a,A3: set_mat_a] :
      ( ( member_mat_a @ C @ ( uminus1296375033039821146_mat_a @ A3 ) )
     => ~ ( member_mat_a @ C @ A3 ) ) ).

% ComplD
thf(fact_915_ComplD,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a] :
      ( ( member_list_mat_a @ C @ ( uminus1627440288842321386_mat_a @ A3 ) )
     => ~ ( member_list_mat_a @ C @ A3 ) ) ).

% ComplD
thf(fact_916_ComplD,axiom,
    ! [C: mat_complex,A3: set_mat_complex] :
      ( ( member_mat_complex @ C @ ( uminus5815530220087396478omplex @ A3 ) )
     => ~ ( member_mat_complex @ C @ A3 ) ) ).

% ComplD
thf(fact_917_ComplD,axiom,
    ! [C: nat,A3: set_nat] :
      ( ( member_nat @ C @ ( uminus5710092332889474511et_nat @ A3 ) )
     => ~ ( member_nat @ C @ A3 ) ) ).

% ComplD
thf(fact_918_ComplI,axiom,
    ! [C: mat_a,A3: set_mat_a] :
      ( ~ ( member_mat_a @ C @ A3 )
     => ( member_mat_a @ C @ ( uminus1296375033039821146_mat_a @ A3 ) ) ) ).

% ComplI
thf(fact_919_ComplI,axiom,
    ! [C: list_mat_a,A3: set_list_mat_a] :
      ( ~ ( member_list_mat_a @ C @ A3 )
     => ( member_list_mat_a @ C @ ( uminus1627440288842321386_mat_a @ A3 ) ) ) ).

% ComplI
thf(fact_920_ComplI,axiom,
    ! [C: mat_complex,A3: set_mat_complex] :
      ( ~ ( member_mat_complex @ C @ A3 )
     => ( member_mat_complex @ C @ ( uminus5815530220087396478omplex @ A3 ) ) ) ).

% ComplI
thf(fact_921_ComplI,axiom,
    ! [C: nat,A3: set_nat] :
      ( ~ ( member_nat @ C @ A3 )
     => ( member_nat @ C @ ( uminus5710092332889474511et_nat @ A3 ) ) ) ).

% ComplI
thf(fact_922_add__col__sub__row__carrier_I2_J,axiom,
    ! [A2: complex,K: nat,L: nat,A3: mat_complex] :
      ( ( dim_col_complex @ ( column6029646570091773654omplex @ A2 @ K @ L @ A3 ) )
      = ( dim_col_complex @ A3 ) ) ).

% add_col_sub_row_carrier(2)
thf(fact_923_add__col__sub__row__carrier_I1_J,axiom,
    ! [A2: complex,K: nat,L: nat,A3: mat_complex] :
      ( ( dim_row_complex @ ( column6029646570091773654omplex @ A2 @ K @ L @ A3 ) )
      = ( dim_row_complex @ A3 ) ) ).

% add_col_sub_row_carrier(1)
thf(fact_924_add__col__sub__row__carrier_I3_J,axiom,
    ! [A3: mat_complex,N: nat,A2: complex,K: nat,L: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( column6029646570091773654omplex @ A2 @ K @ L @ A3 ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% add_col_sub_row_carrier(3)
thf(fact_925_inf__period_I1_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X2: complex,K2: complex] :
          ( ( P @ X2 )
          = ( P @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K2 @ D ) ) ) )
     => ( ! [X2: complex,K2: complex] :
            ( ( Q @ X2 )
            = ( Q @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K2 @ D ) ) ) )
       => ! [X3: complex,K3: complex] :
            ( ( ( P @ X3 )
              & ( Q @ X3 ) )
            = ( ( P @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K3 @ D ) ) )
              & ( Q @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(1)
thf(fact_926_inf__period_I2_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X2: complex,K2: complex] :
          ( ( P @ X2 )
          = ( P @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K2 @ D ) ) ) )
     => ( ! [X2: complex,K2: complex] :
            ( ( Q @ X2 )
            = ( Q @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K2 @ D ) ) ) )
       => ! [X3: complex,K3: complex] :
            ( ( ( P @ X3 )
              | ( Q @ X3 ) )
            = ( ( P @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K3 @ D ) ) )
              | ( Q @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(2)
thf(fact_927_pinf_I1_J,axiom,
    ! [P: nat > $o,P6: nat > $o,Q: nat > $o,Q3: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ Z4 @ X2 )
         => ( ( P @ X2 )
            = ( P6 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ Z4 @ X2 )
           => ( ( Q @ X2 )
              = ( Q3 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z3 @ X3 )
           => ( ( ( P @ X3 )
                & ( Q @ X3 ) )
              = ( ( P6 @ X3 )
                & ( Q3 @ X3 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_928_pinf_I2_J,axiom,
    ! [P: nat > $o,P6: nat > $o,Q: nat > $o,Q3: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ Z4 @ X2 )
         => ( ( P @ X2 )
            = ( P6 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ Z4 @ X2 )
           => ( ( Q @ X2 )
              = ( Q3 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z3 @ X3 )
           => ( ( ( P @ X3 )
                | ( Q @ X3 ) )
              = ( ( P6 @ X3 )
                | ( Q3 @ X3 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_929_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ Z3 @ X3 )
     => ( X3 != T ) ) ).

% pinf(3)
thf(fact_930_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ Z3 @ X3 )
     => ( X3 != T ) ) ).

% pinf(4)
thf(fact_931_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ Z3 @ X3 )
     => ~ ( ord_less_nat @ X3 @ T ) ) ).

% pinf(5)
thf(fact_932_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ Z3 @ X3 )
     => ( ord_less_nat @ T @ X3 ) ) ).

% pinf(7)
thf(fact_933_minf_I1_J,axiom,
    ! [P: nat > $o,P6: nat > $o,Q: nat > $o,Q3: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ X2 @ Z4 )
         => ( ( P @ X2 )
            = ( P6 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ X2 @ Z4 )
           => ( ( Q @ X2 )
              = ( Q3 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z3 )
           => ( ( ( P @ X3 )
                & ( Q @ X3 ) )
              = ( ( P6 @ X3 )
                & ( Q3 @ X3 ) ) ) ) ) ) ).

% minf(1)
thf(fact_934_minf_I2_J,axiom,
    ! [P: nat > $o,P6: nat > $o,Q: nat > $o,Q3: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ X2 @ Z4 )
         => ( ( P @ X2 )
            = ( P6 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ X2 @ Z4 )
           => ( ( Q @ X2 )
              = ( Q3 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z3 )
           => ( ( ( P @ X3 )
                | ( Q @ X3 ) )
              = ( ( P6 @ X3 )
                | ( Q3 @ X3 ) ) ) ) ) ) ).

% minf(2)
thf(fact_935_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ X3 @ Z3 )
     => ( X3 != T ) ) ).

% minf(3)
thf(fact_936_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ X3 @ Z3 )
     => ( X3 != T ) ) ).

% minf(4)
thf(fact_937_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ X3 @ Z3 )
     => ( ord_less_nat @ X3 @ T ) ) ).

% minf(5)
thf(fact_938_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X3: nat] :
      ( ( ord_less_nat @ X3 @ Z3 )
     => ~ ( ord_less_nat @ T @ X3 ) ) ).

% minf(7)
thf(fact_939_mat__delete__dim_I2_J,axiom,
    ! [A3: mat_a,I4: nat,J: nat] :
      ( ( dim_col_a @ ( mat_delete_a @ A3 @ I4 @ J ) )
      = ( minus_minus_nat @ ( dim_col_a @ A3 ) @ one_one_nat ) ) ).

% mat_delete_dim(2)
thf(fact_940_mat__delete__dim_I2_J,axiom,
    ! [A3: mat_complex,I4: nat,J: nat] :
      ( ( dim_col_complex @ ( mat_delete_complex @ A3 @ I4 @ J ) )
      = ( minus_minus_nat @ ( dim_col_complex @ A3 ) @ one_one_nat ) ) ).

% mat_delete_dim(2)
thf(fact_941_mat__delete__dim_I1_J,axiom,
    ! [A3: mat_a,I4: nat,J: nat] :
      ( ( dim_row_a @ ( mat_delete_a @ A3 @ I4 @ J ) )
      = ( minus_minus_nat @ ( dim_row_a @ A3 ) @ one_one_nat ) ) ).

% mat_delete_dim(1)
thf(fact_942_mat__delete__dim_I1_J,axiom,
    ! [A3: mat_complex,I4: nat,J: nat] :
      ( ( dim_row_complex @ ( mat_delete_complex @ A3 @ I4 @ J ) )
      = ( minus_minus_nat @ ( dim_row_complex @ A3 ) @ one_one_nat ) ) ).

% mat_delete_dim(1)
thf(fact_943_mat__delete__carrier,axiom,
    ! [A3: mat_a,M2: nat,N: nat,I4: nat,J: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ M2 @ N ) )
     => ( member_mat_a @ ( mat_delete_a @ A3 @ I4 @ J ) @ ( carrier_mat_a @ ( minus_minus_nat @ M2 @ one_one_nat ) @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% mat_delete_carrier
thf(fact_944_mat__delete__carrier,axiom,
    ! [A3: mat_complex,M2: nat,N: nat,I4: nat,J: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ M2 @ N ) )
     => ( member_mat_complex @ ( mat_delete_complex @ A3 @ I4 @ J ) @ ( carrier_mat_complex @ ( minus_minus_nat @ M2 @ one_one_nat ) @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% mat_delete_carrier
thf(fact_945_mat__assoc__test_I8_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( minus_2412168080157227406omplex @ A3 @ B )
              = ( plus_p8323303612493835998omplex @ A3 @ ( smult_mat_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ B ) ) ) ) ) ) ) ).

% mat_assoc_test(8)
thf(fact_946_cross3__simps_I23_J,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ C ) @ ( times_times_nat @ B2 @ C ) ) ) ).

% cross3_simps(23)
thf(fact_947_cross3__simps_I23_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C ) @ ( times_times_complex @ B2 @ C ) ) ) ).

% cross3_simps(23)
thf(fact_948_cross3__simps_I24_J,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ A2 @ ( plus_plus_nat @ B2 @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ B2 ) @ ( times_times_nat @ A2 @ C ) ) ) ).

% cross3_simps(24)
thf(fact_949_cross3__simps_I24_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ B2 @ C ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C ) ) ) ).

% cross3_simps(24)
thf(fact_950_cross3__simps_I48_J,axiom,
    ! [A2: complex,X4: complex,Y2: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ X4 @ Y2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ X4 ) @ ( times_times_complex @ A2 @ Y2 ) ) ) ).

% cross3_simps(48)
thf(fact_951_cross3__simps_I49_J,axiom,
    ! [A2: complex,B2: complex,X4: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ X4 )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ X4 ) @ ( times_times_complex @ B2 @ X4 ) ) ) ).

% cross3_simps(49)
thf(fact_952_add__mult__distrib__mat,axiom,
    ! [A3: mat_a,Nr: nat,N: nat,B: mat_a,C2: mat_a,Nc: nat] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ N ) )
       => ( ( member_mat_a @ C2 @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ ( plus_plus_mat_a @ A3 @ B ) @ C2 )
            = ( plus_plus_mat_a @ ( times_times_mat_a @ A3 @ C2 ) @ ( times_times_mat_a @ B @ C2 ) ) ) ) ) ) ).

% add_mult_distrib_mat
thf(fact_953_add__mult__distrib__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,C2: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ C2 )
            = ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A3 @ C2 ) @ ( times_8009071140041733218omplex @ B @ C2 ) ) ) ) ) ) ).

% add_mult_distrib_mat
thf(fact_954_mult__add__distrib__mat,axiom,
    ! [A3: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,C2: mat_a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( ( member_mat_a @ C2 @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ A3 @ ( plus_plus_mat_a @ B @ C2 ) )
            = ( plus_plus_mat_a @ ( times_times_mat_a @ A3 @ B ) @ ( times_times_mat_a @ A3 @ C2 ) ) ) ) ) ) ).

% mult_add_distrib_mat
thf(fact_955_mult__add__distrib__mat,axiom,
    ! [A3: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ A3 @ ( plus_p8323303612493835998omplex @ B @ C2 ) )
            = ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ ( times_8009071140041733218omplex @ A3 @ C2 ) ) ) ) ) ) ).

% mult_add_distrib_mat
thf(fact_956_image__add__0,axiom,
    ! [S2: set_nat] :
      ( ( image_nat_nat @ ( plus_plus_nat @ zero_zero_nat ) @ S2 )
      = S2 ) ).

% image_add_0
thf(fact_957_add__mono1,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ one_one_nat ) @ ( plus_plus_nat @ B2 @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_958_less__add__one,axiom,
    ! [A2: nat] : ( ord_less_nat @ A2 @ ( plus_plus_nat @ A2 @ one_one_nat ) ) ).

% less_add_one
thf(fact_959_index__add__mat_I3_J,axiom,
    ! [A3: mat_a,B: mat_a] :
      ( ( dim_col_a @ ( plus_plus_mat_a @ A3 @ B ) )
      = ( dim_col_a @ B ) ) ).

% index_add_mat(3)
thf(fact_960_index__add__mat_I3_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_col_complex @ ( plus_p8323303612493835998omplex @ A3 @ B ) )
      = ( dim_col_complex @ B ) ) ).

% index_add_mat(3)
thf(fact_961_add__carrier__mat,axiom,
    ! [B: mat_a,Nr: nat,Nc: nat,A3: mat_a] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( plus_plus_mat_a @ A3 @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% add_carrier_mat
thf(fact_962_add__carrier__mat,axiom,
    ! [B: mat_complex,Nr: nat,Nc: nat,A3: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% add_carrier_mat
thf(fact_963_assoc__add__mat,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,B: mat_a,C2: mat_a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( member_mat_a @ C2 @ ( carrier_mat_a @ Nr @ Nc ) )
         => ( ( plus_plus_mat_a @ ( plus_plus_mat_a @ A3 @ B ) @ C2 )
            = ( plus_plus_mat_a @ A3 @ ( plus_plus_mat_a @ B @ C2 ) ) ) ) ) ) ).

% assoc_add_mat
thf(fact_964_assoc__add__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ Nr @ Nc ) )
         => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ C2 )
            = ( plus_p8323303612493835998omplex @ A3 @ ( plus_p8323303612493835998omplex @ B @ C2 ) ) ) ) ) ) ).

% assoc_add_mat
thf(fact_965_comm__add__mat,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,B: mat_a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( plus_plus_mat_a @ A3 @ B )
          = ( plus_plus_mat_a @ B @ A3 ) ) ) ) ).

% comm_add_mat
thf(fact_966_comm__add__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( plus_p8323303612493835998omplex @ A3 @ B )
          = ( plus_p8323303612493835998omplex @ B @ A3 ) ) ) ) ).

% comm_add_mat
thf(fact_967_add__carrier__mat_H,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,B: mat_a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( member_mat_a @ ( plus_plus_mat_a @ A3 @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% add_carrier_mat'
thf(fact_968_add__carrier__mat_H,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( member_mat_complex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% add_carrier_mat'
thf(fact_969_swap__plus__mat,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ C2 )
            = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ C2 ) @ B ) ) ) ) ) ).

% swap_plus_mat
thf(fact_970_index__add__mat_I2_J,axiom,
    ! [A3: mat_a,B: mat_a] :
      ( ( dim_row_a @ ( plus_plus_mat_a @ A3 @ B ) )
      = ( dim_row_a @ B ) ) ).

% index_add_mat(2)
thf(fact_971_index__add__mat_I2_J,axiom,
    ! [A3: mat_complex,B: mat_complex] :
      ( ( dim_row_complex @ ( plus_p8323303612493835998omplex @ A3 @ B ) )
      = ( dim_row_complex @ B ) ) ).

% index_add_mat(2)
thf(fact_972_mat__assoc__test_I15_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ ( plus_p8323303612493835998omplex @ C2 @ D ) )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ C2 ) @ ( plus_p8323303612493835998omplex @ B @ D ) ) ) ) ) ) ) ).

% mat_assoc_test(15)
thf(fact_973_mat__assoc__test_I14_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ C2 )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ C2 @ B ) @ A3 ) ) ) ) ) ) ).

% mat_assoc_test(14)
thf(fact_974_mat__assoc__test_I13_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ A3 @ B )
              = ( plus_p8323303612493835998omplex @ B @ A3 ) ) ) ) ) ) ).

% mat_assoc_test(13)
thf(fact_975_arith__simps_I50_J,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

% arith_simps(50)
thf(fact_976_arith__simps_I49_J,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A2 )
      = A2 ) ).

% arith_simps(49)
thf(fact_977_group__cancel_Orule0,axiom,
    ! [A2: nat] :
      ( A2
      = ( plus_plus_nat @ A2 @ zero_zero_nat ) ) ).

% group_cancel.rule0
thf(fact_978_comm__monoid__add__class_Oadd__0,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A2 )
      = A2 ) ).

% comm_monoid_add_class.add_0
thf(fact_979_add__cancel__left__left,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ( plus_plus_nat @ B2 @ A2 )
        = A2 )
      = ( B2 = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_980_add__cancel__left__right,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ( plus_plus_nat @ A2 @ B2 )
        = A2 )
      = ( B2 = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_981_add__cancel__right__left,axiom,
    ! [A2: nat,B2: nat] :
      ( ( A2
        = ( plus_plus_nat @ B2 @ A2 ) )
      = ( B2 = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_982_add__cancel__right__right,axiom,
    ! [A2: nat,B2: nat] :
      ( ( A2
        = ( plus_plus_nat @ A2 @ B2 ) )
      = ( B2 = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_983_add__eq__0__iff__both__eq__0,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( ( plus_plus_nat @ X4 @ Y2 )
        = zero_zero_nat )
      = ( ( X4 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_984_zero__eq__add__iff__both__eq__0,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X4 @ Y2 ) )
      = ( ( X4 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_985_verit__sum__simplify,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

% verit_sum_simplify
thf(fact_986_add__less__imp__less__right,axiom,
    ! [A2: nat,C: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C ) @ ( plus_plus_nat @ B2 @ C ) )
     => ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_imp_less_right
thf(fact_987_add__less__imp__less__left,axiom,
    ! [C: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A2 ) @ ( plus_plus_nat @ C @ B2 ) )
     => ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_imp_less_left
thf(fact_988_add__strict__right__mono,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C ) @ ( plus_plus_nat @ B2 @ C ) ) ) ).

% add_strict_right_mono
thf(fact_989_add__less__cancel__right,axiom,
    ! [A2: nat,C: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C ) @ ( plus_plus_nat @ B2 @ C ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_cancel_right
thf(fact_990_add__strict__left__mono,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ord_less_nat @ ( plus_plus_nat @ C @ A2 ) @ ( plus_plus_nat @ C @ B2 ) ) ) ).

% add_strict_left_mono
thf(fact_991_add__less__cancel__left,axiom,
    ! [C: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A2 ) @ ( plus_plus_nat @ C @ B2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_cancel_left
thf(fact_992_add__strict__mono,axiom,
    ! [A2: nat,B2: nat,C: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_993_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I4: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I4 @ J )
        & ( K = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I4 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_994_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I4: nat,J: nat,K: nat,L: nat] :
      ( ( ( I4 = J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I4 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_995_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I4: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I4 @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I4 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_996_combine__common__factor,axiom,
    ! [A2: nat,E: nat,B2: nat,C: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ A2 @ E ) @ ( plus_plus_nat @ ( times_times_nat @ B2 @ E ) @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_997_combine__common__factor,axiom,
    ! [A2: complex,E: complex,B2: complex,C: complex] :
      ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ C ) )
      = ( plus_plus_complex @ ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_998_comm__semiring__class_Odistrib,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ C ) @ ( times_times_nat @ B2 @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_999_comm__semiring__class_Odistrib,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C ) @ ( times_times_complex @ B2 @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_1000_ring__class_Oring__distribs_I1_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ B2 @ C ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_1001_ring__class_Oring__distribs_I2_J,axiom,
    ! [A2: complex,B2: complex,C: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C ) @ ( times_times_complex @ B2 @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_1002_mult__hom_Ohom__add,axiom,
    ! [C: nat,X4: nat,Y2: nat] :
      ( ( times_times_nat @ C @ ( plus_plus_nat @ X4 @ Y2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ C @ X4 ) @ ( times_times_nat @ C @ Y2 ) ) ) ).

% mult_hom.hom_add
thf(fact_1003_mult__hom_Ohom__add,axiom,
    ! [C: complex,X4: complex,Y2: complex] :
      ( ( times_times_complex @ C @ ( plus_plus_complex @ X4 @ Y2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ C @ X4 ) @ ( times_times_complex @ C @ Y2 ) ) ) ).

% mult_hom.hom_add
thf(fact_1004_add__smult__distrib__right__mat,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,K: a,L: a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( smult_mat_a @ ( plus_plus_a @ K @ L ) @ A3 )
        = ( plus_plus_mat_a @ ( smult_mat_a @ K @ A3 ) @ ( smult_mat_a @ L @ A3 ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_1005_add__smult__distrib__right__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,K: complex,L: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( smult_mat_complex @ ( plus_plus_complex @ K @ L ) @ A3 )
        = ( plus_p8323303612493835998omplex @ ( smult_mat_complex @ K @ A3 ) @ ( smult_mat_complex @ L @ A3 ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_1006_add__sign__intros_I6_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_nat @ B2 @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% add_sign_intros(6)
thf(fact_1007_add__sign__intros_I2_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ zero_zero_nat @ B2 )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A2 @ B2 ) ) ) ) ).

% add_sign_intros(2)
thf(fact_1008_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ~ ! [C3: nat] :
            ( ( B2
              = ( plus_plus_nat @ A2 @ C3 ) )
           => ( C3 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_1009_pos__add__strict,axiom,
    ! [A2: nat,B2: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ B2 @ C )
       => ( ord_less_nat @ B2 @ ( plus_plus_nat @ A2 @ C ) ) ) ) ).

% pos_add_strict
thf(fact_1010_add__less__same__cancel1,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ B2 @ A2 ) @ B2 )
      = ( ord_less_nat @ A2 @ zero_zero_nat ) ) ).

% add_less_same_cancel1
thf(fact_1011_add__less__same__cancel2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ B2 ) @ B2 )
      = ( ord_less_nat @ A2 @ zero_zero_nat ) ) ).

% add_less_same_cancel2
thf(fact_1012_less__add__same__cancel1,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ ( plus_plus_nat @ A2 @ B2 ) )
      = ( ord_less_nat @ zero_zero_nat @ B2 ) ) ).

% less_add_same_cancel1
thf(fact_1013_less__add__same__cancel2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ ( plus_plus_nat @ B2 @ A2 ) )
      = ( ord_less_nat @ zero_zero_nat @ B2 ) ) ).

% less_add_same_cancel2
thf(fact_1014_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X4: nat,Y2: nat,C: nat] :
      ( ( ( plus_plus_nat @ X4 @ Y2 )
        = zero_zero_nat )
     => ( ( plus_plus_nat @ ( times_times_nat @ C @ X4 ) @ ( times_times_nat @ C @ Y2 ) )
        = zero_zero_nat ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_1015_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X4: complex,Y2: complex,C: complex] :
      ( ( ( plus_plus_complex @ X4 @ Y2 )
        = zero_zero_complex )
     => ( ( plus_plus_complex @ ( times_times_complex @ C @ X4 ) @ ( times_times_complex @ C @ Y2 ) )
        = zero_zero_complex ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_1016_mat__assoc__test_I7_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ ( plus_p8323303612493835998omplex @ B @ C2 ) )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A3 @ B ) @ ( times_8009071140041733218omplex @ B @ B ) ) @ ( times_8009071140041733218omplex @ A3 @ C2 ) ) @ ( times_8009071140041733218omplex @ B @ C2 ) ) ) ) ) ) ) ).

% mat_assoc_test(7)
thf(fact_1017_hermitian__add,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A3 )
         => ( ( comple8306762464034002205omplex @ B )
           => ( comple8306762464034002205omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) ) ) ) ) ) ).

% hermitian_add
thf(fact_1018_add__smult__distrib__left__mat,axiom,
    ! [A3: mat_a,Nr: nat,Nc: nat,B: mat_a,K: a] :
      ( ( member_mat_a @ A3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( smult_mat_a @ K @ ( plus_plus_mat_a @ A3 @ B ) )
          = ( plus_plus_mat_a @ ( smult_mat_a @ K @ A3 ) @ ( smult_mat_a @ K @ B ) ) ) ) ) ).

% add_smult_distrib_left_mat
thf(fact_1019_add__smult__distrib__left__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex,K: complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( smult_mat_complex @ K @ ( plus_p8323303612493835998omplex @ A3 @ B ) )
          = ( plus_p8323303612493835998omplex @ ( smult_mat_complex @ K @ A3 ) @ ( smult_mat_complex @ K @ B ) ) ) ) ) ).

% add_smult_distrib_left_mat
thf(fact_1020_mat__assoc__test_I6_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( minus_2412168080157227406omplex @ A3 @ ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ B @ C2 ) @ D ) )
              = ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ A3 @ B ) @ C2 ) @ D ) ) ) ) ) ) ).

% mat_assoc_test(6)
thf(fact_1021_mat__assoc__test_I5_J,axiom,
    ! [A3: mat_complex,N: nat,B: mat_complex,C2: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ A3 @ ( minus_2412168080157227406omplex @ B @ C2 ) )
              = ( minus_2412168080157227406omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) @ C2 ) ) ) ) ) ) ).

% mat_assoc_test(5)
thf(fact_1022_minus__add__minus__mat,axiom,
    ! [U4: mat_complex,Nr: nat,Nc: nat,V: mat_complex,W2: mat_complex] :
      ( ( member_mat_complex @ U4 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ V @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( member_mat_complex @ W2 @ ( carrier_mat_complex @ Nr @ Nc ) )
         => ( ( minus_2412168080157227406omplex @ U4 @ ( plus_p8323303612493835998omplex @ V @ W2 ) )
            = ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ U4 @ V ) @ W2 ) ) ) ) ) ).

% minus_add_minus_mat
thf(fact_1023_diff__add__zero,axiom,
    ! [A2: nat,B2: nat] :
      ( ( minus_minus_nat @ A2 @ ( plus_plus_nat @ A2 @ B2 ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_1024_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A2: nat,B2: nat] :
      ( ~ ( ord_less_nat @ A2 @ B2 )
     => ( ( plus_plus_nat @ B2 @ ( minus_minus_nat @ A2 @ B2 ) )
        = A2 ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1025_mat__minus__minus,axiom,
    ! [A3: mat_complex,N: nat,M2: nat,B: mat_complex,C2: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ N @ M2 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ M2 ) )
       => ( ( member_mat_complex @ C2 @ ( carrier_mat_complex @ N @ M2 ) )
         => ( ( minus_2412168080157227406omplex @ A3 @ ( minus_2412168080157227406omplex @ B @ C2 ) )
            = ( plus_p8323303612493835998omplex @ ( minus_2412168080157227406omplex @ A3 @ B ) @ C2 ) ) ) ) ) ).

% mat_minus_minus
thf(fact_1026_mult__diff__mult,axiom,
    ! [X4: complex,Y2: complex,A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X4 @ Y2 ) @ ( times_times_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ X4 @ ( minus_minus_complex @ Y2 @ B2 ) ) @ ( times_times_complex @ ( minus_minus_complex @ X4 @ A2 ) @ B2 ) ) ) ).

% mult_diff_mult
thf(fact_1027_eq__add__iff1,axiom,
    ! [A2: complex,E: complex,C: complex,B2: complex,D2: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C )
        = ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ E ) @ C )
        = D2 ) ) ).

% eq_add_iff1
thf(fact_1028_eq__add__iff2,axiom,
    ! [A2: complex,E: complex,C: complex,B2: complex,D2: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C )
        = ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( C
        = ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

% eq_add_iff2
thf(fact_1029_square__diff__square__factored,axiom,
    ! [X4: complex,Y2: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X4 @ X4 ) @ ( times_times_complex @ Y2 @ Y2 ) )
      = ( times_times_complex @ ( plus_plus_complex @ X4 @ Y2 ) @ ( minus_minus_complex @ X4 @ Y2 ) ) ) ).

% square_diff_square_factored
thf(fact_1030_uminus__add__mat,axiom,
    ! [A3: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( uminus467866341702955550omplex @ ( plus_p8323303612493835998omplex @ A3 @ B ) )
          = ( plus_p8323303612493835998omplex @ ( uminus467866341702955550omplex @ B ) @ ( uminus467866341702955550omplex @ A3 ) ) ) ) ) ).

% uminus_add_mat
thf(fact_1031_more__arith__simps_I9_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( uminus1482373934393186551omplex @ B2 ) ) ) ).

% more_arith_simps(9)
thf(fact_1032_is__num__normalize_I8_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% is_num_normalize(8)
thf(fact_1033_add_Oinverse__distrib__swap,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% add.inverse_distrib_swap
thf(fact_1034_minus__add__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( plus_plus_complex @ A2 @ B2 ) )
      = B2 ) ).

% minus_add_cancel
thf(fact_1035_add__minus__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ A2 @ ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 ) )
      = B2 ) ).

% add_minus_cancel
thf(fact_1036_group__cancel_Oneg1,axiom,
    ! [A3: complex,K: complex,A2: complex] :
      ( ( A3
        = ( plus_plus_complex @ K @ A2 ) )
     => ( ( uminus1482373934393186551omplex @ A3 )
        = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ K ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ) ).

% group_cancel.neg1
thf(fact_1037_left__minus,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ A2 )
      = zero_zero_complex ) ).

% left_minus
thf(fact_1038_right__minus,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ A2 @ ( uminus1482373934393186551omplex @ A2 ) )
      = zero_zero_complex ) ).

% right_minus
thf(fact_1039_add__eq__0__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex )
      = ( B2
        = ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% add_eq_0_iff
thf(fact_1040_minus__unique,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex )
     => ( ( uminus1482373934393186551omplex @ A2 )
        = B2 ) ) ).

% minus_unique
thf(fact_1041_add__eq__0__iff2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex )
      = ( A2
        = ( uminus1482373934393186551omplex @ B2 ) ) ) ).

% add_eq_0_iff2
thf(fact_1042_ab__group__add__class_Oab__left__minus,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ A2 )
      = zero_zero_complex ) ).

% ab_group_add_class.ab_left_minus
thf(fact_1043_neg__eq__iff__add__eq__0,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = B2 )
      = ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex ) ) ).

% neg_eq_iff_add_eq_0
thf(fact_1044_class__ring_Oring__simprules_I14_J,axiom,
    ( minus_minus_complex
    = ( ^ [X5: complex,Y6: complex] : ( plus_plus_complex @ X5 @ ( uminus1482373934393186551omplex @ Y6 ) ) ) ) ).

% class_ring.ring_simprules(14)
thf(fact_1045_pth__2,axiom,
    ( minus_minus_complex
    = ( ^ [X5: complex,Y6: complex] : ( plus_plus_complex @ X5 @ ( uminus1482373934393186551omplex @ Y6 ) ) ) ) ).

% pth_2
thf(fact_1046_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ( minus_minus_complex
    = ( ^ [A4: complex,B4: complex] : ( plus_plus_complex @ A4 @ ( uminus1482373934393186551omplex @ B4 ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_1047_uminus__add__conv__diff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 )
      = ( minus_minus_complex @ B2 @ A2 ) ) ).

% uminus_add_conv_diff
thf(fact_1048_diff__conv__add__uminus,axiom,
    ( minus_minus_complex
    = ( ^ [A4: complex,B4: complex] : ( plus_plus_complex @ A4 @ ( uminus1482373934393186551omplex @ B4 ) ) ) ) ).

% diff_conv_add_uminus

% Helper facts (7)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( if_nat @ $false @ X4 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y2: nat] :
      ( ( if_nat @ $true @ X4 @ Y2 )
      = X4 ) ).

thf(help_If_2_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [X4: complex,Y2: complex] :
      ( ( if_complex @ $false @ X4 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [X4: complex,Y2: complex] :
      ( ( if_complex @ $true @ X4 @ Y2 )
      = X4 ) ).

thf(help_If_3_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X4: list_nat,Y2: list_nat] :
      ( ( if_list_nat @ $false @ X4 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X4: list_nat,Y2: list_nat] :
      ( ( if_list_nat @ $true @ X4 @ Y2 )
      = X4 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ! [I2: nat] :
      ( ~ ( ord_less_nat @ I2 @ ( size_size_list_mat_a @ ea ) )
      | ( ( dim_col_a @ ( nth_mat_a @ ea @ I2 ) )
        = ( dim_col_a @ ( nth_mat_a @ eb @ I2 ) ) ) ) ).

%------------------------------------------------------------------------------