LeanMachineLearning exposition

Bandits.ArrayModel.map_snd_apply_arrayMeasure๐Ÿ”—

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

map_snd_apply_arrayMeasure๐Ÿ”—

LemmaBandits.ArrayModel.map_snd_apply_arrayMeasure

No docstring.

๐Ÿ”—theorem
Bandits.ArrayModel.map_snd_apply_arrayMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} {ฮฝ : ProbabilityTheory.Kernel ๐“ R} [ProbabilityTheory.IsMarkovKernel ฮฝ] (n : โ„•) (a : ๐“) : MeasureTheory.Measure.map (fun ฯ‰ => Prod.snd ฯ‰ n a) (arrayMeasure ฮฝ) = ฮฝ a
Bandits.ArrayModel.map_snd_apply_arrayMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} {ฮฝ : ProbabilityTheory.Kernel ๐“ R} [ProbabilityTheory.IsMarkovKernel ฮฝ] (n : โ„•) (a : ๐“) : MeasureTheory.Measure.map (fun ฯ‰ => Prod.snd ฯ‰ n a) (arrayMeasure ฮฝ) = ฮฝ a

Code

lemma map_snd_apply_arrayMeasure {ฮฝ : Kernel ๐“ R} [IsMarkovKernel ฮฝ] (n : โ„•) (a : ๐“) :
    (arrayMeasure ฮฝ).map (fun ฯ‰ โ†ฆ ฯ‰.2 n a) = ฮฝ a
Type uses (3)
Body uses (2)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  calc (arrayMeasure ฮฝ).map (fun ฯ‰ โ†ฆ ฯ‰.2 n a)
  _ = (arrayMeasure ฮฝ).snd.map (fun ฯ‰ โ†ฆ ฯ‰ n a) := by
    rw [Measure.snd, Measure.map_map (by fun_prop) (by fun_prop)]
    rfl
  _ = ฮฝ a := by
    rw [arrayMeasure, Measure.snd_prod, streamMeasure]
    have : (fun ฯ‰ โ†ฆ ฯ‰ n a) = (fun h : ๐“ โ†’ R โ†ฆ h a) โˆ˜ (fun ฯ‰ : โ„• โ†’ ๐“ โ†’ R โ†ฆ ฯ‰ n) := rfl
    rw [this, โ† Measure.map_map (by fun_prop) (by fun_prop), Measure.infinitePi_map_eval,
      Measure.infinitePi_map_eval]

Dependency graph

Type dependencies (3)

probSpace๐Ÿ”—

DefinitionBandits.ArrayModel.probSpace

Probability space for the array model of stochastic bandits.

๐Ÿ”—def
Bandits.ArrayModel.probSpace.{u_1, u_2} (๐“ : Type u_1) (R : Type u_2) : Type (max u_1 u_2)
Bandits.ArrayModel.probSpace.{u_1, u_2} (๐“ : Type u_1) (R : Type u_2) : Type (max u_1 u_2)

Code

def probSpace : Type _ := (โ„• โ†’ I) ร— (โ„• โ†’ ๐“ โ†’ R)
Used by (64)

Actions: Source ยท Open Issue

instMeasurableSpaceProbSpace๐Ÿ”—

InstanceBandits.ArrayModel.instMeasurableSpaceProbSpace

No docstring.

๐Ÿ”—def
Bandits.ArrayModel.instMeasurableSpaceProbSpace.{u_3, u_4} {๐“ : Type u_3} {R : Type u_4} [MeasurableSpace R] : MeasurableSpace (probSpace ๐“ R)
Bandits.ArrayModel.instMeasurableSpaceProbSpace.{u_3, u_4} {๐“ : Type u_3} {R : Type u_4} [MeasurableSpace R] : MeasurableSpace (probSpace ๐“ R)

Code

instance {๐“ R : Type*} [MeasurableSpace R] : MeasurableSpace (probSpace ๐“ R)
Type uses (1)
Used by (41)

Actions: Source ยท Open Issue

Proof
inferInstanceAs (MeasurableSpace ((โ„• โ†’ I) ร— (โ„• โ†’ ๐“ โ†’ R)))

arrayMeasure๐Ÿ”—

DefinitionBandits.ArrayModel.arrayMeasure

Probability measure for the array model of stochastic bandits.

๐Ÿ”—def
Bandits.ArrayModel.arrayMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐“ R) : MeasureTheory.Measure (probSpace ๐“ R)
Bandits.ArrayModel.arrayMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐“ R) : MeasureTheory.Measure (probSpace ๐“ R)

Code

noncomputable
def arrayMeasure (ฮฝ : Kernel ๐“ R) : Measure (probSpace ๐“ R) :=
  (Measure.infinitePi fun _ โ†ฆ volume).prod (streamMeasure ฮฝ)
Type uses (2)
Body uses (1)
Used by (29)

Actions: Source ยท Open Issue

All dependencies, transitively (1)

streamMeasure๐Ÿ”—

DefinitionBandits.streamMeasure

Measure of an infinite stream of rewards from each action.

๐Ÿ”—def
Bandits.streamMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐“ R) : MeasureTheory.Measure (โ„• โ†’ ๐“ โ†’ R)
Bandits.streamMeasure.{u_1, u_2} {๐“ : Type u_1} {R : Type u_2} {m๐“ : MeasurableSpace ๐“} {mR : MeasurableSpace R} (ฮฝ : ProbabilityTheory.Kernel ๐“ R) : MeasureTheory.Measure (โ„• โ†’ ๐“ โ†’ R)

Code

noncomputable
def streamMeasure (ฮฝ : Kernel ๐“ R) : Measure (โ„• โ†’ ๐“ โ†’ R) :=
  Measure.infinitePi fun _ โ†ฆ Measure.infinitePi ฮฝ
Used by (56)

Actions: Source ยท Open Issue