TPTP Problem File: SLH0228^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/0001_Spectral_Theory_Complements/prob_00731_027109__19291952_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1352 ( 578 unt; 198 typ;   0 def)
%            Number of atoms       : 2834 (1461 equ;   0 cnn)
%            Maximal formula atoms :    9 (   2 avg)
%            Number of connectives : 11904 ( 141   ~;  47   |;  79   &;10460   @)
%                                         (   0 <=>;1177  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   31 (   6 avg)
%            Number of types       :   19 (  18 usr)
%            Number of type conns  :  404 ( 404   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  183 ( 180 usr;  15 con; 0-6 aty)
%            Number of variables   : 3311 (  86   ^;3212   !;  13   ?;3311   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 11:35:26.322
%------------------------------------------------------------------------------
% Could-be-implicit typings (18)
thf(ty_n_t__Set__Oset_It__Matrix__Ovec_It__Complex__Ocomplex_J_J,type,
    set_vec_complex: $tType ).

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

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

thf(ty_n_t__Set__Oset_It__Matrix__Omat_It__Int__Oint_J_J,type,
    set_mat_int: $tType ).

thf(ty_n_t__Set__Oset_It__Matrix__Ovec_Itf__a_J_J,type,
    set_vec_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__Omat_It__Nat__Onat_J,type,
    mat_nat: $tType ).

thf(ty_n_t__Matrix__Omat_It__Int__Oint_J,type,
    mat_int: $tType ).

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

thf(ty_n_t__Set__Oset_It__Int__Oint_J,type,
    set_int: $tType ).

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

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

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

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

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

% Explicit typings (180)
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_001t__Int__Oint,type,
    column8972844496611464325ls_int: nat > nat > mat_int > mat_int ).

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

thf(sy_c_Column__Operations_Oswap__col__to__front_001t__Complex__Ocomplex,type,
    column7264791363093833182omplex: mat_complex > nat > mat_complex ).

thf(sy_c_Column__Operations_Oswap__col__to__front_001t__Int__Oint,type,
    column5961545885456686940nt_int: mat_int > nat > mat_int ).

thf(sy_c_Column__Operations_Oswap__col__to__front_001tf__a,type,
    column2924081423933032910ront_a: mat_a > nat > mat_a ).

thf(sy_c_Column__Operations_Oswap__row__to__front_001t__Complex__Ocomplex,type,
    column4342047067757093060omplex: mat_complex > nat > mat_complex ).

thf(sy_c_Column__Operations_Oswap__row__to__front_001t__Int__Oint,type,
    column7805526535140091458nt_int: mat_int > nat > mat_int ).

thf(sy_c_Column__Operations_Oswap__row__to__front_001tf__a,type,
    column973622294476583016ront_a: mat_a > 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_Opartial__density__operator,type,
    comple1169154605998056944erator: mat_complex > $o ).

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

thf(sy_c_Complex__Matrix_Otrace_001t__Int__Oint,type,
    complex_trace_int: mat_int > int ).

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

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

thf(sy_c_Complex__Matrix_Ounitary_001tf__a,type,
    complex_unitary_a: mat_a > $o ).

thf(sy_c_Complex__Transcendental_Omoebius_001t__Complex__Ocomplex,type,
    comple6957087336724718077omplex: complex > complex > complex > complex > complex > complex ).

thf(sy_c_Determinant_Oadj__mat_001t__Complex__Ocomplex,type,
    adj_mat_complex: mat_complex > mat_complex ).

thf(sy_c_Determinant_Oadj__mat_001t__Int__Oint,type,
    adj_mat_int: mat_int > mat_int ).

thf(sy_c_Determinant_Oadj__mat_001tf__a,type,
    adj_mat_a: mat_a > mat_a ).

thf(sy_c_Determinant_Ocofactor_001t__Complex__Ocomplex,type,
    cofactor_complex: mat_complex > nat > nat > complex ).

thf(sy_c_Determinant_Ocofactor_001t__Int__Oint,type,
    cofactor_int: mat_int > nat > nat > int ).

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

thf(sy_c_Determinant_Odet_001t__Complex__Ocomplex,type,
    det_complex: mat_complex > complex ).

thf(sy_c_Determinant_Odet_001t__Int__Oint,type,
    det_int: mat_int > int ).

thf(sy_c_Determinant_Odet_001tf__a,type,
    det_a: mat_a > a ).

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

thf(sy_c_Determinant_Omat__delete_001t__Int__Oint,type,
    mat_delete_int: mat_int > nat > nat > mat_int ).

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

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

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

thf(sy_c_Determinant_Opermutation__insert_001t__Int__Oint,type,
    permut3692553072317293667rt_int: int > nat > ( int > nat ) > int > nat ).

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

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__Int__Oint,type,
    gauss_6494379909522362210at_int: nat > int > nat > nat > mat_int ).

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_Ogauss__jordan__single_001t__Complex__Ocomplex,type,
    gauss_4244865067341541924omplex: mat_complex > mat_complex ).

thf(sy_c_Gauss__Jordan__Elimination_Ogauss__jordan__single_001tf__a,type,
    gauss_4684855476144371464ngle_a: mat_a > 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__Int__Oint,type,
    gauss_8882552878057600758en_int: ( int > int > int ) > ( int > int > int ) > int > nat > nat > mat_int > mat_int ).

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

thf(sy_c_Gauss__Jordan__Elimination_Orow__echelon__form_001tf__a,type,
    gauss_5855338539171749649form_a: mat_a > $o ).

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

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__Int__Oint,type,
    minus_minus_int: int > int > int ).

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__Int__Oint_J,type,
    minus_minus_mat_int: mat_int > mat_int > mat_int ).

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_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__Int__Oint,type,
    one_one_int: int ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oone__class_Oone_001tf__a,type,
    one_one_a: a ).

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__Int__Oint,type,
    plus_plus_int: int > int > int ).

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__Int__Oint_J,type,
    plus_plus_mat_int: mat_int > mat_int > mat_int ).

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__Nat__Onat,type,
    plus_plus_nat: nat > 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__Int__Oint_J,type,
    plus_plus_set_int: set_int > set_int > set_int ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Set__Oset_It__Matrix__Omat_It__Complex__Ocomplex_J_J,type,
    plus_p4229080058245121342omplex: set_mat_complex > set_mat_complex > set_mat_complex ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Set__Oset_It__Matrix__Omat_Itf__a_J_J,type,
    plus_plus_set_mat_a: set_mat_a > set_mat_a > set_mat_a ).

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__Int__Oint,type,
    times_times_int: int > int > int ).

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__Int__Oint_J,type,
    times_times_mat_int: mat_int > mat_int > mat_int ).

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__Int__Oint_J,type,
    times_times_set_int: set_int > set_int > set_int ).

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__Int__Oint,type,
    uminus_uminus_int: int > int ).

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

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Matrix__Omat_Itf__a_J,type,
    uminus_uminus_mat_a: mat_a > mat_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001tf__a,type,
    uminus_uminus_a: a > a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Complex__Ocomplex,type,
    zero_zero_complex: complex ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint,type,
    zero_zero_int: int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001tf__a,type,
    zero_zero_a: a ).

thf(sy_c_HOL_ONO__MATCH_001t__Complex__Ocomplex_001t__Complex__Ocomplex,type,
    nO_MAT8947977539597988553omplex: complex > complex > $o ).

thf(sy_c_HOL_ONO__MATCH_001t__Int__Oint_001t__Int__Oint,type,
    nO_MATCH_int_int: int > int > $o ).

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

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

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

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_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_Ocarrier__mat_001t__Complex__Ocomplex,type,
    carrier_mat_complex: nat > nat > set_mat_complex ).

thf(sy_c_Matrix_Ocarrier__mat_001t__Int__Oint,type,
    carrier_mat_int: nat > nat > set_mat_int ).

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_Odim__col_001t__Complex__Ocomplex,type,
    dim_col_complex: mat_complex > nat ).

thf(sy_c_Matrix_Odim__col_001t__Int__Oint,type,
    dim_col_int: mat_int > 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__Int__Oint,type,
    dim_row_int: mat_int > nat ).

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

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_001t__Int__Oint,type,
    four_block_mat_int: mat_int > mat_int > mat_int > mat_int > mat_int ).

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

thf(sy_c_Matrix_Oinvertible__mat_001tf__a,type,
    invertible_mat_a: mat_a > $o ).

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

thf(sy_c_Matrix_Oinverts__mat_001t__Int__Oint,type,
    inverts_mat_int: mat_int > mat_int > $o ).

thf(sy_c_Matrix_Oinverts__mat_001tf__a,type,
    inverts_mat_a: mat_a > mat_a > $o ).

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

thf(sy_c_Matrix_Oone__mat_001t__Int__Oint,type,
    one_mat_int: nat > mat_int ).

thf(sy_c_Matrix_Oone__mat_001tf__a,type,
    one_mat_a: nat > mat_a ).

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

thf(sy_c_Matrix_Opow__mat_001t__Int__Oint,type,
    pow_mat_int: mat_int > nat > mat_int ).

thf(sy_c_Matrix_Opow__mat_001tf__a,type,
    pow_mat_a: mat_a > nat > mat_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_001t__Int__Oint,type,
    similar_mat_wit_int: mat_int > mat_int > mat_int > mat_int > $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__Int__Oint,type,
    smult_mat_int: int > mat_int > mat_int ).

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

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

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

thf(sy_c_Matrix_Osquare__mat_001t__Int__Oint,type,
    square_mat_int: mat_int > $o ).

thf(sy_c_Matrix_Osquare__mat_001tf__a,type,
    square_mat_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__Int__Oint,type,
    zero_mat_int: nat > nat > mat_int ).

thf(sy_c_Matrix_Ozero__mat_001tf__a,type,
    zero_mat_a: nat > nat > mat_a ).

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

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Complex__Ocomplex,type,
    semiri8010041392384452111omplex: nat > complex ).

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

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__Int__Oint,type,
    ord_less_int: int > int > $o ).

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

thf(sy_c_Power_Opower__class_Opower_001t__Complex__Ocomplex,type,
    power_power_complex: complex > nat > complex ).

thf(sy_c_Power_Opower__class_Opower_001t__Int__Oint,type,
    power_power_int: int > nat > int ).

thf(sy_c_Power_Opower__class_Opower_001t__Nat__Onat,type,
    power_power_nat: nat > nat > nat ).

thf(sy_c_Power_Opower__class_Opower_001tf__a,type,
    power_power_a: a > nat > a ).

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

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

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

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

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

thf(sy_c_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__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_Omat__conj_001t__Complex__Ocomplex,type,
    spectr5699176650994449695omplex: mat_complex > mat_complex > mat_complex ).

thf(sy_c_Spectral__Theory__Complements_Omat__conj_001tf__a,type,
    spectr5828033140197310157conj_a: mat_a > mat_a > mat_a ).

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_VS__Connect_Ovec__space_Orow__space_001t__Complex__Ocomplex,type,
    vS_vec3284807721666986142omplex: nat > mat_complex > set_vec_complex ).

thf(sy_c_VS__Connect_Ovec__space_Orow__space_001tf__a,type,
    vS_vec_row_space_a: nat > mat_a > set_vec_a ).

thf(sy_c_member_001t__Complex__Ocomplex,type,
    member_complex: complex > set_complex > $o ).

thf(sy_c_member_001t__Int__Oint,type,
    member_int: int > set_int > $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__Int__Oint_J,type,
    member_mat_int: mat_int > set_mat_int > $o ).

thf(sy_c_member_001t__Matrix__Omat_It__Nat__Onat_J,type,
    member_mat_nat: mat_nat > set_mat_nat > $o ).

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

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

thf(sy_v_A,type,
    a2: mat_a ).

thf(sy_v_B,type,
    b: mat_a ).

thf(sy_v_U,type,
    u: mat_a ).

thf(sy_v_V,type,
    v: mat_a ).

thf(sy_v_n,type,
    n: nat ).

% Relevant facts (1146)
thf(fact_0_assms_I5_J,axiom,
    complex_unitary_a @ v ).

% assms(5)
thf(fact_1_assms_I2_J,axiom,
    member_mat_a @ v @ ( carrier_mat_a @ n @ n ) ).

% assms(2)
thf(fact_2_assms_I3_J,axiom,
    member_mat_a @ u @ ( carrier_mat_a @ n @ n ) ).

% assms(3)
thf(fact_3_assms_I4_J,axiom,
    member_mat_a @ b @ ( carrier_mat_a @ n @ n ) ).

% assms(4)
thf(fact_4_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_5_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_6__092_060open_062V_A_K_A_IU_A_K_A_IB_A_K_AComplex__Matrix_Oadjoint_AU_J_J_A_061_AV_A_K_AU_A_K_A_IB_A_K_AComplex__Matrix_Oadjoint_AU_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ v @ ( times_times_mat_a @ u @ ( times_times_mat_a @ b @ ( schur_mat_adjoint_a @ u ) ) ) )
    = ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ ( times_times_mat_a @ b @ ( schur_mat_adjoint_a @ u ) ) ) ) ).

% \<open>V * (U * (B * Complex_Matrix.adjoint U)) = V * U * (B * Complex_Matrix.adjoint U)\<close>
thf(fact_7__092_060open_062V_A_K_A_IU_A_K_AB_A_K_AComplex__Matrix_Oadjoint_AU_J_A_061_AV_A_K_A_IU_A_K_A_IB_A_K_AComplex__Matrix_Oadjoint_AU_J_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ v @ ( times_times_mat_a @ ( times_times_mat_a @ u @ b ) @ ( schur_mat_adjoint_a @ u ) ) )
    = ( times_times_mat_a @ v @ ( times_times_mat_a @ u @ ( times_times_mat_a @ b @ ( schur_mat_adjoint_a @ u ) ) ) ) ) ).

% \<open>V * (U * B * Complex_Matrix.adjoint U) = V * (U * (B * Complex_Matrix.adjoint U))\<close>
thf(fact_8__092_060open_062V_A_K_AU_A_K_A_IB_A_K_AComplex__Matrix_Oadjoint_AU_J_A_061_AV_A_K_AU_A_K_AB_A_K_AComplex__Matrix_Oadjoint_AU_092_060close_062,axiom,
    ( ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ ( times_times_mat_a @ b @ ( schur_mat_adjoint_a @ u ) ) )
    = ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ b ) @ ( schur_mat_adjoint_a @ u ) ) ) ).

% \<open>V * U * (B * Complex_Matrix.adjoint U) = V * U * B * Complex_Matrix.adjoint U\<close>
thf(fact_9_assms_I6_J,axiom,
    ( ( spectr5828033140197310157conj_a @ ( schur_mat_adjoint_a @ v ) @ a2 )
    = ( spectr5828033140197310157conj_a @ u @ b ) ) ).

% assms(6)
thf(fact_10_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_11_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_12_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_13_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_14__092_060open_062V_A_K_A_IComplex__Matrix_Oadjoint_AV_A_K_AA_A_K_AV_J_A_061_AV_A_K_A_IU_A_K_AB_A_K_AComplex__Matrix_Oadjoint_AU_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ v @ ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ v ) @ a2 ) @ v ) )
    = ( times_times_mat_a @ v @ ( times_times_mat_a @ ( times_times_mat_a @ u @ b ) @ ( schur_mat_adjoint_a @ u ) ) ) ) ).

% \<open>V * (Complex_Matrix.adjoint V * A * V) = V * (U * B * Complex_Matrix.adjoint U)\<close>
thf(fact_15__092_060open_062A_A_K_AV_A_K_AComplex__Matrix_Oadjoint_AV_A_061_AV_A_K_AU_A_K_AB_A_K_AComplex__Matrix_Oadjoint_AU_A_K_AComplex__Matrix_Oadjoint_AV_092_060close_062,axiom,
    ( ( times_times_mat_a @ ( times_times_mat_a @ a2 @ v ) @ ( schur_mat_adjoint_a @ v ) )
    = ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ b ) @ ( schur_mat_adjoint_a @ u ) ) @ ( schur_mat_adjoint_a @ v ) ) ) ).

% \<open>A * V * Complex_Matrix.adjoint V = V * U * B * Complex_Matrix.adjoint U * Complex_Matrix.adjoint V\<close>
thf(fact_16_calculation,axiom,
    ( a2
    = ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ b ) @ ( schur_mat_adjoint_a @ u ) ) @ ( schur_mat_adjoint_a @ v ) ) ) ).

% calculation
thf(fact_17_eq,axiom,
    ( ( times_times_mat_a @ a2 @ v )
    = ( times_times_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ v @ u ) @ b ) @ ( schur_mat_adjoint_a @ u ) ) ) ).

% eq
thf(fact_18_Complex__Matrix_Oadjoint__adjoint,axiom,
    ! [A: mat_a] :
      ( ( schur_mat_adjoint_a @ ( schur_mat_adjoint_a @ A ) )
      = A ) ).

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

% Complex_Matrix.adjoint_adjoint
thf(fact_20_assms_I1_J,axiom,
    member_mat_a @ a2 @ ( carrier_mat_a @ n @ n ) ).

% assms(1)
thf(fact_21__092_060open_062V_A_K_AComplex__Matrix_Oadjoint_AV_A_K_A_IA_A_K_AV_J_A_061_AV_A_K_A_IComplex__Matrix_Oadjoint_AV_A_K_A_IA_A_K_AV_J_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ ( times_times_mat_a @ v @ ( schur_mat_adjoint_a @ v ) ) @ ( times_times_mat_a @ a2 @ v ) )
    = ( times_times_mat_a @ v @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ v ) @ ( times_times_mat_a @ a2 @ v ) ) ) ) ).

% \<open>V * Complex_Matrix.adjoint V * (A * V) = V * (Complex_Matrix.adjoint V * (A * V))\<close>
thf(fact_22__092_060open_062V_A_K_A_IComplex__Matrix_Oadjoint_AV_A_K_A_IA_A_K_AV_J_J_A_061_AV_A_K_A_IComplex__Matrix_Oadjoint_AV_A_K_AA_A_K_AV_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ v @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ v ) @ ( times_times_mat_a @ a2 @ v ) ) )
    = ( times_times_mat_a @ v @ ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ v ) @ a2 ) @ v ) ) ) ).

% \<open>V * (Complex_Matrix.adjoint V * (A * V)) = V * (Complex_Matrix.adjoint V * A * V)\<close>
thf(fact_23__092_060open_062A_A_K_A_IV_A_K_AComplex__Matrix_Oadjoint_AV_J_A_061_AA_A_K_AV_A_K_AComplex__Matrix_Oadjoint_AV_092_060close_062,axiom,
    ( ( times_times_mat_a @ a2 @ ( times_times_mat_a @ v @ ( schur_mat_adjoint_a @ v ) ) )
    = ( times_times_mat_a @ ( times_times_mat_a @ a2 @ v ) @ ( schur_mat_adjoint_a @ v ) ) ) ).

% \<open>A * (V * Complex_Matrix.adjoint V) = A * V * Complex_Matrix.adjoint V\<close>
thf(fact_24__092_060open_062A_A_K_AV_A_061_AV_A_K_AComplex__Matrix_Oadjoint_AV_A_K_A_IA_A_K_AV_J_092_060close_062,axiom,
    ( ( times_times_mat_a @ a2 @ v )
    = ( times_times_mat_a @ ( times_times_mat_a @ v @ ( schur_mat_adjoint_a @ v ) ) @ ( times_times_mat_a @ a2 @ v ) ) ) ).

% \<open>A * V = V * Complex_Matrix.adjoint V * (A * V)\<close>
thf(fact_25__092_060open_062A_A_061_AA_A_K_A_IV_A_K_AComplex__Matrix_Oadjoint_AV_J_092_060close_062,axiom,
    ( a2
    = ( times_times_mat_a @ a2 @ ( times_times_mat_a @ v @ ( schur_mat_adjoint_a @ v ) ) ) ) ).

% \<open>A = A * (V * Complex_Matrix.adjoint V)\<close>
thf(fact_26__092_060open_062Complex__Matrix_Oadjoint_AV_A_K_AA_A_K_AV_A_092_060in_062_Acarrier__mat_An_An_092_060close_062,axiom,
    member_mat_a @ ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ v ) @ a2 ) @ v ) @ ( carrier_mat_a @ n @ n ) ).

% \<open>Complex_Matrix.adjoint V * A * V \<in> carrier_mat n n\<close>
thf(fact_27_unitary__times__unitary,axiom,
    ! [P: mat_a,N: nat,Q: mat_a] :
      ( ( member_mat_a @ P @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ Q @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_unitary_a @ P )
         => ( ( complex_unitary_a @ Q )
           => ( complex_unitary_a @ ( times_times_mat_a @ P @ Q ) ) ) ) ) ) ).

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

% unitary_times_unitary
thf(fact_29_mat__conj__unit__commute,axiom,
    ! [U: mat_complex,A: mat_complex,N: nat] :
      ( ( comple6660659447773130958omplex @ U )
     => ( ( ( times_8009071140041733218omplex @ U @ A )
          = ( times_8009071140041733218omplex @ A @ U ) )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
           => ( ( spectr5699176650994449695omplex @ U @ A )
              = A ) ) ) ) ) ).

% mat_conj_unit_commute
thf(fact_30_mat__conj__unit__commute,axiom,
    ! [U: mat_a,A: mat_a,N: nat] :
      ( ( complex_unitary_a @ U )
     => ( ( ( times_times_mat_a @ U @ A )
          = ( times_times_mat_a @ A @ U ) )
       => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
         => ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
           => ( ( spectr5828033140197310157conj_a @ U @ A )
              = A ) ) ) ) ) ).

% mat_conj_unit_commute
thf(fact_31_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_32_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_33_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_34_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_35_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_36_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_37_mat__conj__adjoint,axiom,
    ! [U: mat_complex,V: mat_complex] :
      ( ( spectr5699176650994449695omplex @ ( schur_5982229384592763574omplex @ U ) @ V )
      = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ U ) @ V ) @ U ) ) ).

% mat_conj_adjoint
thf(fact_38_mat__conj__adjoint,axiom,
    ! [U: mat_a,V: mat_a] :
      ( ( spectr5828033140197310157conj_a @ ( schur_mat_adjoint_a @ U ) @ V )
      = ( times_times_mat_a @ ( times_times_mat_a @ ( schur_mat_adjoint_a @ U ) @ V ) @ U ) ) ).

% mat_conj_adjoint
thf(fact_39_mat__conj__def,axiom,
    ( spectr5699176650994449695omplex
    = ( ^ [U2: mat_complex,V2: mat_complex] : ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ U2 @ V2 ) @ ( schur_5982229384592763574omplex @ U2 ) ) ) ) ).

% mat_conj_def
thf(fact_40_mat__conj__def,axiom,
    ( spectr5828033140197310157conj_a
    = ( ^ [U2: mat_a,V2: mat_a] : ( times_times_mat_a @ ( times_times_mat_a @ U2 @ V2 ) @ ( schur_mat_adjoint_a @ U2 ) ) ) ) ).

% mat_conj_def
thf(fact_41_unitary__elim,axiom,
    ! [A: mat_a,N: nat,B: mat_a,P: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
       => ( ( member_mat_a @ P @ ( carrier_mat_a @ N @ N ) )
         => ( ( complex_unitary_a @ P )
           => ( ( ( times_times_mat_a @ ( times_times_mat_a @ P @ A ) @ ( schur_mat_adjoint_a @ P ) )
                = ( times_times_mat_a @ ( times_times_mat_a @ P @ B ) @ ( schur_mat_adjoint_a @ P ) ) )
             => ( A = B ) ) ) ) ) ) ).

% unitary_elim
thf(fact_42_unitary__elim,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,P: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
         => ( ( comple6660659447773130958omplex @ P )
           => ( ( ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ A ) @ ( schur_5982229384592763574omplex @ P ) )
                = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ B ) @ ( schur_5982229384592763574omplex @ P ) ) )
             => ( A = B ) ) ) ) ) ) ).

% unitary_elim
thf(fact_43_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_44_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_45_unitary__adjoint,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_unitary_a @ A )
       => ( complex_unitary_a @ ( schur_mat_adjoint_a @ A ) ) ) ) ).

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

% unitary_adjoint
thf(fact_47_unitaryD2,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_unitary_a @ A )
       => ( inverts_mat_a @ ( schur_mat_adjoint_a @ A ) @ A ) ) ) ).

% unitaryD2
thf(fact_48_unitaryD2,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( comple6660659447773130958omplex @ A )
       => ( inverts_mat_complex @ ( schur_5982229384592763574omplex @ A ) @ A ) ) ) ).

% unitaryD2
thf(fact_49_unitarily__equivI_H,axiom,
    ! [A: mat_complex,U: mat_complex,B: mat_complex,N: nat] :
      ( ( A
        = ( spectr5699176650994449695omplex @ U @ B ) )
     => ( ( comple6660659447773130958omplex @ U )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
           => ( spectr6340060708231679580omplex @ A @ B @ U ) ) ) ) ) ).

% unitarily_equivI'
thf(fact_50_unitarily__equivI_H,axiom,
    ! [A: mat_a,U: mat_a,B: mat_a,N: nat] :
      ( ( A
        = ( spectr5828033140197310157conj_a @ U @ B ) )
     => ( ( complex_unitary_a @ U )
       => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
         => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
           => ( spectr4825054497075562704quiv_a @ A @ B @ U ) ) ) ) ) ).

% unitarily_equivI'
thf(fact_51_unitary__is__corthogonal,axiom,
    ! [U: mat_a,N: nat] :
      ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_unitary_a @ U )
       => ( schur_4042290226164342457_mat_a @ U ) ) ) ).

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

% unitary_is_corthogonal
thf(fact_53_hermitian__mat__conj_H,axiom,
    ! [A: mat_complex,N: nat,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A )
         => ( comple8306762464034002205omplex @ ( spectr5699176650994449695omplex @ ( schur_5982229384592763574omplex @ U ) @ A ) ) ) ) ) ).

% hermitian_mat_conj'
thf(fact_54_hermitian__mat__conj_H,axiom,
    ! [A: mat_a,N: nat,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_hermitian_a @ A )
         => ( complex_hermitian_a @ ( spectr5828033140197310157conj_a @ ( schur_mat_adjoint_a @ U ) @ A ) ) ) ) ) ).

% hermitian_mat_conj'
thf(fact_55_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_56_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_57_unitary__simps_I1_J,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_unitary_a @ A )
       => ( ( times_times_mat_a @ ( schur_mat_adjoint_a @ A ) @ A )
          = ( one_mat_a @ N ) ) ) ) ).

% unitary_simps(1)
thf(fact_58_unitary__simps_I1_J,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( comple6660659447773130958omplex @ A )
       => ( ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ A ) @ A )
          = ( one_mat_complex @ N ) ) ) ) ).

% unitary_simps(1)
thf(fact_59_unitary__simps_I2_J,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( complex_unitary_a @ A )
       => ( ( times_times_mat_a @ A @ ( schur_mat_adjoint_a @ A ) )
          = ( one_mat_a @ N ) ) ) ) ).

% unitary_simps(2)
thf(fact_60_unitary__simps_I2_J,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( comple6660659447773130958omplex @ A )
       => ( ( times_8009071140041733218omplex @ A @ ( schur_5982229384592763574omplex @ A ) )
          = ( one_mat_complex @ N ) ) ) ) ).

% unitary_simps(2)
thf(fact_61_hermitian__mat__conj,axiom,
    ! [A: mat_complex,N: nat,U: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple8306762464034002205omplex @ A )
         => ( comple8306762464034002205omplex @ ( spectr5699176650994449695omplex @ U @ A ) ) ) ) ) ).

% hermitian_mat_conj
thf(fact_62_hermitian__mat__conj,axiom,
    ! [A: mat_a,N: nat,U: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ U @ ( carrier_mat_a @ N @ N ) )
       => ( ( complex_hermitian_a @ A )
         => ( complex_hermitian_a @ ( spectr5828033140197310157conj_a @ U @ A ) ) ) ) ) ).

% hermitian_mat_conj
thf(fact_63_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_64_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_65_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_66_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_67_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_68_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_69_Groups_Omult__ac_I3_J,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 ) ) ) ).

% Groups.mult_ac(3)
thf(fact_70_Groups_Omult__ac_I3_J,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 ) ) ) ).

% Groups.mult_ac(3)
thf(fact_71_Groups_Omult__ac_I3_J,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( times_times_int @ B2 @ ( times_times_int @ A2 @ C2 ) )
      = ( times_times_int @ A2 @ ( times_times_int @ B2 @ C2 ) ) ) ).

% Groups.mult_ac(3)
thf(fact_72_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_73_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_74_Collect__mem__eq,axiom,
    ! [A: set_mat_a] :
      ( ( collect_mat_a
        @ ^ [X2: mat_a] : ( member_mat_a @ X2 @ A ) )
      = A ) ).

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

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

% hermitian_one
thf(fact_77_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_78_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_79_one__carrier__mat,axiom,
    ! [N: nat] : ( member_mat_int @ ( one_mat_int @ N ) @ ( carrier_mat_int @ N @ N ) ) ).

% one_carrier_mat
thf(fact_80_one__carrier__mat,axiom,
    ! [N: nat] : ( member_mat_a @ ( one_mat_a @ N ) @ ( carrier_mat_a @ N @ N ) ) ).

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

% one_carrier_mat
thf(fact_82_index__one__mat_I3_J,axiom,
    ! [N: nat] :
      ( ( dim_col_a @ ( one_mat_a @ N ) )
      = N ) ).

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

% index_one_mat(3)
thf(fact_84_index__one__mat_I3_J,axiom,
    ! [N: nat] :
      ( ( dim_col_int @ ( one_mat_int @ N ) )
      = N ) ).

% index_one_mat(3)
thf(fact_85_unitary__one,axiom,
    ! [N: nat] : ( complex_unitary_a @ ( one_mat_a @ N ) ) ).

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

% unitary_one
thf(fact_87_smult__carrier__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,K: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( smult_mat_a @ K @ A ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

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

% smult_carrier_mat
thf(fact_89_index__smult__mat_I3_J,axiom,
    ! [A2: a,A: mat_a] :
      ( ( dim_col_a @ ( smult_mat_a @ A2 @ A ) )
      = ( dim_col_a @ A ) ) ).

% index_smult_mat(3)
thf(fact_90_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_91_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_92_hermitian__square__hermitian,axiom,
    ! [A: mat_complex] :
      ( ( comple8306762464034002205omplex @ A )
     => ( comple8306762464034002205omplex @ ( times_8009071140041733218omplex @ A @ A ) ) ) ).

% hermitian_square_hermitian
thf(fact_93_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_94_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_95_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_96_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_97_hermitian__def,axiom,
    ( complex_hermitian_a
    = ( ^ [A3: mat_a] :
          ( ( schur_mat_adjoint_a @ A3 )
          = A3 ) ) ) ).

% hermitian_def
thf(fact_98_hermitian__def,axiom,
    ( comple8306762464034002205omplex
    = ( ^ [A3: mat_complex] :
          ( ( schur_5982229384592763574omplex @ A3 )
          = A3 ) ) ) ).

% hermitian_def
thf(fact_99_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_100_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_101_right__mult__one__mat,axiom,
    ! [A: mat_int,Nr: nat,Nc: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ Nr @ Nc ) )
     => ( ( times_times_mat_int @ A @ ( one_mat_int @ Nc ) )
        = A ) ) ).

% right_mult_one_mat
thf(fact_102_right__mult__one__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( times_times_mat_a @ A @ ( one_mat_a @ Nc ) )
        = A ) ) ).

% right_mult_one_mat
thf(fact_103_right__mult__one__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( times_8009071140041733218omplex @ A @ ( one_mat_complex @ Nc ) )
        = A ) ) ).

% right_mult_one_mat
thf(fact_104_left__mult__one__mat,axiom,
    ! [A: mat_int,Nr: nat,Nc: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ Nr @ Nc ) )
     => ( ( times_times_mat_int @ ( one_mat_int @ Nr ) @ A )
        = A ) ) ).

% left_mult_one_mat
thf(fact_105_left__mult__one__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( times_times_mat_a @ ( one_mat_a @ Nr ) @ A )
        = A ) ) ).

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

% left_mult_one_mat
thf(fact_107_right__mult__one__mat_H,axiom,
    ! [A: mat_int,N: nat] :
      ( ( ( dim_col_int @ A )
        = N )
     => ( ( times_times_mat_int @ A @ ( one_mat_int @ N ) )
        = A ) ) ).

% right_mult_one_mat'
thf(fact_108_right__mult__one__mat_H,axiom,
    ! [A: mat_a,N: nat] :
      ( ( ( dim_col_a @ A )
        = N )
     => ( ( times_times_mat_a @ A @ ( one_mat_a @ N ) )
        = A ) ) ).

% right_mult_one_mat'
thf(fact_109_right__mult__one__mat_H,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( ( dim_col_complex @ A )
        = N )
     => ( ( times_8009071140041733218omplex @ A @ ( one_mat_complex @ N ) )
        = A ) ) ).

% right_mult_one_mat'
thf(fact_110_unitarily__equivD_I1_J,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( spectr4825054497075562704quiv_a @ A @ B @ U )
     => ( complex_unitary_a @ U ) ) ).

% unitarily_equivD(1)
thf(fact_111_unitarily__equivD_I1_J,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( spectr6340060708231679580omplex @ A @ B @ U )
     => ( comple6660659447773130958omplex @ U ) ) ).

% unitarily_equivD(1)
thf(fact_112_inverts__mat__symm,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 ) )
       => ( ( inverts_mat_a @ A @ B )
         => ( inverts_mat_a @ B @ A ) ) ) ) ).

% inverts_mat_symm
thf(fact_113_inverts__mat__symm,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 ) )
       => ( ( inverts_mat_complex @ A @ B )
         => ( inverts_mat_complex @ B @ A ) ) ) ) ).

% inverts_mat_symm
thf(fact_114_inverts__mat__unique,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 ) )
         => ( ( inverts_mat_a @ A @ B )
           => ( ( inverts_mat_a @ A @ C )
             => ( B = C ) ) ) ) ) ) ).

% inverts_mat_unique
thf(fact_115_inverts__mat__unique,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 ) )
         => ( ( inverts_mat_complex @ A @ B )
           => ( ( inverts_mat_complex @ A @ C )
             => ( B = C ) ) ) ) ) ) ).

% inverts_mat_unique
thf(fact_116_mult__smult__assoc__mat,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,K: 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 @ K @ A ) @ B )
          = ( smult_mat_a @ K @ ( times_times_mat_a @ A @ B ) ) ) ) ) ).

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

% mult_smult_assoc_mat
thf(fact_118_mult__smult__distrib,axiom,
    ! [A: mat_a,Nr: nat,N: nat,B: mat_a,Nc: nat,K: 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 @ K @ B ) )
          = ( smult_mat_a @ K @ ( times_times_mat_a @ A @ B ) ) ) ) ) ).

% mult_smult_distrib
thf(fact_119_mult__smult__distrib,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,B: mat_complex,Nc: nat,K: 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 @ K @ B ) )
          = ( smult_mat_complex @ K @ ( times_8009071140041733218omplex @ A @ B ) ) ) ) ) ).

% mult_smult_distrib
thf(fact_120_mult_Ocommute,axiom,
    ( times_times_nat
    = ( ^ [A4: nat,B3: nat] : ( times_times_nat @ B3 @ A4 ) ) ) ).

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

% mult.commute
thf(fact_122_mult_Ocommute,axiom,
    ( times_times_int
    = ( ^ [A4: int,B3: int] : ( times_times_int @ B3 @ A4 ) ) ) ).

% mult.commute
thf(fact_123_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_124_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_125_semigroup__mult__class_Omult_Oassoc,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( times_times_int @ A2 @ B2 ) @ C2 )
      = ( times_times_int @ A2 @ ( times_times_int @ B2 @ C2 ) ) ) ).

% semigroup_mult_class.mult.assoc
thf(fact_126_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_127_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_128_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( times_times_int @ A2 @ B2 ) @ C2 )
      = ( times_times_int @ A2 @ ( times_times_int @ B2 @ C2 ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_129_mat__mult__left__right__inverse,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 ) )
       => ( ( ( times_times_mat_a @ A @ B )
            = ( one_mat_a @ N ) )
         => ( ( times_times_mat_a @ B @ A )
            = ( one_mat_a @ N ) ) ) ) ) ).

% mat_mult_left_right_inverse
thf(fact_130_mat__mult__left__right__inverse,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 ) )
       => ( ( ( times_8009071140041733218omplex @ A @ B )
            = ( one_mat_complex @ N ) )
         => ( ( times_8009071140041733218omplex @ B @ A )
            = ( one_mat_complex @ N ) ) ) ) ) ).

% mat_mult_left_right_inverse
thf(fact_131_smult__smult__times,axiom,
    ! [A2: nat,K: nat,A: mat_nat] :
      ( ( smult_mat_nat @ A2 @ ( smult_mat_nat @ K @ A ) )
      = ( smult_mat_nat @ ( times_times_nat @ A2 @ K ) @ A ) ) ).

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

% smult_smult_times
thf(fact_133_smult__smult__times,axiom,
    ! [A2: int,K: int,A: mat_int] :
      ( ( smult_mat_int @ A2 @ ( smult_mat_int @ K @ A ) )
      = ( smult_mat_int @ ( times_times_int @ A2 @ K ) @ A ) ) ).

% smult_smult_times
thf(fact_134_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_135_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_136_trace__smult,axiom,
    ! [A: mat_int,N: nat,C2: int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( complex_trace_int @ ( smult_mat_int @ C2 @ A ) )
        = ( times_times_int @ C2 @ ( complex_trace_int @ A ) ) ) ) ).

% trace_smult
thf(fact_137_Complex__Matrix_Ounitary__def,axiom,
    ( complex_unitary_a
    = ( ^ [A3: mat_a] :
          ( ( member_mat_a @ A3 @ ( carrier_mat_a @ ( dim_row_a @ A3 ) @ ( dim_row_a @ A3 ) ) )
          & ( inverts_mat_a @ A3 @ ( schur_mat_adjoint_a @ A3 ) ) ) ) ) ).

% Complex_Matrix.unitary_def
thf(fact_138_Complex__Matrix_Ounitary__def,axiom,
    ( comple6660659447773130958omplex
    = ( ^ [A3: mat_complex] :
          ( ( member_mat_complex @ A3 @ ( carrier_mat_complex @ ( dim_row_complex @ A3 ) @ ( dim_row_complex @ A3 ) ) )
          & ( inverts_mat_complex @ A3 @ ( schur_5982229384592763574omplex @ A3 ) ) ) ) ) ).

% Complex_Matrix.unitary_def
thf(fact_139_unitarily__equivI,axiom,
    ! [A: mat_a,B: mat_a,U: mat_a] :
      ( ( similar_mat_wit_a @ A @ B @ U @ ( schur_mat_adjoint_a @ U ) )
     => ( ( complex_unitary_a @ U )
       => ( spectr4825054497075562704quiv_a @ A @ B @ U ) ) ) ).

% unitarily_equivI
thf(fact_140_unitarily__equivI,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ U @ ( schur_5982229384592763574omplex @ U ) )
     => ( ( comple6660659447773130958omplex @ U )
       => ( spectr6340060708231679580omplex @ A @ B @ U ) ) ) ).

% unitarily_equivI
thf(fact_141_unitarily__equiv__def,axiom,
    ( spectr4825054497075562704quiv_a
    = ( ^ [A3: mat_a,B4: mat_a,U2: mat_a] :
          ( ( complex_unitary_a @ U2 )
          & ( similar_mat_wit_a @ A3 @ B4 @ U2 @ ( schur_mat_adjoint_a @ U2 ) ) ) ) ) ).

% unitarily_equiv_def
thf(fact_142_unitarily__equiv__def,axiom,
    ( spectr6340060708231679580omplex
    = ( ^ [A3: mat_complex,B4: mat_complex,U2: mat_complex] :
          ( ( comple6660659447773130958omplex @ U2 )
          & ( simila5774310414453981135omplex @ A3 @ B4 @ U2 @ ( schur_5982229384592763574omplex @ U2 ) ) ) ) ) ).

% unitarily_equiv_def
thf(fact_143_gauss__jordan__single_I4_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( ( gauss_4684855476144371464ngle_a @ A )
          = C )
       => ? [P2: mat_a,Q2: mat_a] :
            ( ( C
              = ( times_times_mat_a @ P2 @ A ) )
            & ( member_mat_a @ P2 @ ( carrier_mat_a @ Nr @ Nr ) )
            & ( member_mat_a @ Q2 @ ( carrier_mat_a @ Nr @ Nr ) )
            & ( ( times_times_mat_a @ P2 @ Q2 )
              = ( one_mat_a @ Nr ) )
            & ( ( times_times_mat_a @ Q2 @ P2 )
              = ( one_mat_a @ Nr ) ) ) ) ) ).

% gauss_jordan_single(4)
thf(fact_144_gauss__jordan__single_I4_J,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_4244865067341541924omplex @ A )
          = C )
       => ? [P2: mat_complex,Q2: mat_complex] :
            ( ( C
              = ( times_8009071140041733218omplex @ P2 @ A ) )
            & ( member_mat_complex @ P2 @ ( carrier_mat_complex @ Nr @ Nr ) )
            & ( member_mat_complex @ Q2 @ ( carrier_mat_complex @ Nr @ Nr ) )
            & ( ( times_8009071140041733218omplex @ P2 @ Q2 )
              = ( one_mat_complex @ Nr ) )
            & ( ( times_8009071140041733218omplex @ Q2 @ P2 )
              = ( one_mat_complex @ Nr ) ) ) ) ) ).

% gauss_jordan_single(4)
thf(fact_145_similar__mat__witI,axiom,
    ! [P: mat_int,Q: mat_int,N: nat,A: mat_int,B: mat_int] :
      ( ( ( times_times_mat_int @ P @ Q )
        = ( one_mat_int @ N ) )
     => ( ( ( times_times_mat_int @ Q @ P )
          = ( one_mat_int @ N ) )
       => ( ( A
            = ( times_times_mat_int @ ( times_times_mat_int @ P @ B ) @ Q ) )
         => ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
           => ( ( member_mat_int @ B @ ( carrier_mat_int @ N @ N ) )
             => ( ( member_mat_int @ P @ ( carrier_mat_int @ N @ N ) )
               => ( ( member_mat_int @ Q @ ( carrier_mat_int @ N @ N ) )
                 => ( similar_mat_wit_int @ A @ B @ P @ Q ) ) ) ) ) ) ) ) ).

% similar_mat_witI
thf(fact_146_similar__mat__witI,axiom,
    ! [P: mat_a,Q: mat_a,N: nat,A: mat_a,B: mat_a] :
      ( ( ( times_times_mat_a @ P @ Q )
        = ( one_mat_a @ N ) )
     => ( ( ( times_times_mat_a @ Q @ P )
          = ( one_mat_a @ N ) )
       => ( ( A
            = ( times_times_mat_a @ ( times_times_mat_a @ P @ B ) @ Q ) )
         => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
           => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
             => ( ( member_mat_a @ P @ ( carrier_mat_a @ N @ N ) )
               => ( ( member_mat_a @ Q @ ( carrier_mat_a @ N @ N ) )
                 => ( similar_mat_wit_a @ A @ B @ P @ Q ) ) ) ) ) ) ) ) ).

% similar_mat_witI
thf(fact_147_similar__mat__witI,axiom,
    ! [P: mat_complex,Q: mat_complex,N: nat,A: mat_complex,B: mat_complex] :
      ( ( ( times_8009071140041733218omplex @ P @ Q )
        = ( one_mat_complex @ N ) )
     => ( ( ( times_8009071140041733218omplex @ Q @ P )
          = ( one_mat_complex @ N ) )
       => ( ( A
            = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ B ) @ Q ) )
         => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
           => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
             => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
               => ( ( member_mat_complex @ Q @ ( carrier_mat_complex @ N @ N ) )
                 => ( simila5774310414453981135omplex @ A @ B @ P @ Q ) ) ) ) ) ) ) ) ).

% similar_mat_witI
thf(fact_148_similar__mat__witD2_I1_J,axiom,
    ! [A: mat_int,N: nat,M: nat,B: mat_int,P: mat_int,Q: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ M ) )
     => ( ( similar_mat_wit_int @ A @ B @ P @ Q )
       => ( ( times_times_mat_int @ P @ Q )
          = ( one_mat_int @ N ) ) ) ) ).

% similar_mat_witD2(1)
thf(fact_149_similar__mat__witD2_I1_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 )
       => ( ( times_times_mat_a @ P @ Q )
          = ( one_mat_a @ N ) ) ) ) ).

% similar_mat_witD2(1)
thf(fact_150_similar__mat__witD2_I1_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 )
       => ( ( times_8009071140041733218omplex @ P @ Q )
          = ( one_mat_complex @ N ) ) ) ) ).

% similar_mat_witD2(1)
thf(fact_151_similar__mat__witD2_I2_J,axiom,
    ! [A: mat_int,N: nat,M: nat,B: mat_int,P: mat_int,Q: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ M ) )
     => ( ( similar_mat_wit_int @ A @ B @ P @ Q )
       => ( ( times_times_mat_int @ Q @ P )
          = ( one_mat_int @ N ) ) ) ) ).

% similar_mat_witD2(2)
thf(fact_152_similar__mat__witD2_I2_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 )
       => ( ( times_times_mat_a @ Q @ P )
          = ( one_mat_a @ N ) ) ) ) ).

% similar_mat_witD2(2)
thf(fact_153_similar__mat__witD2_I2_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 )
       => ( ( times_8009071140041733218omplex @ Q @ P )
          = ( one_mat_complex @ N ) ) ) ) ).

% similar_mat_witD2(2)
thf(fact_154_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_155_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_156_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_157_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_158_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_159_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_160_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_161_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_162_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_163_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_164_similar__mat__witD_I1_J,axiom,
    ! [N: nat,A: mat_int,B: mat_int,P: mat_int,Q: mat_int] :
      ( ( N
        = ( dim_row_int @ A ) )
     => ( ( similar_mat_wit_int @ A @ B @ P @ Q )
       => ( ( times_times_mat_int @ P @ Q )
          = ( one_mat_int @ N ) ) ) ) ).

% similar_mat_witD(1)
thf(fact_165_similar__mat__witD_I1_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 )
       => ( ( times_times_mat_a @ P @ Q )
          = ( one_mat_a @ N ) ) ) ) ).

% similar_mat_witD(1)
thf(fact_166_similar__mat__witD_I1_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 )
       => ( ( times_8009071140041733218omplex @ P @ Q )
          = ( one_mat_complex @ N ) ) ) ) ).

% similar_mat_witD(1)
thf(fact_167_similar__mat__witD_I2_J,axiom,
    ! [N: nat,A: mat_int,B: mat_int,P: mat_int,Q: mat_int] :
      ( ( N
        = ( dim_row_int @ A ) )
     => ( ( similar_mat_wit_int @ A @ B @ P @ Q )
       => ( ( times_times_mat_int @ Q @ P )
          = ( one_mat_int @ N ) ) ) ) ).

% similar_mat_witD(2)
thf(fact_168_similar__mat__witD_I2_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 )
       => ( ( times_times_mat_a @ Q @ P )
          = ( one_mat_a @ N ) ) ) ) ).

% similar_mat_witD(2)
thf(fact_169_similar__mat__witD_I2_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 )
       => ( ( times_8009071140041733218omplex @ Q @ P )
          = ( one_mat_complex @ N ) ) ) ) ).

% similar_mat_witD(2)
thf(fact_170_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_171_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_172_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_173_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_174_gauss__jordan__single_I2_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( ( gauss_4684855476144371464ngle_a @ A )
          = C )
       => ( member_mat_a @ C @ ( carrier_mat_a @ Nr @ Nc ) ) ) ) ).

% gauss_jordan_single(2)
thf(fact_175_gauss__jordan__single_I2_J,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_4244865067341541924omplex @ A )
          = C )
       => ( member_mat_complex @ C @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ) ).

% gauss_jordan_single(2)
thf(fact_176_index__one__mat_I2_J,axiom,
    ! [N: nat] :
      ( ( dim_row_complex @ ( one_mat_complex @ N ) )
      = N ) ).

% index_one_mat(2)
thf(fact_177_index__one__mat_I2_J,axiom,
    ! [N: nat] :
      ( ( dim_row_int @ ( one_mat_int @ N ) )
      = N ) ).

% index_one_mat(2)
thf(fact_178_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_179_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_180_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_181_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_182_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_183_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_184_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_185_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_186_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_187_similar__mat__wit__trans,axiom,
    ! [A: mat_a,B: mat_a,P: mat_a,Q: mat_a,C: mat_a,P3: mat_a,Q3: mat_a] :
      ( ( similar_mat_wit_a @ A @ B @ P @ Q )
     => ( ( similar_mat_wit_a @ B @ C @ P3 @ Q3 )
       => ( similar_mat_wit_a @ A @ C @ ( times_times_mat_a @ P @ P3 ) @ ( times_times_mat_a @ Q3 @ Q ) ) ) ) ).

% similar_mat_wit_trans
thf(fact_188_similar__mat__wit__trans,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex,C: mat_complex,P3: mat_complex,Q3: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( ( simila5774310414453981135omplex @ B @ C @ P3 @ Q3 )
       => ( simila5774310414453981135omplex @ A @ C @ ( times_8009071140041733218omplex @ P @ P3 ) @ ( times_8009071140041733218omplex @ Q3 @ Q ) ) ) ) ).

% similar_mat_wit_trans
thf(fact_189_hermitian__square,axiom,
    ! [M2: mat_a] :
      ( ( complex_hermitian_a @ M2 )
     => ( member_mat_a @ M2 @ ( carrier_mat_a @ ( dim_row_a @ M2 ) @ ( dim_row_a @ M2 ) ) ) ) ).

% hermitian_square
thf(fact_190_hermitian__square,axiom,
    ! [M2: mat_complex] :
      ( ( comple8306762464034002205omplex @ M2 )
     => ( member_mat_complex @ M2 @ ( carrier_mat_complex @ ( dim_row_complex @ M2 ) @ ( dim_row_complex @ M2 ) ) ) ) ).

% hermitian_square
thf(fact_191_similar__mat__wit__smult,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex,K: complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( simila5774310414453981135omplex @ ( smult_mat_complex @ K @ A ) @ ( smult_mat_complex @ K @ B ) @ P @ Q ) ) ).

% similar_mat_wit_smult
thf(fact_192_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_193_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_194_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_195_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_196_left__mult__one__mat_H,axiom,
    ! [A: mat_int,N: nat] :
      ( ( ( dim_row_int @ A )
        = N )
     => ( ( times_times_mat_int @ ( one_mat_int @ N ) @ A )
        = A ) ) ).

% left_mult_one_mat'
thf(fact_197_left__mult__one__mat_H,axiom,
    ! [A: mat_a,N: nat] :
      ( ( ( dim_row_a @ A )
        = N )
     => ( ( times_times_mat_a @ ( one_mat_a @ N ) @ A )
        = A ) ) ).

% left_mult_one_mat'
thf(fact_198_left__mult__one__mat_H,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( ( dim_row_complex @ A )
        = N )
     => ( ( times_8009071140041733218omplex @ ( one_mat_complex @ N ) @ A )
        = A ) ) ).

% left_mult_one_mat'
thf(fact_199_adjoint__dim__row,axiom,
    ! [A: mat_a] :
      ( ( dim_row_a @ ( schur_mat_adjoint_a @ A ) )
      = ( dim_col_a @ A ) ) ).

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

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

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

% adjoint_dim_col
thf(fact_203_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_204_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_205_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_206_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_207_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_208_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_209_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_210_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_211_similar__mat__wit__refl,axiom,
    ! [A: mat_int,N: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( similar_mat_wit_int @ A @ A @ ( one_mat_int @ N ) @ ( one_mat_int @ N ) ) ) ).

% similar_mat_wit_refl
thf(fact_212_similar__mat__wit__refl,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( similar_mat_wit_a @ A @ A @ ( one_mat_a @ N ) @ ( one_mat_a @ N ) ) ) ).

% similar_mat_wit_refl
thf(fact_213_similar__mat__wit__refl,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( simila5774310414453981135omplex @ A @ A @ ( one_mat_complex @ N ) @ ( one_mat_complex @ N ) ) ) ).

% similar_mat_wit_refl
thf(fact_214_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_215_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_216_trace__comm,axiom,
    ! [A: mat_int,N: nat,B: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( member_mat_int @ B @ ( carrier_mat_int @ N @ N ) )
       => ( ( complex_trace_int @ ( times_times_mat_int @ A @ B ) )
          = ( complex_trace_int @ ( times_times_mat_int @ B @ A ) ) ) ) ) ).

% trace_comm
thf(fact_217_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_218_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_219_inverts__mat__def,axiom,
    ( inverts_mat_int
    = ( ^ [A3: mat_int,B4: mat_int] :
          ( ( times_times_mat_int @ A3 @ B4 )
          = ( one_mat_int @ ( dim_row_int @ A3 ) ) ) ) ) ).

% inverts_mat_def
thf(fact_220_inverts__mat__def,axiom,
    ( inverts_mat_a
    = ( ^ [A3: mat_a,B4: mat_a] :
          ( ( times_times_mat_a @ A3 @ B4 )
          = ( one_mat_a @ ( dim_row_a @ A3 ) ) ) ) ) ).

% inverts_mat_def
thf(fact_221_inverts__mat__def,axiom,
    ( inverts_mat_complex
    = ( ^ [A3: mat_complex,B4: mat_complex] :
          ( ( times_8009071140041733218omplex @ A3 @ B4 )
          = ( one_mat_complex @ ( dim_row_complex @ A3 ) ) ) ) ) ).

% inverts_mat_def
thf(fact_222_similar__mat__wit__dim__row,axiom,
    ! [A: mat_complex,B: mat_complex,Q: mat_complex,R: mat_complex] :
      ( ( simila5774310414453981135omplex @ A @ B @ Q @ R )
     => ( ( dim_row_complex @ B )
        = ( dim_row_complex @ A ) ) ) ).

% similar_mat_wit_dim_row
thf(fact_223_projector__def,axiom,
    ( linear2821214051344812439ctor_a
    = ( ^ [M3: mat_a] :
          ( ( complex_hermitian_a @ M3 )
          & ( ( times_times_mat_a @ M3 @ M3 )
            = M3 ) ) ) ) ).

% projector_def
thf(fact_224_projector__def,axiom,
    ( linear5633924348262549461omplex
    = ( ^ [M3: mat_complex] :
          ( ( comple8306762464034002205omplex @ M3 )
          & ( ( times_8009071140041733218omplex @ M3 @ M3 )
            = M3 ) ) ) ) ).

% projector_def
thf(fact_225_gauss__jordan__single_I3_J,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,C: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( ( gauss_4684855476144371464ngle_a @ A )
          = C )
       => ( gauss_5855338539171749649form_a @ C ) ) ) ).

% gauss_jordan_single(3)
thf(fact_226_gauss__jordan__single_I3_J,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat,C: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( ( gauss_4244865067341541924omplex @ A )
          = C )
       => ( gauss_194721375535881179omplex @ C ) ) ) ).

% gauss_jordan_single(3)
thf(fact_227_projector__hermitian,axiom,
    ! [M2: mat_complex] :
      ( ( linear5633924348262549461omplex @ M2 )
     => ( comple8306762464034002205omplex @ M2 ) ) ).

% projector_hermitian
thf(fact_228_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_229_square__mat_Oelims_I3_J,axiom,
    ! [X: mat_a] :
      ( ~ ( square_mat_a @ X )
     => ( ( dim_col_a @ X )
       != ( dim_row_a @ X ) ) ) ).

% square_mat.elims(3)
thf(fact_230_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_231_square__mat_Oelims_I2_J,axiom,
    ! [X: mat_a] :
      ( ( square_mat_a @ X )
     => ( ( dim_col_a @ X )
        = ( dim_row_a @ X ) ) ) ).

% square_mat.elims(2)
thf(fact_232_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_233_square__mat_Oelims_I1_J,axiom,
    ! [X: mat_a,Y: $o] :
      ( ( ( square_mat_a @ X )
        = Y )
     => ( Y
        = ( ( dim_col_a @ X )
          = ( dim_row_a @ X ) ) ) ) ).

% square_mat.elims(1)
thf(fact_234_square__mat_Oelims_I1_J,axiom,
    ! [X: mat_complex,Y: $o] :
      ( ( ( square_mat_complex @ X )
        = Y )
     => ( Y
        = ( ( dim_col_complex @ X )
          = ( dim_row_complex @ X ) ) ) ) ).

% square_mat.elims(1)
thf(fact_235_square__mat_Osimps,axiom,
    ( square_mat_a
    = ( ^ [A3: mat_a] :
          ( ( dim_col_a @ A3 )
          = ( dim_row_a @ A3 ) ) ) ) ).

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

% square_mat.simps
thf(fact_237_projector__square__eq,axiom,
    ! [M2: mat_a] :
      ( ( linear2821214051344812439ctor_a @ M2 )
     => ( ( times_times_mat_a @ M2 @ M2 )
        = M2 ) ) ).

% projector_square_eq
thf(fact_238_projector__square__eq,axiom,
    ! [M2: mat_complex] :
      ( ( linear5633924348262549461omplex @ M2 )
     => ( ( times_8009071140041733218omplex @ M2 @ M2 )
        = M2 ) ) ).

% projector_square_eq
thf(fact_239_hermitian__decomp__unitary,axiom,
    ! [A: mat_complex,B: mat_complex,U: mat_complex] :
      ( ( projec5943904436471448624omplex @ A @ B @ U )
     => ( comple6660659447773130958omplex @ U ) ) ).

% hermitian_decomp_unitary
thf(fact_240_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_241_adj__mat_I1_J,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( member_mat_a @ ( adj_mat_a @ A ) @ ( carrier_mat_a @ N @ N ) ) ) ).

% adj_mat(1)
thf(fact_242_adj__mat_I1_J,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( adj_mat_complex @ A ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% adj_mat(1)
thf(fact_243_uminus__mult__right__mat,axiom,
    ! [A: mat_a,B: mat_a] :
      ( ( ( dim_col_a @ A )
        = ( dim_row_a @ B ) )
     => ( ( times_times_mat_a @ A @ ( uminus_uminus_mat_a @ B ) )
        = ( uminus_uminus_mat_a @ ( times_times_mat_a @ A @ B ) ) ) ) ).

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

% uminus_mult_right_mat
thf(fact_245_uminus__mult__left__mat,axiom,
    ! [A: mat_a,B: mat_a] :
      ( ( ( dim_col_a @ A )
        = ( dim_row_a @ B ) )
     => ( ( times_times_mat_a @ ( uminus_uminus_mat_a @ A ) @ B )
        = ( uminus_uminus_mat_a @ ( times_times_mat_a @ A @ B ) ) ) ) ).

% uminus_mult_left_mat
thf(fact_246_uminus__mult__left__mat,axiom,
    ! [A: mat_complex,B: mat_complex] :
      ( ( ( dim_col_complex @ A )
        = ( dim_row_complex @ B ) )
     => ( ( times_8009071140041733218omplex @ ( uminus467866341702955550omplex @ A ) @ B )
        = ( uminus467866341702955550omplex @ ( times_8009071140041733218omplex @ A @ B ) ) ) ) ).

% uminus_mult_left_mat
thf(fact_247_rank__1__proj__square__mat,axiom,
    ! [V3: vec_complex] : ( square_mat_complex @ ( linear1949544614684794075omplex @ V3 ) ) ).

% rank_1_proj_square_mat
thf(fact_248_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_249_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_250_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_251_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_252_set__times__intro,axiom,
    ! [A2: int,C: set_int,B2: int,D: set_int] :
      ( ( member_int @ A2 @ C )
     => ( ( member_int @ B2 @ D )
       => ( member_int @ ( times_times_int @ A2 @ B2 ) @ ( times_times_set_int @ C @ D ) ) ) ) ).

% set_times_intro
thf(fact_253_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 ) )
     => ~ ! [A5: mat_a,B5: mat_a] :
            ( ( X
              = ( times_times_mat_a @ A5 @ B5 ) )
           => ( ( member_mat_a @ A5 @ A )
             => ~ ( member_mat_a @ B5 @ B ) ) ) ) ).

% set_times_elim
thf(fact_254_set__times__elim,axiom,
    ! [X: nat,A: set_nat,B: set_nat] :
      ( ( member_nat @ X @ ( times_times_set_nat @ A @ B ) )
     => ~ ! [A5: nat,B5: nat] :
            ( ( X
              = ( times_times_nat @ A5 @ B5 ) )
           => ( ( member_nat @ A5 @ A )
             => ~ ( member_nat @ B5 @ B ) ) ) ) ).

% set_times_elim
thf(fact_255_set__times__elim,axiom,
    ! [X: mat_complex,A: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ X @ ( times_6731331324747250370omplex @ A @ B ) )
     => ~ ! [A5: mat_complex,B5: mat_complex] :
            ( ( X
              = ( times_8009071140041733218omplex @ A5 @ B5 ) )
           => ( ( member_mat_complex @ A5 @ A )
             => ~ ( member_mat_complex @ B5 @ B ) ) ) ) ).

% set_times_elim
thf(fact_256_set__times__elim,axiom,
    ! [X: complex,A: set_complex,B: set_complex] :
      ( ( member_complex @ X @ ( times_6048082448287401577omplex @ A @ B ) )
     => ~ ! [A5: complex,B5: complex] :
            ( ( X
              = ( times_times_complex @ A5 @ B5 ) )
           => ( ( member_complex @ A5 @ A )
             => ~ ( member_complex @ B5 @ B ) ) ) ) ).

% set_times_elim
thf(fact_257_set__times__elim,axiom,
    ! [X: int,A: set_int,B: set_int] :
      ( ( member_int @ X @ ( times_times_set_int @ A @ B ) )
     => ~ ! [A5: int,B5: int] :
            ( ( X
              = ( times_times_int @ A5 @ B5 ) )
           => ( ( member_int @ A5 @ A )
             => ~ ( member_int @ B5 @ B ) ) ) ) ).

% set_times_elim
thf(fact_258_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_259_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_260_vector__space__over__itself_Oscale__minus__right,axiom,
    ! [A2: complex,X: complex] :
      ( ( times_times_complex @ A2 @ ( uminus1482373934393186551omplex @ X ) )
      = ( uminus1482373934393186551omplex @ ( times_times_complex @ A2 @ X ) ) ) ).

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

% vector_space_over_itself.scale_minus_left
thf(fact_262_neg__equal__iff__equal,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = ( uminus1482373934393186551omplex @ B2 ) )
      = ( A2 = B2 ) ) ).

% neg_equal_iff_equal
thf(fact_263_neg__equal__iff__equal,axiom,
    ! [A2: int,B2: int] :
      ( ( ( uminus_uminus_int @ A2 )
        = ( uminus_uminus_int @ B2 ) )
      = ( A2 = B2 ) ) ).

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

% add.inverse_inverse
thf(fact_265_add_Oinverse__inverse,axiom,
    ! [A2: int] :
      ( ( uminus_uminus_int @ ( uminus_uminus_int @ A2 ) )
      = A2 ) ).

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

% minus_equation_iff
thf(fact_267_minus__equation__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ( uminus_uminus_int @ A2 )
        = B2 )
      = ( ( uminus_uminus_int @ B2 )
        = A2 ) ) ).

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

% equation_minus_iff
thf(fact_269_equation__minus__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( A2
        = ( uminus_uminus_int @ B2 ) )
      = ( B2
        = ( uminus_uminus_int @ A2 ) ) ) ).

% equation_minus_iff
thf(fact_270_uminus__uminus__mat,axiom,
    ! [A: mat_complex] :
      ( ( uminus467866341702955550omplex @ ( uminus467866341702955550omplex @ A ) )
      = A ) ).

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

% uminus_eq_mat
thf(fact_272_uminus__carrier__iff__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ ( uminus_uminus_mat_a @ A ) @ ( carrier_mat_a @ Nr @ Nc ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

% uminus_carrier_iff_mat
thf(fact_273_uminus__carrier__iff__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ ( uminus467866341702955550omplex @ A ) @ ( carrier_mat_complex @ Nr @ Nc ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) ) ) ).

% uminus_carrier_iff_mat
thf(fact_274_uminus__carrier__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( member_mat_a @ ( uminus_uminus_mat_a @ A ) @ ( carrier_mat_a @ Nr @ Nc ) ) ) ).

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

% uminus_carrier_mat
thf(fact_276_index__uminus__mat_I2_J,axiom,
    ! [A: mat_complex] :
      ( ( dim_row_complex @ ( uminus467866341702955550omplex @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_uminus_mat(2)
thf(fact_277_index__uminus__mat_I3_J,axiom,
    ! [A: mat_a] :
      ( ( dim_col_a @ ( uminus_uminus_mat_a @ A ) )
      = ( dim_col_a @ A ) ) ).

% index_uminus_mat(3)
thf(fact_278_index__uminus__mat_I3_J,axiom,
    ! [A: mat_complex] :
      ( ( dim_col_complex @ ( uminus467866341702955550omplex @ A ) )
      = ( dim_col_complex @ A ) ) ).

% index_uminus_mat(3)
thf(fact_279_unitarily__equiv__uminus,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 @ ( uminus_uminus_mat_a @ A ) @ ( uminus_uminus_mat_a @ B ) @ U ) ) ) ).

% unitarily_equiv_uminus
thf(fact_280_unitarily__equiv__uminus,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 @ ( uminus467866341702955550omplex @ A ) @ ( uminus467866341702955550omplex @ B ) @ U ) ) ) ).

% unitarily_equiv_uminus
thf(fact_281_mat__conj__uminus__eq,axiom,
    ! [A: mat_complex,N: nat,U: mat_complex,B: mat_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
              = ( spectr5699176650994449695omplex @ U @ B ) )
           => ( ( uminus467866341702955550omplex @ A )
              = ( spectr5699176650994449695omplex @ U @ ( uminus467866341702955550omplex @ B ) ) ) ) ) ) ) ).

% mat_conj_uminus_eq
thf(fact_282_mat__conj__uminus__eq,axiom,
    ! [A: mat_a,N: nat,U: mat_a,B: mat_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
              = ( spectr5828033140197310157conj_a @ U @ B ) )
           => ( ( uminus_uminus_mat_a @ A )
              = ( spectr5828033140197310157conj_a @ U @ ( uminus_uminus_mat_a @ B ) ) ) ) ) ) ) ).

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

% minus_mult_commute
thf(fact_284_minus__mult__commute,axiom,
    ! [A2: int,B2: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ A2 ) @ B2 )
      = ( times_times_int @ A2 @ ( uminus_uminus_int @ B2 ) ) ) ).

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

% mult_minus_right
thf(fact_286_mult__minus__right,axiom,
    ! [A2: int,B2: int] :
      ( ( times_times_int @ A2 @ ( uminus_uminus_int @ B2 ) )
      = ( uminus_uminus_int @ ( times_times_int @ A2 @ B2 ) ) ) ).

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

% minus_mult_minus
thf(fact_288_minus__mult__minus,axiom,
    ! [A2: int,B2: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ A2 ) @ ( uminus_uminus_int @ B2 ) )
      = ( times_times_int @ A2 @ B2 ) ) ).

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

% mult_minus_left
thf(fact_290_mult__minus__left,axiom,
    ! [A2: int,B2: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ A2 ) @ B2 )
      = ( uminus_uminus_int @ ( times_times_int @ A2 @ B2 ) ) ) ).

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

% square_eq_iff
thf(fact_292_square__eq__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ( times_times_int @ A2 @ A2 )
        = ( times_times_int @ B2 @ B2 ) )
      = ( ( A2 = B2 )
        | ( A2
          = ( uminus_uminus_int @ B2 ) ) ) ) ).

% square_eq_iff
thf(fact_293_adj__mat_I3_J,axiom,
    ! [A: mat_int,N: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( times_times_mat_int @ ( adj_mat_int @ A ) @ A )
        = ( smult_mat_int @ ( det_int @ A ) @ ( one_mat_int @ N ) ) ) ) ).

% adj_mat(3)
thf(fact_294_adj__mat_I3_J,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( times_times_mat_a @ ( adj_mat_a @ A ) @ A )
        = ( smult_mat_a @ ( det_a @ A ) @ ( one_mat_a @ N ) ) ) ) ).

% adj_mat(3)
thf(fact_295_adj__mat_I3_J,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( times_8009071140041733218omplex @ ( adj_mat_complex @ A ) @ A )
        = ( smult_mat_complex @ ( det_complex @ A ) @ ( one_mat_complex @ N ) ) ) ) ).

% adj_mat(3)
thf(fact_296_adj__mat_I2_J,axiom,
    ! [A: mat_int,N: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( times_times_mat_int @ A @ ( adj_mat_int @ A ) )
        = ( smult_mat_int @ ( det_int @ A ) @ ( one_mat_int @ N ) ) ) ) ).

% adj_mat(2)
thf(fact_297_adj__mat_I2_J,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( times_times_mat_a @ A @ ( adj_mat_a @ A ) )
        = ( smult_mat_a @ ( det_a @ A ) @ ( one_mat_a @ N ) ) ) ) ).

% adj_mat(2)
thf(fact_298_adj__mat_I2_J,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( times_8009071140041733218omplex @ A @ ( adj_mat_complex @ A ) )
        = ( smult_mat_complex @ ( det_complex @ A ) @ ( one_mat_complex @ N ) ) ) ) ).

% adj_mat(2)
thf(fact_299_vec__space_Orow__space__is__preserved,axiom,
    ! [P: mat_a,M: nat,A: mat_a,N: nat] :
      ( ( invertible_mat_a @ P )
     => ( ( member_mat_a @ P @ ( carrier_mat_a @ M @ M ) )
       => ( ( member_mat_a @ A @ ( carrier_mat_a @ M @ N ) )
         => ( ( vS_vec_row_space_a @ N @ ( times_times_mat_a @ P @ A ) )
            = ( vS_vec_row_space_a @ N @ A ) ) ) ) ) ).

% vec_space.row_space_is_preserved
thf(fact_300_vec__space_Orow__space__is__preserved,axiom,
    ! [P: mat_complex,M: nat,A: mat_complex,N: nat] :
      ( ( invert2568027935824841882omplex @ P )
     => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ M @ M ) )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ M @ N ) )
         => ( ( vS_vec3284807721666986142omplex @ N @ ( times_8009071140041733218omplex @ P @ A ) )
            = ( vS_vec3284807721666986142omplex @ N @ A ) ) ) ) ) ).

% vec_space.row_space_is_preserved
thf(fact_301_det__mult,axiom,
    ! [A: mat_int,N: nat,B: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( member_mat_int @ B @ ( carrier_mat_int @ N @ N ) )
       => ( ( det_int @ ( times_times_mat_int @ A @ B ) )
          = ( times_times_int @ ( det_int @ A ) @ ( det_int @ B ) ) ) ) ) ).

% det_mult
thf(fact_302_det__mult,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 ) )
       => ( ( det_a @ ( times_times_mat_a @ A @ B ) )
          = ( times_times_a @ ( det_a @ A ) @ ( det_a @ B ) ) ) ) ) ).

% det_mult
thf(fact_303_det__mult,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 ) )
       => ( ( det_complex @ ( times_8009071140041733218omplex @ A @ B ) )
          = ( times_times_complex @ ( det_complex @ A ) @ ( det_complex @ B ) ) ) ) ) ).

% det_mult
thf(fact_304_class__cring_Ofactors__equal,axiom,
    ! [A2: complex,B2: complex,C2: complex,D2: complex] :
      ( ( A2 = B2 )
     => ( ( C2 = D2 )
       => ( ( times_times_complex @ A2 @ C2 )
          = ( times_times_complex @ B2 @ D2 ) ) ) ) ).

% class_cring.factors_equal
thf(fact_305_class__cring_Ofactors__equal,axiom,
    ! [A2: int,B2: int,C2: int,D2: int] :
      ( ( A2 = B2 )
     => ( ( C2 = D2 )
       => ( ( times_times_int @ A2 @ C2 )
          = ( times_times_int @ B2 @ D2 ) ) ) ) ).

% class_cring.factors_equal
thf(fact_306_det__smult,axiom,
    ! [A2: a,A: mat_a] :
      ( ( det_a @ ( smult_mat_a @ A2 @ A ) )
      = ( times_times_a @ ( power_power_a @ A2 @ ( dim_col_a @ A ) ) @ ( det_a @ A ) ) ) ).

% det_smult
thf(fact_307_det__smult,axiom,
    ! [A2: complex,A: mat_complex] :
      ( ( det_complex @ ( smult_mat_complex @ A2 @ A ) )
      = ( times_times_complex @ ( power_power_complex @ A2 @ ( dim_col_complex @ A ) ) @ ( det_complex @ A ) ) ) ).

% det_smult
thf(fact_308_det__smult,axiom,
    ! [A2: int,A: mat_int] :
      ( ( det_int @ ( smult_mat_int @ A2 @ A ) )
      = ( times_times_int @ ( power_power_int @ A2 @ ( dim_col_int @ A ) ) @ ( det_int @ A ) ) ) ).

% det_smult
thf(fact_309_det__0__negate,axiom,
    ! [A: mat_a,N: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( ( det_a @ ( uminus_uminus_mat_a @ A ) )
          = zero_zero_a )
        = ( ( det_a @ A )
          = zero_zero_a ) ) ) ).

% det_0_negate
thf(fact_310_det__0__negate,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ( det_complex @ ( uminus467866341702955550omplex @ A ) )
          = zero_zero_complex )
        = ( ( det_complex @ A )
          = zero_zero_complex ) ) ) ).

% det_0_negate
thf(fact_311_vec__space_Odet__nonzero__congruence,axiom,
    ! [A: mat_a,M2: mat_a,B: mat_a,N: nat] :
      ( ( ( times_times_mat_a @ A @ M2 )
        = ( times_times_mat_a @ B @ M2 ) )
     => ( ( ( det_a @ M2 )
         != zero_zero_a )
       => ( ( member_mat_a @ M2 @ ( carrier_mat_a @ N @ N ) )
         => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
           => ( ( member_mat_a @ B @ ( carrier_mat_a @ N @ N ) )
             => ( A = B ) ) ) ) ) ) ).

% vec_space.det_nonzero_congruence
thf(fact_312_vec__space_Odet__nonzero__congruence,axiom,
    ! [A: mat_complex,M2: mat_complex,B: mat_complex,N: nat] :
      ( ( ( times_8009071140041733218omplex @ A @ M2 )
        = ( times_8009071140041733218omplex @ B @ M2 ) )
     => ( ( ( det_complex @ M2 )
         != zero_zero_complex )
       => ( ( member_mat_complex @ M2 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
           => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ N @ N ) )
             => ( A = B ) ) ) ) ) ) ).

% vec_space.det_nonzero_congruence
thf(fact_313_verit__minus__simplify_I4_J,axiom,
    ! [B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( uminus1482373934393186551omplex @ B2 ) )
      = B2 ) ).

% verit_minus_simplify(4)
thf(fact_314_verit__minus__simplify_I4_J,axiom,
    ! [B2: int] :
      ( ( uminus_uminus_int @ ( uminus_uminus_int @ B2 ) )
      = B2 ) ).

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

% verit_negate_coefficient(3)
thf(fact_316_verit__negate__coefficient_I3_J,axiom,
    ! [A2: int,B2: int] :
      ( ( A2 = B2 )
     => ( ( uminus_uminus_int @ A2 )
        = ( uminus_uminus_int @ B2 ) ) ) ).

% verit_negate_coefficient(3)
thf(fact_317_verit__eq__simplify_I22_J,axiom,
    ! [A2: int] :
      ( ( ( uminus_uminus_int @ A2 )
        = A2 )
      = ( A2 = zero_zero_int ) ) ).

% verit_eq_simplify(22)
thf(fact_318_verit__eq__simplify_I23_J,axiom,
    ! [A2: int] :
      ( ( A2
        = ( uminus_uminus_int @ A2 ) )
      = ( A2 = zero_zero_int ) ) ).

% verit_eq_simplify(23)
thf(fact_319_cross3__simps_I29_J,axiom,
    ! [A2: nat,B2: nat,N: nat] :
      ( ( power_power_nat @ ( times_times_nat @ A2 @ B2 ) @ N )
      = ( times_times_nat @ ( power_power_nat @ A2 @ N ) @ ( power_power_nat @ B2 @ N ) ) ) ).

% cross3_simps(29)
thf(fact_320_cross3__simps_I29_J,axiom,
    ! [A2: complex,B2: complex,N: nat] :
      ( ( power_power_complex @ ( times_times_complex @ A2 @ B2 ) @ N )
      = ( times_times_complex @ ( power_power_complex @ A2 @ N ) @ ( power_power_complex @ B2 @ N ) ) ) ).

% cross3_simps(29)
thf(fact_321_cross3__simps_I29_J,axiom,
    ! [A2: int,B2: int,N: nat] :
      ( ( power_power_int @ ( times_times_int @ A2 @ B2 ) @ N )
      = ( times_times_int @ ( power_power_int @ A2 @ N ) @ ( power_power_int @ B2 @ N ) ) ) ).

% cross3_simps(29)
thf(fact_322_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_323_zero__reorient,axiom,
    ! [X: int] :
      ( ( zero_zero_int = X )
      = ( X = zero_zero_int ) ) ).

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

% arith_simps(63)
thf(fact_325_arith__simps_I63_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ zero_zero_complex )
      = zero_zero_complex ) ).

% arith_simps(63)
thf(fact_326_arith__simps_I63_J,axiom,
    ! [A2: int] :
      ( ( times_times_int @ A2 @ zero_zero_int )
      = zero_zero_int ) ).

% arith_simps(63)
thf(fact_327_arith__simps_I62_J,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

% arith_simps(62)
thf(fact_328_arith__simps_I62_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ zero_zero_complex @ A2 )
      = zero_zero_complex ) ).

% arith_simps(62)
thf(fact_329_arith__simps_I62_J,axiom,
    ! [A2: int] :
      ( ( times_times_int @ zero_zero_int @ A2 )
      = zero_zero_int ) ).

% arith_simps(62)
thf(fact_330_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_331_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_332_mult__not__zero,axiom,
    ! [A2: int,B2: int] :
      ( ( ( times_times_int @ A2 @ B2 )
       != zero_zero_int )
     => ( ( A2 != zero_zero_int )
        & ( B2 != zero_zero_int ) ) ) ).

% mult_not_zero
thf(fact_333_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_334_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_335_divisors__zero,axiom,
    ! [A2: int,B2: int] :
      ( ( ( times_times_int @ A2 @ B2 )
        = zero_zero_int )
     => ( ( A2 = zero_zero_int )
        | ( B2 = zero_zero_int ) ) ) ).

% divisors_zero
thf(fact_336_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_337_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_338_mult__eq__0__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ( times_times_int @ A2 @ B2 )
        = zero_zero_int )
      = ( ( A2 = zero_zero_int )
        | ( B2 = zero_zero_int ) ) ) ).

% mult_eq_0_iff
thf(fact_339_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_340_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_341_no__zero__divisors,axiom,
    ! [A2: int,B2: int] :
      ( ( A2 != zero_zero_int )
     => ( ( B2 != zero_zero_int )
       => ( ( times_times_int @ A2 @ B2 )
         != zero_zero_int ) ) ) ).

% no_zero_divisors
thf(fact_342_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_343_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_344_mult__cancel__left,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ( times_times_int @ C2 @ A2 )
        = ( times_times_int @ C2 @ B2 ) )
      = ( ( C2 = zero_zero_int )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_left
thf(fact_345_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_346_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_347_mult__left__cancel,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( C2 != zero_zero_int )
     => ( ( ( times_times_int @ C2 @ A2 )
          = ( times_times_int @ C2 @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% mult_left_cancel
thf(fact_348_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_349_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_350_mult__cancel__right,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( ( times_times_int @ A2 @ C2 )
        = ( times_times_int @ B2 @ C2 ) )
      = ( ( C2 = zero_zero_int )
        | ( A2 = B2 ) ) ) ).

% mult_cancel_right
thf(fact_351_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_352_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_353_mult__right__cancel,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( C2 != zero_zero_int )
     => ( ( ( times_times_int @ A2 @ C2 )
          = ( times_times_int @ B2 @ C2 ) )
        = ( A2 = B2 ) ) ) ).

% mult_right_cancel
thf(fact_354_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_355_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_356_vector__space__over__itself_Oscale__left__imp__eq,axiom,
    ! [A2: complex,X: complex,Y: complex] :
      ( ( A2 != zero_zero_complex )
     => ( ( ( times_times_complex @ A2 @ X )
          = ( times_times_complex @ A2 @ Y ) )
       => ( X = Y ) ) ) ).

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

% vector_space_over_itself.scale_cancel_left
thf(fact_358_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_359_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_360_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_361_arith__extra__simps_I7_J,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% arith_extra_simps(7)
thf(fact_362_arith__extra__simps_I7_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% arith_extra_simps(7)
thf(fact_363_neg__0__equal__iff__equal,axiom,
    ! [A2: complex] :
      ( ( zero_zero_complex
        = ( uminus1482373934393186551omplex @ A2 ) )
      = ( zero_zero_complex = A2 ) ) ).

% neg_0_equal_iff_equal
thf(fact_364_neg__0__equal__iff__equal,axiom,
    ! [A2: int] :
      ( ( zero_zero_int
        = ( uminus_uminus_int @ A2 ) )
      = ( zero_zero_int = A2 ) ) ).

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

% neg_equal_0_iff_equal
thf(fact_366_neg__equal__0__iff__equal,axiom,
    ! [A2: int] :
      ( ( ( uminus_uminus_int @ A2 )
        = zero_zero_int )
      = ( A2 = zero_zero_int ) ) ).

% neg_equal_0_iff_equal
thf(fact_367_class__ring_Oring__simprules_I21_J,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% class_ring.ring_simprules(21)
thf(fact_368_class__ring_Oring__simprules_I21_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% class_ring.ring_simprules(21)
thf(fact_369_class__cring_Ocring__simprules_I22_J,axiom,
    ( ( uminus1482373934393186551omplex @ zero_zero_complex )
    = zero_zero_complex ) ).

% class_cring.cring_simprules(22)
thf(fact_370_class__cring_Ocring__simprules_I22_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% class_cring.cring_simprules(22)
thf(fact_371_unitary__zero,axiom,
    ! [A: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ zero_zero_nat @ zero_zero_nat ) )
     => ( complex_unitary_a @ A ) ) ).

% unitary_zero
thf(fact_372_unitary__zero,axiom,
    ! [A: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ zero_zero_nat @ zero_zero_nat ) )
     => ( comple6660659447773130958omplex @ A ) ) ).

% unitary_zero
thf(fact_373_power__commuting__commutes,axiom,
    ! [X: nat,Y: nat,N: nat] :
      ( ( ( times_times_nat @ X @ Y )
        = ( times_times_nat @ Y @ X ) )
     => ( ( times_times_nat @ ( power_power_nat @ X @ N ) @ Y )
        = ( times_times_nat @ Y @ ( power_power_nat @ X @ N ) ) ) ) ).

% power_commuting_commutes
thf(fact_374_power__commuting__commutes,axiom,
    ! [X: complex,Y: complex,N: nat] :
      ( ( ( times_times_complex @ X @ Y )
        = ( times_times_complex @ Y @ X ) )
     => ( ( times_times_complex @ ( power_power_complex @ X @ N ) @ Y )
        = ( times_times_complex @ Y @ ( power_power_complex @ X @ N ) ) ) ) ).

% power_commuting_commutes
thf(fact_375_power__commuting__commutes,axiom,
    ! [X: int,Y: int,N: nat] :
      ( ( ( times_times_int @ X @ Y )
        = ( times_times_int @ Y @ X ) )
     => ( ( times_times_int @ ( power_power_int @ X @ N ) @ Y )
        = ( times_times_int @ Y @ ( power_power_int @ X @ N ) ) ) ) ).

% power_commuting_commutes
thf(fact_376_power__commutes,axiom,
    ! [A2: nat,N: nat] :
      ( ( times_times_nat @ ( power_power_nat @ A2 @ N ) @ A2 )
      = ( times_times_nat @ A2 @ ( power_power_nat @ A2 @ N ) ) ) ).

% power_commutes
thf(fact_377_power__commutes,axiom,
    ! [A2: complex,N: nat] :
      ( ( times_times_complex @ ( power_power_complex @ A2 @ N ) @ A2 )
      = ( times_times_complex @ A2 @ ( power_power_complex @ A2 @ N ) ) ) ).

% power_commutes
thf(fact_378_power__commutes,axiom,
    ! [A2: int,N: nat] :
      ( ( times_times_int @ ( power_power_int @ A2 @ N ) @ A2 )
      = ( times_times_int @ A2 @ ( power_power_int @ A2 @ N ) ) ) ).

% power_commutes
thf(fact_379_nat__mult__eq__cancel__disj,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M )
        = ( times_times_nat @ K @ N ) )
      = ( ( K = zero_zero_nat )
        | ( M = N ) ) ) ).

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

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

% mult_delta_right
thf(fact_382_mult__delta__right,axiom,
    ! [B2: $o,X: int,Y: int] :
      ( ( B2
       => ( ( times_times_int @ X @ ( if_int @ B2 @ Y @ zero_zero_int ) )
          = ( times_times_int @ X @ Y ) ) )
      & ( ~ B2
       => ( ( times_times_int @ X @ ( if_int @ B2 @ Y @ zero_zero_int ) )
          = zero_zero_int ) ) ) ).

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

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

% mult_delta_left
thf(fact_385_mult__delta__left,axiom,
    ! [B2: $o,X: int,Y: int] :
      ( ( B2
       => ( ( times_times_int @ ( if_int @ B2 @ X @ zero_zero_int ) @ Y )
          = ( times_times_int @ X @ Y ) ) )
      & ( ~ B2
       => ( ( times_times_int @ ( if_int @ B2 @ X @ zero_zero_int ) @ Y )
          = zero_zero_int ) ) ) ).

% mult_delta_left
thf(fact_386_mult__hom_Ohom__zero,axiom,
    ! [C2: nat] :
      ( ( times_times_nat @ C2 @ zero_zero_nat )
      = zero_zero_nat ) ).

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

% mult_hom.hom_zero
thf(fact_388_mult__hom_Ohom__zero,axiom,
    ! [C2: int] :
      ( ( times_times_int @ C2 @ zero_zero_int )
      = zero_zero_int ) ).

% mult_hom.hom_zero
thf(fact_389_smult__zero,axiom,
    ! [A: mat_a] :
      ( ( smult_mat_a @ zero_zero_a @ A )
      = ( zero_mat_a @ ( dim_row_a @ A ) @ ( dim_col_a @ A ) ) ) ).

% smult_zero
thf(fact_390_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_391_smult__zero,axiom,
    ! [A: mat_int] :
      ( ( smult_mat_int @ zero_zero_int @ A )
      = ( zero_mat_int @ ( dim_row_int @ A ) @ ( dim_col_int @ A ) ) ) ).

% smult_zero
thf(fact_392_det__dim__zero,axiom,
    ! [A: mat_a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( det_a @ A )
        = one_one_a ) ) ).

% det_dim_zero
thf(fact_393_det__dim__zero,axiom,
    ! [A: mat_complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( det_complex @ A )
        = one_one_complex ) ) ).

% det_dim_zero
thf(fact_394_det__dim__zero,axiom,
    ! [A: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ zero_zero_nat @ zero_zero_nat ) )
     => ( ( det_int @ A )
        = one_one_int ) ) ).

% det_dim_zero
thf(fact_395_pow__mat_Osimps_I1_J,axiom,
    ! [A: mat_complex] :
      ( ( pow_mat_complex @ A @ zero_zero_nat )
      = ( one_mat_complex @ ( dim_row_complex @ A ) ) ) ).

% pow_mat.simps(1)
thf(fact_396_pow__mat_Osimps_I1_J,axiom,
    ! [A: mat_int] :
      ( ( pow_mat_int @ A @ zero_zero_nat )
      = ( one_mat_int @ ( dim_row_int @ A ) ) ) ).

% pow_mat.simps(1)
thf(fact_397_pow__mat__dim_I2_J,axiom,
    ! [K: nat,A: mat_a] :
      ( ( ( K = zero_zero_nat )
       => ( ( dim_col_a @ ( pow_mat_a @ A @ K ) )
          = ( dim_row_a @ A ) ) )
      & ( ( K != zero_zero_nat )
       => ( ( dim_col_a @ ( pow_mat_a @ A @ K ) )
          = ( dim_col_a @ A ) ) ) ) ).

% pow_mat_dim(2)
thf(fact_398_pow__mat__dim_I2_J,axiom,
    ! [K: nat,A: mat_complex] :
      ( ( ( K = zero_zero_nat )
       => ( ( dim_col_complex @ ( pow_mat_complex @ A @ K ) )
          = ( dim_row_complex @ A ) ) )
      & ( ( K != zero_zero_nat )
       => ( ( dim_col_complex @ ( pow_mat_complex @ A @ K ) )
          = ( dim_col_complex @ A ) ) ) ) ).

% pow_mat_dim(2)
thf(fact_399_one__reorient,axiom,
    ! [X: nat] :
      ( ( one_one_nat = X )
      = ( X = one_one_nat ) ) ).

% one_reorient
thf(fact_400_one__reorient,axiom,
    ! [X: complex] :
      ( ( one_one_complex = X )
      = ( X = one_one_complex ) ) ).

% one_reorient
thf(fact_401_one__reorient,axiom,
    ! [X: int] :
      ( ( one_one_int = X )
      = ( X = one_one_int ) ) ).

% one_reorient
thf(fact_402_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_403_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_404_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_405_index__zero__mat_I3_J,axiom,
    ! [Nr: nat,Nc: nat] :
      ( ( dim_col_a @ ( zero_mat_a @ Nr @ Nc ) )
      = Nc ) ).

% index_zero_mat(3)
thf(fact_406_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_407_zero__adjoint,axiom,
    ! [N: nat,M: nat] :
      ( ( schur_5982229384592763574omplex @ ( zero_mat_complex @ N @ M ) )
      = ( zero_mat_complex @ M @ N ) ) ).

% zero_adjoint
thf(fact_408_smult__zero__mat,axiom,
    ! [K: complex,Nr: nat,Nc: nat] :
      ( ( smult_mat_complex @ K @ ( zero_mat_complex @ Nr @ Nc ) )
      = ( zero_mat_complex @ Nr @ Nc ) ) ).

% smult_zero_mat
thf(fact_409_zero__hermitian,axiom,
    ! [N: nat] : ( comple8306762464034002205omplex @ ( zero_mat_complex @ N @ N ) ) ).

% zero_hermitian
thf(fact_410_verit__prod__simplify_I1_J,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ one_one_nat @ A2 )
      = A2 ) ).

% verit_prod_simplify(1)
thf(fact_411_verit__prod__simplify_I1_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ one_one_complex @ A2 )
      = A2 ) ).

% verit_prod_simplify(1)
thf(fact_412_verit__prod__simplify_I1_J,axiom,
    ! [A2: int] :
      ( ( times_times_int @ one_one_int @ A2 )
      = A2 ) ).

% verit_prod_simplify(1)
thf(fact_413_verit__prod__simplify_I2_J,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ A2 @ one_one_nat )
      = A2 ) ).

% verit_prod_simplify(2)
thf(fact_414_verit__prod__simplify_I2_J,axiom,
    ! [A2: complex] :
      ( ( times_times_complex @ A2 @ one_one_complex )
      = A2 ) ).

% verit_prod_simplify(2)
thf(fact_415_verit__prod__simplify_I2_J,axiom,
    ! [A2: int] :
      ( ( times_times_int @ A2 @ one_one_int )
      = A2 ) ).

% verit_prod_simplify(2)
thf(fact_416_mult_Ocomm__neutral,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ A2 @ one_one_nat )
      = A2 ) ).

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

% mult.comm_neutral
thf(fact_418_mult_Ocomm__neutral,axiom,
    ! [A2: int] :
      ( ( times_times_int @ A2 @ one_one_int )
      = A2 ) ).

% mult.comm_neutral
thf(fact_419_comm__monoid__mult__class_Omult__1,axiom,
    ! [A2: nat] :
      ( ( times_times_nat @ one_one_nat @ A2 )
      = A2 ) ).

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

% comm_monoid_mult_class.mult_1
thf(fact_421_comm__monoid__mult__class_Omult__1,axiom,
    ! [A2: int] :
      ( ( times_times_int @ one_one_int @ A2 )
      = A2 ) ).

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

% vector_space_over_itself.vector_space_assms(4)
thf(fact_423_rel__simps_I91_J,axiom,
    ( one_one_complex
   != ( uminus1482373934393186551omplex @ one_one_complex ) ) ).

% rel_simps(91)
thf(fact_424_rel__simps_I91_J,axiom,
    ( one_one_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% rel_simps(91)
thf(fact_425_pow__carrier__mat,axiom,
    ! [A: mat_a,N: nat,K: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( member_mat_a @ ( pow_mat_a @ A @ K ) @ ( carrier_mat_a @ N @ N ) ) ) ).

% pow_carrier_mat
thf(fact_426_pow__carrier__mat,axiom,
    ! [A: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( member_mat_complex @ ( pow_mat_complex @ A @ K ) @ ( carrier_mat_complex @ N @ N ) ) ) ).

% pow_carrier_mat
thf(fact_427_pow__mat__dim_I1_J,axiom,
    ! [A: mat_complex,K: nat] :
      ( ( dim_row_complex @ ( pow_mat_complex @ A @ K ) )
      = ( dim_row_complex @ A ) ) ).

% pow_mat_dim(1)
thf(fact_428_zero__projector,axiom,
    ! [N: nat] : ( linear5633924348262549461omplex @ ( zero_mat_complex @ N @ N ) ) ).

% zero_projector
thf(fact_429_Linear__Algebra__Complements_Osmult__one,axiom,
    ! [A: mat_nat] :
      ( ( smult_mat_nat @ one_one_nat @ A )
      = A ) ).

% Linear_Algebra_Complements.smult_one
thf(fact_430_Linear__Algebra__Complements_Osmult__one,axiom,
    ! [A: mat_complex] :
      ( ( smult_mat_complex @ one_one_complex @ A )
      = A ) ).

% Linear_Algebra_Complements.smult_one
thf(fact_431_Linear__Algebra__Complements_Osmult__one,axiom,
    ! [A: mat_int] :
      ( ( smult_mat_int @ one_one_int @ A )
      = A ) ).

% Linear_Algebra_Complements.smult_one
thf(fact_432_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_433_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_434_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_435_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_436_trace__zero,axiom,
    ! [N: nat] :
      ( ( comple3184165445352484367omplex @ ( zero_mat_complex @ N @ N ) )
      = zero_zero_complex ) ).

% trace_zero
thf(fact_437_trace__zero,axiom,
    ! [N: nat] :
      ( ( complex_trace_int @ ( zero_mat_int @ N @ N ) )
      = zero_zero_int ) ).

% trace_zero
thf(fact_438_mult__cancel__right2,axiom,
    ! [A2: complex,C2: complex] :
      ( ( ( times_times_complex @ A2 @ C2 )
        = C2 )
      = ( ( C2 = zero_zero_complex )
        | ( A2 = one_one_complex ) ) ) ).

% mult_cancel_right2
thf(fact_439_mult__cancel__right2,axiom,
    ! [A2: int,C2: int] :
      ( ( ( times_times_int @ A2 @ C2 )
        = C2 )
      = ( ( C2 = zero_zero_int )
        | ( A2 = one_one_int ) ) ) ).

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

% mult_cancel_right1
thf(fact_441_mult__cancel__right1,axiom,
    ! [C2: int,B2: int] :
      ( ( C2
        = ( times_times_int @ B2 @ C2 ) )
      = ( ( C2 = zero_zero_int )
        | ( B2 = one_one_int ) ) ) ).

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

% mult_cancel_left2
thf(fact_443_mult__cancel__left2,axiom,
    ! [C2: int,A2: int] :
      ( ( ( times_times_int @ C2 @ A2 )
        = C2 )
      = ( ( C2 = zero_zero_int )
        | ( A2 = one_one_int ) ) ) ).

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

% mult_cancel_left1
thf(fact_445_mult__cancel__left1,axiom,
    ! [C2: int,B2: int] :
      ( ( C2
        = ( times_times_int @ C2 @ B2 ) )
      = ( ( C2 = zero_zero_int )
        | ( B2 = one_one_int ) ) ) ).

% mult_cancel_left1
thf(fact_446_rel__simps_I89_J,axiom,
    ( zero_zero_complex
   != ( uminus1482373934393186551omplex @ one_one_complex ) ) ).

% rel_simps(89)
thf(fact_447_rel__simps_I89_J,axiom,
    ( zero_zero_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% rel_simps(89)
thf(fact_448_class__field_Oneg__1__not__0,axiom,
    ( ( uminus1482373934393186551omplex @ one_one_complex )
   != zero_zero_complex ) ).

% class_field.neg_1_not_0
thf(fact_449_square__eq__1__iff,axiom,
    ! [X: complex] :
      ( ( ( times_times_complex @ X @ X )
        = one_one_complex )
      = ( ( X = one_one_complex )
        | ( X
          = ( uminus1482373934393186551omplex @ one_one_complex ) ) ) ) ).

% square_eq_1_iff
thf(fact_450_square__eq__1__iff,axiom,
    ! [X: int] :
      ( ( ( times_times_int @ X @ X )
        = one_one_int )
      = ( ( X = one_one_int )
        | ( X
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

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

% mult_minus1_right
thf(fact_452_mult__minus1__right,axiom,
    ! [Z: int] :
      ( ( times_times_int @ Z @ ( uminus_uminus_int @ one_one_int ) )
      = ( uminus_uminus_int @ Z ) ) ).

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

% mult_minus1
thf(fact_454_mult__minus1,axiom,
    ! [Z: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ one_one_int ) @ Z )
      = ( uminus_uminus_int @ Z ) ) ).

% mult_minus1
thf(fact_455_left__right__inverse__power,axiom,
    ! [X: nat,Y: nat,N: nat] :
      ( ( ( times_times_nat @ X @ Y )
        = one_one_nat )
     => ( ( times_times_nat @ ( power_power_nat @ X @ N ) @ ( power_power_nat @ Y @ N ) )
        = one_one_nat ) ) ).

% left_right_inverse_power
thf(fact_456_left__right__inverse__power,axiom,
    ! [X: complex,Y: complex,N: nat] :
      ( ( ( times_times_complex @ X @ Y )
        = one_one_complex )
     => ( ( times_times_complex @ ( power_power_complex @ X @ N ) @ ( power_power_complex @ Y @ N ) )
        = one_one_complex ) ) ).

% left_right_inverse_power
thf(fact_457_left__right__inverse__power,axiom,
    ! [X: int,Y: int,N: nat] :
      ( ( ( times_times_int @ X @ Y )
        = one_one_int )
     => ( ( times_times_int @ ( power_power_int @ X @ N ) @ ( power_power_int @ Y @ N ) )
        = one_one_int ) ) ).

% left_right_inverse_power
thf(fact_458_pow__mat__dim__square_I1_J,axiom,
    ! [A: mat_a,N: nat,K: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( dim_row_a @ ( pow_mat_a @ A @ K ) )
        = N ) ) ).

% pow_mat_dim_square(1)
thf(fact_459_pow__mat__dim__square_I1_J,axiom,
    ! [A: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( dim_row_complex @ ( pow_mat_complex @ A @ K ) )
        = N ) ) ).

% pow_mat_dim_square(1)
thf(fact_460_pow__mat__dim__square_I2_J,axiom,
    ! [A: mat_a,N: nat,K: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( dim_col_a @ ( pow_mat_a @ A @ K ) )
        = N ) ) ).

% pow_mat_dim_square(2)
thf(fact_461_pow__mat__dim__square_I2_J,axiom,
    ! [A: mat_complex,N: nat,K: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( dim_col_complex @ ( pow_mat_complex @ A @ K ) )
        = N ) ) ).

% pow_mat_dim_square(2)
thf(fact_462_similar__mat__wit__pow__id,axiom,
    ! [A: mat_a,B: mat_a,P: mat_a,Q: mat_a,K: nat] :
      ( ( similar_mat_wit_a @ A @ B @ P @ Q )
     => ( ( pow_mat_a @ A @ K )
        = ( times_times_mat_a @ ( times_times_mat_a @ P @ ( pow_mat_a @ B @ K ) ) @ Q ) ) ) ).

% similar_mat_wit_pow_id
thf(fact_463_similar__mat__wit__pow__id,axiom,
    ! [A: mat_complex,B: mat_complex,P: mat_complex,Q: mat_complex,K: nat] :
      ( ( simila5774310414453981135omplex @ A @ B @ P @ Q )
     => ( ( pow_mat_complex @ A @ K )
        = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ ( pow_mat_complex @ B @ K ) ) @ Q ) ) ) ).

% similar_mat_wit_pow_id
thf(fact_464_det__one,axiom,
    ! [N: nat] :
      ( ( det_complex @ ( one_mat_complex @ N ) )
      = one_one_complex ) ).

% det_one
thf(fact_465_det__one,axiom,
    ! [N: nat] :
      ( ( det_int @ ( one_mat_int @ N ) )
      = one_one_int ) ).

% det_one
thf(fact_466_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_467_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_468_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_469_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_470_power__minus,axiom,
    ! [A2: complex,N: nat] :
      ( ( power_power_complex @ ( uminus1482373934393186551omplex @ A2 ) @ N )
      = ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ ( power_power_complex @ A2 @ N ) ) ) ).

% power_minus
thf(fact_471_power__minus,axiom,
    ! [A2: int,N: nat] :
      ( ( power_power_int @ ( uminus_uminus_int @ A2 ) @ N )
      = ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ ( power_power_int @ A2 @ N ) ) ) ).

% power_minus
thf(fact_472_minus__one__mult__self,axiom,
    ! [N: nat] :
      ( ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) )
      = one_one_complex ) ).

% minus_one_mult_self
thf(fact_473_minus__one__mult__self,axiom,
    ! [N: nat] :
      ( ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) )
      = one_one_int ) ).

% minus_one_mult_self
thf(fact_474_left__minus__one__mult__self,axiom,
    ! [N: nat,A2: complex] :
      ( ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ A2 ) )
      = A2 ) ).

% left_minus_one_mult_self
thf(fact_475_left__minus__one__mult__self,axiom,
    ! [N: nat,A2: int] :
      ( ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ A2 ) )
      = A2 ) ).

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

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

% mult_if_delta
thf(fact_478_mult__if__delta,axiom,
    ! [P: $o,Q4: int] :
      ( ( P
       => ( ( times_times_int @ ( if_int @ P @ one_one_int @ zero_zero_int ) @ Q4 )
          = Q4 ) )
      & ( ~ P
       => ( ( times_times_int @ ( if_int @ P @ one_one_int @ zero_zero_int ) @ Q4 )
          = zero_zero_int ) ) ) ).

% mult_if_delta
thf(fact_479_mult__eq__self__implies__10,axiom,
    ! [M: nat,N: nat] :
      ( ( M
        = ( times_times_nat @ M @ N ) )
     => ( ( N = one_one_nat )
        | ( M = zero_zero_nat ) ) ) ).

% mult_eq_self_implies_10
thf(fact_480_mult__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ( times_times_nat @ M @ K )
        = ( times_times_nat @ N @ K ) )
      = ( ( M = N )
        | ( K = zero_zero_nat ) ) ) ).

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

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

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

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

% mult_0
thf(fact_485_nat__mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = one_one_nat )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

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

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

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

% nat_mult_1
thf(fact_489_det__four__block__mat__lower__right__zero__col,axiom,
    ! [A1: mat_a,N: nat,A22: mat_a,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ one_one_nat @ N ) )
     => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ one_one_nat @ one_one_nat ) )
       => ( ( member_mat_a @ A32 @ ( carrier_mat_a @ N @ N ) )
         => ( ( A42
              = ( zero_mat_a @ N @ one_one_nat ) )
           => ( ( det_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_a @ ( times_times_a @ ( power_power_a @ ( uminus_uminus_a @ one_one_a ) @ N ) @ ( det_a @ A22 ) ) @ ( det_a @ A32 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_right_zero_col
thf(fact_490_det__four__block__mat__lower__right__zero__col,axiom,
    ! [A1: mat_complex,N: nat,A22: mat_complex,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ one_one_nat @ N ) )
     => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ one_one_nat @ one_one_nat ) )
       => ( ( member_mat_complex @ A32 @ ( carrier_mat_complex @ N @ N ) )
         => ( ( A42
              = ( zero_mat_complex @ N @ one_one_nat ) )
           => ( ( det_complex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_complex @ ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ ( det_complex @ A22 ) ) @ ( det_complex @ A32 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_right_zero_col
thf(fact_491_det__four__block__mat__lower__right__zero__col,axiom,
    ! [A1: mat_int,N: nat,A22: mat_int,A32: mat_int,A42: mat_int] :
      ( ( member_mat_int @ A1 @ ( carrier_mat_int @ one_one_nat @ N ) )
     => ( ( member_mat_int @ A22 @ ( carrier_mat_int @ one_one_nat @ one_one_nat ) )
       => ( ( member_mat_int @ A32 @ ( carrier_mat_int @ N @ N ) )
         => ( ( A42
              = ( zero_mat_int @ N @ one_one_nat ) )
           => ( ( det_int @ ( four_block_mat_int @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_int @ ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ ( det_int @ A22 ) ) @ ( det_int @ A32 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_right_zero_col
thf(fact_492_pow__mat_Oelims,axiom,
    ! [X: mat_int,Xa: nat,Y: mat_int] :
      ( ( ( pow_mat_int @ X @ Xa )
        = Y )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y
           != ( one_mat_int @ ( dim_row_int @ X ) ) ) )
       => ~ ! [K2: nat] :
              ( ( Xa
                = ( suc @ K2 ) )
             => ( Y
               != ( times_times_mat_int @ ( pow_mat_int @ X @ K2 ) @ X ) ) ) ) ) ).

% pow_mat.elims
thf(fact_493_pow__mat_Oelims,axiom,
    ! [X: mat_a,Xa: nat,Y: mat_a] :
      ( ( ( pow_mat_a @ X @ Xa )
        = Y )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y
           != ( one_mat_a @ ( dim_row_a @ X ) ) ) )
       => ~ ! [K2: nat] :
              ( ( Xa
                = ( suc @ K2 ) )
             => ( Y
               != ( times_times_mat_a @ ( pow_mat_a @ X @ K2 ) @ X ) ) ) ) ) ).

% pow_mat.elims
thf(fact_494_pow__mat_Oelims,axiom,
    ! [X: mat_complex,Xa: nat,Y: mat_complex] :
      ( ( ( pow_mat_complex @ X @ Xa )
        = Y )
     => ( ( ( Xa = zero_zero_nat )
         => ( Y
           != ( one_mat_complex @ ( dim_row_complex @ X ) ) ) )
       => ~ ! [K2: nat] :
              ( ( Xa
                = ( suc @ K2 ) )
             => ( Y
               != ( times_8009071140041733218omplex @ ( pow_mat_complex @ X @ K2 ) @ X ) ) ) ) ) ).

% pow_mat.elims
thf(fact_495_power__minus_H,axiom,
    ! [X: complex,N: nat] :
      ( ( nO_MAT8947977539597988553omplex @ one_one_complex @ X )
     => ( ( power_power_complex @ ( uminus1482373934393186551omplex @ X ) @ N )
        = ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ N ) @ ( power_power_complex @ X @ N ) ) ) ) ).

% power_minus'
thf(fact_496_power__minus_H,axiom,
    ! [X: int,N: nat] :
      ( ( nO_MATCH_int_int @ one_one_int @ X )
     => ( ( power_power_int @ ( uminus_uminus_int @ X ) @ N )
        = ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N ) @ ( power_power_int @ X @ N ) ) ) ) ).

% power_minus'
thf(fact_497_power__eq__if,axiom,
    ( power_power_nat
    = ( ^ [P4: nat,M4: nat] : ( if_nat @ ( M4 = zero_zero_nat ) @ one_one_nat @ ( times_times_nat @ P4 @ ( power_power_nat @ P4 @ ( minus_minus_nat @ M4 @ one_one_nat ) ) ) ) ) ) ).

% power_eq_if
thf(fact_498_power__eq__if,axiom,
    ( power_power_complex
    = ( ^ [P4: complex,M4: nat] : ( if_complex @ ( M4 = zero_zero_nat ) @ one_one_complex @ ( times_times_complex @ P4 @ ( power_power_complex @ P4 @ ( minus_minus_nat @ M4 @ one_one_nat ) ) ) ) ) ) ).

% power_eq_if
thf(fact_499_power__eq__if,axiom,
    ( power_power_int
    = ( ^ [P4: int,M4: nat] : ( if_int @ ( M4 = zero_zero_nat ) @ one_one_int @ ( times_times_int @ P4 @ ( power_power_int @ P4 @ ( minus_minus_nat @ M4 @ one_one_nat ) ) ) ) ) ) ).

% power_eq_if
thf(fact_500_det__four__block__mat__lower__left__zero__col,axiom,
    ! [A1: mat_a,A22: mat_a,N: nat,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ one_one_nat @ one_one_nat ) )
     => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ one_one_nat @ N ) )
       => ( ( A32
            = ( zero_mat_a @ N @ one_one_nat ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ N @ N ) )
           => ( ( det_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_a @ ( det_a @ A1 ) @ ( det_a @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero_col
thf(fact_501_det__four__block__mat__lower__left__zero__col,axiom,
    ! [A1: mat_complex,A22: mat_complex,N: nat,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ one_one_nat @ one_one_nat ) )
     => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ one_one_nat @ N ) )
       => ( ( A32
            = ( zero_mat_complex @ N @ one_one_nat ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ N @ N ) )
           => ( ( det_complex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_complex @ ( det_complex @ A1 ) @ ( det_complex @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero_col
thf(fact_502_det__four__block__mat__lower__left__zero__col,axiom,
    ! [A1: mat_int,A22: mat_int,N: nat,A32: mat_int,A42: mat_int] :
      ( ( member_mat_int @ A1 @ ( carrier_mat_int @ one_one_nat @ one_one_nat ) )
     => ( ( member_mat_int @ A22 @ ( carrier_mat_int @ one_one_nat @ N ) )
       => ( ( A32
            = ( zero_mat_int @ N @ one_one_nat ) )
         => ( ( member_mat_int @ A42 @ ( carrier_mat_int @ N @ N ) )
           => ( ( det_int @ ( four_block_mat_int @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_int @ ( det_int @ A1 ) @ ( det_int @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero_col
thf(fact_503_det__four__block__mat__upper__right__zero__col,axiom,
    ! [A1: mat_a,N: nat,A22: mat_a,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N @ N ) )
     => ( ( A22
          = ( zero_mat_a @ N @ one_one_nat ) )
       => ( ( member_mat_a @ A32 @ ( carrier_mat_a @ one_one_nat @ N ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ one_one_nat @ one_one_nat ) )
           => ( ( det_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_a @ ( det_a @ A1 ) @ ( det_a @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero_col
thf(fact_504_det__four__block__mat__upper__right__zero__col,axiom,
    ! [A1: mat_complex,N: nat,A22: mat_complex,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( A22
          = ( zero_mat_complex @ N @ one_one_nat ) )
       => ( ( member_mat_complex @ A32 @ ( carrier_mat_complex @ one_one_nat @ N ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ one_one_nat @ one_one_nat ) )
           => ( ( det_complex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_complex @ ( det_complex @ A1 ) @ ( det_complex @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero_col
thf(fact_505_det__four__block__mat__upper__right__zero__col,axiom,
    ! [A1: mat_int,N: nat,A22: mat_int,A32: mat_int,A42: mat_int] :
      ( ( member_mat_int @ A1 @ ( carrier_mat_int @ N @ N ) )
     => ( ( A22
          = ( zero_mat_int @ N @ one_one_nat ) )
       => ( ( member_mat_int @ A32 @ ( carrier_mat_int @ one_one_nat @ N ) )
         => ( ( member_mat_int @ A42 @ ( carrier_mat_int @ one_one_nat @ one_one_nat ) )
           => ( ( det_int @ ( four_block_mat_int @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_int @ ( det_int @ A1 ) @ ( det_int @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero_col
thf(fact_506_diff__eq__diff__eq,axiom,
    ! [A2: int,B2: int,C2: int,D2: int] :
      ( ( ( minus_minus_int @ A2 @ B2 )
        = ( minus_minus_int @ C2 @ D2 ) )
     => ( ( A2 = B2 )
        = ( C2 = D2 ) ) ) ).

% diff_eq_diff_eq
thf(fact_507_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A2 @ C2 ) @ B2 )
      = ( minus_minus_nat @ ( minus_minus_nat @ A2 @ B2 ) @ C2 ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_508_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A2 @ C2 ) @ B2 )
      = ( minus_minus_int @ ( minus_minus_int @ A2 @ B2 ) @ C2 ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_509_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_510_trace__minus__linear,axiom,
    ! [A: mat_int,N: nat,B: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( member_mat_int @ B @ ( carrier_mat_int @ N @ N ) )
       => ( ( complex_trace_int @ ( minus_minus_mat_int @ A @ B ) )
          = ( minus_minus_int @ ( complex_trace_int @ A ) @ ( complex_trace_int @ B ) ) ) ) ) ).

% trace_minus_linear
thf(fact_511_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_512_diff__self,axiom,
    ! [A2: int] :
      ( ( minus_minus_int @ A2 @ A2 )
      = zero_zero_int ) ).

% diff_self
thf(fact_513_diff__0__right,axiom,
    ! [A2: int] :
      ( ( minus_minus_int @ A2 @ zero_zero_int )
      = A2 ) ).

% diff_0_right
thf(fact_514_right__minus__eq,axiom,
    ! [A2: int,B2: int] :
      ( ( ( minus_minus_int @ A2 @ B2 )
        = zero_zero_int )
      = ( A2 = B2 ) ) ).

% right_minus_eq
thf(fact_515_zero__diff,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A2 )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_516_diff__zero,axiom,
    ! [A2: nat] :
      ( ( minus_minus_nat @ A2 @ zero_zero_nat )
      = A2 ) ).

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

% diff_zero
thf(fact_518_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_519_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A2: int] :
      ( ( minus_minus_int @ A2 @ A2 )
      = zero_zero_int ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_520_cross3__simps_I25_J,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 ) ) ) ).

% cross3_simps(25)
thf(fact_521_cross3__simps_I25_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 ) ) ) ).

% cross3_simps(25)
thf(fact_522_cross3__simps_I25_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ A2 @ ( minus_minus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ ( times_times_int @ A2 @ B2 ) @ ( times_times_int @ A2 @ C2 ) ) ) ).

% cross3_simps(25)
thf(fact_523_cross3__simps_I26_J,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 ) ) ) ).

% cross3_simps(26)
thf(fact_524_cross3__simps_I26_J,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 ) ) ) ).

% cross3_simps(26)
thf(fact_525_cross3__simps_I26_J,axiom,
    ! [B2: int,C2: int,A2: int] :
      ( ( times_times_int @ ( minus_minus_int @ B2 @ C2 ) @ A2 )
      = ( minus_minus_int @ ( times_times_int @ B2 @ A2 ) @ ( times_times_int @ C2 @ A2 ) ) ) ).

% cross3_simps(26)
thf(fact_526_cross3__simps_I27_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 ) ) ) ).

% cross3_simps(27)
thf(fact_527_cross3__simps_I27_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ A2 @ ( minus_minus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ ( times_times_int @ A2 @ B2 ) @ ( times_times_int @ A2 @ C2 ) ) ) ).

% cross3_simps(27)
thf(fact_528_cross3__simps_I28_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 ) ) ) ).

% cross3_simps(28)
thf(fact_529_cross3__simps_I28_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( minus_minus_int @ A2 @ B2 ) @ C2 )
      = ( minus_minus_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ).

% cross3_simps(28)
thf(fact_530_cross3__simps_I50_J,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 ) ) ) ).

% cross3_simps(50)
thf(fact_531_cross3__simps_I51_J,axiom,
    ! [A2: complex,X: complex,Y: complex] :
      ( ( times_times_complex @ A2 @ ( minus_minus_complex @ X @ Y ) )
      = ( minus_minus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ A2 @ Y ) ) ) ).

% cross3_simps(51)
thf(fact_532_minus__diff__eq,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( minus_minus_complex @ A2 @ B2 ) )
      = ( minus_minus_complex @ B2 @ A2 ) ) ).

% minus_diff_eq
thf(fact_533_minus__diff__eq,axiom,
    ! [A2: int,B2: int] :
      ( ( uminus_uminus_int @ ( minus_minus_int @ A2 @ B2 ) )
      = ( minus_minus_int @ B2 @ A2 ) ) ).

% minus_diff_eq
thf(fact_534_minus__diff__commute,axiom,
    ! [B2: complex,A2: complex] :
      ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ A2 )
      = ( minus_minus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 ) ) ).

% minus_diff_commute
thf(fact_535_minus__diff__commute,axiom,
    ! [B2: int,A2: int] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ B2 ) @ A2 )
      = ( minus_minus_int @ ( uminus_uminus_int @ A2 ) @ B2 ) ) ).

% minus_diff_commute
thf(fact_536_unit__vecs__first_Oinduct,axiom,
    ! [P: nat > nat > $o,A0: nat,A12: nat] :
      ( ! [N2: nat] : ( P @ N2 @ zero_zero_nat )
     => ( ! [N2: nat,I: nat] :
            ( ( P @ N2 @ I )
           => ( P @ N2 @ ( suc @ I ) ) )
       => ( P @ A0 @ A12 ) ) ) ).

% unit_vecs_first.induct
thf(fact_537_diff__mult__distrib2,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K @ ( minus_minus_nat @ M @ N ) )
      = ( minus_minus_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) ) ) ).

% diff_mult_distrib2
thf(fact_538_diff__mult__distrib,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ M @ N ) @ K )
      = ( minus_minus_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) ) ) ).

% diff_mult_distrib
thf(fact_539_Suc__mult__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ ( suc @ K ) @ M )
        = ( times_times_nat @ ( suc @ K ) @ N ) )
      = ( M = N ) ) ).

% Suc_mult_cancel1
thf(fact_540_diff__0,axiom,
    ! [A2: complex] :
      ( ( minus_minus_complex @ zero_zero_complex @ A2 )
      = ( uminus1482373934393186551omplex @ A2 ) ) ).

% diff_0
thf(fact_541_diff__0,axiom,
    ! [A2: int] :
      ( ( minus_minus_int @ zero_zero_int @ A2 )
      = ( uminus_uminus_int @ A2 ) ) ).

% diff_0
thf(fact_542_verit__minus__simplify_I3_J,axiom,
    ! [B2: complex] :
      ( ( minus_minus_complex @ zero_zero_complex @ B2 )
      = ( uminus1482373934393186551omplex @ B2 ) ) ).

% verit_minus_simplify(3)
thf(fact_543_verit__minus__simplify_I3_J,axiom,
    ! [B2: int] :
      ( ( minus_minus_int @ zero_zero_int @ B2 )
      = ( uminus_uminus_int @ B2 ) ) ).

% verit_minus_simplify(3)
thf(fact_544_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_545_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_546_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_547_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_548_class__semiring_Onat__pow__Suc,axiom,
    ! [X: nat,N: nat] :
      ( ( power_power_nat @ X @ ( suc @ N ) )
      = ( times_times_nat @ ( power_power_nat @ X @ N ) @ X ) ) ).

% class_semiring.nat_pow_Suc
thf(fact_549_class__semiring_Onat__pow__Suc,axiom,
    ! [X: complex,N: nat] :
      ( ( power_power_complex @ X @ ( suc @ N ) )
      = ( times_times_complex @ ( power_power_complex @ X @ N ) @ X ) ) ).

% class_semiring.nat_pow_Suc
thf(fact_550_class__semiring_Onat__pow__Suc,axiom,
    ! [X: int,N: nat] :
      ( ( power_power_int @ X @ ( suc @ N ) )
      = ( times_times_int @ ( power_power_int @ X @ N ) @ X ) ) ).

% class_semiring.nat_pow_Suc
thf(fact_551_power_Osimps_I2_J,axiom,
    ! [A2: nat,N: nat] :
      ( ( power_power_nat @ A2 @ ( suc @ N ) )
      = ( times_times_nat @ A2 @ ( power_power_nat @ A2 @ N ) ) ) ).

% power.simps(2)
thf(fact_552_power_Osimps_I2_J,axiom,
    ! [A2: complex,N: nat] :
      ( ( power_power_complex @ A2 @ ( suc @ N ) )
      = ( times_times_complex @ A2 @ ( power_power_complex @ A2 @ N ) ) ) ).

% power.simps(2)
thf(fact_553_power_Osimps_I2_J,axiom,
    ! [A2: int,N: nat] :
      ( ( power_power_int @ A2 @ ( suc @ N ) )
      = ( times_times_int @ A2 @ ( power_power_int @ A2 @ N ) ) ) ).

% power.simps(2)
thf(fact_554_power__Suc2,axiom,
    ! [A2: nat,N: nat] :
      ( ( power_power_nat @ A2 @ ( suc @ N ) )
      = ( times_times_nat @ ( power_power_nat @ A2 @ N ) @ A2 ) ) ).

% power_Suc2
thf(fact_555_power__Suc2,axiom,
    ! [A2: complex,N: nat] :
      ( ( power_power_complex @ A2 @ ( suc @ N ) )
      = ( times_times_complex @ ( power_power_complex @ A2 @ N ) @ A2 ) ) ).

% power_Suc2
thf(fact_556_power__Suc2,axiom,
    ! [A2: int,N: nat] :
      ( ( power_power_int @ A2 @ ( suc @ N ) )
      = ( times_times_int @ ( power_power_int @ A2 @ N ) @ A2 ) ) ).

% power_Suc2
thf(fact_557_mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% mult_eq_1_iff
thf(fact_558_one__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( times_times_nat @ M @ N ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% one_eq_mult_iff
thf(fact_559_pow__mat_Osimps_I2_J,axiom,
    ! [A: mat_a,K: nat] :
      ( ( pow_mat_a @ A @ ( suc @ K ) )
      = ( times_times_mat_a @ ( pow_mat_a @ A @ K ) @ A ) ) ).

% pow_mat.simps(2)
thf(fact_560_pow__mat_Osimps_I2_J,axiom,
    ! [A: mat_complex,K: nat] :
      ( ( pow_mat_complex @ A @ ( suc @ K ) )
      = ( times_8009071140041733218omplex @ ( pow_mat_complex @ A @ K ) @ A ) ) ).

% pow_mat.simps(2)
thf(fact_561_arith__special_I24_J,axiom,
    ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ ( uminus1482373934393186551omplex @ one_one_complex ) )
    = zero_zero_complex ) ).

% arith_special(24)
thf(fact_562_arith__special_I24_J,axiom,
    ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% arith_special(24)
thf(fact_563_assoc__four__block__mat,axiom,
    ! [A: mat_a,B: mat_a,C: mat_a] :
      ( ( four_block_mat_a @ A @ ( zero_mat_a @ ( dim_row_a @ A ) @ ( dim_col_a @ ( four_block_mat_a @ B @ ( zero_mat_a @ ( dim_row_a @ B ) @ ( dim_col_a @ C ) ) @ ( zero_mat_a @ ( dim_row_a @ C ) @ ( dim_col_a @ B ) ) @ C ) ) ) @ ( zero_mat_a @ ( dim_row_a @ ( four_block_mat_a @ B @ ( zero_mat_a @ ( dim_row_a @ B ) @ ( dim_col_a @ C ) ) @ ( zero_mat_a @ ( dim_row_a @ C ) @ ( dim_col_a @ B ) ) @ C ) ) @ ( dim_col_a @ A ) ) @ ( four_block_mat_a @ B @ ( zero_mat_a @ ( dim_row_a @ B ) @ ( dim_col_a @ C ) ) @ ( zero_mat_a @ ( dim_row_a @ C ) @ ( dim_col_a @ B ) ) @ C ) )
      = ( four_block_mat_a @ ( 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 ) @ ( zero_mat_a @ ( dim_row_a @ ( 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 ) ) @ ( dim_col_a @ C ) ) @ ( zero_mat_a @ ( dim_row_a @ C ) @ ( dim_col_a @ ( 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 ) ) ) @ C ) ) ).

% assoc_four_block_mat
thf(fact_564_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_565_pow__four__block__mat,axiom,
    ! [A: mat_a,N: nat,B: mat_a,M: nat,K: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ M @ M ) )
       => ( ( pow_mat_a @ ( four_block_mat_a @ A @ ( zero_mat_a @ N @ M ) @ ( zero_mat_a @ M @ N ) @ B ) @ K )
          = ( four_block_mat_a @ ( pow_mat_a @ A @ K ) @ ( zero_mat_a @ N @ M ) @ ( zero_mat_a @ M @ N ) @ ( pow_mat_a @ B @ K ) ) ) ) ) ).

% pow_four_block_mat
thf(fact_566_pow__four__block__mat,axiom,
    ! [A: mat_complex,N: nat,B: mat_complex,M: nat,K: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ B @ ( carrier_mat_complex @ M @ M ) )
       => ( ( pow_mat_complex @ ( four_b559179830521662709omplex @ A @ ( zero_mat_complex @ N @ M ) @ ( zero_mat_complex @ M @ N ) @ B ) @ K )
          = ( four_b559179830521662709omplex @ ( pow_mat_complex @ A @ K ) @ ( zero_mat_complex @ N @ M ) @ ( zero_mat_complex @ M @ N ) @ ( pow_mat_complex @ B @ K ) ) ) ) ) ).

% pow_four_block_mat
thf(fact_567_det__four__block__mat__upper__right__zero,axiom,
    ! [A1: mat_a,N: nat,A22: mat_a,M: nat,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N @ N ) )
     => ( ( A22
          = ( zero_mat_a @ N @ M ) )
       => ( ( member_mat_a @ A32 @ ( carrier_mat_a @ M @ N ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ M @ M ) )
           => ( ( det_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_a @ ( det_a @ A1 ) @ ( det_a @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero
thf(fact_568_det__four__block__mat__upper__right__zero,axiom,
    ! [A1: mat_complex,N: nat,A22: mat_complex,M: nat,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( A22
          = ( zero_mat_complex @ N @ M ) )
       => ( ( member_mat_complex @ A32 @ ( carrier_mat_complex @ M @ N ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ M @ M ) )
           => ( ( det_complex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_complex @ ( det_complex @ A1 ) @ ( det_complex @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero
thf(fact_569_det__four__block__mat__upper__right__zero,axiom,
    ! [A1: mat_int,N: nat,A22: mat_int,M: nat,A32: mat_int,A42: mat_int] :
      ( ( member_mat_int @ A1 @ ( carrier_mat_int @ N @ N ) )
     => ( ( A22
          = ( zero_mat_int @ N @ M ) )
       => ( ( member_mat_int @ A32 @ ( carrier_mat_int @ M @ N ) )
         => ( ( member_mat_int @ A42 @ ( carrier_mat_int @ M @ M ) )
           => ( ( det_int @ ( four_block_mat_int @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_int @ ( det_int @ A1 ) @ ( det_int @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_upper_right_zero
thf(fact_570_det__four__block__mat__lower__left__zero,axiom,
    ! [A1: mat_a,N: nat,A22: mat_a,M: nat,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N @ N ) )
     => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ N @ M ) )
       => ( ( A32
            = ( zero_mat_a @ M @ N ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ M @ M ) )
           => ( ( det_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_a @ ( det_a @ A1 ) @ ( det_a @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero
thf(fact_571_det__four__block__mat__lower__left__zero,axiom,
    ! [A1: mat_complex,N: nat,A22: mat_complex,M: nat,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ N @ M ) )
       => ( ( A32
            = ( zero_mat_complex @ M @ N ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ M @ M ) )
           => ( ( det_complex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_complex @ ( det_complex @ A1 ) @ ( det_complex @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero
thf(fact_572_det__four__block__mat__lower__left__zero,axiom,
    ! [A1: mat_int,N: nat,A22: mat_int,M: nat,A32: mat_int,A42: mat_int] :
      ( ( member_mat_int @ A1 @ ( carrier_mat_int @ N @ N ) )
     => ( ( member_mat_int @ A22 @ ( carrier_mat_int @ N @ M ) )
       => ( ( A32
            = ( zero_mat_int @ M @ N ) )
         => ( ( member_mat_int @ A42 @ ( carrier_mat_int @ M @ M ) )
           => ( ( det_int @ ( four_block_mat_int @ A1 @ A22 @ A32 @ A42 ) )
              = ( times_times_int @ ( det_int @ A1 ) @ ( det_int @ A42 ) ) ) ) ) ) ) ).

% det_four_block_mat_lower_left_zero
thf(fact_573_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_574_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_575_append__rows__def,axiom,
    ( append_rows_complex
    = ( ^ [A3: mat_complex,B4: mat_complex] : ( four_b559179830521662709omplex @ A3 @ ( zero_mat_complex @ ( dim_row_complex @ A3 ) @ zero_zero_nat ) @ B4 @ ( zero_mat_complex @ ( dim_row_complex @ B4 ) @ zero_zero_nat ) ) ) ) ).

% append_rows_def
thf(fact_576_poly__cancel__eq__conv,axiom,
    ! [X: complex,A2: complex,Y: complex,B2: complex] :
      ( ( X = zero_zero_complex )
     => ( ( A2 != zero_zero_complex )
       => ( ( Y = zero_zero_complex )
          = ( ( minus_minus_complex @ ( times_times_complex @ A2 @ Y ) @ ( times_times_complex @ B2 @ X ) )
            = zero_zero_complex ) ) ) ) ).

% poly_cancel_eq_conv
thf(fact_577_minus__diff__minus,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( uminus1482373934393186551omplex @ ( minus_minus_complex @ A2 @ B2 ) ) ) ).

% minus_diff_minus
thf(fact_578_minus__diff__minus,axiom,
    ! [A2: int,B2: int] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ A2 ) @ ( uminus_uminus_int @ B2 ) )
      = ( uminus_uminus_int @ ( minus_minus_int @ A2 @ B2 ) ) ) ).

% minus_diff_minus
thf(fact_579_inf__period_I2_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X3: complex,K2: complex] :
          ( ( P @ X3 )
          = ( P @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K2 @ D ) ) ) )
     => ( ! [X3: complex,K2: complex] :
            ( ( Q @ X3 )
            = ( Q @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K2 @ D ) ) ) )
       => ! [X4: complex,K3: complex] :
            ( ( ( P @ X4 )
              | ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K3 @ D ) ) )
              | ( Q @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(2)
thf(fact_580_inf__period_I2_J,axiom,
    ! [P: int > $o,D: int,Q: int > $o] :
      ( ! [X3: int,K2: int] :
          ( ( P @ X3 )
          = ( P @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D ) ) ) )
     => ( ! [X3: int,K2: int] :
            ( ( Q @ X3 )
            = ( Q @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D ) ) ) )
       => ! [X4: int,K3: int] :
            ( ( ( P @ X4 )
              | ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_int @ X4 @ ( times_times_int @ K3 @ D ) ) )
              | ( Q @ ( minus_minus_int @ X4 @ ( times_times_int @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(2)
thf(fact_581_inf__period_I1_J,axiom,
    ! [P: complex > $o,D: complex,Q: complex > $o] :
      ( ! [X3: complex,K2: complex] :
          ( ( P @ X3 )
          = ( P @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K2 @ D ) ) ) )
     => ( ! [X3: complex,K2: complex] :
            ( ( Q @ X3 )
            = ( Q @ ( minus_minus_complex @ X3 @ ( times_times_complex @ K2 @ D ) ) ) )
       => ! [X4: complex,K3: complex] :
            ( ( ( P @ X4 )
              & ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K3 @ D ) ) )
              & ( Q @ ( minus_minus_complex @ X4 @ ( times_times_complex @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(1)
thf(fact_582_inf__period_I1_J,axiom,
    ! [P: int > $o,D: int,Q: int > $o] :
      ( ! [X3: int,K2: int] :
          ( ( P @ X3 )
          = ( P @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D ) ) ) )
     => ( ! [X3: int,K2: int] :
            ( ( Q @ X3 )
            = ( Q @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D ) ) ) )
       => ! [X4: int,K3: int] :
            ( ( ( P @ X4 )
              & ( Q @ X4 ) )
            = ( ( P @ ( minus_minus_int @ X4 @ ( times_times_int @ K3 @ D ) ) )
              & ( Q @ ( minus_minus_int @ X4 @ ( times_times_int @ K3 @ D ) ) ) ) ) ) ) ).

% inf_period(1)
thf(fact_583_mat__delete__dim_I2_J,axiom,
    ! [A: mat_a,I2: nat,J: nat] :
      ( ( dim_col_a @ ( mat_delete_a @ A @ I2 @ J ) )
      = ( minus_minus_nat @ ( dim_col_a @ A ) @ one_one_nat ) ) ).

% mat_delete_dim(2)
thf(fact_584_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_585_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_586_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_587_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_588_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_589_index__minus__mat_I3_J,axiom,
    ! [A: mat_a,B: mat_a] :
      ( ( dim_col_a @ ( minus_minus_mat_a @ A @ B ) )
      = ( dim_col_a @ B ) ) ).

% index_minus_mat(3)
thf(fact_590_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_591_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_592_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_593_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_594_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_595_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_596_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_597_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_598_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_599_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_600_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_601_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_602_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_603_right__minus__zero__mat,axiom,
    ! [A: mat_a] :
      ( ( minus_minus_mat_a @ A @ ( zero_mat_a @ ( dim_row_a @ A ) @ ( dim_col_a @ A ) ) )
      = A ) ).

% right_minus_zero_mat
thf(fact_604_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_605_det__four__block__mat,axiom,
    ! [A: mat_a,N: nat,B: mat_a,C: mat_a,D: 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 ) )
         => ( ( member_mat_a @ D @ ( carrier_mat_a @ N @ N ) )
           => ( ( ( times_times_mat_a @ C @ D )
                = ( times_times_mat_a @ D @ C ) )
             => ( ( det_a @ ( four_block_mat_a @ A @ B @ C @ D ) )
                = ( det_a @ ( minus_minus_mat_a @ ( times_times_mat_a @ A @ D ) @ ( times_times_mat_a @ B @ C ) ) ) ) ) ) ) ) ) ).

% det_four_block_mat
thf(fact_606_det__four__block__mat,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 @ C @ D )
                = ( times_8009071140041733218omplex @ D @ C ) )
             => ( ( det_complex @ ( four_b559179830521662709omplex @ A @ B @ C @ D ) )
                = ( det_complex @ ( minus_2412168080157227406omplex @ ( times_8009071140041733218omplex @ A @ D ) @ ( times_8009071140041733218omplex @ B @ C ) ) ) ) ) ) ) ) ) ).

% det_four_block_mat
thf(fact_607_mat__delete__carrier,axiom,
    ! [A: mat_a,M: nat,N: nat,I2: nat,J: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ M @ N ) )
     => ( member_mat_a @ ( mat_delete_a @ A @ I2 @ J ) @ ( carrier_mat_a @ ( minus_minus_nat @ M @ one_one_nat ) @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% mat_delete_carrier
thf(fact_608_mat__delete__carrier,axiom,
    ! [A: mat_complex,M: nat,N: nat,I2: nat,J: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ M @ N ) )
     => ( member_mat_complex @ ( mat_delete_complex @ A @ I2 @ J ) @ ( carrier_mat_complex @ ( minus_minus_nat @ M @ one_one_nat ) @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% mat_delete_carrier
thf(fact_609_mat__delete__dim_I1_J,axiom,
    ! [A: mat_complex,I2: nat,J: nat] :
      ( ( dim_row_complex @ ( mat_delete_complex @ A @ I2 @ J ) )
      = ( minus_minus_nat @ ( dim_row_complex @ A ) @ one_one_nat ) ) ).

% mat_delete_dim(1)
thf(fact_610_swap__row__to__front__four__block,axiom,
    ! [A1: mat_a,N: nat,M1: nat,A22: mat_a,M22: nat,A32: mat_a,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N @ M1 ) )
     => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ N @ M22 ) )
       => ( ( member_mat_a @ A32 @ ( carrier_mat_a @ one_one_nat @ M1 ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ one_one_nat @ M22 ) )
           => ( ( column973622294476583016ront_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) @ N )
              = ( four_block_mat_a @ A32 @ A42 @ A1 @ A22 ) ) ) ) ) ) ).

% swap_row_to_front_four_block
thf(fact_611_swap__row__to__front__four__block,axiom,
    ! [A1: mat_complex,N: nat,M1: nat,A22: mat_complex,M22: nat,A32: mat_complex,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N @ M1 ) )
     => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ N @ M22 ) )
       => ( ( member_mat_complex @ A32 @ ( carrier_mat_complex @ one_one_nat @ M1 ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ one_one_nat @ M22 ) )
           => ( ( column4342047067757093060omplex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) @ N )
              = ( four_b559179830521662709omplex @ A32 @ A42 @ A1 @ A22 ) ) ) ) ) ) ).

% swap_row_to_front_four_block
thf(fact_612_swap__col__to__front__four__block,axiom,
    ! [A1: mat_a,N1: nat,M: nat,A22: mat_a,A32: mat_a,N22: nat,A42: mat_a] :
      ( ( member_mat_a @ A1 @ ( carrier_mat_a @ N1 @ M ) )
     => ( ( member_mat_a @ A22 @ ( carrier_mat_a @ N1 @ one_one_nat ) )
       => ( ( member_mat_a @ A32 @ ( carrier_mat_a @ N22 @ M ) )
         => ( ( member_mat_a @ A42 @ ( carrier_mat_a @ N22 @ one_one_nat ) )
           => ( ( column2924081423933032910ront_a @ ( four_block_mat_a @ A1 @ A22 @ A32 @ A42 ) @ M )
              = ( four_block_mat_a @ A22 @ A1 @ A42 @ A32 ) ) ) ) ) ) ).

% swap_col_to_front_four_block
thf(fact_613_swap__col__to__front__four__block,axiom,
    ! [A1: mat_complex,N1: nat,M: nat,A22: mat_complex,A32: mat_complex,N22: nat,A42: mat_complex] :
      ( ( member_mat_complex @ A1 @ ( carrier_mat_complex @ N1 @ M ) )
     => ( ( member_mat_complex @ A22 @ ( carrier_mat_complex @ N1 @ one_one_nat ) )
       => ( ( member_mat_complex @ A32 @ ( carrier_mat_complex @ N22 @ M ) )
         => ( ( member_mat_complex @ A42 @ ( carrier_mat_complex @ N22 @ one_one_nat ) )
           => ( ( column7264791363093833182omplex @ ( four_b559179830521662709omplex @ A1 @ A22 @ A32 @ A42 ) @ M )
              = ( four_b559179830521662709omplex @ A22 @ A1 @ A42 @ A32 ) ) ) ) ) ) ).

% swap_col_to_front_four_block
thf(fact_614_power__minus__mult,axiom,
    ! [N: nat,A2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( times_times_nat @ ( power_power_nat @ A2 @ ( minus_minus_nat @ N @ one_one_nat ) ) @ A2 )
        = ( power_power_nat @ A2 @ N ) ) ) ).

% power_minus_mult
thf(fact_615_power__minus__mult,axiom,
    ! [N: nat,A2: complex] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( times_times_complex @ ( power_power_complex @ A2 @ ( minus_minus_nat @ N @ one_one_nat ) ) @ A2 )
        = ( power_power_complex @ A2 @ N ) ) ) ).

% power_minus_mult
thf(fact_616_power__minus__mult,axiom,
    ! [N: nat,A2: int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( times_times_int @ ( power_power_int @ A2 @ ( minus_minus_nat @ N @ one_one_nat ) ) @ A2 )
        = ( power_power_int @ A2 @ N ) ) ) ).

% power_minus_mult
thf(fact_617_moebius__inverse_H,axiom,
    ! [A2: complex,D2: complex,B2: complex,C2: complex,Z: complex] :
      ( ( ( times_times_complex @ A2 @ D2 )
       != ( times_times_complex @ B2 @ C2 ) )
     => ( ( ( minus_minus_complex @ ( times_times_complex @ C2 @ Z ) @ A2 )
         != zero_zero_complex )
       => ( ( comple6957087336724718077omplex @ A2 @ B2 @ C2 @ D2 @ ( comple6957087336724718077omplex @ D2 @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ C2 ) @ A2 @ Z ) )
          = Z ) ) ) ).

% moebius_inverse'
thf(fact_618_cofactor__def,axiom,
    ( cofactor_complex
    = ( ^ [A3: mat_complex,I3: nat,J2: nat] : ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ ( plus_plus_nat @ I3 @ J2 ) ) @ ( det_complex @ ( mat_delete_complex @ A3 @ I3 @ J2 ) ) ) ) ) ).

% cofactor_def
thf(fact_619_cofactor__def,axiom,
    ( cofactor_int
    = ( ^ [A3: mat_int,I3: nat,J2: nat] : ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ ( plus_plus_nat @ I3 @ J2 ) ) @ ( det_int @ ( mat_delete_int @ A3 @ I3 @ J2 ) ) ) ) ) ).

% cofactor_def
thf(fact_620_diff__less__eq,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 ) ) ) ).

% diff_less_eq
thf(fact_621_diff__less__eq,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ ( minus_minus_int @ A2 @ B2 ) @ C2 )
      = ( ord_less_int @ A2 @ ( plus_plus_int @ C2 @ B2 ) ) ) ).

% diff_less_eq
thf(fact_622_less__diff__eq,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 ) ) ).

% less_diff_eq
thf(fact_623_less__diff__eq,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( ord_less_int @ A2 @ ( minus_minus_int @ C2 @ B2 ) )
      = ( ord_less_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 ) ) ).

% less_diff_eq
thf(fact_624_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_625_less__add__iff1,axiom,
    ! [A2: int,E: int,C2: int,B2: int,D2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ ( times_times_int @ A2 @ E ) @ C2 ) @ ( plus_plus_int @ ( times_times_int @ B2 @ E ) @ D2 ) )
      = ( ord_less_int @ ( plus_plus_int @ ( times_times_int @ ( minus_minus_int @ A2 @ B2 ) @ E ) @ C2 ) @ D2 ) ) ).

% less_add_iff1
thf(fact_626_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_627_less__add__iff2,axiom,
    ! [A2: int,E: int,C2: int,B2: int,D2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ ( times_times_int @ A2 @ E ) @ C2 ) @ ( plus_plus_int @ ( times_times_int @ B2 @ E ) @ D2 ) )
      = ( ord_less_int @ C2 @ ( plus_plus_int @ ( times_times_int @ ( minus_minus_int @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

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

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

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

% add_smult_distrib_right_mat
thf(fact_631_add__smult__distrib__right__mat,axiom,
    ! [A: mat_int,Nr: nat,Nc: nat,K: int,L: int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ Nr @ Nc ) )
     => ( ( smult_mat_int @ ( plus_plus_int @ K @ L ) @ A )
        = ( plus_plus_mat_int @ ( smult_mat_int @ K @ A ) @ ( smult_mat_int @ L @ A ) ) ) ) ).

% add_smult_distrib_right_mat
thf(fact_632_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_633_trace__add__linear,axiom,
    ! [A: mat_int,N: nat,B: mat_int] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( member_mat_int @ B @ ( carrier_mat_int @ N @ N ) )
       => ( ( complex_trace_int @ ( plus_plus_mat_int @ A @ B ) )
          = ( plus_plus_int @ ( complex_trace_int @ A ) @ ( complex_trace_int @ B ) ) ) ) ) ).

% trace_add_linear
thf(fact_634_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_635_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_636_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

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

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

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

% gr_zeroI
thf(fact_640_sum__squares__gt__zero__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ ( times_times_int @ X @ X ) @ ( times_times_int @ Y @ Y ) ) )
      = ( ( X != zero_zero_int )
        | ( Y != zero_zero_int ) ) ) ).

% sum_squares_gt_zero_iff
thf(fact_641_not__sum__squares__lt__zero,axiom,
    ! [X: int,Y: int] :
      ~ ( ord_less_int @ ( plus_plus_int @ ( times_times_int @ X @ X ) @ ( times_times_int @ Y @ Y ) ) @ zero_zero_int ) ).

% not_sum_squares_lt_zero
thf(fact_642_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_643_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_644_add__sign__intros_I6_J,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ zero_zero_int )
     => ( ( ord_less_int @ B2 @ zero_zero_int )
       => ( ord_less_int @ ( plus_plus_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% add_sign_intros(6)
thf(fact_645_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_646_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_647_add__sign__intros_I2_J,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ zero_zero_int @ B2 )
       => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A2 @ B2 ) ) ) ) ).

% add_sign_intros(2)
thf(fact_648_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_649_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_650_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_651_pos__add__strict,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ B2 @ C2 )
       => ( ord_less_int @ B2 @ ( plus_plus_int @ A2 @ C2 ) ) ) ) ).

% pos_add_strict
thf(fact_652_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_653_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_654_add__less__same__cancel1,axiom,
    ! [B2: int,A2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ B2 @ A2 ) @ B2 )
      = ( ord_less_int @ A2 @ zero_zero_int ) ) ).

% add_less_same_cancel1
thf(fact_655_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_656_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_657_add__less__same__cancel2,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A2 @ B2 ) @ B2 )
      = ( ord_less_int @ A2 @ zero_zero_int ) ) ).

% add_less_same_cancel2
thf(fact_658_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_659_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_660_less__add__same__cancel1,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ ( plus_plus_int @ A2 @ B2 ) )
      = ( ord_less_int @ zero_zero_int @ B2 ) ) ).

% less_add_same_cancel1
thf(fact_661_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_662_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_663_less__add__same__cancel2,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ ( plus_plus_int @ B2 @ A2 ) )
      = ( ord_less_int @ zero_zero_int @ B2 ) ) ).

% less_add_same_cancel2
thf(fact_664_double__add__less__zero__iff__single__add__less__zero,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A2 @ A2 ) @ zero_zero_int )
      = ( ord_less_int @ A2 @ zero_zero_int ) ) ).

% double_add_less_zero_iff_single_add_less_zero
thf(fact_665_zero__less__double__add__iff__zero__less__single__add,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A2 @ A2 ) )
      = ( ord_less_int @ zero_zero_int @ A2 ) ) ).

% zero_less_double_add_iff_zero_less_single_add
thf(fact_666_set__plus__elim,axiom,
    ! [X: mat_a,A: set_mat_a,B: set_mat_a] :
      ( ( member_mat_a @ X @ ( plus_plus_set_mat_a @ A @ B ) )
     => ~ ! [A5: mat_a,B5: mat_a] :
            ( ( X
              = ( plus_plus_mat_a @ A5 @ B5 ) )
           => ( ( member_mat_a @ A5 @ A )
             => ~ ( member_mat_a @ B5 @ B ) ) ) ) ).

% set_plus_elim
thf(fact_667_set__plus__elim,axiom,
    ! [X: nat,A: set_nat,B: set_nat] :
      ( ( member_nat @ X @ ( plus_plus_set_nat @ A @ B ) )
     => ~ ! [A5: nat,B5: nat] :
            ( ( X
              = ( plus_plus_nat @ A5 @ B5 ) )
           => ( ( member_nat @ A5 @ A )
             => ~ ( member_nat @ B5 @ B ) ) ) ) ).

% set_plus_elim
thf(fact_668_set__plus__elim,axiom,
    ! [X: mat_complex,A: set_mat_complex,B: set_mat_complex] :
      ( ( member_mat_complex @ X @ ( plus_p4229080058245121342omplex @ A @ B ) )
     => ~ ! [A5: mat_complex,B5: mat_complex] :
            ( ( X
              = ( plus_p8323303612493835998omplex @ A5 @ B5 ) )
           => ( ( member_mat_complex @ A5 @ A )
             => ~ ( member_mat_complex @ B5 @ B ) ) ) ) ).

% set_plus_elim
thf(fact_669_set__plus__elim,axiom,
    ! [X: complex,A: set_complex,B: set_complex] :
      ( ( member_complex @ X @ ( plus_p7052360327008956141omplex @ A @ B ) )
     => ~ ! [A5: complex,B5: complex] :
            ( ( X
              = ( plus_plus_complex @ A5 @ B5 ) )
           => ( ( member_complex @ A5 @ A )
             => ~ ( member_complex @ B5 @ B ) ) ) ) ).

% set_plus_elim
thf(fact_670_set__plus__elim,axiom,
    ! [X: int,A: set_int,B: set_int] :
      ( ( member_int @ X @ ( plus_plus_set_int @ A @ B ) )
     => ~ ! [A5: int,B5: int] :
            ( ( X
              = ( plus_plus_int @ A5 @ B5 ) )
           => ( ( member_int @ A5 @ A )
             => ~ ( member_int @ B5 @ B ) ) ) ) ).

% set_plus_elim
thf(fact_671_set__plus__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 @ ( plus_plus_mat_a @ A2 @ B2 ) @ ( plus_plus_set_mat_a @ C @ D ) ) ) ) ).

% set_plus_intro
thf(fact_672_set__plus__intro,axiom,
    ! [A2: nat,C: set_nat,B2: nat,D: set_nat] :
      ( ( member_nat @ A2 @ C )
     => ( ( member_nat @ B2 @ D )
       => ( member_nat @ ( plus_plus_nat @ A2 @ B2 ) @ ( plus_plus_set_nat @ C @ D ) ) ) ) ).

% set_plus_intro
thf(fact_673_set__plus__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 @ ( plus_p8323303612493835998omplex @ A2 @ B2 ) @ ( plus_p4229080058245121342omplex @ C @ D ) ) ) ) ).

% set_plus_intro
thf(fact_674_set__plus__intro,axiom,
    ! [A2: complex,C: set_complex,B2: complex,D: set_complex] :
      ( ( member_complex @ A2 @ C )
     => ( ( member_complex @ B2 @ D )
       => ( member_complex @ ( plus_plus_complex @ A2 @ B2 ) @ ( plus_p7052360327008956141omplex @ C @ D ) ) ) ) ).

% set_plus_intro
thf(fact_675_set__plus__intro,axiom,
    ! [A2: int,C: set_int,B2: int,D: set_int] :
      ( ( member_int @ A2 @ C )
     => ( ( member_int @ B2 @ D )
       => ( member_int @ ( plus_plus_int @ A2 @ B2 ) @ ( plus_plus_set_int @ C @ D ) ) ) ) ).

% set_plus_intro
thf(fact_676_Groups_Oadd__ac_I3_J,axiom,
    ! [B2: nat,A2: nat,C2: nat] :
      ( ( plus_plus_nat @ B2 @ ( plus_plus_nat @ A2 @ C2 ) )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B2 @ C2 ) ) ) ).

% Groups.add_ac(3)
thf(fact_677_Groups_Oadd__ac_I3_J,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( plus_plus_complex @ B2 @ ( plus_plus_complex @ A2 @ C2 ) )
      = ( plus_plus_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) ) ) ).

% Groups.add_ac(3)
thf(fact_678_Groups_Oadd__ac_I3_J,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( plus_plus_int @ B2 @ ( plus_plus_int @ A2 @ C2 ) )
      = ( plus_plus_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) ) ) ).

% Groups.add_ac(3)
thf(fact_679_Groups_Oadd__ac_I2_J,axiom,
    ( plus_plus_nat
    = ( ^ [A4: nat,B3: nat] : ( plus_plus_nat @ B3 @ A4 ) ) ) ).

% Groups.add_ac(2)
thf(fact_680_Groups_Oadd__ac_I2_J,axiom,
    ( plus_plus_complex
    = ( ^ [A4: complex,B3: complex] : ( plus_plus_complex @ B3 @ A4 ) ) ) ).

% Groups.add_ac(2)
thf(fact_681_Groups_Oadd__ac_I2_J,axiom,
    ( plus_plus_int
    = ( ^ [A4: int,B3: int] : ( plus_plus_int @ B3 @ A4 ) ) ) ).

% Groups.add_ac(2)
thf(fact_682_Groups_Oadd__ac_I1_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C2 )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B2 @ C2 ) ) ) ).

% Groups.add_ac(1)
thf(fact_683_Groups_Oadd__ac_I1_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( plus_plus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 )
      = ( plus_plus_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) ) ) ).

% Groups.add_ac(1)
thf(fact_684_Groups_Oadd__ac_I1_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 )
      = ( plus_plus_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) ) ) ).

% Groups.add_ac(1)
thf(fact_685_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A2 @ B2 ) @ C2 )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B2 @ C2 ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_686_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( plus_plus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 )
      = ( plus_plus_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_687_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 )
      = ( plus_plus_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_688_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I2: complex,J: complex,K: complex,L: complex] :
      ( ( ( ord_less_complex @ I2 @ J )
        & ( ord_less_complex @ K @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I2 @ K ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_689_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I2: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I2 @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_690_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I2: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I2 @ J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I2 @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_691_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I2: complex,J: complex,K: complex,L: complex] :
      ( ( ( I2 = J )
        & ( ord_less_complex @ K @ L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I2 @ K ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_692_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I2: nat,J: nat,K: nat,L: nat] :
      ( ( ( I2 = J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_693_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I2: int,J: int,K: int,L: int] :
      ( ( ( I2 = J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I2 @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_694_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I2: complex,J: complex,K: complex,L: complex] :
      ( ( ( ord_less_complex @ I2 @ J )
        & ( K = L ) )
     => ( ord_less_complex @ ( plus_plus_complex @ I2 @ K ) @ ( plus_plus_complex @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_695_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I2: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I2 @ J )
        & ( K = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I2 @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_696_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I2: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I2 @ J )
        & ( K = L ) )
     => ( ord_less_int @ ( plus_plus_int @ I2 @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_697_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I2: nat,J: nat,K: nat,L: nat] :
      ( ( ( I2 = J )
        & ( K = L ) )
     => ( ( plus_plus_nat @ I2 @ K )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_698_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I2: complex,J: complex,K: complex,L: complex] :
      ( ( ( I2 = J )
        & ( K = L ) )
     => ( ( plus_plus_complex @ I2 @ K )
        = ( plus_plus_complex @ J @ L ) ) ) ).

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

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

% group_cancel.add1
thf(fact_701_group__cancel_Oadd1,axiom,
    ! [A: complex,K: complex,A2: complex,B2: complex] :
      ( ( A
        = ( plus_plus_complex @ K @ A2 ) )
     => ( ( plus_plus_complex @ A @ B2 )
        = ( plus_plus_complex @ K @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

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

% group_cancel.add1
thf(fact_703_group__cancel_Oadd2,axiom,
    ! [B: nat,K: nat,B2: nat,A2: nat] :
      ( ( B
        = ( plus_plus_nat @ K @ B2 ) )
     => ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A2 @ B2 ) ) ) ) ).

% group_cancel.add2
thf(fact_704_group__cancel_Oadd2,axiom,
    ! [B: complex,K: complex,B2: complex,A2: complex] :
      ( ( B
        = ( plus_plus_complex @ K @ B2 ) )
     => ( ( plus_plus_complex @ A2 @ B )
        = ( plus_plus_complex @ K @ ( plus_plus_complex @ A2 @ B2 ) ) ) ) ).

% group_cancel.add2
thf(fact_705_group__cancel_Oadd2,axiom,
    ! [B: int,K: int,B2: int,A2: int] :
      ( ( B
        = ( plus_plus_int @ K @ B2 ) )
     => ( ( plus_plus_int @ A2 @ B )
        = ( plus_plus_int @ K @ ( plus_plus_int @ A2 @ B2 ) ) ) ) ).

% group_cancel.add2
thf(fact_706_add_Oleft__cancel,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = ( plus_plus_complex @ A2 @ C2 ) )
      = ( B2 = C2 ) ) ).

% add.left_cancel
thf(fact_707_add_Oleft__cancel,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = ( plus_plus_int @ A2 @ C2 ) )
      = ( B2 = C2 ) ) ).

% add.left_cancel
thf(fact_708_add_Oright__cancel,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ B2 @ A2 )
        = ( plus_plus_complex @ C2 @ A2 ) )
      = ( B2 = C2 ) ) ).

% add.right_cancel
thf(fact_709_add_Oright__cancel,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ( plus_plus_int @ B2 @ A2 )
        = ( plus_plus_int @ C2 @ A2 ) )
      = ( B2 = C2 ) ) ).

% add.right_cancel
thf(fact_710_add__left__cancel,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ A2 @ B2 )
        = ( plus_plus_nat @ A2 @ C2 ) )
      = ( B2 = C2 ) ) ).

% add_left_cancel
thf(fact_711_add__left__cancel,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = ( plus_plus_complex @ A2 @ C2 ) )
      = ( B2 = C2 ) ) ).

% add_left_cancel
thf(fact_712_add__left__cancel,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = ( plus_plus_int @ A2 @ C2 ) )
      = ( B2 = C2 ) ) ).

% add_left_cancel
thf(fact_713_add__left__imp__eq,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ A2 @ B2 )
        = ( plus_plus_nat @ A2 @ C2 ) )
     => ( B2 = C2 ) ) ).

% add_left_imp_eq
thf(fact_714_add__left__imp__eq,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = ( plus_plus_complex @ A2 @ C2 ) )
     => ( B2 = C2 ) ) ).

% add_left_imp_eq
thf(fact_715_add__left__imp__eq,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = ( plus_plus_int @ A2 @ C2 ) )
     => ( B2 = C2 ) ) ).

% add_left_imp_eq
thf(fact_716_add__right__cancel,axiom,
    ! [B2: nat,A2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B2 @ A2 )
        = ( plus_plus_nat @ C2 @ A2 ) )
      = ( B2 = C2 ) ) ).

% add_right_cancel
thf(fact_717_add__right__cancel,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ B2 @ A2 )
        = ( plus_plus_complex @ C2 @ A2 ) )
      = ( B2 = C2 ) ) ).

% add_right_cancel
thf(fact_718_add__right__cancel,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ( plus_plus_int @ B2 @ A2 )
        = ( plus_plus_int @ C2 @ A2 ) )
      = ( B2 = C2 ) ) ).

% add_right_cancel
thf(fact_719_add__right__imp__eq,axiom,
    ! [B2: nat,A2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B2 @ A2 )
        = ( plus_plus_nat @ C2 @ A2 ) )
     => ( B2 = C2 ) ) ).

% add_right_imp_eq
thf(fact_720_add__right__imp__eq,axiom,
    ! [B2: complex,A2: complex,C2: complex] :
      ( ( ( plus_plus_complex @ B2 @ A2 )
        = ( plus_plus_complex @ C2 @ A2 ) )
     => ( B2 = C2 ) ) ).

% add_right_imp_eq
thf(fact_721_add__right__imp__eq,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ( plus_plus_int @ B2 @ A2 )
        = ( plus_plus_int @ C2 @ A2 ) )
     => ( B2 = C2 ) ) ).

% add_right_imp_eq
thf(fact_722_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_723_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_724_add__strict__mono,axiom,
    ! [A2: int,B2: int,C2: int,D2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ( ord_less_int @ C2 @ D2 )
       => ( ord_less_int @ ( plus_plus_int @ A2 @ C2 ) @ ( plus_plus_int @ B2 @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_725_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_726_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_727_add__less__cancel__left,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C2 @ A2 ) @ ( plus_plus_int @ C2 @ B2 ) )
      = ( ord_less_int @ A2 @ B2 ) ) ).

% add_less_cancel_left
thf(fact_728_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_729_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_730_add__strict__left__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ord_less_int @ ( plus_plus_int @ C2 @ A2 ) @ ( plus_plus_int @ C2 @ B2 ) ) ) ).

% add_strict_left_mono
thf(fact_731_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_732_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_733_add__less__cancel__right,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A2 @ C2 ) @ ( plus_plus_int @ B2 @ C2 ) )
      = ( ord_less_int @ A2 @ B2 ) ) ).

% add_less_cancel_right
thf(fact_734_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_735_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_736_add__strict__right__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ord_less_int @ ( plus_plus_int @ A2 @ C2 ) @ ( plus_plus_int @ B2 @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_737_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_738_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_739_add__less__imp__less__left,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C2 @ A2 ) @ ( plus_plus_int @ C2 @ B2 ) )
     => ( ord_less_int @ A2 @ B2 ) ) ).

% add_less_imp_less_left
thf(fact_740_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_741_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_742_add__less__imp__less__right,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A2 @ C2 ) @ ( plus_plus_int @ B2 @ C2 ) )
     => ( ord_less_int @ A2 @ B2 ) ) ).

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

% group_cancel.rule0
thf(fact_744_group__cancel_Orule0,axiom,
    ! [A2: nat] :
      ( A2
      = ( plus_plus_nat @ A2 @ zero_zero_nat ) ) ).

% group_cancel.rule0
thf(fact_745_group__cancel_Orule0,axiom,
    ! [A2: int] :
      ( A2
      = ( plus_plus_int @ A2 @ zero_zero_int ) ) ).

% group_cancel.rule0
thf(fact_746_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_747_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_748_comm__monoid__add__class_Oadd__0,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ zero_zero_int @ A2 )
      = A2 ) ).

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

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

% add_0_left
thf(fact_751_add__0__left,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ zero_zero_int @ A2 )
      = A2 ) ).

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

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

% add_0_right
thf(fact_754_add__0__right,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ A2 @ zero_zero_int )
      = A2 ) ).

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

% add.group_left_neutral
thf(fact_756_add_Ogroup__left__neutral,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ zero_zero_int @ A2 )
      = A2 ) ).

% add.group_left_neutral
thf(fact_757_double__zero,axiom,
    ! [A2: int] :
      ( ( ( plus_plus_int @ A2 @ A2 )
        = zero_zero_int )
      = ( A2 = zero_zero_int ) ) ).

% double_zero
thf(fact_758_double__zero__sym,axiom,
    ! [A2: int] :
      ( ( zero_zero_int
        = ( plus_plus_int @ A2 @ A2 ) )
      = ( A2 = zero_zero_int ) ) ).

% double_zero_sym
thf(fact_759_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_760_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_761_add__cancel__left__left,axiom,
    ! [B2: int,A2: int] :
      ( ( ( plus_plus_int @ B2 @ A2 )
        = A2 )
      = ( B2 = zero_zero_int ) ) ).

% add_cancel_left_left
thf(fact_762_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_763_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_764_add__cancel__left__right,axiom,
    ! [A2: int,B2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = A2 )
      = ( B2 = zero_zero_int ) ) ).

% add_cancel_left_right
thf(fact_765_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_766_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_767_add__cancel__right__left,axiom,
    ! [A2: int,B2: int] :
      ( ( A2
        = ( plus_plus_int @ B2 @ A2 ) )
      = ( B2 = zero_zero_int ) ) ).

% add_cancel_right_left
thf(fact_768_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_769_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_770_add__cancel__right__right,axiom,
    ! [A2: int,B2: int] :
      ( ( A2
        = ( plus_plus_int @ A2 @ B2 ) )
      = ( B2 = zero_zero_int ) ) ).

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

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

% zero_eq_add_iff_both_eq_0
thf(fact_773_diff__strict__mono,axiom,
    ! [A2: int,B2: int,D2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ( ord_less_int @ D2 @ C2 )
       => ( ord_less_int @ ( minus_minus_int @ A2 @ C2 ) @ ( minus_minus_int @ B2 @ D2 ) ) ) ) ).

% diff_strict_mono
thf(fact_774_diff__eq__diff__less,axiom,
    ! [A2: int,B2: int,C2: int,D2: int] :
      ( ( ( minus_minus_int @ A2 @ B2 )
        = ( minus_minus_int @ C2 @ D2 ) )
     => ( ( ord_less_int @ A2 @ B2 )
        = ( ord_less_int @ C2 @ D2 ) ) ) ).

% diff_eq_diff_less
thf(fact_775_diff__strict__left__mono,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ord_less_int @ B2 @ A2 )
     => ( ord_less_int @ ( minus_minus_int @ C2 @ A2 ) @ ( minus_minus_int @ C2 @ B2 ) ) ) ).

% diff_strict_left_mono
thf(fact_776_diff__strict__right__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ord_less_int @ ( minus_minus_int @ A2 @ C2 ) @ ( minus_minus_int @ B2 @ C2 ) ) ) ).

% diff_strict_right_mono
thf(fact_777_mult__hom_Ohom__add,axiom,
    ! [C2: nat,X: nat,Y: nat] :
      ( ( times_times_nat @ C2 @ ( plus_plus_nat @ X @ Y ) )
      = ( plus_plus_nat @ ( times_times_nat @ C2 @ X ) @ ( times_times_nat @ C2 @ Y ) ) ) ).

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

% mult_hom.hom_add
thf(fact_779_mult__hom_Ohom__add,axiom,
    ! [C2: int,X: int,Y: int] :
      ( ( times_times_int @ C2 @ ( plus_plus_int @ X @ Y ) )
      = ( plus_plus_int @ ( times_times_int @ C2 @ X ) @ ( times_times_int @ C2 @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_780_cross3__simps_I23_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 ) ) ) ).

% cross3_simps(23)
thf(fact_781_cross3__simps_I23_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 ) ) ) ).

% cross3_simps(23)
thf(fact_782_cross3__simps_I23_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 )
      = ( plus_plus_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ).

% cross3_simps(23)
thf(fact_783_cross3__simps_I24_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 ) ) ) ).

% cross3_simps(24)
thf(fact_784_cross3__simps_I24_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 ) ) ) ).

% cross3_simps(24)
thf(fact_785_cross3__simps_I24_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) )
      = ( plus_plus_int @ ( times_times_int @ A2 @ B2 ) @ ( times_times_int @ A2 @ C2 ) ) ) ).

% cross3_simps(24)
thf(fact_786_cross3__simps_I48_J,axiom,
    ! [A2: complex,X: complex,Y: complex] :
      ( ( times_times_complex @ A2 @ ( plus_plus_complex @ X @ Y ) )
      = ( plus_plus_complex @ ( times_times_complex @ A2 @ X ) @ ( times_times_complex @ A2 @ Y ) ) ) ).

% cross3_simps(48)
thf(fact_787_cross3__simps_I49_J,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 ) ) ) ).

% cross3_simps(49)
thf(fact_788_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_789_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_790_combine__common__factor,axiom,
    ! [A2: int,E: int,B2: int,C2: int] :
      ( ( plus_plus_int @ ( times_times_int @ A2 @ E ) @ ( plus_plus_int @ ( times_times_int @ B2 @ E ) @ C2 ) )
      = ( plus_plus_int @ ( times_times_int @ ( plus_plus_int @ A2 @ B2 ) @ E ) @ C2 ) ) ).

% combine_common_factor
thf(fact_791_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_792_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_793_comm__semiring__class_Odistrib,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 )
      = ( plus_plus_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ).

% comm_semiring_class.distrib
thf(fact_794_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_795_ring__class_Oring__distribs_I1_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) )
      = ( plus_plus_int @ ( times_times_int @ A2 @ B2 ) @ ( times_times_int @ A2 @ C2 ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_796_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_797_ring__class_Oring__distribs_I2_J,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( times_times_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 )
      = ( plus_plus_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ).

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

% verit_negate_coefficient(2)
thf(fact_799_verit__negate__coefficient_I2_J,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ord_less_int @ ( uminus_uminus_int @ B2 ) @ ( uminus_uminus_int @ A2 ) ) ) ).

% verit_negate_coefficient(2)
thf(fact_800_less__minus__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ord_less_complex @ A2 @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( ord_less_complex @ B2 @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% less_minus_iff
thf(fact_801_less__minus__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ ( uminus_uminus_int @ B2 ) )
      = ( ord_less_int @ B2 @ ( uminus_uminus_int @ A2 ) ) ) ).

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

% minus_less_iff
thf(fact_803_minus__less__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A2 ) @ B2 )
      = ( ord_less_int @ ( uminus_uminus_int @ B2 ) @ A2 ) ) ).

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

% neg_less_iff_less
thf(fact_805_neg__less__iff__less,axiom,
    ! [B2: int,A2: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ B2 ) @ ( uminus_uminus_int @ A2 ) )
      = ( ord_less_int @ A2 @ B2 ) ) ).

% neg_less_iff_less
thf(fact_806_group__cancel_Osub1,axiom,
    ! [A: complex,K: complex,A2: complex,B2: complex] :
      ( ( A
        = ( plus_plus_complex @ K @ A2 ) )
     => ( ( minus_minus_complex @ A @ B2 )
        = ( plus_plus_complex @ K @ ( minus_minus_complex @ A2 @ B2 ) ) ) ) ).

% group_cancel.sub1
thf(fact_807_group__cancel_Osub1,axiom,
    ! [A: int,K: int,A2: int,B2: int] :
      ( ( A
        = ( plus_plus_int @ K @ A2 ) )
     => ( ( minus_minus_int @ A @ B2 )
        = ( plus_plus_int @ K @ ( minus_minus_int @ A2 @ B2 ) ) ) ) ).

% group_cancel.sub1
thf(fact_808_diff__eq__eq,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( ( minus_minus_complex @ A2 @ B2 )
        = C2 )
      = ( A2
        = ( plus_plus_complex @ C2 @ B2 ) ) ) ).

% diff_eq_eq
thf(fact_809_diff__eq__eq,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ( minus_minus_int @ A2 @ B2 )
        = C2 )
      = ( A2
        = ( plus_plus_int @ C2 @ B2 ) ) ) ).

% diff_eq_eq
thf(fact_810_eq__diff__eq,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( A2
        = ( minus_minus_complex @ C2 @ B2 ) )
      = ( ( plus_plus_complex @ A2 @ B2 )
        = C2 ) ) ).

% eq_diff_eq
thf(fact_811_eq__diff__eq,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( A2
        = ( minus_minus_int @ C2 @ B2 ) )
      = ( ( plus_plus_int @ A2 @ B2 )
        = C2 ) ) ).

% eq_diff_eq
thf(fact_812_add__diff__eq,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( plus_plus_complex @ A2 @ ( minus_minus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ C2 ) ) ).

% add_diff_eq
thf(fact_813_add__diff__eq,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( plus_plus_int @ A2 @ ( minus_minus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ ( plus_plus_int @ A2 @ B2 ) @ C2 ) ) ).

% add_diff_eq
thf(fact_814_diff__diff__eq2,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( minus_minus_complex @ A2 @ ( minus_minus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ ( plus_plus_complex @ A2 @ C2 ) @ B2 ) ) ).

% diff_diff_eq2
thf(fact_815_diff__diff__eq2,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( minus_minus_int @ A2 @ ( minus_minus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ ( plus_plus_int @ A2 @ C2 ) @ B2 ) ) ).

% diff_diff_eq2
thf(fact_816_diff__add__eq,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( plus_plus_complex @ ( minus_minus_complex @ A2 @ B2 ) @ C2 )
      = ( minus_minus_complex @ ( plus_plus_complex @ A2 @ C2 ) @ B2 ) ) ).

% diff_add_eq
thf(fact_817_diff__add__eq,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A2 @ B2 ) @ C2 )
      = ( minus_minus_int @ ( plus_plus_int @ A2 @ C2 ) @ B2 ) ) ).

% diff_add_eq
thf(fact_818_add__diff__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% add_diff_cancel
thf(fact_819_add__diff__cancel,axiom,
    ! [A2: int,B2: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% add_diff_cancel
thf(fact_820_diff__add__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ ( minus_minus_complex @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% diff_add_cancel
thf(fact_821_diff__add__cancel,axiom,
    ! [A2: int,B2: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% diff_add_cancel
thf(fact_822_diff__add__eq__diff__diff__swap,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( minus_minus_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ ( minus_minus_complex @ A2 @ C2 ) @ B2 ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_823_diff__add__eq__diff__diff__swap,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( minus_minus_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ ( minus_minus_int @ A2 @ C2 ) @ B2 ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_824_diff__diff__add,axiom,
    ! [A2: complex,B2: complex,C2: complex] :
      ( ( minus_minus_complex @ ( minus_minus_complex @ A2 @ B2 ) @ C2 )
      = ( minus_minus_complex @ A2 @ ( plus_plus_complex @ B2 @ C2 ) ) ) ).

% diff_diff_add
thf(fact_825_diff__diff__add,axiom,
    ! [A2: nat,B2: nat,C2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A2 @ B2 ) @ C2 )
      = ( minus_minus_nat @ A2 @ ( plus_plus_nat @ B2 @ C2 ) ) ) ).

% diff_diff_add
thf(fact_826_diff__diff__add,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A2 @ B2 ) @ C2 )
      = ( minus_minus_int @ A2 @ ( plus_plus_int @ B2 @ C2 ) ) ) ).

% diff_diff_add
thf(fact_827_add__implies__diff,axiom,
    ! [C2: complex,B2: complex,A2: complex] :
      ( ( ( plus_plus_complex @ C2 @ B2 )
        = A2 )
     => ( C2
        = ( minus_minus_complex @ A2 @ B2 ) ) ) ).

% add_implies_diff
thf(fact_828_add__implies__diff,axiom,
    ! [C2: nat,B2: nat,A2: nat] :
      ( ( ( plus_plus_nat @ C2 @ B2 )
        = A2 )
     => ( C2
        = ( minus_minus_nat @ A2 @ B2 ) ) ) ).

% add_implies_diff
thf(fact_829_add__implies__diff,axiom,
    ! [C2: int,B2: int,A2: int] :
      ( ( ( plus_plus_int @ C2 @ B2 )
        = A2 )
     => ( C2
        = ( minus_minus_int @ A2 @ B2 ) ) ) ).

% add_implies_diff
thf(fact_830_add__diff__cancel__left,axiom,
    ! [C2: complex,A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( plus_plus_complex @ C2 @ A2 ) @ ( plus_plus_complex @ C2 @ B2 ) )
      = ( minus_minus_complex @ A2 @ B2 ) ) ).

% add_diff_cancel_left
thf(fact_831_add__diff__cancel__left,axiom,
    ! [C2: nat,A2: nat,B2: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B2 ) )
      = ( minus_minus_nat @ A2 @ B2 ) ) ).

% add_diff_cancel_left
thf(fact_832_add__diff__cancel__left,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ C2 @ A2 ) @ ( plus_plus_int @ C2 @ B2 ) )
      = ( minus_minus_int @ A2 @ B2 ) ) ).

% add_diff_cancel_left
thf(fact_833_add__diff__cancel__left_H,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ A2 )
      = B2 ) ).

% add_diff_cancel_left'
thf(fact_834_add__diff__cancel__left_H,axiom,
    ! [A2: nat,B2: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A2 @ B2 ) @ A2 )
      = B2 ) ).

% add_diff_cancel_left'
thf(fact_835_add__diff__cancel__left_H,axiom,
    ! [A2: int,B2: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A2 @ B2 ) @ A2 )
      = B2 ) ).

% add_diff_cancel_left'
thf(fact_836_add__diff__cancel__right,axiom,
    ! [A2: complex,C2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( plus_plus_complex @ A2 @ C2 ) @ ( plus_plus_complex @ B2 @ C2 ) )
      = ( minus_minus_complex @ A2 @ B2 ) ) ).

% add_diff_cancel_right
thf(fact_837_add__diff__cancel__right,axiom,
    ! [A2: nat,C2: nat,B2: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B2 @ C2 ) )
      = ( minus_minus_nat @ A2 @ B2 ) ) ).

% add_diff_cancel_right
thf(fact_838_add__diff__cancel__right,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A2 @ C2 ) @ ( plus_plus_int @ B2 @ C2 ) )
      = ( minus_minus_int @ A2 @ B2 ) ) ).

% add_diff_cancel_right
thf(fact_839_add__diff__cancel__right_H,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( plus_plus_complex @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% add_diff_cancel_right'
thf(fact_840_add__diff__cancel__right_H,axiom,
    ! [A2: nat,B2: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% add_diff_cancel_right'
thf(fact_841_add__diff__cancel__right_H,axiom,
    ! [A2: int,B2: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A2 @ B2 ) @ B2 )
      = A2 ) ).

% add_diff_cancel_right'
thf(fact_842_more__arith__simps_I9_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( uminus1482373934393186551omplex @ B2 ) ) ) ).

% more_arith_simps(9)
thf(fact_843_more__arith__simps_I9_J,axiom,
    ! [A2: int,B2: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A2 @ B2 ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ ( uminus_uminus_int @ B2 ) ) ) ).

% more_arith_simps(9)
thf(fact_844_is__num__normalize_I8_J,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% is_num_normalize(8)
thf(fact_845_is__num__normalize_I8_J,axiom,
    ! [A2: int,B2: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A2 @ B2 ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B2 ) @ ( uminus_uminus_int @ A2 ) ) ) ).

% is_num_normalize(8)
thf(fact_846_group__cancel_Oneg1,axiom,
    ! [A: complex,K: complex,A2: complex] :
      ( ( A
        = ( plus_plus_complex @ K @ A2 ) )
     => ( ( uminus1482373934393186551omplex @ A )
        = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ K ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ) ).

% group_cancel.neg1
thf(fact_847_group__cancel_Oneg1,axiom,
    ! [A: int,K: int,A2: int] :
      ( ( A
        = ( plus_plus_int @ K @ A2 ) )
     => ( ( uminus_uminus_int @ A )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( uminus_uminus_int @ A2 ) ) ) ) ).

% group_cancel.neg1
thf(fact_848_minus__add,axiom,
    ! [A2: complex,B2: complex] :
      ( ( uminus1482373934393186551omplex @ ( plus_plus_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% minus_add
thf(fact_849_minus__add,axiom,
    ! [A2: int,B2: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A2 @ B2 ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B2 ) @ ( uminus_uminus_int @ A2 ) ) ) ).

% minus_add
thf(fact_850_add__minus__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ A2 @ ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 ) )
      = B2 ) ).

% add_minus_cancel
thf(fact_851_add__minus__cancel,axiom,
    ! [A2: int,B2: int] :
      ( ( plus_plus_int @ A2 @ ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ B2 ) )
      = B2 ) ).

% add_minus_cancel
thf(fact_852_minus__add__cancel,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ ( plus_plus_complex @ A2 @ B2 ) )
      = B2 ) ).

% minus_add_cancel
thf(fact_853_minus__add__cancel,axiom,
    ! [A2: int,B2: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ ( plus_plus_int @ A2 @ B2 ) )
      = B2 ) ).

% minus_add_cancel
thf(fact_854_left__add__mult__distrib,axiom,
    ! [I2: nat,U3: nat,J: nat,K: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ I2 @ U3 ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U3 ) @ K ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ I2 @ J ) @ U3 ) @ K ) ) ).

% left_add_mult_distrib
thf(fact_855_add__mult__distrib2,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K @ ( plus_plus_nat @ M @ N ) )
      = ( plus_plus_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) ) ) ).

% add_mult_distrib2
thf(fact_856_add__mult__distrib,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ M @ N ) @ K )
      = ( plus_plus_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) ) ) ).

% add_mult_distrib
thf(fact_857_moebius__inverse,axiom,
    ! [A2: complex,D2: complex,B2: complex,C2: complex,Z: complex] :
      ( ( ( times_times_complex @ A2 @ D2 )
       != ( times_times_complex @ B2 @ C2 ) )
     => ( ( ( plus_plus_complex @ ( times_times_complex @ C2 @ Z ) @ D2 )
         != zero_zero_complex )
       => ( ( comple6957087336724718077omplex @ D2 @ ( uminus1482373934393186551omplex @ B2 ) @ ( uminus1482373934393186551omplex @ C2 ) @ A2 @ ( comple6957087336724718077omplex @ A2 @ B2 @ C2 @ D2 @ Z ) )
          = Z ) ) ) ).

% moebius_inverse
thf(fact_858_Linear__Algebra__Complements_Otrace__add,axiom,
    ! [A: mat_int,B: mat_int] :
      ( ( square_mat_int @ A )
     => ( ( square_mat_int @ B )
       => ( ( ( dim_row_int @ A )
            = ( dim_row_int @ B ) )
         => ( ( complex_trace_int @ ( plus_plus_mat_int @ A @ B ) )
            = ( plus_plus_int @ ( complex_trace_int @ A ) @ ( complex_trace_int @ B ) ) ) ) ) ) ).

% Linear_Algebra_Complements.trace_add
thf(fact_859_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_860_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_861_linordered__comm__semiring__strict__class_Ocomm__mult__strict__left__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ( ord_less_int @ zero_zero_int @ C2 )
       => ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) ) ) ) ).

% linordered_comm_semiring_strict_class.comm_mult_strict_left_mono
thf(fact_862_mult__less__cancel__right__disj,axiom,
    ! [A2: int,C2: int,B2: int] :
      ( ( ord_less_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) )
      = ( ( ( ord_less_int @ zero_zero_int @ C2 )
          & ( ord_less_int @ A2 @ B2 ) )
        | ( ( ord_less_int @ C2 @ zero_zero_int )
          & ( ord_less_int @ B2 @ A2 ) ) ) ) ).

% mult_less_cancel_right_disj
thf(fact_863_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_864_linordered__semiring__strict__class_Omult__strict__right__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ( ord_less_int @ zero_zero_int @ C2 )
       => ( ord_less_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_right_mono
thf(fact_865_mult__strict__right__mono__neg,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ord_less_int @ B2 @ A2 )
     => ( ( ord_less_int @ C2 @ zero_zero_int )
       => ( ord_less_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ) ).

% mult_strict_right_mono_neg
thf(fact_866_mult__less__cancel__left__disj,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) )
      = ( ( ( ord_less_int @ zero_zero_int @ C2 )
          & ( ord_less_int @ A2 @ B2 ) )
        | ( ( ord_less_int @ C2 @ zero_zero_int )
          & ( ord_less_int @ B2 @ A2 ) ) ) ) ).

% mult_less_cancel_left_disj
thf(fact_867_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_868_linordered__semiring__strict__class_Omult__strict__left__mono,axiom,
    ! [A2: int,B2: int,C2: int] :
      ( ( ord_less_int @ A2 @ B2 )
     => ( ( ord_less_int @ zero_zero_int @ C2 )
       => ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_left_mono
thf(fact_869_mult__strict__left__mono__neg,axiom,
    ! [B2: int,A2: int,C2: int] :
      ( ( ord_less_int @ B2 @ A2 )
     => ( ( ord_less_int @ C2 @ zero_zero_int )
       => ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) ) ) ) ).

% mult_strict_left_mono_neg
thf(fact_870_mult__less__cancel__left__pos,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ C2 )
     => ( ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) )
        = ( ord_less_int @ A2 @ B2 ) ) ) ).

% mult_less_cancel_left_pos
thf(fact_871_mult__less__cancel__left__neg,axiom,
    ! [C2: int,A2: int,B2: int] :
      ( ( ord_less_int @ C2 @ zero_zero_int )
     => ( ( ord_less_int @ ( times_times_int @ C2 @ A2 ) @ ( times_times_int @ C2 @ B2 ) )
        = ( ord_less_int @ B2 @ A2 ) ) ) ).

% mult_less_cancel_left_neg
thf(fact_872_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_873_zero__less__mult__pos2,axiom,
    ! [B2: int,A2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( times_times_int @ B2 @ A2 ) )
     => ( ( ord_less_int @ zero_zero_int @ A2 )
       => ( ord_less_int @ zero_zero_int @ B2 ) ) ) ).

% zero_less_mult_pos2
thf(fact_874_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_875_zero__less__mult__pos,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( times_times_int @ A2 @ B2 ) )
     => ( ( ord_less_int @ zero_zero_int @ A2 )
       => ( ord_less_int @ zero_zero_int @ B2 ) ) ) ).

% zero_less_mult_pos
thf(fact_876_zero__less__mult__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( times_times_int @ A2 @ B2 ) )
      = ( ( ( ord_less_int @ zero_zero_int @ A2 )
          & ( ord_less_int @ zero_zero_int @ B2 ) )
        | ( ( ord_less_int @ A2 @ zero_zero_int )
          & ( ord_less_int @ B2 @ zero_zero_int ) ) ) ) ).

% zero_less_mult_iff
thf(fact_877_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_878_linordered__semiring__strict__class_Omult__pos__neg2,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ B2 @ zero_zero_int )
       => ( ord_less_int @ ( times_times_int @ B2 @ A2 ) @ zero_zero_int ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg2
thf(fact_879_linordered__semiring__strict__class_Omult__pos__pos,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 ) ) ) ) ).

% linordered_semiring_strict_class.mult_pos_pos
thf(fact_880_linordered__semiring__strict__class_Omult__pos__pos,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ zero_zero_int @ B2 )
       => ( ord_less_int @ zero_zero_int @ ( times_times_int @ A2 @ B2 ) ) ) ) ).

% linordered_semiring_strict_class.mult_pos_pos
thf(fact_881_linordered__semiring__strict__class_Omult__pos__neg,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 ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg
thf(fact_882_linordered__semiring__strict__class_Omult__pos__neg,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ B2 @ zero_zero_int )
       => ( ord_less_int @ ( times_times_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg
thf(fact_883_linordered__semiring__strict__class_Omult__neg__pos,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 ) ) ) ).

% linordered_semiring_strict_class.mult_neg_pos
thf(fact_884_linordered__semiring__strict__class_Omult__neg__pos,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ zero_zero_int )
     => ( ( ord_less_int @ zero_zero_int @ B2 )
       => ( ord_less_int @ ( times_times_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% linordered_semiring_strict_class.mult_neg_pos
thf(fact_885_mult__less__0__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ ( times_times_int @ A2 @ B2 ) @ zero_zero_int )
      = ( ( ( ord_less_int @ zero_zero_int @ A2 )
          & ( ord_less_int @ B2 @ zero_zero_int ) )
        | ( ( ord_less_int @ A2 @ zero_zero_int )
          & ( ord_less_int @ zero_zero_int @ B2 ) ) ) ) ).

% mult_less_0_iff
thf(fact_886_not__square__less__zero,axiom,
    ! [A2: int] :
      ~ ( ord_less_int @ ( times_times_int @ A2 @ A2 ) @ zero_zero_int ) ).

% not_square_less_zero
thf(fact_887_mult__neg__neg,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ A2 @ zero_zero_int )
     => ( ( ord_less_int @ B2 @ zero_zero_int )
       => ( ord_less_int @ zero_zero_int @ ( times_times_int @ A2 @ B2 ) ) ) ) ).

% mult_neg_neg
thf(fact_888_diff__gt__0__iff__gt,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( minus_minus_int @ A2 @ B2 ) )
      = ( ord_less_int @ B2 @ A2 ) ) ).

% diff_gt_0_iff_gt
thf(fact_889_diff__less__0__iff__less,axiom,
    ! [A2: int,B2: int] :
      ( ( ord_less_int @ ( minus_minus_int @ A2 @ B2 ) @ zero_zero_int )
      = ( ord_less_int @ A2 @ B2 ) ) ).

% diff_less_0_iff_less
thf(fact_890_less__1__mult,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ M )
     => ( ( ord_less_nat @ one_one_nat @ N )
       => ( ord_less_nat @ one_one_nat @ ( times_times_nat @ M @ N ) ) ) ) ).

% less_1_mult
thf(fact_891_less__1__mult,axiom,
    ! [M: int,N: int] :
      ( ( ord_less_int @ one_one_int @ M )
     => ( ( ord_less_int @ one_one_int @ N )
       => ( ord_less_int @ one_one_int @ ( times_times_int @ M @ N ) ) ) ) ).

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

% neg_less_0_iff_less
thf(fact_893_neg__less__0__iff__less,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A2 ) @ zero_zero_int )
      = ( ord_less_int @ zero_zero_int @ A2 ) ) ).

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

% neg_0_less_iff_less
thf(fact_895_neg__0__less__iff__less,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ A2 ) )
      = ( ord_less_int @ A2 @ zero_zero_int ) ) ).

% neg_0_less_iff_less
thf(fact_896_neg__less__pos,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A2 ) @ A2 )
      = ( ord_less_int @ zero_zero_int @ A2 ) ) ).

% neg_less_pos
thf(fact_897_less__neg__neg,axiom,
    ! [A2: int] :
      ( ( ord_less_int @ A2 @ ( uminus_uminus_int @ A2 ) )
      = ( ord_less_int @ A2 @ zero_zero_int ) ) ).

% less_neg_neg
thf(fact_898_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: nat,Y: nat,C2: nat] :
      ( ( ( plus_plus_nat @ X @ Y )
        = zero_zero_nat )
     => ( ( plus_plus_nat @ ( times_times_nat @ C2 @ X ) @ ( times_times_nat @ C2 @ Y ) )
        = zero_zero_nat ) ) ).

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

% mult_hom.hom_add_eq_zero
thf(fact_900_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: int,Y: int,C2: int] :
      ( ( ( plus_plus_int @ X @ Y )
        = zero_zero_int )
     => ( ( plus_plus_int @ ( times_times_int @ C2 @ X ) @ ( times_times_int @ C2 @ Y ) )
        = zero_zero_int ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_901_sum__squares__eq__zero__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ( plus_plus_int @ ( times_times_int @ X @ X ) @ ( times_times_int @ Y @ Y ) )
        = zero_zero_int )
      = ( ( X = zero_zero_int )
        & ( Y = zero_zero_int ) ) ) ).

% sum_squares_eq_zero_iff
thf(fact_902_semiring__norm_I132_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% semiring_norm(132)
thf(fact_903_semiring__norm_I134_J,axiom,
    ~ ( ord_less_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% semiring_norm(134)
thf(fact_904_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_905_ab__left__minus,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ A2 )
      = zero_zero_complex ) ).

% ab_left_minus
thf(fact_906_ab__left__minus,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ A2 )
      = zero_zero_int ) ).

% ab_left_minus
thf(fact_907_neg__eq__iff__add__eq__0,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( uminus1482373934393186551omplex @ A2 )
        = B2 )
      = ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex ) ) ).

% neg_eq_iff_add_eq_0
thf(fact_908_neg__eq__iff__add__eq__0,axiom,
    ! [A2: int,B2: int] :
      ( ( ( uminus_uminus_int @ A2 )
        = B2 )
      = ( ( plus_plus_int @ A2 @ B2 )
        = zero_zero_int ) ) ).

% neg_eq_iff_add_eq_0
thf(fact_909_eq__neg__iff__add__eq__0,axiom,
    ! [A2: complex,B2: complex] :
      ( ( A2
        = ( uminus1482373934393186551omplex @ B2 ) )
      = ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex ) ) ).

% eq_neg_iff_add_eq_0
thf(fact_910_eq__neg__iff__add__eq__0,axiom,
    ! [A2: int,B2: int] :
      ( ( A2
        = ( uminus_uminus_int @ B2 ) )
      = ( ( plus_plus_int @ A2 @ B2 )
        = zero_zero_int ) ) ).

% eq_neg_iff_add_eq_0
thf(fact_911_add_Oinverse__unique,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex )
     => ( ( uminus1482373934393186551omplex @ A2 )
        = B2 ) ) ).

% add.inverse_unique
thf(fact_912_add_Oinverse__unique,axiom,
    ! [A2: int,B2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = zero_zero_int )
     => ( ( uminus_uminus_int @ A2 )
        = B2 ) ) ).

% add.inverse_unique
thf(fact_913_add_Oright__inverse,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ A2 @ ( uminus1482373934393186551omplex @ A2 ) )
      = zero_zero_complex ) ).

% add.right_inverse
thf(fact_914_add_Oright__inverse,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ A2 @ ( uminus_uminus_int @ A2 ) )
      = zero_zero_int ) ).

% add.right_inverse
thf(fact_915_ab__group__add__class_Oab__left__minus,axiom,
    ! [A2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ A2 )
      = zero_zero_complex ) ).

% ab_group_add_class.ab_left_minus
thf(fact_916_ab__group__add__class_Oab__left__minus,axiom,
    ! [A2: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ A2 )
      = zero_zero_int ) ).

% ab_group_add_class.ab_left_minus
thf(fact_917_add__eq__0__iff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( ( plus_plus_complex @ A2 @ B2 )
        = zero_zero_complex )
      = ( B2
        = ( uminus1482373934393186551omplex @ A2 ) ) ) ).

% add_eq_0_iff
thf(fact_918_add__eq__0__iff,axiom,
    ! [A2: int,B2: int] :
      ( ( ( plus_plus_int @ A2 @ B2 )
        = zero_zero_int )
      = ( B2
        = ( uminus_uminus_int @ A2 ) ) ) ).

% add_eq_0_iff
thf(fact_919_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_920_eq__add__iff1,axiom,
    ! [A2: int,E: int,C2: int,B2: int,D2: int] :
      ( ( ( plus_plus_int @ ( times_times_int @ A2 @ E ) @ C2 )
        = ( plus_plus_int @ ( times_times_int @ B2 @ E ) @ D2 ) )
      = ( ( plus_plus_int @ ( times_times_int @ ( minus_minus_int @ A2 @ B2 ) @ E ) @ C2 )
        = D2 ) ) ).

% eq_add_iff1
thf(fact_921_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_922_eq__add__iff2,axiom,
    ! [A2: int,E: int,C2: int,B2: int,D2: int] :
      ( ( ( plus_plus_int @ ( times_times_int @ A2 @ E ) @ C2 )
        = ( plus_plus_int @ ( times_times_int @ B2 @ E ) @ D2 ) )
      = ( C2
        = ( plus_plus_int @ ( times_times_int @ ( minus_minus_int @ B2 @ A2 ) @ E ) @ D2 ) ) ) ).

% eq_add_iff2
thf(fact_923_square__diff__square__factored,axiom,
    ! [X: complex,Y: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X @ X ) @ ( times_times_complex @ Y @ Y ) )
      = ( times_times_complex @ ( plus_plus_complex @ X @ Y ) @ ( minus_minus_complex @ X @ Y ) ) ) ).

% square_diff_square_factored
thf(fact_924_square__diff__square__factored,axiom,
    ! [X: int,Y: int] :
      ( ( minus_minus_int @ ( times_times_int @ X @ X ) @ ( times_times_int @ Y @ Y ) )
      = ( times_times_int @ ( plus_plus_int @ X @ Y ) @ ( minus_minus_int @ X @ Y ) ) ) ).

% square_diff_square_factored
thf(fact_925_mult__diff__mult,axiom,
    ! [X: complex,Y: complex,A2: complex,B2: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X @ Y ) @ ( times_times_complex @ A2 @ B2 ) )
      = ( plus_plus_complex @ ( times_times_complex @ X @ ( minus_minus_complex @ Y @ B2 ) ) @ ( times_times_complex @ ( minus_minus_complex @ X @ A2 ) @ B2 ) ) ) ).

% mult_diff_mult
thf(fact_926_mult__diff__mult,axiom,
    ! [X: int,Y: int,A2: int,B2: int] :
      ( ( minus_minus_int @ ( times_times_int @ X @ Y ) @ ( times_times_int @ A2 @ B2 ) )
      = ( plus_plus_int @ ( times_times_int @ X @ ( minus_minus_int @ Y @ B2 ) ) @ ( times_times_int @ ( minus_minus_int @ X @ A2 ) @ B2 ) ) ) ).

% mult_diff_mult
thf(fact_927_pth__2,axiom,
    ( minus_minus_complex
    = ( ^ [X2: complex,Y2: complex] : ( plus_plus_complex @ X2 @ ( uminus1482373934393186551omplex @ Y2 ) ) ) ) ).

% pth_2
thf(fact_928_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ( minus_minus_complex
    = ( ^ [A4: complex,B3: complex] : ( plus_plus_complex @ A4 @ ( uminus1482373934393186551omplex @ B3 ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_929_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A4: int,B3: int] : ( plus_plus_int @ A4 @ ( uminus_uminus_int @ B3 ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_930_uminus__add__conv__diff,axiom,
    ! [A2: complex,B2: complex] :
      ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ A2 ) @ B2 )
      = ( minus_minus_complex @ B2 @ A2 ) ) ).

% uminus_add_conv_diff
thf(fact_931_uminus__add__conv__diff,axiom,
    ! [A2: int,B2: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A2 ) @ B2 )
      = ( minus_minus_int @ B2 @ A2 ) ) ).

% uminus_add_conv_diff
thf(fact_932_diff__conv__add__uminus,axiom,
    ( minus_minus_complex
    = ( ^ [A4: complex,B3: complex] : ( plus_plus_complex @ A4 @ ( uminus1482373934393186551omplex @ B3 ) ) ) ) ).

% diff_conv_add_uminus
thf(fact_933_diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A4: int,B3: int] : ( plus_plus_int @ A4 @ ( uminus_uminus_int @ B3 ) ) ) ) ).

% diff_conv_add_uminus
thf(fact_934_diff__minus__eq__add,axiom,
    ! [A2: complex,B2: complex] :
      ( ( minus_minus_complex @ A2 @ ( uminus1482373934393186551omplex @ B2 ) )
      = ( plus_plus_complex @ A2 @ B2 ) ) ).

% diff_minus_eq_add
thf(fact_935_diff__minus__eq__add,axiom,
    ! [A2: int,B2: int] :
      ( ( minus_minus_int @ A2 @ ( uminus_uminus_int @ B2 ) )
      = ( plus_plus_int @ A2 @ B2 ) ) ).

% diff_minus_eq_add
thf(fact_936_group__cancel_Osub2,axiom,
    ! [B: complex,K: complex,B2: complex,A2: complex] :
      ( ( B
        = ( plus_plus_complex @ K @ B2 ) )
     => ( ( minus_minus_complex @ A2 @ B )
        = ( plus_plus_complex @ ( uminus1482373934393186551omplex @ K ) @ ( minus_minus_complex @ A2 @ B2 ) ) ) ) ).

% group_cancel.sub2
thf(fact_937_group__cancel_Osub2,axiom,
    ! [B: int,K: int,B2: int,A2: int] :
      ( ( B
        = ( plus_plus_int @ K @ B2 ) )
     => ( ( minus_minus_int @ A2 @ B )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( minus_minus_int @ A2 @ B2 ) ) ) ) ).

% group_cancel.sub2
thf(fact_938_class__ring_Oring__simprules_I14_J,axiom,
    ( minus_minus_complex
    = ( ^ [X2: complex,Y2: complex] : ( plus_plus_complex @ X2 @ ( uminus1482373934393186551omplex @ Y2 ) ) ) ) ).

% class_ring.ring_simprules(14)
thf(fact_939_class__ring_Oring__simprules_I14_J,axiom,
    ( minus_minus_int
    = ( ^ [X2: int,Y2: int] : ( plus_plus_int @ X2 @ ( uminus_uminus_int @ Y2 ) ) ) ) ).

% class_ring.ring_simprules(14)
thf(fact_940_power__add,axiom,
    ! [A2: nat,M: nat,N: nat] :
      ( ( power_power_nat @ A2 @ ( plus_plus_nat @ M @ N ) )
      = ( times_times_nat @ ( power_power_nat @ A2 @ M ) @ ( power_power_nat @ A2 @ N ) ) ) ).

% power_add
thf(fact_941_power__add,axiom,
    ! [A2: complex,M: nat,N: nat] :
      ( ( power_power_complex @ A2 @ ( plus_plus_nat @ M @ N ) )
      = ( times_times_complex @ ( power_power_complex @ A2 @ M ) @ ( power_power_complex @ A2 @ N ) ) ) ).

% power_add
thf(fact_942_power__add,axiom,
    ! [A2: int,M: nat,N: nat] :
      ( ( power_power_int @ A2 @ ( plus_plus_nat @ M @ N ) )
      = ( times_times_int @ ( power_power_int @ A2 @ M ) @ ( power_power_int @ A2 @ N ) ) ) ).

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

% nat_mult_less_cancel_disj
thf(fact_944_nat__mult__less__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ord_less_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
        = ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel1
thf(fact_945_nat__mult__eq__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( ( times_times_nat @ K @ M )
          = ( times_times_nat @ K @ N ) )
        = ( M = N ) ) ) ).

% nat_mult_eq_cancel1
thf(fact_946_mult__less__mono1,axiom,
    ! [I2: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I2 @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_nat @ ( times_times_nat @ I2 @ K ) @ ( times_times_nat @ J @ K ) ) ) ) ).

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

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

% mult_less_cancel2
thf(fact_949_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_950_times__nat_Osimps_I2_J,axiom,
    ! [M: nat,N: nat] :
      ( ( times_times_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ N @ ( times_times_nat @ M @ N ) ) ) ).

% times_nat.simps(2)
thf(fact_951_mult__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( times_times_nat @ M @ ( suc @ N ) )
      = ( plus_plus_nat @ M @ ( times_times_nat @ M @ N ) ) ) ).

% mult_Suc_right
thf(fact_952_Suc__mult__less__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ ( suc @ K ) @ M ) @ ( times_times_nat @ ( suc @ K ) @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_mult_less_cancel1
thf(fact_953_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_954_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_955_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_956_index__mat__four__block_I3_J,axiom,
    ! [A: mat_a,B: mat_a,C: mat_a,D: mat_a] :
      ( ( dim_col_a @ ( four_block_mat_a @ A @ B @ C @ D ) )
      = ( plus_plus_nat @ ( dim_col_a @ A ) @ ( dim_col_a @ D ) ) ) ).

% index_mat_four_block(3)
thf(fact_957_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_958_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_959_rel__simps_I66_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% rel_simps(66)
thf(fact_960_rel__simps_I64_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% rel_simps(64)
thf(fact_961_power__less__power__Suc,axiom,
    ! [A2: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A2 )
     => ( ord_less_nat @ ( power_power_nat @ A2 @ N ) @ ( times_times_nat @ A2 @ ( power_power_nat @ A2 @ N ) ) ) ) ).

% power_less_power_Suc
thf(fact_962_power__less__power__Suc,axiom,
    ! [A2: int,N: nat] :
      ( ( ord_less_int @ one_one_int @ A2 )
     => ( ord_less_int @ ( power_power_int @ A2 @ N ) @ ( times_times_int @ A2 @ ( power_power_int @ A2 @ N ) ) ) ) ).

% power_less_power_Suc
thf(fact_963_power__gt1__lemma,axiom,
    ! [A2: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A2 )
     => ( ord_less_nat @ one_one_nat @ ( times_times_nat @ A2 @ ( power_power_nat @ A2 @ N ) ) ) ) ).

% power_gt1_lemma
thf(fact_964_power__gt1__lemma,axiom,
    ! [A2: int,N: nat] :
      ( ( ord_less_int @ one_one_int @ A2 )
     => ( ord_less_int @ one_one_int @ ( times_times_int @ A2 @ ( power_power_int @ A2 @ N ) ) ) ) ).

% power_gt1_lemma
thf(fact_965_arith__special_I11_J,axiom,
    ( ( plus_plus_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ one_one_complex )
    = zero_zero_complex ) ).

% arith_special(11)
thf(fact_966_arith__special_I11_J,axiom,
    ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int )
    = zero_zero_int ) ).

% arith_special(11)
thf(fact_967_arith__special_I10_J,axiom,
    ( ( plus_plus_complex @ one_one_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) )
    = zero_zero_complex ) ).

% arith_special(10)
thf(fact_968_arith__special_I10_J,axiom,
    ( ( plus_plus_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% arith_special(10)
thf(fact_969_square__diff__one__factored,axiom,
    ! [X: complex] :
      ( ( minus_minus_complex @ ( times_times_complex @ X @ X ) @ one_one_complex )
      = ( times_times_complex @ ( plus_plus_complex @ X @ one_one_complex ) @ ( minus_minus_complex @ X @ one_one_complex ) ) ) ).

% square_diff_one_factored
thf(fact_970_square__diff__one__factored,axiom,
    ! [X: int] :
      ( ( minus_minus_int @ ( times_times_int @ X @ X ) @ one_one_int )
      = ( times_times_int @ ( plus_plus_int @ X @ one_one_int ) @ ( minus_minus_int @ X @ one_one_int ) ) ) ).

% square_diff_one_factored
thf(fact_971_n__less__n__mult__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ N @ ( times_times_nat @ N @ M ) ) ) ) ).

% n_less_n_mult_m
thf(fact_972_n__less__m__mult__n,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ N @ ( times_times_nat @ M @ N ) ) ) ) ).

% n_less_m_mult_n
thf(fact_973_one__less__mult,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( times_times_nat @ M @ N ) ) ) ) ).

% one_less_mult
thf(fact_974_four__block__one__mat,axiom,
    ! [N1: nat,N22: nat] :
      ( ( four_b559179830521662709omplex @ ( one_mat_complex @ N1 ) @ ( zero_mat_complex @ N1 @ N22 ) @ ( zero_mat_complex @ N22 @ N1 ) @ ( one_mat_complex @ N22 ) )
      = ( one_mat_complex @ ( plus_plus_nat @ N1 @ N22 ) ) ) ).

% four_block_one_mat
thf(fact_975_four__block__one__mat,axiom,
    ! [N1: nat,N22: nat] :
      ( ( four_block_mat_int @ ( one_mat_int @ N1 ) @ ( zero_mat_int @ N1 @ N22 ) @ ( zero_mat_int @ N22 @ N1 ) @ ( one_mat_int @ N22 ) )
      = ( one_mat_int @ ( plus_plus_nat @ N1 @ N22 ) ) ) ).

% four_block_one_mat
thf(fact_976_swap__col__to__front__det,axiom,
    ! [A: mat_a,N: nat,I4: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_a @ ( column2924081423933032910ront_a @ A @ I4 ) )
          = ( times_times_a @ ( power_power_a @ ( uminus_uminus_a @ one_one_a ) @ I4 ) @ ( det_a @ A ) ) ) ) ) ).

% swap_col_to_front_det
thf(fact_977_swap__col__to__front__det,axiom,
    ! [A: mat_complex,N: nat,I4: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_complex @ ( column7264791363093833182omplex @ A @ I4 ) )
          = ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ I4 ) @ ( det_complex @ A ) ) ) ) ) ).

% swap_col_to_front_det
thf(fact_978_swap__col__to__front__det,axiom,
    ! [A: mat_int,N: nat,I4: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_int @ ( column5961545885456686940nt_int @ A @ I4 ) )
          = ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ I4 ) @ ( det_int @ A ) ) ) ) ) ).

% swap_col_to_front_det
thf(fact_979_swap__row__to__front__det,axiom,
    ! [A: mat_a,N: nat,I4: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_a @ ( column973622294476583016ront_a @ A @ I4 ) )
          = ( times_times_a @ ( power_power_a @ ( uminus_uminus_a @ one_one_a ) @ I4 ) @ ( det_a @ A ) ) ) ) ) ).

% swap_row_to_front_det
thf(fact_980_swap__row__to__front__det,axiom,
    ! [A: mat_complex,N: nat,I4: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_complex @ ( column4342047067757093060omplex @ A @ I4 ) )
          = ( times_times_complex @ ( power_power_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ I4 ) @ ( det_complex @ A ) ) ) ) ) ).

% swap_row_to_front_det
thf(fact_981_swap__row__to__front__det,axiom,
    ! [A: mat_int,N: nat,I4: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
     => ( ( ord_less_nat @ I4 @ N )
       => ( ( det_int @ ( column7805526535140091458nt_int @ A @ I4 ) )
          = ( times_times_int @ ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ I4 ) @ ( det_int @ A ) ) ) ) ) ).

% swap_row_to_front_det
thf(fact_982_power__Suc__less,axiom,
    ! [A2: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A2 )
     => ( ( ord_less_nat @ A2 @ one_one_nat )
       => ( ord_less_nat @ ( times_times_nat @ A2 @ ( power_power_nat @ A2 @ N ) ) @ ( power_power_nat @ A2 @ N ) ) ) ) ).

% power_Suc_less
thf(fact_983_power__Suc__less,axiom,
    ! [A2: int,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ A2 )
     => ( ( ord_less_int @ A2 @ one_one_int )
       => ( ord_less_int @ ( times_times_int @ A2 @ ( power_power_int @ A2 @ N ) ) @ ( power_power_int @ A2 @ N ) ) ) ) ).

% power_Suc_less
thf(fact_984_mult__eq__if,axiom,
    ( times_times_nat
    = ( ^ [M4: nat,N3: nat] : ( if_nat @ ( M4 = zero_zero_nat ) @ zero_zero_nat @ ( plus_plus_nat @ N3 @ ( times_times_nat @ ( minus_minus_nat @ M4 @ one_one_nat ) @ N3 ) ) ) ) ) ).

% mult_eq_if
thf(fact_985_det__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( det_int @ ( zero_mat_int @ N @ N ) )
        = zero_zero_int ) ) ).

% det_zero
thf(fact_986_permutation__insert__expand,axiom,
    ( permut138581522262023397omplex
    = ( ^ [I3: complex,J2: nat,P4: complex > nat,I5: complex] : ( if_nat @ ( ord_less_complex @ I5 @ I3 ) @ ( if_nat @ ( ord_less_nat @ ( P4 @ I5 ) @ J2 ) @ ( P4 @ I5 ) @ ( suc @ ( P4 @ I5 ) ) ) @ ( if_nat @ ( I5 = I3 ) @ J2 @ ( if_nat @ ( ord_less_nat @ ( P4 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) @ J2 ) @ ( P4 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) @ ( suc @ ( P4 @ ( minus_minus_complex @ I5 @ one_one_complex ) ) ) ) ) ) ) ) ).

% permutation_insert_expand
thf(fact_987_permutation__insert__expand,axiom,
    ( permut3695043542826343943rt_nat
    = ( ^ [I3: nat,J2: nat,P4: nat > nat,I5: nat] : ( if_nat @ ( ord_less_nat @ I5 @ I3 ) @ ( if_nat @ ( ord_less_nat @ ( P4 @ I5 ) @ J2 ) @ ( P4 @ I5 ) @ ( suc @ ( P4 @ I5 ) ) ) @ ( if_nat @ ( I5 = I3 ) @ J2 @ ( if_nat @ ( ord_less_nat @ ( P4 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) @ J2 ) @ ( P4 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) @ ( suc @ ( P4 @ ( minus_minus_nat @ I5 @ one_one_nat ) ) ) ) ) ) ) ) ).

% permutation_insert_expand
thf(fact_988_permutation__insert__expand,axiom,
    ( permut3692553072317293667rt_int
    = ( ^ [I3: int,J2: nat,P4: int > nat,I5: int] : ( if_nat @ ( ord_less_int @ I5 @ I3 ) @ ( if_nat @ ( ord_less_nat @ ( P4 @ I5 ) @ J2 ) @ ( P4 @ I5 ) @ ( suc @ ( P4 @ I5 ) ) ) @ ( if_nat @ ( I5 = I3 ) @ J2 @ ( if_nat @ ( ord_less_nat @ ( P4 @ ( minus_minus_int @ I5 @ one_one_int ) ) @ J2 ) @ ( P4 @ ( minus_minus_int @ I5 @ one_one_int ) ) @ ( suc @ ( P4 @ ( minus_minus_int @ I5 @ one_one_int ) ) ) ) ) ) ) ) ).

% permutation_insert_expand
thf(fact_989_add__scale__eq__noteq,axiom,
    ! [R2: nat,A2: nat,B2: nat,C2: nat,D2: nat] :
      ( ( R2 != zero_zero_nat )
     => ( ( ( A2 = B2 )
          & ( C2 != D2 ) )
       => ( ( plus_plus_nat @ A2 @ ( times_times_nat @ R2 @ C2 ) )
         != ( plus_plus_nat @ B2 @ ( times_times_nat @ R2 @ D2 ) ) ) ) ) ).

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

% add_scale_eq_noteq
thf(fact_991_add__scale__eq__noteq,axiom,
    ! [R2: int,A2: int,B2: int,C2: int,D2: int] :
      ( ( R2 != zero_zero_int )
     => ( ( ( A2 = B2 )
          & ( C2 != D2 ) )
       => ( ( plus_plus_int @ A2 @ ( times_times_int @ R2 @ C2 ) )
         != ( plus_plus_int @ B2 @ ( times_times_int @ R2 @ D2 ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_992_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_993_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_994_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_995_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_996_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_997_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_998_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_999_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_1000_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_1001_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_1002_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_1003_index__add__mat_I3_J,axiom,
    ! [A: mat_a,B: mat_a] :
      ( ( dim_col_a @ ( plus_plus_mat_a @ A @ B ) )
      = ( dim_col_a @ B ) ) ).

% index_add_mat(3)
thf(fact_1004_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_1005_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_1006_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_1007_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_1008_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_1009_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_1010_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_1011_add__inv__exists__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ? [X3: mat_a] :
          ( ( member_mat_a @ X3 @ ( carrier_mat_a @ Nr @ Nc ) )
          & ( ( plus_plus_mat_a @ X3 @ A )
            = ( zero_mat_a @ Nr @ Nc ) )
          & ( ( plus_plus_mat_a @ A @ X3 )
            = ( zero_mat_a @ Nr @ Nc ) ) ) ) ).

% add_inv_exists_mat
thf(fact_1012_add__inv__exists__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ? [X3: mat_complex] :
          ( ( member_mat_complex @ X3 @ ( carrier_mat_complex @ Nr @ Nc ) )
          & ( ( plus_p8323303612493835998omplex @ X3 @ A )
            = ( zero_mat_complex @ Nr @ Nc ) )
          & ( ( plus_p8323303612493835998omplex @ A @ X3 )
            = ( zero_mat_complex @ Nr @ Nc ) ) ) ) ).

% add_inv_exists_mat
thf(fact_1013_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_1014_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_1015_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_1016_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_1017_add__smult__distrib__left__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat,B: mat_a,K: a] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ B @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( smult_mat_a @ K @ ( plus_plus_mat_a @ A @ B ) )
          = ( plus_plus_mat_a @ ( smult_mat_a @ K @ A ) @ ( smult_mat_a @ K @ B ) ) ) ) ) ).

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

% add_smult_distrib_left_mat
thf(fact_1019_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_1020_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_1021_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_1022_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_1023_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_1024_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_1025_minus__add__minus__mat,axiom,
    ! [U3: mat_a,Nr: nat,Nc: nat,V3: mat_a,W: mat_a] :
      ( ( member_mat_a @ U3 @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ V3 @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( member_mat_a @ W @ ( carrier_mat_a @ Nr @ Nc ) )
         => ( ( minus_minus_mat_a @ U3 @ ( plus_plus_mat_a @ V3 @ W ) )
            = ( minus_minus_mat_a @ ( minus_minus_mat_a @ U3 @ V3 ) @ W ) ) ) ) ) ).

% minus_add_minus_mat
thf(fact_1026_minus__add__minus__mat,axiom,
    ! [U3: mat_complex,Nr: nat,Nc: nat,V3: mat_complex,W: mat_complex] :
      ( ( member_mat_complex @ U3 @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ V3 @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( member_mat_complex @ W @ ( carrier_mat_complex @ Nr @ Nc ) )
         => ( ( minus_2412168080157227406omplex @ U3 @ ( plus_p8323303612493835998omplex @ V3 @ W ) )
            = ( minus_2412168080157227406omplex @ ( minus_2412168080157227406omplex @ U3 @ V3 ) @ W ) ) ) ) ) ).

% minus_add_minus_mat
thf(fact_1027_uminus__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 ) )
       => ( ( uminus_uminus_mat_a @ ( plus_plus_mat_a @ A @ B ) )
          = ( plus_plus_mat_a @ ( uminus_uminus_mat_a @ B ) @ ( uminus_uminus_mat_a @ A ) ) ) ) ) ).

% uminus_add_mat
thf(fact_1028_uminus__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 ) )
       => ( ( uminus467866341702955550omplex @ ( plus_p8323303612493835998omplex @ A @ B ) )
          = ( plus_p8323303612493835998omplex @ ( uminus467866341702955550omplex @ B ) @ ( uminus467866341702955550omplex @ A ) ) ) ) ) ).

% uminus_add_mat
thf(fact_1029_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_1030_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_1031_uminus__l__inv__mat,axiom,
    ! [A: mat_a,Nr: nat,Nc: nat] :
      ( ( member_mat_a @ A @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( plus_plus_mat_a @ ( uminus_uminus_mat_a @ A ) @ A )
        = ( zero_mat_a @ Nr @ Nc ) ) ) ).

% uminus_l_inv_mat
thf(fact_1032_uminus__l__inv__mat,axiom,
    ! [A: mat_complex,Nr: nat,Nc: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( plus_p8323303612493835998omplex @ ( uminus467866341702955550omplex @ A ) @ A )
        = ( zero_mat_complex @ Nr @ Nc ) ) ) ).

% uminus_l_inv_mat
thf(fact_1033_uminus__add__minus__mat,axiom,
    ! [L: mat_a,Nr: nat,Nc: nat,R2: mat_a] :
      ( ( member_mat_a @ L @ ( carrier_mat_a @ Nr @ Nc ) )
     => ( ( member_mat_a @ R2 @ ( carrier_mat_a @ Nr @ Nc ) )
       => ( ( uminus_uminus_mat_a @ ( plus_plus_mat_a @ L @ R2 ) )
          = ( minus_minus_mat_a @ ( uminus_uminus_mat_a @ L ) @ R2 ) ) ) ) ).

% uminus_add_minus_mat
thf(fact_1034_uminus__add__minus__mat,axiom,
    ! [L: mat_complex,Nr: nat,Nc: nat,R2: mat_complex] :
      ( ( member_mat_complex @ L @ ( carrier_mat_complex @ Nr @ Nc ) )
     => ( ( member_mat_complex @ R2 @ ( carrier_mat_complex @ Nr @ Nc ) )
       => ( ( uminus467866341702955550omplex @ ( plus_p8323303612493835998omplex @ L @ R2 ) )
          = ( minus_2412168080157227406omplex @ ( uminus467866341702955550omplex @ L ) @ R2 ) ) ) ) ).

% uminus_add_minus_mat
thf(fact_1035_minus__add__uminus__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 ) )
       => ( ( minus_minus_mat_a @ A @ B )
          = ( plus_plus_mat_a @ A @ ( uminus_uminus_mat_a @ B ) ) ) ) ) ).

% minus_add_uminus_mat
thf(fact_1036_minus__add__uminus__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 ) )
       => ( ( minus_2412168080157227406omplex @ A @ B )
          = ( plus_p8323303612493835998omplex @ A @ ( uminus467866341702955550omplex @ B ) ) ) ) ) ).

% minus_add_uminus_mat
thf(fact_1037_add__uminus__minus__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 @ ( uminus_uminus_mat_a @ B ) )
          = ( minus_minus_mat_a @ A @ B ) ) ) ) ).

% add_uminus_minus_mat
thf(fact_1038_add__uminus__minus__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 @ ( uminus467866341702955550omplex @ B ) )
          = ( minus_2412168080157227406omplex @ A @ B ) ) ) ) ).

% add_uminus_minus_mat
thf(fact_1039_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_1040_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_1041_crossproduct__noteq,axiom,
    ! [A2: int,B2: int,C2: int,D2: int] :
      ( ( ( A2 != B2 )
        & ( C2 != D2 ) )
      = ( ( plus_plus_int @ ( times_times_int @ A2 @ C2 ) @ ( times_times_int @ B2 @ D2 ) )
       != ( plus_plus_int @ ( times_times_int @ A2 @ D2 ) @ ( times_times_int @ B2 @ C2 ) ) ) ) ).

% crossproduct_noteq
thf(fact_1042_crossproduct__eq,axiom,
    ! [W: nat,Y: nat,X: nat,Z: nat] :
      ( ( ( plus_plus_nat @ ( times_times_nat @ W @ Y ) @ ( times_times_nat @ X @ Z ) )
        = ( plus_plus_nat @ ( times_times_nat @ W @ Z ) @ ( times_times_nat @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_1043_crossproduct__eq,axiom,
    ! [W: complex,Y: complex,X: complex,Z: complex] :
      ( ( ( plus_plus_complex @ ( times_times_complex @ W @ Y ) @ ( times_times_complex @ X @ Z ) )
        = ( plus_plus_complex @ ( times_times_complex @ W @ Z ) @ ( times_times_complex @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_1044_crossproduct__eq,axiom,
    ! [W: int,Y: int,X: int,Z: int] :
      ( ( ( plus_plus_int @ ( times_times_int @ W @ Y ) @ ( times_times_int @ X @ Z ) )
        = ( plus_plus_int @ ( times_times_int @ W @ Z ) @ ( times_times_int @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_1045_mult__less__iff1,axiom,
    ! [Z: int,X: int,Y: int] :
      ( ( ord_less_int @ zero_zero_int @ Z )
     => ( ( ord_less_int @ ( times_times_int @ X @ Z ) @ ( times_times_int @ Y @ Z ) )
        = ( ord_less_int @ X @ Y ) ) ) ).

% mult_less_iff1
thf(fact_1046_delete__index__def,axiom,
    ( delete_index
    = ( ^ [I3: nat,I5: nat] : ( if_nat @ ( ord_less_nat @ I5 @ I3 ) @ I5 @ ( minus_minus_nat @ I5 @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% delete_index_def
thf(fact_1047_permutation__delete__expand,axiom,
    ( permutation_delete
    = ( ^ [P4: nat > nat,I3: nat,J2: nat] : ( if_nat @ ( ord_less_nat @ ( P4 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( P4 @ I3 ) ) @ ( P4 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( minus_minus_nat @ ( P4 @ ( if_nat @ ( ord_less_nat @ J2 @ I3 ) @ J2 @ ( suc @ J2 ) ) ) @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% permutation_delete_expand
thf(fact_1048_det__addrow,axiom,
    ! [L: nat,N: nat,K: nat,A: mat_a,A2: a] :
      ( ( ord_less_nat @ L @ N )
     => ( ( K != L )
       => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
         => ( ( det_a @ ( gauss_3441994962245461172_gen_a @ plus_plus_a @ times_times_a @ A2 @ K @ L @ A ) )
            = ( det_a @ A ) ) ) ) ) ).

% det_addrow
thf(fact_1049_det__addrow,axiom,
    ! [L: nat,N: nat,K: nat,A: mat_complex,A2: complex] :
      ( ( ord_less_nat @ L @ N )
     => ( ( K != L )
       => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
         => ( ( det_complex @ ( gauss_5252963565656066424omplex @ plus_plus_complex @ times_times_complex @ A2 @ K @ L @ A ) )
            = ( det_complex @ A ) ) ) ) ) ).

% det_addrow
thf(fact_1050_det__addrow,axiom,
    ! [L: nat,N: nat,K: nat,A: mat_int,A2: int] :
      ( ( ord_less_nat @ L @ N )
     => ( ( K != L )
       => ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
         => ( ( det_int @ ( gauss_8882552878057600758en_int @ plus_plus_int @ times_times_int @ A2 @ K @ L @ A ) )
            = ( det_int @ A ) ) ) ) ) ).

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

% density_collapse_carrier
thf(fact_1052_projector__collapse__trace,axiom,
    ! [P: mat_complex,N: nat,R: mat_complex] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
       => ( ( member_mat_complex @ R @ ( carrier_mat_complex @ N @ N ) )
         => ( ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ P @ R ) @ P ) )
            = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ R @ P ) ) ) ) ) ) ).

% projector_collapse_trace
thf(fact_1053_mat__assoc__test_I3_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 @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ ( one_mat_complex @ N ) ) @ ( one_mat_complex @ N ) ) @ B ) @ ( one_mat_complex @ N ) )
              = ( times_8009071140041733218omplex @ A @ B ) ) ) ) ) ) ).

% mat_assoc_test(3)
thf(fact_1054_mat__assoc__test_I2_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 @ ( schur_5982229384592763574omplex @ ( times_8009071140041733218omplex @ A @ ( schur_5982229384592763574omplex @ B ) ) ) @ C )
              = ( times_8009071140041733218omplex @ B @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ A ) @ C ) ) ) ) ) ) ) ).

% mat_assoc_test(2)
thf(fact_1055_mat__assoc__test_I1_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 @ B ) @ ( times_8009071140041733218omplex @ C @ D ) )
              = ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ A @ B ) @ C ) @ D ) ) ) ) ) ) ).

% mat_assoc_test(1)
thf(fact_1056_smult__smult__mat,axiom,
    ! [A: mat_complex,Nr: nat,N: nat,K: complex,L: complex] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ Nr @ N ) )
     => ( ( smult_mat_complex @ K @ ( smult_mat_complex @ L @ A ) )
        = ( smult_mat_complex @ ( times_times_complex @ K @ L ) @ A ) ) ) ).

% smult_smult_mat
thf(fact_1057_unitary__operator__keep__trace,axiom,
    ! [U: mat_complex,N: nat,A: mat_complex] :
      ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
     => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
       => ( ( comple6660659447773130958omplex @ U )
         => ( ( comple3184165445352484367omplex @ A )
            = ( comple3184165445352484367omplex @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ ( schur_5982229384592763574omplex @ U ) @ A ) @ U ) ) ) ) ) ) ).

% unitary_operator_keep_trace
thf(fact_1058_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_1059_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_1060_uminus__mat,axiom,
    ! [A: mat_complex,N: nat] :
      ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
     => ( ( uminus467866341702955550omplex @ A )
        = ( smult_mat_complex @ ( uminus1482373934393186551omplex @ one_one_complex ) @ A ) ) ) ).

% uminus_mat
thf(fact_1061_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_1062_index__mat__addrow_I5_J,axiom,
    ! [Ad: a > a > a,Mul: a > a > a,A2: a,K: nat,L: nat,A: mat_a] :
      ( ( dim_col_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K @ L @ A ) )
      = ( dim_col_a @ A ) ) ).

% index_mat_addrow(5)
thf(fact_1063_index__mat__addrow_I4_J,axiom,
    ! [Ad: complex > complex > complex,Mul: complex > complex > complex,A2: complex,K: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( gauss_5252963565656066424omplex @ Ad @ Mul @ A2 @ K @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_addrow(4)
thf(fact_1064_addrow__carrier,axiom,
    ! [Ad: a > a > a,Mul: a > a > a,A2: a,K: nat,L: nat,A: mat_a,N: nat,Nc: nat] :
      ( ( member_mat_a @ ( gauss_3441994962245461172_gen_a @ Ad @ Mul @ A2 @ K @ L @ A ) @ ( carrier_mat_a @ N @ Nc ) )
      = ( member_mat_a @ A @ ( carrier_mat_a @ N @ Nc ) ) ) ).

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

% addrow_carrier
thf(fact_1066_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_1067_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_1068_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_1069_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_1070_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_1071_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_1072_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_1073_mat__assoc__test_I4_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 @ ( minus_2412168080157227406omplex @ A @ B ) @ ( minus_2412168080157227406omplex @ B @ C ) )
              = ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ ( plus_p8323303612493835998omplex @ A @ ( uminus467866341702955550omplex @ B ) ) @ B ) @ ( uminus467866341702955550omplex @ C ) ) ) ) ) ) ) ).

% mat_assoc_test(4)
thf(fact_1074_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_1075_density__collapse__operator,axiom,
    ! [P: mat_complex,R: mat_complex,N: nat] :
      ( ( linear5633924348262549461omplex @ P )
     => ( ( comple5220265106149225959erator @ R )
       => ( ( ord_less_nat @ zero_zero_nat @ ( dim_row_complex @ R ) )
         => ( ( member_mat_complex @ P @ ( carrier_mat_complex @ N @ N ) )
           => ( ( member_mat_complex @ R @ ( carrier_mat_complex @ N @ N ) )
             => ( comple5220265106149225959erator @ ( projec3470689467825365843llapse @ R @ P ) ) ) ) ) ) ) ).

% density_collapse_operator
thf(fact_1076_addrow__mat,axiom,
    ! [A: mat_a,N: nat,Nc: nat,L: nat,A2: a,K: 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 @ K @ L @ A )
          = ( times_times_mat_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K @ L ) @ A ) ) ) ) ).

% addrow_mat
thf(fact_1077_addrow__mat,axiom,
    ! [A: mat_nat,N: nat,Nc: nat,L: nat,A2: nat,K: 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 @ K @ L @ A )
          = ( times_times_mat_nat @ ( gauss_6496870380031412486at_nat @ N @ A2 @ K @ L ) @ A ) ) ) ) ).

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

% addrow_mat
thf(fact_1079_addrow__mat,axiom,
    ! [A: mat_int,N: nat,Nc: nat,L: nat,A2: int,K: nat] :
      ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ Nc ) )
     => ( ( ord_less_nat @ L @ N )
       => ( ( gauss_8882552878057600758en_int @ plus_plus_int @ times_times_int @ A2 @ K @ L @ A )
          = ( times_times_mat_int @ ( gauss_6494379909522362210at_int @ N @ A2 @ K @ L ) @ A ) ) ) ) ).

% addrow_mat
thf(fact_1080_det__swapcols,axiom,
    ! [K: nat,N: nat,L: nat,A: mat_a] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( member_mat_a @ A @ ( carrier_mat_a @ N @ N ) )
           => ( ( det_a @ ( column2528828918332591333cols_a @ K @ L @ A ) )
              = ( uminus_uminus_a @ ( det_a @ A ) ) ) ) ) ) ) ).

% det_swapcols
thf(fact_1081_det__swapcols,axiom,
    ! [K: nat,N: nat,L: nat,A: mat_complex] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ N ) )
           => ( ( det_complex @ ( column4357519492343924999omplex @ K @ L @ A ) )
              = ( uminus1482373934393186551omplex @ ( det_complex @ A ) ) ) ) ) ) ) ).

% det_swapcols
thf(fact_1082_det__swapcols,axiom,
    ! [K: nat,N: nat,L: nat,A: mat_int] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( member_mat_int @ A @ ( carrier_mat_int @ N @ N ) )
           => ( ( det_int @ ( column8972844496611464325ls_int @ K @ L @ A ) )
              = ( uminus_uminus_int @ ( det_int @ A ) ) ) ) ) ) ) ).

% det_swapcols
thf(fact_1083_index__mat__addrow__mat_I2_J,axiom,
    ! [N: nat,A2: complex,K: nat,L: nat] :
      ( ( dim_row_complex @ ( gauss_947198734564870628omplex @ N @ A2 @ K @ L ) )
      = N ) ).

% index_mat_addrow_mat(2)
thf(fact_1084_addrow__mat__carrier,axiom,
    ! [N: nat,A2: a,K: nat,L: nat] : ( member_mat_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K @ L ) @ ( carrier_mat_a @ N @ N ) ) ).

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

% addrow_mat_carrier
thf(fact_1086_index__mat__addrow__mat_I3_J,axiom,
    ! [N: nat,A2: a,K: nat,L: nat] :
      ( ( dim_col_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K @ L ) )
      = N ) ).

% index_mat_addrow_mat(3)
thf(fact_1087_rank__1__proj__adjoint,axiom,
    ! [V3: vec_complex] :
      ( ( schur_5982229384592763574omplex @ ( linear1949544614684794075omplex @ V3 ) )
      = ( linear1949544614684794075omplex @ V3 ) ) ).

% rank_1_proj_adjoint
thf(fact_1088_unitary__density,axiom,
    ! [R: mat_complex,U: mat_complex,N: nat] :
      ( ( comple5220265106149225959erator @ R )
     => ( ( comple6660659447773130958omplex @ U )
       => ( ( member_mat_complex @ R @ ( carrier_mat_complex @ N @ N ) )
         => ( ( member_mat_complex @ U @ ( carrier_mat_complex @ N @ N ) )
           => ( comple5220265106149225959erator @ ( times_8009071140041733218omplex @ ( times_8009071140041733218omplex @ U @ R ) @ ( schur_5982229384592763574omplex @ U ) ) ) ) ) ) ) ).

% unitary_density
thf(fact_1089_det__addrow__mat,axiom,
    ! [K: nat,L: nat,N: nat,A2: complex] :
      ( ( K != L )
     => ( ( det_complex @ ( gauss_947198734564870628omplex @ N @ A2 @ K @ L ) )
        = one_one_complex ) ) ).

% det_addrow_mat
thf(fact_1090_det__addrow__mat,axiom,
    ! [K: nat,L: nat,N: nat,A2: int] :
      ( ( K != L )
     => ( ( det_int @ ( gauss_6494379909522362210at_int @ N @ A2 @ K @ L ) )
        = one_one_int ) ) ).

% det_addrow_mat
thf(fact_1091_addrow__mat__inv,axiom,
    ! [K: nat,N: nat,L: nat,A2: a] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( times_times_mat_a @ ( gauss_8159914756388622152_mat_a @ N @ A2 @ K @ L ) @ ( gauss_8159914756388622152_mat_a @ N @ ( uminus_uminus_a @ A2 ) @ K @ L ) )
            = ( one_mat_a @ N ) ) ) ) ) ).

% addrow_mat_inv
thf(fact_1092_addrow__mat__inv,axiom,
    ! [K: nat,N: nat,L: nat,A2: complex] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( times_8009071140041733218omplex @ ( gauss_947198734564870628omplex @ N @ A2 @ K @ L ) @ ( gauss_947198734564870628omplex @ N @ ( uminus1482373934393186551omplex @ A2 ) @ K @ L ) )
            = ( one_mat_complex @ N ) ) ) ) ) ).

% addrow_mat_inv
thf(fact_1093_addrow__mat__inv,axiom,
    ! [K: nat,N: nat,L: nat,A2: int] :
      ( ( ord_less_nat @ K @ N )
     => ( ( ord_less_nat @ L @ N )
       => ( ( K != L )
         => ( ( times_times_mat_int @ ( gauss_6494379909522362210at_int @ N @ A2 @ K @ L ) @ ( gauss_6494379909522362210at_int @ N @ ( uminus_uminus_int @ A2 ) @ K @ L ) )
            = ( one_mat_int @ N ) ) ) ) ) ).

% addrow_mat_inv
thf(fact_1094_index__mat__swapcols_I3_J,axiom,
    ! [K: nat,L: nat,A: mat_a] :
      ( ( dim_col_a @ ( column2528828918332591333cols_a @ K @ L @ A ) )
      = ( dim_col_a @ A ) ) ).

% index_mat_swapcols(3)
thf(fact_1095_index__mat__swapcols_I2_J,axiom,
    ! [K: nat,L: nat,A: mat_complex] :
      ( ( dim_row_complex @ ( column4357519492343924999omplex @ K @ L @ A ) )
      = ( dim_row_complex @ A ) ) ).

% index_mat_swapcols(2)
thf(fact_1096_max__mix__is__density,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( comple5220265106149225959erator @ ( projec8360710381328234318ensity @ N ) ) ) ).

% max_mix_is_density
thf(fact_1097_rank__1__proj__hermitian,axiom,
    ! [V3: vec_complex] : ( comple8306762464034002205omplex @ ( linear1949544614684794075omplex @ V3 ) ) ).

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

% max_mix_density_carrier
thf(fact_1099_swapcols__carrier,axiom,
    ! [L: nat,K: nat,A: mat_complex,N: nat,M: nat] :
      ( ( member_mat_complex @ ( column4357519492343924999omplex @ L @ K @ A ) @ ( carrier_mat_complex @ N @ M ) )
      = ( member_mat_complex @ A @ ( carrier_mat_complex @ N @ M ) ) ) ).

% swapcols_carrier
thf(fact_1100_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_1101_int__ops_I7_J,axiom,
    ! [A2: nat,B2: nat] :
      ( ( semiri1314217659103216013at_int @ ( times_times_nat @ A2 @ B2 ) )
      = ( times_times_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ).

% int_ops(7)
thf(fact_1102_trace__1,axiom,
    ! [N: nat] :
      ( ( comple3184165445352484367omplex @ ( one_mat_complex @ N ) )
      = ( semiri8010041392384452111omplex @ N ) ) ).

% trace_1
thf(fact_1103_trace__id,axiom,
    ! [N: nat] :
      ( ( complex_trace_int @ ( one_mat_int @ N ) )
      = ( semiri1314217659103216013at_int @ N ) ) ).

% trace_id
thf(fact_1104_minusinfinity,axiom,
    ! [D2: int,P1: int > $o,P: int > $o] :
      ( ( ord_less_int @ zero_zero_int @ D2 )
     => ( ! [X3: int,K2: int] :
            ( ( P1 @ X3 )
            = ( P1 @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D2 ) ) ) )
       => ( ? [Z2: int] :
            ! [X3: int] :
              ( ( ord_less_int @ X3 @ Z2 )
             => ( ( P @ X3 )
                = ( P1 @ X3 ) ) )
         => ( ? [X_1: int] : ( P1 @ X_1 )
           => ? [X_12: int] : ( P @ X_12 ) ) ) ) ) ).

% minusinfinity
thf(fact_1105_plusinfinity,axiom,
    ! [D2: int,P3: int > $o,P: int > $o] :
      ( ( ord_less_int @ zero_zero_int @ D2 )
     => ( ! [X3: int,K2: int] :
            ( ( P3 @ X3 )
            = ( P3 @ ( minus_minus_int @ X3 @ ( times_times_int @ K2 @ D2 ) ) ) )
       => ( ? [Z2: int] :
            ! [X3: int] :
              ( ( ord_less_int @ Z2 @ X3 )
             => ( ( P @ X3 )
                = ( P3 @ X3 ) ) )
         => ( ? [X_1: int] : ( P3 @ X_1 )
           => ? [X_12: int] : ( P @ X_12 ) ) ) ) ) ).

% plusinfinity
thf(fact_1106_zmult__zless__mono2__lemma,axiom,
    ! [I2: int,J: int,K: nat] :
      ( ( ord_less_int @ I2 @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ord_less_int @ ( times_times_int @ ( semiri1314217659103216013at_int @ K ) @ I2 ) @ ( times_times_int @ ( semiri1314217659103216013at_int @ K ) @ J ) ) ) ) ).

% zmult_zless_mono2_lemma
thf(fact_1107_neg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ K @ zero_zero_int )
     => ~ ! [N2: nat] :
            ( ( K
              = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ).

% neg_int_cases
thf(fact_1108_minus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( minus_minus_int @ zero_zero_int @ L )
      = ( uminus_uminus_int @ L ) ) ).

% minus_int_code(2)
thf(fact_1109_uminus__int__code_I1_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% uminus_int_code(1)
thf(fact_1110_not__int__zless__negative,axiom,
    ! [N: nat,M: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ N ) @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ M ) ) ) ).

% not_int_zless_negative
thf(fact_1111_int__cases2,axiom,
    ! [Z: int] :
      ( ! [N2: nat] :
          ( Z
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( Z
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) ) ) ).

% int_cases2
thf(fact_1112_times__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( times_times_int @ zero_zero_int @ L )
      = zero_zero_int ) ).

% times_int_code(2)
thf(fact_1113_times__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( times_times_int @ K @ zero_zero_int )
      = zero_zero_int ) ).

% times_int_code(1)
thf(fact_1114_int__distrib_I4_J,axiom,
    ! [W: int,Z1: int,Z22: int] :
      ( ( times_times_int @ W @ ( minus_minus_int @ Z1 @ Z22 ) )
      = ( minus_minus_int @ ( times_times_int @ W @ Z1 ) @ ( times_times_int @ W @ Z22 ) ) ) ).

% int_distrib(4)
thf(fact_1115_int__distrib_I3_J,axiom,
    ! [Z1: int,Z22: int,W: int] :
      ( ( times_times_int @ ( minus_minus_int @ Z1 @ Z22 ) @ W )
      = ( minus_minus_int @ ( times_times_int @ Z1 @ W ) @ ( times_times_int @ Z22 @ W ) ) ) ).

% int_distrib(3)
thf(fact_1116_zmult__zless__mono2,axiom,
    ! [I2: int,J: int,K: int] :
      ( ( ord_less_int @ I2 @ J )
     => ( ( ord_less_int @ zero_zero_int @ K )
       => ( ord_less_int @ ( times_times_int @ K @ I2 ) @ ( times_times_int @ K @ J ) ) ) ) ).

% zmult_zless_mono2
thf(fact_1117_pos__zmult__eq__1__iff,axiom,
    ! [M: int,N: int] :
      ( ( ord_less_int @ zero_zero_int @ M )
     => ( ( ( times_times_int @ M @ N )
          = one_one_int )
        = ( ( M = one_one_int )
          & ( N = one_one_int ) ) ) ) ).

% pos_zmult_eq_1_iff
thf(fact_1118_int__distrib_I1_J,axiom,
    ! [Z1: int,Z22: int,W: int] :
      ( ( times_times_int @ ( plus_plus_int @ Z1 @ Z22 ) @ W )
      = ( plus_plus_int @ ( times_times_int @ Z1 @ W ) @ ( times_times_int @ Z22 @ W ) ) ) ).

% int_distrib(1)
thf(fact_1119_int__distrib_I2_J,axiom,
    ! [W: int,Z1: int,Z22: int] :
      ( ( times_times_int @ W @ ( plus_plus_int @ Z1 @ Z22 ) )
      = ( plus_plus_int @ ( times_times_int @ W @ Z1 ) @ ( times_times_int @ W @ Z22 ) ) ) ).

% int_distrib(2)
thf(fact_1120_zmult__eq__1__iff,axiom,
    ! [M: int,N: int] :
      ( ( ( times_times_int @ M @ N )
        = one_one_int )
      = ( ( ( M = one_one_int )
          & ( N = one_one_int ) )
        | ( ( M
            = ( uminus_uminus_int @ one_one_int ) )
          & ( N
            = ( uminus_uminus_int @ one_one_int ) ) ) ) ) ).

% zmult_eq_1_iff
thf(fact_1121_pos__zmult__eq__1__iff__lemma,axiom,
    ! [M: int,N: int] :
      ( ( ( times_times_int @ M @ N )
        = one_one_int )
     => ( ( M = one_one_int )
        | ( M
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

% pos_zmult_eq_1_iff_lemma
thf(fact_1122_negative__eq__positive,axiom,
    ! [N: nat,M: nat] :
      ( ( ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) )
        = ( semiri1314217659103216013at_int @ M ) )
      = ( ( N = zero_zero_nat )
        & ( M = zero_zero_nat ) ) ) ).

% negative_eq_positive
thf(fact_1123_int__cases,axiom,
    ! [Z: int] :
      ( ! [N2: nat] :
          ( Z
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( Z
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) ) ) ).

% int_cases
thf(fact_1124_int__of__nat__induct,axiom,
    ! [P: int > $o,Z: int] :
      ( ! [N2: nat] : ( P @ ( semiri1314217659103216013at_int @ N2 ) )
     => ( ! [N2: nat] : ( P @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) )
       => ( P @ Z ) ) ) ).

% int_of_nat_induct
thf(fact_1125_negD,axiom,
    ! [X: int] :
      ( ( ord_less_int @ X @ zero_zero_int )
     => ? [N2: nat] :
          ( X
          = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) ) ) ).

% negD
thf(fact_1126_negative__zless__0,axiom,
    ! [N: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ zero_zero_int ) ).

% negative_zless_0
thf(fact_1127_negative__zless,axiom,
    ! [N: nat,M: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ ( semiri1314217659103216013at_int @ M ) ) ).

% negative_zless
thf(fact_1128_int__cases3,axiom,
    ! [K: int] :
      ( ( K != zero_zero_int )
     => ( ! [N2: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N2 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) )
       => ~ ! [N2: nat] :
              ( ( K
                = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) )
             => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ) ).

% int_cases3
thf(fact_1129_int__cases4,axiom,
    ! [M: int] :
      ( ! [N2: nat] :
          ( M
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( M
             != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) ) ) ) ).

% int_cases4
thf(fact_1130_norm__frac_Oinduct,axiom,
    ! [P: int > int > $o,A0: int,A12: int] :
      ( ! [A5: int,B5: int] :
          ( ( ( ord_less_int @ B5 @ zero_zero_int )
           => ( P @ ( uminus_uminus_int @ A5 ) @ ( uminus_uminus_int @ B5 ) ) )
         => ( P @ A5 @ B5 ) )
     => ( P @ A0 @ A12 ) ) ).

% norm_frac.induct
thf(fact_1131_incr__lemma,axiom,
    ! [D2: int,Z: int,X: int] :
      ( ( ord_less_int @ zero_zero_int @ D2 )
     => ( ord_less_int @ Z @ ( plus_plus_int @ X @ ( times_times_int @ ( plus_plus_int @ ( abs_abs_int @ ( minus_minus_int @ X @ Z ) ) @ one_one_int ) @ D2 ) ) ) ) ).

% incr_lemma
thf(fact_1132_abs__zmult__eq__1,axiom,
    ! [M: int,N: int] :
      ( ( ( abs_abs_int @ ( times_times_int @ M @ N ) )
        = one_one_int )
     => ( ( abs_abs_int @ M )
        = one_one_int ) ) ).

% abs_zmult_eq_1
thf(fact_1133_zabs__def,axiom,
    ( abs_abs_int
    = ( ^ [I3: int] : ( if_int @ ( ord_less_int @ I3 @ zero_zero_int ) @ ( uminus_uminus_int @ I3 ) @ I3 ) ) ) ).

% zabs_def
thf(fact_1134_decr__lemma,axiom,
    ! [D2: int,X: int,Z: int] :
      ( ( ord_less_int @ zero_zero_int @ D2 )
     => ( ord_less_int @ ( minus_minus_int @ X @ ( times_times_int @ ( plus_plus_int @ ( abs_abs_int @ ( minus_minus_int @ X @ Z ) ) @ one_one_int ) @ D2 ) ) @ Z ) ) ).

% decr_lemma
thf(fact_1135_nat__mult__div__cancel__disj,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( K = zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
          = zero_zero_nat ) )
      & ( ( K != zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
          = ( divide_divide_nat @ M @ N ) ) ) ) ).

% nat_mult_div_cancel_disj
thf(fact_1136_nat__mult__div__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( divide_divide_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
        = ( divide_divide_nat @ M @ N ) ) ) ).

% nat_mult_div_cancel1
thf(fact_1137_split__div,axiom,
    ! [P: nat > $o,M: nat,N: nat] :
      ( ( P @ ( divide_divide_nat @ M @ N ) )
      = ( ( ( N = zero_zero_nat )
         => ( P @ zero_zero_nat ) )
        & ( ( N != zero_zero_nat )
         => ! [I3: nat,J2: nat] :
              ( ( ( ord_less_nat @ J2 @ N )
                & ( M
                  = ( plus_plus_nat @ ( times_times_nat @ N @ I3 ) @ J2 ) ) )
             => ( P @ I3 ) ) ) ) ) ).

% split_div
thf(fact_1138_dividend__less__div__times,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ M @ ( plus_plus_nat @ N @ ( times_times_nat @ ( divide_divide_nat @ M @ N ) @ N ) ) ) ) ).

% dividend_less_div_times
thf(fact_1139_div__mult2__eq,axiom,
    ! [M: nat,N: nat,Q4: nat] :
      ( ( divide_divide_nat @ M @ ( times_times_nat @ N @ Q4 ) )
      = ( divide_divide_nat @ ( divide_divide_nat @ M @ N ) @ Q4 ) ) ).

% div_mult2_eq
thf(fact_1140_less__mult__imp__div__less,axiom,
    ! [M: nat,I2: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( times_times_nat @ I2 @ N ) )
     => ( ord_less_nat @ ( divide_divide_nat @ M @ N ) @ I2 ) ) ).

% less_mult_imp_div_less
thf(fact_1141_div__less__iff__less__mult,axiom,
    ! [Q4: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ Q4 )
     => ( ( ord_less_nat @ ( divide_divide_nat @ M @ Q4 ) @ N )
        = ( ord_less_nat @ M @ ( times_times_nat @ N @ Q4 ) ) ) ) ).

% div_less_iff_less_mult
thf(fact_1142_div__mult__self1__is__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( divide_divide_nat @ ( times_times_nat @ N @ M ) @ N )
        = M ) ) ).

% div_mult_self1_is_m
thf(fact_1143_div__mult__self__is__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( divide_divide_nat @ ( times_times_nat @ M @ N ) @ N )
        = M ) ) ).

% div_mult_self_is_m
thf(fact_1144_div__eq__minus1,axiom,
    ! [B2: int] :
      ( ( ord_less_int @ zero_zero_int @ B2 )
     => ( ( divide_divide_int @ ( uminus_uminus_int @ one_one_int ) @ B2 )
        = ( uminus_uminus_int @ one_one_int ) ) ) ).

% div_eq_minus1
thf(fact_1145_dividend__less__times__div,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ M @ ( plus_plus_nat @ N @ ( times_times_nat @ N @ ( divide_divide_nat @ M @ N ) ) ) ) ) ).

% dividend_less_times_div

% Helper facts (7)
thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
    ! [X: int,Y: int] :
      ( ( if_int @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
    ! [X: int,Y: int] :
      ( ( if_int @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $true @ X @ Y )
      = 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,Y: complex] :
      ( ( if_complex @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Complex__Ocomplex_T,axiom,
    ! [X: complex,Y: complex] :
      ( ( if_complex @ $true @ X @ Y )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    member_mat_a @ ( schur_mat_adjoint_a @ u ) @ ( carrier_mat_a @ ( dim_col_a @ b ) @ ( dim_col_a @ v ) ) ).

%------------------------------------------------------------------------------