Documentation

Analysis.Section_6_1

@[reducible, inline]
abbrev Real.Close (ε x y : ℝ) :
Equations
Instances For
    theorem Real.close_def (ε x y : ℝ) :
    ε.Close x y ↔ dist x y ≤ ε

    Definition 6.1.2 (ε-close). This is similar to the previous notion of ε-closeness, but where all quantities are real instead of rational.

    Definition 6.1.3 (Sequence). This is similar to the Chapter 5 sequence, except that now the sequence is real-valued. As with Chapter 5, we start sequences from 0 by default.

    Instances For
      theorem Chapter6.Sequence.ext_iff {x y : Sequence} :
      x = y ↔ x.m = y.m ∧ x.seq = y.seq
      theorem Chapter6.Sequence.ext {x y : Sequence} (m : x.m = y.m) (seq : x.seq = y.seq) :
      x = y
      @[implicit_reducible]

      Sequences can be thought of as functions from ℤ to ℝ.

      Equations
      @[reducible, inline]
      Equations
      Instances For
        @[implicit_reducible]

        Functions from ℕ to ℝ can be thought of as sequences.

        Equations
        @[reducible, inline]
        abbrev Chapter6.Sequence.mk' (m : ℤ) (a : { n : ℤ // n ≥ m } → ℝ) :
        Equations
        Instances For
          theorem Chapter6.Sequence.eval_mk {n m : ℤ} (a : { n : ℤ // n ≥ m } → ℝ) (h : n ≥ m) :
          (mk' m a).seq n = a ⟨n, h⟩
          @[simp]
          theorem Chapter6.Sequence.eval_coe (n : ℕ) (a : ℕ → ℝ) :
          (↑a).seq ↑n = a n
          @[reducible, inline]

          a.from n₁ starts a : Sequence from n₁. It is intended for use when n₁ ≥ n₀, but returns the "junk" value of the original sequence a otherwise.

          Equations
          Instances For
            theorem Chapter6.Sequence.from_eval (a : Sequence) {m₁ n : ℤ} (hn : n ≥ m₁) :
            (a.from m₁).seq n = a.seq n
            @[reducible, inline]
            abbrev Real.Steady (ε : ℝ) (a : Chapter6.Sequence) :

            Definition 6.1.3 (ε-steady)

            Equations
            Instances For
              theorem Real.steady_def (ε : ℝ) (a : Chapter6.Sequence) :
              ε.Steady a ↔ ∀ n ≥ a.m, ∀ m ≥ a.m, ε.Close (a.seq n) (a.seq m)

              Definition 6.1.3 (ε-steady, def)

              @[reducible, inline]

              Definition 6.1.3 (Eventually ε-steady)

              Equations
              Instances For
                theorem Real.eventuallySteady_def (ε : ℝ) (a : Chapter6.Sequence) :
                ε.EventuallySteady a ↔ ∃ N ≥ a.m, ε.Steady (a.from N)

                Definition 6.1.3 (Eventually ε-steady, def)

                theorem Real.Steady.mono {a : Chapter6.Sequence} {ε₁ ε₂ : ℝ} (hε : ε₁ ≤ ε₂) (hsteady : ε₁.Steady a) :
                ε₂.Steady a

                For fixed a, the function ε ↦ ε.Steady s is monotone

                theorem Real.EventuallySteady.mono {a : Chapter6.Sequence} {ε₁ ε₂ : ℝ} (hε : ε₁ ≤ ε₂) (hsteady : ε₁.EventuallySteady a) :

                For fixed a, the function ε ↦ ε.EventuallySteady s is monotone

                @[reducible, inline]

                Definition 6.1.3 (Cauchy sequence)

                Equations
                Instances For

                  Definition 6.1.3 (Cauchy sequence, def)

                  theorem Chapter6.Sequence.IsCauchy.coe (a : ℕ → ℝ) :
                  (↑a).IsCauchy ↔ ∀ ε > 0, ∃ (N : ℕ), ∀ j ≥ N, ∀ k ≥ N, dist (a j) (a k) ≤ ε

                  This is almost the same as Chapter5.Sequence.IsCauchy.coe

                  theorem Chapter6.Sequence.IsCauchy.mk {n₀ : ℤ} (a : { n : ℤ // n ≥ n₀ } → ℝ) :
                  (mk' n₀ a).IsCauchy ↔ ∀ ε > 0, ∃ N ≥ n₀, ∀ j ≥ N, ∀ k ≥ N, dist ((mk' n₀ a).seq j) ((mk' n₀ a).seq k) ≤ ε
                  @[reducible, inline]
                  Equations
                  • ↑a = { m := a.n₀, seq := fun (n : ℤ) => ↑(a.seq n), vanish := ⋯ }
                  Instances For
                    @[simp]
                    theorem Chapter6.Chapter5.coe_sequence_eval (a : Chapter5.Sequence) (n : ℤ) :
                    (↑a).seq n = ↑(a.seq n)
                    @[reducible, inline]
                    abbrev Real.CloseSeq (ε : ℝ) (a : Chapter6.Sequence) (L : ℝ) :

                    Definition 6.1.5 (CloseSeq)

                    Equations
                    Instances For
                      theorem Real.closeSeq_def (ε : ℝ) (a : Chapter6.Sequence) (L : ℝ) :
                      ε.CloseSeq a L ↔ ∀ n ≥ a.m, dist (a.seq n) L ≤ ε

                      Definition 6.1.5 (CloseSeq, def)

                      @[reducible, inline]

                      Definition 6.1.5 (EventuallyClose)

                      Equations
                      Instances For
                        theorem Real.eventuallyClose_def (ε : ℝ) (a : Chapter6.Sequence) (L : ℝ) :
                        ε.EventuallyClose a L ↔ ∃ N ≥ a.m, ε.CloseSeq (a.from N) L

                        Definition 6.1.5 (EventuallyClose, def)

                        theorem Real.CloseSeq.coe (ε : ℝ) (a : ℕ → ℝ) (L : ℝ) :
                        ε.CloseSeq (↑a) L ↔ ∀ (n : ℕ), dist (a n) L ≤ ε
                        theorem Real.CloseSeq.mono {a : Chapter6.Sequence} {ε₁ ε₂ L : ℝ} (hε : ε₁ ≤ ε₂) (hclose : ε₁.CloseSeq a L) :
                        ε₂.CloseSeq a L
                        theorem Real.EventuallyClose.mono {a : Chapter6.Sequence} {ε₁ ε₂ L : ℝ} (hε : ε₁ ≤ ε₂) (hclose : ε₁.EventuallyClose a L) :
                        ε₂.EventuallyClose a L
                        @[reducible, inline]
                        Equations
                        Instances For
                          theorem Chapter6.Sequence.tendsTo_def (a : Sequence) (L : ℝ) :
                          a.TendsTo L ↔ ∀ ε > 0, ε.EventuallyClose a L
                          theorem Chapter6.Sequence.tendsTo_iff (a : Sequence) (L : ℝ) :
                          a.TendsTo L ↔ ∀ ε > 0, ∃ (N : ℤ), ∀ n ≥ N, |a.seq n - L| ≤ ε

                          Exercise 6.1.2

                          noncomputable def Chapter6.seq_6_1_6 :
                          Equations
                          Instances For
                            theorem Chapter6.Sequence.tendsTo_unique (a : Sequence) {L L' : ℝ} (h : L ≠ L') :
                            ¬(a.TendsTo L ∧ a.TendsTo L')

                            Proposition 6.1.7 (Uniqueness of limits)

                            @[reducible, inline]

                            Definition 6.1.8 (Convergent)

                            Equations
                            Instances For

                              Definition 6.1.8 (Convergent, def)

                              @[reducible, inline]

                              Definition 6.1.8 (Divergent)

                              Equations
                              Instances For

                                Definition 6.1.8 (Divergent, def)

                                @[reducible, inline]
                                noncomputable abbrev Chapter6.lim (a : Sequence) :

                                Definition 6.1.8. We give the limit of a sequence the junk value of 0 if it is not convergent.

                                Equations
                                Instances For

                                  Definition 6.1.8 (lim, def)

                                  Definition 6.1.8 (lim, characterization)

                                  theorem Chapter6.Sequence.lim_harmonic :
                                  (↑fun (n : ℕ) => (↑n + 1)⁻¹).Convergent ∧ (lim ↑fun (n : ℕ) => (↑n + 1)⁻¹) = 0

                                  Proposition 6.1.11

                                  Proposition 6.1.12 / Exercise 6.1.5

                                  theorem Chapter6.Sequence.lim_eq_LIM {a : ℕ → ℚ} (h : (↑a).IsCauchy) :

                                  Proposition 6.1.15 / Exercise 6.1.6 (Formal limits are genuine limits)

                                  @[reducible, inline]

                                  Definition 6.1.16 (BoundedBy)

                                  Equations
                                  Instances For
                                    theorem Chapter6.Sequence.boundedBy_def (a : Sequence) (M : ℝ) :
                                    a.BoundedBy M ↔ ∀ (n : ℤ), |a.seq n| ≤ M

                                    Definition 6.1.16 (BoundedBy, def)

                                    @[reducible, inline]

                                    Definition 6.1.16 (IsBounded)

                                    Equations
                                    Instances For

                                      Definition 6.1.16 (IsBounded, def)

                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.add_eval {a b : Sequence} (n : ℤ) :
                                      (a + b).seq n = a.seq n + b.seq n
                                      theorem Chapter6.Sequence.add_coe (a b : ℕ → ℝ) :
                                      ↑a + ↑b = ↑fun (n : ℕ) => a n + b n
                                      theorem Chapter6.Sequence.tendsTo_add {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) :
                                      (a + b).TendsTo (L + M)

                                      Theorem 6.1.19(a) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.lim_add {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) :
                                      (a + b).Convergent ∧ lim (a + b) = lim a + lim b
                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.mul_eval {a b : Sequence} (n : ℤ) :
                                      (a * b).seq n = a.seq n * b.seq n
                                      theorem Chapter6.Sequence.mul_coe (a b : ℕ → ℝ) :
                                      ↑a * ↑b = ↑fun (n : ℕ) => a n * b n
                                      theorem Chapter6.Sequence.tendsTo_mul {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) :
                                      (a * b).TendsTo (L * M)

                                      Theorem 6.1.19(b) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.lim_mul {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) :
                                      (a * b).Convergent ∧ lim (a * b) = lim a * lim b
                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.smul_eval {a : Sequence} (c : ℝ) (n : ℤ) :
                                      (c • a).seq n = c * a.seq n
                                      theorem Chapter6.Sequence.smul_coe (c : ℝ) (a : ℕ → ℝ) :
                                      c • ↑a = ↑fun (n : ℕ) => c * a n
                                      theorem Chapter6.Sequence.tendsTo_smul (c : ℝ) {a : Sequence} {L : ℝ} (ha : a.TendsTo L) :
                                      (c • a).TendsTo (c * L)

                                      Theorem 6.1.19(c) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.lim_smul (c : ℝ) {a : Sequence} (ha : a.Convergent) :
                                      (c • a).Convergent ∧ lim (c • a) = c * lim a
                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.sub_eval {a b : Sequence} (n : ℤ) :
                                      (a - b).seq n = a.seq n - b.seq n
                                      theorem Chapter6.Sequence.sub_coe (a b : ℕ → ℝ) :
                                      ↑a - ↑b = ↑fun (n : ℕ) => a n - b n
                                      theorem Chapter6.Sequence.tendsTo_sub {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) :
                                      (a - b).TendsTo (L - M)

                                      Theorem 6.1.19(d) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.LIM_sub {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) :
                                      (a - b).Convergent ∧ lim (a - b) = lim a - lim b
                                      @[implicit_reducible]
                                      noncomputable instance Chapter6.Sequence.inst_inv :
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.inv_eval {a : Sequence} (n : ℤ) :
                                      a⁻¹.seq n = (a.seq n)⁻¹
                                      theorem Chapter6.Sequence.inv_coe (a : ℕ → ℝ) :
                                      (↑a)⁻¹ = ↑fun (n : ℕ) => (a n)⁻¹
                                      theorem Chapter6.Sequence.tendsTo_inv {a : Sequence} {L : ℝ} (ha : a.TendsTo L) (hnon : L ≠ 0) :

                                      Theorem 6.1.19(e) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      @[implicit_reducible]
                                      noncomputable instance Chapter6.Sequence.inst_div :
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.div_eval {a b : Sequence} (n : ℤ) :
                                      (a / b).seq n = a.seq n / b.seq n
                                      theorem Chapter6.Sequence.div_coe (a b : ℕ → ℝ) :
                                      ↑a / ↑b = ↑fun (n : ℕ) => a n / b n
                                      theorem Chapter6.Sequence.tendsTo_div {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) (hnon : M ≠ 0) :
                                      (a / b).TendsTo (L / M)

                                      Theorem 6.1.19(f) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.lim_div {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) (hnon : lim b ≠ 0) :
                                      (a / b).Convergent ∧ lim (a / b) = lim a / lim b
                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.max_eval {a b : Sequence} (n : ℤ) :
                                      (a ⊔ b).seq n = max (a.seq n) (b.seq n)
                                      theorem Chapter6.Sequence.max_coe (a b : ℕ → ℝ) :
                                      ↑a ⊔ ↑b = ↑fun (n : ℕ) => max (a n) (b n)
                                      theorem Chapter6.Sequence.tendsTo_max {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) :
                                      (a ⊔ b).TendsTo (max L M)

                                      Theorem 6.1.19(g) (limit laws). The Sequence.TendsTo version is more usable than the lim version in applications.

                                      theorem Chapter6.Sequence.lim_max {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) :
                                      (a ⊔ b).Convergent ∧ lim (a ⊔ b) = max (lim a) (lim b)
                                      @[implicit_reducible]
                                      Equations
                                      @[simp]
                                      theorem Chapter6.Sequence.min_eval {a b : Sequence} (n : ℤ) :
                                      (a ⊓ b).seq n = min (a.seq n) (b.seq n)
                                      theorem Chapter6.Sequence.min_coe (a b : ℕ → ℝ) :
                                      ↑a ⊓ ↑b = ↑fun (n : ℕ) => min (a n) (b n)
                                      theorem Chapter6.Sequence.tendsTo_min {a b : Sequence} {L M : ℝ} (ha : a.TendsTo L) (hb : b.TendsTo M) :
                                      (a ⊓ b).TendsTo (min L M)

                                      Theorem 6.1.19(h) (limit laws)

                                      theorem Chapter6.Sequence.lim_min {a b : Sequence} (ha : a.Convergent) (hb : b.Convergent) :
                                      (a ⊓ b).Convergent ∧ lim (a ⊓ b) = min (lim a) (lim b)
                                      theorem Chapter6.Sequence.mono_if {a : ℕ → ℝ} (ha : ∀ (n : ℕ), a (n + 1) > a n) {n m : ℕ} (hnm : m > n) :
                                      a m > a n

                                      Exercise 6.1.1

                                      theorem Chapter6.Sequence.tendsTo_of_from {a : Sequence} {c : ℝ} (m : ℤ) :
                                      a.TendsTo c ↔ (a.from m).TendsTo c

                                      Exercise 6.1.3

                                      theorem Chapter6.Sequence.tendsTo_of_shift {a : Sequence} {c : ℝ} (k : ℕ) :
                                      a.TendsTo c ↔ (mk' a.m fun (n : { n : ℤ // n ≥ a.m }) => a.seq (↑n + ↑k)).TendsTo c

                                      Exercise 6.1.4

                                      Exercise 6.1.9

                                      theorem Chapter6.Chapter5.Sequence.IsCauchy_iff (a : Chapter5.Sequence) :
                                      a.IsCauchy ↔ ∀ ε > 0, ∃ N ≥ a.n₀, ∀ n ≥ N, ∀ m ≥ N, ↑|a.seq n - a.seq m| ≤ ε
                                      @[reducible, inline]
                                      Equations
                                      Instances For
                                        @[reducible, inline]
                                        Equations
                                        Instances For
                                          @[reducible, inline]
                                          Equations
                                          Instances For