Documentation

Projects.RealAnalysis.Rearrangement

def RealAnalysis.Rment (σ : ) :
Equations
Instances For
    noncomputable def RealAnalysis.rinv (σ : ) (n : ) :
    Equations
    Instances For
      noncomputable def RealAnalysis.mkRmentP (a : ) (is : List ) :
      Equations
      Instances For
        noncomputable def RealAnalysis.mkRmentN (a : ) (is : List ) :
        Equations
        Instances For
          noncomputable def RealAnalysis.mkRmentList1 (a : ) (is : List ) :
          Equations
          Instances For
            noncomputable def RealAnalysis.mkRmentSum (a : ) (is : List ) :
            Equations
            Instances For
              def RealAnalysis.mkRmentLeNCnd (a : ) (n : ) (is : List ) (N : ) :
              Equations
              Instances For
                def RealAnalysis.mkRmentGeNCnd (a : ) (n : ) (is : List ) (N : ) :
                Equations
                Instances For
                  noncomputable def RealAnalysis.mkRmentLeN (a : ) (n : ) (is : List ) :
                  Equations
                  Instances For
                    noncomputable def RealAnalysis.mkRmentGeN (a : ) (n : ) (is : List ) :
                    Equations
                    Instances For
                      noncomputable def RealAnalysis.mkRmentLeF (a : ) (n : ) (is : List ) (k : ) :
                      Equations
                      Instances For
                        noncomputable def RealAnalysis.mkRmentGeF (a : ) (n : ) (is : List ) (k : ) :
                        Equations
                        Instances For
                          def RealAnalysis.mkRmentLeKCnd (a : ) (L : ) (n : ) (is : List ) (k : ) :
                          Equations
                          Instances For
                            def RealAnalysis.mkRmentGeKCnd (a : ) (L : ) (n : ) (is : List ) (k : ) :
                            Equations
                            Instances For
                              noncomputable def RealAnalysis.mkRmentLeK (a : ) (L : ) (n : ) (is : List ) :
                              Equations
                              Instances For
                                noncomputable def RealAnalysis.mkRmentGeK (a : ) (L : ) (n : ) (is : List ) :
                                Equations
                                Instances For
                                  noncomputable def RealAnalysis.mkRmentLe (a : ) (L : ) (n : ) (is : List ) :
                                  Equations
                                  Instances For
                                    noncomputable def RealAnalysis.mkRmentGe (a : ) (L : ) (n : ) (is : List ) :
                                    Equations
                                    Instances For
                                      noncomputable def RealAnalysis.mkRmentIte (a : ) (L : ) (n : ) (is : List ) :
                                      Equations
                                      Instances For
                                        noncomputable def RealAnalysis.mkRment (a : ) (L : ) (n : ) :
                                        Equations
                                        Instances For
                                          noncomputable def RealAnalysis.mkRmentLen (a : ) (L : ) (n : ) :
                                          Equations
                                          Instances For
                                            theorem RealAnalysis.rment_eq_iff {σ : } {n m : } (h : Rment σ) :
                                            σ n = σ m n = m
                                            theorem RealAnalysis.rinv_cancel_left {σ : } {n : } (h : Rment σ) :
                                            rinv σ (σ n) = n
                                            theorem RealAnalysis.rinv_cancel_right {σ : } {n : } (h : Rment σ) :
                                            σ (rinv σ n) = n
                                            theorem RealAnalysis.rment_rinv {σ : } (h : Rment σ) :
                                            Rment (rinv σ)
                                            theorem RealAnalysis.tendsTo_rment_of {a : } {σ : } {L : } (h₁ : Rment σ) (h₂ : tendsTo a L) :
                                            tendsTo (fun (x : ) => a (σ x)) L
                                            theorem RealAnalysis.tendsTo_rment_iff {a : } {σ : } {L : } (h₁ : Rment σ) :
                                            tendsTo (fun (x : ) => a (σ x)) L tendsTo a L
                                            theorem RealAnalysis.converges_rment_of {a : } {σ : } (h₁ : Rment σ) (h₂ : converges a) :
                                            converges fun (x : ) => a (σ x)
                                            theorem RealAnalysis.converges_rment_iff {a : } {σ : } (h₁ : Rment σ) :
                                            (converges fun (x : ) => a (σ x)) converges a
                                            @[simp]
                                            theorem RealAnalysis.le_length_mkRmentList {a : } {L : } {n : } :
                                            @[simp]
                                            theorem RealAnalysis.le_mkRmentLen {a : } {L : } {n : } :
                                            n mkRmentLen a L n
                                            theorem RealAnalysis.mkRmentList_prefix {a : } {L : } {k n : } (h : k n) :
                                            theorem RealAnalysis.getElem!_mkRmentList_eq_getElem {a : } {L : } {n k : } (h : k < n) :
                                            (mkRmentList a L n)[k]! = (mkRmentList a L n)[k]
                                            @[simp]
                                            theorem RealAnalysis.lt_length_mkRmentList_succ {a : } {L : } {n : } :
                                            n < (mkRmentList a L (n + 1)).length
                                            @[simp]
                                            theorem RealAnalysis.lt_mkRmentLen_succ {a : } {L : } {n : } :
                                            n < mkRmentLen a L (n + 1)
                                            theorem RealAnalysis.mkRment_eq_getElem {a : } {L : } {n : } :
                                            mkRment a L n = (mkRmentList a L (n + 1))[n]
                                            theorem RealAnalysis.getElem_mkRmentList_eq_of_lt {a : } {L : } {n m k : } (h₁ : k < n) (h₂ : k < m) :
                                            (mkRmentList a L n)[k] = (mkRmentList a L m)[k]
                                            theorem RealAnalysis.getElem!_mkRmentList_eq_of_lt {a : } {L : } {n m k : } (h₁ : k < n) (h₂ : k < m) :
                                            (mkRmentList a L n)[k]! = (mkRmentList a L m)[k]!
                                            theorem RealAnalysis.mkRmentP_spec' {a : } {is : List } (H : CondConv a) :
                                            (mkRmentP a isis 0 a (mkRmentP a is)) ∀ (k : ), kis 0 a kmkRmentP a is k
                                            theorem RealAnalysis.mkRmentN_spec' {a : } {is : List } (H : CondConv a) :
                                            (mkRmentN a isis a (mkRmentN a is) < 0) ∀ (k : ), kis a k < 0mkRmentN a is k
                                            theorem RealAnalysis.mkRmentP_spec {a : } {is : List } (H : CondConv a) :
                                            mkRmentP a isis 0 a (mkRmentP a is)
                                            theorem RealAnalysis.mkRmentN_spec {a : } {is : List } (H : CondConv a) :
                                            mkRmentN a isis a (mkRmentN a is) < 0
                                            @[simp]
                                            theorem RealAnalysis.mem_mkRmentList_succ {a : } {L : } {n : } :
                                            n mkRmentList a L (n + 1)
                                            theorem RealAnalysis.getElem_mkRmentList_of_le.proof₁ {a : } {L : } {n₁ n₂ k : } (h₁ : n₁ n₂) (h₂ : k < (mkRmentList a L n₁).length) :
                                            k < (mkRmentList a L n₂).length
                                            theorem RealAnalysis.getElem_mkRmentList_of_le {a : } {L : } {n₁ n₂ k : } {hh : k < (mkRmentList a L n₁).length} (h : n₁ n₂) :
                                            (mkRmentList a L n₁)[k] = (mkRmentList a L n₂)[k]
                                            theorem RealAnalysis.getElem_mkRmentList_eq {a : } {L : } {n₁ n₂ k : } {hh₁ : k < (mkRmentList a L n₁).length} {hh₂ : k < (mkRmentList a L n₂).length} :
                                            (mkRmentList a L n₁)[k] = (mkRmentList a L n₂)[k]
                                            @[simp]
                                            theorem RealAnalysis.getElem_mkRmentList_eq_iff_true {a : } {L : } {n₁ n₂ k : } {hh₁ : k < (mkRmentList a L n₁).length} {hh₂ : k < (mkRmentList a L n₂).length} :
                                            (mkRmentList a L n₁)[k] = (mkRmentList a L n₂)[k] True
                                            @[simp]
                                            theorem RealAnalysis.mkRmentList_zero {a : } {L : } :
                                            theorem RealAnalysis.mkRmentP_notMem {a : } {is : List } (H : CondConv a) :
                                            mkRmentP a isis
                                            theorem RealAnalysis.mkRmentN_notMem {a : } {is : List } (H : CondConv a) :
                                            mkRmentN a isis
                                            theorem RealAnalysis.mkRmentP_nonneg {a : } {is : List } (H : CondConv a) :
                                            0 a (mkRmentP a is)
                                            theorem RealAnalysis.mkRmentN_neg {a : } {is : List } (H : CondConv a) :
                                            a (mkRmentN a is) < 0
                                            @[simp]
                                            theorem RealAnalysis.nodup_mkRmentLe {a : } {L : } {n : } {is : List } :
                                            (mkRmentLe a L n is).Nodup
                                            @[simp]
                                            theorem RealAnalysis.nodup_mkRmentGe {a : } {L : } {n : } {is : List } :
                                            (mkRmentGe a L n is).Nodup
                                            theorem RealAnalysis.mkRmentLeK_spec' {a : } {L : } {n : } {is : List } (H : CondConv a) :
                                            mkRmentLeKCnd a L n is (mkRmentLeK a L n is) ∀ (k : ), mkRmentLeKCnd a L n is kmkRmentLeK a L n is k
                                            theorem RealAnalysis.mkRmentGeK_spec' {a : } {L : } {n : } {is : List } (H : CondConv a) :
                                            mkRmentGeKCnd a L n is (mkRmentGeK a L n is) ∀ (k : ), mkRmentGeKCnd a L n is kmkRmentGeK a L n is k
                                            theorem RealAnalysis.mkRmentLeK_spec {a : } {L : } {n : } {is : List } (H : CondConv a) :
                                            L - 1 / (n + 2) < mkRmentSum a is + (List.map a (mkRmentLeF a n is (mkRmentLeK a L n is))).sum
                                            theorem RealAnalysis.mkRmentGeK_spec {a : } {L : } {n : } {is : List } (H : CondConv a) :
                                            mkRmentSum a is + (List.map a (mkRmentGeF a n is (mkRmentGeK a L n is))).sum < L + 1 / (n + 2)
                                            theorem RealAnalysis.mkRmentLeN_spec' {a : } {n : } {is : List } (H : CondConv a) :
                                            mkRmentLeNCnd a n is (mkRmentLeN a n is) ∀ (k : ), mkRmentLeNCnd a n is kmkRmentLeN a n is k
                                            theorem RealAnalysis.mkRmentGeN_spec' {a : } {n : } {is : List } (H : CondConv a) :
                                            mkRmentGeNCnd a n is (mkRmentGeN a n is) ∀ (k : ), mkRmentGeNCnd a n is kmkRmentGeN a n is k
                                            theorem RealAnalysis.mkRmentLeN_spec {a : } {n : } {is : List } (H : CondConv a) :
                                            0 a (mkRmentLeN a n is) ∀ (r : ), mkRmentLeN a n is r0 a rris a r < 1 / (n + 2)
                                            theorem RealAnalysis.mkRmentGeN_spec {a : } {n : } {is : List } (H : CondConv a) :
                                            a (mkRmentGeN a n is) < 0 ∀ (r : ), mkRmentGeN a n is ra r < 0ris -1 / (n + 2) < a r
                                            theorem RealAnalysis.notMem_mkRmentLe_of_mem {a : } {L : } {n : } {is : List } {i : } (H : CondConv a) (h : i is) :
                                            imkRmentLe a L n is
                                            theorem RealAnalysis.notMem_mkRmentGe_of_mem {a : } {L : } {n : } {is : List } {i : } (H : CondConv a) (h : i is) :
                                            imkRmentGe a L n is
                                            theorem RealAnalysis.nodup_mkRmentList {a : } {L : } {n : } (H : CondConv a) :
                                            theorem RealAnalysis.mkRment_eq_iff {a : } {L : } {i j : } (H : CondConv a) :
                                            mkRment a L i = mkRment a L j i = j
                                            theorem RealAnalysis.rment_mkRment {a : } {L : } (h : CondConv a) :
                                            theorem RealAnalysis.series_mkRment_eq_sum {a : } {L : } {n : } :
                                            series (fun (i : ) => a (mkRment a L i)) n = (List.map a (List.take n (mkRmentList a L n))).sum
                                            theorem RealAnalysis.take_length_mkRmentList {a : } {L : } {n : } {is : List } (h : mkRmentList a L n = is) :
                                            @[simp]
                                            @[simp]
                                            theorem RealAnalysis.mkRmentLeF_zero {a : } {n : } {is : List } :
                                            mkRmentLeF a n is 0 = []
                                            @[simp]
                                            theorem RealAnalysis.mkRmentGeF_zero {a : } {n : } {is : List } :
                                            mkRmentGeF a n is 0 = []
                                            theorem RealAnalysis.abs_map_sum_mkRmentLe_sub_lt {a : } {L : } {is : List } {n : } (H : CondConv a) (h₁ : mkRmentSum a is L - (n + 2)⁻¹) :
                                            |(List.map a is).sum + (List.map a (mkRmentLe a L n is)).sum - L| (n + 2)⁻¹
                                            theorem RealAnalysis.abs_map_sum_mkRmentGe_sub_lt {a : } {L : } {is : List } {n : } (H : CondConv a) (h₁ : L + (n + 2)⁻¹ mkRmentSum a is) :
                                            |(List.map a is).sum + (List.map a (mkRmentGe a L n is)).sum - L| (n + 2)⁻¹
                                            theorem RealAnalysis.abs_map_sum_mkRmentIte_sub_lt {a : } {L : } {n : } {is : List } (H : CondConv a) :
                                            |(List.map a (mkRmentIte a L n is)).sum - L| 1 / (n + 2)
                                            theorem RealAnalysis.abs_map_sum_mkRmentList_sub_lt {a : } {L : } {n : } (H : CondConv a) (hn : n 0) :
                                            |(List.map a (mkRmentList a L n)).sum - L| 1 / (n + 1)
                                            theorem RealAnalysis.abs_series_mkRment_mkRmentLen_sub_lt {a : } {L : } {n : } (H : CondConv a) (hn : n 0) :
                                            |series (fun (x : ) => a (mkRment a L x)) (mkRmentLen a L n) - L| 1 / (n + 1)
                                            theorem RealAnalysis.subseq_exi_ge {σ : } {n : } (h : Subseq σ) :
                                            ∃ (k : ), n σ k
                                            theorem RealAnalysis.subseq_exi_gt {σ : } {n : } (h : Subseq σ) :
                                            ∃ (k : ), n < σ k
                                            theorem RealAnalysis.subseq_exi_ge_and_between_of_le {σ : } {n i : } (h₁ : Subseq σ) (h₂ : σ n i) :
                                            ∃ (k : ), n k σ k i i < σ (k + 1)
                                            @[simp]
                                            theorem RealAnalysis.mkRmentLen_lt_succ {a : } {L : } {n : } :
                                            mkRmentLen a L n < mkRmentLen a L (n + 1)
                                            @[simp]
                                            @[simp]
                                            theorem RealAnalysis.take_mkRmentLen_mkRmentList_add {a : } {L : } {n k : } :
                                            List.take (mkRmentLen a L n) (mkRmentList a L (n + k)) = mkRmentList a L n
                                            theorem RealAnalysis.mem_mkRmentList_of_lt {a : } {L : } {n k : } (h : k < n) :
                                            theorem RealAnalysis.le_mkRmentP_mkRmentList {a : } {L : } {n : } (H : CondConv a) :
                                            theorem RealAnalysis.le_mkRmentN_mkRmentList {a : } {L : } {n : } (H : CondConv a) :
                                            theorem RealAnalysis.nonneg_of_mem_mkRmentLe {a : } {L : } {n : } {is : List } {i : } (h : i mkRmentLe a L n is) :
                                            0 a i
                                            theorem RealAnalysis.neg_of_mem_mkRmentGe {a : } {L : } {n : } {is : List } {i : } (h : i mkRmentGe a L n is) :
                                            a i < 0
                                            theorem RealAnalysis.abs_series_add_sum_mkRmentList_sub_lt.aux₁ {a : } {L : } {n N k i j : } {s₀ s s₁ : } {is is₁ : List } {d : } (H : CondConv a) (h₂ : mkRmentSum a (mkRmentList a L n) = s₀) (h₁ : mkRmentList a L n = is) (_hN : is.length = N) (h₃ : |s₀ - L| (n + 1)⁻¹) (ha : tendsTo a 0) (hi : mkRmentP a is = i) (hj : mkRmentN a is = j) (h₄ : is ++ [i, j] = is₁) (hs : mkRmentSum a is₁ = s) (hd : (n + 2)⁻¹ = d) (hs₁ : (List.take k (List.map a (mkRmentLe a L n is₁))).sum = s₁) (H₂ : s L - d) :
                                            |s₁| 4 * bounds a n + 2 * (n + 1)⁻¹
                                            theorem RealAnalysis.abs_series_add_sum_mkRmentList_sub_lt.aux₂ {a : } {L : } {n N k i j : } {s₀ s s₁ : } {is is₁ : List } {d : } (H : CondConv a) (h₂ : mkRmentSum a (mkRmentList a L n) = s₀) (h₁ : mkRmentList a L n = is) (_hN : is.length = N) (h₃ : |s₀ - L| (n + 1)⁻¹) (ha : tendsTo a 0) (hi : mkRmentP a is = i) (hj : mkRmentN a is = j) (h₄ : is ++ [i, j] = is₁) (hs : mkRmentSum a is₁ = s) (hd : (n + 2)⁻¹ = d) (hs₁ : (List.take k (List.map a (mkRmentGe a L n is₁))).sum = s₁) (H₂ : L + d s) :
                                            |s₁| 4 * bounds a n + 2 * (n + 1)⁻¹
                                            theorem RealAnalysis.abs_series_add_sum_mkRmentList_sub_lt {a : } {L : } {n N k : } (H : CondConv a) (hN : mkRmentLen a L n = N) (hn : n 0) :
                                            |series (fun (x : ) => a (mkRment a L x)) N + (List.map a (List.take k (List.drop N (mkRmentList a L (n + 1))))).sum - L| 8 * bounds a n + 4 * (n + 1)⁻¹
                                            theorem RealAnalysis.abs_series_mkRment_sub_lt_of_between {a : } {L : } {n i : } (H : CondConv a) (hn : n 0) (h₁ : mkRmentLen a L n i) (h₂ : i < mkRmentLen a L (n + 1)) :
                                            |series (fun (x : ) => a (mkRment a L x)) i - L| 8 * bounds a n + 4 * (n + 1)⁻¹
                                            theorem RealAnalysis.abs_series_mkRment_sub_lt_of_le {a : } {L : } {n i : } (H : CondConv a) (hn : n 0) (h : mkRmentLen a L n i) :
                                            |series (fun (x : ) => a (mkRment a L x)) i - L| 8 * bounds a n + 4 * (n + 1)⁻¹
                                            theorem RealAnalysis.tendsTo_series_mkRment {a : } {L : } (H : CondConv a) :
                                            tendsTo (series fun (i : ) => a (mkRment a L i)) L
                                            theorem RealAnalysis.exi_rment_tendsTo_of_condConv {a : } {L : } (H : CondConv a) :
                                            ∃ (σ : ), Rment σ tendsTo (series fun (x : ) => a (σ x)) L