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

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1387 ( 357 unt; 293 typ;   0 def)
%            Number of atoms       : 3508 (1211 equ;   0 cnn)
%            Maximal formula atoms :   21 (   3 avg)
%            Number of connectives : 15597 ( 213   ~;  39   |; 149   &;13269   @)
%                                         (   0 <=>;1927  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   31 (   8 avg)
%            Number of types       :   40 (  39 usr)
%            Number of type conns  :  721 ( 721   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  257 ( 254 usr;  16 con; 0-6 aty)
%            Number of variables   : 4003 (  84   ^;3869   !;  50   ?;4003   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 11:38:24.007
%------------------------------------------------------------------------------
% Could-be-implicit typings (39)
thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J_J_J,type,
    produc1634985270395358183omplex: $tType ).

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

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

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

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

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    produc8064648209034914857omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    produc4154176953909257092omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    produc5852522195208431214omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    produc6546622125900580979omplex: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    produc8070730147447301491omplex: $tType ).

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

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

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Nat__Onat_J,type,
    produc5378774142218460821ex_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    produc1650386626246186645omplex: $tType ).

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

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Matrix__Omat_It__Complex__Ocomplex_J_J_J,type,
    set_mat_mat_complex: $tType ).

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

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

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

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Matrix__Omat_Itf__a_J_J_J,type,
    set_mat_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__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    set_mat_complex: $tType ).

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

thf(ty_n_t__Matrix__Omat_It__Set__Oset_It__Complex__Ocomplex_J_J,type,
    mat_set_complex: $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__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    set_mat_a: $tType ).

thf(ty_n_t__Matrix__Ovec_It__Complex__Ocomplex_J,type,
    vec_complex: $tType ).

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

thf(ty_n_t__Set__Oset_It__Complex__Ocomplex_J,type,
    set_complex: $tType ).

thf(ty_n_t__Matrix__Ovec_It__Nat__Onat_J,type,
    vec_nat: $tType ).

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

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

thf(ty_n_t__Matrix__Ovec_Itf__a_J,type,
    vec_a: $tType ).

thf(ty_n_t__Matrix__Omat_Itf__a_J,type,
    mat_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 (254)
thf(sy_c_Column__Operations_Oadd__col__sub__row_001t__Complex__Ocomplex,type,
    column6029646570091773654omplex: complex > nat > nat > mat_complex > mat_complex ).

thf(sy_c_Column__Operations_Oadd__col__sub__row_001tf__a,type,
    column3081110322506813142_row_a: a > nat > nat > mat_a > mat_a ).

thf(sy_c_Column__Operations_Omat__addcol_001t__Complex__Ocomplex,type,
    column896436094548437152omplex: complex > nat > nat > mat_complex > mat_complex ).

thf(sy_c_Column__Operations_Omat__addcol_001t__Nat__Onat,type,
    column5442440509538803650ol_nat: nat > nat > nat > mat_nat > mat_nat ).

thf(sy_c_Column__Operations_Omat__addcol_001tf__a,type,
    column_mat_addcol_a: a > nat > nat > mat_a > mat_a ).

thf(sy_c_Column__Operations_Omat__multcol_001t__Complex__Ocomplex,type,
    column4410001698458707789omplex: nat > complex > mat_complex > mat_complex ).

thf(sy_c_Column__Operations_Omat__multcol_001t__Nat__Onat,type,
    column384608550491945071ol_nat: nat > nat > mat_nat > mat_nat ).

thf(sy_c_Column__Operations_Omat__multcol_001tf__a,type,
    column_mat_multcol_a: nat > a > mat_a > mat_a ).

thf(sy_c_Column__Operations_Omat__swapcols_001t__Complex__Ocomplex,type,
    column4357519492343924999omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Column__Operations_Omat__swapcols_001tf__a,type,
    column2528828918332591333cols_a: nat > nat > mat_a > mat_a ).

thf(sy_c_Column__Operations_Oswap__cols__rows_001t__Complex__Ocomplex,type,
    column7161609239796038556omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Column__Operations_Oswap__cols__rows_001tf__a,type,
    column5129559316938501008rows_a: nat > nat > mat_a > mat_a ).

thf(sy_c_Commuting__Hermitian_Oper__col_001t__Complex__Ocomplex,type,
    commut6373913411758474362omplex: mat_complex > ( nat > nat ) > mat_complex ).

thf(sy_c_Commuting__Hermitian_Oper__col_001tf__a,type,
    commuting_per_col_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_Ohermitian_001tf__a,type,
    complex_hermitian_a: mat_a > $o ).

thf(sy_c_Complex__Matrix_Olowner__le,type,
    complex_lowner_le: mat_complex > mat_complex > $o ).

thf(sy_c_Complex__Matrix_Opartial__density__operator,type,
    comple1169154605998056944erator: mat_complex > $o ).

thf(sy_c_Complex__Matrix_Opositive,type,
    complex_positive: mat_complex > $o ).

thf(sy_c_Complex__Matrix_Otrace_001t__Complex__Ocomplex,type,
    comple3184165445352484367omplex: mat_complex > complex ).

thf(sy_c_Complex__Matrix_Otrace_001tf__a,type,
    complex_trace_a: mat_a > a ).

thf(sy_c_Conjugate_Oconjugate__class_Oconjugate_001t__Complex__Ocomplex,type,
    conjug1878831970375765195omplex: complex > complex ).

thf(sy_c_Conjugate_Oconjugate__class_Oconjugate_001t__Matrix__Ovec_It__Complex__Ocomplex_J,type,
    conjug5127946762835395006omplex: vec_complex > vec_complex ).

thf(sy_c_Conjugate_Oconjugate__class_Oconjugate_001t__Matrix__Ovec_Itf__a_J,type,
    conjug3714139785361555588_vec_a: vec_a > vec_a ).

thf(sy_c_Conjugate_Oconjugate__class_Oconjugate_001tf__a,type,
    conjug308488923880221217gate_a: a > a ).

thf(sy_c_Gauss__Jordan__Elimination_Oaddrow__mat_001t__Complex__Ocomplex,type,
    gauss_947198734564870628omplex: nat > complex > nat > nat > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Oaddrow__mat_001t__Nat__Onat,type,
    gauss_6496870380031412486at_nat: nat > nat > nat > nat > mat_nat ).

thf(sy_c_Gauss__Jordan__Elimination_Oaddrow__mat_001tf__a,type,
    gauss_8159914756388622152_mat_a: nat > a > nat > nat > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Oeliminate__entries__gen_001t__Complex__Ocomplex,type,
    gauss_2785350030914899391omplex: ( complex > complex > complex ) > ( complex > complex > complex ) > ( nat > complex ) > mat_complex > nat > nat > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Oeliminate__entries__gen_001tf__a,type,
    gauss_7515860606763079213_gen_a: ( a > a > a ) > ( a > a > a ) > ( nat > a ) > mat_a > nat > nat > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__addrow__gen_001t__Complex__Ocomplex,type,
    gauss_5252963565656066424omplex: ( complex > complex > complex ) > ( complex > complex > complex ) > complex > nat > nat > mat_complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__addrow__gen_001t__Nat__Onat,type,
    gauss_8885043348566651034en_nat: ( nat > nat > nat ) > ( nat > nat > nat ) > nat > nat > nat > mat_nat > mat_nat ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__addrow__gen_001tf__a,type,
    gauss_3441994962245461172_gen_a: ( a > a > a ) > ( a > a > a ) > a > nat > nat > mat_a > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__multrow__gen_001t__Complex__Ocomplex,type,
    gauss_2324787009747932227omplex: ( complex > complex > complex ) > nat > complex > mat_complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__multrow__gen_001t__Nat__Onat,type,
    gauss_2409696420326117733en_nat: ( nat > nat > nat ) > nat > nat > mat_nat > mat_nat ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__multrow__gen_001tf__a,type,
    gauss_5154200947219177641_gen_a: ( a > a > a ) > nat > a > mat_a > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__swaprows_001t__Complex__Ocomplex,type,
    gauss_1020679828357514249omplex: nat > nat > mat_complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Omat__swaprows_001tf__a,type,
    gauss_2482569599970757219rows_a: nat > nat > mat_a > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Omultrow__mat_001t__Complex__Ocomplex,type,
    gauss_6868829418328711927omplex: nat > nat > complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Omultrow__mat_001t__Nat__Onat,type,
    gauss_3195076542185637913at_nat: nat > nat > nat > mat_nat ).

thf(sy_c_Gauss__Jordan__Elimination_Omultrow__mat_001tf__a,type,
    gauss_5015385051186949877_mat_a: nat > nat > a > mat_a ).

thf(sy_c_Gauss__Jordan__Elimination_Opivot__fun_001t__Complex__Ocomplex,type,
    gauss_2609248829700396350omplex: mat_complex > ( nat > nat ) > nat > $o ).

thf(sy_c_Gauss__Jordan__Elimination_Opivot__fun_001t__Nat__Onat,type,
    gauss_8416567519840421984un_nat: mat_nat > ( nat > nat ) > nat > $o ).

thf(sy_c_Gauss__Jordan__Elimination_Opivot__fun_001tf__a,type,
    gauss_3598389698021192302_fun_a: mat_a > ( nat > nat ) > nat > $o ).

thf(sy_c_Gauss__Jordan__Elimination_Oswaprows__mat_001t__Complex__Ocomplex,type,
    gauss_8970452565587180529omplex: nat > nat > nat > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Oswaprows__mat_001tf__a,type,
    gauss_110929411057020027_mat_a: nat > nat > nat > mat_a ).

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__Matrix__Omat_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    minus_1104642222790461277omplex: mat_mat_complex > mat_mat_complex > mat_mat_complex ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Matrix__Omat_It__Nat__Onat_J,type,
    minus_minus_mat_nat: mat_nat > mat_nat > mat_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Matrix__Omat_Itf__a_J,type,
    minus_minus_mat_a: mat_a > mat_a > mat_a ).

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

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

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

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

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

thf(sy_c_Groups_Ominus__class_Ominus_001tf__a,type,
    minus_minus_a: a > a > a ).

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_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    plus_p8504688029521939981omplex: mat_mat_complex > mat_mat_complex > mat_mat_complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Matrix__Omat_It__Nat__Onat_J,type,
    plus_plus_mat_nat: mat_nat > mat_nat > mat_nat ).

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__Matrix__Ovec_It__Complex__Ocomplex_J,type,
    plus_p3079357308422357842omplex: vec_complex > vec_complex > vec_complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Matrix__Ovec_Itf__a_J,type,
    plus_plus_vec_a: vec_a > vec_a > vec_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_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J,type,
    plus_p5556647371860852980omplex: produc4411394909380815293omplex > produc4411394909380815293omplex > produc4411394909380815293omplex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    plus_p5848738349690176631omplex: produc5852522195208431214omplex > produc5852522195208431214omplex > produc5852522195208431214omplex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J,type,
    plus_p8822761296682522902ex_nat: produc1799700322190218207ex_nat > produc1799700322190218207ex_nat > produc1799700322190218207ex_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    plus_p4150393108391002509omplex: produc4154176953909257092omplex > produc4154176953909257092omplex > produc4154176953909257092omplex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    plus_p6104634242915576478omplex: produc352478934956084711omplex > produc352478934956084711omplex > produc352478934956084711omplex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Matrix__Omat_It__Complex__Ocomplex_J_Mt__Nat__Onat_J,type,
    plus_p679445643052534703ex_nat: produc4941145339993070502ex_nat > produc4941145339993070502ex_nat > produc4941145339993070502ex_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J,type,
    plus_p2662851680688351254omplex: produc4863162743050822367omplex > produc4863162743050822367omplex > produc4863162743050822367omplex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    plus_p8221215230258962133omplex: produc3259542890344722124omplex > produc3259542890344722124omplex > produc3259542890344722124omplex ).

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

thf(sy_c_Groups_Oplus__class_Oplus_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    plus_p7052360327008956141omplex: set_complex > set_complex > set_complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Set__Oset_It__Nat__Onat_J,type,
    plus_plus_set_nat: set_nat > set_nat > set_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_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    times_6048082448287401577omplex: set_complex > set_complex > set_complex ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    times_6731331324747250370omplex: set_mat_complex > set_mat_complex > set_mat_complex ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    times_1230744552615602198_mat_a: set_mat_a > set_mat_a > set_mat_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Set__Oset_It__Nat__Onat_J,type,
    times_times_set_nat: set_nat > set_nat > set_nat ).

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

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_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_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J,type,
    zero_z1220838019464432500omplex: produc4411394909380815293omplex ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J,type,
    zero_z6791906118007317398ex_nat: produc1799700322190218207ex_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J,type,
    zero_z631996502013145750omplex: produc4863162743050822367omplex ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    zero_z3979849011205770936at_nat: product_prod_nat_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001tf__a,type,
    zero_zero_a: a ).

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

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

thf(sy_c_Jordan__Normal__Form__Existence_Odiff__ev_001t__Complex__Ocomplex,type,
    jordan8650160714669549932omplex: mat_complex > nat > nat > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Odiff__ev_001tf__a,type,
    jordan1888133435898081728f_ev_a: mat_a > nat > nat > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Oev__block_001t__Complex__Ocomplex,type,
    jordan8042990603089931364omplex: nat > mat_complex > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Oev__block_001tf__a,type,
    jordan1479931431598099656lock_a: nat > mat_a > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Oev__blocks__part_001t__Complex__Ocomplex,type,
    jordan4637981584770492064omplex: nat > mat_complex > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Oev__blocks__part_001tf__a,type,
    jordan1511873942585160076part_a: nat > mat_a > $o ).

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_Osame__diag_001t__Complex__Ocomplex,type,
    jordan2620430285385836103omplex: nat > mat_complex > mat_complex > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Osame__diag_001tf__a,type,
    jordan8308822787700309925diag_a: nat > mat_a > mat_a > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Ouppert_001t__Complex__Ocomplex,type,
    jordan3528196489273997576omplex: mat_complex > nat > nat > $o ).

thf(sy_c_Jordan__Normal__Form__Existence_Ouppert_001tf__a,type,
    jordan2755030923421653284pert_a: mat_a > nat > nat > $o ).

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

thf(sy_c_Linear__Algebra__Complements_Oprojector_001tf__a,type,
    linear2821214051344812439ctor_a: mat_a > $o ).

thf(sy_c_Linear__Algebra__Complements_Orank__1__proj_001t__Complex__Ocomplex,type,
    linear1949544614684794075omplex: vec_complex > mat_complex ).

thf(sy_c_Linear__Algebra__Complements_Orank__1__proj_001tf__a,type,
    linear2728813245073104401proj_a: vec_a > mat_a ).

thf(sy_c_Matrix_Oappend__rows_001t__Complex__Ocomplex,type,
    append_rows_complex: mat_complex > mat_complex > mat_complex ).

thf(sy_c_Matrix_Oappend__rows_001tf__a,type,
    append_rows_a: mat_a > mat_a > mat_a ).

thf(sy_c_Matrix_Oappend__vec_001t__Complex__Ocomplex,type,
    append_vec_complex: vec_complex > vec_complex > vec_complex ).

thf(sy_c_Matrix_Oappend__vec_001tf__a,type,
    append_vec_a: vec_a > vec_a > vec_a ).

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_Ocol_001t__Complex__Ocomplex,type,
    col_complex: mat_complex > nat > vec_complex ).

thf(sy_c_Matrix_Ocol_001t__Nat__Onat,type,
    col_nat: mat_nat > nat > vec_nat ).

thf(sy_c_Matrix_Ocol_001tf__a,type,
    col_a: mat_a > nat > vec_a ).

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

thf(sy_c_Matrix_Odiagonal__mat_001t__Nat__Onat,type,
    diagonal_mat_nat: mat_nat > $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__Matrix__Omat_It__Complex__Ocomplex_J,type,
    dim_col_mat_complex: mat_mat_complex > nat ).

thf(sy_c_Matrix_Odim__col_001t__Matrix__Omat_Itf__a_J,type,
    dim_col_mat_a: mat_mat_a > nat ).

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

thf(sy_c_Matrix_Odim__col_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    dim_col_set_complex: mat_set_complex > 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_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    dim_row_set_complex: mat_set_complex > nat ).

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

thf(sy_c_Matrix_Oelements__mat_001t__Complex__Ocomplex,type,
    elements_mat_complex: mat_complex > set_complex ).

thf(sy_c_Matrix_Oelements__mat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    elemen3580889201824698026omplex: mat_mat_complex > set_mat_complex ).

thf(sy_c_Matrix_Oelements__mat_001t__Matrix__Omat_Itf__a_J,type,
    elements_mat_mat_a: mat_mat_a > set_mat_a ).

thf(sy_c_Matrix_Oelements__mat_001tf__a,type,
    elements_mat_a: mat_a > set_a ).

thf(sy_c_Matrix_Ofour__block__mat_001t__Complex__Ocomplex,type,
    four_b559179830521662709omplex: mat_complex > mat_complex > mat_complex > mat_complex > mat_complex ).

thf(sy_c_Matrix_Ofour__block__mat_001tf__a,type,
    four_block_mat_a: mat_a > mat_a > mat_a > mat_a > mat_a ).

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

thf(sy_c_Matrix_Oindex__mat_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    index_7093623372566408491omplex: mat_mat_complex > product_prod_nat_nat > mat_complex ).

thf(sy_c_Matrix_Oindex__mat_001t__Matrix__Omat_Itf__a_J,type,
    index_mat_mat_a: mat_mat_a > product_prod_nat_nat > mat_a ).

thf(sy_c_Matrix_Oindex__mat_001t__Nat__Onat,type,
    index_mat_nat: mat_nat > product_prod_nat_nat > nat ).

thf(sy_c_Matrix_Oindex__mat_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    index_252864162597934816omplex: mat_set_complex > product_prod_nat_nat > set_complex ).

thf(sy_c_Matrix_Oindex__mat_001tf__a,type,
    index_mat_a: mat_a > product_prod_nat_nat > a ).

thf(sy_c_Matrix_Oorthogonal__mat_001t__Complex__Ocomplex,type,
    orthog8260864895371523401omplex: mat_complex > $o ).

thf(sy_c_Matrix_Oorthogonal__mat_001t__Nat__Onat,type,
    orthogonal_mat_nat: mat_nat > $o ).

thf(sy_c_Matrix_Oorthogonal__mat_001tf__a,type,
    orthogonal_mat_a: mat_a > $o ).

thf(sy_c_Matrix_Orow_001t__Complex__Ocomplex,type,
    row_complex: mat_complex > nat > vec_complex ).

thf(sy_c_Matrix_Orow_001tf__a,type,
    row_a: mat_a > nat > vec_a ).

thf(sy_c_Matrix_Oscalar__prod_001t__Complex__Ocomplex,type,
    scalar_prod_complex: vec_complex > vec_complex > complex ).

thf(sy_c_Matrix_Oscalar__prod_001t__Nat__Onat,type,
    scalar_prod_nat: vec_nat > vec_nat > nat ).

thf(sy_c_Matrix_Oscalar__prod_001tf__a,type,
    scalar_prod_a: vec_a > vec_a > a ).

thf(sy_c_Matrix_Osimilar__mat__wit_001t__Complex__Ocomplex,type,
    simila5774310414453981135omplex: mat_complex > mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_Matrix_Osimilar__mat__wit_001tf__a,type,
    similar_mat_wit_a: mat_a > mat_a > mat_a > mat_a > $o ).

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__Matrix__Omat_It__Complex__Ocomplex_J,type,
    smult_779153608156729276omplex: mat_complex > mat_mat_complex > mat_mat_complex ).

thf(sy_c_Matrix_Osmult__mat_001t__Matrix__Omat_Itf__a_J,type,
    smult_mat_mat_a: mat_a > mat_mat_a > mat_mat_a ).

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_Osplit__block_001t__Complex__Ocomplex,type,
    split_block_complex: mat_complex > nat > nat > produc1634985270395358183omplex ).

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

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

thf(sy_c_Matrix_Oupdate__mat_001t__Complex__Ocomplex,type,
    update_mat_complex: mat_complex > product_prod_nat_nat > complex > mat_complex ).

thf(sy_c_Matrix_Oupdate__mat_001tf__a,type,
    update_mat_a: mat_a > product_prod_nat_nat > a > mat_a ).

thf(sy_c_Matrix_Oupper__triangular_001t__Complex__Ocomplex,type,
    upper_4850907204721561915omplex: mat_complex > $o ).

thf(sy_c_Matrix_Oupper__triangular_001t__Nat__Onat,type,
    upper_triangular_nat: mat_nat > $o ).

thf(sy_c_Matrix_Oupper__triangular_001tf__a,type,
    upper_triangular_a: mat_a > $o ).

thf(sy_c_Matrix_Ozero__mat_001t__Complex__Ocomplex,type,
    zero_mat_complex: nat > nat > mat_complex ).

thf(sy_c_Matrix_Ozero__mat_001t__Nat__Onat,type,
    zero_mat_nat: nat > nat > mat_nat ).

thf(sy_c_Matrix_Ozero__mat_001tf__a,type,
    zero_mat_a: nat > nat > mat_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__Complex__Ocomplex_J,type,
    ord_less_set_complex: set_complex > set_complex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Complex__Ocomplex,type,
    ord_less_eq_complex: complex > complex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    ord_le1403324449407493959omplex: mat_complex > mat_complex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Matrix__Omat_It__Nat__Onat_J,type,
    ord_less_eq_mat_nat: mat_nat > mat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Matrix__Omat_It__Set__Oset_It__Complex__Ocomplex_J_J,type,
    ord_le4944801397134097149omplex: mat_set_complex > mat_set_complex > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Complex__Ocomplex_J,type,
    ord_le6295960533335388509omplex: produc4411394909380815293omplex > produc4411394909380815293omplex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Nat__Onat_J,type,
    ord_le2081805474369280895ex_nat: produc1799700322190218207ex_nat > produc1799700322190218207ex_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Complex__Ocomplex_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    ord_le2293036613311982867omplex: produc8070730147447301491omplex > produc8070730147447301491omplex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Complex__Ocomplex_J,type,
    ord_le5145267895229885055omplex: produc4863162743050822367omplex > produc4863162743050822367omplex > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    ord_le8845911286399622709omplex: produc1650386626246186645omplex > produc1650386626246186645omplex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Complex__Ocomplex_J,type,
    ord_le768928591765262355omplex: produc6546622125900580979omplex > produc6546622125900580979omplex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Nat__Onat_J,type,
    ord_le3350926765517121077ex_nat: produc5378774142218460821ex_nat > produc5378774142218460821ex_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Complex__Ocomplex_J_Mt__Set__Oset_It__Complex__Ocomplex_J_J,type,
    ord_le6978878840087032777omplex: produc8064648209034914857omplex > produc8064648209034914857omplex > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    ord_le211207098394363844omplex: set_complex > set_complex > $o ).

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

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

thf(sy_c_Product__Type_OPair_001t__Complex__Ocomplex_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    produc7591729284011983776omplex: complex > mat_complex > produc5852522195208431214omplex ).

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

thf(sy_c_Product__Type_OPair_001t__Complex__Ocomplex_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    produc2318127812206364843omplex: complex > set_complex > produc8070730147447301491omplex ).

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

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

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

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

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

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

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

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

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

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

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

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    produc1375664759407572941omplex: nat > set_complex > produc1650386626246186645omplex ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Complex__Ocomplex_J_001t__Complex__Ocomplex,type,
    produc6365980645164548267omplex: set_complex > complex > produc6546622125900580979omplex ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Complex__Ocomplex_J_001t__Nat__Onat,type,
    produc8135886838325317069ex_nat: set_complex > nat > produc5378774142218460821ex_nat ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Complex__Ocomplex_J_001t__Set__Oset_It__Complex__Ocomplex_J,type,
    produc3790773574474814305omplex: set_complex > set_complex > produc8064648209034914857omplex ).

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

thf(sy_c_Projective__Measurements_Odiag__elem__indices_001t__Complex__Ocomplex,type,
    projec1944845285785509306omplex: complex > mat_complex > set_nat ).

thf(sy_c_Projective__Measurements_Odiag__elem__indices_001tf__a,type,
    projec8096995296758946034ices_a: a > mat_a > set_nat ).

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

thf(sy_c_Projective__Measurements_Odiag__elems_001t__Matrix__Omat_It__Complex__Ocomplex_J,type,
    projec1765981369499306831omplex: mat_mat_complex > set_mat_complex ).

thf(sy_c_Projective__Measurements_Odiag__elems_001t__Matrix__Omat_Itf__a_J,type,
    projec9066127685012477747_mat_a: mat_mat_a > set_mat_a ).

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

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_Real__Vector__Spaces_OReals_001t__Complex__Ocomplex,type,
    real_V2521375963428798218omplex: set_complex ).

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

thf(sy_c_Schur__Decomposition_Ocorthogonal__mat_001tf__a,type,
    schur_4042290226164342457_mat_a: mat_a > $o ).

thf(sy_c_Schur__Decomposition_Omat__adjoint_001t__Complex__Ocomplex,type,
    schur_5982229384592763574omplex: mat_complex > mat_complex ).

thf(sy_c_Schur__Decomposition_Omat__adjoint_001tf__a,type,
    schur_mat_adjoint_a: mat_a > mat_a ).

thf(sy_c_Set_OCollect_001t__Complex__Ocomplex,type,
    collect_complex: ( complex > $o ) > set_complex ).

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_Spectral__Theory__Complements_Oreal__diag__decomp_001t__Complex__Ocomplex,type,
    spectr5409772854192057952omplex: mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_Spectral__Theory__Complements_Ounitarily__equiv_001t__Complex__Ocomplex,type,
    spectr6340060708231679580omplex: mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_Spectral__Theory__Complements_Ounitarily__equiv_001tf__a,type,
    spectr4825054497075562704quiv_a: mat_a > mat_a > mat_a > $o ).

thf(sy_c_Spectral__Theory__Complements_Ounitary__diag_001t__Complex__Ocomplex,type,
    spectr532731689276696518omplex: mat_complex > mat_complex > mat_complex > $o ).

thf(sy_c_Spectral__Theory__Complements_Ounitary__diag_001tf__a,type,
    spectr4894841263502123494diag_a: mat_a > mat_a > mat_a > $o ).

thf(sy_c_member_001t__Complex__Ocomplex,type,
    member_complex: complex > set_complex > $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_c_member_001tf__a,type,
    member_a: a > set_a > $o ).

thf(sy_v_A,type,
    a2: mat_a ).

thf(sy_v_f,type,
    f: nat > nat ).

thf(sy_v_i,type,
    i: nat ).

thf(sy_v_j,type,
    j: nat ).

thf(sy_v_n,type,
    n: nat ).

% Relevant facts (1088)
thf(fact_0__092_060open_062Matrix_Orow_A_IComplex__Matrix_Oadjoint_A_Iper__col_AA_Af_J_J_Ai_A_092_060bullet_062_AMatrix_Ocol_AA_A_If_Aj_J_A_061_AMatrix_Orow_A_IComplex__Matrix_Oadjoint_AA_J_A_If_Ai_J_A_092_060bullet_062_AMatrix_Ocol_AA_A_If_Aj_J_092_060close_062,axiom,
    ( ( scalar_prod_a @ ( row_a @ ( schur_mat_adjoint_a @ ( commuting_per_col_a @ a2 @ f ) ) @ i ) @ ( col_a @ a2 @ ( f @ j ) ) )
    = ( scalar_prod_a @ ( row_a @ ( schur_mat_adjoint_a @ a2 ) @ ( f @ i ) ) @ ( col_a @ a2 @ ( f @ j ) ) ) ) ).

% \<open>Matrix.row (Complex_Matrix.adjoint (per_col A f)) i \<bullet> Matrix.col A (f j) = Matrix.row (Complex_Matrix.adjoint A) (f i) \<bullet> Matrix.col A (f j)\<close>
thf(fact_1__092_060open_062_IComplex__Matrix_Oadjoint_A_Iper__col_AA_Af_J_A_K_Aper__col_AA_Af_J_A_E_E_A_Ii_M_Aj_J_A_061_AMatrix_Orow_A_IComplex__Matrix_Oadjoint_A_Iper__col_AA_Af_J_J_Ai_A_092_060bullet_062_AMatrix_Ocol_AA_A_If_Aj_J_092_060close_062,axiom,
    ( ( index_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ ( commuting_per_col_a @ a2 @ f ) ) @ ( commuting_per_col_a @ a2 @ f ) ) @ ( product_Pair_nat_nat @ i @ j ) )
    = ( scalar_prod_a @ ( row_a @ ( schur_mat_adjoint_a @ ( commuting_per_col_a @ a2 @ f ) ) @ i ) @ ( col_a @ a2 @ ( f @ j ) ) ) ) ).

% \<open>(Complex_Matrix.adjoint (per_col A f) * per_col A f) $$ (i, j) = Matrix.row (Complex_Matrix.adjoint (per_col A f)) i \<bullet> Matrix.col A (f j)\<close>
thf(fact_2_calculation,axiom,
    ( ( index_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ ( commuting_per_col_a @ a2 @ f ) ) @ ( commuting_per_col_a @ a2 @ f ) ) @ ( product_Pair_nat_nat @ i @ j ) )
    = ( scalar_prod_a @ ( row_a @ ( schur_mat_adjoint_a @ a2 ) @ ( f @ i ) ) @ ( col_a @ a2 @ ( f @ j ) ) ) ) ).

% calculation
thf(fact_3_assms_I5_J,axiom,
    ord_less_nat @ ( f @ j ) @ n ).

% assms(5)
thf(fact_4_assms_I4_J,axiom,
    ord_less_nat @ ( f @ i ) @ n ).

% assms(4)
thf(fact_5_assms_I3_J,axiom,
    ord_less_nat @ j @ n ).

% assms(3)
thf(fact_6_assms_I2_J,axiom,
    ord_less_nat @ i @ n ).

% assms(2)
thf(fact_7_assms_I1_J,axiom,
    member_mat_a @ a2 @ ( carrier_mat_a @ n @ n ) ).

% assms(1)
thf(fact_8_Complex__Matrix_Oadjoint__adjoint,axiom,
    ! [A: mat_a] :
      ( ( schur_mat_adjoint_a @ ( schur_mat_adjoint_a @ A ) )
      = A ) ).

% Complex_Matrix.adjoint_adjoint
thf(fact_9_Complex__Matrix_Oadjoint__adjoint,axiom,
    ! [A: mat_complex] :
      ( ( schur_5982229384592763574omplex @ ( schur_5982229384592763574omplex @ A ) )
      = A ) ).

% Complex_Matrix.adjoint_adjoint
thf(fact_10_bezw_Ocases,axiom,
    ! [X: product_prod_nat_nat] :
      ~ ! [X2: nat,Y: nat] :
          ( X
         != ( product_Pair_nat_nat @ X2 @ Y ) ) ).

% bezw.cases
thf(fact_11_prod_Osimps_I1_J,axiom,
    ! [X1: nat,X22: nat,Y1: nat,Y2: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X22 )
        = ( product_Pair_nat_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% prod.simps(1)
thf(fact_12_per__col__carrier,axiom,
    ! [A: mat_complex,N: nat,M: nat,F: nat > nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( member_mat_complex @ ( commut6373913411758474362omplex @ A @ F ) @ ( carrier_mat_complex @ N @ M ) ) ) ).

% per_col_carrier
thf(fact_13_per__col__carrier,axiom,
    ! [A: mat_a,N: nat,M: nat,F: nat > nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( member_mat_a @ ( commuting_per_col_a @ A @ F ) @ ( carrier_mat_a @ N @ M ) ) ) ).

% per_col_carrier
thf(fact_14_per__col__col,axiom,
    ! [A: mat_complex,N: nat,M: nat,J: nat,F: nat > nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( ord_less_nat @ J @ M )
       => ( ( col_complex @ ( commut6373913411758474362omplex @ A @ F ) @ J )
          = ( col_complex @ A @ ( F @ J ) ) ) ) ) ).

% per_col_col
thf(fact_15_per__col__col,axiom,
    ! [A: mat_a,N: nat,M: nat,J: nat,F: nat > nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( ord_less_nat @ J @ M )
       => ( ( col_a @ ( commuting_per_col_a @ A @ F ) @ J )
          = ( col_a @ A @ ( F @ J ) ) ) ) ) ).

% per_col_col
thf(fact_16_adjoint__dim,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( member_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( carrier_mat_a @ N @ N ) ) ) ).

% adjoint_dim
thf(fact_17_adjoint__dim,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( schur_5982229384592763574omplex @ A ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% adjoint_dim
thf(fact_18_per__col__adjoint__row,axiom,
    ! [A: mat_a,N: nat,I: nat,F: nat > nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ ( F @ I ) @ N )
         => ( ( row_a @ ( schur_mat_adjoint_a @ ( commuting_per_col_a @ A @ F ) ) @ I )
            = ( row_a @ ( schur_mat_adjoint_a @ A ) @ ( F @ I ) ) ) ) ) ) ).

% per_col_adjoint_row
thf(fact_19_per__col__adjoint__row,axiom,
    ! [A: mat_complex,N: nat,I: nat,F: nat > nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ ( F @ I ) @ N )
         => ( ( row_complex @ ( schur_5982229384592763574omplex @ ( commut6373913411758474362omplex @ A @ F ) ) @ I )
            = ( row_complex @ ( schur_5982229384592763574omplex @ A ) @ ( F @ I ) ) ) ) ) ) ).

% per_col_adjoint_row
thf(fact_20_adjoint__mult,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ M @ L ) )
       => ( ( schur_mat_adjoint_a @ ( times_times_mat_a @ A @ B ) )
          = ( times_times_mat_a @ ( schur_mat_adjoint_a @ B ) @ ( schur_mat_adjoint_a @ A ) ) ) ) ) ).

% adjoint_mult
thf(fact_21_adjoint__mult,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ M @ L ) )
       => ( ( schur_5982229384592763574omplex @ ( times_8009071140041733218omplex @ A @ B ) )
          = ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ B ) @ ( schur_5982229384592763574omplex @ A ) ) ) ) ) ).

% adjoint_mult
thf(fact_22_Pair__inject,axiom,
    ! [A2: nat,B2: nat,A3: nat,B3: nat] :
      ( ( ( product_Pair_nat_nat @ A2 @ B2 )
        = ( product_Pair_nat_nat @ A3 @ B3 ) )
     => ~ ( ( A2 = A3 )
         => ( B2 != B3 ) ) ) ).

% Pair_inject
thf(fact_23_prod__cases,axiom,
    ! [P: product_prod_nat_nat > $o,P2: product_prod_nat_nat] :
      ( ! [A4: nat,B4: nat] : ( P @ ( product_Pair_nat_nat @ A4 @ B4 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_24_surj__pair,axiom,
    ! [P2: product_prod_nat_nat] :
    ? [X2: nat,Y: nat] :
      ( P2
      = ( product_Pair_nat_nat @ X2 @ Y ) ) ).

% surj_pair
thf(fact_25_old_Oprod_Oinducts,axiom,
    ! [P: product_prod_nat_nat > $o,Prod: product_prod_nat_nat] :
      ( ! [A4: nat,B4: nat] : ( P @ ( product_Pair_nat_nat @ A4 @ B4 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_26_old_Oprod_Oexhaust,axiom,
    ! [Y3: product_prod_nat_nat] :
      ~ ! [A4: nat,B4: nat] :
          ( Y3
         != ( product_Pair_nat_nat @ A4 @ B4 ) ) ).

% old.prod.exhaust
thf(fact_27_old_Oprod_Oinject,axiom,
    ! [A2: nat,B2: nat,A3: nat,B3: nat] :
      ( ( ( product_Pair_nat_nat @ A2 @ B2 )
        = ( product_Pair_nat_nat @ A3 @ B3 ) )
      = ( ( A2 = A3 )
        & ( B2 = B3 ) ) ) ).

% old.prod.inject
thf(fact_28_adjoint__dim_H,axiom,
    ! [A: mat_a,N: nat,M: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( member_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( carrier_mat_a @ M @ N ) ) ) ).

% adjoint_dim'
thf(fact_29_adjoint__dim_H,axiom,
    ! [A: mat_complex,N: nat,M: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( member_mat_complex @ ( schur_5982229384592763574omplex @ A ) @ ( carrier_mat_complex @ M @ N ) ) ) ).

% adjoint_dim'
thf(fact_30_mult__carrier__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( member_mat_a @ ( times_times_mat_a @ A @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

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

% mult_carrier_mat
thf(fact_32_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_33_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_34_mem__Collect__eq,axiom,
    ! [A2: complex,P: complex > $o] :
      ( ( member_complex @ A2 @ ( collect_complex @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_35_Collect__mem__eq,axiom,
    ! [A: set_mat_a] :
      ( ( collect_mat_a
        @ ^ [X3: mat_a] : ( member_mat_a @ X3 @ A ) )
      = A ) ).

% Collect_mem_eq
thf(fact_36_Collect__mem__eq,axiom,
    ! [A: set_mat_complex] :
      ( ( collect_mat_complex
        @ ^ [X3: mat_complex] : ( member_mat_complex @ X3 @ A ) )
      = A ) ).

% Collect_mem_eq
thf(fact_37_Collect__mem__eq,axiom,
    ! [A: set_complex] :
      ( ( collect_complex
        @ ^ [X3: complex] : ( member_complex @ X3 @ A ) )
      = A ) ).

% Collect_mem_eq
thf(fact_38_assoc__mult__mat,axiom,
    ! [A: mat_a,N_1: nat,N_2: nat,B: mat_a,N_3: nat,C: mat_a,N_4: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N_1 @ N_2 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N_2 @ N_3 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N_3 @ N_4 ) )
         => ( ( times_times_mat_a @ ( times_times_mat_a @ A @ B ) @ C )
            = ( times_times_mat_a @ A @ ( times_times_mat_a @ B @ C ) ) ) ) ) ) ).

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

% assoc_mult_mat
thf(fact_40_inner__prod__adjoint__comp,axiom,
    ! [U: mat_a,N: nat,V: mat_a,I: nat,J: nat] :
      ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ V @ ( carrier_mat_a @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( scalar_prod_a @ ( col_a @ U @ J ) @ ( conjug3714139785361555588_vec_a @ ( col_a @ V @ I ) ) )
              = ( index_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ V ) @ U ) @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% inner_prod_adjoint_comp
thf(fact_41_inner__prod__adjoint__comp,axiom,
    ! [U: mat_complex,N: nat,V: mat_complex,I: nat,J: nat] :
      ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ V @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( scalar_prod_complex @ ( col_complex @ U @ J ) @ ( conjug5127946762835395006omplex @ ( col_complex @ V @ I ) ) )
              = ( index_mat_complex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ V ) @ U ) @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% inner_prod_adjoint_comp
thf(fact_42_ev__blocks__part__def,axiom,
    ( jordan1511873942585160076part_a
    = ( ^ [M2: nat,A5: mat_a] :
        ! [I2: nat,J2: nat,K: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ( ord_less_nat @ J2 @ K )
           => ( ( ord_less_nat @ K @ M2 )
             => ( ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ K @ K ) )
                  = ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) )
               => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) )
                  = ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) ) ) ) ) ) ) ) ).

% ev_blocks_part_def
thf(fact_43_ev__blocks__part__def,axiom,
    ( jordan4637981584770492064omplex
    = ( ^ [M2: nat,A5: mat_complex] :
        ! [I2: nat,J2: nat,K: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ( ord_less_nat @ J2 @ K )
           => ( ( ord_less_nat @ K @ M2 )
             => ( ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ K @ K ) )
                  = ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) )
               => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) )
                  = ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) ) ) ) ) ) ) ) ).

% ev_blocks_part_def
thf(fact_44_same__diag__def,axiom,
    ( jordan8308822787700309925diag_a
    = ( ^ [N2: nat,A5: mat_a,B5: mat_a] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N2 )
         => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
            = ( index_mat_a @ B5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) ) ) ) ) ).

% same_diag_def
thf(fact_45_same__diag__def,axiom,
    ( jordan2620430285385836103omplex
    = ( ^ [N2: nat,A5: mat_complex,B5: mat_complex] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N2 )
         => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
            = ( index_mat_complex @ B5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) ) ) ) ) ).

% same_diag_def
thf(fact_46_diagonal__mat__mult__index_H,axiom,
    ! [A: mat_a,N: nat,B: mat_a,J: nat,I: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( diagonal_mat_a @ B )
         => ( ( ord_less_nat @ J @ N )
           => ( ( ord_less_nat @ I @ N )
             => ( ( index_mat_a @ ( times_times_mat_a @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
                = ( times_times_a @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ J @ J ) ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% diagonal_mat_mult_index'
thf(fact_47_diagonal__mat__mult__index_H,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,J: nat,I: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( diagonal_mat_complex @ B )
         => ( ( ord_less_nat @ J @ N )
           => ( ( ord_less_nat @ I @ N )
             => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
                = ( times_times_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ J @ J ) ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% diagonal_mat_mult_index'
thf(fact_48_diagonal__mat__mult__index,axiom,
    ! [A: mat_a,N: nat,B: mat_a,I: nat,J: nat] :
      ( ( diagonal_mat_a @ A )
     => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ord_less_nat @ I @ N )
           => ( ( ord_less_nat @ J @ N )
             => ( ( index_mat_a @ ( times_times_mat_a @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
                = ( times_times_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ I ) ) @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% diagonal_mat_mult_index
thf(fact_49_diagonal__mat__mult__index,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,I: nat,J: nat] :
      ( ( diagonal_mat_complex @ A )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ord_less_nat @ I @ N )
           => ( ( ord_less_nat @ J @ N )
             => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
                = ( times_times_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ I ) ) @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% diagonal_mat_mult_index
thf(fact_50_diagonal__mat__sq__index_H,axiom,
    ! [B: mat_a,N: nat,I: nat,J: nat] :
      ( ( diagonal_mat_a @ B )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( index_mat_a @ ( times_times_mat_a @ B @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_a @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ).

% diagonal_mat_sq_index'
thf(fact_51_diagonal__mat__sq__index_H,axiom,
    ! [B: mat_complex,N: nat,I: nat,J: nat] :
      ( ( diagonal_mat_complex @ B )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ B @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ).

% diagonal_mat_sq_index'
thf(fact_52_diagonal__mat__sq__index,axiom,
    ! [B: mat_a,N: nat,I: nat,J: nat] :
      ( ( diagonal_mat_a @ B )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( index_mat_a @ ( times_times_mat_a @ B @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_a @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ J @ I ) ) ) ) ) ) ) ) ).

% diagonal_mat_sq_index
thf(fact_53_diagonal__mat__sq__index,axiom,
    ! [B: mat_complex,N: nat,I: nat,J: nat] :
      ( ( diagonal_mat_complex @ B )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_nat @ I @ N )
         => ( ( ord_less_nat @ J @ N )
           => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ B @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ J @ I ) ) ) ) ) ) ) ) ).

% diagonal_mat_sq_index
thf(fact_54_elements__matI,axiom,
    ! [A: mat_mat_a,Nr: nat,Nc: nat,I: nat,J: nat,A2: mat_a] :
      ( ( member_mat_mat_a @ A @ ( carrier_mat_mat_a @ Nr @ Nc ) )
     => ( ( ord_less_nat @ I @ Nr )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( A2
              = ( index_mat_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) )
           => ( member_mat_a @ A2 @ ( elements_mat_mat_a @ A ) ) ) ) ) ) ).

% elements_matI
thf(fact_55_elements__matI,axiom,
    ! [A: mat_mat_complex,Nr: nat,Nc: nat,I: nat,J: nat,A2: mat_complex] :
      ( ( member7752848204589936667omplex @ A @ ( carrie8442657464762054641omplex @ Nr @ Nc ) )
     => ( ( ord_less_nat @ I @ Nr )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( A2
              = ( index_7093623372566408491omplex @ A @ ( product_Pair_nat_nat @ I @ J ) ) )
           => ( member_mat_complex @ A2 @ ( elemen3580889201824698026omplex @ A ) ) ) ) ) ) ).

% elements_matI
thf(fact_56_elements__matI,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,I: nat,J: nat,A2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( ord_less_nat @ I @ Nr )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( A2
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) )
           => ( member_a @ A2 @ ( elements_mat_a @ A ) ) ) ) ) ) ).

% elements_matI
thf(fact_57_elements__matI,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,I: nat,J: nat,A2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ord_less_nat @ I @ Nr )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( A2
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) )
           => ( member_complex @ A2 @ ( elements_mat_complex @ A ) ) ) ) ) ) ).

% elements_matI
thf(fact_58_diagonal__mat__times__diag,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( diagonal_mat_a @ A )
         => ( ( diagonal_mat_a @ B )
           => ( diagonal_mat_a @ ( times_times_mat_a @ A @ B ) ) ) ) ) ) ).

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

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

% diagonal_mat_sq_diag
thf(fact_61_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_62_diagonal__mat__commute,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( diagonal_mat_a @ A )
         => ( ( diagonal_mat_a @ B )
           => ( ( times_times_mat_a @ A @ B )
              = ( times_times_mat_a @ B @ A ) ) ) ) ) ) ).

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

% diagonal_mat_commute
thf(fact_64_rank__1__proj__mat__col,axiom,
    ! [A: mat_a,N: nat,I: nat,J: nat,K2: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ J @ N )
         => ( ( ord_less_nat @ K2 @ N )
           => ( ( index_mat_a @ ( linear2728813245073104401proj_a @ ( col_a @ A @ I ) ) @ ( product_Pair_nat_nat @ J @ K2 ) )
              = ( times_times_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ J @ I ) ) @ ( conjug308488923880221217gate_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ K2 @ I ) ) ) ) ) ) ) ) ) ).

% rank_1_proj_mat_col
thf(fact_65_rank__1__proj__mat__col,axiom,
    ! [A: mat_complex,N: nat,I: nat,J: nat,K2: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ J @ N )
         => ( ( ord_less_nat @ K2 @ N )
           => ( ( index_mat_complex @ ( linear1949544614684794075omplex @ ( col_complex @ A @ I ) ) @ ( product_Pair_nat_nat @ J @ K2 ) )
              = ( times_times_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ J @ I ) ) @ ( conjug1878831970375765195omplex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ K2 @ I ) ) ) ) ) ) ) ) ) ).

% rank_1_proj_mat_col
thf(fact_66_conjugate__dist__mul,axiom,
    ! [A2: complex,B2: complex] :
      ( ( conjug1878831970375765195omplex @ ( times_times_complex @ A2 @ B2 ) )
      = ( times_times_complex @ ( conjug1878831970375765195omplex @ A2 ) @ ( conjug1878831970375765195omplex @ B2 ) ) ) ).

% conjugate_dist_mul
thf(fact_67_commute__diag__mat__zero__comp,axiom,
    ! [D: mat_a,N: nat,B: mat_a,I: nat,J: nat] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ( times_times_mat_a @ B @ D )
              = ( times_times_mat_a @ D @ B ) )
           => ( ( ord_less_nat @ I @ N )
             => ( ( ord_less_nat @ J @ N )
               => ( ( ( index_mat_a @ D @ ( product_Pair_nat_nat @ I @ I ) )
                   != ( index_mat_a @ D @ ( product_Pair_nat_nat @ J @ J ) ) )
                 => ( ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) )
                    = zero_zero_a ) ) ) ) ) ) ) ) ).

% commute_diag_mat_zero_comp
thf(fact_68_commute__diag__mat__zero__comp,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,I: nat,J: 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 ) )
           => ( ( ord_less_nat @ I @ N )
             => ( ( ord_less_nat @ J @ N )
               => ( ( ( index_mat_complex @ D @ ( product_Pair_nat_nat @ I @ I ) )
                   != ( index_mat_complex @ D @ ( product_Pair_nat_nat @ J @ J ) ) )
                 => ( ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) )
                    = zero_zero_complex ) ) ) ) ) ) ) ) ).

% commute_diag_mat_zero_comp
thf(fact_69_ev__blockD,axiom,
    ! [N: nat,A: mat_a,I: nat,J: nat] :
      ( ( jordan1479931431598099656lock_a @ N @ A )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ J @ N )
         => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ I ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) ) ).

% ev_blockD
thf(fact_70_ev__blockD,axiom,
    ! [N: nat,A: mat_complex,I: nat,J: nat] :
      ( ( jordan8042990603089931364omplex @ N @ A )
     => ( ( ord_less_nat @ I @ N )
       => ( ( ord_less_nat @ J @ N )
         => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ I ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) ) ).

% ev_blockD
thf(fact_71_ev__block__def,axiom,
    ( jordan1479931431598099656lock_a
    = ( ^ [N2: nat,A5: mat_a] :
        ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ N2 )
         => ( ( ord_less_nat @ J2 @ N2 )
           => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
              = ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) ) ) ) ) ) ) ).

% ev_block_def
thf(fact_72_ev__block__def,axiom,
    ( jordan8042990603089931364omplex
    = ( ^ [N2: nat,A5: mat_complex] :
        ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ N2 )
         => ( ( ord_less_nat @ J2 @ N2 )
           => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
              = ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) ) ) ) ) ) ) ).

% ev_block_def
thf(fact_73_normal__upper__triangular__matrix__is__diagonal,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( upper_4850907204721561915omplex @ A )
       => ( ( ( times_8009071140041733218omplex @ A @ ( schur_5982229384592763574omplex @ A ) )
            = ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ A ) @ A ) )
         => ( diagonal_mat_complex @ A ) ) ) ) ).

% normal_upper_triangular_matrix_is_diagonal
thf(fact_74_adjoint__col,axiom,
    ! [I: nat,A: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( col_a @ ( schur_mat_adjoint_a @ A ) @ I )
        = ( conjug3714139785361555588_vec_a @ ( row_a @ A @ I ) ) ) ) ).

% adjoint_col
thf(fact_75_adjoint__col,axiom,
    ! [I: nat,A: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( col_complex @ ( schur_5982229384592763574omplex @ A ) @ I )
        = ( conjug5127946762835395006omplex @ ( row_complex @ A @ I ) ) ) ) ).

% adjoint_col
thf(fact_76_adjoint__row,axiom,
    ! [I: nat,A: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
     => ( ( row_a @ ( schur_mat_adjoint_a @ A ) @ I )
        = ( conjug3714139785361555588_vec_a @ ( col_a @ A @ I ) ) ) ) ).

% adjoint_row
thf(fact_77_adjoint__row,axiom,
    ! [I: nat,A: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
     => ( ( row_complex @ ( schur_5982229384592763574omplex @ A ) @ I )
        = ( conjug5127946762835395006omplex @ ( col_complex @ A @ I ) ) ) ) ).

% adjoint_row
thf(fact_78_carrier__mat__triv,axiom,
    ! [M: mat_a] : ( member_mat_a @ M @ ( carrier_mat_a @ ( dim_row_a @ M ) @ ( dim_col_a @ M ) ) ) ).

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

% carrier_mat_triv
thf(fact_80_carrier__matI,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( ( dim_row_a @ A )
        = Nr )
     => ( ( ( dim_col_a @ A )
          = Nc )
       => ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

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

% carrier_matI
thf(fact_82_adjoint__dim__col,axiom,
    ! [A: mat_a] :
      ( ( dim_col_a @ ( schur_mat_adjoint_a @ A ) )
      = ( dim_row_a @ A ) ) ).

% adjoint_dim_col
thf(fact_83_adjoint__dim__col,axiom,
    ! [A: mat_complex] :
      ( ( dim_col_complex @ ( schur_5982229384592763574omplex @ A ) )
      = ( dim_row_complex @ A ) ) ).

% adjoint_dim_col
thf(fact_84_adjoint__dim__row,axiom,
    ! [A: mat_a] :
      ( ( dim_row_a @ ( schur_mat_adjoint_a @ A ) )
      = ( dim_col_a @ A ) ) ).

% adjoint_dim_row
thf(fact_85_adjoint__dim__row,axiom,
    ! [A: mat_complex] :
      ( ( dim_row_complex @ ( schur_5982229384592763574omplex @ A ) )
      = ( dim_col_complex @ A ) ) ).

% adjoint_dim_row
thf(fact_86_conjugate__zero,axiom,
    ( ( conjug1878831970375765195omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% conjugate_zero
thf(fact_87_conjugate__zero__iff,axiom,
    ! [A2: complex] :
      ( ( ( conjug1878831970375765195omplex @ A2 )
        = zero_zero_complex )
      = ( A2 = zero_zero_complex ) ) ).

% conjugate_zero_iff
thf(fact_88_Matrix_Omat__col__eqI,axiom,
    ! [B: mat_a,A: mat_a] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_a @ B ) )
         => ( ( col_a @ A @ I3 )
            = ( col_a @ B @ I3 ) ) )
     => ( ( ( dim_row_a @ A )
          = ( dim_row_a @ B ) )
       => ( ( ( dim_col_a @ A )
            = ( dim_col_a @ B ) )
         => ( A = B ) ) ) ) ).

% Matrix.mat_col_eqI
thf(fact_89_Matrix_Omat__col__eqI,axiom,
    ! [B: mat_complex,A: mat_complex] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_complex @ B ) )
         => ( ( col_complex @ A @ I3 )
            = ( col_complex @ B @ I3 ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( dim_row_complex @ B ) )
       => ( ( ( dim_col_complex @ A )
            = ( dim_col_complex @ B ) )
         => ( A = B ) ) ) ) ).

% Matrix.mat_col_eqI
thf(fact_90_eq__rowI,axiom,
    ! [B: mat_a,A: mat_a] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_a @ B ) )
         => ( ( row_a @ A @ I3 )
            = ( row_a @ B @ I3 ) ) )
     => ( ( ( dim_row_a @ A )
          = ( dim_row_a @ B ) )
       => ( ( ( dim_col_a @ A )
            = ( dim_col_a @ B ) )
         => ( A = B ) ) ) ) ).

% eq_rowI
thf(fact_91_eq__rowI,axiom,
    ! [B: mat_complex,A: mat_complex] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B ) )
         => ( ( row_complex @ A @ I3 )
            = ( row_complex @ B @ I3 ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( dim_row_complex @ B ) )
       => ( ( ( dim_col_complex @ A )
            = ( dim_col_complex @ B ) )
         => ( A = B ) ) ) ) ).

% eq_rowI
thf(fact_92_upper__triangularD,axiom,
    ! [A: mat_a,J: nat,I: nat] :
      ( ( upper_triangular_a @ A )
     => ( ( ord_less_nat @ J @ I )
       => ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
         => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) )
            = zero_zero_a ) ) ) ) ).

% upper_triangularD
thf(fact_93_upper__triangularD,axiom,
    ! [A: mat_nat,J: nat,I: nat] :
      ( ( upper_triangular_nat @ A )
     => ( ( ord_less_nat @ J @ I )
       => ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
         => ( ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) )
            = zero_zero_nat ) ) ) ) ).

% upper_triangularD
thf(fact_94_upper__triangularD,axiom,
    ! [A: mat_complex,J: nat,I: nat] :
      ( ( upper_4850907204721561915omplex @ A )
     => ( ( ord_less_nat @ J @ I )
       => ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
         => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) )
            = zero_zero_complex ) ) ) ) ).

% upper_triangularD
thf(fact_95_upper__triangularI,axiom,
    ! [A: mat_a] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ J3 @ I3 )
         => ( ( ord_less_nat @ I3 @ ( dim_row_a @ A ) )
           => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) )
              = zero_zero_a ) ) )
     => ( upper_triangular_a @ A ) ) ).

% upper_triangularI
thf(fact_96_upper__triangularI,axiom,
    ! [A: mat_nat] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ J3 @ I3 )
         => ( ( ord_less_nat @ I3 @ ( dim_row_nat @ A ) )
           => ( ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) )
              = zero_zero_nat ) ) )
     => ( upper_triangular_nat @ A ) ) ).

% upper_triangularI
thf(fact_97_upper__triangularI,axiom,
    ! [A: mat_complex] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ J3 @ I3 )
         => ( ( ord_less_nat @ I3 @ ( dim_row_complex @ A ) )
           => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) )
              = zero_zero_complex ) ) )
     => ( upper_4850907204721561915omplex @ A ) ) ).

% upper_triangularI
thf(fact_98_upper__triangular__def,axiom,
    ( upper_triangular_a
    = ( ^ [A5: mat_a] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_a @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ I2 )
             => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                = zero_zero_a ) ) ) ) ) ).

% upper_triangular_def
thf(fact_99_upper__triangular__def,axiom,
    ( upper_triangular_nat
    = ( ^ [A5: mat_nat] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_nat @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ I2 )
             => ( ( index_mat_nat @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                = zero_zero_nat ) ) ) ) ) ).

% upper_triangular_def
thf(fact_100_upper__triangular__def,axiom,
    ( upper_4850907204721561915omplex
    = ( ^ [A5: mat_complex] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_complex @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ I2 )
             => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                = zero_zero_complex ) ) ) ) ) ).

% upper_triangular_def
thf(fact_101_rank__1__proj__col__carrier,axiom,
    ! [I: nat,A: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
     => ( member_mat_a @ ( linear2728813245073104401proj_a @ ( col_a @ A @ I ) ) @ ( carrier_mat_a @ ( dim_row_a @ A ) @ ( dim_row_a @ A ) ) ) ) ).

% rank_1_proj_col_carrier
thf(fact_102_rank__1__proj__col__carrier,axiom,
    ! [I: nat,A: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
     => ( member_mat_complex @ ( linear1949544614684794075omplex @ ( col_complex @ A @ I ) ) @ ( carrier_mat_complex @ ( dim_row_complex @ A ) @ ( dim_row_complex @ A ) ) ) ) ).

% rank_1_proj_col_carrier
thf(fact_103_carrier__matD_I2_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( dim_col_a @ A )
        = Nc ) ) ).

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

% carrier_matD(2)
thf(fact_105_carrier__matD_I1_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( dim_row_a @ A )
        = Nr ) ) ).

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

% carrier_matD(1)
thf(fact_107_index__mult__mat_I3_J,axiom,
    ! [A: mat_a,B: mat_a] :
      ( ( dim_col_a @ ( times_times_mat_a @ A @ B ) )
      = ( dim_col_a @ B ) ) ).

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

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

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

% index_mult_mat(2)
thf(fact_111_diagonal__mat__def,axiom,
    ( diagonal_mat_a
    = ( ^ [A5: mat_a] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_a @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ ( dim_col_a @ A5 ) )
             => ( ( I2 != J2 )
               => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                  = zero_zero_a ) ) ) ) ) ) ).

% diagonal_mat_def
thf(fact_112_diagonal__mat__def,axiom,
    ( diagonal_mat_nat
    = ( ^ [A5: mat_nat] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_nat @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ ( dim_col_nat @ A5 ) )
             => ( ( I2 != J2 )
               => ( ( index_mat_nat @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                  = zero_zero_nat ) ) ) ) ) ) ).

% diagonal_mat_def
thf(fact_113_diagonal__mat__def,axiom,
    ( diagonal_mat_complex
    = ( ^ [A5: mat_complex] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_complex @ A5 ) )
         => ! [J2: nat] :
              ( ( ord_less_nat @ J2 @ ( dim_col_complex @ A5 ) )
             => ( ( I2 != J2 )
               => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                  = zero_zero_complex ) ) ) ) ) ) ).

% diagonal_mat_def
thf(fact_114_mat__eq__iff,axiom,
    ( ( ^ [Y4: mat_a,Z: mat_a] : ( Y4 = Z ) )
    = ( ^ [X3: mat_a,Y5: mat_a] :
          ( ( ( dim_row_a @ X3 )
            = ( dim_row_a @ Y5 ) )
          & ( ( dim_col_a @ X3 )
            = ( dim_col_a @ Y5 ) )
          & ! [I2: nat,J2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_a @ Y5 ) )
             => ( ( ord_less_nat @ J2 @ ( dim_col_a @ Y5 ) )
               => ( ( index_mat_a @ X3 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                  = ( index_mat_a @ Y5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) ) ) ) ) ) ) ).

% mat_eq_iff
thf(fact_115_mat__eq__iff,axiom,
    ( ( ^ [Y4: mat_complex,Z: mat_complex] : ( Y4 = Z ) )
    = ( ^ [X3: mat_complex,Y5: mat_complex] :
          ( ( ( dim_row_complex @ X3 )
            = ( dim_row_complex @ Y5 ) )
          & ( ( dim_col_complex @ X3 )
            = ( dim_col_complex @ Y5 ) )
          & ! [I2: nat,J2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_complex @ Y5 ) )
             => ( ( ord_less_nat @ J2 @ ( dim_col_complex @ Y5 ) )
               => ( ( index_mat_complex @ X3 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
                  = ( index_mat_complex @ Y5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) ) ) ) ) ) ) ).

% mat_eq_iff
thf(fact_116_eq__matI,axiom,
    ! [B: mat_a,A: mat_a] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_a @ B ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_a @ B ) )
           => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) )
              = ( index_mat_a @ B @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) )
     => ( ( ( dim_row_a @ A )
          = ( dim_row_a @ B ) )
       => ( ( ( dim_col_a @ A )
            = ( dim_col_a @ B ) )
         => ( A = B ) ) ) ) ).

% eq_matI
thf(fact_117_eq__matI,axiom,
    ! [B: mat_complex,A: mat_complex] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_complex @ B ) )
           => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) )
              = ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( dim_row_complex @ B ) )
       => ( ( ( dim_col_complex @ A )
            = ( dim_col_complex @ B ) )
         => ( A = B ) ) ) ) ).

% eq_matI
thf(fact_118_conjugate__square__eq__0_I2_J,axiom,
    ! [X: complex] :
      ( ( ( times_times_complex @ ( conjug1878831970375765195omplex @ X ) @ X )
        = zero_zero_complex )
      = ( X = zero_zero_complex ) ) ).

% conjugate_square_eq_0(2)
thf(fact_119_conjugate__square__eq__0_I1_J,axiom,
    ! [X: complex] :
      ( ( ( times_times_complex @ X @ ( conjug1878831970375765195omplex @ X ) )
        = zero_zero_complex )
      = ( X = zero_zero_complex ) ) ).

% conjugate_square_eq_0(1)
thf(fact_120_conjugate__square__0,axiom,
    ! [A2: complex] :
      ( ( ( times_times_complex @ A2 @ ( conjug1878831970375765195omplex @ A2 ) )
        = zero_zero_complex )
     => ( A2 = zero_zero_complex ) ) ).

% conjugate_square_0
thf(fact_121_elements__matD,axiom,
    ! [A2: mat_a,A: mat_mat_a] :
      ( ( member_mat_a @ A2 @ ( elements_mat_mat_a @ A ) )
     => ? [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_mat_a @ A ) )
          & ( ord_less_nat @ J3 @ ( dim_col_mat_a @ A ) )
          & ( A2
            = ( index_mat_mat_a @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) ) ).

% elements_matD
thf(fact_122_elements__matD,axiom,
    ! [A2: mat_complex,A: mat_mat_complex] :
      ( ( member_mat_complex @ A2 @ ( elemen3580889201824698026omplex @ A ) )
     => ? [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_mat_complex @ A ) )
          & ( ord_less_nat @ J3 @ ( dim_col_mat_complex @ A ) )
          & ( A2
            = ( index_7093623372566408491omplex @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) ) ).

% elements_matD
thf(fact_123_elements__matD,axiom,
    ! [A2: a,A: mat_a] :
      ( ( member_a @ A2 @ ( elements_mat_a @ A ) )
     => ? [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_a @ A ) )
          & ( ord_less_nat @ J3 @ ( dim_col_a @ A ) )
          & ( A2
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) ) ).

% elements_matD
thf(fact_124_elements__matD,axiom,
    ! [A2: complex,A: mat_complex] :
      ( ( member_complex @ A2 @ ( elements_mat_complex @ A ) )
     => ? [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ A ) )
          & ( ord_less_nat @ J3 @ ( dim_col_complex @ A ) )
          & ( A2
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I3 @ J3 ) ) ) ) ) ).

% elements_matD
thf(fact_125_conjugate__square__greater__0,axiom,
    ! [X: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ ( times_times_complex @ X @ ( conjug1878831970375765195omplex @ X ) ) )
      = ( X != zero_zero_complex ) ) ).

% conjugate_square_greater_0
thf(fact_126_conjugate__square__smaller__0,axiom,
    ! [X: complex] :
      ~ ( ord_less_complex @ ( times_times_complex @ X @ ( conjug1878831970375765195omplex @ X ) ) @ zero_zero_complex ) ).

% conjugate_square_smaller_0
thf(fact_127_adjoint__eval,axiom,
    ! [I: nat,A: mat_a,J: nat] :
      ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_row_a @ A ) )
       => ( ( index_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( conjug308488923880221217gate_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ J @ I ) ) ) ) ) ) ).

% adjoint_eval
thf(fact_128_adjoint__eval,axiom,
    ! [I: nat,A: mat_complex,J: nat] :
      ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_row_complex @ A ) )
       => ( ( index_mat_complex @ ( schur_5982229384592763574omplex @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( conjug1878831970375765195omplex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ J @ I ) ) ) ) ) ) ).

% adjoint_eval
thf(fact_129_diagonal__imp__upper__triangular,axiom,
    ! [A: mat_a,N: nat] :
      ( ( diagonal_mat_a @ A )
     => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
       => ( upper_triangular_a @ A ) ) ) ).

% diagonal_imp_upper_triangular
thf(fact_130_diagonal__imp__upper__triangular,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( diagonal_mat_complex @ A )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( upper_4850907204721561915omplex @ A ) ) ) ).

% diagonal_imp_upper_triangular
thf(fact_131_gcd_Ocases,axiom,
    ! [X: product_prod_nat_nat] :
      ~ ! [A4: nat,B4: nat] :
          ( X
         != ( product_Pair_nat_nat @ A4 @ B4 ) ) ).

% gcd.cases
thf(fact_132_index__mult__mat_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,B: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ B ) )
       => ( ( index_mat_a @ ( times_times_mat_a @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( scalar_prod_a @ ( row_a @ A @ I ) @ ( col_a @ B @ J ) ) ) ) ) ).

% index_mult_mat(1)
thf(fact_133_index__mult__mat_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,B: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ B ) )
       => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( scalar_prod_complex @ ( row_complex @ A @ I ) @ ( col_complex @ B @ J ) ) ) ) ) ).

% index_mult_mat(1)
thf(fact_134_conjugate__id,axiom,
    ! [A2: complex] :
      ( ( conjug1878831970375765195omplex @ ( conjug1878831970375765195omplex @ A2 ) )
      = A2 ) ).

% conjugate_id
thf(fact_135_conjugate__id,axiom,
    ! [A2: vec_complex] :
      ( ( conjug5127946762835395006omplex @ ( conjug5127946762835395006omplex @ A2 ) )
      = A2 ) ).

% conjugate_id
thf(fact_136_conjugate__cancel__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( conjug1878831970375765195omplex @ A2 )
        = ( conjug1878831970375765195omplex @ B2 ) )
      = ( A2 = B2 ) ) ).

% conjugate_cancel_iff
thf(fact_137_conjugate__cancel__iff,axiom,
    ! [A2: vec_complex,B2: vec_complex] :
      ( ( ( conjug5127946762835395006omplex @ A2 )
        = ( conjug5127946762835395006omplex @ B2 ) )
      = ( A2 = B2 ) ) ).

% conjugate_cancel_iff
thf(fact_138_orthogonal__matI,axiom,
    ! [A: mat_a] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_a @ A ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_a @ A ) )
           => ( ( ( scalar_prod_a @ ( col_a @ A @ I3 ) @ ( col_a @ A @ J3 ) )
                = zero_zero_a )
              = ( I3 != J3 ) ) ) )
     => ( orthogonal_mat_a @ A ) ) ).

% orthogonal_matI
thf(fact_139_orthogonal__matI,axiom,
    ! [A: mat_nat] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_nat @ A ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_nat @ A ) )
           => ( ( ( scalar_prod_nat @ ( col_nat @ A @ I3 ) @ ( col_nat @ A @ J3 ) )
                = zero_zero_nat )
              = ( I3 != J3 ) ) ) )
     => ( orthogonal_mat_nat @ A ) ) ).

% orthogonal_matI
thf(fact_140_orthogonal__matI,axiom,
    ! [A: mat_complex] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_complex @ A ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_complex @ A ) )
           => ( ( ( scalar_prod_complex @ ( col_complex @ A @ I3 ) @ ( col_complex @ A @ J3 ) )
                = zero_zero_complex )
              = ( I3 != J3 ) ) ) )
     => ( orthog8260864895371523401omplex @ A ) ) ).

% orthogonal_matI
thf(fact_141_orthogonal__matD,axiom,
    ! [A: mat_a,I: nat,J: nat] :
      ( ( orthogonal_mat_a @ A )
     => ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
         => ( ( ( scalar_prod_a @ ( col_a @ A @ I ) @ ( col_a @ A @ J ) )
              = zero_zero_a )
            = ( I != J ) ) ) ) ) ).

% orthogonal_matD
thf(fact_142_orthogonal__matD,axiom,
    ! [A: mat_nat,I: nat,J: nat] :
      ( ( orthogonal_mat_nat @ A )
     => ( ( ord_less_nat @ I @ ( dim_col_nat @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
         => ( ( ( scalar_prod_nat @ ( col_nat @ A @ I ) @ ( col_nat @ A @ J ) )
              = zero_zero_nat )
            = ( I != J ) ) ) ) ) ).

% orthogonal_matD
thf(fact_143_orthogonal__matD,axiom,
    ! [A: mat_complex,I: nat,J: nat] :
      ( ( orthog8260864895371523401omplex @ A )
     => ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
         => ( ( ( scalar_prod_complex @ ( col_complex @ A @ I ) @ ( col_complex @ A @ J ) )
              = zero_zero_complex )
            = ( I != J ) ) ) ) ) ).

% orthogonal_matD
thf(fact_144_index__update__mat1,axiom,
    ! [I: nat,A: mat_a,J: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( update_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) @ A2 ) @ ( product_Pair_nat_nat @ I @ J ) )
          = A2 ) ) ) ).

% index_update_mat1
thf(fact_145_index__update__mat1,axiom,
    ! [I: nat,A: mat_complex,J: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( update_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) @ A2 ) @ ( product_Pair_nat_nat @ I @ J ) )
          = A2 ) ) ) ).

% index_update_mat1
thf(fact_146_index__update__mat2,axiom,
    ! [I4: nat,A: mat_a,J4: nat,Ij: product_prod_nat_nat,A2: a] :
      ( ( ord_less_nat @ I4 @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J4 @ ( dim_col_a @ A ) )
       => ( ( ( product_Pair_nat_nat @ I4 @ J4 )
           != Ij )
         => ( ( index_mat_a @ ( update_mat_a @ A @ Ij @ A2 ) @ ( product_Pair_nat_nat @ I4 @ J4 ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I4 @ J4 ) ) ) ) ) ) ).

% index_update_mat2
thf(fact_147_index__update__mat2,axiom,
    ! [I4: nat,A: mat_complex,J4: nat,Ij: product_prod_nat_nat,A2: complex] :
      ( ( ord_less_nat @ I4 @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J4 @ ( dim_col_complex @ A ) )
       => ( ( ( product_Pair_nat_nat @ I4 @ J4 )
           != Ij )
         => ( ( index_mat_complex @ ( update_mat_complex @ A @ Ij @ A2 ) @ ( product_Pair_nat_nat @ I4 @ J4 ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I4 @ J4 ) ) ) ) ) ) ).

% index_update_mat2
thf(fact_148_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_149_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_150_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_151_dim__update__mat_I1_J,axiom,
    ! [A: mat_complex,Ij: product_prod_nat_nat,A2: complex] :
      ( ( dim_row_complex @ ( update_mat_complex @ A @ Ij @ A2 ) )
      = ( dim_row_complex @ A ) ) ).

% dim_update_mat(1)
thf(fact_152_dim__update__mat_I2_J,axiom,
    ! [A: mat_complex,Ij: product_prod_nat_nat,A2: complex] :
      ( ( dim_col_complex @ ( update_mat_complex @ A @ Ij @ A2 ) )
      = ( dim_col_complex @ A ) ) ).

% dim_update_mat(2)
thf(fact_153_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_154_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_155_mult__zero__left,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

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

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

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

% mult_zero_right
thf(fact_159_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_160_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_161_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_162_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_163_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_164_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_165_mult__cancel__left,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ( times_times_nat @ C2 @ A2 )
        = ( times_times_nat @ C2 @ B2 ) )
      = ( ( C2 = zero_zero_nat )
        | ( A2 = B2 ) ) ) ).

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

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

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

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

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

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

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

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

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

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

% linordered_semiring_strict_class.mult_strict_left_mono
thf(fact_176_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_177_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_178_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_179_diff__ev__def,axiom,
    ( jordan1888133435898081728f_ev_a
    = ( ^ [A5: mat_a,I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
             != ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) ) )
           => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
              = zero_zero_a ) ) ) ) ) ).

% diff_ev_def
thf(fact_180_diff__ev__def,axiom,
    ( jordan8650160714669549932omplex
    = ( ^ [A5: mat_complex,I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ I2 ) )
             != ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ J2 @ J2 ) ) )
           => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
              = zero_zero_complex ) ) ) ) ) ).

% diff_ev_def
thf(fact_181_inv__all_H__def,axiom,
    ( jordan5032732407113867375omplex
    = ( ^ [P3: mat_complex > nat > nat > $o,A5: mat_complex] :
        ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ ( dim_row_complex @ A5 ) )
         => ( ( ord_less_nat @ J2 @ ( dim_row_complex @ A5 ) )
           => ( P3 @ A5 @ I2 @ J2 ) ) ) ) ) ).

% inv_all'_def
thf(fact_182_corthogonal__matD,axiom,
    ! [A: mat_a,I: nat,J: nat] :
      ( ( schur_4042290226164342457_mat_a @ A )
     => ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
         => ( ( ( scalar_prod_a @ ( col_a @ A @ I ) @ ( conjug3714139785361555588_vec_a @ ( col_a @ A @ J ) ) )
              = zero_zero_a )
            = ( I != J ) ) ) ) ) ).

% corthogonal_matD
thf(fact_183_corthogonal__matD,axiom,
    ! [A: mat_complex,I: nat,J: nat] :
      ( ( schur_549222400177443379omplex @ A )
     => ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
         => ( ( ( scalar_prod_complex @ ( col_complex @ A @ I ) @ ( conjug5127946762835395006omplex @ ( col_complex @ A @ J ) ) )
              = zero_zero_complex )
            = ( I != J ) ) ) ) ) ).

% corthogonal_matD
thf(fact_184_corthogonal__matI,axiom,
    ! [A: mat_a] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_a @ A ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_a @ A ) )
           => ( ( ( scalar_prod_a @ ( col_a @ A @ I3 ) @ ( conjug3714139785361555588_vec_a @ ( col_a @ A @ J3 ) ) )
                = zero_zero_a )
              = ( I3 != J3 ) ) ) )
     => ( schur_4042290226164342457_mat_a @ A ) ) ).

% corthogonal_matI
thf(fact_185_corthogonal__matI,axiom,
    ! [A: mat_complex] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_col_complex @ A ) )
         => ( ( ord_less_nat @ J3 @ ( dim_col_complex @ A ) )
           => ( ( ( scalar_prod_complex @ ( col_complex @ A @ I3 ) @ ( conjug5127946762835395006omplex @ ( col_complex @ A @ J3 ) ) )
                = zero_zero_complex )
              = ( I3 != J3 ) ) ) )
     => ( schur_549222400177443379omplex @ A ) ) ).

% corthogonal_matI
thf(fact_186_uppert__def,axiom,
    ( jordan2755030923421653284pert_a
    = ( ^ [A5: mat_a,I2: nat,J2: nat] :
          ( ( ord_less_nat @ J2 @ I2 )
         => ( ( index_mat_a @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
            = zero_zero_a ) ) ) ) ).

% uppert_def
thf(fact_187_uppert__def,axiom,
    ( jordan3528196489273997576omplex
    = ( ^ [A5: mat_complex,I2: nat,J2: nat] :
          ( ( ord_less_nat @ J2 @ I2 )
         => ( ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) )
            = zero_zero_complex ) ) ) ) ).

% uppert_def
thf(fact_188_index__mat__addrow_I3_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,Ad: a > a > a,Mul: a > a > a,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( K2 != I )
         => ( ( index_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addrow(3)
thf(fact_189_index__mat__addrow_I3_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( K2 != I )
         => ( ( index_mat_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addrow(3)
thf(fact_190_index__mat__addrow_I2_J,axiom,
    ! [I: nat,A: mat_a,J: nat,Ad: a > a > a,Mul: a > a > a,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ I @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( Ad @ ( Mul @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addrow(2)
thf(fact_191_index__mat__addrow_I2_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ I @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( Ad @ ( Mul @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addrow(2)
thf(fact_192_index__mat__addrow_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,Ad: a > a > a,Mul: a > a > a,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( Ad @ ( Mul @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != I )
           => ( ( index_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_addrow(1)
thf(fact_193_index__mat__addrow_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( Ad @ ( Mul @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != I )
           => ( ( index_mat_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_addrow(1)
thf(fact_194_index__mat__multcol_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_a @ ( column_mat_multcol_a @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_a @ ( column_mat_multcol_a @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_multcol(1)
thf(fact_195_index__mat__multcol_I1_J,axiom,
    ! [I: nat,A: mat_nat,J: nat,K2: nat,A2: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_nat @ ( column384608550491945071ol_nat @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_nat @ A2 @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_nat @ ( column384608550491945071ol_nat @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_multcol(1)
thf(fact_196_index__mat__multcol_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_complex @ ( column4410001698458707789omplex @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_complex @ ( column4410001698458707789omplex @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_multcol(1)
thf(fact_197_index__mat__multcol_I2_J,axiom,
    ! [I: nat,A: mat_a,J: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( column_mat_multcol_a @ J @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multcol(2)
thf(fact_198_index__mat__multcol_I2_J,axiom,
    ! [I: nat,A: mat_nat,J: nat,A2: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
       => ( ( index_mat_nat @ ( column384608550491945071ol_nat @ J @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_nat @ A2 @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multcol(2)
thf(fact_199_index__mat__multcol_I2_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( column4410001698458707789omplex @ J @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multcol(2)
thf(fact_200_index__mat__swaprows_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_a @ ( gauss_2482569599970757219rows_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) )
          & ( ( K2 != I )
           => ( ( ( L = I )
               => ( ( index_mat_a @ ( gauss_2482569599970757219rows_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ K2 @ J ) ) ) )
              & ( ( L != I )
               => ( ( index_mat_a @ ( gauss_2482569599970757219rows_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% index_mat_swaprows(1)
thf(fact_201_index__mat__swaprows_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) )
          & ( ( K2 != I )
           => ( ( ( L = I )
               => ( ( index_mat_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ K2 @ J ) ) ) )
              & ( ( L != I )
               => ( ( index_mat_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% index_mat_swaprows(1)
thf(fact_202_index__mat__multcol_I4_J,axiom,
    ! [K2: nat,A2: complex,A: mat_complex] :
      ( ( dim_row_complex @ ( column4410001698458707789omplex @ K2 @ A2 @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_multcol(4)
thf(fact_203_index__mat__multcol_I5_J,axiom,
    ! [K2: nat,A2: complex,A: mat_complex] :
      ( ( dim_col_complex @ ( column4410001698458707789omplex @ K2 @ A2 @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_multcol(5)
thf(fact_204_swaprows__carrier,axiom,
    ! [K2: nat,L: nat,A: mat_a,N: nat,Nc: nat] :
      ( ( member_mat_a @ ( gauss_2482569599970757219rows_a @ K2 @ L @ A ) @ ( carrier_mat_a @ N @ Nc ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) ) ) ).

% swaprows_carrier
thf(fact_205_swaprows__carrier,axiom,
    ! [K2: nat,L: nat,A: mat_complex,N: nat,Nc: nat] :
      ( ( member_mat_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) @ ( carrier_mat_complex @ N @ Nc ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) ) ) ).

% swaprows_carrier
thf(fact_206_index__mat__swaprows_I2_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_swaprows(2)
thf(fact_207_index__mat__swaprows_I3_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( gauss_1020679828357514249omplex @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_swaprows(3)
thf(fact_208_addrow__carrier,axiom,
    ! [Ad: a > a > a,Mul: a > a > a,A2: a,K2: nat,L: nat,A: mat_a,N: nat,Nc: nat] :
      ( ( member_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( carrier_mat_a @ N @ Nc ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) ) ) ).

% addrow_carrier
thf(fact_209_addrow__carrier,axiom,
    ! [Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,K2: nat,L: nat,A: mat_complex,N: nat,Nc: nat] :
      ( ( member_mat_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) @ ( carrier_mat_complex @ N @ Nc ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) ) ) ).

% addrow_carrier
thf(fact_210_index__mat__addrow_I4_J,axiom,
    ! [Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_addrow(4)
thf(fact_211_index__mat__addrow_I5_J,axiom,
    ! [Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_addrow(5)
thf(fact_212_index__mat__multcol_I3_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( K2 != J )
         => ( ( index_mat_a @ ( column_mat_multcol_a @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multcol(3)
thf(fact_213_index__mat__multcol_I3_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( K2 != J )
         => ( ( index_mat_complex @ ( column4410001698458707789omplex @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multcol(3)
thf(fact_214_index__mat__addcol_I3_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( K2 != J )
         => ( ( index_mat_a @ ( column_mat_addcol_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addcol(3)
thf(fact_215_index__mat__addcol_I3_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( K2 != J )
         => ( ( index_mat_complex @ ( column896436094548437152omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addcol(3)
thf(fact_216_swap__cols__rows__index,axiom,
    ! [I: nat,A: mat_a,J: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_row_a @ A ) )
         => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
           => ( ( ord_less_nat @ A2 @ ( dim_row_a @ A ) )
             => ( ( ord_less_nat @ B2 @ ( dim_row_a @ A ) )
               => ( ( index_mat_a @ ( column5129559316938501008rows_a @ A2 @ B2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ ( if_nat @ ( I = A2 ) @ B2 @ ( if_nat @ ( I = B2 ) @ A2 @ I ) ) @ ( if_nat @ ( J = A2 ) @ B2 @ ( if_nat @ ( J = B2 ) @ A2 @ J ) ) ) ) ) ) ) ) ) ) ) ).

% swap_cols_rows_index
thf(fact_217_swap__cols__rows__index,axiom,
    ! [I: nat,A: mat_complex,J: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_row_complex @ A ) )
         => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
           => ( ( ord_less_nat @ A2 @ ( dim_row_complex @ A ) )
             => ( ( ord_less_nat @ B2 @ ( dim_row_complex @ A ) )
               => ( ( index_mat_complex @ ( column7161609239796038556omplex @ A2 @ B2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ ( if_nat @ ( I = A2 ) @ B2 @ ( if_nat @ ( I = B2 ) @ A2 @ I ) ) @ ( if_nat @ ( J = A2 ) @ B2 @ ( if_nat @ ( J = B2 ) @ A2 @ J ) ) ) ) ) ) ) ) ) ) ) ).

% swap_cols_rows_index
thf(fact_218_index__mat__swapcols_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_a @ ( column2528828918332591333cols_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) )
          & ( ( K2 != J )
           => ( ( ( L = J )
               => ( ( index_mat_a @ ( column2528828918332591333cols_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ K2 ) ) ) )
              & ( ( L != J )
               => ( ( index_mat_a @ ( column2528828918332591333cols_a @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% index_mat_swapcols(1)
thf(fact_219_index__mat__swapcols_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_complex @ ( column4357519492343924999omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) )
          & ( ( K2 != J )
           => ( ( ( L = J )
               => ( ( index_mat_complex @ ( column4357519492343924999omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ K2 ) ) ) )
              & ( ( L != J )
               => ( ( index_mat_complex @ ( column4357519492343924999omplex @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ).

% index_mat_swapcols(1)
thf(fact_220_zero__prod__def,axiom,
    ( zero_z3979849011205770936at_nat
    = ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) ).

% zero_prod_def
thf(fact_221_zero__prod__def,axiom,
    ( zero_z631996502013145750omplex
    = ( produc6973218034000581911omplex @ zero_zero_nat @ zero_zero_complex ) ) ).

% zero_prod_def
thf(fact_222_zero__prod__def,axiom,
    ( zero_z6791906118007317398ex_nat
    = ( produc1369629321580543767ex_nat @ zero_zero_complex @ zero_zero_nat ) ) ).

% zero_prod_def
thf(fact_223_zero__prod__def,axiom,
    ( zero_z1220838019464432500omplex
    = ( produc101793102246108661omplex @ zero_zero_complex @ zero_zero_complex ) ) ).

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

% zero_less_iff_neq_zero
thf(fact_225_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

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

% not_less_zero
thf(fact_227_swapcols__carrier,axiom,
    ! [L: nat,K2: nat,A: mat_a,N: nat,M: nat] :
      ( ( member_mat_a @ ( column2528828918332591333cols_a @ L @ K2 @ A ) @ ( carrier_mat_a @ N @ M ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) ) ) ).

% swapcols_carrier
thf(fact_228_swapcols__carrier,axiom,
    ! [L: nat,K2: nat,A: mat_complex,N: nat,M: nat] :
      ( ( member_mat_complex @ ( column4357519492343924999omplex @ L @ K2 @ A ) @ ( carrier_mat_complex @ N @ M ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) ) ) ).

% swapcols_carrier
thf(fact_229_index__mat__swapcols_I2_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( column4357519492343924999omplex @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_swapcols(2)
thf(fact_230_index__mat__swapcols_I3_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( column4357519492343924999omplex @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_swapcols(3)
thf(fact_231_swap__cols__rows__carrier_I3_J,axiom,
    ! [A: mat_a,N: nat,K2: nat,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( member_mat_a @ ( column5129559316938501008rows_a @ K2 @ L @ A ) @ ( carrier_mat_a @ N @ N ) ) ) ).

% swap_cols_rows_carrier(3)
thf(fact_232_swap__cols__rows__carrier_I3_J,axiom,
    ! [A: mat_complex,N: nat,K2: nat,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( column7161609239796038556omplex @ K2 @ L @ A ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% swap_cols_rows_carrier(3)
thf(fact_233_swap__cols__rows__carrier_I1_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( column7161609239796038556omplex @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% swap_cols_rows_carrier(1)
thf(fact_234_swap__cols__rows__carrier_I2_J,axiom,
    ! [K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( column7161609239796038556omplex @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% swap_cols_rows_carrier(2)
thf(fact_235_index__mat__addcol_I4_J,axiom,
    ! [A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( column896436094548437152omplex @ A2 @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_addcol(4)
thf(fact_236_index__mat__addcol_I5_J,axiom,
    ! [A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( column896436094548437152omplex @ A2 @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_addcol(5)
thf(fact_237_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_238_zero__reorient,axiom,
    ! [X: complex] :
      ( ( zero_zero_complex = X )
      = ( X = zero_zero_complex ) ) ).

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

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

% mult.left_commute
thf(fact_241_mult_Ocommute,axiom,
    ( times_times_nat
    = ( ^ [A6: nat,B6: nat] : ( times_times_nat @ B6 @ A6 ) ) ) ).

% mult.commute
thf(fact_242_mult_Ocommute,axiom,
    ( times_times_complex
    = ( ^ [A6: complex,B6: complex] : ( times_times_complex @ B6 @ A6 ) ) ) ).

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

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

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

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

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_247_zero__order_I5_J,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

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

% gr_zeroI
thf(fact_249_index__mat__addcol_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_a @ ( column_mat_addcol_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( plus_plus_a @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_a @ ( column_mat_addcol_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_addcol(1)
thf(fact_250_index__mat__addcol_I1_J,axiom,
    ! [I: nat,A: mat_nat,J: nat,K2: nat,A2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_nat @ ( column5442440509538803650ol_nat @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( plus_plus_nat @ ( times_times_nat @ A2 @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_nat @ ( column5442440509538803650ol_nat @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_addcol(1)
thf(fact_251_index__mat__addcol_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = J )
           => ( ( index_mat_complex @ ( column896436094548437152omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( plus_plus_complex @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != J )
           => ( ( index_mat_complex @ ( column896436094548437152omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_addcol(1)
thf(fact_252_index__mat__addcol_I2_J,axiom,
    ! [I: nat,A: mat_a,J: nat,A2: a,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( column_mat_addcol_a @ A2 @ J @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_a @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addcol(2)
thf(fact_253_index__mat__addcol_I2_J,axiom,
    ! [I: nat,A: mat_nat,J: nat,A2: nat,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
       => ( ( index_mat_nat @ ( column5442440509538803650ol_nat @ A2 @ J @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_nat @ ( times_times_nat @ A2 @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addcol(2)
thf(fact_254_index__mat__addcol_I2_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,A2: complex,L: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( column896436094548437152omplex @ A2 @ J @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_complex @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ L ) ) ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_addcol(2)
thf(fact_255_addcol__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,K2: nat,A2: a,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( column_mat_addcol_a @ A2 @ L @ K2 @ A )
          = ( times_times_mat_a @ A @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K2 @ L ) ) ) ) ) ).

% addcol_mat
thf(fact_256_addcol__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,K2: nat,A2: complex,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( column896436094548437152omplex @ A2 @ L @ K2 @ A )
          = ( times_8009071140041733218omplex @ A @ ( gauss_947198734564870628omplex @ N @ A2 @ K2 @ L ) ) ) ) ) ).

% addcol_mat
thf(fact_257_rel__simps_I70_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% rel_simps(70)
thf(fact_258_mult__delta__right,axiom,
    ! [B2: $o,X: nat,Y3: nat] :
      ( ( B2
       => ( ( times_times_nat @ X @ ( if_nat @ B2 @ Y3 @ zero_zero_nat ) )
          = ( times_times_nat @ X @ Y3 ) ) )
      & ( ~ B2
       => ( ( times_times_nat @ X @ ( if_nat @ B2 @ Y3 @ zero_zero_nat ) )
          = zero_zero_nat ) ) ) ).

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

% mult_delta_right
thf(fact_260_mult__delta__left,axiom,
    ! [B2: $o,X: nat,Y3: nat] :
      ( ( B2
       => ( ( times_times_nat @ ( if_nat @ B2 @ X @ zero_zero_nat ) @ Y3 )
          = ( times_times_nat @ X @ Y3 ) ) )
      & ( ~ B2
       => ( ( times_times_nat @ ( if_nat @ B2 @ X @ zero_zero_nat ) @ Y3 )
          = zero_zero_nat ) ) ) ).

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

% mult_delta_left
thf(fact_262_semiring__norm_I50_J,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A2 )
      = A2 ) ).

% semiring_norm(50)
thf(fact_263_semiring__norm_I50_J,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ zero_zero_complex @ A2 )
      = A2 ) ).

% semiring_norm(50)
thf(fact_264_semiring__norm_I51_J,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

% semiring_norm(51)
thf(fact_265_semiring__norm_I51_J,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ A2 @ zero_zero_complex )
      = A2 ) ).

% semiring_norm(51)
thf(fact_266_add__Pair,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( plus_p9057090461656269880at_nat @ ( product_Pair_nat_nat @ A2 @ B2 ) @ ( product_Pair_nat_nat @ C2 @ D2 ) )
      = ( product_Pair_nat_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_267_add__Pair,axiom,
    ! [A2: nat,B2: mat_complex,C2: nat,D2: mat_complex] :
      ( ( plus_p8221215230258962133omplex @ ( produc4998868960714853886omplex @ A2 @ B2 ) @ ( produc4998868960714853886omplex @ C2 @ D2 ) )
      = ( produc4998868960714853886omplex @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_p8323303612493835998omplex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_268_add__Pair,axiom,
    ! [A2: nat,B2: complex,C2: nat,D2: complex] :
      ( ( plus_p2662851680688351254omplex @ ( produc6973218034000581911omplex @ A2 @ B2 ) @ ( produc6973218034000581911omplex @ C2 @ D2 ) )
      = ( produc6973218034000581911omplex @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_269_add__Pair,axiom,
    ! [A2: mat_complex,B2: nat,C2: mat_complex,D2: nat] :
      ( ( plus_p679445643052534703ex_nat @ ( produc3916067632315525152ex_nat @ A2 @ B2 ) @ ( produc3916067632315525152ex_nat @ C2 @ D2 ) )
      = ( produc3916067632315525152ex_nat @ ( plus_p8323303612493835998omplex @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_270_add__Pair,axiom,
    ! [A2: mat_complex,B2: mat_complex,C2: mat_complex,D2: mat_complex] :
      ( ( plus_p6104634242915576478omplex @ ( produc3658446505030690647omplex @ A2 @ B2 ) @ ( produc3658446505030690647omplex @ C2 @ D2 ) )
      = ( produc3658446505030690647omplex @ ( plus_p8323303612493835998omplex @ A2 @ C2 ) @ ( plus_p8323303612493835998omplex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_271_add__Pair,axiom,
    ! [A2: mat_complex,B2: complex,C2: mat_complex,D2: complex] :
      ( ( plus_p4150393108391002509omplex @ ( produc5669106556224566526omplex @ A2 @ B2 ) @ ( produc5669106556224566526omplex @ C2 @ D2 ) )
      = ( produc5669106556224566526omplex @ ( plus_p8323303612493835998omplex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_272_add__Pair,axiom,
    ! [A2: complex,B2: nat,C2: complex,D2: nat] :
      ( ( plus_p8822761296682522902ex_nat @ ( produc1369629321580543767ex_nat @ A2 @ B2 ) @ ( produc1369629321580543767ex_nat @ C2 @ D2 ) )
      = ( produc1369629321580543767ex_nat @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_273_add__Pair,axiom,
    ! [A2: complex,B2: mat_complex,C2: complex,D2: mat_complex] :
      ( ( plus_p5848738349690176631omplex @ ( produc7591729284011983776omplex @ A2 @ B2 ) @ ( produc7591729284011983776omplex @ C2 @ D2 ) )
      = ( produc7591729284011983776omplex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_p8323303612493835998omplex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_274_add__Pair,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( plus_p5556647371860852980omplex @ ( produc101793102246108661omplex @ A2 @ B2 ) @ ( produc101793102246108661omplex @ C2 @ D2 ) )
      = ( produc101793102246108661omplex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ).

% add_Pair
thf(fact_275_group__cancel_Orule0,axiom,
    ! [A2: nat] :
      ( A2
      = ( plus_plus_nat @ A2 @ zero_zero_nat ) ) ).

% group_cancel.rule0
thf(fact_276_group__cancel_Orule0,axiom,
    ! [A2: complex] :
      ( A2
      = ( plus_plus_complex @ A2 @ zero_zero_complex ) ) ).

% group_cancel.rule0
thf(fact_277_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_278_comm__monoid__add__class_Oadd__0,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ zero_zero_complex @ A2 )
      = A2 ) ).

% comm_monoid_add_class.add_0
thf(fact_279_add_Ogroup__left__neutral,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ zero_zero_complex @ A2 )
      = A2 ) ).

% add.group_left_neutral
thf(fact_280_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_281_add__cancel__left__left,axiom,
    ! [B2: complex,A2: complex] :
      ( ( ( plus_plus_complex @ B2 @ A2 )
        = A2 )
      = ( B2 = zero_zero_complex ) ) ).

% add_cancel_left_left
thf(fact_282_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_283_add__cancel__left__right,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = A2 )
      = ( B2 = zero_zero_complex ) ) ).

% add_cancel_left_right
thf(fact_284_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_285_add__cancel__right__left,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2
        = ( plus_plus_complex @ B2 @ A2 ) )
      = ( B2 = zero_zero_complex ) ) ).

% add_cancel_right_left
thf(fact_286_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_287_add__cancel__right__right,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2
        = ( plus_plus_complex @ A2 @ B2 ) )
      = ( B2 = zero_zero_complex ) ) ).

% add_cancel_right_right
thf(fact_288_add__eq__0__iff__both__eq__0,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ( plus_plus_nat @ X @ Y3 )
        = zero_zero_nat )
      = ( ( X = zero_zero_nat )
        & ( Y3 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_289_zero__eq__add__iff__both__eq__0,axiom,
    ! [X: nat,Y3: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X @ Y3 ) )
      = ( ( X = zero_zero_nat )
        & ( Y3 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_290_Rings_Oring__distribs_I2_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C2 )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ C2 ) ) ) ).

% Rings.ring_distribs(2)
thf(fact_291_Rings_Oring__distribs_I2_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ).

% Rings.ring_distribs(2)
thf(fact_292_Rings_Oring__distribs_I1_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( times_times_nat @ A2 @ ( plus_plus_nat @ B2 @ C2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ B2 ) @ ( times_times_nat @ A2 @ C2 ) ) ) ).

% Rings.ring_distribs(1)
thf(fact_293_Rings_Oring__distribs_I1_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C2 ) ) ) ).

% Rings.ring_distribs(1)
thf(fact_294_ring__class_Oring__distribs_I2_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_295_ring__class_Oring__distribs_I1_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C2 ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_296_comm__semiring__class_Odistrib,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C2 )
      = ( plus_plus_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ C2 ) ) ) ).

% comm_semiring_class.distrib
thf(fact_297_comm__semiring__class_Odistrib,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ).

% comm_semiring_class.distrib
thf(fact_298_combine__common__factor,axiom,
    ! [A2: nat,E: nat,B2: nat,C2: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ A2 @ E ) @ ( plus_plus_nat @ ( times_times_nat @ B2 @ E ) @ C2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ A2 @ B2 ) @ E ) @ C2 ) ) ).

% combine_common_factor
thf(fact_299_combine__common__factor,axiom,
    ! [A2: complex,E: complex,B2: complex,C2: complex] :
      ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ C2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ E ) @ C2 ) ) ).

% combine_common_factor
thf(fact_300_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: complex,J: complex,K2: complex,L: complex] :
      ( ( ( ord_less_complex @ I @ J )
        & ( ord_less_complex @ K2 @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I @ K2 ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_301_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_302_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: complex,J: complex,K2: complex,L: complex] :
      ( ( ( I = J )
        & ( ord_less_complex @ K2 @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I @ K2 ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_303_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_304_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: complex,J: complex,K2: complex,L: complex] :
      ( ( ( ord_less_complex @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I @ K2 ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_305_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_306_add__strict__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_less_complex @ A2 @ B2 )
     => ( ( ord_less_complex @ C2 @ D2 )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_307_add__strict__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_308_add__less__cancel__left,axiom,
    ! [C2: complex,A2: complex,B2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ C2 @ A2 ) @ ( plus_plus_complex @ C2 @ B2 ) )
      = ( ord_less_complex @ A2 @ B2 ) ) ).

% add_less_cancel_left
thf(fact_309_add__less__cancel__left,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_cancel_left
thf(fact_310_add__strict__left__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ A2 @ B2 )
     => ( ord_less_complex @ ( plus_plus_complex @ C2 @ A2 ) @ ( plus_plus_complex @ C2 @ B2 ) ) ) ).

% add_strict_left_mono
thf(fact_311_add__strict__left__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B2 ) ) ) ).

% add_strict_left_mono
thf(fact_312_add__less__cancel__right,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ C2 ) )
      = ( ord_less_complex @ A2 @ B2 ) ) ).

% add_less_cancel_right
thf(fact_313_add__less__cancel__right,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ C2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_cancel_right
thf(fact_314_add__strict__right__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ A2 @ B2 )
     => ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_315_add__strict__right__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_316_add__less__imp__less__left,axiom,
    ! [C2: complex,A2: complex,B2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ C2 @ A2 ) @ ( plus_plus_complex @ C2 @ B2 ) )
     => ( ord_less_complex @ A2 @ B2 ) ) ).

% add_less_imp_less_left
thf(fact_317_add__less__imp__less__left,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B2 ) )
     => ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_imp_less_left
thf(fact_318_add__less__imp__less__right,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ C2 ) )
     => ( ord_less_complex @ A2 @ B2 ) ) ).

% add_less_imp_less_right
thf(fact_319_add__less__imp__less__right,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ C2 ) )
     => ( ord_less_nat @ A2 @ B2 ) ) ).

% add_less_imp_less_right
thf(fact_320_add__carrier__mat,axiom,
    ! [B: mat_a,Nr: nat,Nc: nat,A: mat_a] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( plus_plus_mat_a @ A @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% add_carrier_mat
thf(fact_321_add__carrier__mat,axiom,
    ! [B: mat_complex,Nr: nat,Nc: nat,A: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% add_carrier_mat
thf(fact_322_assoc__add__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr @ Nc ) )
         => ( ( plus_plus_mat_a @ ( plus_plus_mat_a @ A @ B ) @ C )
            = ( plus_plus_mat_a @ A @ ( plus_plus_mat_a @ B @ C ) ) ) ) ) ) ).

% assoc_add_mat
thf(fact_323_assoc__add__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr @ Nc ) )
         => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ C )
            = ( plus_p8323303612493835998omplex @ A @ ( plus_p8323303612493835998omplex @ B @ C ) ) ) ) ) ) ).

% assoc_add_mat
thf(fact_324_comm__add__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( plus_plus_mat_a @ A @ B )
          = ( plus_plus_mat_a @ B @ A ) ) ) ) ).

% comm_add_mat
thf(fact_325_comm__add__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( plus_p8323303612493835998omplex @ A @ B )
          = ( plus_p8323303612493835998omplex @ B @ A ) ) ) ) ).

% comm_add_mat
thf(fact_326_add__carrier__mat_H,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( member_mat_a @ ( plus_plus_mat_a @ A @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% add_carrier_mat'
thf(fact_327_add__carrier__mat_H,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( member_mat_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% add_carrier_mat'
thf(fact_328_swap__plus__mat,axiom,
    ! [A: mat_a,N: nat,B: mat_a,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ N ) )
         => ( ( plus_plus_mat_a @ ( plus_plus_mat_a @ A @ B ) @ C )
            = ( plus_plus_mat_a @ ( plus_plus_mat_a @ A @ C ) @ B ) ) ) ) ) ).

% swap_plus_mat
thf(fact_329_swap__plus__mat,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ C )
            = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ C ) @ B ) ) ) ) ) ).

% swap_plus_mat
thf(fact_330_index__add__mat_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( dim_row_complex @ ( plus_p8323303612493835998omplex @ A @ B ) )
      = ( dim_row_complex @ B ) ) ).

% index_add_mat(2)
thf(fact_331_index__add__mat_I3_J,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( dim_col_complex @ ( plus_p8323303612493835998omplex @ A @ B ) )
      = ( dim_col_complex @ B ) ) ).

% index_add_mat(3)
thf(fact_332_conjugate__dist__add,axiom,
    ! [A2: complex,B2: complex] :
      ( ( conjug1878831970375765195omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( conjug1878831970375765195omplex @ A2 ) @ ( conjug1878831970375765195omplex @ B2 ) ) ) ).

% conjugate_dist_add
thf(fact_333_col__add,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a,J: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( col_a @ ( plus_plus_mat_a @ A @ B ) @ J )
            = ( plus_plus_vec_a @ ( col_a @ A @ J ) @ ( col_a @ B @ J ) ) ) ) ) ) ).

% col_add
thf(fact_334_col__add,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( ord_less_nat @ J @ Nc )
         => ( ( col_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ J )
            = ( plus_p3079357308422357842omplex @ ( col_complex @ A @ J ) @ ( col_complex @ B @ J ) ) ) ) ) ) ).

% col_add
thf(fact_335_row__add_I1_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a,I: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( row_a @ ( plus_plus_mat_a @ A @ B ) @ I )
            = ( plus_plus_vec_a @ ( row_a @ A @ I ) @ ( row_a @ B @ I ) ) ) ) ) ) ).

% row_add(1)
thf(fact_336_row__add_I1_J,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex,I: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( row_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ I )
            = ( plus_p3079357308422357842omplex @ ( row_complex @ A @ I ) @ ( row_complex @ B @ I ) ) ) ) ) ) ).

% row_add(1)
thf(fact_337_addrow__mat__carrier,axiom,
    ! [N: nat,A2: a,K2: nat,L: nat] : ( member_mat_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K2 @ L ) @ ( carrier_mat_a @ N @ N ) ) ).

% addrow_mat_carrier
thf(fact_338_addrow__mat__carrier,axiom,
    ! [N: nat,A2: complex,K2: nat,L: nat] : ( member_mat_complex @ ( gauss_947198734564870628omplex @ N @ A2 @ K2 @ L ) @ ( carrier_mat_complex @ N @ N ) ) ).

% addrow_mat_carrier
thf(fact_339_index__mat__addrow__mat_I2_J,axiom,
    ! [N: nat,A2: complex,K2: nat,L: nat] :
      ( ( dim_row_complex @ ( gauss_947198734564870628omplex @ N @ A2 @ K2 @ L ) )
      = N ) ).

% index_mat_addrow_mat(2)
thf(fact_340_index__mat__addrow__mat_I3_J,axiom,
    ! [N: nat,A2: complex,K2: nat,L: nat] :
      ( ( dim_col_complex @ ( gauss_947198734564870628omplex @ N @ A2 @ K2 @ L ) )
      = N ) ).

% index_mat_addrow_mat(3)
thf(fact_341_row__add_I2_J,axiom,
    ! [I: nat,A: mat_a,B: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ( dim_row_a @ B )
          = ( dim_row_a @ A ) )
       => ( ( ( dim_col_a @ B )
            = ( dim_col_a @ A ) )
         => ( ( row_a @ ( plus_plus_mat_a @ A @ B ) @ I )
            = ( plus_plus_vec_a @ ( row_a @ A @ I ) @ ( row_a @ B @ I ) ) ) ) ) ) ).

% row_add(2)
thf(fact_342_row__add_I2_J,axiom,
    ! [I: nat,A: mat_complex,B: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ( dim_row_complex @ B )
          = ( dim_row_complex @ A ) )
       => ( ( ( dim_col_complex @ B )
            = ( dim_col_complex @ A ) )
         => ( ( row_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ I )
            = ( plus_p3079357308422357842omplex @ ( row_complex @ A @ I ) @ ( row_complex @ B @ I ) ) ) ) ) ) ).

% row_add(2)
thf(fact_343_add__sign__intros_I6_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_complex @ B2 @ zero_zero_complex )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% add_sign_intros(6)
thf(fact_344_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_345_add__sign__intros_I2_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_complex @ zero_zero_complex @ B2 )
       => ( ord_less_complex @ zero_zero_complex @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

% add_sign_intros(2)
thf(fact_346_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_347_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_348_pos__add__strict,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_complex @ B2 @ C2 )
       => ( ord_less_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) ) ) ) ).

% pos_add_strict
thf(fact_349_pos__add__strict,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ord_less_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% pos_add_strict
thf(fact_350_add__less__same__cancel1,axiom,
    ! [B2: complex,A2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ B2 @ A2 ) @ B2 )
      = ( ord_less_complex @ A2 @ zero_zero_complex ) ) ).

% add_less_same_cancel1
thf(fact_351_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_352_add__less__same__cancel2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ A2 @ B2 ) @ B2 )
      = ( ord_less_complex @ A2 @ zero_zero_complex ) ) ).

% add_less_same_cancel2
thf(fact_353_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_354_less__add__same__cancel1,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( ord_less_complex @ zero_zero_complex @ B2 ) ) ).

% less_add_same_cancel1
thf(fact_355_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_356_less__add__same__cancel2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ ( plus_plus_complex @ B2 @ A2 ) )
      = ( ord_less_complex @ zero_zero_complex @ B2 ) ) ).

% less_add_same_cancel2
thf(fact_357_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_358_mult__add__distrib__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ A @ ( plus_plus_mat_a @ B @ C ) )
            = ( plus_plus_mat_a @ ( times_times_mat_a @ A @ B ) @ ( times_times_mat_a @ A @ C ) ) ) ) ) ) ).

% mult_add_distrib_mat
thf(fact_359_mult__add__distrib__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ A @ ( plus_p8323303612493835998omplex @ B @ C ) )
            = ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A @ B ) @ ( times_8009071140041733218omplex @ A @ C ) ) ) ) ) ) ).

% mult_add_distrib_mat
thf(fact_360_add__mult__distrib__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,C: mat_a,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ N ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ ( plus_plus_mat_a @ A @ B ) @ C )
            = ( plus_plus_mat_a @ ( times_times_mat_a @ A @ C ) @ ( times_times_mat_a @ B @ C ) ) ) ) ) ) ).

% add_mult_distrib_mat
thf(fact_361_add__mult__distrib__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,C: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ C )
            = ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A @ C ) @ ( times_8009071140041733218omplex @ B @ C ) ) ) ) ) ) ).

% add_mult_distrib_mat
thf(fact_362_adjoint__add,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ M ) )
       => ( ( schur_mat_adjoint_a @ ( plus_plus_mat_a @ A @ B ) )
          = ( plus_plus_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( schur_mat_adjoint_a @ B ) ) ) ) ) ).

% adjoint_add
thf(fact_363_adjoint__add,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ M ) )
       => ( ( schur_5982229384592763574omplex @ ( plus_p8323303612493835998omplex @ A @ B ) )
          = ( plus_p8323303612493835998omplex @ ( schur_5982229384592763574omplex @ A ) @ ( schur_5982229384592763574omplex @ B ) ) ) ) ) ).

% adjoint_add
thf(fact_364_index__add__mat_I1_J,axiom,
    ! [I: nat,B: mat_a,J: nat,A: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ B ) )
       => ( ( index_mat_a @ ( plus_plus_mat_a @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_add_mat(1)
thf(fact_365_index__add__mat_I1_J,axiom,
    ! [I: nat,B: mat_nat,J: nat,A: mat_nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ B ) )
       => ( ( index_mat_nat @ ( plus_plus_mat_nat @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_nat @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_nat @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_add_mat(1)
thf(fact_366_index__add__mat_I1_J,axiom,
    ! [I: nat,B: mat_mat_complex,J: nat,A: mat_mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_complex @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_mat_complex @ B ) )
       => ( ( index_7093623372566408491omplex @ ( plus_p8504688029521939981omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_p8323303612493835998omplex @ ( index_7093623372566408491omplex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_7093623372566408491omplex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_add_mat(1)
thf(fact_367_index__add__mat_I1_J,axiom,
    ! [I: nat,B: mat_complex,J: nat,A: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ B ) )
       => ( ( index_mat_complex @ ( plus_p8323303612493835998omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( plus_plus_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_add_mat(1)
thf(fact_368_addrow__mat,axiom,
    ! [A: mat_a,N: nat,Nc: nat,L: nat,A2: a,K2: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) )
     => ( ( ord_less_nat @ L @ N )
       => ( ( gauss_3441994962245461172_gen_a @ plus_plus_a @ times_times_a @ A2 @ K2 @ L @ A )
          = ( times_times_mat_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K2 @ L ) @ A ) ) ) ) ).

% addrow_mat
thf(fact_369_addrow__mat,axiom,
    ! [A: mat_nat,N: nat,Nc: nat,L: nat,A2: nat,K2: nat] :
      ( ( member_mat_nat @ A @ ( carrier_mat_nat @ N @ Nc ) )
     => ( ( ord_less_nat @ L @ N )
       => ( ( gauss_8885043348566651034en_nat @ plus_plus_nat @ times_times_nat @ A2 @ K2 @ L @ A )
          = ( times_times_mat_nat @ ( gauss_6496870380031412486at_nat @ N @ A2 @ K2 @ L ) @ A ) ) ) ) ).

% addrow_mat
thf(fact_370_addrow__mat,axiom,
    ! [A: mat_complex,N: nat,Nc: nat,L: nat,A2: complex,K2: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) )
     => ( ( ord_less_nat @ L @ N )
       => ( ( gauss_5252963565656066424omplex @ plus_plus_complex @ times_times_complex @ A2 @ K2 @ L @ A )
          = ( times_8009071140041733218omplex @ ( gauss_947198734564870628omplex @ N @ A2 @ K2 @ L ) @ A ) ) ) ) ).

% addrow_mat
thf(fact_371_nat__mult__eq__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ( times_times_nat @ K2 @ M )
          = ( times_times_nat @ K2 @ N ) )
        = ( M = N ) ) ) ).

% nat_mult_eq_cancel1
thf(fact_372_nat__mult__less__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ord_less_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
        = ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel1
thf(fact_373_nat__mult__less__cancel__disj,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
        & ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel_disj
thf(fact_374_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: nat,Y3: nat,C2: nat] :
      ( ( ( plus_plus_nat @ X @ Y3 )
        = zero_zero_nat )
     => ( ( plus_plus_nat @ ( times_times_nat @ C2 @ X ) @ ( times_times_nat @ C2 @ Y3 ) )
        = zero_zero_nat ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_375_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: complex,Y3: complex,C2: complex] :
      ( ( ( plus_plus_complex @ X @ Y3 )
        = zero_zero_complex )
     => ( ( plus_plus_complex @ ( times_times_complex @ C2 @ X ) @ ( times_times_complex @ C2 @ Y3 ) )
        = zero_zero_complex ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_376_add__scale__eq__noteq,axiom,
    ! [R: nat,A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( R != zero_zero_nat )
     => ( ( ( A2 = B2 )
          & ( C2 != D2 ) )
       => ( ( plus_plus_nat @ A2 @ ( times_times_nat @ R @ C2 ) )
         != ( plus_plus_nat @ B2 @ ( times_times_nat @ R @ D2 ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_377_add__scale__eq__noteq,axiom,
    ! [R: complex,A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( R != zero_zero_complex )
     => ( ( ( A2 = B2 )
          & ( C2 != D2 ) )
       => ( ( plus_plus_complex @ A2 @ ( times_times_complex @ R @ C2 ) )
         != ( plus_plus_complex @ B2 @ ( times_times_complex @ R @ D2 ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_378_crossproduct__noteq,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ( A2 != B2 )
        & ( C2 != D2 ) )
      = ( ( plus_plus_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) )
       != ( plus_plus_nat @ ( times_times_nat @ A2 @ D2 ) @ ( times_times_nat @ B2 @ C2 ) ) ) ) ).

% crossproduct_noteq
thf(fact_379_crossproduct__noteq,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ( A2 != B2 )
        & ( C2 != D2 ) )
      = ( ( plus_plus_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ D2 ) )
       != ( plus_plus_complex @ ( times_times_complex @ A2 @ D2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ) ).

% crossproduct_noteq
thf(fact_380_crossproduct__eq,axiom,
    ! [W: nat,Y3: nat,X: nat,Z2: nat] :
      ( ( ( plus_plus_nat @ ( times_times_nat @ W @ Y3 ) @ ( times_times_nat @ X @ Z2 ) )
        = ( plus_plus_nat @ ( times_times_nat @ W @ Z2 ) @ ( times_times_nat @ X @ Y3 ) ) )
      = ( ( W = X )
        | ( Y3 = Z2 ) ) ) ).

% crossproduct_eq
thf(fact_381_crossproduct__eq,axiom,
    ! [W: complex,Y3: complex,X: complex,Z2: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ W @ Y3 ) @ ( times_times_complex @ X @ Z2 ) )
        = ( plus_plus_complex @ ( times_times_complex @ W @ Z2 ) @ ( times_times_complex @ X @ Y3 ) ) )
      = ( ( W = X )
        | ( Y3 = Z2 ) ) ) ).

% crossproduct_eq
thf(fact_382_vector__space__over__itself_Oscale__right__distrib,axiom,
    ! [A2: complex,X: complex,Y3: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ X @ Y3 ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ A2 @ Y3 ) ) ) ).

% vector_space_over_itself.scale_right_distrib
thf(fact_383_vector__space__over__itself_Oscale__left__distrib,axiom,
    ! [A2: complex,B2: complex,X: complex] :
      ( ( times_times_complex @ ( plus_plus_complex @ A2 @ B2 ) @ X )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ B2 @ X ) ) ) ).

% vector_space_over_itself.scale_left_distrib
thf(fact_384_mult__hom_Ohom__add,axiom,
    ! [C2: nat,X: nat,Y3: nat] :
      ( ( times_times_nat @ C2 @ ( plus_plus_nat @ X @ Y3 ) )
      = ( plus_plus_nat @ ( times_times_nat @ C2 @ X ) @ ( times_times_nat @ C2 @ Y3 ) ) ) ).

% mult_hom.hom_add
thf(fact_385_mult__hom_Ohom__add,axiom,
    ! [C2: complex,X: complex,Y3: complex] :
      ( ( times_times_complex @ C2 @ ( plus_plus_complex @ X @ Y3 ) )
      = ( plus_plus_complex @ ( times_times_complex @ C2 @ X ) @ ( times_times_complex @ C2 @ Y3 ) ) ) ).

% mult_hom.hom_add
thf(fact_386_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A2: nat,B2: nat] :
      ( ! [A4: nat,B4: nat] :
          ( ( P @ A4 @ B4 )
          = ( P @ B4 @ A4 ) )
     => ( ! [A4: nat] : ( P @ A4 @ zero_zero_nat )
       => ( ! [A4: nat,B4: nat] :
              ( ( P @ A4 @ B4 )
             => ( P @ A4 @ ( plus_plus_nat @ A4 @ B4 ) ) )
         => ( P @ A2 @ B2 ) ) ) ) ).

% Euclid_induct
thf(fact_387_vector__space__over__itself_Oscale__left__commute,axiom,
    ! [A2: complex,B2: complex,X: complex] :
      ( ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ X ) )
      = ( times_times_complex @ B2 @ ( times_times_complex @ A2 @ X ) ) ) ).

% vector_space_over_itself.scale_left_commute
thf(fact_388_vector__space__over__itself_Oscale__scale,axiom,
    ! [A2: complex,B2: complex,X: complex] :
      ( ( times_times_complex @ A2 @ ( times_times_complex @ B2 @ X ) )
      = ( times_times_complex @ ( times_times_complex @ A2 @ B2 ) @ X ) ) ).

% vector_space_over_itself.scale_scale
thf(fact_389_vector__space__over__itself_Oscale__right__imp__eq,axiom,
    ! [X: complex,A2: complex,B2: complex] :
      ( ( X != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ X )
          = ( times_times_complex @ B2 @ X ) )
       => ( A2 = B2 ) ) ) ).

% vector_space_over_itself.scale_right_imp_eq
thf(fact_390_vector__space__over__itself_Oscale__cancel__right,axiom,
    ! [A2: complex,X: complex,B2: complex] :
      ( ( ( times_times_complex @ A2 @ X )
        = ( times_times_complex @ B2 @ X ) )
      = ( ( A2 = B2 )
        | ( X = zero_zero_complex ) ) ) ).

% vector_space_over_itself.scale_cancel_right
thf(fact_391_vector__space__over__itself_Oscale__left__imp__eq,axiom,
    ! [A2: complex,X: complex,Y3: complex] :
      ( ( A2 != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ X )
          = ( times_times_complex @ A2 @ Y3 ) )
       => ( X = Y3 ) ) ) ).

% vector_space_over_itself.scale_left_imp_eq
thf(fact_392_vector__space__over__itself_Oscale__cancel__left,axiom,
    ! [A2: complex,X: complex,Y3: complex] :
      ( ( ( times_times_complex @ A2 @ X )
        = ( times_times_complex @ A2 @ Y3 ) )
      = ( ( X = Y3 )
        | ( A2 = zero_zero_complex ) ) ) ).

% vector_space_over_itself.scale_cancel_left
thf(fact_393_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_394_vector__space__over__itself_Oscale__zero__left,axiom,
    ! [X: complex] :
      ( ( times_times_complex @ zero_zero_complex @ X )
      = zero_zero_complex ) ).

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

% vector_space_over_itself.scale_eq_0_iff
thf(fact_396_mult__hom_Ohom__zero,axiom,
    ! [C2: nat] :
      ( ( times_times_nat @ C2 @ zero_zero_nat )
      = zero_zero_nat ) ).

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

% mult_hom.hom_zero
thf(fact_398_add__0__iff,axiom,
    ! [B2: nat,A2: nat] :
      ( ( B2
        = ( plus_plus_nat @ B2 @ A2 ) )
      = ( A2 = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_399_add__0__iff,axiom,
    ! [B2: complex,A2: complex] :
      ( ( B2
        = ( plus_plus_complex @ B2 @ A2 ) )
      = ( A2 = zero_zero_complex ) ) ).

% add_0_iff
thf(fact_400_nat__0__less__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_401_mult__less__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel2
thf(fact_402_mult__less__mono2,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_nat @ ( times_times_nat @ K2 @ I ) @ ( times_times_nat @ K2 @ J ) ) ) ) ).

% mult_less_mono2
thf(fact_403_mult__less__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_nat @ ( times_times_nat @ I @ K2 ) @ ( times_times_nat @ J @ K2 ) ) ) ) ).

% mult_less_mono1
thf(fact_404_bot__nat__0_Oextremum__strict,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_405_add__lessD1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K2 )
     => ( ord_less_nat @ I @ K2 ) ) ).

% add_lessD1
thf(fact_406_add__less__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K2 @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_less_mono
thf(fact_407_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_408_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_409_add__less__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% add_less_mono1
thf(fact_410_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_411_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_412_less__add__eq__less,axiom,
    ! [K2: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K2 @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K2 @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_413_nat__add__left__cancel__less,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_414_linorder__neqE__nat,axiom,
    ! [X: nat,Y3: nat] :
      ( ( X != Y3 )
     => ( ~ ( ord_less_nat @ X @ Y3 )
       => ( ord_less_nat @ Y3 @ X ) ) ) ).

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

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

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

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

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

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

% less_not_refl
thf(fact_421_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

% nat_neq_iff
thf(fact_422_add__gr__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_423_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I @ K3 )
            = J ) ) ) ).

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

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

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

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

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

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

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

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

% gr0I
thf(fact_432_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_433_verit__sum__simplify,axiom,
    ! [A2: nat] :
      ( ( plus_plus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

% verit_sum_simplify
thf(fact_434_verit__sum__simplify,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ A2 @ zero_zero_complex )
      = A2 ) ).

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

% verit_comp_simplify(1)
thf(fact_436_pth__7_I2_J,axiom,
    ! [X: complex] :
      ( ( plus_plus_complex @ X @ zero_zero_complex )
      = X ) ).

% pth_7(2)
thf(fact_437_pth__7_I1_J,axiom,
    ! [X: complex] :
      ( ( plus_plus_complex @ zero_zero_complex @ X )
      = X ) ).

% pth_7(1)
thf(fact_438_eq__add__iff,axiom,
    ! [X: complex,Y3: complex] :
      ( ( X
        = ( plus_plus_complex @ X @ Y3 ) )
      = ( Y3 = zero_zero_complex ) ) ).

% eq_add_iff
thf(fact_439_pivot__funD_I2_J,axiom,
    ! [A: mat_a,Nr: nat,F: nat > nat,Nc: nat,I: nat,J: nat] :
      ( ( ( dim_row_a @ A )
        = Nr )
     => ( ( gauss_3598389698021192302_fun_a @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ J @ ( F @ I ) )
           => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) )
              = zero_zero_a ) ) ) ) ) ).

% pivot_funD(2)
thf(fact_440_pivot__funD_I2_J,axiom,
    ! [A: mat_nat,Nr: nat,F: nat > nat,Nc: nat,I: nat,J: nat] :
      ( ( ( dim_row_nat @ A )
        = Nr )
     => ( ( gauss_8416567519840421984un_nat @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ J @ ( F @ I ) )
           => ( ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) )
              = zero_zero_nat ) ) ) ) ) ).

% pivot_funD(2)
thf(fact_441_pivot__funD_I2_J,axiom,
    ! [A: mat_complex,Nr: nat,F: nat > nat,Nc: nat,I: nat,J: nat] :
      ( ( ( dim_row_complex @ A )
        = Nr )
     => ( ( gauss_2609248829700396350omplex @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ J @ ( F @ I ) )
           => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) )
              = zero_zero_complex ) ) ) ) ) ).

% pivot_funD(2)
thf(fact_442_pivot__funD_I5_J,axiom,
    ! [A: mat_a,Nr: nat,F: nat > nat,Nc: nat,I: nat,I4: nat] :
      ( ( ( dim_row_a @ A )
        = Nr )
     => ( ( gauss_3598389698021192302_fun_a @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ ( F @ I ) @ Nc )
           => ( ( ord_less_nat @ I4 @ Nr )
             => ( ( I4 != I )
               => ( ( index_mat_a @ A @ ( product_Pair_nat_nat @ I4 @ ( F @ I ) ) )
                  = zero_zero_a ) ) ) ) ) ) ) ).

% pivot_funD(5)
thf(fact_443_pivot__funD_I5_J,axiom,
    ! [A: mat_nat,Nr: nat,F: nat > nat,Nc: nat,I: nat,I4: nat] :
      ( ( ( dim_row_nat @ A )
        = Nr )
     => ( ( gauss_8416567519840421984un_nat @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ ( F @ I ) @ Nc )
           => ( ( ord_less_nat @ I4 @ Nr )
             => ( ( I4 != I )
               => ( ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I4 @ ( F @ I ) ) )
                  = zero_zero_nat ) ) ) ) ) ) ) ).

% pivot_funD(5)
thf(fact_444_pivot__funD_I5_J,axiom,
    ! [A: mat_complex,Nr: nat,F: nat > nat,Nc: nat,I: nat,I4: nat] :
      ( ( ( dim_row_complex @ A )
        = Nr )
     => ( ( gauss_2609248829700396350omplex @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ( ord_less_nat @ ( F @ I ) @ Nc )
           => ( ( ord_less_nat @ I4 @ Nr )
             => ( ( I4 != I )
               => ( ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I4 @ ( F @ I ) ) )
                  = zero_zero_complex ) ) ) ) ) ) ) ).

% pivot_funD(5)
thf(fact_445_index__mat__multrow_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,Mul: a > a > a,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_a @ ( gauss_5154200947219177641_gen_a @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( Mul @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != I )
           => ( ( index_mat_a @ ( gauss_5154200947219177641_gen_a @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_multrow(1)
thf(fact_446_index__mat__multrow_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,Mul: complex > complex > complex,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( ( K2 = I )
           => ( ( index_mat_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( Mul @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) )
          & ( ( K2 != I )
           => ( ( index_mat_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
              = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ).

% index_mat_multrow(1)
thf(fact_447_index__mat__multrow_I2_J,axiom,
    ! [I: nat,A: mat_a,J: nat,Mul: a > a > a,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( gauss_5154200947219177641_gen_a @ Mul @ I @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( Mul @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multrow(2)
thf(fact_448_index__mat__multrow_I2_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,Mul: complex > complex > complex,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( gauss_2324787009747932227omplex @ Mul @ I @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( Mul @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multrow(2)
thf(fact_449_index__mat__multrow_I3_J,axiom,
    ! [I: nat,A: mat_a,J: nat,K2: nat,Mul: a > a > a,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( K2 != I )
         => ( ( index_mat_a @ ( gauss_5154200947219177641_gen_a @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multrow(3)
thf(fact_450_index__mat__multrow_I3_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,K2: nat,Mul: complex > complex > complex,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( K2 != I )
         => ( ( index_mat_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_mat_multrow(3)
thf(fact_451_multrow__carrier,axiom,
    ! [Mul: a > a > a,K2: nat,A2: a,A: mat_a,N: nat,Nc: nat] :
      ( ( member_mat_a @ ( gauss_5154200947219177641_gen_a @ Mul @ K2 @ A2 @ A ) @ ( carrier_mat_a @ N @ Nc ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) ) ) ).

% multrow_carrier
thf(fact_452_multrow__carrier,axiom,
    ! [Mul: complex > complex > complex,K2: nat,A2: complex,A: mat_complex,N: nat,Nc: nat] :
      ( ( member_mat_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) @ ( carrier_mat_complex @ N @ Nc ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) ) ) ).

% multrow_carrier
thf(fact_453_index__mat__multrow_I4_J,axiom,
    ! [Mul: complex > complex > complex,K2: nat,A2: complex,A: mat_complex] :
      ( ( dim_row_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_multrow(4)
thf(fact_454_index__mat__multrow_I5_J,axiom,
    ! [Mul: complex > complex > complex,K2: nat,A2: complex,A: mat_complex] :
      ( ( dim_col_complex @ ( gauss_2324787009747932227omplex @ Mul @ K2 @ A2 @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_mat_multrow(5)
thf(fact_455_multrow__mat,axiom,
    ! [A: mat_a,N: nat,Nc: nat,K2: nat,A2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) )
     => ( ( gauss_5154200947219177641_gen_a @ times_times_a @ K2 @ A2 @ A )
        = ( times_times_mat_a @ ( gauss_5015385051186949877_mat_a @ N @ K2 @ A2 ) @ A ) ) ) ).

% multrow_mat
thf(fact_456_multrow__mat,axiom,
    ! [A: mat_nat,N: nat,Nc: nat,K2: nat,A2: nat] :
      ( ( member_mat_nat @ A @ ( carrier_mat_nat @ N @ Nc ) )
     => ( ( gauss_2409696420326117733en_nat @ times_times_nat @ K2 @ A2 @ A )
        = ( times_times_mat_nat @ ( gauss_3195076542185637913at_nat @ N @ K2 @ A2 ) @ A ) ) ) ).

% multrow_mat
thf(fact_457_multrow__mat,axiom,
    ! [A: mat_complex,N: nat,Nc: nat,K2: nat,A2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) )
     => ( ( gauss_2324787009747932227omplex @ times_times_complex @ K2 @ A2 @ A )
        = ( times_8009071140041733218omplex @ ( gauss_6868829418328711927omplex @ N @ K2 @ A2 ) @ A ) ) ) ).

% multrow_mat
thf(fact_458_index__smult__mat_I1_J,axiom,
    ! [I: nat,A: mat_a,J: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
       => ( ( index_mat_a @ ( smult_mat_a @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_smult_mat(1)
thf(fact_459_index__smult__mat_I1_J,axiom,
    ! [I: nat,A: mat_mat_a,J: nat,A2: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_a @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_mat_a @ A ) )
       => ( ( index_mat_mat_a @ ( smult_mat_mat_a @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_mat_a @ A2 @ ( index_mat_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_smult_mat(1)
thf(fact_460_index__smult__mat_I1_J,axiom,
    ! [I: nat,A: mat_nat,J: nat,A2: nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ A ) )
       => ( ( index_mat_nat @ ( smult_mat_nat @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_nat @ A2 @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_smult_mat(1)
thf(fact_461_index__smult__mat_I1_J,axiom,
    ! [I: nat,A: mat_mat_complex,J: nat,A2: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_mat_complex @ A ) )
       => ( ( index_7093623372566408491omplex @ ( smult_779153608156729276omplex @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_8009071140041733218omplex @ A2 @ ( index_7093623372566408491omplex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_smult_mat(1)
thf(fact_462_index__smult__mat_I1_J,axiom,
    ! [I: nat,A: mat_complex,J: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
       => ( ( index_mat_complex @ ( smult_mat_complex @ A2 @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_smult_mat(1)
thf(fact_463_swapcols__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,K2: nat,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( ord_less_nat @ L @ N )
         => ( ( column2528828918332591333cols_a @ K2 @ L @ A )
            = ( times_times_mat_a @ A @ ( gauss_110929411057020027_mat_a @ N @ K2 @ L ) ) ) ) ) ) ).

% swapcols_mat
thf(fact_464_swapcols__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,K2: nat,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( ord_less_nat @ L @ N )
         => ( ( column4357519492343924999omplex @ K2 @ L @ A )
            = ( times_8009071140041733218omplex @ A @ ( gauss_8970452565587180529omplex @ N @ K2 @ L ) ) ) ) ) ) ).

% swapcols_mat
thf(fact_465_swaprows__mat,axiom,
    ! [A: mat_a,N: nat,Nc: nat,K2: nat,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( ord_less_nat @ L @ N )
         => ( ( gauss_2482569599970757219rows_a @ K2 @ L @ A )
            = ( times_times_mat_a @ ( gauss_110929411057020027_mat_a @ N @ K2 @ L ) @ A ) ) ) ) ) ).

% swaprows_mat
thf(fact_466_swaprows__mat,axiom,
    ! [A: mat_complex,N: nat,Nc: nat,K2: nat,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) )
     => ( ( ord_less_nat @ K2 @ N )
       => ( ( ord_less_nat @ L @ N )
         => ( ( gauss_1020679828357514249omplex @ K2 @ L @ A )
            = ( times_8009071140041733218omplex @ ( gauss_8970452565587180529omplex @ N @ K2 @ L ) @ A ) ) ) ) ) ).

% swaprows_mat
thf(fact_467_pivot__fun__swaprows,axiom,
    ! [A: mat_complex,F: nat > nat,Jj: nat,Nr: nat,Nc: nat,L: nat,K2: nat] :
      ( ( gauss_2609248829700396350omplex @ A @ F @ Jj )
     => ( ( ( dim_row_complex @ A )
          = Nr )
       => ( ( ( dim_col_complex @ A )
            = Nc )
         => ( ( ( F @ L )
              = Jj )
           => ( ( ( F @ K2 )
                = Jj )
             => ( ( ord_less_nat @ L @ Nr )
               => ( ( ord_less_nat @ K2 @ Nr )
                 => ( ( ord_less_eq_nat @ Jj @ Nc )
                   => ( gauss_2609248829700396350omplex @ ( gauss_1020679828357514249omplex @ L @ K2 @ A ) @ F @ Jj ) ) ) ) ) ) ) ) ) ).

% pivot_fun_swaprows
thf(fact_468_smult__smult__times,axiom,
    ! [A2: nat,K2: nat,A: mat_nat] :
      ( ( smult_mat_nat @ A2 @ ( smult_mat_nat @ K2 @ A ) )
      = ( smult_mat_nat @ ( times_times_nat @ A2 @ K2 ) @ A ) ) ).

% smult_smult_times
thf(fact_469_smult__smult__times,axiom,
    ! [A2: complex,K2: complex,A: mat_complex] :
      ( ( smult_mat_complex @ A2 @ ( smult_mat_complex @ K2 @ A ) )
      = ( smult_mat_complex @ ( times_times_complex @ A2 @ K2 ) @ A ) ) ).

% smult_smult_times
thf(fact_470_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_471_zero__order_I2_J,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% zero_order(2)
thf(fact_472_zero__order_I1_J,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X ) ).

% zero_order(1)
thf(fact_473_verit__comp__simplify_I3_J,axiom,
    ! [B3: nat,A3: nat] :
      ( ( ~ ( ord_less_eq_nat @ B3 @ A3 ) )
      = ( ord_less_nat @ A3 @ B3 ) ) ).

% verit_comp_simplify(3)
thf(fact_474_smult__carrier__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,K2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( smult_mat_a @ K2 @ A ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% smult_carrier_mat
thf(fact_475_smult__carrier__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,K2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( smult_mat_complex @ K2 @ A ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% smult_carrier_mat
thf(fact_476_le__simps_I1_J,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% le_simps(1)
thf(fact_477_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M2 @ N2 )
          & ( M2 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_478_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_nat @ M2 @ N2 )
          | ( M2 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_479_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_480_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_481_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ J3 )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J3 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_482_index__smult__mat_I2_J,axiom,
    ! [A2: complex,A: mat_complex] :
      ( ( dim_row_complex @ ( smult_mat_complex @ A2 @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_smult_mat(2)
thf(fact_483_index__smult__mat_I3_J,axiom,
    ! [A2: complex,A: mat_complex] :
      ( ( dim_col_complex @ ( smult_mat_complex @ A2 @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_smult_mat(3)
thf(fact_484_diagonal__mat__smult,axiom,
    ! [A: mat_complex,X: complex] :
      ( ( diagonal_mat_complex @ A )
     => ( diagonal_mat_complex @ ( smult_mat_complex @ X @ A ) ) ) ).

% diagonal_mat_smult
thf(fact_485_swaprows__mat__carrier,axiom,
    ! [N: nat,K2: nat,L: nat] : ( member_mat_a @ ( gauss_110929411057020027_mat_a @ N @ K2 @ L ) @ ( carrier_mat_a @ N @ N ) ) ).

% swaprows_mat_carrier
thf(fact_486_swaprows__mat__carrier,axiom,
    ! [N: nat,K2: nat,L: nat] : ( member_mat_complex @ ( gauss_8970452565587180529omplex @ N @ K2 @ L ) @ ( carrier_mat_complex @ N @ N ) ) ).

% swaprows_mat_carrier
thf(fact_487_index__mat__swaprows__mat_I2_J,axiom,
    ! [N: nat,K2: nat,L: nat] :
      ( ( dim_row_complex @ ( gauss_8970452565587180529omplex @ N @ K2 @ L ) )
      = N ) ).

% index_mat_swaprows_mat(2)
thf(fact_488_index__mat__swaprows__mat_I3_J,axiom,
    ! [N: nat,K2: nat,L: nat] :
      ( ( dim_col_complex @ ( gauss_8970452565587180529omplex @ N @ K2 @ L ) )
      = N ) ).

% index_mat_swaprows_mat(3)
thf(fact_489_multrow__mat__carrier,axiom,
    ! [N: nat,K2: nat,A2: a] : ( member_mat_a @ ( gauss_5015385051186949877_mat_a @ N @ K2 @ A2 ) @ ( carrier_mat_a @ N @ N ) ) ).

% multrow_mat_carrier
thf(fact_490_multrow__mat__carrier,axiom,
    ! [N: nat,K2: nat,A2: complex] : ( member_mat_complex @ ( gauss_6868829418328711927omplex @ N @ K2 @ A2 ) @ ( carrier_mat_complex @ N @ N ) ) ).

% multrow_mat_carrier
thf(fact_491_index__mat__multrow__mat_I2_J,axiom,
    ! [N: nat,K2: nat,A2: complex] :
      ( ( dim_row_complex @ ( gauss_6868829418328711927omplex @ N @ K2 @ A2 ) )
      = N ) ).

% index_mat_multrow_mat(2)
thf(fact_492_index__mat__multrow__mat_I3_J,axiom,
    ! [N: nat,K2: nat,A2: complex] :
      ( ( dim_col_complex @ ( gauss_6868829418328711927omplex @ N @ K2 @ A2 ) )
      = N ) ).

% index_mat_multrow_mat(3)
thf(fact_493_mult__sign__intros_I4_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ B2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ zero_zero_complex @ ( times_times_complex @ A2 @ B2 ) ) ) ) ).

% mult_sign_intros(4)
thf(fact_494_mult__sign__intros_I3_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B2 )
       => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% mult_sign_intros(3)
thf(fact_495_mult__sign__intros_I3_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ B2 )
       => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% mult_sign_intros(3)
thf(fact_496_mult__sign__intros_I2_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ B2 @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% mult_sign_intros(2)
thf(fact_497_mult__sign__intros_I2_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ B2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% mult_sign_intros(2)
thf(fact_498_mult__sign__intros_I1_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B2 )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( times_times_nat @ A2 @ B2 ) ) ) ) ).

% mult_sign_intros(1)
thf(fact_499_mult__sign__intros_I1_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ B2 )
       => ( ord_less_eq_complex @ zero_zero_complex @ ( times_times_complex @ A2 @ B2 ) ) ) ) ).

% mult_sign_intros(1)
thf(fact_500_mult__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ B2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
           => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% mult_mono
thf(fact_501_mult__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ C2 @ D2 )
       => ( ( ord_less_eq_complex @ zero_zero_complex @ B2 )
         => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
           => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ D2 ) ) ) ) ) ) ).

% mult_mono
thf(fact_502_mult__mono_H,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
           => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% mult_mono'
thf(fact_503_mult__mono_H,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ C2 @ D2 )
       => ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
         => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
           => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ D2 ) ) ) ) ) ) ).

% mult_mono'
thf(fact_504_split__mult__pos__le,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
          & ( ord_less_eq_complex @ zero_zero_complex @ B2 ) )
        | ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
          & ( ord_less_eq_complex @ B2 @ zero_zero_complex ) ) )
     => ( ord_less_eq_complex @ zero_zero_complex @ ( times_times_complex @ A2 @ B2 ) ) ) ).

% split_mult_pos_le
thf(fact_505_mult__left__mono__neg,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ B2 @ A2 )
     => ( ( ord_less_eq_complex @ C2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ ( times_times_complex @ C2 @ A2 ) @ ( times_times_complex @ C2 @ B2 ) ) ) ) ).

% mult_left_mono_neg
thf(fact_506_mult__left__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
       => ( ord_less_eq_nat @ ( times_times_nat @ C2 @ A2 ) @ ( times_times_nat @ C2 @ B2 ) ) ) ) ).

% mult_left_mono
thf(fact_507_mult__left__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
       => ( ord_less_eq_complex @ ( times_times_complex @ C2 @ A2 ) @ ( times_times_complex @ C2 @ B2 ) ) ) ) ).

% mult_left_mono
thf(fact_508_mult__right__mono__neg,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ B2 @ A2 )
     => ( ( ord_less_eq_complex @ C2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ) ).

% mult_right_mono_neg
thf(fact_509_mult__right__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
       => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ C2 ) ) ) ) ).

% mult_right_mono
thf(fact_510_mult__right__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
       => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ) ).

% mult_right_mono
thf(fact_511_split__mult__neg__le,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
          & ( ord_less_eq_nat @ B2 @ zero_zero_nat ) )
        | ( ( ord_less_eq_nat @ A2 @ zero_zero_nat )
          & ( ord_less_eq_nat @ zero_zero_nat @ B2 ) ) )
     => ( ord_less_eq_nat @ ( times_times_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ).

% split_mult_neg_le
thf(fact_512_split__mult__neg__le,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
          & ( ord_less_eq_complex @ B2 @ zero_zero_complex ) )
        | ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
          & ( ord_less_eq_complex @ zero_zero_complex @ B2 ) ) )
     => ( ord_less_eq_complex @ ( times_times_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ).

% split_mult_neg_le
thf(fact_513_mult__nonneg__nonpos2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ B2 @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( times_times_nat @ B2 @ A2 ) @ zero_zero_nat ) ) ) ).

% mult_nonneg_nonpos2
thf(fact_514_mult__nonneg__nonpos2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ B2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ ( times_times_complex @ B2 @ A2 ) @ zero_zero_complex ) ) ) ).

% mult_nonneg_nonpos2
thf(fact_515_ordered__comm__semiring__class_Ocomm__mult__left__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
       => ( ord_less_eq_nat @ ( times_times_nat @ C2 @ A2 ) @ ( times_times_nat @ C2 @ B2 ) ) ) ) ).

% ordered_comm_semiring_class.comm_mult_left_mono
thf(fact_516_ordered__comm__semiring__class_Ocomm__mult__left__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
       => ( ord_less_eq_complex @ ( times_times_complex @ C2 @ A2 ) @ ( times_times_complex @ C2 @ B2 ) ) ) ) ).

% ordered_comm_semiring_class.comm_mult_left_mono
thf(fact_517_zero__compare__simps_I3_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ B2 @ C2 )
       => ( ord_less_eq_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(3)
thf(fact_518_zero__compare__simps_I3_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ B2 @ C2 )
       => ( ord_less_eq_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(3)
thf(fact_519_le__add__same__cancel2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ ( plus_plus_nat @ B2 @ A2 ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B2 ) ) ).

% le_add_same_cancel2
thf(fact_520_le__add__same__cancel2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ ( plus_plus_complex @ B2 @ A2 ) )
      = ( ord_less_eq_complex @ zero_zero_complex @ B2 ) ) ).

% le_add_same_cancel2
thf(fact_521_le__add__same__cancel1,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ ( plus_plus_nat @ A2 @ B2 ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B2 ) ) ).

% le_add_same_cancel1
thf(fact_522_le__add__same__cancel1,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( ord_less_eq_complex @ zero_zero_complex @ B2 ) ) ).

% le_add_same_cancel1
thf(fact_523_add__le__same__cancel2,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ B2 ) @ B2 )
      = ( ord_less_eq_nat @ A2 @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_524_add__le__same__cancel2,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ ( plus_plus_complex @ A2 @ B2 ) @ B2 )
      = ( ord_less_eq_complex @ A2 @ zero_zero_complex ) ) ).

% add_le_same_cancel2
thf(fact_525_add__le__same__cancel1,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B2 @ A2 ) @ B2 )
      = ( ord_less_eq_nat @ A2 @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_526_add__le__same__cancel1,axiom,
    ! [B2: complex,A2: complex] :
      ( ( ord_less_eq_complex @ ( plus_plus_complex @ B2 @ A2 ) @ B2 )
      = ( ord_less_eq_complex @ A2 @ zero_zero_complex ) ) ).

% add_le_same_cancel1
thf(fact_527_add__nonpos__eq__0__iff,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y3 @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X @ Y3 )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y3 = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_528_add__nonpos__eq__0__iff,axiom,
    ! [X: complex,Y3: complex] :
      ( ( ord_less_eq_complex @ X @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ Y3 @ zero_zero_complex )
       => ( ( ( plus_plus_complex @ X @ Y3 )
            = zero_zero_complex )
          = ( ( X = zero_zero_complex )
            & ( Y3 = zero_zero_complex ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_529_add__nonneg__eq__0__iff,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y3 )
       => ( ( ( plus_plus_nat @ X @ Y3 )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y3 = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_530_add__nonneg__eq__0__iff,axiom,
    ! [X: complex,Y3: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ X )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ Y3 )
       => ( ( ( plus_plus_complex @ X @ Y3 )
            = zero_zero_complex )
          = ( ( X = zero_zero_complex )
            & ( Y3 = zero_zero_complex ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_531_add__nonpos__nonpos,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B2 @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_532_add__nonpos__nonpos,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ B2 @ zero_zero_complex )
       => ( ord_less_eq_complex @ ( plus_plus_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% add_nonpos_nonpos
thf(fact_533_add__nonneg__nonneg,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B2 )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A2 @ B2 ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_534_add__nonneg__nonneg,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ B2 )
       => ( ord_less_eq_complex @ zero_zero_complex @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_535_add__increasing2,axiom,
    ! [C2: nat,B2: nat,A2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
     => ( ( ord_less_eq_nat @ B2 @ A2 )
       => ( ord_less_eq_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% add_increasing2
thf(fact_536_add__increasing2,axiom,
    ! [C2: complex,B2: complex,A2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
     => ( ( ord_less_eq_complex @ B2 @ A2 )
       => ( ord_less_eq_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) ) ) ) ).

% add_increasing2
thf(fact_537_add__decreasing2,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ C2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A2 @ B2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ B2 ) ) ) ).

% add_decreasing2
thf(fact_538_add__decreasing2,axiom,
    ! [C2: complex,A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ C2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ A2 @ B2 )
       => ( ord_less_eq_complex @ ( plus_plus_complex @ A2 @ C2 ) @ B2 ) ) ) ).

% add_decreasing2
thf(fact_539_add__decreasing,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C2 @ B2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ B2 ) ) ) ).

% add_decreasing
thf(fact_540_add__decreasing,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ C2 @ B2 )
       => ( ord_less_eq_complex @ ( plus_plus_complex @ A2 @ C2 ) @ B2 ) ) ) ).

% add_decreasing
thf(fact_541_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_542_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: complex,J: complex,K2: complex,L: complex] :
      ( ( ( ord_less_eq_complex @ I @ J )
        & ( ord_less_complex @ K2 @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I @ K2 ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_543_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_544_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: complex,J: complex,K2: complex,L: complex] :
      ( ( ( ord_less_complex @ I @ J )
        & ( ord_less_eq_complex @ K2 @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I @ K2 ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_545_add__le__less__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_546_add__le__less__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_complex @ C2 @ D2 )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_547_add__less__le__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_548_add__less__le__mono,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_less_complex @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ C2 @ D2 )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_549_ex__least__nat__le,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I5: nat] :
                ( ( ord_less_nat @ I5 @ K3 )
               => ~ ( P @ I5 ) )
            & ( P @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_550_mult__smult__assoc__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,K2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( ( times_times_mat_a @ ( smult_mat_a @ K2 @ A ) @ B )
          = ( smult_mat_a @ K2 @ ( times_times_mat_a @ A @ B ) ) ) ) ) ).

% mult_smult_assoc_mat
thf(fact_551_mult__smult__assoc__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,K2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( times_8009071140041733218omplex @ ( smult_mat_complex @ K2 @ A ) @ B )
          = ( smult_mat_complex @ K2 @ ( times_8009071140041733218omplex @ A @ B ) ) ) ) ) ).

% mult_smult_assoc_mat
thf(fact_552_mult__smult__distrib,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,K2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( ( times_times_mat_a @ A @ ( smult_mat_a @ K2 @ B ) )
          = ( smult_mat_a @ K2 @ ( times_times_mat_a @ A @ B ) ) ) ) ) ).

% mult_smult_distrib
thf(fact_553_mult__smult__distrib,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,K2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( times_8009071140041733218omplex @ A @ ( smult_mat_complex @ K2 @ B ) )
          = ( smult_mat_complex @ K2 @ ( times_8009071140041733218omplex @ A @ B ) ) ) ) ) ).

% mult_smult_distrib
thf(fact_554_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K2: nat] :
      ( ! [M4: nat,N3: nat] :
          ( ( ord_less_nat @ M4 @ N3 )
         => ( ord_less_nat @ ( F @ M4 ) @ ( F @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K2 ) @ ( F @ ( plus_plus_nat @ M @ K2 ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_555_add__smult__distrib__left__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a,K2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( smult_mat_a @ K2 @ ( plus_plus_mat_a @ A @ B ) )
          = ( plus_plus_mat_a @ ( smult_mat_a @ K2 @ A ) @ ( smult_mat_a @ K2 @ B ) ) ) ) ) ).

% add_smult_distrib_left_mat
thf(fact_556_add__smult__distrib__left__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex,K2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( smult_mat_complex @ K2 @ ( plus_p8323303612493835998omplex @ A @ B ) )
          = ( plus_p8323303612493835998omplex @ ( smult_mat_complex @ K2 @ A ) @ ( smult_mat_complex @ K2 @ B ) ) ) ) ) ).

% add_smult_distrib_left_mat
thf(fact_557_adjoint__scale,axiom,
    ! [A2: a,A: mat_a] :
      ( ( schur_mat_adjoint_a @ ( smult_mat_a @ A2 @ A ) )
      = ( smult_mat_a @ ( conjug308488923880221217gate_a @ A2 ) @ ( schur_mat_adjoint_a @ A ) ) ) ).

% adjoint_scale
thf(fact_558_adjoint__scale,axiom,
    ! [A2: complex,A: mat_complex] :
      ( ( schur_5982229384592763574omplex @ ( smult_mat_complex @ A2 @ A ) )
      = ( smult_mat_complex @ ( conjug1878831970375765195omplex @ A2 ) @ ( schur_5982229384592763574omplex @ A ) ) ) ).

% adjoint_scale
thf(fact_559_less__eq__mat__def,axiom,
    ( ord_less_eq_mat_nat
    = ( ^ [A5: mat_nat,B5: mat_nat] :
          ( ( ( dim_row_nat @ A5 )
            = ( dim_row_nat @ B5 ) )
          & ( ( dim_col_nat @ A5 )
            = ( dim_col_nat @ B5 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_nat @ B5 ) )
             => ! [J2: nat] :
                  ( ( ord_less_nat @ J2 @ ( dim_col_nat @ B5 ) )
                 => ( ord_less_eq_nat @ ( index_mat_nat @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) @ ( index_mat_nat @ B5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) ) ) ) ) ) ) ).

% less_eq_mat_def
thf(fact_560_less__eq__mat__def,axiom,
    ( ord_le1403324449407493959omplex
    = ( ^ [A5: mat_complex,B5: mat_complex] :
          ( ( ( dim_row_complex @ A5 )
            = ( dim_row_complex @ B5 ) )
          & ( ( dim_col_complex @ A5 )
            = ( dim_col_complex @ B5 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_complex @ B5 ) )
             => ! [J2: nat] :
                  ( ( ord_less_nat @ J2 @ ( dim_col_complex @ B5 ) )
                 => ( ord_less_eq_complex @ ( index_mat_complex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) @ ( index_mat_complex @ B5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) ) ) ) ) ) ) ).

% less_eq_mat_def
thf(fact_561_less__eq__mat__def,axiom,
    ( ord_le4944801397134097149omplex
    = ( ^ [A5: mat_set_complex,B5: mat_set_complex] :
          ( ( ( dim_row_set_complex @ A5 )
            = ( dim_row_set_complex @ B5 ) )
          & ( ( dim_col_set_complex @ A5 )
            = ( dim_col_set_complex @ B5 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_set_complex @ B5 ) )
             => ! [J2: nat] :
                  ( ( ord_less_nat @ J2 @ ( dim_col_set_complex @ B5 ) )
                 => ( ord_le211207098394363844omplex @ ( index_252864162597934816omplex @ A5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) @ ( index_252864162597934816omplex @ B5 @ ( product_Pair_nat_nat @ I2 @ J2 ) ) ) ) ) ) ) ) ).

% less_eq_mat_def
thf(fact_562_linordered__semiring__strict__class_Omult__less__le__imp__less,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
         => ( ( ord_less_nat @ zero_zero_nat @ C2 )
           => ( ord_less_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_less_le_imp_less
thf(fact_563_linordered__semiring__strict__class_Omult__le__less__imp__less,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ( ord_less_nat @ zero_zero_nat @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
           => ( ord_less_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_le_less_imp_less
thf(fact_564_mult__right__le__imp__le,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ C2 ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C2 )
       => ( ord_less_eq_nat @ A2 @ B2 ) ) ) ).

% mult_right_le_imp_le
thf(fact_565_mult__left__le__imp__le,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ C2 @ A2 ) @ ( times_times_nat @ C2 @ B2 ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C2 )
       => ( ord_less_eq_nat @ A2 @ B2 ) ) ) ).

% mult_left_le_imp_le
thf(fact_566_linordered__semiring__strict__class_Omult__strict__mono_H,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
           => ( ord_less_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_mono'
thf(fact_567_mult__right__less__imp__less,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ C2 ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
       => ( ord_less_nat @ A2 @ B2 ) ) ) ).

% mult_right_less_imp_less
thf(fact_568_linordered__semiring__strict__class_Omult__strict__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ( ord_less_nat @ zero_zero_nat @ B2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
           => ( ord_less_nat @ ( times_times_nat @ A2 @ C2 ) @ ( times_times_nat @ B2 @ D2 ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_mono
thf(fact_569_mult__left__less__imp__less,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ C2 @ A2 ) @ ( times_times_nat @ C2 @ B2 ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
       => ( ord_less_nat @ A2 @ B2 ) ) ) ).

% mult_left_less_imp_less
thf(fact_570_zero__compare__simps_I2_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ord_less_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(2)
thf(fact_571_zero__compare__simps_I2_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_complex @ B2 @ C2 )
       => ( ord_less_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(2)
thf(fact_572_zero__compare__simps_I1_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ B2 @ C2 )
       => ( ord_less_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(1)
thf(fact_573_zero__compare__simps_I1_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ B2 @ C2 )
       => ( ord_less_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) ) ) ) ).

% zero_compare_simps(1)
thf(fact_574_add__pos__nonneg,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B2 )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A2 @ B2 ) ) ) ) ).

% add_pos_nonneg
thf(fact_575_add__pos__nonneg,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_eq_complex @ zero_zero_complex @ B2 )
       => ( ord_less_complex @ zero_zero_complex @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

% add_pos_nonneg
thf(fact_576_add__nonpos__neg,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_nat @ B2 @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_577_add__nonpos__neg,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_complex @ B2 @ zero_zero_complex )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% add_nonpos_neg
thf(fact_578_add__nonneg__pos,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ zero_zero_nat @ B2 )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A2 @ B2 ) ) ) ) ).

% add_nonneg_pos
thf(fact_579_add__nonneg__pos,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ A2 )
     => ( ( ord_less_complex @ zero_zero_complex @ B2 )
       => ( ord_less_complex @ zero_zero_complex @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

% add_nonneg_pos
thf(fact_580_add__neg__nonpos,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B2 @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ B2 ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_581_add__neg__nonpos,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ zero_zero_complex )
     => ( ( ord_less_eq_complex @ B2 @ zero_zero_complex )
       => ( ord_less_complex @ ( plus_plus_complex @ A2 @ B2 ) @ zero_zero_complex ) ) ) ).

% add_neg_nonpos
thf(fact_582_conjugate__square__positive,axiom,
    ! [A2: complex] : ( ord_less_eq_complex @ zero_zero_complex @ ( times_times_complex @ A2 @ ( conjug1878831970375765195omplex @ A2 ) ) ) ).

% conjugate_square_positive
thf(fact_583_mult__le__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel2
thf(fact_584_mult__le__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel1
thf(fact_585_nat__mult__le__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ord_less_eq_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
        = ( ord_less_eq_nat @ M @ N ) ) ) ).

% nat_mult_le_cancel1
thf(fact_586_add__smult__distrib__right__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,K2: a,L: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( smult_mat_a @ ( plus_plus_a @ K2 @ L ) @ A )
        = ( plus_plus_mat_a @ ( smult_mat_a @ K2 @ A ) @ ( smult_mat_a @ L @ A ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_587_add__smult__distrib__right__mat,axiom,
    ! [A: mat_nat,Nr: nat,Nc: nat,K2: nat,L: nat] :
      ( ( member_mat_nat @ A @ ( carrier_mat_nat @ Nr @ Nc ) )
     => ( ( smult_mat_nat @ ( plus_plus_nat @ K2 @ L ) @ A )
        = ( plus_plus_mat_nat @ ( smult_mat_nat @ K2 @ A ) @ ( smult_mat_nat @ L @ A ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_588_add__smult__distrib__right__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,K2: complex,L: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( smult_mat_complex @ ( plus_plus_complex @ K2 @ L ) @ A )
        = ( plus_p8323303612493835998omplex @ ( smult_mat_complex @ K2 @ A ) @ ( smult_mat_complex @ L @ A ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_589_mat__conj__smult,axiom,
    ! [A: mat_a,N: nat,U: mat_a,B: mat_a,X: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( A
              = ( times_times_mat_a @ ( times_times_mat_a @ U @ B ) @ ( schur_mat_adjoint_a @ U ) ) )
           => ( ( smult_mat_a @ X @ A )
              = ( times_times_mat_a @ ( times_times_mat_a @ U @ ( smult_mat_a @ X @ B ) ) @ ( schur_mat_adjoint_a @ U ) ) ) ) ) ) ) ).

% mat_conj_smult
thf(fact_590_mat__conj__smult,axiom,
    ! [A: mat_complex,N: nat,U: mat_complex,B: mat_complex,X: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( A
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ U @ B ) @ ( schur_5982229384592763574omplex @ U ) ) )
           => ( ( smult_mat_complex @ X @ A )
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ U @ ( smult_mat_complex @ X @ B ) ) @ ( schur_5982229384592763574omplex @ U ) ) ) ) ) ) ) ).

% mat_conj_smult
thf(fact_591_self__cscalar__prod__geq__0,axiom,
    ! [V2: vec_complex] : ( ord_less_eq_complex @ zero_zero_complex @ ( scalar_prod_complex @ V2 @ ( conjug5127946762835395006omplex @ V2 ) ) ) ).

% self_cscalar_prod_geq_0
thf(fact_592_conjugate__square__ge__0__vec,axiom,
    ! [V2: vec_complex] : ( ord_less_eq_complex @ zero_zero_complex @ ( scalar_prod_complex @ V2 @ ( conjug5127946762835395006omplex @ V2 ) ) ) ).

% conjugate_square_ge_0_vec
thf(fact_593_pivot__funD_I1_J,axiom,
    ! [A: mat_complex,Nr: nat,F: nat > nat,Nc: nat,I: nat] :
      ( ( ( dim_row_complex @ A )
        = Nr )
     => ( ( gauss_2609248829700396350omplex @ A @ F @ Nc )
       => ( ( ord_less_nat @ I @ Nr )
         => ( ord_less_eq_nat @ ( F @ I ) @ Nc ) ) ) ) ).

% pivot_funD(1)
thf(fact_594_pivot__bound,axiom,
    ! [A: mat_complex,Nr: nat,F: nat > nat,N: nat,I: nat,J: nat] :
      ( ( ( dim_row_complex @ A )
        = Nr )
     => ( ( gauss_2609248829700396350omplex @ A @ F @ N )
       => ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ Nr )
         => ( ( ( F @ ( plus_plus_nat @ I @ J ) )
              = N )
            | ( ord_less_eq_nat @ ( plus_plus_nat @ J @ ( F @ I ) ) @ ( F @ ( plus_plus_nat @ I @ J ) ) ) ) ) ) ) ).

% pivot_bound
thf(fact_595_multcol__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,K2: nat,A2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( column_mat_multcol_a @ K2 @ A2 @ A )
        = ( times_times_mat_a @ A @ ( gauss_5015385051186949877_mat_a @ N @ K2 @ A2 ) ) ) ) ).

% multcol_mat
thf(fact_596_multcol__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,K2: nat,A2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( column4410001698458707789omplex @ K2 @ A2 @ A )
        = ( times_8009071140041733218omplex @ A @ ( gauss_6868829418328711927omplex @ N @ K2 @ A2 ) ) ) ) ).

% multcol_mat
thf(fact_597_pivot__fun__multrow,axiom,
    ! [A: mat_nat,F: nat > nat,Jj: nat,Nr: nat,Nc: nat,I0: nat,A2: nat] :
      ( ( gauss_8416567519840421984un_nat @ A @ F @ Jj )
     => ( ( ( dim_row_nat @ A )
          = Nr )
       => ( ( ( dim_col_nat @ A )
            = Nc )
         => ( ( ( F @ I0 )
              = Jj )
           => ( ( ord_less_eq_nat @ Jj @ Nc )
             => ( gauss_8416567519840421984un_nat @ ( gauss_2409696420326117733en_nat @ times_times_nat @ I0 @ A2 @ A ) @ F @ Jj ) ) ) ) ) ) ).

% pivot_fun_multrow
thf(fact_598_pivot__fun__multrow,axiom,
    ! [A: mat_complex,F: nat > nat,Jj: nat,Nr: nat,Nc: nat,I0: nat,A2: complex] :
      ( ( gauss_2609248829700396350omplex @ A @ F @ Jj )
     => ( ( ( dim_row_complex @ A )
          = Nr )
       => ( ( ( dim_col_complex @ A )
            = Nc )
         => ( ( ( F @ I0 )
              = Jj )
           => ( ( ord_less_eq_nat @ Jj @ Nc )
             => ( gauss_2609248829700396350omplex @ ( gauss_2324787009747932227omplex @ times_times_complex @ I0 @ A2 @ A ) @ F @ Jj ) ) ) ) ) ) ).

% pivot_fun_multrow
thf(fact_599_split__block__times__diag__index_I1_J,axiom,
    ! [D: mat_a,N: nat,B: mat_a,A2: nat,B1: mat_a,B22: mat_a,B32: mat_a,B42: mat_a,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a,I: nat,J: nat] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_a @ B @ A2 @ A2 )
                = ( produc5286753621172121189_mat_a @ B1 @ ( produc7602877900562455331_mat_a @ B22 @ ( produc3091253522927621199_mat_a @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_a @ D @ A2 @ A2 )
                  = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
               => ( ( ord_less_nat @ I @ ( dim_row_a @ ( times_times_mat_a @ D4 @ B42 ) ) )
                 => ( ( ord_less_nat @ J @ ( dim_col_a @ ( times_times_mat_a @ D4 @ B42 ) ) )
                   => ( ( index_mat_a @ ( times_times_mat_a @ B42 @ D4 ) @ ( product_Pair_nat_nat @ I @ J ) )
                      = ( index_mat_a @ ( times_times_mat_a @ B @ D ) @ ( product_Pair_nat_nat @ ( plus_plus_nat @ I @ A2 ) @ ( plus_plus_nat @ J @ A2 ) ) ) ) ) ) ) ) ) ) ) ) ).

% split_block_times_diag_index(1)
thf(fact_600_split__block__times__diag__index_I1_J,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,A2: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex,I: nat,J: nat] :
      ( ( diagonal_mat_complex @ D )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_complex @ B @ A2 @ A2 )
                = ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_complex @ D @ A2 @ A2 )
                  = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
               => ( ( ord_less_nat @ I @ ( dim_row_complex @ ( times_8009071140041733218omplex @ D4 @ B42 ) ) )
                 => ( ( ord_less_nat @ J @ ( dim_col_complex @ ( times_8009071140041733218omplex @ D4 @ B42 ) ) )
                   => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ B42 @ D4 ) @ ( product_Pair_nat_nat @ I @ J ) )
                      = ( index_mat_complex @ ( times_8009071140041733218omplex @ B @ D ) @ ( product_Pair_nat_nat @ ( plus_plus_nat @ I @ A2 ) @ ( plus_plus_nat @ J @ A2 ) ) ) ) ) ) ) ) ) ) ) ) ).

% split_block_times_diag_index(1)
thf(fact_601_split__block__times__diag__index_I2_J,axiom,
    ! [D: mat_a,N: nat,B: mat_a,A2: nat,B1: mat_a,B22: mat_a,B32: mat_a,B42: mat_a,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a,I: nat,J: nat] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_a @ B @ A2 @ A2 )
                = ( produc5286753621172121189_mat_a @ B1 @ ( produc7602877900562455331_mat_a @ B22 @ ( produc3091253522927621199_mat_a @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_a @ D @ A2 @ A2 )
                  = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
               => ( ( ord_less_nat @ I @ ( dim_row_a @ ( times_times_mat_a @ D4 @ B42 ) ) )
                 => ( ( ord_less_nat @ J @ ( dim_col_a @ ( times_times_mat_a @ D4 @ B42 ) ) )
                   => ( ( index_mat_a @ ( times_times_mat_a @ D4 @ B42 ) @ ( product_Pair_nat_nat @ I @ J ) )
                      = ( index_mat_a @ ( times_times_mat_a @ D @ B ) @ ( product_Pair_nat_nat @ ( plus_plus_nat @ I @ A2 ) @ ( plus_plus_nat @ J @ A2 ) ) ) ) ) ) ) ) ) ) ) ) ).

% split_block_times_diag_index(2)
thf(fact_602_split__block__times__diag__index_I2_J,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,A2: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex,I: nat,J: nat] :
      ( ( diagonal_mat_complex @ D )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_complex @ B @ A2 @ A2 )
                = ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_complex @ D @ A2 @ A2 )
                  = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
               => ( ( ord_less_nat @ I @ ( dim_row_complex @ ( times_8009071140041733218omplex @ D4 @ B42 ) ) )
                 => ( ( ord_less_nat @ J @ ( dim_col_complex @ ( times_8009071140041733218omplex @ D4 @ B42 ) ) )
                   => ( ( index_mat_complex @ ( times_8009071140041733218omplex @ D4 @ B42 ) @ ( product_Pair_nat_nat @ I @ J ) )
                      = ( index_mat_complex @ ( times_8009071140041733218omplex @ D @ B ) @ ( product_Pair_nat_nat @ ( plus_plus_nat @ I @ A2 ) @ ( plus_plus_nat @ J @ A2 ) ) ) ) ) ) ) ) ) ) ) ) ).

% split_block_times_diag_index(2)
thf(fact_603_split__block__diag__carrier_I1_J,axiom,
    ! [D: mat_a,N: nat,A2: nat,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a] :
      ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_eq_nat @ A2 @ N )
       => ( ( ( split_block_a @ D @ A2 @ A2 )
            = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
         => ( member_mat_a @ D1 @ ( carrier_mat_a @ A2 @ A2 ) ) ) ) ) ).

% split_block_diag_carrier(1)
thf(fact_604_split__block__diag__carrier_I1_J,axiom,
    ! [D: mat_complex,N: nat,A2: nat,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex] :
      ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_eq_nat @ A2 @ N )
       => ( ( ( split_block_complex @ D @ A2 @ A2 )
            = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
         => ( member_mat_complex @ D1 @ ( carrier_mat_complex @ A2 @ A2 ) ) ) ) ) ).

% split_block_diag_carrier(1)
thf(fact_605_split__block__diagonal,axiom,
    ! [D: mat_a,N: nat,A2: nat,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( ord_less_eq_nat @ A2 @ N )
         => ( ( ( split_block_a @ D @ A2 @ A2 )
              = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
           => ( ( diagonal_mat_a @ D1 )
              & ( diagonal_mat_a @ D4 ) ) ) ) ) ) ).

% split_block_diagonal
thf(fact_606_split__block__diagonal,axiom,
    ! [D: mat_complex,N: nat,A2: nat,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex] :
      ( ( diagonal_mat_complex @ D )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
       => ( ( ord_less_eq_nat @ A2 @ N )
         => ( ( ( split_block_complex @ D @ A2 @ A2 )
              = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
           => ( ( diagonal_mat_complex @ D1 )
              & ( diagonal_mat_complex @ D4 ) ) ) ) ) ) ).

% split_block_diagonal
thf(fact_607_split__block_I4_J,axiom,
    ! [A: mat_a,Sr1: nat,Sc1: nat,A1: mat_a,A22: mat_a,A32: mat_a,A42: mat_a,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_a @ A @ Sr1 @ Sc1 )
        = ( produc5286753621172121189_mat_a @ A1 @ ( produc7602877900562455331_mat_a @ A22 @ ( produc3091253522927621199_mat_a @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_a @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_a @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_a @ A42 @ ( carrier_mat_a @ Sr2 @ Sc2 ) ) ) ) ) ).

% split_block(4)
thf(fact_608_split__block_I4_J,axiom,
    ! [A: mat_complex,Sr1: nat,Sc1: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_complex @ A @ Sr1 @ Sc1 )
        = ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_complex @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_complex @ A42 @ ( carrier_mat_complex @ Sr2 @ Sc2 ) ) ) ) ) ).

% split_block(4)
thf(fact_609_split__block_I3_J,axiom,
    ! [A: mat_a,Sr1: nat,Sc1: nat,A1: mat_a,A22: mat_a,A32: mat_a,A42: mat_a,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_a @ A @ Sr1 @ Sc1 )
        = ( produc5286753621172121189_mat_a @ A1 @ ( produc7602877900562455331_mat_a @ A22 @ ( produc3091253522927621199_mat_a @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_a @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_a @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_a @ A32 @ ( carrier_mat_a @ Sr2 @ Sc1 ) ) ) ) ) ).

% split_block(3)
thf(fact_610_split__block_I3_J,axiom,
    ! [A: mat_complex,Sr1: nat,Sc1: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_complex @ A @ Sr1 @ Sc1 )
        = ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_complex @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_complex @ A32 @ ( carrier_mat_complex @ Sr2 @ Sc1 ) ) ) ) ) ).

% split_block(3)
thf(fact_611_split__block_I2_J,axiom,
    ! [A: mat_a,Sr1: nat,Sc1: nat,A1: mat_a,A22: mat_a,A32: mat_a,A42: mat_a,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_a @ A @ Sr1 @ Sc1 )
        = ( produc5286753621172121189_mat_a @ A1 @ ( produc7602877900562455331_mat_a @ A22 @ ( produc3091253522927621199_mat_a @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_a @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_a @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_a @ A22 @ ( carrier_mat_a @ Sr1 @ Sc2 ) ) ) ) ) ).

% split_block(2)
thf(fact_612_split__block_I2_J,axiom,
    ! [A: mat_complex,Sr1: nat,Sc1: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_complex @ A @ Sr1 @ Sc1 )
        = ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_complex @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_complex @ A22 @ ( carrier_mat_complex @ Sr1 @ Sc2 ) ) ) ) ) ).

% split_block(2)
thf(fact_613_split__block_I1_J,axiom,
    ! [A: mat_a,Sr1: nat,Sc1: nat,A1: mat_a,A22: mat_a,A32: mat_a,A42: mat_a,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_a @ A @ Sr1 @ Sc1 )
        = ( produc5286753621172121189_mat_a @ A1 @ ( produc7602877900562455331_mat_a @ A22 @ ( produc3091253522927621199_mat_a @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_a @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_a @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_a @ A1 @ ( carrier_mat_a @ Sr1 @ Sc1 ) ) ) ) ) ).

% split_block(1)
thf(fact_614_split__block_I1_J,axiom,
    ! [A: mat_complex,Sr1: nat,Sc1: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_complex @ A @ Sr1 @ Sc1 )
        = ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_complex @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( member_mat_complex @ A1 @ ( carrier_mat_complex @ Sr1 @ Sc1 ) ) ) ) ) ).

% split_block(1)
thf(fact_615_split__block__commute__subblock,axiom,
    ! [D: mat_a,N: nat,B: mat_a,A2: nat,B1: mat_a,B22: mat_a,B32: mat_a,B42: mat_a,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_a @ B @ A2 @ A2 )
                = ( produc5286753621172121189_mat_a @ B1 @ ( produc7602877900562455331_mat_a @ B22 @ ( produc3091253522927621199_mat_a @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_a @ D @ A2 @ A2 )
                  = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
               => ( ( ( times_times_mat_a @ B @ D )
                    = ( times_times_mat_a @ D @ B ) )
                 => ( ( times_times_mat_a @ B42 @ D4 )
                    = ( times_times_mat_a @ D4 @ B42 ) ) ) ) ) ) ) ) ) ).

% split_block_commute_subblock
thf(fact_616_split__block__commute__subblock,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,A2: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex] :
      ( ( diagonal_mat_complex @ D )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( ord_less_eq_nat @ A2 @ N )
           => ( ( ( split_block_complex @ B @ A2 @ A2 )
                = ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) ) )
             => ( ( ( split_block_complex @ D @ A2 @ A2 )
                  = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
               => ( ( ( times_8009071140041733218omplex @ B @ D )
                    = ( times_8009071140041733218omplex @ D @ B ) )
                 => ( ( times_8009071140041733218omplex @ B42 @ D4 )
                    = ( times_8009071140041733218omplex @ D4 @ B42 ) ) ) ) ) ) ) ) ) ).

% split_block_commute_subblock
thf(fact_617_split__block__hermitian__4,axiom,
    ! [A: mat_complex,N: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( ( ord_less_eq_nat @ N @ ( dim_row_complex @ A ) )
       => ( ( ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) )
            = ( split_block_complex @ A @ N @ N ) )
         => ( comple8306762464034002205omplex @ A42 ) ) ) ) ).

% split_block_hermitian_4
thf(fact_618_split__block__hermitian__1,axiom,
    ! [A: mat_complex,N: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( ( ord_less_eq_nat @ N @ ( dim_row_complex @ A ) )
       => ( ( ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) )
            = ( split_block_complex @ A @ N @ N ) )
         => ( comple8306762464034002205omplex @ A1 ) ) ) ) ).

% split_block_hermitian_1
thf(fact_619_split__block_I5_J,axiom,
    ! [A: mat_complex,Sr1: nat,Sc1: nat,A1: mat_complex,A22: mat_complex,A32: mat_complex,A42: mat_complex,Sr2: nat,Sc2: nat] :
      ( ( ( split_block_complex @ A @ Sr1 @ Sc1 )
        = ( produc1901862033385395287omplex @ A1 @ ( produc2861545499953221015omplex @ A22 @ ( produc3658446505030690647omplex @ A32 @ A42 ) ) ) )
     => ( ( ( dim_row_complex @ A )
          = ( plus_plus_nat @ Sr1 @ Sr2 ) )
       => ( ( ( dim_col_complex @ A )
            = ( plus_plus_nat @ Sc1 @ Sc2 ) )
         => ( A
            = ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) ) ) ) ) ).

% split_block(5)
thf(fact_620_hermitian__square__hermitian,axiom,
    ! [A: mat_a] :
      ( ( complex_hermitian_a @ A )
     => ( complex_hermitian_a @ ( times_times_mat_a @ A @ A ) ) ) ).

% hermitian_square_hermitian
thf(fact_621_hermitian__square__hermitian,axiom,
    ! [A: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( comple8306762464034002205omplex @ ( times_8009071140041733218omplex @ A @ A ) ) ) ).

% hermitian_square_hermitian
thf(fact_622_hermitian__def,axiom,
    ( complex_hermitian_a
    = ( ^ [A5: mat_a] :
          ( ( schur_mat_adjoint_a @ A5 )
          = A5 ) ) ) ).

% hermitian_def
thf(fact_623_hermitian__def,axiom,
    ( comple8306762464034002205omplex
    = ( ^ [A5: mat_complex] :
          ( ( schur_5982229384592763574omplex @ A5 )
          = A5 ) ) ) ).

% hermitian_def
thf(fact_624_four__block__carrier__mat,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,D: mat_a,Nr2: nat,Nc2: nat,B: mat_a,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
       => ( member_mat_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ ( carrier_mat_a @ ( plus_plus_nat @ Nr1 @ Nr2 ) @ ( plus_plus_nat @ Nc1 @ Nc2 ) ) ) ) ) ).

% four_block_carrier_mat
thf(fact_625_four__block__carrier__mat,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,D: mat_complex,Nr2: nat,Nc2: nat,B: mat_complex,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
       => ( member_mat_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ ( carrier_mat_complex @ ( plus_plus_nat @ Nr1 @ Nr2 ) @ ( plus_plus_nat @ Nc1 @ Nc2 ) ) ) ) ) ).

% four_block_carrier_mat
thf(fact_626_index__mat__four__block_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( dim_row_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) )
      = ( plus_plus_nat @ ( dim_row_complex @ A ) @ ( dim_row_complex @ D ) ) ) ).

% index_mat_four_block(2)
thf(fact_627_index__mat__four__block_I3_J,axiom,
    ! [A: mat_complex,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( dim_col_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) )
      = ( plus_plus_nat @ ( dim_col_complex @ A ) @ ( dim_col_complex @ D ) ) ) ).

% index_mat_four_block(3)
thf(fact_628_four__block__mat__adjoint,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ( schur_mat_adjoint_a @ ( four_block_mat_a @ A @ B @ C @ D ) )
              = ( four_block_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( schur_mat_adjoint_a @ C ) @ ( schur_mat_adjoint_a @ B ) @ ( schur_mat_adjoint_a @ D ) ) ) ) ) ) ) ).

% four_block_mat_adjoint
thf(fact_629_four__block__mat__adjoint,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ( schur_5982229384592763574omplex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) )
              = ( four_b559179830521662709omplex @ ( schur_5982229384592763574omplex @ A ) @ ( schur_5982229384592763574omplex @ C ) @ ( schur_5982229384592763574omplex @ B ) @ ( schur_5982229384592763574omplex @ D ) ) ) ) ) ) ) ).

% four_block_mat_adjoint
thf(fact_630_add__four__block__mat,axiom,
    ! [A1: mat_a,Nr1: nat,Nc1: nat,B1: mat_a,Nc2: nat,C1: mat_a,Nr2: nat,D1: mat_a,A22: mat_a,B22: mat_a,C22: mat_a,D22: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B1 @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C1 @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D1 @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
             => ( ( member_mat_a @ B22 @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
               => ( ( member_mat_a @ C22 @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
                 => ( ( member_mat_a @ D22 @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
                   => ( ( plus_plus_mat_a @ ( four_block_mat_a @ A1 @ B1 @ C1 @ D1 ) @ ( four_block_mat_a @ A22 @ B22 @ C22 @ D22 ) )
                      = ( four_block_mat_a @ ( plus_plus_mat_a @ A1 @ A22 ) @ ( plus_plus_mat_a @ B1 @ B22 ) @ ( plus_plus_mat_a @ C1 @ C22 ) @ ( plus_plus_mat_a @ D1 @ D22 ) ) ) ) ) ) ) ) ) ) ) ).

% add_four_block_mat
thf(fact_631_add__four__block__mat,axiom,
    ! [A1: mat_complex,Nr1: nat,Nc1: nat,B1: mat_complex,Nc2: nat,C1: mat_complex,Nr2: nat,D1: mat_complex,A22: mat_complex,B22: mat_complex,C22: mat_complex,D22: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B1 @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C1 @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D1 @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
             => ( ( member_mat_complex @ B22 @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
               => ( ( member_mat_complex @ C22 @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
                 => ( ( member_mat_complex @ D22 @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
                   => ( ( plus_p8323303612493835998omplex @ ( four_b559179830521662709omplex @ A1 @ B1 @ C1 @ D1 ) @ ( four_b559179830521662709omplex @ A22 @ B22 @ C22 @ D22 ) )
                      = ( four_b559179830521662709omplex @ ( plus_p8323303612493835998omplex @ A1 @ A22 ) @ ( plus_p8323303612493835998omplex @ B1 @ B22 ) @ ( plus_p8323303612493835998omplex @ C1 @ C22 ) @ ( plus_p8323303612493835998omplex @ D1 @ D22 ) ) ) ) ) ) ) ) ) ) ) ).

% add_four_block_mat
thf(fact_632_smult__four__block__mat,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a,A2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ( smult_mat_a @ A2 @ ( four_block_mat_a @ A @ B @ C @ D ) )
              = ( four_block_mat_a @ ( smult_mat_a @ A2 @ A ) @ ( smult_mat_a @ A2 @ B ) @ ( smult_mat_a @ A2 @ C ) @ ( smult_mat_a @ A2 @ D ) ) ) ) ) ) ) ).

% smult_four_block_mat
thf(fact_633_smult__four__block__mat,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex,A2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ( smult_mat_complex @ A2 @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) )
              = ( four_b559179830521662709omplex @ ( smult_mat_complex @ A2 @ A ) @ ( smult_mat_complex @ A2 @ B ) @ ( smult_mat_complex @ A2 @ C ) @ ( smult_mat_complex @ A2 @ D ) ) ) ) ) ) ) ).

% smult_four_block_mat
thf(fact_634_hermitian__square,axiom,
    ! [M5: mat_a] :
      ( ( complex_hermitian_a @ M5 )
     => ( member_mat_a @ M5 @ ( carrier_mat_a @ ( dim_row_a @ M5 ) @ ( dim_row_a @ M5 ) ) ) ) ).

% hermitian_square
thf(fact_635_hermitian__square,axiom,
    ! [M5: mat_complex] :
      ( ( comple8306762464034002205omplex @ M5 )
     => ( member_mat_complex @ M5 @ ( carrier_mat_complex @ ( dim_row_complex @ M5 ) @ ( dim_row_complex @ M5 ) ) ) ) ).

% hermitian_square
thf(fact_636_hermitian__add,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_hermitian_a @ A )
         => ( ( complex_hermitian_a @ B )
           => ( complex_hermitian_a @ ( plus_plus_mat_a @ A @ B ) ) ) ) ) ) ).

% hermitian_add
thf(fact_637_hermitian__add,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A )
         => ( ( comple8306762464034002205omplex @ B )
           => ( comple8306762464034002205omplex @ ( plus_p8323303612493835998omplex @ A @ B ) ) ) ) ) ) ).

% hermitian_add
thf(fact_638_hermitian__is__normal,axiom,
    ! [A: mat_a] :
      ( ( complex_hermitian_a @ A )
     => ( ( times_times_mat_a @ A @ ( schur_mat_adjoint_a @ A ) )
        = ( times_times_mat_a @ ( schur_mat_adjoint_a @ A ) @ A ) ) ) ).

% hermitian_is_normal
thf(fact_639_hermitian__is__normal,axiom,
    ! [A: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( ( times_8009071140041733218omplex @ A @ ( schur_5982229384592763574omplex @ A ) )
        = ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ A ) @ A ) ) ) ).

% hermitian_is_normal
thf(fact_640_mult__four__block__mat,axiom,
    ! [A1: mat_a,Nr1: nat,N1: nat,B1: mat_a,N22: nat,C1: mat_a,Nr2: nat,D1: mat_a,A22: mat_a,Nc1: nat,B22: mat_a,Nc2: nat,C22: mat_a,D22: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ Nr1 @ N1 ) )
     => ( ( member_mat_a @ B1 @ ( carrier_mat_a @ Nr1 @ N22 ) )
       => ( ( member_mat_a @ C1 @ ( carrier_mat_a @ Nr2 @ N1 ) )
         => ( ( member_mat_a @ D1 @ ( carrier_mat_a @ Nr2 @ N22 ) )
           => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ N1 @ Nc1 ) )
             => ( ( member_mat_a @ B22 @ ( carrier_mat_a @ N1 @ Nc2 ) )
               => ( ( member_mat_a @ C22 @ ( carrier_mat_a @ N22 @ Nc1 ) )
                 => ( ( member_mat_a @ D22 @ ( carrier_mat_a @ N22 @ Nc2 ) )
                   => ( ( times_times_mat_a @ ( four_block_mat_a @ A1 @ B1 @ C1 @ D1 ) @ ( four_block_mat_a @ A22 @ B22 @ C22 @ D22 ) )
                      = ( four_block_mat_a @ ( plus_plus_mat_a @ ( times_times_mat_a @ A1 @ A22 ) @ ( times_times_mat_a @ B1 @ C22 ) ) @ ( plus_plus_mat_a @ ( times_times_mat_a @ A1 @ B22 ) @ ( times_times_mat_a @ B1 @ D22 ) ) @ ( plus_plus_mat_a @ ( times_times_mat_a @ C1 @ A22 ) @ ( times_times_mat_a @ D1 @ C22 ) ) @ ( plus_plus_mat_a @ ( times_times_mat_a @ C1 @ B22 ) @ ( times_times_mat_a @ D1 @ D22 ) ) ) ) ) ) ) ) ) ) ) ) ).

% mult_four_block_mat
thf(fact_641_mult__four__block__mat,axiom,
    ! [A1: mat_complex,Nr1: nat,N1: nat,B1: mat_complex,N22: nat,C1: mat_complex,Nr2: nat,D1: mat_complex,A22: mat_complex,Nc1: nat,B22: mat_complex,Nc2: nat,C22: mat_complex,D22: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ Nr1 @ N1 ) )
     => ( ( member_mat_complex @ B1 @ ( carrier_mat_complex @ Nr1 @ N22 ) )
       => ( ( member_mat_complex @ C1 @ ( carrier_mat_complex @ Nr2 @ N1 ) )
         => ( ( member_mat_complex @ D1 @ ( carrier_mat_complex @ Nr2 @ N22 ) )
           => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ N1 @ Nc1 ) )
             => ( ( member_mat_complex @ B22 @ ( carrier_mat_complex @ N1 @ Nc2 ) )
               => ( ( member_mat_complex @ C22 @ ( carrier_mat_complex @ N22 @ Nc1 ) )
                 => ( ( member_mat_complex @ D22 @ ( carrier_mat_complex @ N22 @ Nc2 ) )
                   => ( ( times_8009071140041733218omplex @ ( four_b559179830521662709omplex @ A1 @ B1 @ C1 @ D1 ) @ ( four_b559179830521662709omplex @ A22 @ B22 @ C22 @ D22 ) )
                      = ( four_b559179830521662709omplex @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A1 @ A22 ) @ ( times_8009071140041733218omplex @ B1 @ C22 ) ) @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A1 @ B22 ) @ ( times_8009071140041733218omplex @ B1 @ D22 ) ) @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ C1 @ A22 ) @ ( times_8009071140041733218omplex @ D1 @ C22 ) ) @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ C1 @ B22 ) @ ( times_8009071140041733218omplex @ D1 @ D22 ) ) ) ) ) ) ) ) ) ) ) ) ).

% mult_four_block_mat
thf(fact_642_mult__adjoint__hermitian,axiom,
    ! [A: mat_a,N: nat,M: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( complex_hermitian_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ A ) @ A ) ) ) ).

% mult_adjoint_hermitian
thf(fact_643_mult__adjoint__hermitian,axiom,
    ! [A: mat_complex,N: nat,M: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( comple8306762464034002205omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ A ) @ A ) ) ) ).

% mult_adjoint_hermitian
thf(fact_644_index__mat__four__block_I1_J,axiom,
    ! [I: nat,A: mat_a,D: mat_a,J: nat,B: mat_a,C: mat_a] :
      ( ( ord_less_nat @ I @ ( plus_plus_nat @ ( dim_row_a @ A ) @ ( dim_row_a @ D ) ) )
     => ( ( ord_less_nat @ J @ ( plus_plus_nat @ ( dim_col_a @ A ) @ ( dim_col_a @ D ) ) )
       => ( ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
           => ( ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
               => ( ( index_mat_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) )
              & ( ~ ( ord_less_nat @ J @ ( dim_col_a @ A ) )
               => ( ( index_mat_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ ( minus_minus_nat @ J @ ( dim_col_a @ A ) ) ) ) ) ) ) )
          & ( ~ ( ord_less_nat @ I @ ( dim_row_a @ A ) )
           => ( ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
               => ( ( index_mat_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ C @ ( product_Pair_nat_nat @ ( minus_minus_nat @ I @ ( dim_row_a @ A ) ) @ J ) ) ) )
              & ( ~ ( ord_less_nat @ J @ ( dim_col_a @ A ) )
               => ( ( index_mat_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_a @ D @ ( product_Pair_nat_nat @ ( minus_minus_nat @ I @ ( dim_row_a @ A ) ) @ ( minus_minus_nat @ J @ ( dim_col_a @ A ) ) ) ) ) ) ) ) ) ) ) ).

% index_mat_four_block(1)
thf(fact_645_index__mat__four__block_I1_J,axiom,
    ! [I: nat,A: mat_complex,D: mat_complex,J: nat,B: mat_complex,C: mat_complex] :
      ( ( ord_less_nat @ I @ ( plus_plus_nat @ ( dim_row_complex @ A ) @ ( dim_row_complex @ D ) ) )
     => ( ( ord_less_nat @ J @ ( plus_plus_nat @ ( dim_col_complex @ A ) @ ( dim_col_complex @ D ) ) )
       => ( ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
           => ( ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
               => ( ( index_mat_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) )
              & ( ~ ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
               => ( ( index_mat_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ ( minus_minus_nat @ J @ ( dim_col_complex @ A ) ) ) ) ) ) ) )
          & ( ~ ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
           => ( ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
               => ( ( index_mat_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ C @ ( product_Pair_nat_nat @ ( minus_minus_nat @ I @ ( dim_row_complex @ A ) ) @ J ) ) ) )
              & ( ~ ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
               => ( ( index_mat_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ ( product_Pair_nat_nat @ I @ J ) )
                  = ( index_mat_complex @ D @ ( product_Pair_nat_nat @ ( minus_minus_nat @ I @ ( dim_row_complex @ A ) ) @ ( minus_minus_nat @ J @ ( dim_col_complex @ A ) ) ) ) ) ) ) ) ) ) ) ).

% index_mat_four_block(1)
thf(fact_646_split__block__diag__carrier_I2_J,axiom,
    ! [D: mat_a,N: nat,A2: nat,D1: mat_a,D22: mat_a,D3: mat_a,D4: mat_a] :
      ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_eq_nat @ A2 @ N )
       => ( ( ( split_block_a @ D @ A2 @ A2 )
            = ( produc5286753621172121189_mat_a @ D1 @ ( produc7602877900562455331_mat_a @ D22 @ ( produc3091253522927621199_mat_a @ D3 @ D4 ) ) ) )
         => ( member_mat_a @ D4 @ ( carrier_mat_a @ ( minus_minus_nat @ N @ A2 ) @ ( minus_minus_nat @ N @ A2 ) ) ) ) ) ) ).

% split_block_diag_carrier(2)
thf(fact_647_split__block__diag__carrier_I2_J,axiom,
    ! [D: mat_complex,N: nat,A2: nat,D1: mat_complex,D22: mat_complex,D3: mat_complex,D4: mat_complex] :
      ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_eq_nat @ A2 @ N )
       => ( ( ( split_block_complex @ D @ A2 @ A2 )
            = ( produc1901862033385395287omplex @ D1 @ ( produc2861545499953221015omplex @ D22 @ ( produc3658446505030690647omplex @ D3 @ D4 ) ) ) )
         => ( member_mat_complex @ D4 @ ( carrier_mat_complex @ ( minus_minus_nat @ N @ A2 ) @ ( minus_minus_nat @ N @ A2 ) ) ) ) ) ) ).

% split_block_diag_carrier(2)
thf(fact_648_less__imp__diff__less,axiom,
    ! [J: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ J @ K2 )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K2 ) ) ).

% less_imp_diff_less
thf(fact_649_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_650_Rings_Oring__distribs_I4_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C2 ) ) ) ).

% Rings.ring_distribs(4)
thf(fact_651_Rings_Oring__distribs_I3_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ C2 )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ C2 ) @ ( times_times_complex @ B2 @ C2 ) ) ) ).

% Rings.ring_distribs(3)
thf(fact_652_left__diff__distrib_H,axiom,
    ! [B2: nat,C2: nat,A2: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ B2 @ C2 ) @ A2 )
      = ( minus_minus_nat @ ( times_times_nat @ B2 @ A2 ) @ ( times_times_nat @ C2 @ A2 ) ) ) ).

% left_diff_distrib'
thf(fact_653_left__diff__distrib_H,axiom,
    ! [B2: complex,C2: complex,A2: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ B2 @ C2 ) @ A2 )
      = ( minus_minus_complex @ ( times_times_complex @ B2 @ A2 ) @ ( times_times_complex @ C2 @ A2 ) ) ) ).

% left_diff_distrib'
thf(fact_654_right__diff__distrib_H,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( times_times_nat @ A2 @ ( minus_minus_nat @ B2 @ C2 ) )
      = ( minus_minus_nat @ ( times_times_nat @ A2 @ B2 ) @ ( times_times_nat @ A2 @ C2 ) ) ) ).

% right_diff_distrib'
thf(fact_655_right__diff__distrib_H,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_times_complex @ A2 @ C2 ) ) ) ).

% right_diff_distrib'
thf(fact_656_vector__space__over__itself_Oscale__right__diff__distrib,axiom,
    ! [A2: complex,X: complex,Y3: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ X @ Y3 ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ A2 @ Y3 ) ) ) ).

% vector_space_over_itself.scale_right_diff_distrib
thf(fact_657_vector__space__over__itself_Oscale__left__diff__distrib,axiom,
    ! [A2: complex,B2: complex,X: complex] :
      ( ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ X )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ B2 @ X ) ) ) ).

% vector_space_over_itself.scale_left_diff_distrib
thf(fact_658_arithmetic__simps_I57_J,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ A2 @ zero_zero_complex )
      = A2 ) ).

% arithmetic_simps(57)
thf(fact_659_diff__self,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ A2 @ A2 )
      = zero_zero_complex ) ).

% diff_self
thf(fact_660_right__minus__eq,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( minus_minus_complex @ A2 @ B2 )
        = zero_zero_complex )
      = ( A2 = B2 ) ) ).

% right_minus_eq
thf(fact_661_zero__diff,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_662_diff__zero,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ A2 @ zero_zero_complex )
      = A2 ) ).

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

% diff_zero
thf(fact_664_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ A2 @ A2 )
      = zero_zero_complex ) ).

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

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_666_diff__Pair,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( minus_4365393887724441320at_nat @ ( product_Pair_nat_nat @ A2 @ B2 ) @ ( product_Pair_nat_nat @ C2 @ D2 ) )
      = ( product_Pair_nat_nat @ ( minus_minus_nat @ A2 @ C2 ) @ ( minus_minus_nat @ B2 @ D2 ) ) ) ).

% diff_Pair
thf(fact_667_diff__Pair,axiom,
    ! [A2: nat,B2: mat_complex,C2: nat,D2: mat_complex] :
      ( ( minus_9125208095613564965omplex @ ( produc4998868960714853886omplex @ A2 @ B2 ) @ ( produc4998868960714853886omplex @ C2 @ D2 ) )
      = ( produc4998868960714853886omplex @ ( minus_minus_nat @ A2 @ C2 ) @ ( minus_2412168080157227406omplex @ B2 @ D2 ) ) ) ).

% diff_Pair
thf(fact_668_diff__Pair,axiom,
    ! [A2: mat_complex,B2: nat,C2: mat_complex,D2: nat] :
      ( ( minus_1583438508407137535ex_nat @ ( produc3916067632315525152ex_nat @ A2 @ B2 ) @ ( produc3916067632315525152ex_nat @ C2 @ D2 ) )
      = ( produc3916067632315525152ex_nat @ ( minus_2412168080157227406omplex @ A2 @ C2 ) @ ( minus_minus_nat @ B2 @ D2 ) ) ) ).

% diff_Pair
thf(fact_669_diff__Pair,axiom,
    ! [A2: mat_complex,B2: mat_complex,C2: mat_complex,D2: mat_complex] :
      ( ( minus_2734116836287720782omplex @ ( produc3658446505030690647omplex @ A2 @ B2 ) @ ( produc3658446505030690647omplex @ C2 @ D2 ) )
      = ( produc3658446505030690647omplex @ ( minus_2412168080157227406omplex @ A2 @ C2 ) @ ( minus_2412168080157227406omplex @ B2 @ D2 ) ) ) ).

% diff_Pair
thf(fact_670_le__iff__diff__le__0,axiom,
    ( ord_less_eq_complex
    = ( ^ [A6: complex,B6: complex] : ( ord_less_eq_complex @ ( minus_minus_complex @ A6 @ B6 ) @ zero_zero_complex ) ) ) ).

% le_iff_diff_le_0
thf(fact_671_diff__ge__0__iff__ge,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ ( minus_minus_complex @ A2 @ B2 ) )
      = ( ord_less_eq_complex @ B2 @ A2 ) ) ).

% diff_ge_0_iff_ge
thf(fact_672_less__iff__diff__less__0,axiom,
    ( ord_less_complex
    = ( ^ [A6: complex,B6: complex] : ( ord_less_complex @ ( minus_minus_complex @ A6 @ B6 ) @ zero_zero_complex ) ) ) ).

% less_iff_diff_less_0
thf(fact_673_diff__gt__0__iff__gt,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ zero_zero_complex @ ( minus_minus_complex @ A2 @ B2 ) )
      = ( ord_less_complex @ B2 @ A2 ) ) ).

% diff_gt_0_iff_gt
thf(fact_674_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_675_add__le__imp__le__diff,axiom,
    ! [I: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K2 ) ) ) ).

% add_le_imp_le_diff
thf(fact_676_le__add__diff__inverse,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_eq_nat @ B2 @ A2 )
     => ( ( plus_plus_nat @ B2 @ ( minus_minus_nat @ A2 @ B2 ) )
        = A2 ) ) ).

% le_add_diff_inverse
thf(fact_677_le__add__diff__inverse2,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_eq_nat @ B2 @ A2 )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A2 @ B2 ) @ B2 )
        = A2 ) ) ).

% le_add_diff_inverse2
thf(fact_678_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K2: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K2 ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_679_eq__add__iff1,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 )
        = ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ E ) @ C2 )
        = D2 ) ) ).

% eq_add_iff1
thf(fact_680_eq__add__iff2,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 )
        = ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( C2
        = ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

% eq_add_iff2
thf(fact_681_square__diff__square__factored,axiom,
    ! [X: complex,Y3: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X @ X ) @ ( times_times_complex @ Y3 @ Y3 ) )
      = ( times_times_complex @ ( plus_plus_complex @ X @ Y3 ) @ ( minus_minus_complex @ X @ Y3 ) ) ) ).

% square_diff_square_factored
thf(fact_682_mult__diff__mult,axiom,
    ! [X: complex,Y3: complex,A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X @ Y3 ) @ ( times_times_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ X @ ( minus_minus_complex @ Y3 @ B2 ) ) @ ( times_times_complex @ ( minus_minus_complex @ X @ A2 ) @ B2 ) ) ) ).

% mult_diff_mult
thf(fact_683_cross3__simps_I20_J,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ ( minus_minus_complex @ C2 @ B2 ) )
      = ( ord_less_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 ) ) ).

% cross3_simps(20)
thf(fact_684_cross3__simps_I19_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ ( minus_minus_complex @ A2 @ B2 ) @ C2 )
      = ( ord_less_complex @ A2 @ ( plus_plus_complex @ C2 @ B2 ) ) ) ).

% cross3_simps(19)
thf(fact_685_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_686_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M ) )
      = ( ord_less_nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_687_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_688_diff__less__mono,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ C2 @ A2 )
       => ( ord_less_nat @ ( minus_minus_nat @ A2 @ C2 ) @ ( minus_minus_nat @ B2 @ C2 ) ) ) ) ).

% diff_less_mono
thf(fact_689_less__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_690_less__diff__conv,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ).

% less_diff_conv
thf(fact_691_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_692_index__minus__mat_I1_J,axiom,
    ! [I: nat,B: mat_a,J: nat,A: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_a @ B ) )
       => ( ( index_mat_a @ ( minus_minus_mat_a @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( minus_minus_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_minus_mat(1)
thf(fact_693_index__minus__mat_I1_J,axiom,
    ! [I: nat,B: mat_nat,J: nat,A: mat_nat] :
      ( ( ord_less_nat @ I @ ( dim_row_nat @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_nat @ B ) )
       => ( ( index_mat_nat @ ( minus_minus_mat_nat @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( minus_minus_nat @ ( index_mat_nat @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_nat @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_minus_mat(1)
thf(fact_694_index__minus__mat_I1_J,axiom,
    ! [I: nat,B: mat_mat_complex,J: nat,A: mat_mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_complex @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_mat_complex @ B ) )
       => ( ( index_7093623372566408491omplex @ ( minus_1104642222790461277omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( minus_2412168080157227406omplex @ ( index_7093623372566408491omplex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_7093623372566408491omplex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_minus_mat(1)
thf(fact_695_index__minus__mat_I1_J,axiom,
    ! [I: nat,B: mat_complex,J: nat,A: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ B ) )
     => ( ( ord_less_nat @ J @ ( dim_col_complex @ B ) )
       => ( ( index_mat_complex @ ( minus_2412168080157227406omplex @ A @ B ) @ ( product_Pair_nat_nat @ I @ J ) )
          = ( minus_minus_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ).

% index_minus_mat(1)
thf(fact_696_ordered__ring__class_Ole__add__iff2,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ord_less_eq_complex @ ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ord_less_eq_complex @ C2 @ ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

% ordered_ring_class.le_add_iff2
thf(fact_697_ordered__ring__class_Ole__add__iff1,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ord_less_eq_complex @ ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ord_less_eq_complex @ ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ E ) @ C2 ) @ D2 ) ) ).

% ordered_ring_class.le_add_iff1
thf(fact_698_less__add__iff1,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ord_less_complex @ ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ A2 @ B2 ) @ E ) @ C2 ) @ D2 ) ) ).

% less_add_iff1
thf(fact_699_less__add__iff2,axiom,
    ! [A2: complex,E: complex,C2: complex,B2: complex,D2: complex] :
      ( ( ord_less_complex @ ( plus_plus_complex @ ( times_times_complex @ A2 @ E ) @ C2 ) @ ( plus_plus_complex @ ( times_times_complex @ B2 @ E ) @ D2 ) )
      = ( ord_less_complex @ C2 @ ( plus_plus_complex @ ( times_times_complex @ ( minus_minus_complex @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

% less_add_iff2
thf(fact_700_nat__diff__split__asm,axiom,
    ! [P: nat > $o,A2: nat,B2: nat] :
      ( ( P @ ( minus_minus_nat @ A2 @ B2 ) )
      = ( ~ ( ( ( ord_less_nat @ A2 @ B2 )
              & ~ ( P @ zero_zero_nat ) )
            | ? [D5: nat] :
                ( ( A2
                  = ( plus_plus_nat @ B2 @ D5 ) )
                & ~ ( P @ D5 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_701_nat__diff__split,axiom,
    ! [P: nat > $o,A2: nat,B2: nat] :
      ( ( P @ ( minus_minus_nat @ A2 @ B2 ) )
      = ( ( ( ord_less_nat @ A2 @ B2 )
         => ( P @ zero_zero_nat ) )
        & ! [D5: nat] :
            ( ( A2
              = ( plus_plus_nat @ B2 @ D5 ) )
           => ( P @ D5 ) ) ) ) ).

% nat_diff_split
thf(fact_702_less__diff__conv2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K2 ) ) ) ) ).

% less_diff_conv2
thf(fact_703_nat__less__add__iff1,axiom,
    ! [J: nat,I: nat,U2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ J @ I )
     => ( ( ord_less_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U2 ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U2 ) @ N ) )
        = ( ord_less_nat @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ I @ J ) @ U2 ) @ M ) @ N ) ) ) ).

% nat_less_add_iff1
thf(fact_704_nat__less__add__iff2,axiom,
    ! [I: nat,J: nat,U2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U2 ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U2 ) @ N ) )
        = ( ord_less_nat @ M @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ J @ I ) @ U2 ) @ N ) ) ) ) ).

% nat_less_add_iff2
thf(fact_705_commute__diag__mat__split__block_I2_J,axiom,
    ! [D: mat_a,N: nat,B: mat_a,K2: nat,B1: mat_a,B22: mat_a,B32: mat_a,B42: mat_a] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ( times_times_mat_a @ B @ D )
              = ( times_times_mat_a @ D @ B ) )
           => ( ( ord_less_eq_nat @ K2 @ N )
             => ( ! [I3: nat,J3: nat] :
                    ( ( ( ord_less_nat @ I3 @ K2 )
                      & ( ord_less_eq_nat @ K2 @ J3 )
                      & ( ord_less_nat @ J3 @ N ) )
                   => ( ( index_mat_a @ D @ ( product_Pair_nat_nat @ I3 @ I3 ) )
                     != ( index_mat_a @ D @ ( product_Pair_nat_nat @ J3 @ J3 ) ) ) )
               => ( ( ( produc5286753621172121189_mat_a @ B1 @ ( produc7602877900562455331_mat_a @ B22 @ ( produc3091253522927621199_mat_a @ B32 @ B42 ) ) )
                    = ( split_block_a @ B @ K2 @ K2 ) )
                 => ( B32
                    = ( zero_mat_a @ ( minus_minus_nat @ N @ K2 ) @ K2 ) ) ) ) ) ) ) ) ) ).

% commute_diag_mat_split_block(2)
thf(fact_706_commute__diag__mat__split__block_I2_J,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,K2: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex] :
      ( ( 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 ) )
           => ( ( ord_less_eq_nat @ K2 @ N )
             => ( ! [I3: nat,J3: nat] :
                    ( ( ( ord_less_nat @ I3 @ K2 )
                      & ( ord_less_eq_nat @ K2 @ J3 )
                      & ( ord_less_nat @ J3 @ N ) )
                   => ( ( index_mat_complex @ D @ ( product_Pair_nat_nat @ I3 @ I3 ) )
                     != ( index_mat_complex @ D @ ( product_Pair_nat_nat @ J3 @ J3 ) ) ) )
               => ( ( ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) )
                    = ( split_block_complex @ B @ K2 @ K2 ) )
                 => ( B32
                    = ( zero_mat_complex @ ( minus_minus_nat @ N @ K2 ) @ K2 ) ) ) ) ) ) ) ) ) ).

% commute_diag_mat_split_block(2)
thf(fact_707_commute__diag__mat__split__block_I1_J,axiom,
    ! [D: mat_a,N: nat,B: mat_a,K2: nat,B1: mat_a,B22: mat_a,B32: mat_a,B42: mat_a] :
      ( ( diagonal_mat_a @ D )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
         => ( ( ( times_times_mat_a @ B @ D )
              = ( times_times_mat_a @ D @ B ) )
           => ( ( ord_less_eq_nat @ K2 @ N )
             => ( ! [I3: nat,J3: nat] :
                    ( ( ( ord_less_nat @ I3 @ K2 )
                      & ( ord_less_eq_nat @ K2 @ J3 )
                      & ( ord_less_nat @ J3 @ N ) )
                   => ( ( index_mat_a @ D @ ( product_Pair_nat_nat @ I3 @ I3 ) )
                     != ( index_mat_a @ D @ ( product_Pair_nat_nat @ J3 @ J3 ) ) ) )
               => ( ( ( produc5286753621172121189_mat_a @ B1 @ ( produc7602877900562455331_mat_a @ B22 @ ( produc3091253522927621199_mat_a @ B32 @ B42 ) ) )
                    = ( split_block_a @ B @ K2 @ K2 ) )
                 => ( B22
                    = ( zero_mat_a @ K2 @ ( minus_minus_nat @ N @ K2 ) ) ) ) ) ) ) ) ) ) ).

% commute_diag_mat_split_block(1)
thf(fact_708_commute__diag__mat__split__block_I1_J,axiom,
    ! [D: mat_complex,N: nat,B: mat_complex,K2: nat,B1: mat_complex,B22: mat_complex,B32: mat_complex,B42: mat_complex] :
      ( ( 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 ) )
           => ( ( ord_less_eq_nat @ K2 @ N )
             => ( ! [I3: nat,J3: nat] :
                    ( ( ( ord_less_nat @ I3 @ K2 )
                      & ( ord_less_eq_nat @ K2 @ J3 )
                      & ( ord_less_nat @ J3 @ N ) )
                   => ( ( index_mat_complex @ D @ ( product_Pair_nat_nat @ I3 @ I3 ) )
                     != ( index_mat_complex @ D @ ( product_Pair_nat_nat @ J3 @ J3 ) ) ) )
               => ( ( ( produc1901862033385395287omplex @ B1 @ ( produc2861545499953221015omplex @ B22 @ ( produc3658446505030690647omplex @ B32 @ B42 ) ) )
                    = ( split_block_complex @ B @ K2 @ K2 ) )
                 => ( B22
                    = ( zero_mat_complex @ K2 @ ( minus_minus_nat @ N @ K2 ) ) ) ) ) ) ) ) ) ) ).

% commute_diag_mat_split_block(1)
thf(fact_709_add__col__sub__index__row,axiom,
    ! [I: nat,A: mat_a,J: nat,L: nat,K2: nat,A2: a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ A ) )
     => ( ( ord_less_nat @ I @ ( dim_col_a @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_row_a @ A ) )
         => ( ( ord_less_nat @ J @ ( dim_col_a @ A ) )
           => ( ( ord_less_nat @ L @ ( dim_row_a @ A ) )
             => ( ( ( ( I = K2 )
                    & ( J = L ) )
                 => ( ( index_mat_a @ ( column3081110322506813142_row_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                    = ( minus_minus_a @ ( minus_minus_a @ ( plus_plus_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ I ) ) ) ) @ ( times_times_a @ ( times_times_a @ A2 @ A2 ) @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ J @ I ) ) ) ) @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) )
                & ( ~ ( ( I = K2 )
                      & ( J = L ) )
                 => ( ( ( ( I = K2 )
                        & ( J != L ) )
                     => ( ( index_mat_a @ ( column3081110322506813142_row_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                        = ( minus_minus_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) ) ) )
                    & ( ~ ( ( I = K2 )
                          & ( J != L ) )
                     => ( ( ( ( I != K2 )
                            & ( J = L ) )
                         => ( ( index_mat_a @ ( column3081110322506813142_row_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                            = ( plus_plus_a @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_a @ A2 @ ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ K2 ) ) ) ) ) )
                        & ( ~ ( ( I != K2 )
                              & ( J = L ) )
                         => ( ( index_mat_a @ ( column3081110322506813142_row_a @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                            = ( index_mat_a @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% add_col_sub_index_row
thf(fact_710_add__col__sub__index__row,axiom,
    ! [I: nat,A: mat_complex,J: nat,L: nat,K2: nat,A2: complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ A ) )
     => ( ( ord_less_nat @ I @ ( dim_col_complex @ A ) )
       => ( ( ord_less_nat @ J @ ( dim_row_complex @ A ) )
         => ( ( ord_less_nat @ J @ ( dim_col_complex @ A ) )
           => ( ( ord_less_nat @ L @ ( dim_row_complex @ A ) )
             => ( ( ( ( I = K2 )
                    & ( J = L ) )
                 => ( ( index_mat_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                    = ( minus_minus_complex @ ( minus_minus_complex @ ( plus_plus_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ I ) ) ) ) @ ( times_times_complex @ ( times_times_complex @ A2 @ A2 ) @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ J @ I ) ) ) ) @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) )
                & ( ~ ( ( I = K2 )
                      & ( J = L ) )
                 => ( ( ( ( I = K2 )
                        & ( J != L ) )
                     => ( ( index_mat_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                        = ( minus_minus_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ L @ J ) ) ) ) ) )
                    & ( ~ ( ( I = K2 )
                          & ( J != L ) )
                     => ( ( ( ( I != K2 )
                            & ( J = L ) )
                         => ( ( index_mat_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                            = ( plus_plus_complex @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) @ ( times_times_complex @ A2 @ ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ K2 ) ) ) ) ) )
                        & ( ~ ( ( I != K2 )
                              & ( J = L ) )
                         => ( ( index_mat_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) @ ( product_Pair_nat_nat @ I @ J ) )
                            = ( index_mat_complex @ A @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% add_col_sub_index_row
thf(fact_711_poly__cancel__eq__conv,axiom,
    ! [X: complex,A2: complex,Y3: complex,B2: complex] :
      ( ( X = zero_zero_complex )
     => ( ( A2 != zero_zero_complex )
       => ( ( Y3 = zero_zero_complex )
          = ( ( minus_minus_complex @ ( times_times_complex @ A2 @ Y3 ) @ ( times_times_complex @ B2 @ X ) )
            = zero_zero_complex ) ) ) ) ).

% poly_cancel_eq_conv
thf(fact_712_right__minus__zero__mat,axiom,
    ! [A: mat_complex] :
      ( ( minus_2412168080157227406omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ A ) ) )
      = A ) ).

% right_minus_zero_mat
thf(fact_713_minus__r__inv__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( minus_minus_mat_a @ A @ A )
        = ( zero_mat_a @ Nr @ Nc ) ) ) ).

% minus_r_inv_mat
thf(fact_714_minus__r__inv__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( minus_2412168080157227406omplex @ A @ A )
        = ( zero_mat_complex @ Nr @ Nc ) ) ) ).

% minus_r_inv_mat
thf(fact_715_index__minus__mat_I3_J,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( dim_col_complex @ ( minus_2412168080157227406omplex @ A @ B ) )
      = ( dim_col_complex @ B ) ) ).

% index_minus_mat(3)
thf(fact_716_index__minus__mat_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( dim_row_complex @ ( minus_2412168080157227406omplex @ A @ B ) )
      = ( dim_row_complex @ B ) ) ).

% index_minus_mat(2)
thf(fact_717_minus__carrier__mat,axiom,
    ! [B: mat_a,Nr: nat,Nc: nat,A: mat_a] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( minus_minus_mat_a @ A @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% minus_carrier_mat
thf(fact_718_minus__carrier__mat,axiom,
    ! [B: mat_complex,Nr: nat,Nc: nat,A: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% minus_carrier_mat
thf(fact_719_minus__carrier__mat_H,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( member_mat_a @ ( minus_minus_mat_a @ A @ B ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% minus_carrier_mat'
thf(fact_720_minus__carrier__mat_H,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( member_mat_complex @ ( minus_2412168080157227406omplex @ A @ B ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% minus_carrier_mat'
thf(fact_721_zero__adjoint,axiom,
    ! [N: nat,M: nat] :
      ( ( schur_mat_adjoint_a @ ( zero_mat_a @ N @ M ) )
      = ( zero_mat_a @ M @ N ) ) ).

% zero_adjoint
thf(fact_722_zero__adjoint,axiom,
    ! [N: nat,M: nat] :
      ( ( schur_5982229384592763574omplex @ ( zero_mat_complex @ N @ M ) )
      = ( zero_mat_complex @ M @ N ) ) ).

% zero_adjoint
thf(fact_723_smult__zero__mat,axiom,
    ! [K2: complex,Nr: nat,Nc: nat] :
      ( ( smult_mat_complex @ K2 @ ( zero_mat_complex @ Nr @ Nc ) )
      = ( zero_mat_complex @ Nr @ Nc ) ) ).

% smult_zero_mat
thf(fact_724_upper__triangular__zero,axiom,
    ! [N: nat] : ( upper_4850907204721561915omplex @ ( zero_mat_complex @ N @ N ) ) ).

% upper_triangular_zero
thf(fact_725_zero__carrier__mat,axiom,
    ! [Nr: nat,Nc: nat] : ( member_mat_a @ ( zero_mat_a @ Nr @ Nc ) @ ( carrier_mat_a @ Nr @ Nc ) ) ).

% zero_carrier_mat
thf(fact_726_zero__carrier__mat,axiom,
    ! [Nr: nat,Nc: nat] : ( member_mat_complex @ ( zero_mat_complex @ Nr @ Nc ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ).

% zero_carrier_mat
thf(fact_727_index__zero__mat_I3_J,axiom,
    ! [Nr: nat,Nc: nat] :
      ( ( dim_col_complex @ ( zero_mat_complex @ Nr @ Nc ) )
      = Nc ) ).

% index_zero_mat(3)
thf(fact_728_index__zero__mat_I2_J,axiom,
    ! [Nr: nat,Nc: nat] :
      ( ( dim_row_complex @ ( zero_mat_complex @ Nr @ Nc ) )
      = Nr ) ).

% index_zero_mat(2)
thf(fact_729_zero__hermitian,axiom,
    ! [N: nat] : ( comple8306762464034002205omplex @ ( zero_mat_complex @ N @ N ) ) ).

% zero_hermitian
thf(fact_730_add__col__sub__row__carrier_I3_J,axiom,
    ! [A: mat_a,N: nat,A2: a,K2: nat,L: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( member_mat_a @ ( column3081110322506813142_row_a @ A2 @ K2 @ L @ A ) @ ( carrier_mat_a @ N @ N ) ) ) ).

% add_col_sub_row_carrier(3)
thf(fact_731_add__col__sub__row__carrier_I3_J,axiom,
    ! [A: mat_complex,N: nat,A2: complex,K2: nat,L: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% add_col_sub_row_carrier(3)
thf(fact_732_add__col__sub__row__carrier_I1_J,axiom,
    ! [A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% add_col_sub_row_carrier(1)
thf(fact_733_add__col__sub__row__carrier_I2_J,axiom,
    ! [A2: complex,K2: nat,L: nat,A: mat_complex] :
      ( ( dim_col_complex @ ( column6029646570091773654omplex @ A2 @ K2 @ L @ A ) )
      = ( dim_col_complex @ A ) ) ).

% add_col_sub_row_carrier(2)
thf(fact_734_right__mult__zero__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( times_times_mat_a @ A @ ( zero_mat_a @ N @ Nc ) )
        = ( zero_mat_a @ Nr @ Nc ) ) ) ).

% right_mult_zero_mat
thf(fact_735_right__mult__zero__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( times_8009071140041733218omplex @ A @ ( zero_mat_complex @ N @ Nc ) )
        = ( zero_mat_complex @ Nr @ Nc ) ) ) ).

% right_mult_zero_mat
thf(fact_736_left__mult__zero__mat,axiom,
    ! [A: mat_a,N: nat,Nc: nat,Nr: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) )
     => ( ( times_times_mat_a @ ( zero_mat_a @ Nr @ N ) @ A )
        = ( zero_mat_a @ Nr @ Nc ) ) ) ).

% left_mult_zero_mat
thf(fact_737_left__mult__zero__mat,axiom,
    ! [A: mat_complex,N: nat,Nc: nat,Nr: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ Nc ) )
     => ( ( times_8009071140041733218omplex @ ( zero_mat_complex @ Nr @ N ) @ A )
        = ( zero_mat_complex @ Nr @ Nc ) ) ) ).

% left_mult_zero_mat
thf(fact_738_four__block__zero__mat,axiom,
    ! [Nr1: nat,Nc1: nat,Nc2: nat,Nr2: nat] :
      ( ( four_b559179830521662709omplex @ ( zero_mat_complex @ Nr1 @ Nc1 ) @ ( zero_mat_complex @ Nr1 @ Nc2 ) @ ( zero_mat_complex @ Nr2 @ Nc1 ) @ ( zero_mat_complex @ Nr2 @ Nc2 ) )
      = ( zero_mat_complex @ ( plus_plus_nat @ Nr1 @ Nr2 ) @ ( plus_plus_nat @ Nc1 @ Nc2 ) ) ) ).

% four_block_zero_mat
thf(fact_739_Complex__Matrix_Oright__add__zero__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( plus_plus_mat_a @ A @ ( zero_mat_a @ Nr @ Nc ) )
        = A ) ) ).

% Complex_Matrix.right_add_zero_mat
thf(fact_740_Complex__Matrix_Oright__add__zero__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( plus_p8323303612493835998omplex @ A @ ( zero_mat_complex @ Nr @ Nc ) )
        = A ) ) ).

% Complex_Matrix.right_add_zero_mat
thf(fact_741_add__inv__exists__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ? [X2: mat_a] :
          ( ( member_mat_a @ X2 @ ( carrier_mat_a @ Nr @ Nc ) )
          & ( ( plus_plus_mat_a @ X2 @ A )
            = ( zero_mat_a @ Nr @ Nc ) )
          & ( ( plus_plus_mat_a @ A @ X2 )
            = ( zero_mat_a @ Nr @ Nc ) ) ) ) ).

% add_inv_exists_mat
thf(fact_742_add__inv__exists__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ? [X2: mat_complex] :
          ( ( member_mat_complex @ X2 @ ( carrier_mat_complex @ Nr @ Nc ) )
          & ( ( plus_p8323303612493835998omplex @ X2 @ A )
            = ( zero_mat_complex @ Nr @ Nc ) )
          & ( ( plus_p8323303612493835998omplex @ A @ X2 )
            = ( zero_mat_complex @ Nr @ Nc ) ) ) ) ).

% add_inv_exists_mat
thf(fact_743_left__add__zero__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( plus_plus_mat_a @ ( zero_mat_a @ Nr @ Nc ) @ A )
        = A ) ) ).

% left_add_zero_mat
thf(fact_744_left__add__zero__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( plus_p8323303612493835998omplex @ ( zero_mat_complex @ Nr @ Nc ) @ A )
        = A ) ) ).

% left_add_zero_mat
thf(fact_745_mult__minus__distrib__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ Nc ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ A @ ( minus_minus_mat_a @ B @ C ) )
            = ( minus_minus_mat_a @ ( times_times_mat_a @ A @ B ) @ ( times_times_mat_a @ A @ C ) ) ) ) ) ) ).

% mult_minus_distrib_mat
thf(fact_746_mult__minus__distrib__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ Nc ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ A @ ( minus_2412168080157227406omplex @ B @ C ) )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A @ B ) @ ( times_8009071140041733218omplex @ A @ C ) ) ) ) ) ) ).

% mult_minus_distrib_mat
thf(fact_747_minus__mult__distrib__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,C: mat_a,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ N ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ Nc ) )
         => ( ( times_times_mat_a @ ( minus_minus_mat_a @ A @ B ) @ C )
            = ( minus_minus_mat_a @ ( times_times_mat_a @ A @ C ) @ ( times_times_mat_a @ B @ C ) ) ) ) ) ) ).

% minus_mult_distrib_mat
thf(fact_748_minus__mult__distrib__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,C: mat_complex,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ Nc ) )
         => ( ( times_8009071140041733218omplex @ ( minus_2412168080157227406omplex @ A @ B ) @ C )
            = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A @ C ) @ ( times_8009071140041733218omplex @ B @ C ) ) ) ) ) ) ).

% minus_mult_distrib_mat
thf(fact_749_adjoint__minus,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ M ) )
       => ( ( schur_mat_adjoint_a @ ( minus_minus_mat_a @ A @ B ) )
          = ( minus_minus_mat_a @ ( schur_mat_adjoint_a @ A ) @ ( schur_mat_adjoint_a @ B ) ) ) ) ) ).

% adjoint_minus
thf(fact_750_adjoint__minus,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ M ) )
       => ( ( schur_5982229384592763574omplex @ ( minus_2412168080157227406omplex @ A @ B ) )
          = ( minus_2412168080157227406omplex @ ( schur_5982229384592763574omplex @ A ) @ ( schur_5982229384592763574omplex @ B ) ) ) ) ) ).

% adjoint_minus
thf(fact_751_mat__minus__minus,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ M ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ N @ M ) )
         => ( ( minus_minus_mat_a @ A @ ( minus_minus_mat_a @ B @ C ) )
            = ( plus_plus_mat_a @ ( minus_minus_mat_a @ A @ B ) @ C ) ) ) ) ) ).

% mat_minus_minus
thf(fact_752_mat__minus__minus,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ M ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ M ) )
         => ( ( minus_2412168080157227406omplex @ A @ ( minus_2412168080157227406omplex @ B @ C ) )
            = ( plus_p8323303612493835998omplex @ ( minus_2412168080157227406omplex @ A @ B ) @ C ) ) ) ) ) ).

% mat_minus_minus
thf(fact_753_minus__add__minus__mat,axiom,
    ! [U2: mat_a,Nr: nat,Nc: nat,V2: mat_a,W: mat_a] :
      ( ( member_mat_a @ U2 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ V2 @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( member_mat_a @ W @ ( carrier_mat_a @ Nr @ Nc ) )
         => ( ( minus_minus_mat_a @ U2 @ ( plus_plus_mat_a @ V2 @ W ) )
            = ( minus_minus_mat_a @ ( minus_minus_mat_a @ U2 @ V2 ) @ W ) ) ) ) ) ).

% minus_add_minus_mat
thf(fact_754_minus__add__minus__mat,axiom,
    ! [U2: mat_complex,Nr: nat,Nc: nat,V2: mat_complex,W: mat_complex] :
      ( ( member_mat_complex @ U2 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ V2 @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( member_mat_complex @ W @ ( carrier_mat_complex @ Nr @ Nc ) )
         => ( ( minus_2412168080157227406omplex @ U2 @ ( plus_p8323303612493835998omplex @ V2 @ W ) )
            = ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ U2 @ V2 ) @ W ) ) ) ) ) ).

% minus_add_minus_mat
thf(fact_755_smult__distrib__left__minus__mat,axiom,
    ! [A: mat_a,N: nat,B: mat_a,C2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( smult_mat_a @ C2 @ ( minus_minus_mat_a @ B @ A ) )
          = ( minus_minus_mat_a @ ( smult_mat_a @ C2 @ B ) @ ( smult_mat_a @ C2 @ A ) ) ) ) ) ).

% smult_distrib_left_minus_mat
thf(fact_756_smult__distrib__left__minus__mat,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( smult_mat_complex @ C2 @ ( minus_2412168080157227406omplex @ B @ A ) )
          = ( minus_2412168080157227406omplex @ ( smult_mat_complex @ C2 @ B ) @ ( smult_mat_complex @ C2 @ A ) ) ) ) ) ).

% smult_distrib_left_minus_mat
thf(fact_757_hermitian__minus,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_hermitian_a @ A )
         => ( ( complex_hermitian_a @ B )
           => ( complex_hermitian_a @ ( minus_minus_mat_a @ A @ B ) ) ) ) ) ) ).

% hermitian_minus
thf(fact_758_hermitian__minus,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A )
         => ( ( comple8306762464034002205omplex @ B )
           => ( comple8306762464034002205omplex @ ( minus_2412168080157227406omplex @ A @ B ) ) ) ) ) ) ).

% hermitian_minus
thf(fact_759_left__mult__zero__mat_H,axiom,
    ! [A: mat_a,N: nat,Nr: nat] :
      ( ( ( dim_row_a @ A )
        = N )
     => ( ( times_times_mat_a @ ( zero_mat_a @ Nr @ N ) @ A )
        = ( zero_mat_a @ Nr @ ( dim_col_a @ A ) ) ) ) ).

% left_mult_zero_mat'
thf(fact_760_left__mult__zero__mat_H,axiom,
    ! [A: mat_complex,N: nat,Nr: nat] :
      ( ( ( dim_row_complex @ A )
        = N )
     => ( ( times_8009071140041733218omplex @ ( zero_mat_complex @ Nr @ N ) @ A )
        = ( zero_mat_complex @ Nr @ ( dim_col_complex @ A ) ) ) ) ).

% left_mult_zero_mat'
thf(fact_761_right__mult__zero__mat_H,axiom,
    ! [A: mat_a,N: nat,Nc: nat] :
      ( ( ( dim_col_a @ A )
        = N )
     => ( ( times_times_mat_a @ A @ ( zero_mat_a @ N @ Nc ) )
        = ( zero_mat_a @ ( dim_row_a @ A ) @ Nc ) ) ) ).

% right_mult_zero_mat'
thf(fact_762_right__mult__zero__mat_H,axiom,
    ! [A: mat_complex,N: nat,Nc: nat] :
      ( ( ( dim_col_complex @ A )
        = N )
     => ( ( times_8009071140041733218omplex @ A @ ( zero_mat_complex @ N @ Nc ) )
        = ( zero_mat_complex @ ( dim_row_complex @ A ) @ Nc ) ) ) ).

% right_mult_zero_mat'
thf(fact_763_assoc__four__block__mat,axiom,
    ! [A: mat_complex,B: mat_complex,C: mat_complex] :
      ( ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ ( four_b559179830521662709omplex @ B @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ C ) ) @ ( zero_mat_complex @ ( dim_row_complex @ C ) @ ( dim_col_complex @ B ) ) @ C ) ) ) @ ( zero_mat_complex @ ( dim_row_complex @ ( four_b559179830521662709omplex @ B @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ C ) ) @ ( zero_mat_complex @ ( dim_row_complex @ C ) @ ( dim_col_complex @ B ) ) @ C ) ) @ ( dim_col_complex @ A ) ) @ ( four_b559179830521662709omplex @ B @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ C ) ) @ ( zero_mat_complex @ ( dim_row_complex @ C ) @ ( dim_col_complex @ B ) ) @ C ) )
      = ( four_b559179830521662709omplex @ ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ B ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ A ) ) @ B ) @ ( zero_mat_complex @ ( dim_row_complex @ ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ B ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ A ) ) @ B ) ) @ ( dim_col_complex @ C ) ) @ ( zero_mat_complex @ ( dim_row_complex @ C ) @ ( dim_col_complex @ ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ B ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ A ) ) @ B ) ) ) @ C ) ) ).

% assoc_four_block_mat
thf(fact_764_four__block__diag__cong__comp,axiom,
    ! [A1: mat_complex,B1: mat_complex,A22: mat_complex,B22: mat_complex] :
      ( ( ( dim_row_complex @ A1 )
        = ( dim_row_complex @ B1 ) )
     => ( ( ( dim_col_complex @ A1 )
          = ( dim_col_complex @ B1 ) )
       => ( ( ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 )
            = ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) )
         => ( A1 = B1 ) ) ) ) ).

% four_block_diag_cong_comp
thf(fact_765_four__block__diag__cong__comp_H,axiom,
    ! [A1: mat_complex,B1: mat_complex,A22: mat_complex,B22: mat_complex] :
      ( ( ( dim_row_complex @ A1 )
        = ( dim_row_complex @ B1 ) )
     => ( ( ( dim_col_complex @ A1 )
          = ( dim_col_complex @ B1 ) )
       => ( ( ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 )
            = ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) )
         => ( A22 = B22 ) ) ) ) ).

% four_block_diag_cong_comp'
thf(fact_766_upper__triangular__four__block,axiom,
    ! [A: mat_a,N: nat,D: mat_a,M: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ D @ ( carrier_mat_a @ M @ M ) )
       => ( ( upper_triangular_a @ A )
         => ( ( upper_triangular_a @ D )
           => ( upper_triangular_a @ ( four_block_mat_a @ A @ B @ ( zero_mat_a @ M @ N ) @ D ) ) ) ) ) ) ).

% upper_triangular_four_block
thf(fact_767_upper__triangular__four__block,axiom,
    ! [A: mat_complex,N: nat,D: mat_complex,M: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ M @ M ) )
       => ( ( upper_4850907204721561915omplex @ A )
         => ( ( upper_4850907204721561915omplex @ D )
           => ( upper_4850907204721561915omplex @ ( four_b559179830521662709omplex @ A @ B @ ( zero_mat_complex @ M @ N ) @ D ) ) ) ) ) ) ).

% upper_triangular_four_block
thf(fact_768_index__zero__mat_I1_J,axiom,
    ! [I: nat,Nr: nat,J: nat,Nc: nat] :
      ( ( ord_less_nat @ I @ Nr )
     => ( ( ord_less_nat @ J @ Nc )
       => ( ( index_mat_a @ ( zero_mat_a @ Nr @ Nc ) @ ( product_Pair_nat_nat @ I @ J ) )
          = zero_zero_a ) ) ) ).

% index_zero_mat(1)
thf(fact_769_index__zero__mat_I1_J,axiom,
    ! [I: nat,Nr: nat,J: nat,Nc: nat] :
      ( ( ord_less_nat @ I @ Nr )
     => ( ( ord_less_nat @ J @ Nc )
       => ( ( index_mat_nat @ ( zero_mat_nat @ Nr @ Nc ) @ ( product_Pair_nat_nat @ I @ J ) )
          = zero_zero_nat ) ) ) ).

% index_zero_mat(1)
thf(fact_770_index__zero__mat_I1_J,axiom,
    ! [I: nat,Nr: nat,J: nat,Nc: nat] :
      ( ( ord_less_nat @ I @ Nr )
     => ( ( ord_less_nat @ J @ Nc )
       => ( ( index_mat_complex @ ( zero_mat_complex @ Nr @ Nc ) @ ( product_Pair_nat_nat @ I @ J ) )
          = zero_zero_complex ) ) ) ).

% index_zero_mat(1)
thf(fact_771_smult__zero,axiom,
    ! [A: mat_complex] :
      ( ( smult_mat_complex @ zero_zero_complex @ A )
      = ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ A ) ) ) ).

% smult_zero
thf(fact_772_four__block__diag__adjoint,axiom,
    ! [A1: mat_a,A22: mat_a] :
      ( ( schur_mat_adjoint_a @ ( four_block_mat_a @ A1 @ ( zero_mat_a @ ( dim_row_a @ A1 ) @ ( dim_col_a @ A22 ) ) @ ( zero_mat_a @ ( dim_row_a @ A22 ) @ ( dim_col_a @ A1 ) ) @ A22 ) )
      = ( four_block_mat_a @ ( schur_mat_adjoint_a @ A1 ) @ ( zero_mat_a @ ( dim_row_a @ ( schur_mat_adjoint_a @ A1 ) ) @ ( dim_col_a @ ( schur_mat_adjoint_a @ A22 ) ) ) @ ( zero_mat_a @ ( dim_row_a @ ( schur_mat_adjoint_a @ A22 ) ) @ ( dim_col_a @ ( schur_mat_adjoint_a @ A1 ) ) ) @ ( schur_mat_adjoint_a @ A22 ) ) ) ).

% four_block_diag_adjoint
thf(fact_773_four__block__diag__adjoint,axiom,
    ! [A1: mat_complex,A22: mat_complex] :
      ( ( schur_5982229384592763574omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 ) )
      = ( four_b559179830521662709omplex @ ( schur_5982229384592763574omplex @ A1 ) @ ( zero_mat_complex @ ( dim_row_complex @ ( schur_5982229384592763574omplex @ A1 ) ) @ ( dim_col_complex @ ( schur_5982229384592763574omplex @ A22 ) ) ) @ ( zero_mat_complex @ ( dim_row_complex @ ( schur_5982229384592763574omplex @ A22 ) ) @ ( dim_col_complex @ ( schur_5982229384592763574omplex @ A1 ) ) ) @ ( schur_5982229384592763574omplex @ A22 ) ) ) ).

% four_block_diag_adjoint
thf(fact_774_four__block__diagonal,axiom,
    ! [B1: mat_complex,B22: mat_complex] :
      ( ( ( dim_row_complex @ B1 )
        = ( dim_col_complex @ B1 ) )
     => ( ( ( dim_row_complex @ B22 )
          = ( dim_col_complex @ B22 ) )
       => ( ( diagonal_mat_complex @ B1 )
         => ( ( diagonal_mat_complex @ B22 )
           => ( diagonal_mat_complex @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) ) ) ) ) ) ).

% four_block_diagonal
thf(fact_775_four__block__diag__zero_H,axiom,
    ! [B: mat_a,A: mat_a] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( four_block_mat_a @ B @ ( zero_mat_a @ ( dim_row_a @ B ) @ ( dim_col_a @ A ) ) @ ( zero_mat_a @ ( dim_row_a @ A ) @ ( dim_col_a @ B ) ) @ A )
        = A ) ) ).

% four_block_diag_zero'
thf(fact_776_four__block__diag__zero_H,axiom,
    ! [B: mat_complex,A: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( four_b559179830521662709omplex @ B @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ A ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ B ) ) @ A )
        = A ) ) ).

% four_block_diag_zero'
thf(fact_777_four__block__diag__zero,axiom,
    ! [B: mat_a,A: mat_a] :
      ( ( member_mat_a @ B @ ( carrier_mat_a @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( four_block_mat_a @ A @ ( zero_mat_a @ ( dim_row_a @ A ) @ ( dim_col_a @ B ) ) @ ( zero_mat_a @ ( dim_row_a @ B ) @ ( dim_col_a @ A ) ) @ B )
        = A ) ) ).

% four_block_diag_zero
thf(fact_778_four__block__diag__zero,axiom,
    ! [B: mat_complex,A: mat_complex] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ B ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B ) @ ( dim_col_complex @ A ) ) @ B )
        = A ) ) ).

% four_block_diag_zero
thf(fact_779_mult__four__block__diag,axiom,
    ! [A1: mat_a,Nr1: nat,N1: nat,D1: mat_a,Nr2: nat,N22: nat,A22: mat_a,Nc1: nat,D22: mat_a,Nc2: nat] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ Nr1 @ N1 ) )
     => ( ( member_mat_a @ D1 @ ( carrier_mat_a @ Nr2 @ N22 ) )
       => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ N1 @ Nc1 ) )
         => ( ( member_mat_a @ D22 @ ( carrier_mat_a @ N22 @ Nc2 ) )
           => ( ( times_times_mat_a @ ( four_block_mat_a @ A1 @ ( zero_mat_a @ ( dim_row_a @ A1 ) @ ( dim_col_a @ D1 ) ) @ ( zero_mat_a @ ( dim_row_a @ D1 ) @ ( dim_col_a @ A1 ) ) @ D1 ) @ ( four_block_mat_a @ A22 @ ( zero_mat_a @ ( dim_row_a @ A22 ) @ ( dim_col_a @ D22 ) ) @ ( zero_mat_a @ ( dim_row_a @ D22 ) @ ( dim_col_a @ A22 ) ) @ D22 ) )
              = ( four_block_mat_a @ ( times_times_mat_a @ A1 @ A22 ) @ ( zero_mat_a @ ( dim_row_a @ ( times_times_mat_a @ A1 @ A22 ) ) @ ( dim_col_a @ ( times_times_mat_a @ D1 @ D22 ) ) ) @ ( zero_mat_a @ ( dim_row_a @ ( times_times_mat_a @ D1 @ D22 ) ) @ ( dim_col_a @ ( times_times_mat_a @ A1 @ A22 ) ) ) @ ( times_times_mat_a @ D1 @ D22 ) ) ) ) ) ) ) ).

% mult_four_block_diag
thf(fact_780_mult__four__block__diag,axiom,
    ! [A1: mat_complex,Nr1: nat,N1: nat,D1: mat_complex,Nr2: nat,N22: nat,A22: mat_complex,Nc1: nat,D22: mat_complex,Nc2: nat] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ Nr1 @ N1 ) )
     => ( ( member_mat_complex @ D1 @ ( carrier_mat_complex @ Nr2 @ N22 ) )
       => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ N1 @ Nc1 ) )
         => ( ( member_mat_complex @ D22 @ ( carrier_mat_complex @ N22 @ Nc2 ) )
           => ( ( times_8009071140041733218omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ D1 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ D1 ) @ ( dim_col_complex @ A1 ) ) @ D1 ) @ ( four_b559179830521662709omplex @ A22 @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ D22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ D22 ) @ ( dim_col_complex @ A22 ) ) @ D22 ) )
              = ( four_b559179830521662709omplex @ ( times_8009071140041733218omplex @ A1 @ A22 ) @ ( zero_mat_complex @ ( dim_row_complex @ ( times_8009071140041733218omplex @ A1 @ A22 ) ) @ ( dim_col_complex @ ( times_8009071140041733218omplex @ D1 @ D22 ) ) ) @ ( zero_mat_complex @ ( dim_row_complex @ ( times_8009071140041733218omplex @ D1 @ D22 ) ) @ ( dim_col_complex @ ( times_8009071140041733218omplex @ A1 @ A22 ) ) ) @ ( times_8009071140041733218omplex @ D1 @ D22 ) ) ) ) ) ) ) ).

% mult_four_block_diag
thf(fact_781_append__rows__def,axiom,
    ( append_rows_complex
    = ( ^ [A5: mat_complex,B5: mat_complex] : ( four_b559179830521662709omplex @ A5 @ ( zero_mat_complex @ ( dim_row_complex @ A5 ) @ zero_zero_nat ) @ B5 @ ( zero_mat_complex @ ( dim_row_complex @ B5 ) @ zero_zero_nat ) ) ) ) ).

% append_rows_def
thf(fact_782_pivot__fun__eliminate__entries,axiom,
    ! [A: mat_complex,F: nat > nat,Jj: nat,Nr: nat,Nc: nat,L: nat,Vs: nat > complex,J: nat] :
      ( ( gauss_2609248829700396350omplex @ A @ F @ Jj )
     => ( ( ( dim_row_complex @ A )
          = Nr )
       => ( ( ( dim_col_complex @ A )
            = Nc )
         => ( ( ( F @ L )
              = Jj )
           => ( ( ord_less_nat @ L @ Nr )
             => ( ( ord_less_eq_nat @ Jj @ Nc )
               => ( gauss_2609248829700396350omplex @ ( gauss_2785350030914899391omplex @ minus_minus_complex @ times_times_complex @ Vs @ A @ L @ J ) @ F @ Jj ) ) ) ) ) ) ) ).

% pivot_fun_eliminate_entries
thf(fact_783_four__block__real__diag__decomp,axiom,
    ! [A1: mat_complex,B1: mat_complex,U1: mat_complex,A22: mat_complex,B22: mat_complex,U22: mat_complex] :
      ( ( spectr5409772854192057952omplex @ A1 @ B1 @ U1 )
     => ( ( spectr5409772854192057952omplex @ A22 @ B22 @ U22 )
       => ( ( ( dim_row_complex @ A1 )
            = ( dim_col_complex @ A1 ) )
         => ( ( ( dim_row_complex @ A22 )
              = ( dim_col_complex @ A22 ) )
           => ( spectr5409772854192057952omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 ) @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) @ ( four_b559179830521662709omplex @ U1 @ ( zero_mat_complex @ ( dim_row_complex @ U1 ) @ ( dim_col_complex @ U22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ U22 ) @ ( dim_col_complex @ U1 ) ) @ U22 ) ) ) ) ) ) ).

% four_block_real_diag_decomp
thf(fact_784_carrier__eliminate__entries_I1_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,Minus: a > a > a,Times: a > a > a,V2: nat > a,I: nat,Bs: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( gauss_7515860606763079213_gen_a @ Minus @ Times @ V2 @ A @ I @ Bs ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% carrier_eliminate_entries(1)
thf(fact_785_carrier__eliminate__entries_I1_J,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,Minus: complex > complex > complex,Times: complex > complex > complex,V2: nat > complex,I: nat,Bs: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( member_mat_complex @ ( gauss_2785350030914899391omplex @ Minus @ Times @ V2 @ A @ I @ Bs ) @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% carrier_eliminate_entries(1)
thf(fact_786_dim__eliminate__entries__gen_I1_J,axiom,
    ! [Minus: complex > complex > complex,Times: complex > complex > complex,V2: nat > complex,B: mat_complex,I: nat,As: nat] :
      ( ( dim_row_complex @ ( gauss_2785350030914899391omplex @ Minus @ Times @ V2 @ B @ I @ As ) )
      = ( dim_row_complex @ B ) ) ).

% dim_eliminate_entries_gen(1)
thf(fact_787_dim__eliminate__entries__gen_I2_J,axiom,
    ! [Minus: complex > complex > complex,Times: complex > complex > complex,V2: nat > complex,B: mat_complex,I: nat,As: nat] :
      ( ( dim_col_complex @ ( gauss_2785350030914899391omplex @ Minus @ Times @ V2 @ B @ I @ As ) )
      = ( dim_col_complex @ B ) ) ).

% dim_eliminate_entries_gen(2)
thf(fact_788_hermitian__real__diag__decomp,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( comple8306762464034002205omplex @ A )
         => ~ ! [B7: mat_complex,U3: mat_complex] :
                ~ ( spectr5409772854192057952omplex @ A @ B7 @ U3 ) ) ) ) ).

% hermitian_real_diag_decomp
thf(fact_789_carrier__append__rows,axiom,
    ! [A: mat_a,Nr1: nat,Nc: nat,B: mat_a,Nr2: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr2 @ Nc ) )
       => ( member_mat_a @ ( append_rows_a @ A @ B ) @ ( carrier_mat_a @ ( plus_plus_nat @ Nr1 @ Nr2 ) @ Nc ) ) ) ) ).

% carrier_append_rows
thf(fact_790_carrier__append__rows,axiom,
    ! [A: mat_complex,Nr1: nat,Nc: nat,B: mat_complex,Nr2: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr2 @ Nc ) )
       => ( member_mat_complex @ ( append_rows_complex @ A @ B ) @ ( carrier_mat_complex @ ( plus_plus_nat @ Nr1 @ Nr2 ) @ Nc ) ) ) ) ).

% carrier_append_rows
thf(fact_791_row__four__block__mat_I2_J,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a,I: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ~ ( ord_less_nat @ I @ Nr1 )
             => ( ( ord_less_nat @ I @ ( plus_plus_nat @ Nr1 @ Nr2 ) )
               => ( ( row_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ I )
                  = ( append_vec_a @ ( row_a @ C @ ( minus_minus_nat @ I @ Nr1 ) ) @ ( row_a @ D @ ( minus_minus_nat @ I @ Nr1 ) ) ) ) ) ) ) ) ) ) ).

% row_four_block_mat(2)
thf(fact_792_row__four__block__mat_I2_J,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex,I: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ~ ( ord_less_nat @ I @ Nr1 )
             => ( ( ord_less_nat @ I @ ( plus_plus_nat @ Nr1 @ Nr2 ) )
               => ( ( row_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ I )
                  = ( append_vec_complex @ ( row_complex @ C @ ( minus_minus_nat @ I @ Nr1 ) ) @ ( row_complex @ D @ ( minus_minus_nat @ I @ Nr1 ) ) ) ) ) ) ) ) ) ) ).

% row_four_block_mat(2)
thf(fact_793_col__four__block__mat_I2_J,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a,J: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ~ ( ord_less_nat @ J @ Nc1 )
             => ( ( ord_less_nat @ J @ ( plus_plus_nat @ Nc1 @ Nc2 ) )
               => ( ( col_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ J )
                  = ( append_vec_a @ ( col_a @ B @ ( minus_minus_nat @ J @ Nc1 ) ) @ ( col_a @ D @ ( minus_minus_nat @ J @ Nc1 ) ) ) ) ) ) ) ) ) ) ).

% col_four_block_mat(2)
thf(fact_794_col__four__block__mat_I2_J,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ~ ( ord_less_nat @ J @ Nc1 )
             => ( ( ord_less_nat @ J @ ( plus_plus_nat @ Nc1 @ Nc2 ) )
               => ( ( col_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ J )
                  = ( append_vec_complex @ ( col_complex @ B @ ( minus_minus_nat @ J @ Nc1 ) ) @ ( col_complex @ D @ ( minus_minus_nat @ J @ Nc1 ) ) ) ) ) ) ) ) ) ) ).

% col_four_block_mat(2)
thf(fact_795_four__block__mat__real__diag,axiom,
    ! [B1: mat_complex,B22: mat_complex,I: nat] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B1 ) )
         => ( member_complex @ ( index_mat_complex @ B1 @ ( product_Pair_nat_nat @ I3 @ I3 ) ) @ real_V2521375963428798218omplex ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B22 ) )
           => ( member_complex @ ( index_mat_complex @ B22 @ ( product_Pair_nat_nat @ I3 @ I3 ) ) @ real_V2521375963428798218omplex ) )
       => ( ( ( dim_row_complex @ B1 )
            = ( dim_col_complex @ B1 ) )
         => ( ( ( dim_row_complex @ B22 )
              = ( dim_col_complex @ B22 ) )
           => ( ( ord_less_nat @ I @ ( dim_row_complex @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) ) )
             => ( member_complex @ ( index_mat_complex @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) @ ( product_Pair_nat_nat @ I @ I ) ) @ real_V2521375963428798218omplex ) ) ) ) ) ) ).

% four_block_mat_real_diag
thf(fact_796_real__diag__decomp__hermitian,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr5409772854192057952omplex @ A @ B @ U )
     => ( comple8306762464034002205omplex @ A ) ) ).

% real_diag_decomp_hermitian
thf(fact_797_mat__assoc__test_I15_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ ( plus_p8323303612493835998omplex @ C @ D ) )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ C ) @ ( plus_p8323303612493835998omplex @ B @ D ) ) ) ) ) ) ) ).

% mat_assoc_test(15)
thf(fact_798_mat__assoc__test_I14_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ C )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ C @ B ) @ A ) ) ) ) ) ) ).

% mat_assoc_test(14)
thf(fact_799_mat__assoc__test_I13_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ A @ B )
              = ( plus_p8323303612493835998omplex @ B @ A ) ) ) ) ) ) ).

% mat_assoc_test(13)
thf(fact_800_mat__assoc__test_I7_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ ( plus_p8323303612493835998omplex @ B @ C ) )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ ( times_8009071140041733218omplex @ A @ B ) @ ( times_8009071140041733218omplex @ B @ B ) ) @ ( times_8009071140041733218omplex @ A @ C ) ) @ ( times_8009071140041733218omplex @ B @ C ) ) ) ) ) ) ) ).

% mat_assoc_test(7)
thf(fact_801_smult__smult__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,K2: complex,L: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( smult_mat_complex @ K2 @ ( smult_mat_complex @ L @ A ) )
        = ( smult_mat_complex @ ( times_times_complex @ K2 @ L ) @ A ) ) ) ).

% smult_smult_mat
thf(fact_802_rank__1__proj__hermitian,axiom,
    ! [V2: vec_complex] : ( comple8306762464034002205omplex @ ( linear1949544614684794075omplex @ V2 ) ) ).

% rank_1_proj_hermitian
thf(fact_803_mat__assoc__test_I9_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ ( minus_2412168080157227406omplex @ B @ C ) ) @ D )
              = ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ B ) @ D ) @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ C ) @ D ) ) ) ) ) ) ) ).

% mat_assoc_test(9)
thf(fact_804_mat__assoc__test_I6_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( minus_2412168080157227406omplex @ A @ ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ B @ C ) @ D ) )
              = ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ A @ B ) @ C ) @ D ) ) ) ) ) ) ).

% mat_assoc_test(6)
thf(fact_805_mat__assoc__test_I5_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( plus_p8323303612493835998omplex @ A @ ( minus_2412168080157227406omplex @ B @ C ) )
              = ( minus_2412168080157227406omplex @ ( plus_p8323303612493835998omplex @ A @ B ) @ C ) ) ) ) ) ) ).

% mat_assoc_test(5)
thf(fact_806_real__diagonal__hermitian,axiom,
    ! [B: mat_complex,N: nat] :
      ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
     => ( ( diagonal_mat_complex @ B )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B ) )
             => ( member_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I3 @ I3 ) ) @ real_V2521375963428798218omplex ) )
         => ( comple8306762464034002205omplex @ B ) ) ) ) ).

% real_diagonal_hermitian
thf(fact_807_col__four__block__mat_I1_J,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a,J: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ( ord_less_nat @ J @ Nc1 )
             => ( ( col_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ J )
                = ( append_vec_a @ ( col_a @ A @ J ) @ ( col_a @ C @ J ) ) ) ) ) ) ) ) ).

% col_four_block_mat(1)
thf(fact_808_col__four__block__mat_I1_J,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ( ord_less_nat @ J @ Nc1 )
             => ( ( col_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ J )
                = ( append_vec_complex @ ( col_complex @ A @ J ) @ ( col_complex @ C @ J ) ) ) ) ) ) ) ) ).

% col_four_block_mat(1)
thf(fact_809_row__four__block__mat_I1_J,axiom,
    ! [A: mat_a,Nr1: nat,Nc1: nat,B: mat_a,Nc2: nat,C: mat_a,Nr2: nat,D: mat_a,I: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr1 @ Nc1 ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr1 @ Nc2 ) )
       => ( ( member_mat_a @ C @ ( carrier_mat_a @ Nr2 @ Nc1 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ Nr2 @ Nc2 ) )
           => ( ( ord_less_nat @ I @ Nr1 )
             => ( ( row_a @ ( four_block_mat_a @ A @ B @ C @ D ) @ I )
                = ( append_vec_a @ ( row_a @ A @ I ) @ ( row_a @ B @ I ) ) ) ) ) ) ) ) ).

% row_four_block_mat(1)
thf(fact_810_row__four__block__mat_I1_J,axiom,
    ! [A: mat_complex,Nr1: nat,Nc1: nat,B: mat_complex,Nc2: nat,C: mat_complex,Nr2: nat,D: mat_complex,I: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr1 @ Nc1 ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ Nr1 @ Nc2 ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr2 @ Nc1 ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ Nr2 @ Nc2 ) )
           => ( ( ord_less_nat @ I @ Nr1 )
             => ( ( row_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) @ I )
                = ( append_vec_complex @ ( row_complex @ A @ I ) @ ( row_complex @ B @ I ) ) ) ) ) ) ) ) ).

% row_four_block_mat(1)
thf(fact_811_real__diag__decompD_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr5409772854192057952omplex @ A @ B @ U )
     => ! [I5: nat] :
          ( ( ord_less_nat @ I5 @ ( dim_row_complex @ B ) )
         => ( member_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I5 @ I5 ) ) @ real_V2521375963428798218omplex ) ) ) ).

% real_diag_decompD(2)
thf(fact_812_real__diag__decomp__def,axiom,
    ( spectr5409772854192057952omplex
    = ( ^ [A5: mat_complex,B5: mat_complex,U4: mat_complex] :
          ( ( spectr532731689276696518omplex @ A5 @ B5 @ U4 )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( dim_row_complex @ B5 ) )
             => ( member_complex @ ( index_mat_complex @ B5 @ ( product_Pair_nat_nat @ I2 @ I2 ) ) @ real_V2521375963428798218omplex ) ) ) ) ) ).

% real_diag_decomp_def
thf(fact_813_Reals__mult,axiom,
    ! [A2: complex,B2: complex] :
      ( ( member_complex @ A2 @ real_V2521375963428798218omplex )
     => ( ( member_complex @ B2 @ real_V2521375963428798218omplex )
       => ( member_complex @ ( times_times_complex @ A2 @ B2 ) @ real_V2521375963428798218omplex ) ) ) ).

% Reals_mult
thf(fact_814_Reals__0,axiom,
    member_complex @ zero_zero_complex @ real_V2521375963428798218omplex ).

% Reals_0
thf(fact_815_mult__conj__real,axiom,
    ! [V2: complex] : ( member_complex @ ( times_times_complex @ V2 @ ( conjug1878831970375765195omplex @ V2 ) ) @ real_V2521375963428798218omplex ) ).

% mult_conj_real
thf(fact_816_self__inner__prod__real,axiom,
    ! [V2: vec_complex] : ( member_complex @ ( scalar_prod_complex @ V2 @ ( conjug5127946762835395006omplex @ V2 ) ) @ real_V2521375963428798218omplex ) ).

% self_inner_prod_real
thf(fact_817_unitary__diag__carrier_I2_J,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4894841263502123494diag_a @ A @ B @ U )
       => ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% unitary_diag_carrier(2)
thf(fact_818_unitary__diag__carrier_I2_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr532731689276696518omplex @ A @ B @ U )
       => ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% unitary_diag_carrier(2)
thf(fact_819_unitary__diag__carrier_I1_J,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4894841263502123494diag_a @ A @ B @ U )
       => ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% unitary_diag_carrier(1)
thf(fact_820_unitary__diag__carrier_I1_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr532731689276696518omplex @ A @ B @ U )
       => ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% unitary_diag_carrier(1)
thf(fact_821_unitary__diagD_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr532731689276696518omplex @ A @ B @ U )
     => ( diagonal_mat_complex @ B ) ) ).

% unitary_diagD(2)
thf(fact_822_real__diag__decompD_I1_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr5409772854192057952omplex @ A @ B @ U )
     => ( spectr532731689276696518omplex @ A @ B @ U ) ) ).

% real_diag_decompD(1)
thf(fact_823_four__block__unitary__diag,axiom,
    ! [A1: mat_complex,B1: mat_complex,U1: mat_complex,A22: mat_complex,B22: mat_complex,U22: mat_complex] :
      ( ( spectr532731689276696518omplex @ A1 @ B1 @ U1 )
     => ( ( spectr532731689276696518omplex @ A22 @ B22 @ U22 )
       => ( ( ( dim_row_complex @ A1 )
            = ( dim_col_complex @ A1 ) )
         => ( ( ( dim_row_complex @ A22 )
              = ( dim_col_complex @ A22 ) )
           => ( spectr532731689276696518omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 ) @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) @ ( four_b559179830521662709omplex @ U1 @ ( zero_mat_complex @ ( dim_row_complex @ U1 ) @ ( dim_col_complex @ U22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ U22 ) @ ( dim_col_complex @ U1 ) ) @ U22 ) ) ) ) ) ) ).

% four_block_unitary_diag
thf(fact_824_decomp__eigenvector,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( comple8306762464034002205omplex @ A )
         => ( ( spectr532731689276696518omplex @ A @ B @ U )
           => ( ( ord_less_nat @ J @ N )
             => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ ( linear1949544614684794075omplex @ ( col_complex @ U @ J ) ) ) )
                = ( index_mat_complex @ B @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) ) ) ) ).

% decomp_eigenvector
thf(fact_825_inf__pigeonhole__principle,axiom,
    ! [N: nat,F: nat > nat > $o] :
      ( ! [K3: nat] :
        ? [I5: nat] :
          ( ( ord_less_nat @ I5 @ N )
          & ( F @ K3 @ I5 ) )
     => ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
          & ! [K4: nat] :
            ? [K5: nat] :
              ( ( ord_less_eq_nat @ K4 @ K5 )
              & ( F @ K5 @ I3 ) ) ) ) ).

% inf_pigeonhole_principle
thf(fact_826_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K3: nat] :
          ( ( ord_less_nat @ N @ K3 )
         => ( P @ K3 ) )
     => ( ! [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
           => ( ! [I5: nat] :
                  ( ( ord_less_nat @ K3 @ I5 )
                 => ( P @ I5 ) )
             => ( P @ K3 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_827_trace__adjoint__positive,axiom,
    ! [A: mat_complex] : ( ord_less_eq_complex @ zero_zero_complex @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ ( schur_5982229384592763574omplex @ A ) ) ) ) ).

% trace_adjoint_positive
thf(fact_828_mat__assoc__test_I10_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ B ) @ C ) )
              = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ B @ C ) @ A ) ) ) ) ) ) ) ).

% mat_assoc_test(10)
thf(fact_829_mat__assoc__test_I11_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ B ) @ C ) @ D ) )
              = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ C @ D ) @ A ) @ B ) ) ) ) ) ) ) ).

% mat_assoc_test(11)
thf(fact_830_trace__zero,axiom,
    ! [N: nat] :
      ( ( comple3184165445352484367omplex @ ( zero_mat_complex @ N @ N ) )
      = zero_zero_complex ) ).

% trace_zero
thf(fact_831_trace__comm,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_trace_a @ ( times_times_mat_a @ A @ B ) )
          = ( complex_trace_a @ ( times_times_mat_a @ B @ A ) ) ) ) ) ).

% trace_comm
thf(fact_832_trace__comm,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ B ) )
          = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ B @ A ) ) ) ) ) ).

% trace_comm
thf(fact_833_mat__assoc__test_I12_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( comple3184165445352484367omplex @ ( plus_p8323303612493835998omplex @ A @ ( times_8009071140041733218omplex @ B @ C ) ) )
              = ( plus_plus_complex @ ( comple3184165445352484367omplex @ A ) @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ C @ B ) ) ) ) ) ) ) ) ).

% mat_assoc_test(12)
thf(fact_834_trace__add__linear,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_trace_a @ ( plus_plus_mat_a @ A @ B ) )
          = ( plus_plus_a @ ( complex_trace_a @ A ) @ ( complex_trace_a @ B ) ) ) ) ) ).

% trace_add_linear
thf(fact_835_trace__add__linear,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple3184165445352484367omplex @ ( plus_p8323303612493835998omplex @ A @ B ) )
          = ( plus_plus_complex @ ( comple3184165445352484367omplex @ A ) @ ( comple3184165445352484367omplex @ B ) ) ) ) ) ).

% trace_add_linear
thf(fact_836_trace__smult,axiom,
    ! [A: mat_a,N: nat,C2: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_trace_a @ ( smult_mat_a @ C2 @ A ) )
        = ( times_times_a @ C2 @ ( complex_trace_a @ A ) ) ) ) ).

% trace_smult
thf(fact_837_trace__smult,axiom,
    ! [A: mat_complex,N: nat,C2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( comple3184165445352484367omplex @ ( smult_mat_complex @ C2 @ A ) )
        = ( times_times_complex @ C2 @ ( comple3184165445352484367omplex @ A ) ) ) ) ).

% trace_smult
thf(fact_838_trace__minus__linear,axiom,
    ! [A: mat_a,N: nat,B: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_trace_a @ ( minus_minus_mat_a @ A @ B ) )
          = ( minus_minus_a @ ( complex_trace_a @ A ) @ ( complex_trace_a @ B ) ) ) ) ) ).

% trace_minus_linear
thf(fact_839_trace__minus__linear,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple3184165445352484367omplex @ ( minus_2412168080157227406omplex @ A @ B ) )
          = ( minus_minus_complex @ ( comple3184165445352484367omplex @ A ) @ ( comple3184165445352484367omplex @ B ) ) ) ) ) ).

% trace_minus_linear
thf(fact_840_trace__pdo__eq__imp__eq,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ! [Rho: mat_complex] :
              ( ( member_mat_complex @ Rho @ ( carrier_mat_complex @ N @ N ) )
             => ( ( comple1169154605998056944erator @ Rho )
               => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ Rho ) )
                  = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ B @ Rho ) ) ) ) )
         => ( A = B ) ) ) ) ).

% trace_pdo_eq_imp_eq
thf(fact_841_Linear__Algebra__Complements_Otrace__add,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( square_mat_complex @ A )
     => ( ( square_mat_complex @ B )
       => ( ( ( dim_row_complex @ A )
            = ( dim_row_complex @ B ) )
         => ( ( comple3184165445352484367omplex @ ( plus_p8323303612493835998omplex @ A @ B ) )
            = ( plus_plus_complex @ ( comple3184165445352484367omplex @ A ) @ ( comple3184165445352484367omplex @ B ) ) ) ) ) ) ).

% Linear_Algebra_Complements.trace_add
thf(fact_842_inf__period_I2_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X2: complex,K3: complex] :
          ( ( P @ X2 )
          = ( P @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K3 @ D ) ) ) )
     => ( ! [X2: complex,K3: complex] :
            ( ( Q @ X2 )
            = ( Q @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K3 @ D ) ) ) )
       => ! [X4: complex,K4: complex] :
            ( ( ( P @ X4 )
              | ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K4 @ D ) ) )
              | ( Q @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K4 @ D ) ) ) ) ) ) ) ).

% inf_period(2)
thf(fact_843_rank__1__proj__square__mat,axiom,
    ! [V2: vec_complex] : ( square_mat_complex @ ( linear1949544614684794075omplex @ V2 ) ) ).

% rank_1_proj_square_mat
thf(fact_844_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ~ ( ord_less_nat @ T @ X4 ) ) ).

% minf(7)
thf(fact_845_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ( ord_less_nat @ X4 @ T ) ) ).

% minf(5)
thf(fact_846_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ( X4 != T ) ) ).

% minf(4)
thf(fact_847_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ( X4 != T ) ) ).

% minf(3)
thf(fact_848_minf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ X2 @ Z4 )
         => ( ( P @ X2 )
            = ( P4 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ X2 @ Z4 )
           => ( ( Q @ X2 )
              = ( Q2 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ X4 @ Z3 )
           => ( ( ( P @ X4 )
                | ( Q @ X4 ) )
              = ( ( P4 @ X4 )
                | ( Q2 @ X4 ) ) ) ) ) ) ).

% minf(2)
thf(fact_849_minf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ X2 @ Z4 )
         => ( ( P @ X2 )
            = ( P4 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ X2 @ Z4 )
           => ( ( Q @ X2 )
              = ( Q2 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ X4 @ Z3 )
           => ( ( ( P @ X4 )
                & ( Q @ X4 ) )
              = ( ( P4 @ X4 )
                & ( Q2 @ X4 ) ) ) ) ) ) ).

% minf(1)
thf(fact_850_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ( ord_less_nat @ T @ X4 ) ) ).

% pinf(7)
thf(fact_851_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ~ ( ord_less_nat @ X4 @ T ) ) ).

% pinf(5)
thf(fact_852_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ( X4 != T ) ) ).

% pinf(4)
thf(fact_853_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ( X4 != T ) ) ).

% pinf(3)
thf(fact_854_pinf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ Z4 @ X2 )
         => ( ( P @ X2 )
            = ( P4 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ Z4 @ X2 )
           => ( ( Q @ X2 )
              = ( Q2 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ Z3 @ X4 )
           => ( ( ( P @ X4 )
                | ( Q @ X4 ) )
              = ( ( P4 @ X4 )
                | ( Q2 @ X4 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_855_pinf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X2: nat] :
          ( ( ord_less_nat @ Z4 @ X2 )
         => ( ( P @ X2 )
            = ( P4 @ X2 ) ) )
     => ( ? [Z4: nat] :
          ! [X2: nat] :
            ( ( ord_less_nat @ Z4 @ X2 )
           => ( ( Q @ X2 )
              = ( Q2 @ X2 ) ) )
       => ? [Z3: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ Z3 @ X4 )
           => ( ( ( P @ X4 )
                & ( Q @ X4 ) )
              = ( ( P4 @ X4 )
                & ( Q2 @ X4 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_856_square__mat_Osimps,axiom,
    ( square_mat_complex
    = ( ^ [A5: mat_complex] :
          ( ( dim_col_complex @ A5 )
          = ( dim_row_complex @ A5 ) ) ) ) ).

% square_mat.simps
thf(fact_857_square__mat_Oelims_I1_J,axiom,
    ! [X: mat_complex,Y3: $o] :
      ( ( ( square_mat_complex @ X )
        = Y3 )
     => ( Y3
        = ( ( dim_col_complex @ X )
          = ( dim_row_complex @ X ) ) ) ) ).

% square_mat.elims(1)
thf(fact_858_square__mat_Oelims_I2_J,axiom,
    ! [X: mat_complex] :
      ( ( square_mat_complex @ X )
     => ( ( dim_col_complex @ X )
        = ( dim_row_complex @ X ) ) ) ).

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

% square_mat.elims(3)
thf(fact_860_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ~ ( ord_less_eq_nat @ X4 @ T ) ) ).

% pinf(6)
thf(fact_861_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ Z3 @ X4 )
     => ( ord_less_eq_nat @ T @ X4 ) ) ).

% pinf(8)
thf(fact_862_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ( ord_less_eq_nat @ X4 @ T ) ) ).

% minf(6)
thf(fact_863_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X4: nat] :
      ( ( ord_less_nat @ X4 @ Z3 )
     => ~ ( ord_less_eq_nat @ T @ X4 ) ) ).

% minf(8)
thf(fact_864_inf__period_I1_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X2: complex,K3: complex] :
          ( ( P @ X2 )
          = ( P @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K3 @ D ) ) ) )
     => ( ! [X2: complex,K3: complex] :
            ( ( Q @ X2 )
            = ( Q @ ( minus_minus_complex @ X2 @ ( times_times_complex @ K3 @ D ) ) ) )
       => ! [X4: complex,K4: complex] :
            ( ( ( P @ X4 )
              & ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K4 @ D ) ) )
              & ( Q @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K4 @ D ) ) ) ) ) ) ) ).

% inf_period(1)
thf(fact_865_positive__unitary__diag__pos,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ( ( spectr532731689276696518omplex @ A @ B @ U )
         => ( ( ord_less_nat @ J @ N )
           => ( ord_less_eq_complex @ zero_zero_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ J @ J ) ) ) ) ) ) ) ).

% positive_unitary_diag_pos
thf(fact_866_lowner__le__traceI,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ! [Rho: mat_complex] :
              ( ( member_mat_complex @ Rho @ ( carrier_mat_complex @ N @ N ) )
             => ( ( comple1169154605998056944erator @ Rho )
               => ( ord_less_eq_complex @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ Rho ) ) @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ B @ Rho ) ) ) ) )
         => ( complex_lowner_le @ A @ B ) ) ) ) ).

% lowner_le_traceI
thf(fact_867_lowner__le__traceD,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,Rho2: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ Rho2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( complex_lowner_le @ A @ B )
           => ( ( comple1169154605998056944erator @ Rho2 )
             => ( ord_less_eq_complex @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ Rho2 ) ) @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ B @ Rho2 ) ) ) ) ) ) ) ) ).

% lowner_le_traceD
thf(fact_868_lowner__le__def,axiom,
    ( complex_lowner_le
    = ( ^ [A5: mat_complex,B5: mat_complex] :
          ( ( ( dim_row_complex @ A5 )
            = ( dim_row_complex @ B5 ) )
          & ( ( dim_col_complex @ A5 )
            = ( dim_col_complex @ B5 ) )
          & ( complex_positive @ ( minus_2412168080157227406omplex @ B5 @ A5 ) ) ) ) ) ).

% lowner_le_def
thf(fact_869_positive__dim__eq,axiom,
    ! [A: mat_complex] :
      ( ( complex_positive @ A )
     => ( ( dim_row_complex @ A )
        = ( dim_col_complex @ A ) ) ) ).

% positive_dim_eq
thf(fact_870_Complex__Matrix_Opositive__zero,axiom,
    ! [N: nat] : ( complex_positive @ ( zero_mat_complex @ N @ N ) ) ).

% Complex_Matrix.positive_zero
thf(fact_871_zero__lowner__le__positiveI,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ( complex_lowner_le @ ( zero_mat_complex @ N @ N ) @ A ) ) ) ).

% zero_lowner_le_positiveI
thf(fact_872_zero__lowner__le__positiveD,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_lowner_le @ ( zero_mat_complex @ N @ N ) @ A )
       => ( complex_positive @ A ) ) ) ).

% zero_lowner_le_positiveD
thf(fact_873_positive__is__hermitian,axiom,
    ! [A: mat_complex] :
      ( ( complex_positive @ A )
     => ( comple8306762464034002205omplex @ A ) ) ).

% positive_is_hermitian
thf(fact_874_lowner__le__refl,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( complex_lowner_le @ A @ A ) ) ).

% lowner_le_refl
thf(fact_875_lowner__le__trans,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( complex_lowner_le @ A @ B )
           => ( ( complex_lowner_le @ B @ C )
             => ( complex_lowner_le @ A @ C ) ) ) ) ) ) ).

% lowner_le_trans
thf(fact_876_lowner__le__antisym,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( complex_lowner_le @ A @ B )
         => ( ( complex_lowner_le @ B @ A )
           => ( A = B ) ) ) ) ) ).

% lowner_le_antisym
thf(fact_877_lowner__le__trans__positiveI,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ( ( complex_lowner_le @ A @ B )
         => ( complex_positive @ B ) ) ) ) ).

% lowner_le_trans_positiveI
thf(fact_878_Complex__Matrix_Opositive__add,axiom,
    ! [A: mat_complex,B: mat_complex,N: nat] :
      ( ( complex_positive @ A )
     => ( ( complex_positive @ B )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
           => ( complex_positive @ ( plus_p8323303612493835998omplex @ A @ B ) ) ) ) ) ) ).

% Complex_Matrix.positive_add
thf(fact_879_lowner__le__add,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( complex_lowner_le @ A @ B )
             => ( ( complex_lowner_le @ C @ D )
               => ( complex_lowner_le @ ( plus_p8323303612493835998omplex @ A @ C ) @ ( plus_p8323303612493835998omplex @ B @ D ) ) ) ) ) ) ) ) ).

% lowner_le_add
thf(fact_880_lowner__le__minus,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( complex_lowner_le @ A @ B )
             => ( ( complex_lowner_le @ C @ D )
               => ( complex_lowner_le @ ( minus_2412168080157227406omplex @ A @ D ) @ ( minus_2412168080157227406omplex @ B @ C ) ) ) ) ) ) ) ) ).

% lowner_le_minus
thf(fact_881_positive__close__under__left__right__mult__adjoint,axiom,
    ! [M5: mat_complex,N: nat,A: mat_complex] :
      ( ( member_mat_complex @ M5 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( ( complex_positive @ A )
         => ( complex_positive @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ M5 @ A ) @ ( schur_5982229384592763574omplex @ M5 ) ) ) ) ) ) ).

% positive_close_under_left_right_mult_adjoint
thf(fact_882_positive__only__if__decomp,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ? [X2: mat_complex] :
            ( ( member_mat_complex @ X2 @ ( carrier_mat_complex @ N @ N ) )
            & ( ( times_8009071140041733218omplex @ X2 @ ( schur_5982229384592763574omplex @ X2 ) )
              = A ) ) ) ) ).

% positive_only_if_decomp
thf(fact_883_positive__iff__decomp,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
        = ( ? [X3: mat_complex] :
              ( ( member_mat_complex @ X3 @ ( carrier_mat_complex @ N @ N ) )
              & ( ( times_8009071140041733218omplex @ X3 @ ( schur_5982229384592763574omplex @ X3 ) )
                = A ) ) ) ) ) ).

% positive_iff_decomp
thf(fact_884_positive__if__decomp,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ? [M6: mat_complex] :
            ( ( times_8009071140041733218omplex @ M6 @ ( schur_5982229384592763574omplex @ M6 ) )
            = A )
       => ( complex_positive @ A ) ) ) ).

% positive_if_decomp
thf(fact_885_lowner__le__keep__under__measurement,axiom,
    ! [M5: mat_complex,N: nat,A: mat_complex,B: mat_complex] :
      ( ( member_mat_complex @ M5 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
         => ( ( complex_lowner_le @ A @ B )
           => ( complex_lowner_le @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ M5 ) @ A ) @ M5 ) @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ M5 ) @ B ) @ M5 ) ) ) ) ) ) ).

% lowner_le_keep_under_measurement
thf(fact_886_lowner__le__imp__trace__le,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( complex_lowner_le @ A @ B )
         => ( ord_less_eq_complex @ ( comple3184165445352484367omplex @ A ) @ ( comple3184165445352484367omplex @ B ) ) ) ) ) ).

% lowner_le_imp_trace_le
thf(fact_887_positive__trace,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ( ord_less_eq_complex @ zero_zero_complex @ ( comple3184165445352484367omplex @ A ) ) ) ) ).

% positive_trace
thf(fact_888_positive__smult,axiom,
    ! [A: mat_complex,N: nat,C2: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( complex_positive @ A )
       => ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
         => ( complex_positive @ ( smult_mat_complex @ C2 @ A ) ) ) ) ) ).

% positive_smult
thf(fact_889_lowner__le__smultc,axiom,
    ! [C2: complex,A: mat_complex,B: mat_complex,N: nat] :
      ( ( ord_less_eq_complex @ zero_zero_complex @ C2 )
     => ( ( complex_lowner_le @ A @ B )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
           => ( complex_lowner_le @ ( smult_mat_complex @ C2 @ A ) @ ( smult_mat_complex @ C2 @ B ) ) ) ) ) ) ).

% lowner_le_smultc
thf(fact_890_lowner__le__trace,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( complex_lowner_le @ A @ B )
          = ( ! [X3: mat_complex] :
                ( ( member_mat_complex @ X3 @ ( carrier_mat_complex @ N @ N ) )
               => ( ( comple1169154605998056944erator @ X3 )
                 => ( ord_less_eq_complex @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ A @ X3 ) ) @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ B @ X3 ) ) ) ) ) ) ) ) ) ).

% lowner_le_trace
thf(fact_891_positive__proj__trace,axiom,
    ! [P: mat_complex,R2: mat_complex,N: nat] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( complex_positive @ R2 )
       => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ R2 @ ( carrier_mat_complex @ N @ N ) )
           => ( ord_less_eq_complex @ zero_zero_complex @ ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ R2 @ P ) ) ) ) ) ) ) ).

% positive_proj_trace
thf(fact_892_hermitian__square__similar__mat__wit,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( ( spectr532731689276696518omplex @ A @ B @ U )
         => ( simila5774310414453981135omplex @ ( times_8009071140041733218omplex @ A @ A ) @ ( times_8009071140041733218omplex @ B @ B ) @ U @ ( schur_5982229384592763574omplex @ U ) ) ) ) ) ).

% hermitian_square_similar_mat_wit
thf(fact_893_projector__positive,axiom,
    ! [M5: mat_complex] :
      ( ( linear5633924348262549461omplex @ M5 )
     => ( complex_positive @ M5 ) ) ).

% projector_positive
thf(fact_894_similar__mat__witD2_I7_J,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ Q @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD2(7)
thf(fact_895_similar__mat__witD2_I7_J,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ Q @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD2(7)
thf(fact_896_similar__mat__witD2_I6_J,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ P @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD2(6)
thf(fact_897_similar__mat__witD2_I6_J,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD2(6)
thf(fact_898_similar__mat__witD2_I5_J,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD2(5)
thf(fact_899_similar__mat__witD2_I5_J,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD2(5)
thf(fact_900_similar__mat__witD2_I4_J,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD2(4)
thf(fact_901_similar__mat__witD2_I4_J,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD2(4)
thf(fact_902_similar__mat__wit__sym,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( simila5774310414453981135omplex @ B @ A @ Q @ P ) ) ).

% similar_mat_wit_sym
thf(fact_903_similar__mat__wit__trans,axiom,
    ! [A: mat_a,B: mat_a,P: mat_a,Q: mat_a,C: mat_a,P4: mat_a,Q2: mat_a] :
      ( ( similar_mat_wit_a @ A @ B @ P @ Q )
     => ( ( similar_mat_wit_a @ B @ C @ P4 @ Q2 )
       => ( similar_mat_wit_a @ A @ C @ ( times_times_mat_a @ P @ P4 ) @ ( times_times_mat_a @ Q2 @ Q ) ) ) ) ).

% similar_mat_wit_trans
thf(fact_904_similar__mat__wit__trans,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex,C: mat_complex,P4: mat_complex,Q2: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( ( simila5774310414453981135omplex @ B @ C @ P4 @ Q2 )
       => ( simila5774310414453981135omplex @ A @ C @ ( times_8009071140041733218omplex @ P @ P4 ) @ ( times_8009071140041733218omplex @ Q2 @ Q ) ) ) ) ).

% similar_mat_wit_trans
thf(fact_905_similar__mat__wit__smult,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex,K2: complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( simila5774310414453981135omplex @ ( smult_mat_complex @ K2 @ A ) @ ( smult_mat_complex @ K2 @ B ) @ P @ Q ) ) ).

% similar_mat_wit_smult
thf(fact_906_similar__mat__witD_I4_J,axiom,
    ! [N: nat,A: mat_a,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( N
        = ( dim_row_a @ A ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD(4)
thf(fact_907_similar__mat__witD_I4_J,axiom,
    ! [N: nat,A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( N
        = ( dim_row_complex @ A ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD(4)
thf(fact_908_similar__mat__witD_I5_J,axiom,
    ! [N: nat,A: mat_a,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( N
        = ( dim_row_a @ A ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD(5)
thf(fact_909_similar__mat__witD_I5_J,axiom,
    ! [N: nat,A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( N
        = ( dim_row_complex @ A ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD(5)
thf(fact_910_similar__mat__witD_I6_J,axiom,
    ! [N: nat,A: mat_a,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( N
        = ( dim_row_a @ A ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ P @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD(6)
thf(fact_911_similar__mat__witD_I6_J,axiom,
    ! [N: nat,A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( N
        = ( dim_row_complex @ A ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD(6)
thf(fact_912_similar__mat__witD_I7_J,axiom,
    ! [N: nat,A: mat_a,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( N
        = ( dim_row_a @ A ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( member_mat_a @ Q @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% similar_mat_witD(7)
thf(fact_913_similar__mat__witD_I7_J,axiom,
    ! [N: nat,A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( N
        = ( dim_row_complex @ A ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( member_mat_complex @ Q @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% similar_mat_witD(7)
thf(fact_914_similar__mat__witD2_I3_J,axiom,
    ! [A: mat_a,N: nat,M: nat,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ M ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( A
          = ( times_times_mat_a @ ( times_times_mat_a @ P @ B ) @ Q ) ) ) ) ).

% similar_mat_witD2(3)
thf(fact_915_similar__mat__witD2_I3_J,axiom,
    ! [A: mat_complex,N: nat,M: nat,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( A
          = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ B ) @ Q ) ) ) ) ).

% similar_mat_witD2(3)
thf(fact_916_similar__mat__witD_I3_J,axiom,
    ! [N: nat,A: mat_a,B: mat_a,P: mat_a,Q: mat_a] :
      ( ( N
        = ( dim_row_a @ A ) )
     => ( ( similar_mat_wit_a @ A @ B @ P @ Q )
       => ( A
          = ( times_times_mat_a @ ( times_times_mat_a @ P @ B ) @ Q ) ) ) ) ).

% similar_mat_witD(3)
thf(fact_917_similar__mat__witD_I3_J,axiom,
    ! [N: nat,A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex] :
      ( ( N
        = ( dim_row_complex @ A ) )
     => ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
       => ( A
          = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ B ) @ Q ) ) ) ) ).

% similar_mat_witD(3)
thf(fact_918_unitary__diagD_I1_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4894841263502123494diag_a @ A @ B @ U )
     => ( similar_mat_wit_a @ A @ B @ U @ ( schur_mat_adjoint_a @ U ) ) ) ).

% unitary_diagD(1)
thf(fact_919_unitary__diagD_I1_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr532731689276696518omplex @ A @ B @ U )
     => ( simila5774310414453981135omplex @ A @ B @ U @ ( schur_5982229384592763574omplex @ U ) ) ) ).

% unitary_diagD(1)
thf(fact_920_projector__square__eq,axiom,
    ! [M5: mat_a] :
      ( ( linear2821214051344812439ctor_a @ M5 )
     => ( ( times_times_mat_a @ M5 @ M5 )
        = M5 ) ) ).

% projector_square_eq
thf(fact_921_projector__square__eq,axiom,
    ! [M5: mat_complex] :
      ( ( linear5633924348262549461omplex @ M5 )
     => ( ( times_8009071140041733218omplex @ M5 @ M5 )
        = M5 ) ) ).

% projector_square_eq
thf(fact_922_zero__projector,axiom,
    ! [N: nat] : ( linear5633924348262549461omplex @ ( zero_mat_complex @ N @ N ) ) ).

% zero_projector
thf(fact_923_projector__hermitian,axiom,
    ! [M5: mat_complex] :
      ( ( linear5633924348262549461omplex @ M5 )
     => ( comple8306762464034002205omplex @ M5 ) ) ).

% projector_hermitian
thf(fact_924_similar__mat__wit__four__block,axiom,
    ! [A1: mat_a,B1: mat_a,P1: mat_a,Q1: mat_a,A22: mat_a,B22: mat_a,P22: mat_a,Q22: mat_a,URA: mat_a,UR: mat_a,LLA: mat_a,LL: mat_a,N: nat,M: nat] :
      ( ( similar_mat_wit_a @ A1 @ B1 @ P1 @ Q1 )
     => ( ( similar_mat_wit_a @ A22 @ B22 @ P22 @ Q22 )
       => ( ( URA
            = ( times_times_mat_a @ ( times_times_mat_a @ P1 @ UR ) @ Q22 ) )
         => ( ( LLA
              = ( times_times_mat_a @ ( times_times_mat_a @ P22 @ LL ) @ Q1 ) )
           => ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N @ N ) )
             => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ M @ M ) )
               => ( ( member_mat_a @ LL @ ( carrier_mat_a @ M @ N ) )
                 => ( ( member_mat_a @ UR @ ( carrier_mat_a @ N @ M ) )
                   => ( similar_mat_wit_a @ ( four_block_mat_a @ A1 @ URA @ LLA @ A22 ) @ ( four_block_mat_a @ B1 @ UR @ LL @ B22 ) @ ( four_block_mat_a @ P1 @ ( zero_mat_a @ N @ M ) @ ( zero_mat_a @ M @ N ) @ P22 ) @ ( four_block_mat_a @ Q1 @ ( zero_mat_a @ N @ M ) @ ( zero_mat_a @ M @ N ) @ Q22 ) ) ) ) ) ) ) ) ) ) ).

% similar_mat_wit_four_block
thf(fact_925_similar__mat__wit__four__block,axiom,
    ! [A1: mat_complex,B1: mat_complex,P1: mat_complex,Q1: mat_complex,A22: mat_complex,B22: mat_complex,P22: mat_complex,Q22: mat_complex,URA: mat_complex,UR: mat_complex,LLA: mat_complex,LL: mat_complex,N: nat,M: nat] :
      ( ( simila5774310414453981135omplex @ A1 @ B1 @ P1 @ Q1 )
     => ( ( simila5774310414453981135omplex @ A22 @ B22 @ P22 @ Q22 )
       => ( ( URA
            = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P1 @ UR ) @ Q22 ) )
         => ( ( LLA
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P22 @ LL ) @ Q1 ) )
           => ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N @ N ) )
             => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ M @ M ) )
               => ( ( member_mat_complex @ LL @ ( carrier_mat_complex @ M @ N ) )
                 => ( ( member_mat_complex @ UR @ ( carrier_mat_complex @ N @ M ) )
                   => ( simila5774310414453981135omplex @ ( four_b559179830521662709omplex @ A1 @ URA @ LLA @ A22 ) @ ( four_b559179830521662709omplex @ B1 @ UR @ LL @ B22 ) @ ( four_b559179830521662709omplex @ P1 @ ( zero_mat_complex @ N @ M ) @ ( zero_mat_complex @ M @ N ) @ P22 ) @ ( four_b559179830521662709omplex @ Q1 @ ( zero_mat_complex @ N @ M ) @ ( zero_mat_complex @ M @ N ) @ Q22 ) ) ) ) ) ) ) ) ) ) ).

% similar_mat_wit_four_block
thf(fact_926_projector__collapse__trace,axiom,
    ! [P: mat_complex,N: nat,R2: mat_complex] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ R2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ R2 ) @ P ) )
            = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ R2 @ P ) ) ) ) ) ) ).

% projector_collapse_trace
thf(fact_927_projector__def,axiom,
    ( linear2821214051344812439ctor_a
    = ( ^ [M7: mat_a] :
          ( ( complex_hermitian_a @ M7 )
          & ( ( times_times_mat_a @ M7 @ M7 )
            = M7 ) ) ) ) ).

% projector_def
thf(fact_928_projector__def,axiom,
    ( linear5633924348262549461omplex
    = ( ^ [M7: mat_complex] :
          ( ( comple8306762464034002205omplex @ M7 )
          & ( ( times_8009071140041733218omplex @ M7 @ M7 )
            = M7 ) ) ) ) ).

% projector_def
thf(fact_929_four__block__diag__similar,axiom,
    ! [A1: mat_a,B1: mat_a,U1: mat_a,A22: mat_a,B22: mat_a,U22: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A1 @ B1 @ U1 )
     => ( ( spectr4825054497075562704quiv_a @ A22 @ B22 @ U22 )
       => ( ( ( dim_row_a @ A1 )
            = ( dim_col_a @ A1 ) )
         => ( ( ( dim_row_a @ A22 )
              = ( dim_col_a @ A22 ) )
           => ( similar_mat_wit_a @ ( four_block_mat_a @ A1 @ ( zero_mat_a @ ( dim_row_a @ A1 ) @ ( dim_col_a @ A22 ) ) @ ( zero_mat_a @ ( dim_row_a @ A22 ) @ ( dim_col_a @ A1 ) ) @ A22 ) @ ( four_block_mat_a @ B1 @ ( zero_mat_a @ ( dim_row_a @ B1 ) @ ( dim_col_a @ B22 ) ) @ ( zero_mat_a @ ( dim_row_a @ B22 ) @ ( dim_col_a @ B1 ) ) @ B22 ) @ ( four_block_mat_a @ U1 @ ( zero_mat_a @ ( dim_row_a @ U1 ) @ ( dim_col_a @ U22 ) ) @ ( zero_mat_a @ ( dim_row_a @ U22 ) @ ( dim_col_a @ U1 ) ) @ U22 ) @ ( schur_mat_adjoint_a @ ( four_block_mat_a @ U1 @ ( zero_mat_a @ ( dim_row_a @ U1 ) @ ( dim_col_a @ U22 ) ) @ ( zero_mat_a @ ( dim_row_a @ U22 ) @ ( dim_col_a @ U1 ) ) @ U22 ) ) ) ) ) ) ) ).

% four_block_diag_similar
thf(fact_930_four__block__diag__similar,axiom,
    ! [A1: mat_complex,B1: mat_complex,U1: mat_complex,A22: mat_complex,B22: mat_complex,U22: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A1 @ B1 @ U1 )
     => ( ( spectr6340060708231679580omplex @ A22 @ B22 @ U22 )
       => ( ( ( dim_row_complex @ A1 )
            = ( dim_col_complex @ A1 ) )
         => ( ( ( dim_row_complex @ A22 )
              = ( dim_col_complex @ A22 ) )
           => ( simila5774310414453981135omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 ) @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) @ ( four_b559179830521662709omplex @ U1 @ ( zero_mat_complex @ ( dim_row_complex @ U1 ) @ ( dim_col_complex @ U22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ U22 ) @ ( dim_col_complex @ U1 ) ) @ U22 ) @ ( schur_5982229384592763574omplex @ ( four_b559179830521662709omplex @ U1 @ ( zero_mat_complex @ ( dim_row_complex @ U1 ) @ ( dim_col_complex @ U22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ U22 ) @ ( dim_col_complex @ U1 ) ) @ U22 ) ) ) ) ) ) ) ).

% four_block_diag_similar
thf(fact_931_similar__mat__wit__dim__row,axiom,
    ! [A: mat_complex,B: mat_complex,Q: mat_complex,R2: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ Q @ R2 )
     => ( ( dim_row_complex @ B )
        = ( dim_row_complex @ A ) ) ) ).

% similar_mat_wit_dim_row
thf(fact_932_unitarily__equiv__adjoint,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( spectr4825054497075562704quiv_a @ B @ A @ ( schur_mat_adjoint_a @ U ) ) ) ).

% unitarily_equiv_adjoint
thf(fact_933_unitarily__equiv__adjoint,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( spectr6340060708231679580omplex @ B @ A @ ( schur_5982229384592763574omplex @ U ) ) ) ).

% unitarily_equiv_adjoint
thf(fact_934_unitarily__equiv__carrier_I1_J,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% unitarily_equiv_carrier(1)
thf(fact_935_unitarily__equiv__carrier_I1_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% unitarily_equiv_carrier(1)
thf(fact_936_unitarily__equiv__carrier_I2_J,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) ) ) ) ).

% unitarily_equiv_carrier(2)
thf(fact_937_unitarily__equiv__carrier_I2_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) ) ) ) ).

% unitarily_equiv_carrier(2)
thf(fact_938_unitary__diag__imp__unitarily__equiv,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr532731689276696518omplex @ A @ B @ U )
     => ( spectr6340060708231679580omplex @ A @ B @ U ) ) ).

% unitary_diag_imp_unitarily_equiv
thf(fact_939_unitarily__equiv__carrier_H_I3_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( member_mat_a @ U @ ( carrier_mat_a @ ( dim_row_a @ A ) @ ( dim_row_a @ A ) ) ) ) ).

% unitarily_equiv_carrier'(3)
thf(fact_940_unitarily__equiv__carrier_H_I3_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( member_mat_complex @ U @ ( carrier_mat_complex @ ( dim_row_complex @ A ) @ ( dim_row_complex @ A ) ) ) ) ).

% unitarily_equiv_carrier'(3)
thf(fact_941_unitarily__equiv__carrier_H_I2_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( member_mat_a @ B @ ( carrier_mat_a @ ( dim_row_a @ A ) @ ( dim_row_a @ A ) ) ) ) ).

% unitarily_equiv_carrier'(2)
thf(fact_942_unitarily__equiv__carrier_H_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( member_mat_complex @ B @ ( carrier_mat_complex @ ( dim_row_complex @ A ) @ ( dim_row_complex @ A ) ) ) ) ).

% unitarily_equiv_carrier'(2)
thf(fact_943_unitarily__equiv__carrier_H_I1_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( member_mat_a @ A @ ( carrier_mat_a @ ( dim_row_a @ A ) @ ( dim_row_a @ A ) ) ) ) ).

% unitarily_equiv_carrier'(1)
thf(fact_944_unitarily__equiv__carrier_H_I1_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( member_mat_complex @ A @ ( carrier_mat_complex @ ( dim_row_complex @ A ) @ ( dim_row_complex @ A ) ) ) ) ).

% unitarily_equiv_carrier'(1)
thf(fact_945_unitarily__equiv__square,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( spectr4825054497075562704quiv_a @ ( times_times_mat_a @ A @ A ) @ ( times_times_mat_a @ B @ B ) @ U ) ) ) ).

% unitarily_equiv_square
thf(fact_946_unitarily__equiv__square,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( spectr6340060708231679580omplex @ ( times_8009071140041733218omplex @ A @ A ) @ ( times_8009071140041733218omplex @ B @ B ) @ U ) ) ) ).

% unitarily_equiv_square
thf(fact_947_unitarily__equiv__smult,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a,X: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( spectr4825054497075562704quiv_a @ ( smult_mat_a @ X @ A ) @ ( smult_mat_a @ X @ B ) @ U ) ) ) ).

% unitarily_equiv_smult
thf(fact_948_unitarily__equiv__smult,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex,X: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( spectr6340060708231679580omplex @ ( smult_mat_complex @ X @ A ) @ ( smult_mat_complex @ X @ B ) @ U ) ) ) ).

% unitarily_equiv_smult
thf(fact_949_unitarily__equiv__eq,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( A
        = ( times_times_mat_a @ ( times_times_mat_a @ U @ B ) @ ( schur_mat_adjoint_a @ U ) ) ) ) ).

% unitarily_equiv_eq
thf(fact_950_unitarily__equiv__eq,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( A
        = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ U @ B ) @ ( schur_5982229384592763574omplex @ U ) ) ) ) ).

% unitarily_equiv_eq
thf(fact_951_unitarily__equiv__commute,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a,C: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( ( ( times_times_mat_a @ A @ C )
          = ( times_times_mat_a @ C @ A ) )
       => ( ( times_times_mat_a @ B @ ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ U ) @ C ) @ U ) )
          = ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ U ) @ C ) @ U ) @ B ) ) ) ) ).

% unitarily_equiv_commute
thf(fact_952_unitarily__equiv__commute,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex,C: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( ( ( times_8009071140041733218omplex @ A @ C )
          = ( times_8009071140041733218omplex @ C @ A ) )
       => ( ( times_8009071140041733218omplex @ B @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ U ) @ C ) @ U ) )
          = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ U ) @ C ) @ U ) @ B ) ) ) ) ).

% unitarily_equiv_commute
thf(fact_953_unitarily__equiv__trace,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( ( complex_trace_a @ A )
          = ( complex_trace_a @ B ) ) ) ) ).

% unitarily_equiv_trace
thf(fact_954_unitarily__equiv__trace,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( ( comple3184165445352484367omplex @ A )
          = ( comple3184165445352484367omplex @ B ) ) ) ) ).

% unitarily_equiv_trace
thf(fact_955_unitarily__equivD_I2_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( similar_mat_wit_a @ A @ B @ U @ ( schur_mat_adjoint_a @ U ) ) ) ).

% unitarily_equivD(2)
thf(fact_956_unitarily__equivD_I2_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( simila5774310414453981135omplex @ A @ B @ U @ ( schur_5982229384592763574omplex @ U ) ) ) ).

% unitarily_equivD(2)
thf(fact_957_unitary__diag__def,axiom,
    ( spectr532731689276696518omplex
    = ( ^ [A5: mat_complex,B5: mat_complex,U4: mat_complex] :
          ( ( spectr6340060708231679580omplex @ A5 @ B5 @ U4 )
          & ( diagonal_mat_complex @ B5 ) ) ) ) ).

% unitary_diag_def
thf(fact_958_four__block__unitarily__equiv,axiom,
    ! [A1: mat_complex,B1: mat_complex,U1: mat_complex,A22: mat_complex,B22: mat_complex,U22: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A1 @ B1 @ U1 )
     => ( ( spectr6340060708231679580omplex @ A22 @ B22 @ U22 )
       => ( ( ( dim_row_complex @ A1 )
            = ( dim_col_complex @ A1 ) )
         => ( ( ( dim_row_complex @ A22 )
              = ( dim_col_complex @ A22 ) )
           => ( spectr6340060708231679580omplex @ ( four_b559179830521662709omplex @ A1 @ ( zero_mat_complex @ ( dim_row_complex @ A1 ) @ ( dim_col_complex @ A22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ A22 ) @ ( dim_col_complex @ A1 ) ) @ A22 ) @ ( four_b559179830521662709omplex @ B1 @ ( zero_mat_complex @ ( dim_row_complex @ B1 ) @ ( dim_col_complex @ B22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ B22 ) @ ( dim_col_complex @ B1 ) ) @ B22 ) @ ( four_b559179830521662709omplex @ U1 @ ( zero_mat_complex @ ( dim_row_complex @ U1 ) @ ( dim_col_complex @ U22 ) ) @ ( zero_mat_complex @ ( dim_row_complex @ U22 ) @ ( dim_col_complex @ U1 ) ) @ U22 ) ) ) ) ) ) ).

% four_block_unitarily_equiv
thf(fact_959_unitarily__equiv__rank__1__proj__col__carrier,axiom,
    ! [A: mat_a,N: nat,B: mat_a,U: mat_a,I: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
       => ( ( ord_less_nat @ I @ N )
         => ( member_mat_a @ ( linear2728813245073104401proj_a @ ( col_a @ U @ I ) ) @ ( carrier_mat_a @ N @ N ) ) ) ) ) ).

% unitarily_equiv_rank_1_proj_col_carrier
thf(fact_960_unitarily__equiv__rank__1__proj__col__carrier,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,U: mat_complex,I: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( spectr6340060708231679580omplex @ A @ B @ U )
       => ( ( ord_less_nat @ I @ N )
         => ( member_mat_complex @ ( linear1949544614684794075omplex @ ( col_complex @ U @ I ) ) @ ( carrier_mat_complex @ N @ N ) ) ) ) ) ).

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

% density_collapse_carrier
thf(fact_962_hermitian__decomp__real__eigvals,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ! [I5: nat] :
          ( ( ord_less_nat @ I5 @ ( dim_row_complex @ B ) )
         => ( member_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I5 @ I5 ) ) @ real_V2521375963428798218omplex ) ) ) ).

% hermitian_decomp_real_eigvals
thf(fact_963_hermitian__decomp__diag__mat,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ( diagonal_mat_complex @ B ) ) ).

% hermitian_decomp_diag_mat
thf(fact_964_hermitian__decomp__decomp_H,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ( spectr5409772854192057952omplex @ A @ B @ U ) ) ).

% hermitian_decomp_decomp'
thf(fact_965_hermitian__decomp__sim,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ( simila5774310414453981135omplex @ A @ B @ U @ ( schur_5982229384592763574omplex @ U ) ) ) ).

% hermitian_decomp_sim
thf(fact_966_hermitian__decomp__dim__carrier,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ( member_mat_complex @ B @ ( carrier_mat_complex @ ( dim_row_complex @ A ) @ ( dim_col_complex @ A ) ) ) ) ).

% hermitian_decomp_dim_carrier
thf(fact_967_density__collapse__operator,axiom,
    ! [P: mat_complex,R2: mat_complex,N: nat] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( comple5220265106149225959erator @ R2 )
       => ( ( ord_less_nat @ zero_zero_nat @ ( dim_row_complex @ R2 ) )
         => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
           => ( ( member_mat_complex @ R2 @ ( carrier_mat_complex @ N @ N ) )
             => ( comple5220265106149225959erator @ ( projec3470689467825365843llapse @ R2 @ P ) ) ) ) ) ) ) ).

% density_collapse_operator
thf(fact_968_diag__elems__real,axiom,
    ! [B: mat_complex] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( dim_row_complex @ B ) )
         => ( member_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I3 @ I3 ) ) @ real_V2521375963428798218omplex ) )
     => ( ord_le211207098394363844omplex @ ( projec2809893096078145286omplex @ B ) @ real_V2521375963428798218omplex ) ) ).

% diag_elems_real
thf(fact_969_diag__elems__mem,axiom,
    ! [I: nat,B: mat_mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_a @ B ) )
     => ( member_mat_a @ ( index_mat_mat_a @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( projec9066127685012477747_mat_a @ B ) ) ) ).

% diag_elems_mem
thf(fact_970_diag__elems__mem,axiom,
    ! [I: nat,B: mat_mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_mat_complex @ B ) )
     => ( member_mat_complex @ ( index_7093623372566408491omplex @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( projec1765981369499306831omplex @ B ) ) ) ).

% diag_elems_mem
thf(fact_971_diag__elems__mem,axiom,
    ! [I: nat,B: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ B ) )
     => ( member_a @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( projec3180294917645509286lems_a @ B ) ) ) ).

% diag_elems_mem
thf(fact_972_diag__elems__mem,axiom,
    ! [I: nat,B: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ B ) )
     => ( member_complex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ ( projec2809893096078145286omplex @ B ) ) ) ).

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

% max_mix_is_density
thf(fact_974_diag__elem__indices__elem,axiom,
    ! [A2: nat,X: a,B: mat_a] :
      ( ( member_nat @ A2 @ ( projec8096995296758946034ices_a @ X @ B ) )
     => ( ( ord_less_nat @ A2 @ ( dim_row_a @ B ) )
        & ( ( index_mat_a @ B @ ( product_Pair_nat_nat @ A2 @ A2 ) )
          = X ) ) ) ).

% diag_elem_indices_elem
thf(fact_975_diag__elem__indices__elem,axiom,
    ! [A2: nat,X: complex,B: mat_complex] :
      ( ( member_nat @ A2 @ ( projec1944845285785509306omplex @ X @ B ) )
     => ( ( ord_less_nat @ A2 @ ( dim_row_complex @ B ) )
        & ( ( index_mat_complex @ B @ ( product_Pair_nat_nat @ A2 @ A2 ) )
          = X ) ) ) ).

% diag_elem_indices_elem
thf(fact_976_diag__elem__indices__itself,axiom,
    ! [I: nat,B: mat_a] :
      ( ( ord_less_nat @ I @ ( dim_row_a @ B ) )
     => ( member_nat @ I @ ( projec8096995296758946034ices_a @ ( index_mat_a @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ B ) ) ) ).

% diag_elem_indices_itself
thf(fact_977_diag__elem__indices__itself,axiom,
    ! [I: nat,B: mat_complex] :
      ( ( ord_less_nat @ I @ ( dim_row_complex @ B ) )
     => ( member_nat @ I @ ( projec1944845285785509306omplex @ ( index_mat_complex @ B @ ( product_Pair_nat_nat @ I @ I ) ) @ B ) ) ) ).

% diag_elem_indices_itself
thf(fact_978_set__zero__plus2,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( member_nat @ zero_zero_nat @ A )
     => ( ord_less_eq_set_nat @ B @ ( plus_plus_set_nat @ A @ B ) ) ) ).

% set_zero_plus2
thf(fact_979_set__zero__plus2,axiom,
    ! [A: set_complex,B: set_complex] :
      ( ( member_complex @ zero_zero_complex @ A )
     => ( ord_le211207098394363844omplex @ B @ ( plus_p7052360327008956141omplex @ A @ B ) ) ) ).

% set_zero_plus2
thf(fact_980_Pair__le,axiom,
    ! [A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ A2 @ B2 ) @ ( product_Pair_nat_nat @ C2 @ D2 ) )
      = ( ( ord_less_eq_nat @ A2 @ C2 )
        & ( ord_less_eq_nat @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_981_Pair__le,axiom,
    ! [A2: nat,B2: complex,C2: nat,D2: complex] :
      ( ( ord_le5145267895229885055omplex @ ( produc6973218034000581911omplex @ A2 @ B2 ) @ ( produc6973218034000581911omplex @ C2 @ D2 ) )
      = ( ( ord_less_eq_nat @ A2 @ C2 )
        & ( ord_less_eq_complex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_982_Pair__le,axiom,
    ! [A2: nat,B2: set_complex,C2: nat,D2: set_complex] :
      ( ( ord_le8845911286399622709omplex @ ( produc1375664759407572941omplex @ A2 @ B2 ) @ ( produc1375664759407572941omplex @ C2 @ D2 ) )
      = ( ( ord_less_eq_nat @ A2 @ C2 )
        & ( ord_le211207098394363844omplex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_983_Pair__le,axiom,
    ! [A2: complex,B2: nat,C2: complex,D2: nat] :
      ( ( ord_le2081805474369280895ex_nat @ ( produc1369629321580543767ex_nat @ A2 @ B2 ) @ ( produc1369629321580543767ex_nat @ C2 @ D2 ) )
      = ( ( ord_less_eq_complex @ A2 @ C2 )
        & ( ord_less_eq_nat @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_984_Pair__le,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( ord_le6295960533335388509omplex @ ( produc101793102246108661omplex @ A2 @ B2 ) @ ( produc101793102246108661omplex @ C2 @ D2 ) )
      = ( ( ord_less_eq_complex @ A2 @ C2 )
        & ( ord_less_eq_complex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_985_Pair__le,axiom,
    ! [A2: complex,B2: set_complex,C2: complex,D2: set_complex] :
      ( ( ord_le2293036613311982867omplex @ ( produc2318127812206364843omplex @ A2 @ B2 ) @ ( produc2318127812206364843omplex @ C2 @ D2 ) )
      = ( ( ord_less_eq_complex @ A2 @ C2 )
        & ( ord_le211207098394363844omplex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_986_Pair__le,axiom,
    ! [A2: set_complex,B2: nat,C2: set_complex,D2: nat] :
      ( ( ord_le3350926765517121077ex_nat @ ( produc8135886838325317069ex_nat @ A2 @ B2 ) @ ( produc8135886838325317069ex_nat @ C2 @ D2 ) )
      = ( ( ord_le211207098394363844omplex @ A2 @ C2 )
        & ( ord_less_eq_nat @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_987_Pair__le,axiom,
    ! [A2: set_complex,B2: complex,C2: set_complex,D2: complex] :
      ( ( ord_le768928591765262355omplex @ ( produc6365980645164548267omplex @ A2 @ B2 ) @ ( produc6365980645164548267omplex @ C2 @ D2 ) )
      = ( ( ord_le211207098394363844omplex @ A2 @ C2 )
        & ( ord_less_eq_complex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_988_Pair__le,axiom,
    ! [A2: set_complex,B2: set_complex,C2: set_complex,D2: set_complex] :
      ( ( ord_le6978878840087032777omplex @ ( produc3790773574474814305omplex @ A2 @ B2 ) @ ( produc3790773574474814305omplex @ C2 @ D2 ) )
      = ( ( ord_le211207098394363844omplex @ A2 @ C2 )
        & ( ord_le211207098394363844omplex @ B2 @ D2 ) ) ) ).

% Pair_le
thf(fact_989_set__times__elim,axiom,
    ! [X: mat_a,A: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ X @ ( times_1230744552615602198_mat_a @ A @ B ) )
     => ~ ! [A4: mat_a,B4: mat_a] :
            ( ( X
              = ( times_times_mat_a @ A4 @ B4 ) )
           => ( ( member_mat_a @ A4 @ A )
             => ~ ( member_mat_a @ B4 @ B ) ) ) ) ).

% set_times_elim
thf(fact_990_set__times__elim,axiom,
    ! [X: nat,A: set_nat,B: set_nat] :
      ( ( member_nat @ X @ ( times_times_set_nat @ A @ B ) )
     => ~ ! [A4: nat,B4: nat] :
            ( ( X
              = ( times_times_nat @ A4 @ B4 ) )
           => ( ( member_nat @ A4 @ A )
             => ~ ( member_nat @ B4 @ B ) ) ) ) ).

% set_times_elim
thf(fact_991_set__times__elim,axiom,
    ! [X: mat_complex,A: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ X @ ( times_6731331324747250370omplex @ A @ B ) )
     => ~ ! [A4: mat_complex,B4: mat_complex] :
            ( ( X
              = ( times_8009071140041733218omplex @ A4 @ B4 ) )
           => ( ( member_mat_complex @ A4 @ A )
             => ~ ( member_mat_complex @ B4 @ B ) ) ) ) ).

% set_times_elim
thf(fact_992_set__times__elim,axiom,
    ! [X: complex,A: set_complex,B: set_complex] :
      ( ( member_complex @ X @ ( times_6048082448287401577omplex @ A @ B ) )
     => ~ ! [A4: complex,B4: complex] :
            ( ( X
              = ( times_times_complex @ A4 @ B4 ) )
           => ( ( member_complex @ A4 @ A )
             => ~ ( member_complex @ B4 @ B ) ) ) ) ).

% set_times_elim
thf(fact_993_set__times__intro,axiom,
    ! [A2: mat_a,C: set_mat_a,B2: mat_a,D: set_mat_a] :
      ( ( member_mat_a @ A2 @ C )
     => ( ( member_mat_a @ B2 @ D )
       => ( member_mat_a @ ( times_times_mat_a @ A2 @ B2 ) @ ( times_1230744552615602198_mat_a @ C @ D ) ) ) ) ).

% set_times_intro
thf(fact_994_set__times__intro,axiom,
    ! [A2: nat,C: set_nat,B2: nat,D: set_nat] :
      ( ( member_nat @ A2 @ C )
     => ( ( member_nat @ B2 @ D )
       => ( member_nat @ ( times_times_nat @ A2 @ B2 ) @ ( times_times_set_nat @ C @ D ) ) ) ) ).

% set_times_intro
thf(fact_995_set__times__intro,axiom,
    ! [A2: mat_complex,C: set_mat_complex,B2: mat_complex,D: set_mat_complex] :
      ( ( member_mat_complex @ A2 @ C )
     => ( ( member_mat_complex @ B2 @ D )
       => ( member_mat_complex @ ( times_8009071140041733218omplex @ A2 @ B2 ) @ ( times_6731331324747250370omplex @ C @ D ) ) ) ) ).

% set_times_intro
thf(fact_996_set__times__intro,axiom,
    ! [A2: complex,C: set_complex,B2: complex,D: set_complex] :
      ( ( member_complex @ A2 @ C )
     => ( ( member_complex @ B2 @ D )
       => ( member_complex @ ( times_times_complex @ A2 @ B2 ) @ ( times_6048082448287401577omplex @ C @ D ) ) ) ) ).

% set_times_intro
thf(fact_997_Pair__mono,axiom,
    ! [X: nat,X5: nat,Y3: nat,Y6: nat] :
      ( ( ord_less_eq_nat @ X @ X5 )
     => ( ( ord_less_eq_nat @ Y3 @ Y6 )
       => ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ X @ Y3 ) @ ( product_Pair_nat_nat @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_998_Pair__mono,axiom,
    ! [X: nat,X5: nat,Y3: complex,Y6: complex] :
      ( ( ord_less_eq_nat @ X @ X5 )
     => ( ( ord_less_eq_complex @ Y3 @ Y6 )
       => ( ord_le5145267895229885055omplex @ ( produc6973218034000581911omplex @ X @ Y3 ) @ ( produc6973218034000581911omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_999_Pair__mono,axiom,
    ! [X: nat,X5: nat,Y3: set_complex,Y6: set_complex] :
      ( ( ord_less_eq_nat @ X @ X5 )
     => ( ( ord_le211207098394363844omplex @ Y3 @ Y6 )
       => ( ord_le8845911286399622709omplex @ ( produc1375664759407572941omplex @ X @ Y3 ) @ ( produc1375664759407572941omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1000_Pair__mono,axiom,
    ! [X: complex,X5: complex,Y3: nat,Y6: nat] :
      ( ( ord_less_eq_complex @ X @ X5 )
     => ( ( ord_less_eq_nat @ Y3 @ Y6 )
       => ( ord_le2081805474369280895ex_nat @ ( produc1369629321580543767ex_nat @ X @ Y3 ) @ ( produc1369629321580543767ex_nat @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1001_Pair__mono,axiom,
    ! [X: complex,X5: complex,Y3: complex,Y6: complex] :
      ( ( ord_less_eq_complex @ X @ X5 )
     => ( ( ord_less_eq_complex @ Y3 @ Y6 )
       => ( ord_le6295960533335388509omplex @ ( produc101793102246108661omplex @ X @ Y3 ) @ ( produc101793102246108661omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1002_Pair__mono,axiom,
    ! [X: complex,X5: complex,Y3: set_complex,Y6: set_complex] :
      ( ( ord_less_eq_complex @ X @ X5 )
     => ( ( ord_le211207098394363844omplex @ Y3 @ Y6 )
       => ( ord_le2293036613311982867omplex @ ( produc2318127812206364843omplex @ X @ Y3 ) @ ( produc2318127812206364843omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1003_Pair__mono,axiom,
    ! [X: set_complex,X5: set_complex,Y3: nat,Y6: nat] :
      ( ( ord_le211207098394363844omplex @ X @ X5 )
     => ( ( ord_less_eq_nat @ Y3 @ Y6 )
       => ( ord_le3350926765517121077ex_nat @ ( produc8135886838325317069ex_nat @ X @ Y3 ) @ ( produc8135886838325317069ex_nat @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1004_Pair__mono,axiom,
    ! [X: set_complex,X5: set_complex,Y3: complex,Y6: complex] :
      ( ( ord_le211207098394363844omplex @ X @ X5 )
     => ( ( ord_less_eq_complex @ Y3 @ Y6 )
       => ( ord_le768928591765262355omplex @ ( produc6365980645164548267omplex @ X @ Y3 ) @ ( produc6365980645164548267omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1005_Pair__mono,axiom,
    ! [X: set_complex,X5: set_complex,Y3: set_complex,Y6: set_complex] :
      ( ( ord_le211207098394363844omplex @ X @ X5 )
     => ( ( ord_le211207098394363844omplex @ Y3 @ Y6 )
       => ( ord_le6978878840087032777omplex @ ( produc3790773574474814305omplex @ X @ Y3 ) @ ( produc3790773574474814305omplex @ X5 @ Y6 ) ) ) ) ).

% Pair_mono
thf(fact_1006_basic__trans__rules_I22_J,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(22)
thf(fact_1007_basic__trans__rules_I22_J,axiom,
    ! [X: complex,Y3: complex,Z2: complex] :
      ( ( ord_less_complex @ X @ Y3 )
     => ( ( ord_less_eq_complex @ Y3 @ Z2 )
       => ( ord_less_complex @ X @ Z2 ) ) ) ).

% basic_trans_rules(22)
thf(fact_1008_basic__trans__rules_I22_J,axiom,
    ! [X: set_complex,Y3: set_complex,Z2: set_complex] :
      ( ( ord_less_set_complex @ X @ Y3 )
     => ( ( ord_le211207098394363844omplex @ Y3 @ Z2 )
       => ( ord_less_set_complex @ X @ Z2 ) ) ) ).

% basic_trans_rules(22)
thf(fact_1009_basic__trans__rules_I21_J,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( ord_less_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(21)
thf(fact_1010_basic__trans__rules_I21_J,axiom,
    ! [X: complex,Y3: complex,Z2: complex] :
      ( ( ord_less_eq_complex @ X @ Y3 )
     => ( ( ord_less_complex @ Y3 @ Z2 )
       => ( ord_less_complex @ X @ Z2 ) ) ) ).

% basic_trans_rules(21)
thf(fact_1011_basic__trans__rules_I21_J,axiom,
    ! [X: set_complex,Y3: set_complex,Z2: set_complex] :
      ( ( ord_le211207098394363844omplex @ X @ Y3 )
     => ( ( ord_less_set_complex @ Y3 @ Z2 )
       => ( ord_less_set_complex @ X @ Z2 ) ) ) ).

% basic_trans_rules(21)
thf(fact_1012_basic__trans__rules_I28_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( A2 = B2 )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% basic_trans_rules(28)
thf(fact_1013_basic__trans__rules_I27_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( B2 = C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% basic_trans_rules(27)
thf(fact_1014_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_1015_basic__trans__rules_I19_J,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( ( ord_less_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% basic_trans_rules(19)
thf(fact_1016_basic__trans__rules_I12_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C2: nat] :
      ( ( A2
        = ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(12)
thf(fact_1017_basic__trans__rules_I11_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ( F @ B2 )
          = C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(11)
thf(fact_1018_basic__trans__rules_I2_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(2)
thf(fact_1019_basic__trans__rules_I1_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(1)
thf(fact_1020_basic__trans__rules_I3_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1021_basic__trans__rules_I3_J,axiom,
    ! [A2: nat,B2: nat,F: nat > complex,C2: complex] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1022_basic__trans__rules_I3_J,axiom,
    ! [A2: nat,B2: nat,F: nat > set_complex,C2: set_complex] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( ord_less_set_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1023_basic__trans__rules_I3_J,axiom,
    ! [A2: complex,B2: complex,F: complex > nat,C2: nat] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1024_basic__trans__rules_I3_J,axiom,
    ! [A2: complex,B2: complex,F: complex > complex,C2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1025_basic__trans__rules_I3_J,axiom,
    ! [A2: complex,B2: complex,F: complex > set_complex,C2: set_complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( ord_less_set_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1026_basic__trans__rules_I3_J,axiom,
    ! [A2: set_complex,B2: set_complex,F: set_complex > nat,C2: nat] :
      ( ( ord_le211207098394363844omplex @ A2 @ B2 )
     => ( ( ord_less_nat @ ( F @ B2 ) @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1027_basic__trans__rules_I3_J,axiom,
    ! [A2: set_complex,B2: set_complex,F: set_complex > complex,C2: complex] :
      ( ( ord_le211207098394363844omplex @ A2 @ B2 )
     => ( ( ord_less_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1028_basic__trans__rules_I3_J,axiom,
    ! [A2: set_complex,B2: set_complex,F: set_complex > set_complex,C2: set_complex] :
      ( ( ord_le211207098394363844omplex @ A2 @ B2 )
     => ( ( ord_less_set_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(3)
thf(fact_1029_basic__trans__rules_I4_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(4)
thf(fact_1030_basic__trans__rules_I4_J,axiom,
    ! [A2: complex,F: nat > complex,B2: nat,C2: nat] :
      ( ( ord_less_eq_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(4)
thf(fact_1031_basic__trans__rules_I4_J,axiom,
    ! [A2: set_complex,F: nat > set_complex,B2: nat,C2: nat] :
      ( ( ord_le211207098394363844omplex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_set_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(4)
thf(fact_1032_basic__trans__rules_I5_J,axiom,
    ! [A2: nat,B2: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_eq_nat @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(5)
thf(fact_1033_basic__trans__rules_I5_J,axiom,
    ! [A2: nat,B2: nat,F: nat > complex,C2: complex] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_less_eq_complex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(5)
thf(fact_1034_basic__trans__rules_I5_J,axiom,
    ! [A2: nat,B2: nat,F: nat > set_complex,C2: set_complex] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( ( ord_le211207098394363844omplex @ ( F @ B2 ) @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_nat @ X2 @ Y )
             => ( ord_less_set_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ ( F @ A2 ) @ C2 ) ) ) ) ).

% basic_trans_rules(5)
thf(fact_1035_basic__trans__rules_I6_J,axiom,
    ! [A2: nat,F: nat > nat,B2: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1036_basic__trans__rules_I6_J,axiom,
    ! [A2: complex,F: nat > complex,B2: nat,C2: nat] :
      ( ( ord_less_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1037_basic__trans__rules_I6_J,axiom,
    ! [A2: set_complex,F: nat > set_complex,B2: nat,C2: nat] :
      ( ( ord_less_set_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_nat @ B2 @ C2 )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1038_basic__trans__rules_I6_J,axiom,
    ! [A2: nat,F: complex > nat,B2: complex,C2: complex] :
      ( ( ord_less_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_complex @ B2 @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1039_basic__trans__rules_I6_J,axiom,
    ! [A2: complex,F: complex > complex,B2: complex,C2: complex] :
      ( ( ord_less_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_complex @ B2 @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1040_basic__trans__rules_I6_J,axiom,
    ! [A2: set_complex,F: complex > set_complex,B2: complex,C2: complex] :
      ( ( ord_less_set_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_less_eq_complex @ B2 @ C2 )
       => ( ! [X2: complex,Y: complex] :
              ( ( ord_less_eq_complex @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1041_basic__trans__rules_I6_J,axiom,
    ! [A2: nat,F: set_complex > nat,B2: set_complex,C2: set_complex] :
      ( ( ord_less_nat @ A2 @ ( F @ B2 ) )
     => ( ( ord_le211207098394363844omplex @ B2 @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1042_basic__trans__rules_I6_J,axiom,
    ! [A2: complex,F: set_complex > complex,B2: set_complex,C2: set_complex] :
      ( ( ord_less_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_le211207098394363844omplex @ B2 @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_less_eq_complex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1043_basic__trans__rules_I6_J,axiom,
    ! [A2: set_complex,F: set_complex > set_complex,B2: set_complex,C2: set_complex] :
      ( ( ord_less_set_complex @ A2 @ ( F @ B2 ) )
     => ( ( ord_le211207098394363844omplex @ B2 @ C2 )
       => ( ! [X2: set_complex,Y: set_complex] :
              ( ( ord_le211207098394363844omplex @ X2 @ Y )
             => ( ord_le211207098394363844omplex @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_set_complex @ A2 @ ( F @ C2 ) ) ) ) ) ).

% basic_trans_rules(6)
thf(fact_1044_basic__trans__rules_I17_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( A2 != B2 )
     => ( ( ord_less_eq_nat @ A2 @ B2 )
       => ( ord_less_nat @ A2 @ B2 ) ) ) ).

% basic_trans_rules(17)
thf(fact_1045_basic__trans__rules_I17_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2 != B2 )
     => ( ( ord_less_eq_complex @ A2 @ B2 )
       => ( ord_less_complex @ A2 @ B2 ) ) ) ).

% basic_trans_rules(17)
thf(fact_1046_basic__trans__rules_I17_J,axiom,
    ! [A2: set_complex,B2: set_complex] :
      ( ( A2 != B2 )
     => ( ( ord_le211207098394363844omplex @ A2 @ B2 )
       => ( ord_less_set_complex @ A2 @ B2 ) ) ) ).

% basic_trans_rules(17)
thf(fact_1047_basic__trans__rules_I18_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_nat @ A2 @ B2 ) ) ) ).

% basic_trans_rules(18)
thf(fact_1048_basic__trans__rules_I18_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_eq_complex @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_complex @ A2 @ B2 ) ) ) ).

% basic_trans_rules(18)
thf(fact_1049_basic__trans__rules_I18_J,axiom,
    ! [A2: set_complex,B2: set_complex] :
      ( ( ord_le211207098394363844omplex @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_set_complex @ A2 @ B2 ) ) ) ).

% basic_trans_rules(18)
thf(fact_1050_order__le__imp__less__or__eq,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( ord_less_nat @ X @ Y3 )
        | ( X = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_1051_order__le__imp__less__or__eq,axiom,
    ! [X: complex,Y3: complex] :
      ( ( ord_less_eq_complex @ X @ Y3 )
     => ( ( ord_less_complex @ X @ Y3 )
        | ( X = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_1052_order__le__imp__less__or__eq,axiom,
    ! [X: set_complex,Y3: set_complex] :
      ( ( ord_le211207098394363844omplex @ X @ Y3 )
     => ( ( ord_less_set_complex @ X @ Y3 )
        | ( X = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_1053_linorder__le__less__linear,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
      | ( ord_less_nat @ Y3 @ X ) ) ).

% linorder_le_less_linear
thf(fact_1054_order__less__imp__not__less,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X ) ) ).

% order_less_imp_not_less
thf(fact_1055_order__less__imp__not__eq2,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( Y3 != X ) ) ).

% order_less_imp_not_eq2
thf(fact_1056_order__less__imp__not__eq,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( X != Y3 ) ) ).

% order_less_imp_not_eq
thf(fact_1057_linorder__less__linear,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
      | ( X = Y3 )
      | ( ord_less_nat @ Y3 @ X ) ) ).

% linorder_less_linear
thf(fact_1058_order__less__imp__triv,axiom,
    ! [X: nat,Y3: nat,P: $o] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( ( ord_less_nat @ Y3 @ X )
       => P ) ) ).

% order_less_imp_triv
thf(fact_1059_order__less__not__sym,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X ) ) ).

% order_less_not_sym
thf(fact_1060_order__less__irrefl,axiom,
    ! [X: nat] :
      ~ ( ord_less_nat @ X @ X ) ).

% order_less_irrefl
thf(fact_1061_linorder__neq__iff,axiom,
    ! [X: nat,Y3: nat] :
      ( ( X != Y3 )
      = ( ( ord_less_nat @ X @ Y3 )
        | ( ord_less_nat @ Y3 @ X ) ) ) ).

% linorder_neq_iff
thf(fact_1062_order__less__asym,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X ) ) ).

% order_less_asym
thf(fact_1063_linorder__neqE,axiom,
    ! [X: nat,Y3: nat] :
      ( ( X != Y3 )
     => ( ~ ( ord_less_nat @ X @ Y3 )
       => ( ord_less_nat @ Y3 @ X ) ) ) ).

% linorder_neqE
thf(fact_1064_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_1065_order_Ostrict__implies__not__eq,axiom,
    ! [A2: nat,B2: nat] :
      ( ( ord_less_nat @ A2 @ B2 )
     => ( A2 != B2 ) ) ).

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

% dual_order.strict_trans
thf(fact_1067_not__less__iff__gr__or__eq,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ~ ( ord_less_nat @ X @ Y3 ) )
      = ( ( ord_less_nat @ Y3 @ X )
        | ( X = Y3 ) ) ) ).

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

% order.strict_trans
thf(fact_1069_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A2: nat,B2: nat] :
      ( ! [A4: nat,B4: nat] :
          ( ( ord_less_nat @ A4 @ B4 )
         => ( P @ A4 @ B4 ) )
     => ( ! [A4: nat] : ( P @ A4 @ A4 )
       => ( ! [A4: nat,B4: nat] :
              ( ( P @ B4 @ A4 )
             => ( P @ A4 @ B4 ) )
         => ( P @ A2 @ B2 ) ) ) ) ).

% linorder_less_wlog
thf(fact_1070_exists__least__iff,axiom,
    ( ( ^ [P5: nat > $o] :
        ? [X6: nat] : ( P5 @ X6 ) )
    = ( ^ [P6: nat > $o] :
        ? [N2: nat] :
          ( ( P6 @ N2 )
          & ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
             => ~ ( P6 @ M2 ) ) ) ) ) ).

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

% dual_order.irrefl
thf(fact_1072_dual__order_Oasym,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ord_less_nat @ B2 @ A2 )
     => ~ ( ord_less_nat @ A2 @ B2 ) ) ).

% dual_order.asym
thf(fact_1073_linorder__cases,axiom,
    ! [X: nat,Y3: nat] :
      ( ~ ( ord_less_nat @ X @ Y3 )
     => ( ( X != Y3 )
       => ( ord_less_nat @ Y3 @ X ) ) ) ).

% linorder_cases
thf(fact_1074_antisym__conv3,axiom,
    ! [Y3: nat,X: nat] :
      ( ~ ( ord_less_nat @ Y3 @ X )
     => ( ( ~ ( ord_less_nat @ X @ Y3 ) )
        = ( X = Y3 ) ) ) ).

% antisym_conv3
thf(fact_1075_less__induct,axiom,
    ! [P: nat > $o,A2: nat] :
      ( ! [X2: nat] :
          ( ! [Y7: nat] :
              ( ( ord_less_nat @ Y7 @ X2 )
             => ( P @ Y7 ) )
         => ( P @ X2 ) )
     => ( P @ A2 ) ) ).

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

% order.asym
thf(fact_1077_less__imp__neq,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_nat @ X @ Y3 )
     => ( X != Y3 ) ) ).

% less_imp_neq
thf(fact_1078_gt__ex,axiom,
    ! [X: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X @ X_1 ) ).

% gt_ex
thf(fact_1079_leD,axiom,
    ! [Y3: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X )
     => ~ ( ord_less_nat @ X @ Y3 ) ) ).

% leD
thf(fact_1080_leD,axiom,
    ! [Y3: complex,X: complex] :
      ( ( ord_less_eq_complex @ Y3 @ X )
     => ~ ( ord_less_complex @ X @ Y3 ) ) ).

% leD
thf(fact_1081_leD,axiom,
    ! [Y3: set_complex,X: set_complex] :
      ( ( ord_le211207098394363844omplex @ Y3 @ X )
     => ~ ( ord_less_set_complex @ X @ Y3 ) ) ).

% leD
thf(fact_1082_leI,axiom,
    ! [X: nat,Y3: nat] :
      ( ~ ( ord_less_nat @ X @ Y3 )
     => ( ord_less_eq_nat @ Y3 @ X ) ) ).

% leI
thf(fact_1083_le__less,axiom,
    ( ord_less_eq_complex
    = ( ^ [X3: complex,Y5: complex] :
          ( ( ord_less_complex @ X3 @ Y5 )
          | ( X3 = Y5 ) ) ) ) ).

% le_less
thf(fact_1084_le__less,axiom,
    ( ord_le211207098394363844omplex
    = ( ^ [X3: set_complex,Y5: set_complex] :
          ( ( ord_less_set_complex @ X3 @ Y5 )
          | ( X3 = Y5 ) ) ) ) ).

% le_less
thf(fact_1085_mat__assoc__test_I8_J,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,C: mat_complex,D: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ C @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ D @ ( carrier_mat_complex @ N @ N ) )
           => ( ( minus_2412168080157227406omplex @ A @ B )
              = ( plus_p8323303612493835998omplex @ A @ ( smult_mat_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ B ) ) ) ) ) ) ) ).

% mat_assoc_test(8)
thf(fact_1086_lowner__le__swap,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( complex_lowner_le @ A @ B )
         => ( complex_lowner_le @ ( uminus467866341702955550omplex @ B ) @ ( uminus467866341702955550omplex @ A ) ) ) ) ) ).

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

% less_one

% Helper facts (5)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_3_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [X: complex,Y3: complex] :
      ( ( if_complex @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [X: complex,Y3: complex] :
      ( ( if_complex @ $true @ X @ Y3 )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( scalar_prod_a @ ( row_a @ ( schur_mat_adjoint_a @ a2 ) @ ( f @ i ) ) @ ( col_a @ a2 @ ( f @ j ) ) )
    = ( index_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ a2 ) @ a2 ) @ ( product_Pair_nat_nat @ ( f @ i ) @ ( f @ j ) ) ) ) ).

%------------------------------------------------------------------------------