LeanMachineLearning exposition

Bandits.ArrayModel.identDistrib_sum_range_snd๐Ÿ”—

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

identDistrib_sum_range_snd๐Ÿ”—

LemmaBandits.ArrayModel.identDistrib_sum_range_snd

No docstring.

๐Ÿ”—theorem
Bandits.ArrayModel.identDistrib_sum_range_snd.{u_1} {๐“ : Type u_1} {m๐“ : MeasurableSpace ๐“} [Countable ๐“] {ฮฝ : ProbabilityTheory.Kernel ๐“ โ„} [ProbabilityTheory.IsMarkovKernel ฮฝ] (a : ๐“) (k : โ„•) : ProbabilityTheory.IdentDistrib (fun ฯ‰ => โˆ‘ i โˆˆ Finset.range k, Prod.snd ฯ‰ i a) (fun ฯ‰ => โˆ‘ i โˆˆ Finset.range k, ฯ‰ i a) (arrayMeasure ฮฝ) (streamMeasure ฮฝ)
Bandits.ArrayModel.identDistrib_sum_range_snd.{u_1} {๐“ : Type u_1} {m๐“ : MeasurableSpace ๐“} [Countable ๐“] {ฮฝ : ProbabilityTheory.Kernel ๐“ โ„} [ProbabilityTheory.IsMarkovKernel ฮฝ] (a : ๐“) (k : โ„•) : ProbabilityTheory.IdentDistrib (fun ฯ‰ => โˆ‘ i โˆˆ Finset.range k, Prod.snd ฯ‰ i a) (fun ฯ‰ => โˆ‘ i โˆˆ Finset.range k, ฯ‰ i a) (arrayMeasure ฮฝ) (streamMeasure ฮฝ)

Code

lemma identDistrib_sum_range_snd (a : ๐“) (k : โ„•) :
    IdentDistrib (fun ฯ‰ โ†ฆ โˆ‘ i โˆˆ range k, ฯ‰.2 i a) (fun ฯ‰ โ†ฆ โˆ‘ i โˆˆ range k, ฯ‰ i a)
      ๐”“ (streamMeasure ฮฝ) where
  aemeasurable_fst
Type uses (4)
Body uses (1)
Used by (2)

Actions: Source ยท Open Issue

Proof
by fun_prop
  aemeasurable_snd := (measurable_sum _ fun i _ โ†ฆ by fun_prop).aemeasurable
  map_eq := by
    rw [โ† Measure.snd_prod (ฮผ := (Measure.infinitePi fun (_ : โ„•) โ†ฆ (volume : Measure unitInterval)))
      (ฮฝ := streamMeasure ฮฝ), Measure.snd, Measure.map_map (by fun_prop) (by fun_prop)]
    rfl

Dependency graph

Type dependencies (4)

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

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