Documentation

LeanPool.AbstractLinearControl.ZeroClass

Every L^โˆž system is zero-class (Theorem 1.5) #

Theorem 1.5 (thm:p-infty-zero-class). Let X, U be Banach spaces and (๐•‹, ฮฆ) an abstract linear control system with p = โˆž. Then the system is of the zero-class, i.e. โ€–ฮฆ_tโ€– โ†’ 0 as t โ†’ 0.

The final statement is ALCS.zero_class, at the end of this file. The auxiliary declarations live in the namespace ALCS.ZeroClassProof and follow ยง 2.3 of the paper:

Difference with the paper in Step 3 #

The paper plays the pulses one after the other on consecutive intervals [s_n, s_{n+1}) and evaluates at the accumulated time H = ฮฃ h_k. Here each pulse gets its own free-evolution time r_n โˆˆ (0, h_n], chosen in Step 2 so that โ€–T_{r_n} x_n - x_nโ€– โ‰ค 2^{-n}, and the n-th pulse is played on [1 - r_n - h_n, 1 - r_n), with zero input in the gaps; the operator is evaluated at time 1. Then S e_n = T_{r_n} x_n exactly. This changes the bookkeeping, not the argument. The scalar field is โ„ or โ„‚ (RCLike ๐•œ), as required by Phillips' lemma.

Step 1: the doubling inequality #

theorem AbstractLinearControl.ALCS.ZeroClassProof.doubling {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) {h : โ„} (hh : 0 โ‰ค h) (u : โ†ฅ(MeasureTheory.Lp U โŠค muPlus)) (hu : โ€–uโ€– โ‰ค 1) :

Step 1, the doubling inequality eq:doubling: for h โ‰ฅ 0 and โ€–uโ€– โ‰ค 1, 2 โ€–ฮฆ_h uโ€– โ‰ค ฮบ(2h) + โ€–T_h (ฮฆ_h u) - ฮฆ_h uโ€–, obtained by playing u twice in a row.

Step 2: nearly extremal pulses on rapidly decreasing time scales #

theorem AbstractLinearControl.ALCS.ZeroClassProof.exists_near_extremal {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (h ฮต : โ„) (hฮต : 0 < ฮต) :

An input of norm at most one which almost realizes ฮบ(h) = โ€–ฮฆ hโ€–.

A pulse of length h: a control of norm at most one, given by an actual (everywhere defined) representative vanishing outside [0, h).

Instances For

    The pulse, as an element of L^โˆž(โ„โ‚Š; U).

    Equations
    Instances For
      theorem AbstractLinearControl.ALCS.ZeroClassProof.Pulse.coe_input {U : Type u_3} [NormedAddCommGroup U] {h : โ„} (P : Pulse U h) :
      โ†‘โ†‘P.input =แต[muPlus] P.f
      theorem AbstractLinearControl.ALCS.ZeroClassProof.Pulse.free_rep {U : Type u_3} [NormedAddCommGroup U] {h : โ„} (P : Pulse U h) :
      โ†‘โ†‘P.input =แต[muPlus] concat h โ†‘โ†‘P.input โ†‘โ†‘0

      A pulse of length h is switched off after time h: P = P โ‹„_h 0.

      theorem AbstractLinearControl.ALCS.ZeroClassProof.exists_pulse {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (h : โ„) (hh : 0 โ‰ค h) (ฮต : โ„) (hฮต : 0 < ฮต) :
      โˆƒ (P : Pulse U h), โ€–S.ฮฆ hโ€– - ฮต โ‰ค โ€–(S.ฮฆ h) P.inputโ€–

      A nearly extremal input can be chosen to be a pulse (by causality eq:causality, truncating it at time h does not change ฮฆ_h u).

      The accuracy 2^{-n} of the n-th selection.

      Equations
      Instances For
        structure AbstractLinearControl.ALCS.ZeroClassProof.FrozenPulse {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (h : โ„) :
        Type u_3

        The data selected at step n of Step 2: a nearly extremal pulse of length h (eq:xn-extremal), and a free-evolution time r โˆˆ (0, h] during which its state is essentially frozen by the semigroup (the analogue of eq:hn-fast).

        Instances For
          theorem AbstractLinearControl.ALCS.ZeroClassProof.frozenPulse_nonempty {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (h : โ„) (hh : 0 < h) :
          noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.choosePulse {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (h : โ„) (hh : 0 < h) :

          Classical choice is used only to choose actual witnesses to proved existences.

          Equations
          Instances For
            noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.positiveTimes {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
            โ„• โ†’ { h : โ„ // 0 < h }

            The time scales, defined recursively: h 0 = 1/4 and h (n + 1) = r n / 4, so that the next pulse fits inside the free-evolution interval of the previous one.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.h {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :

              The time scale h_n.

              Equations
              Instances For
                noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.data {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                FrozenPulse S n (h S n)

                The pulse u_n and the free-evolution time r_n selected at step n.

                Equations
                Instances For
                  noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.r {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :

                  The free-evolution time r_n โˆˆ (0, h_n].

                  Equations
                  Instances For
                    noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.x {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                    X

                    The state x_n = ฮฆ_{h_n} u_n.

                    Equations
                    Instances For
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_pos {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      0 < h S n
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.r_pos {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      0 < r S n
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.r_le_h {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      r S n โ‰ค h S n
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_zero {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                      h S 0 = 1 / 4
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_succ {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      h S (n + 1) = r S n / 4
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_succ_le {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      h S (n + 1) โ‰ค h S n / 2
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_le_quarter {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      h S n โ‰ค 1 / 4
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_geometric {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      h S n โ‰ค err n / 4
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.h_tendsto {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.x_near {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.x_le {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      theorem AbstractLinearControl.ALCS.ZeroClassProof.x_frozen {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                      โ€–(S.T (r S n)) (x S n) - x S nโ€– โ‰ค err n

                      Step 3: packing the pulses into one bounded operator โ„“^โˆž โ†’ X #

                      noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.start {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :

                      The n-th pulse is played on window n = [start n, start n + h n), where start n = 1 - r n - h n. These windows are pairwise disjoint subsets of [0, 1).

                      Equations
                      Instances For
                        def AbstractLinearControl.ALCS.ZeroClassProof.window {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :

                        The interval on which the n-th pulse is played.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.block {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (t : โ„) :
                          U

                          The n-th pulse, delayed so that it is played on window n.

                          Equations
                          Instances For
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.start_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.finish_le_next {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                            start S n + h S n โ‰ค start S (n + 1)
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.start_mono {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.finish_le_start {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) {i j : โ„•} (hij : i < j) :
                            start S i + h S i โ‰ค start S j
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.window_unique {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) {i j : โ„•} {t : โ„} (hi : t โˆˆ window S i) (hj : t โˆˆ window S j) :
                            i = j
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.block_measurable {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.block_bound {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (t : โ„) :
                            theorem AbstractLinearControl.ALCS.ZeroClassProof.block_off {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) {t : โ„} (ht : t โˆ‰ window S n) :
                            block S n t = 0
                            noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.packRaw {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                            โ„ โ†’ U

                            The packed control u^ฮฑ (raw function): on window n it is ฮฑ_n times the n-th pulse, and it vanishes outside the windows.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_on {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) {n : โ„•} {t : โ„} (ht : t โˆˆ window S n) :
                              packRaw S a t = a n โ€ข block S n t
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_off {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) {t : โ„} (ht : ยฌโˆƒ (n : โ„•), t โˆˆ window S n) :
                              packRaw S a t = 0
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_add {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a b : Phillips.Linfty ๐•œ) (t : โ„) :
                              packRaw S (a + b) t = packRaw S a t + packRaw S b t
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_smul {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (c : ๐•œ) (a : Phillips.Linfty ๐•œ) (t : โ„) :
                              packRaw S (c โ€ข a) t = c โ€ข packRaw S a t
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_bound {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) (t : โ„) :
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.partial_sums_eventually {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) (t : โ„) :
                              โˆ€แถ  (N : โ„•) in Filter.atTop, โˆ‘ n โˆˆ Finset.range N, a n โ€ข block S n t = packRaw S a t

                              At every time the partial sums eventually equal the glued function. This uses pointwise disjointness, not convergence of a series in the L-infinity norm.

                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_measurable {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                              theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_memLp {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                              noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.packedInput {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :

                              The packed control u^ฮฑ โˆˆ L^โˆž(โ„โ‚Š; U).

                              Equations
                              Instances For
                                theorem AbstractLinearControl.ALCS.ZeroClassProof.packedInput_ae {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                                โ†‘โ†‘(packedInput S a) =แต[muPlus] packRaw S a
                                theorem AbstractLinearControl.ALCS.ZeroClassProof.packedInput_norm {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                                theorem AbstractLinearControl.ALCS.ZeroClassProof.packedInput_add {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a b : Phillips.Linfty ๐•œ) :
                                theorem AbstractLinearControl.ALCS.ZeroClassProof.packedInput_smul {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (c : ๐•œ) (a : Phillips.Linfty ๐•œ) :
                                noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.packing {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :

                                The contraction ฮฑ โ†ฆ u^ฮฑ from โ„“^โˆž to L^โˆž(โ„โ‚Š; U).

                                Equations
                                Instances For
                                  theorem AbstractLinearControl.ALCS.ZeroClassProof.packing_ae {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (a : Phillips.Linfty ๐•œ) :
                                  โ†‘โ†‘((packing S) a) =แต[muPlus] packRaw S a
                                  theorem AbstractLinearControl.ALCS.ZeroClassProof.packRaw_e {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) (t : โ„) :
                                  packRaw S (Phillips.e n) t = block S n t
                                  noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.packedOperator {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                                  Phillips.Linfty ๐•œ โ†’L[๐•œ] X

                                  The operator S : โ„“^โˆž โ†’ X, S ฮฑ = ฮฆ_1 u^ฮฑ.

                                  Equations
                                  Instances For
                                    theorem AbstractLinearControl.ALCS.ZeroClassProof.packedOperator_e {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :
                                    (packedOperator S) (Phillips.e n) = (S.T (r S n)) (x S n)

                                    S e_n = T_{r_n} x_n: the n-th state, after it has evolved freely during the time r_n (by eq:delay and then eq:free).

                                    theorem AbstractLinearControl.ALCS.ZeroClassProof.packedOperator_close {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (n : โ„•) :

                                    โ€–S e_n - x_nโ€– โ‰ค 2^{-n}, equation eq:Sen-xn.

                                    The limit โ„“ of ฮบ(t) as t โ†’ 0โบ (eq:ell) #

                                    def AbstractLinearControl.ALCS.ZeroClassProof.normRange {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :

                                    The possible input-map norms at strictly positive times.

                                    Equations
                                    Instances For
                                      theorem AbstractLinearControl.ALCS.ZeroClassProof.normRange_nonempty {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                                      theorem AbstractLinearControl.ALCS.ZeroClassProof.normRange_bddBelow {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                                      noncomputable def AbstractLinearControl.ALCS.ZeroClassProof.ell {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :

                                      โ„“ = inf_{t > 0} ฮบ(t), equation eq:ell.

                                      Equations
                                      Instances For
                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.ell_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :
                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.ell_le {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (t : โ„) (ht : 0 < t) :
                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.exists_norm_lt {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (ฮต : โ„) (hฮต : 0 < ฮต) :
                                        โˆƒ (t : โ„), 0 < t โˆง โ€–S.ฮฆ tโ€– < ell S + ฮต
                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.norm_Phi_tendsto {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) (t : โ„• โ†’ โ„) (htpos : โˆ€ (n : โ„•), 0 < t n) (ht : Filter.Tendsto t Filter.atTop (nhds 0)) :

                                        Monotonicity identifies the norm limit along every positive null sequence.

                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.x_norm_tendsto {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) :

                                        First half of eq:goal: โ€–x_nโ€– โ†’ โ„“.

                                        Step 4: conclusion with Lemma 2.3 #

                                        theorem AbstractLinearControl.ALCS.ZeroClassProof.x_moves_tendsto {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] (S : ALCS ๐•œ X U โŠค) [CompleteSpace X] :
                                        Filter.Tendsto (fun (n : โ„•) => โ€–(S.T (h S n)) (x S n) - x S nโ€–) Filter.atTop (nhds 0)

                                        Second half of eq:goal: โ€–T_{h_n} x_n - x_nโ€– โ†’ 0. By Lemma 2.3 (Phillips.uniform), โ€–(T_{h_n} - Id) S e_nโ€– โ†’ 0, and S e_n is 2^{-n}-close to x_n.

                                        theorem AbstractLinearControl.ALCS.zero_class {๐•œ : Type u_1} [RCLike ๐•œ] {X : Type u_2} [NormedAddCommGroup X] [NormedSpace ๐•œ X] {U : Type u_3} [NormedAddCommGroup U] [NormedSpace ๐•œ U] [CompleteSpace X] (S : ALCS ๐•œ X U โŠค) :

                                        Theorem 1.5 (thm:p-infty-zero-class). Let X, U be real or complex Banach spaces and S = (๐•‹, ฮฆ) an abstract linear control system with p = โˆž. Then S is of the zero-class: โ€–ฮฆ tโ€– โ†’ 0 as t โ†’ 0โบ.

                                        Proof: by Steps 2โ€“4, โ€–x_nโ€– โ†’ โ„“ and โ€–T_{h_n} x_n - x_nโ€– โ†’ 0; passing to the limit in the doubling inequality of Step 1 gives 2โ„“ โ‰ค โ„“, hence โ„“ = 0.