LeanMachineLearning exposition

Learning.adapted_pullCount_add_one๐Ÿ”—

This page has the declaration's own card below, then its dependency graph, then a card for each dependency (type dependencies first, then the rest of the transitive closure). For a theorem, the graph and the dependency cards only follow its statement's dependencies (its proof is replaced by sorry, so what it proves doesn't depend on how); for everything else, both the type and the body/value are followed, since their content is part of what later declarations build on.

Minimal Lean file

adapted_pullCount_add_one๐Ÿ”—

LemmaLearning.adapted_pullCount_add_one

No docstring.

๐Ÿ”—theorem
Learning.adapted_pullCount_add_one.{u_1, u_2, u_3} {๐“ : Type u_1} {R : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} {mฮฉ : MeasurableSpace ฮฉ} [DecidableEq ๐“] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {R' : โ„• โ†’ ฮฉ โ†’ R} [MeasurableSingletonClass ๐“] (hA : โˆ€ (n : โ„•), Measurable (A n)) (hR' : โˆ€ (n : โ„•), Measurable (R' n)) (a : ๐“) : MeasureTheory.Adapted (IsAlgEnvSeq.filtration hA hR') fun n => pullCount A a (n + 1)
Learning.adapted_pullCount_add_one.{u_1, u_2, u_3} {๐“ : Type u_1} {R : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} {mฮฉ : MeasurableSpace ฮฉ} [DecidableEq ๐“] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {R' : โ„• โ†’ ฮฉ โ†’ R} [MeasurableSingletonClass ๐“] (hA : โˆ€ (n : โ„•), Measurable (A n)) (hR' : โˆ€ (n : โ„•), Measurable (R' n)) (a : ๐“) : MeasureTheory.Adapted (IsAlgEnvSeq.filtration hA hR') fun n => pullCount A a (n + 1)

Code

lemma adapted_pullCount_add_one [MeasurableSingletonClass ๐“]
    (hA : โˆ€ n, Measurable (A n)) (hR' : โˆ€ n, Measurable (R' n)) (a : ๐“) :
    Adapted (IsAlgEnvSeq.filtration hA hR') (fun n โ†ฆ pullCount A a (n + 1))
Type uses (2)
Body uses (5)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  intro n
  have : pullCount A a (n + 1) = (fun h : Iic n โ†’ ๐“ ร— R โ†ฆ pullCount' n h a) โˆ˜
      (history A R' n) := by
    ext
    exact pullCount_add_one_eq_pullCount'
  rw [measurable_iff_comap_le]
  simp_rw [IsAlgEnvSeq.filtration, this]
  rw [โ† measurable_iff_comap_le]
  exact measurable_comp_comap _ (measurable_pullCount' n a)

Dependency graph

Type dependencies (2)

filtration๐Ÿ”—

DefinitionLearning.IsAlgEnvSeq.filtration

Filtration generated by the history up to time n.

๐Ÿ”—def
Learning.IsAlgEnvSeq.filtration.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {mฮฉ : MeasurableSpace ฮฉ} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (hA : โˆ€ (n : โ„•), Measurable (A n)) (hY : โˆ€ (n : โ„•), Measurable (Y n)) : MeasureTheory.Filtration โ„• mฮฉ
Learning.IsAlgEnvSeq.filtration.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {mฮฉ : MeasurableSpace ฮฉ} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (hA : โˆ€ (n : โ„•), Measurable (A n)) (hY : โˆ€ (n : โ„•), Measurable (Y n)) : MeasureTheory.Filtration โ„• mฮฉ

Code

def IsAlgEnvSeq.filtration (hA : โˆ€ n, Measurable (A n)) (hY : โˆ€ n, Measurable (Y n)) :
    Filtration โ„• mฮฉ where
  seq i := MeasurableSpace.comap (history A Y i) inferInstance
  mono' i j hij := by
    simp only
    rw [โ† measurable_iff_comap_le]
    have : history A Y i = (fun h k โ†ฆ h โŸจk.1, by grindโŸฉ) โˆ˜ history A Y j := rfl
    rw [this]
    exact measurable_comp_comap _ (by fun_prop)
  le' i := by
    rw [โ† measurable_iff_comap_le]
    exact Learning.measurable_history hA hY i
Body uses (3)
Used by (18)

Actions: Source ยท Open Issue

pullCount๐Ÿ”—

DefinitionLearning.pullCount

Number of times action a was chosen up to time t (excluding t).

๐Ÿ”—def
Learning.pullCount.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„•
Learning.pullCount.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„•

Code

noncomputable
def pullCount (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„• :=
  #(filter (fun s โ†ฆ A s ฯ‰ = a) (range t))
Used by (146)

Actions: Source ยท Open Issue

All dependencies, transitively (3)

history๐Ÿ”—

DefinitionLearning.history

History of the algorithm-environment sequence up to time n.

๐Ÿ”—def
Learning.history.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} (A : โ„• โ†’ ฮฉ โ†’ ๐“) (Y : โ„• โ†’ ฮฉ โ†’ ๐“จ) (n : โ„•) (ฯ‰ : ฮฉ) : โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ
Learning.history.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} (A : โ„• โ†’ ฮฉ โ†’ ๐“) (Y : โ„• โ†’ ฮฉ โ†’ ๐“จ) (n : โ„•) (ฯ‰ : ฮฉ) : โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ

Code

def history (A : โ„• โ†’ ฮฉ โ†’ ๐“) (Y : โ„• โ†’ ฮฉ โ†’ ๐“จ) (n : โ„•) (ฯ‰ : ฮฉ) : Iic n โ†’ ๐“ ร— ๐“จ :=
  fun i โ†ฆ (A i ฯ‰, Y i ฯ‰)
Used by (72)

Actions: Source ยท Open Issue

measurable_comp_comap๐Ÿ”—

LemmaMeasureTheory.measurable_comp_comap

No docstring.

๐Ÿ”—theorem
MeasureTheory.measurable_comp_comap.{u_1, u_2, u_3} {ฮฑ : Type u_1} {ฮฒ : Type u_2} {ฮณ : Type u_3} {mฮฒ : MeasurableSpace ฮฒ} {mฮณ : MeasurableSpace ฮณ} (f : ฮฑ โ†’ ฮฒ) {g : ฮฒ โ†’ ฮณ} (hg : Measurable g) : Measurable (g โˆ˜ f)
MeasureTheory.measurable_comp_comap.{u_1, u_2, u_3} {ฮฑ : Type u_1} {ฮฒ : Type u_2} {ฮณ : Type u_3} {mฮฒ : MeasurableSpace ฮฒ} {mฮณ : MeasurableSpace ฮณ} (f : ฮฑ โ†’ ฮฒ) {g : ฮฒ โ†’ ฮณ} (hg : Measurable g) : Measurable (g โˆ˜ f)

Code

lemma measurable_comp_comap (f : ฮฑ โ†’ ฮฒ) {g : ฮฒ โ†’ ฮณ} (hg : Measurable g) :
    Measurable[mฮฒ.comap f] (g โˆ˜ f)
Used by (10)

Actions: Source ยท Open Issue

Proof
by
  rw [measurable_iff_comap_le, โ† MeasurableSpace.comap_comp]
  exact MeasurableSpace.comap_mono hg.comap_le

measurable_history๐Ÿ”—

LemmaLearning.measurable_history

No docstring.

๐Ÿ”—theorem
Learning.measurable_history.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {mฮฉ : MeasurableSpace ฮฉ} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (hA : โˆ€ (n : โ„•), Measurable (A n)) (hY : โˆ€ (n : โ„•), Measurable (Y n)) (n : โ„•) : Measurable (history A Y n)
Learning.measurable_history.{u_1, u_2, u_3} {๐“ : Type u_1} {๐“จ : Type u_2} {ฮฉ : Type u_3} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {mฮฉ : MeasurableSpace ฮฉ} {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (hA : โˆ€ (n : โ„•), Measurable (A n)) (hY : โˆ€ (n : โ„•), Measurable (Y n)) (n : โ„•) : Measurable (history A Y n)

Code

lemma measurable_history (hA : โˆ€ n, Measurable (A n))
    (hY : โˆ€ n, Measurable (Y n)) (n : โ„•) :
    Measurable (history A Y n)
Type uses (1)
Used by (10)

Actions: Source ยท Open Issue

Proof
by
  unfold history
  fun_prop