Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.OperatorIdeal.Family.Basic

Operator ideal families #

An operator ideal in the sense of Pietsch is a rule assigning to every pair of spaces E, F a linear subspace of E โ†’L[๐•œ] F that is stable under composition with arbitrary bounded maps on either side, together with a norm on that subspace dominating the operator norm and submultiplicative against outer compositions. Because Davis--Kahan compares operators between different spaces, the ideal must be handled as a coherent family across all pairs at once, not as a norm on a single endomorphism algebra.

The families here range over Hilbert spaces, with source and target still in independent universes. See "Why Hilbert and not Banach" below: the restriction is forced by the examples, not by the laws.

The single-field representation #

The family is presented by exactly one datum, an extended-real-valued gauge

gauge : (E โ†’L[๐•œ] F) โ†’ โ„โ‰ฅ0โˆž

defined on all operators, with the ideal recovered as its finiteness domain OperatorIdealFamily.carrier. This is the classical presentation of a symmetric norming function (Gohberg--Krein): an operator lies in the ideal exactly when its ideal norm is finite. Three things follow.

Why Hilbert and not Banach #

The four laws are statements about a norm, and every one of them is meaningful verbatim for Banach E, F. The examples are not. Of the five gauges this development has โ€” the operator norm, the finite Ky Fan gauges, Schatten p, trace class and Hilbert--Schmidt โ€” only the first survives outside Hilbert space, and the obstruction is gauge_add_le, not the definition. Concretely, for the finite Ky Fan gauge โˆ‘_{n < k} aโ‚™(A) the gauge is defined at full Banach generality (ContinuousLinearMap.approximationNumber is stated for seminormed spaces over a NontriviallyNormedField) while its subadditivity is Hilbertian: the proof runs through singular values and majorization, and the classical additivity of approximation numbers, a_{m+n}(S + T) โ‰ค aโ‚˜(S) + aโ‚™(T), does not recover it โ€” already at k = 2 that bound only gives aโ‚€(S) + 2aโ‚€(T) + aโ‚(S), which is not โˆ‘_{n<2} aโ‚™(S) + โˆ‘_{n<2} aโ‚™(T).

So a Banach-wide version of this structure would be a notion with one instance and no way to acquire the motivating ones. The parameters are therefore Hilbert throughout. Re-widening is a purely mechanical edit should an instance ever appear: no proof in this file uses the inner product, only the norm.

Layering #

OperatorIdealFamily keeps independent source and target universes. Adjoint symmetry cannot be added at that generality: Aโœ swaps the roles of source and target, so a family closed under adjoints must be defined on a single universe. That is SymmetricOperatorIdealFamily, which extends the diagonal instantiation.

The two universes occur only through max v w in the type of the structure itself, so linter.checkUnivs flags them. They stay independent, and the argument is the layering itself rather than an appeal to generality:

So the independence is exercised, not merely declared; the linter's heuristic reads the structure's type, where it is invisible.

Main definitions #

Provenance #

structure TauCeti.OperatorIdealFamily (๐•œ : Type u) [RCLike ๐•œ] :
Type (max (max u (v + 1)) (w + 1))

A rectangular operator ideal family over ๐•œ, presented by its gauge.

gauge A is the ideal norm of A, taken in โ„โ‰ฅ0โˆž so that it is defined on every bounded operator: A belongs to the ideal exactly when gauge A โ‰  โˆž (OperatorIdealFamily.carrier). Source and target are Hilbert spaces in independent universes (see the module docstring for why Hilbert); adjoint symmetry is added on the diagonal by SymmetricOperatorIdealFamily.

Instances For
    theorem TauCeti.OperatorIdealFamily.ext {๐•œ : Type u} [RCLike ๐•œ] {N M : OperatorIdealFamily ๐•œ} (h : โˆ€ {E : Type v} {F : Type w} [inst : NormedAddCommGroup E] [inst_1 : InnerProductSpace ๐•œ E] [inst_2 : CompleteSpace E] [inst_3 : NormedAddCommGroup F] [inst_4 : InnerProductSpace ๐•œ F] [inst_5 : CompleteSpace F] (A : E โ†’L[๐•œ] F), N.gauge A = M.gauge A) :
    N = M

    Two ideal families with the same gauge are equal.

    This is the theorem the free-data presentation cannot have: there, the gauge is unconstrained off the ideal, so equality of the gauges on members โ€” the only thing the laws talk about โ€” does not determine the structure.

    theorem TauCeti.OperatorIdealFamily.ext_iff {๐•œ : Type u} [RCLike ๐•œ] {N M : OperatorIdealFamily ๐•œ} :
    N = M โ†” โˆ€ {E : Type v} {F : Type w} [inst : NormedAddCommGroup E] [inst_1 : InnerProductSpace ๐•œ E] [inst_2 : CompleteSpace E] [inst_3 : NormedAddCommGroup F] [inst_4 : InnerProductSpace ๐•œ F] [inst_5 : CompleteSpace F] (A : E โ†’L[๐•œ] F), N.gauge A = M.gauge A
    @[simp]
    theorem TauCeti.OperatorIdealFamily.gauge_zero {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) :
    N.gauge 0 = 0

    The gauge of the zero operator is zero.

    theorem TauCeti.OperatorIdealFamily.gauge_eq_zero {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {A : E โ†’L[๐•œ] F} (h : N.gauge A = 0) :
    A = 0

    The gauge is definite: only the zero operator has gauge zero. This is forced rather than assumed -- it follows from enorm_le_gauge, since the operator norm is already definite.

    theorem TauCeti.OperatorIdealFamily.gauge_eq_zero_iff {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {A : E โ†’L[๐•œ] F} :
    N.gauge A = 0 โ†” A = 0

    Definiteness as an iff.

    @[simp]
    theorem TauCeti.OperatorIdealFamily.gauge_neg {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) (A : E โ†’L[๐•œ] F) :
    N.gauge (-A) = N.gauge A

    The gauge is unchanged by negation.

    theorem TauCeti.OperatorIdealFamily.gauge_sub_le {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) (A B : E โ†’L[๐•œ] F) :
    N.gauge (A - B) โ‰ค N.gauge A + N.gauge B

    Triangle inequality in subtracted form, the shape convergence arguments use.

    theorem TauCeti.OperatorIdealFamily.gauge_sum_le {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {ฮน : Type u_1} (s : Finset ฮน) (A : ฮน โ†’ E โ†’L[๐•œ] F) :
    N.gauge (โˆ‘ i โˆˆ s, A i) โ‰ค โˆ‘ i โˆˆ s, N.gauge (A i)

    Subadditivity over a finite sum.

    Unlike its counterpart for the historical record, this needs no membership hypotheses: at a non-member the right-hand side is โˆž.

    theorem TauCeti.OperatorIdealFamily.gauge_comp_left_le {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F G : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [CompleteSpace G] (N : OperatorIdealFamily ๐•œ) (L : F โ†’L[๐•œ] G) (A : E โ†’L[๐•œ] F) :

    Left composition by a bounded map, the R = 1 case of the ideal law.

    theorem TauCeti.OperatorIdealFamily.gauge_comp_right_le {๐•œ : Type u} [RCLike ๐•œ] {E H : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup H] [InnerProductSpace ๐•œ H] [CompleteSpace H] (N : OperatorIdealFamily ๐•œ) (A : E โ†’L[๐•œ] F) (R : H โ†’L[๐•œ] E) :

    Right composition by a bounded map, the L = 1 case of the ideal law.

    theorem TauCeti.OperatorIdealFamily.gauge_comp_left_le_of_norm_le_one {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F G : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [CompleteSpace G] (N : OperatorIdealFamily ๐•œ) {L : F โ†’L[๐•œ] G} (hL : โ€–Lโ€–โ‚‘ โ‰ค 1) (A : E โ†’L[๐•œ] F) :

    Left composition by a contraction does not increase the gauge.

    theorem TauCeti.OperatorIdealFamily.gauge_comp_right_le_of_norm_le_one {๐•œ : Type u} [RCLike ๐•œ] {E H : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup H] [InnerProductSpace ๐•œ H] [CompleteSpace H] (N : OperatorIdealFamily ๐•œ) (A : E โ†’L[๐•œ] F) {R : H โ†’L[๐•œ] E} (hR : โ€–Rโ€–โ‚‘ โ‰ค 1) :

    Right composition by a contraction does not increase the gauge.

    theorem TauCeti.OperatorIdealFamily.gauge_comp_le_of_norm_le_one {๐•œ : Type u} [RCLike ๐•œ] {E H : Type v} {F G : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [CompleteSpace G] [NormedAddCommGroup H] [InnerProductSpace ๐•œ H] [CompleteSpace H] (N : OperatorIdealFamily ๐•œ) {L : F โ†’L[๐•œ] G} {A : E โ†’L[๐•œ] F} {R : H โ†’L[๐•œ] E} (hL : โ€–Lโ€–โ‚‘ โ‰ค 1) (hR : โ€–Rโ€–โ‚‘ โ‰ค 1) :

    Two-sided composition by contractions does not increase the gauge.

    def TauCeti.OperatorIdealFamily.carrier {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) :
    Submodule ๐•œ (E โ†’L[๐•œ] F)

    The ideal itself: the operators of finite gauge, as a submodule.

    Closure under 0, + and โ€ข is a consequence of the gauge laws, so the module structure of the ideal does not have to be assumed.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.OperatorIdealFamily.mem_carrier_iff {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {A : E โ†’L[๐•œ] F} :

      Membership in the ideal is exactly finiteness of the gauge; the carrier is defined that way, so this is Iff.rfl and exists only to spare call sites the unfolding.

      theorem TauCeti.OperatorIdealFamily.gauge_ne_top_of_mem {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {A : E โ†’L[๐•œ] F} (hA : A โˆˆ N.carrier) :

      Members of the ideal have finite gauge.

      theorem TauCeti.OperatorIdealFamily.gauge_lt_top_of_mem {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {A : E โ†’L[๐•œ] F} (hA : A โˆˆ N.carrier) :

      Members of the ideal have gauge < โˆž, the strict form.

      theorem TauCeti.OperatorIdealFamily.comp_mem_carrier {๐•œ : Type u} [RCLike ๐•œ] {E H : Type v} {F G : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [CompleteSpace G] [NormedAddCommGroup H] [InnerProductSpace ๐•œ H] [CompleteSpace H] (N : OperatorIdealFamily ๐•œ) (L : F โ†’L[๐•œ] G) {A : E โ†’L[๐•œ] F} (R : H โ†’L[๐•œ] E) (hA : A โˆˆ N.carrier) :

      Membership in the ideal is stable under outer composition.

      theorem TauCeti.OperatorIdealFamily.sum_mem_carrier {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {ฮน : Type u_1} (s : Finset ฮน) {A : ฮน โ†’ E โ†’L[๐•œ] F} (hA : โˆ€ i โˆˆ s, A i โˆˆ N.carrier) :
      โˆ‘ i โˆˆ s, A i โˆˆ N.carrier

      The ideal is closed under finite sums โ€” Submodule.sum_mem for the carrier, with no separate closure axiom.

      def TauCeti.OperatorIdealFamily.Elem {๐•œ : Type u} [RCLike ๐•œ] (N : OperatorIdealFamily ๐•œ) (E : Type v) (F : Type w) [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] :
      Type (max v w)

      The ideal between E and F, as a type carrying the ideal norm.

      This is deliberately a type synonym rather than the subtype itself: the subtype already inherits the operator norm from E โ†’L[๐•œ] F, and the two norms differ.

      @[expose], and this is the one place in the group that needs it. Elem is a type: the compiler has to see that it is a subtype in order to infer the same representation for Elem.val and Elem.mk here as in any consuming module, and it says so โ€” "locally inferred compilation type differs from type that would be inferred in other modules". That is not the api-design rubric's expose-instead-of-a-lemma anti-pattern, which is about proofs relying on defeq; no lemma can substitute for a type's representation.

      Equations
      Instances For
        def TauCeti.OperatorIdealFamily.Elem.val {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :
        E โ†’L[๐•œ] F

        The underlying operator of an ideal element.

        Equations
        Instances For
          theorem TauCeti.OperatorIdealFamily.Elem.val_mem {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :

          The underlying operator of an ideal element lies in the ideal.

          theorem TauCeti.OperatorIdealFamily.Elem.gauge_val_ne_top {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :

          An ideal element has finite gauge -- the fact that makes toReal lossless on it, and hence the reason the ideal norm can be real-valued while the gauge is โ„โ‰ฅ0โˆž-valued.

          def TauCeti.OperatorIdealFamily.Elem.mk {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} {A : E โ†’L[๐•œ] F} (hA : A โˆˆ N.carrier) :
          N.Elem E F

          An operator of finite gauge, as an element of the ideal.

          Equations
          Instances For
            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_mk {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} {A : E โ†’L[๐•œ] F} (hA : A โˆˆ N.carrier) :
            (mk hA).val = A

            Building an ideal element and taking its value is the identity.

            theorem TauCeti.OperatorIdealFamily.Elem.ext {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} {A B : N.Elem E F} (h : A.val = B.val) :
            A = B

            Ideal elements are equal when their underlying operators are. Tagged @[ext], so ext reduces any such goal to the operators.

            theorem TauCeti.OperatorIdealFamily.Elem.ext_iff {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} {A B : N.Elem E F} :
            A = B โ†” A.val = B.val
            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.mk_val {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :
            mk โ‹ฏ = A

            Taking an ideal element's value and rebuilding is the identity โ€” the companion of val_mk, in the direction a round-trip equivalence needs.

            Written when Family/OperatorNorm.lean's left_inv field stopped being rfl: without Elem's body exposed, mk A.val_mem = A is not definitional, and the right answer to that is the lemma rather than the exposure.

            @[instance_reducible]
            instance TauCeti.OperatorIdealFamily.Elem.instAddCommGroup {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} :

            The ideal is an additive subgroup of the bounded operators, inherited from its carrier.

            Equations
            • One or more equations did not get rendered due to their size.
            @[instance_reducible]
            instance TauCeti.OperatorIdealFamily.Elem.instModule {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} :
            Module ๐•œ (N.Elem E F)

            The ideal is a ๐•œ-submodule, inherited from its carrier.

            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_zero {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} :
            val 0 = 0

            The zero ideal element is the zero operator.

            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_add {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A B : N.Elem E F) :
            (A + B).val = A.val + B.val

            Addition of ideal elements is addition of operators.

            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_neg {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :
            (-A).val = -A.val

            Negation of an ideal element is negation of the operator.

            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_sub {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A B : N.Elem E F) :
            (A - B).val = A.val - B.val

            Subtraction of ideal elements is subtraction of operators.

            @[simp]
            theorem TauCeti.OperatorIdealFamily.Elem.val_smul {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (c : ๐•œ) (A : N.Elem E F) :

            Scaling an ideal element scales the operator.

            @[instance_reducible]
            noncomputable instance TauCeti.OperatorIdealFamily.Elem.instNormedAddCommGroup {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} :

            The ideal norm, as a real-valued norm on the ideal.

            Equations
            • One or more equations did not get rendered due to their size.
            theorem TauCeti.OperatorIdealFamily.Elem.norm_def {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :

            The ideal norm is the gauge, brought down to โ„. Lossless because gauge_val_ne_top.

            theorem TauCeti.OperatorIdealFamily.Elem.enorm_eq_gauge {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} (A : N.Elem E F) :

            Going back up: the extended norm of an ideal element is its gauge exactly, with no toReal round-trip loss.

            @[instance_reducible]
            noncomputable instance TauCeti.OperatorIdealFamily.Elem.instNormedSpace {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} :
            NormedSpace ๐•œ (N.Elem E F)

            The ideal norm is a norm on a ๐•œ-vector space; homogeneity transfers from gauge_smul through toReal.

            Equations

            The ideal embeds contractively into the bounded operators: the ideal norm dominates the operator norm.

            theorem TauCeti.OperatorIdealFamily.Elem.cauchySeq_val {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] {N : OperatorIdealFamily ๐•œ} {a : โ„• โ†’ N.Elem E F} (ha : CauchySeq a) :
            CauchySeq fun (n : โ„•) => (a n).val

            A gauge-Cauchy sequence is operator-norm Cauchy, because the ideal norm dominates the operator norm.

            This is the first step of every IsComplete proof: get a limit in the ambient bounded operators, then show it stays in the ideal. It was written out identically in all four of HilbertSchmidt, KyFan, Schatten and TraceClass, three of them character for character.

            class TauCeti.OperatorIdealFamily.IsComplete {๐•œ : Type u} [RCLike ๐•œ] (N : OperatorIdealFamily ๐•œ) :

            Completeness of an ideal family, stated as CompleteSpace for the ideal norm rather than as a hand-rolled Cauchy criterion.

            Completeness of the target is available from the ambient assumptions, exactly as for E โ†’L[๐•œ] F: an ideal norm cannot repair an incomplete target.

            Instances

              Unpacks IsComplete into the CompleteSpace instance that instance search needs; the class quantifies over the two spaces, so it cannot be used directly.

              theorem TauCeti.OperatorIdealFamily.gauge_blockSum_le {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} {F : Type w} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [CompleteSpace F] (N : OperatorIdealFamily ๐•œ) {T : E โ†’L[๐•œ] F} {Pโ‚ Pโ‚‚ : E โ†’L[๐•œ] E} {Qโ‚ Qโ‚‚ : F โ†’L[๐•œ] F} (hPโ‚ : โ€–Pโ‚โ€– โ‰ค 1) (hPโ‚‚ : โ€–Pโ‚‚โ€– โ‰ค 1) (hQโ‚ : โ€–Qโ‚โ€– โ‰ค 1) (hQโ‚‚ : โ€–Qโ‚‚โ€– โ‰ค 1) (hsplit : Qโ‚ โˆ˜SL T โˆ˜SL Pโ‚ + Qโ‚‚ โˆ˜SL T โˆ˜SL Pโ‚‚ = T) :
              max (N.gauge (Qโ‚ โˆ˜SL T โˆ˜SL Pโ‚)) (N.gauge (Qโ‚‚ โˆ˜SL T โˆ˜SL Pโ‚‚)) โ‰ค N.gauge T โˆง N.gauge T โ‰ค N.gauge (Qโ‚ โˆ˜SL T โˆ˜SL Pโ‚) + N.gauge (Qโ‚‚ โˆ˜SL T โˆ˜SL Pโ‚‚)

              Block sums: the gauge is squeezed between the maximum and the sum of the two block gauges.

              For an operator split as T = Qโ‚ T Pโ‚ + Qโ‚‚ T Pโ‚‚ with all four factors contractive โ€” the shape a block-diagonal decomposition of source and target produces.

              Both halves are formal from the family laws. The upper bound is gauge_add_le on the splitting; the lower is gauge_comp_le, the two-sided ideal law, with the contractivity hypotheses collapsing โ€–Qโ€–โ‚‘ * ยท * โ€–Pโ€–โ‚‘ to ยท. No approximation-number reasoning enters.

              The general block statement โ€” that the approximation-number sequence of a block-diagonal sum is the decreasing rearrangement of the union of the summands' sequences โ€” is genuinely harder and is not what this needs; anyone reaching for a rearrangement theorem here is solving the wrong problem.

              structure TauCeti.SymmetricOperatorIdealFamily (๐•œ : Type u) [RCLike ๐•œ] extends TauCeti.OperatorIdealFamily ๐•œ :
              Type (max u (v + 1))

              A symmetric (adjoint-invariant) operator ideal family on Hilbert spaces.

              Adjoint invariance is stated on the diagonal instantiation of OperatorIdealFamily because ContinuousLinearMap.adjoint exchanges the source and target spaces: a family closed under adjoints cannot keep the two universes independent.

              Instances For
                theorem TauCeti.SymmetricOperatorIdealFamily.ext {๐•œ : Type u} [RCLike ๐•œ] {N M : SymmetricOperatorIdealFamily ๐•œ} (h : โˆ€ {E F : Type v} [inst : NormedAddCommGroup E] [inst_1 : InnerProductSpace ๐•œ E] [inst_2 : CompleteSpace E] [inst_3 : NormedAddCommGroup F] [inst_4 : InnerProductSpace ๐•œ F] [inst_5 : CompleteSpace F] (A : E โ†’L[๐•œ] F), N.gauge A = M.gauge A) :
                N = M

                A symmetric family is determined by its gauge, the same way an OperatorIdealFamily is: the extra field is a Prop, so once the underlying families agree there is nothing left to compare.

                Without this, an equality of two symmetric families has to be proved by destructuring both, which does not go through โ€” the hypothesis still mentions the undestructured terms.

                theorem TauCeti.SymmetricOperatorIdealFamily.ext_iff {๐•œ : Type u} [RCLike ๐•œ] {N M : SymmetricOperatorIdealFamily ๐•œ} :
                N = M โ†” โˆ€ {E F : Type v} [inst : NormedAddCommGroup E] [inst_1 : InnerProductSpace ๐•œ E] [inst_2 : CompleteSpace E] [inst_3 : NormedAddCommGroup F] [inst_4 : InnerProductSpace ๐•œ F] [inst_5 : CompleteSpace F] (A : E โ†’L[๐•œ] F), N.gauge A = M.gauge A

                The ideal of a symmetric family is stable under adjoints.