LeanMachineLearning exposition

3.5.ย SequentialLearning.IonescuTulceaSpace๐Ÿ”—

Probability space for algorithm-environment interactions

For any algorithm and environment, we construct a probability space on which we can define a sequence of random variables representing the actions and feedback generated by the interaction of the algorithm and the environment. The main ingredient of the construction is the Ionescu-Tulcea theorem.

Main statements

  • isAlgEnvSeq_unique: the law of the sequence of actions and observations generated by an algorithm-environment pair is unique: it does not depend on the probability space used. If Aโ‚, Rโ‚ and Aโ‚‚, Rโ‚‚ are two algorithm-environment sequences generated by the same algorithm-environment pair on probability spaces (ฮฉ, P) and (ฮฉ', P'), then P.map (fun ฯ‰ n โ†ฆ (Aโ‚ n ฯ‰, Rโ‚ n ฯ‰)) = P'.map (fun ฯ‰ n โ†ฆ (Aโ‚‚ n ฯ‰, Rโ‚‚ n ฯ‰)).

Module LeanMachineLearning.SequentialLearning.IonescuTulceaSpace contains 49 exposed declarations.

trajMeasure๐Ÿ”—

DefinitionLearning.trajMeasure

Measure on the sequence of actions and observations generated by the algorithm/environment.

๐Ÿ”—def
Learning.trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : MeasureTheory.Measure (โ„• โ†’ ๐“ ร— ๐“จ)
Learning.trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : MeasureTheory.Measure (โ„• โ†’ ๐“ ร— ๐“จ)

Code

noncomputable
def trajMeasure (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    Measure (โ„• โ†’ ๐“ ร— ๐“จ) :=
  Kernel.trajMeasure (alg.p0 โŠ—โ‚˜ env.ฮฝ0) (stepKernel alg env)
deriving IsProbabilityMeasure
Type uses (2)
Body uses (2)
Used by (19)

Actions: Source ยท Open Issue

instIsProbabilityMeasureForallNatProdTrajMeasure๐Ÿ”—

InstanceLearning.instIsProbabilityMeasureForallNatProdTrajMeasure

No docstring.

๐Ÿ”—theorem
Learning.instIsProbabilityMeasureForallNatProdTrajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : MeasureTheory.IsProbabilityMeasure (trajMeasure alg env)
Learning.instIsProbabilityMeasureForallNatProdTrajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : MeasureTheory.IsProbabilityMeasure (trajMeasure alg env)

Code

deriving IsProbabilityMeasure
Type uses (3)
Body uses (4)
Used by (8)

Actions: Source ยท Open Issue

Proof
deriving IsProbabilityMeasure

map_trajectory๐Ÿ”—

LemmaLearning.IsAlgEnvSeq.map_trajectory

No docstring.

๐Ÿ”—theorem
Learning.IsAlgEnvSeq.map_trajectory.{u_1, u_2, u_4} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {mฮฉ : MeasurableSpace ฮฉ} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) : MeasureTheory.Measure.map (trajectory Aโ‚ Rโ‚) P = trajMeasure alg env
Learning.IsAlgEnvSeq.map_trajectory.{u_1, u_2, u_4} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {mฮฉ : MeasurableSpace ฮฉ} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) : MeasureTheory.Measure.map (trajectory Aโ‚ Rโ‚) P = trajMeasure alg env

Code

lemma IsAlgEnvSeq.map_trajectory (h : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) :
    P.map (trajectory Aโ‚ Rโ‚) = trajMeasure alg env
Type uses (5)
Body uses (7)
Used by (1)

Actions: Source ยท Open Issue

Proof
by
  rw [trajMeasure]
  have h := (Kernel.hasLaw_trajMeasure (Y := fun n ฯ‰ โ†ฆ (Aโ‚ n ฯ‰, Rโ‚ n ฯ‰)) (P := P)
    (ฮผโ‚€ := alg.p0 โŠ—โ‚˜ env.ฮฝ0) (ฮบ := stepKernel alg env) (fun n โ†ฆ ?_) ?_ (fun n โ†ฆ ?_)).map_eq
  ยท exact h
  ยท have hA := h.measurable_action n
    have hR := h.measurable_feedback n
    fun_prop
  ยท exact h.hasLaw_step_zero
  ยท exact h.hasCondDistrib_step n

eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil๐Ÿ”—

LemmaLearning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil

No docstring.

๐Ÿ”—theorem
Learning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil.{u_1, u_2, u_4} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {mฮฉ : MeasurableSpace ฮฉ} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} (h : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N) : MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚ (โ†‘n) ฯ‰, Rโ‚ (โ†‘n) ฯ‰)) P = MeasureTheory.Measure.map (Preorder.frestrictLe N) (trajMeasure alg env)
Learning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil.{u_1, u_2, u_4} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {mฮฉ : MeasurableSpace ฮฉ} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} (h : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N) : MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚ (โ†‘n) ฯ‰, Rโ‚ (โ†‘n) ฯ‰)) P = MeasureTheory.Measure.map (Preorder.frestrictLe N) (trajMeasure alg env)

Code

lemma eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil
    (h : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N) :
    P.map (fun ฯ‰ (n : Iic N) โ†ฆ (Aโ‚ n ฯ‰, Rโ‚ n ฯ‰)) =
      (trajMeasure alg env).map (Preorder.frestrictLe N)
Type uses (4)
Body uses (7)
Used by (1)

Actions: Source ยท Open Issue

Proof
by
  rw [trajMeasure]
  have h := Kernel.eq_trajMeasure_map_frestrictLe (Y := fun n ฯ‰ โ†ฆ (Aโ‚ n ฯ‰, Rโ‚ n ฯ‰))
    (P := P) (ฮผโ‚€ := alg.p0 โŠ—โ‚˜ env.ฮฝ0) (ฮบ := stepKernel alg env) ?_ (fun n hn โ†ฆ ?_) (N := N)
  ยท exact h
  ยท exact h.hasLaw_step_zero
  ยท exact h.hasCondDistrib_step n hn

isAlgEnvSeq_unique๐Ÿ”—

LemmaLearning.isAlgEnvSeq_unique

The law of the sequence of actions and observations generated by an algorithm-environment pair is unique: it does not depend on the probability space used.

๐Ÿ”—theorem
Learning.isAlgEnvSeq_unique.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') : MeasureTheory.Measure.map (trajectory Aโ‚ Rโ‚) P = MeasureTheory.Measure.map (trajectory Aโ‚‚ Rโ‚‚) P'
Learning.isAlgEnvSeq_unique.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') : MeasureTheory.Measure.map (trajectory Aโ‚ Rโ‚) P = MeasureTheory.Measure.map (trajectory Aโ‚‚ Rโ‚‚) P'

Code

lemma isAlgEnvSeq_unique (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P)
    (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') :
    P.map (trajectory Aโ‚ Rโ‚) = P'.map (trajectory Aโ‚‚ Rโ‚‚)
Type uses (4)
Body uses (2)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  rw [h1.map_trajectory, h2.map_trajectory]

identDistrib_trajectory๐Ÿ”—

TheoremLearning.IsAlgEnvSeq.identDistrib_trajectory

The law of the sequence of actions and observations generated by an algorithm-environment pair is unique: it does not depend on the probability space used.

๐Ÿ”—theorem
Learning.IsAlgEnvSeq.identDistrib_trajectory.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') : ProbabilityTheory.IdentDistrib (trajectory Aโ‚ Rโ‚) (trajectory Aโ‚‚ Rโ‚‚) P P'
Learning.IsAlgEnvSeq.identDistrib_trajectory.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P) (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') : ProbabilityTheory.IdentDistrib (trajectory Aโ‚ Rโ‚) (trajectory Aโ‚‚ Rโ‚‚) P P'

Code

theorem IsAlgEnvSeq.identDistrib_trajectory (h1 : IsAlgEnvSeq Aโ‚ Rโ‚ alg env P)
    (h2 : IsAlgEnvSeq Aโ‚‚ Rโ‚‚ alg env P') :
    IdentDistrib (trajectory Aโ‚ Rโ‚) (trajectory Aโ‚‚ Rโ‚‚) P P' where
  aemeasurable_fst
Type uses (4)
Body uses (1)
Used by (1)

Actions: Source ยท Open Issue

Proof
(measurable_pi_iff.2 fun n โ†ฆ (h1.measurable_action n).prodMk
    (h1.measurable_feedback n)).aemeasurable
  aemeasurable_snd := (measurable_pi_iff.2 fun n โ†ฆ (h2.measurable_action n).prodMk
    (h2.measurable_feedback n)).aemeasurable
  map_eq := isAlgEnvSeq_unique h1 h2

isAlgEnvSeqUntil_unique๐Ÿ”—

LemmaLearning.isAlgEnvSeqUntil_unique

No docstring.

๐Ÿ”—theorem
Learning.isAlgEnvSeqUntil_unique.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} {N : โ„•} (h1 : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N) (h2 : IsAlgEnvSeqUntil Aโ‚‚ Rโ‚‚ alg env P' N) : MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚ (โ†‘n) ฯ‰, Rโ‚ (โ†‘n) ฯ‰)) P = MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚‚ (โ†‘n) ฯ‰, Rโ‚‚ (โ†‘n) ฯ‰)) P'
Learning.isAlgEnvSeqUntil_unique.{u_1, u_2, u_4, u_5} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_4} {ฮฉ' : Type u_5} {mฮฉ : MeasurableSpace ฮฉ} {mฮฉ' : MeasurableSpace ฮฉ'} {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {P' : MeasureTheory.Measure ฮฉ'} [MeasureTheory.IsProbabilityMeasure P'] {Aโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“} {Rโ‚ : โ„• โ†’ ฮฉ โ†’ ๐“จ} {Aโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“} {Rโ‚‚ : โ„• โ†’ ฮฉ' โ†’ ๐“จ} {N : โ„•} (h1 : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N) (h2 : IsAlgEnvSeqUntil Aโ‚‚ Rโ‚‚ alg env P' N) : MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚ (โ†‘n) ฯ‰, Rโ‚ (โ†‘n) ฯ‰)) P = MeasureTheory.Measure.map (fun ฯ‰ n => (Aโ‚‚ (โ†‘n) ฯ‰, Rโ‚‚ (โ†‘n) ฯ‰)) P'

Code

lemma isAlgEnvSeqUntil_unique (h1 : IsAlgEnvSeqUntil Aโ‚ Rโ‚ alg env P N)
    (h2 : IsAlgEnvSeqUntil Aโ‚‚ Rโ‚‚ alg env P' N) :
    P.map (fun ฯ‰ (n : Iic N) โ†ฆ (Aโ‚ n ฯ‰, Rโ‚ n ฯ‰)) =
      P'.map (fun ฯ‰ (n : Iic N) โ†ฆ (Aโ‚‚ n ฯ‰, Rโ‚‚ n ฯ‰))
Type uses (3)
Body uses (2)

Actions: Source ยท Open Issue

Proof
by
  rw [eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil h1,
    eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil h2]

step๐Ÿ”—

DefinitionLearning.IT.step

Action and feedback at step n.

๐Ÿ”—def
Learning.IT.step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“ ร— ๐“จ
Learning.IT.step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“ ร— ๐“จ

Code

def step (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“ ร— ๐“จ := h n
Used by (13)

Actions: Source ยท Open Issue

action๐Ÿ”—

DefinitionLearning.IT.action

action n is the action pulled at time n. This is a random variable on the measurable space โ„• โ†’ ๐“ ร— ๐“จ.

๐Ÿ”—def
Learning.IT.action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“
Learning.IT.action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“

Code

def action (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“ := (h n).1
Used by (31)

Actions: Source ยท Open Issue

feedback๐Ÿ”—

DefinitionLearning.IT.feedback

feedback n is the feedback at time n. This is a random variable on the measurable space โ„• โ†’ ๐“ ร— ๐“จ.

๐Ÿ”—def
Learning.IT.feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“จ
Learning.IT.feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“จ

Code

def feedback (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : ๐“จ := (h n).2
Used by (16)

Actions: Source ยท Open Issue

hist๐Ÿ”—

DefinitionLearning.IT.hist

hist n is the history up to time n. This is a random variable on the measurable space โ„• โ†’ ๐“ ร— ๐“จ.

๐Ÿ”—def
Learning.IT.hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ
Learning.IT.hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ

Code

def hist (n : โ„•) (h : โ„• โ†’ ๐“ ร— ๐“จ) : Iic n โ†’ ๐“ ร— ๐“จ := fun i โ†ฆ h i
Used by (23)

Actions: Source ยท Open Issue

fst_comp_step๐Ÿ”—

LemmaLearning.IT.fst_comp_step

No docstring.

๐Ÿ”—theorem
Learning.IT.fst_comp_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : Prod.fst โˆ˜ step n = action n
Learning.IT.fst_comp_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : Prod.fst โˆ˜ step n = action n

Code

lemma fst_comp_step (n : โ„•) : Prod.fst โˆ˜ step (๐“
Type uses (2)
Used by (2)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ) n = action n := rfl

measurable_step๐Ÿ”—

LemmaLearning.IT.measurable_step

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (step n)
Learning.IT.measurable_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (step n)

Code

lemma measurable_step (n : โ„•) : Measurable (step n (๐“
Type uses (1)
Used by (5)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ)) := by
  unfold step; fun_prop

measurable_step_prod๐Ÿ”—

LemmaLearning.IT.measurable_step_prod

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_step_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => step (Prod.fst p) (Prod.snd p)
Learning.IT.measurable_step_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => step (Prod.fst p) (Prod.snd p)

Code

lemma measurable_step_prod : Measurable (fun p : โ„• ร— (โ„• โ†’ ๐“ ร— ๐“จ) โ†ฆ step p.1 p.2)
Type uses (1)
Body uses (1)

Actions: Source ยท Open Issue

Proof
measurable_from_prod_countable_right fun n โ†ฆ (by simp only; fun_prop)

measurable_action๐Ÿ”—

LemmaLearning.IT.measurable_action

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (action n)
Learning.IT.measurable_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (action n)

Code

lemma measurable_action (n : โ„•) : Measurable (action n (๐“
Type uses (1)
Used by (14)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ)) := by
  unfold action; fun_prop

measurable_action_prod๐Ÿ”—

LemmaLearning.IT.measurable_action_prod

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_action_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => action (Prod.fst p) (Prod.snd p)
Learning.IT.measurable_action_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => action (Prod.fst p) (Prod.snd p)

Code

lemma measurable_action_prod : Measurable (fun p : โ„• ร— (โ„• โ†’ ๐“ ร— ๐“จ) โ†ฆ action p.1 p.2)
Type uses (1)
Body uses (1)

Actions: Source ยท Open Issue

Proof
measurable_from_prod_countable_right fun n โ†ฆ (by simp only; fun_prop)

measurable_feedback๐Ÿ”—

LemmaLearning.IT.measurable_feedback

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (feedback n)
Learning.IT.measurable_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (feedback n)

Code

lemma measurable_feedback (n : โ„•) : Measurable (feedback n (๐“
Type uses (1)
Used by (9)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ)) := by
  unfold feedback; fun_prop

measurable_feedback_prod๐Ÿ”—

LemmaLearning.IT.measurable_feedback_prod

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_feedback_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => feedback (Prod.fst p) (Prod.snd p)
Learning.IT.measurable_feedback_prod.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : Measurable fun p => feedback (Prod.fst p) (Prod.snd p)

Code

lemma measurable_feedback_prod : Measurable (fun p : โ„• ร— (โ„• โ†’ ๐“ ร— ๐“จ) โ†ฆ feedback p.1 p.2)
Type uses (1)
Body uses (1)

Actions: Source ยท Open Issue

Proof
measurable_from_prod_countable_right fun n โ†ฆ (by simp only; fun_prop)

measurable_hist๐Ÿ”—

LemmaLearning.IT.measurable_hist

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (hist n)
Learning.IT.measurable_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (hist n)

Code

lemma measurable_hist (n : โ„•) : Measurable (hist n (๐“
Type uses (1)
Used by (5)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ)) := by unfold hist; fun_prop

hist_eq_frestrictLe๐Ÿ”—

LemmaLearning.IT.hist_eq_frestrictLe

No docstring.

๐Ÿ”—theorem
Learning.IT.hist_eq_frestrictLe.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} : hist = Preorder.frestrictLe
Learning.IT.hist_eq_frestrictLe.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} : hist = Preorder.frestrictLe

Code

lemma hist_eq_frestrictLe :
    hist = Preorder.frestrictLe (ยซฯ€ยป
Type uses (1)
Used by (1)

Actions: Source ยท Open Issue

Proof
fun _ โ†ฆ ๐“ ร— ๐“จ) := by
  ext n h i : 3
  simp [hist, Preorder.frestrictLe]

filtration๐Ÿ”—

DefinitionLearning.IT.filtration

Filtration of the algorithm Seq.

๐Ÿ”—def
Learning.IT.filtration.{u_4, u_5} (๐“ : Type u_4) (๐“จ : Type u_5) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] : MeasureTheory.Filtration โ„• inferInstance
Learning.IT.filtration.{u_4, u_5} (๐“ : Type u_4) (๐“จ : Type u_5) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] : MeasureTheory.Filtration โ„• inferInstance

Code

protected def filtration (๐“ ๐“จ : Type*) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] :
    Filtration โ„• (inferInstance : MeasurableSpace (โ„• โ†’ ๐“ ร— ๐“จ)) :=
  MeasureTheory.Filtration.piLE (X := fun _ โ†ฆ ๐“ ร— ๐“จ)
Used by (13)

Actions: Source ยท Open Issue

filtration_eq_comap๐Ÿ”—

LemmaLearning.IT.filtration_eq_comap

No docstring.

๐Ÿ”—theorem
Learning.IT.filtration_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(IT.filtration ๐“ ๐“จ) n = MeasurableSpace.comap (hist n) inferInstance
Learning.IT.filtration_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(IT.filtration ๐“ ๐“จ) n = MeasurableSpace.comap (hist n) inferInstance

Code

lemma filtration_eq_comap (n : โ„•) :
    IT.filtration ๐“ ๐“จ n = MeasurableSpace.comap (hist n) inferInstance
Type uses (2)
Body uses (1)
Used by (5)

Actions: Source ยท Open Issue

Proof
by
  simp [IT.filtration, Filtration.piLE_eq_comap_frestrictLe, โ† hist_eq_frestrictLe]

step_eq_eval_comp_hist๐Ÿ”—

LemmaLearning.IT.step_eq_eval_comp_hist

No docstring.

๐Ÿ”—theorem
Learning.IT.step_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : step n = (fun x => x โŸจn, โ‹ฏโŸฉ) โˆ˜ hist n
Learning.IT.step_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : step n = (fun x => x โŸจn, โ‹ฏโŸฉ) โˆ˜ hist n

Code

lemma step_eq_eval_comp_hist (n : โ„•) :
    step (๐“
Type uses (2)
Used by (1)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ) n = (fun x โ†ฆ x โŸจn, by simpโŸฉ) โˆ˜ (hist n) := rfl

action_eq_eval_comp_hist๐Ÿ”—

LemmaLearning.IT.action_eq_eval_comp_hist

No docstring.

๐Ÿ”—theorem
Learning.IT.action_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : action n = (fun x => Prod.fst (x โŸจn, โ‹ฏโŸฉ)) โˆ˜ hist n
Learning.IT.action_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : action n = (fun x => Prod.fst (x โŸจn, โ‹ฏโŸฉ)) โˆ˜ hist n

Code

lemma action_eq_eval_comp_hist (n : โ„•) :
    action (๐“
Type uses (2)
Used by (1)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ) n = (fun x โ†ฆ (x โŸจn, by simpโŸฉ).1) โˆ˜ (hist n) := rfl

feedback_eq_eval_comp_hist๐Ÿ”—

LemmaLearning.IT.feedback_eq_eval_comp_hist

No docstring.

๐Ÿ”—theorem
Learning.IT.feedback_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : feedback n = (fun x => Prod.snd (x โŸจn, โ‹ฏโŸฉ)) โˆ˜ hist n
Learning.IT.feedback_eq_eval_comp_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} (n : โ„•) : feedback n = (fun x => Prod.snd (x โŸจn, โ‹ฏโŸฉ)) โˆ˜ hist n

Code

lemma feedback_eq_eval_comp_hist (n : โ„•) :
    feedback (๐“
Type uses (2)
Used by (1)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ) n = (fun x โ†ฆ (x โŸจn, by simpโŸฉ).2) โˆ˜ (hist n) := rfl

adapted_step๐Ÿ”—

LemmaLearning.IT.adapted_step

No docstring.

๐Ÿ”—theorem
Learning.IT.adapted_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) step
Learning.IT.adapted_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) step

Code

lemma adapted_step : Adapted (IT.filtration ๐“ ๐“จ) (step (๐“
Type uses (2)
Body uses (4)

Actions: Source ยท Open Issue

Proof
๐“) (๐“จ := ๐“จ)) := by
  intro n
  rw [filtration_eq_comap, step_eq_eval_comp_hist]
  exact measurable_comp_comap _ (by fun_prop)

adapted_hist๐Ÿ”—

LemmaLearning.IT.adapted_hist

No docstring.

๐Ÿ”—theorem
Learning.IT.adapted_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) hist
Learning.IT.adapted_hist.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) hist

Code

lemma adapted_hist : Adapted (IT.filtration ๐“ ๐“จ) hist
Type uses (2)
Body uses (1)

Actions: Source ยท Open Issue

Proof
by
  intro n
  simp [filtration_eq_comap, measurable_iff_comap_le]

adapted_action๐Ÿ”—

LemmaLearning.IT.adapted_action

No docstring.

๐Ÿ”—theorem
Learning.IT.adapted_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) action
Learning.IT.adapted_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) action

Code

lemma adapted_action : Adapted (IT.filtration ๐“ ๐“จ) action
Type uses (2)
Body uses (4)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  intro n
  rw [filtration_eq_comap, action_eq_eval_comp_hist]
  exact measurable_comp_comap _ (by fun_prop)

adapted_feedback๐Ÿ”—

LemmaLearning.IT.adapted_feedback

No docstring.

๐Ÿ”—theorem
Learning.IT.adapted_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) feedback
Learning.IT.adapted_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : MeasureTheory.Adapted (IT.filtration ๐“ ๐“จ) feedback

Code

lemma adapted_feedback : Adapted (IT.filtration ๐“ ๐“จ) feedback
Type uses (2)
Body uses (4)

Actions: Source ยท Open Issue

Proof
by
  intro n
  rw [filtration_eq_comap, feedback_eq_eval_comp_hist]
  exact measurable_comp_comap _ (by fun_prop)

filtrationAction๐Ÿ”—

DefinitionLearning.IT.filtrationAction

Filtration generated by the history at time n-1 together with the action at time n.

๐Ÿ”—def
Learning.IT.filtrationAction.{u_4, u_5} (๐“ : Type u_4) (๐“จ : Type u_5) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] : MeasureTheory.Filtration โ„• inferInstance
Learning.IT.filtrationAction.{u_4, u_5} (๐“ : Type u_4) (๐“จ : Type u_5) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] : MeasureTheory.Filtration โ„• inferInstance

Code

def filtrationAction (๐“ ๐“จ : Type*) [MeasurableSpace ๐“] [MeasurableSpace ๐“จ] :
    Filtration โ„• (inferInstance : MeasurableSpace (โ„• โ†’ ๐“ ร— ๐“จ)) where
  seq n := if n = 0 then MeasurableSpace.comap (action 0) inferInstance
    else IT.filtration ๐“ ๐“จ (n - 1) โŠ” MeasurableSpace.comap (action n) inferInstance
  mono' n m hnm := by
    simp only
    by_cases hn : n = 0
    ยท by_cases hm : m = 0
      ยท simp [hn, hm]
      ยท simp only [hn, โ†“reduceIte, hm]
        refine le_sup_of_le_left ?_
        rw [โ† measurable_iff_comap_le]
        suffices Measurable[IT.filtration ๐“ ๐“จ 0] (action 0) from
          this.mono ((IT.filtration ๐“ ๐“จ).mono zero_le) le_rfl
        exact adapted_action 0
    have hm : m โ‰  0 := by grind
    simp only [hn, hm, โ†“reduceIte]
    have hnm' : n - 1 โ‰ค m - 1 := by grind
    simp only [sup_le_iff]
    constructor
    ยท refine le_sup_of_le_left ?_
      exact (IT.filtration ๐“ ๐“จ).mono hnm'
    ยท rcases eq_or_lt_of_le hnm with rfl | hlt
      ยท exact le_sup_of_le_right le_rfl
      refine le_sup_of_le_left ?_
      rw [โ† measurable_iff_comap_le]
      have h_le : n โ‰ค m - 1 := by grind
      suffices Measurable[IT.filtration ๐“ ๐“จ n] (action n) from
        this.mono ((IT.filtration ๐“ ๐“จ).mono h_le) le_rfl
      exact adapted_action n
  le' n := by
    by_cases hn : n = 0
    ยท simp only [hn, โ†“reduceIte]
      rw [โ† measurable_iff_comap_le]
      fun_prop
    simp only [hn, โ†“reduceIte, sup_le_iff]
    constructor
    ยท exact (IT.filtration ๐“ ๐“จ).le _
    ยท rw [โ† measurable_iff_comap_le]
      fun_prop
Body uses (4)
Used by (7)

Actions: Source ยท Open Issue

filtrationAction_zero_eq_comap๐Ÿ”—

LemmaLearning.IT.filtrationAction_zero_eq_comap

No docstring.

๐Ÿ”—theorem
Learning.IT.filtrationAction_zero_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : โ†‘(filtrationAction ๐“ ๐“จ) 0 = MeasurableSpace.comap (action 0) inferInstance
Learning.IT.filtrationAction_zero_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} : โ†‘(filtrationAction ๐“ ๐“จ) 0 = MeasurableSpace.comap (action 0) inferInstance

Code

lemma filtrationAction_zero_eq_comap :
    filtrationAction ๐“ ๐“จ 0 = MeasurableSpace.comap (action 0) inferInstance
Type uses (2)
Body uses (1)
Used by (1)

Actions: Source ยท Open Issue

Proof
by
  simp [filtrationAction]

filtrationAction_eq_comap๐Ÿ”—

LemmaLearning.IT.filtrationAction_eq_comap

No docstring.

๐Ÿ”—theorem
Learning.IT.filtrationAction_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) (hn : n โ‰  0) : โ†‘(filtrationAction ๐“ ๐“จ) n = MeasurableSpace.comap (fun ฯ‰ => (hist (n - 1) ฯ‰, action n ฯ‰)) inferInstance
Learning.IT.filtrationAction_eq_comap.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) (hn : n โ‰  0) : โ†‘(filtrationAction ๐“ ๐“จ) n = MeasurableSpace.comap (fun ฯ‰ => (hist (n - 1) ฯ‰, action n ฯ‰)) inferInstance

Code

lemma filtrationAction_eq_comap (n : โ„•) (hn : n โ‰  0) :
    filtrationAction ๐“ ๐“จ n =
      MeasurableSpace.comap (fun ฯ‰ โ†ฆ (hist (n - 1) ฯ‰, action n ฯ‰)) inferInstance
Type uses (3)
Body uses (4)

Actions: Source ยท Open Issue

Proof
by
  simp only [filtrationAction, filtration_eq_comap, โ† MeasurableSpace.comap_prodMk, hn, โ†“reduceIte]
  rfl

filtration_le_filtrationAction_add_one๐Ÿ”—

LemmaLearning.IT.filtration_le_filtrationAction_add_one

No docstring.

๐Ÿ”—theorem
Learning.IT.filtration_le_filtrationAction_add_one.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(IT.filtration ๐“ ๐“จ) n โ‰ค โ†‘(filtrationAction ๐“ ๐“จ) (n + 1)
Learning.IT.filtration_le_filtrationAction_add_one.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(IT.filtration ๐“ ๐“จ) n โ‰ค โ†‘(filtrationAction ๐“ ๐“จ) (n + 1)

Code

lemma filtration_le_filtrationAction_add_one (n : โ„•) :
    IT.filtration ๐“ ๐“จ n โ‰ค filtrationAction ๐“ ๐“จ (n + 1)
Type uses (2)
Body uses (1)
Used by (1)

Actions: Source ยท Open Issue

Proof
le_sup_of_le_left le_rfl

filtration_le_filtrationAction๐Ÿ”—

LemmaLearning.IT.filtration_le_filtrationAction

No docstring.

๐Ÿ”—theorem
Learning.IT.filtration_le_filtrationAction.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {m n : โ„•} (h : n < m) : โ†‘(IT.filtration ๐“ ๐“จ) n โ‰ค โ†‘(filtrationAction ๐“ ๐“จ) m
Learning.IT.filtration_le_filtrationAction.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {m n : โ„•} (h : n < m) : โ†‘(IT.filtration ๐“ ๐“จ) n โ‰ค โ†‘(filtrationAction ๐“ ๐“จ) m

Code

lemma filtration_le_filtrationAction {m n : โ„•} (h : n < m) :
    IT.filtration ๐“ ๐“จ n โ‰ค filtrationAction ๐“ ๐“จ m
Type uses (2)
Body uses (1)

Actions: Source ยท Open Issue

Proof
by
  have h' : n + 1 โ‰ค m := by grind
  exact (filtration_le_filtrationAction_add_one n).trans ((filtrationAction ๐“ ๐“จ).mono h')

filtrationAction_le_filtration_self๐Ÿ”—

LemmaLearning.IT.filtrationAction_le_filtration_self

No docstring.

๐Ÿ”—theorem
Learning.IT.filtrationAction_le_filtration_self.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(filtrationAction ๐“ ๐“จ) n โ‰ค โ†‘(IT.filtration ๐“ ๐“จ) n
Learning.IT.filtrationAction_le_filtration_self.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : โ†‘(filtrationAction ๐“ ๐“จ) n โ‰ค โ†‘(IT.filtration ๐“ ๐“จ) n

Code

lemma filtrationAction_le_filtration_self (n : โ„•) :
    filtrationAction ๐“ ๐“จ n โ‰ค IT.filtration ๐“ ๐“จ n
Type uses (2)
Body uses (3)
Used by (1)

Actions: Source ยท Open Issue

Proof
by
  by_cases hn : n = 0
  ยท simp only [hn, filtrationAction_zero_eq_comap]
    rw [โ† measurable_iff_comap_le]
    exact adapted_action 0
  simp only [filtrationAction, hn, โ†“reduceIte, sup_le_iff]
  constructor
  ยท exact (IT.filtration ๐“ ๐“จ).mono (by grind)
  ยท rw [โ† measurable_iff_comap_le]
    exact adapted_action _

filtrationAction_le_filtration๐Ÿ”—

LemmaLearning.IT.filtrationAction_le_filtration

No docstring.

๐Ÿ”—theorem
Learning.IT.filtrationAction_le_filtration.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {m n : โ„•} (h : m โ‰ค n) : โ†‘(filtrationAction ๐“ ๐“จ) m โ‰ค โ†‘(IT.filtration ๐“ ๐“จ) n
Learning.IT.filtrationAction_le_filtration.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {m n : โ„•} (h : m โ‰ค n) : โ†‘(filtrationAction ๐“ ๐“จ) m โ‰ค โ†‘(IT.filtration ๐“ ๐“จ) n

Code

lemma filtrationAction_le_filtration {m n : โ„•} (h : m โ‰ค n) :
    filtrationAction ๐“ ๐“จ m โ‰ค IT.filtration ๐“ ๐“จ n
Type uses (2)
Body uses (1)

Actions: Source ยท Open Issue

Proof
(filtrationAction_le_filtration_self m).trans ((IT.filtration ๐“ ๐“จ).mono h)

measurable_action_filtrationAction๐Ÿ”—

LemmaLearning.IT.measurable_action_filtrationAction

No docstring.

๐Ÿ”—theorem
Learning.IT.measurable_action_filtrationAction.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (action n)
Learning.IT.measurable_action_filtrationAction.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (n : โ„•) : Measurable (action n)

Code

lemma measurable_action_filtrationAction (n : โ„•) :
    Measurable[filtrationAction ๐“ ๐“จ n] (action n)
Type uses (2)
Body uses (1)

Actions: Source ยท Open Issue

Proof
by
  rw [measurable_iff_comap_le]
  simp only [filtrationAction]
  split_ifs with hn
  ยท simp [hn]
  ยท exact le_sup_of_le_right le_rfl

hasLaw_step_zero๐Ÿ”—

LemmaLearning.IT.hasLaw_step_zero

No docstring.

๐Ÿ”—theorem
Learning.IT.hasLaw_step_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasLaw (step 0) (MeasureTheory.Measure.compProd (Algorithm.p0 alg) (Environment.ฮฝ0 env)) (trajMeasure alg env)
Learning.IT.hasLaw_step_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasLaw (step 0) (MeasureTheory.Measure.compProd (Algorithm.p0 alg) (Environment.ฮฝ0 env)) (trajMeasure alg env)

Code

lemma hasLaw_step_zero (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    HasLaw (step 0) (alg.p0 โŠ—โ‚˜ env.ฮฝ0) (trajMeasure alg env) where
  aemeasurable
Type uses (4)
Body uses (5)
Used by (2)

Actions: Source ยท Open Issue

Proof
Measurable.aemeasurable (by fun_prop)
  map_eq := by
    unfold step
    rw [โ† coe_default_Iic_zero]
    simp only [trajMeasure, Kernel.trajMeasure]
    rw [โ† Measure.deterministic_comp_eq_map (by fun_prop), Measure.comp_assoc,
      Kernel.deterministic_comp_eq_map, Kernel.traj_zero_map_eval_zero,
      Measure.deterministic_comp_eq_map, Measure.map_map (by fun_prop) (by fun_prop)]
    exact Measure.map_id

hasLaw_action_zero๐Ÿ”—

LemmaLearning.IT.hasLaw_action_zero

No docstring.

๐Ÿ”—theorem
Learning.IT.hasLaw_action_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasLaw (action 0) (Algorithm.p0 alg) (trajMeasure alg env)
Learning.IT.hasLaw_action_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasLaw (action 0) (Algorithm.p0 alg) (trajMeasure alg env)

Code

lemma hasLaw_action_zero (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    HasLaw (action 0) alg.p0 (trajMeasure alg env) where
  map_eq
Type uses (4)
Body uses (7)
Used by (2)

Actions: Source ยท Open Issue

Proof
by
    rw [โ† fst_comp_step, โ† Measure.map_map (by fun_prop) (by fun_prop),
      (hasLaw_step_zero alg env).map_eq, โ† Measure.fst, Measure.fst_compProd]

hasCondDistrib_feedback_zero๐Ÿ”—

LemmaLearning.IT.hasCondDistrib_feedback_zero

No docstring.

๐Ÿ”—theorem
Learning.IT.hasCondDistrib_feedback_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasCondDistrib (feedback 0) (action 0) (Environment.ฮฝ0 env) (trajMeasure alg env)
Learning.IT.hasCondDistrib_feedback_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : ProbabilityTheory.HasCondDistrib (feedback 0) (action 0) (Environment.ฮฝ0 env) (trajMeasure alg env)

Code

lemma hasCondDistrib_feedback_zero (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    HasCondDistrib (feedback 0) (action 0) env.ฮฝ0 (trajMeasure alg env)
Type uses (5)
Body uses (5)
Used by (2)

Actions: Source ยท Open Issue

Proof
by
  have h_step := (hasLaw_step_zero alg env).map_eq
  have h_action := (hasLaw_action_zero alg env).map_eq
  exact โŸจby fun_prop, by rwa [h_action]โŸฉ

hasCondDistrib_trajMeasure๐Ÿ”—

LemmaProbabilityTheory.Kernel.hasCondDistrib_trajMeasure

No docstring.

๐Ÿ”—theorem
ProbabilityTheory.Kernel.hasCondDistrib_trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Learning.Algorithm ๐“ ๐“จ) (env : Learning.Environment ๐“ ๐“จ) (n : โ„•) : HasCondDistrib (Learning.IT.step (n + 1)) (Learning.IT.hist n) (Learning.stepKernel alg env n) (Learning.trajMeasure alg env)
ProbabilityTheory.Kernel.hasCondDistrib_trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Learning.Algorithm ๐“ ๐“จ) (env : Learning.Environment ๐“ ๐“จ) (n : โ„•) : HasCondDistrib (Learning.IT.step (n + 1)) (Learning.IT.hist n) (Learning.stepKernel alg env n) (Learning.trajMeasure alg env)

Code

lemma _root_.ProbabilityTheory.Kernel.hasCondDistrib_trajMeasure
    (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    HasCondDistrib (step (n + 1)) (hist n) (stepKernel alg env n) (trajMeasure alg env)
Type uses (6)
Body uses (5)
Used by (1)

Actions: Source ยท Open Issue

Proof
โŸจby fun_prop, Kernel.map_frestrictLe_trajMeasure_compProd_eq_map_trajMeasure.symmโŸฉ

hasCondDistrib_step๐Ÿ”—

LemmaLearning.IT.hasCondDistrib_step

No docstring.

๐Ÿ”—theorem
Learning.IT.hasCondDistrib_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (step (n + 1)) (hist n) (stepKernel alg env n) (trajMeasure alg env)
Learning.IT.hasCondDistrib_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (step (n + 1)) (hist n) (stepKernel alg env n) (trajMeasure alg env)

Code

lemma hasCondDistrib_step (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    HasCondDistrib (step (n + 1)) (hist n) (stepKernel alg env n) (trajMeasure alg env)
Type uses (6)
Body uses (1)
Used by (3)

Actions: Source ยท Open Issue

Proof
Kernel.hasCondDistrib_trajMeasure alg env n

hasCondDistrib_action๐Ÿ”—

LemmaLearning.IT.hasCondDistrib_action

No docstring.

๐Ÿ”—theorem
Learning.IT.hasCondDistrib_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (action (n + 1)) (hist n) (Algorithm.policy alg n) (trajMeasure alg env)
Learning.IT.hasCondDistrib_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (action (n + 1)) (hist n) (Algorithm.policy alg n) (trajMeasure alg env)

Code

lemma hasCondDistrib_action (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    HasCondDistrib (action (n + 1)) (hist n) (alg.policy n) (trajMeasure alg env)
Type uses (5)
Body uses (7)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  rw [โ† fst_comp_step, โ† fst_stepKernel, Kernel.fst_eq]
  exact HasCondDistrib.comp_left (hasCondDistrib_step alg env n) measurable_fst

hasCondDistrib_feedback๐Ÿ”—

LemmaLearning.IT.hasCondDistrib_feedback

No docstring.

๐Ÿ”—theorem
Learning.IT.hasCondDistrib_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (feedback (n + 1)) (fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰)) (Environment.feedback env n) (trajMeasure alg env)
Learning.IT.hasCondDistrib_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : ProbabilityTheory.HasCondDistrib (feedback (n + 1)) (fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰)) (Environment.feedback env n) (trajMeasure alg env)

Code

lemma hasCondDistrib_feedback (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    HasCondDistrib (feedback (n + 1)) (fun ฯ‰ โ†ฆ (hist n ฯ‰, action (n + 1) ฯ‰)) (env.feedback n)
      (trajMeasure alg env)
Type uses (6)
Body uses (8)
Used by (2)

Actions: Source ยท Open Issue

Proof
by
  have h_step := hasCondDistrib_step alg env n
  have h_action := hasCondDistrib_action alg env n
  refine โŸจby fun_prop, ?_โŸฉ
  rw [h_action.map_eq, โ† Measure.compProd_assoc, โ† stepKernel, โ† h_step.map_eq,
    Measure.map_map (by fun_prop) (by fun_prop)]
  rfl

condDistrib_feedback_zero๐Ÿ”—

LemmaLearning.IT.condDistrib_feedback_zero

No docstring.

๐Ÿ”—theorem
Learning.IT.condDistrib_feedback_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : โ‡‘๐“›[feedback 0 | action 0; trajMeasure alg env] =แต[MeasureTheory.Measure.map (action 0) (trajMeasure alg env)] โ‡‘(Environment.ฮฝ0 env)
Learning.IT.condDistrib_feedback_zero.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : โ‡‘๐“›[feedback 0 | action 0; trajMeasure alg env] =แต[MeasureTheory.Measure.map (action 0) (trajMeasure alg env)] โ‡‘(Environment.ฮฝ0 env)

Code

lemma condDistrib_feedback_zero [StandardBorelSpace ๐“จ] [Nonempty ๐“จ]
    (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    condDistrib (feedback 0) (action 0) (trajMeasure alg env)
      =แต[(trajMeasure alg env).map (action 0)] env.ฮฝ0
Type uses (6)
Body uses (3)

Actions: Source ยท Open Issue

Proof
(hasCondDistrib_feedback_zero alg env).condDistrib_eq

condDistrib_step๐Ÿ”—

LemmaLearning.IT.condDistrib_step

No docstring.

๐Ÿ”—theorem
Learning.IT.condDistrib_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[step (n + 1) | hist n; trajMeasure alg env] =แต[MeasureTheory.Measure.map (hist n) (trajMeasure alg env)] โ‡‘(stepKernel alg env n)
Learning.IT.condDistrib_step.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[step (n + 1) | hist n; trajMeasure alg env] =แต[MeasureTheory.Measure.map (hist n) (trajMeasure alg env)] โ‡‘(stepKernel alg env n)

Code

lemma condDistrib_step [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ]
    (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    condDistrib (step (n + 1)) (hist n) (trajMeasure alg env)
      =แต[(trajMeasure alg env).map (hist n)] stepKernel alg env n
Type uses (7)
Body uses (3)

Actions: Source ยท Open Issue

Proof
(hasCondDistrib_step alg env n).condDistrib_eq

condDistrib_action๐Ÿ”—

LemmaLearning.IT.condDistrib_action

No docstring.

๐Ÿ”—theorem
Learning.IT.condDistrib_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“] [Nonempty ๐“] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[action (n + 1) | hist n; trajMeasure alg env] =แต[MeasureTheory.Measure.map (hist n) (trajMeasure alg env)] โ‡‘(Algorithm.policy alg n)
Learning.IT.condDistrib_action.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“] [Nonempty ๐“] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[action (n + 1) | hist n; trajMeasure alg env] =แต[MeasureTheory.Measure.map (hist n) (trajMeasure alg env)] โ‡‘(Algorithm.policy alg n)

Code

lemma condDistrib_action [StandardBorelSpace ๐“] [Nonempty ๐“]
    (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    condDistrib (action (n + 1)) (hist n) (trajMeasure alg env)
      =แต[(trajMeasure alg env).map (hist n)] alg.policy n
Type uses (6)
Body uses (3)

Actions: Source ยท Open Issue

Proof
(hasCondDistrib_action alg env n).condDistrib_eq

condDistrib_feedback๐Ÿ”—

LemmaLearning.IT.condDistrib_feedback

No docstring.

๐Ÿ”—theorem
Learning.IT.condDistrib_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[feedback (n + 1) | fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰); trajMeasure alg env] =แต[MeasureTheory.Measure.map (fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰)) (trajMeasure alg env)] โ‡‘(Environment.feedback env n)
Learning.IT.condDistrib_feedback.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) : โ‡‘๐“›[feedback (n + 1) | fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰); trajMeasure alg env] =แต[MeasureTheory.Measure.map (fun ฯ‰ => (hist n ฯ‰, action (n + 1) ฯ‰)) (trajMeasure alg env)] โ‡‘(Environment.feedback env n)

Code

lemma condDistrib_feedback [StandardBorelSpace ๐“จ] [Nonempty ๐“จ]
    (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) (n : โ„•) :
    condDistrib (feedback (n + 1)) (fun ฯ‰ โ†ฆ (hist n ฯ‰, action (n + 1) ฯ‰)) (trajMeasure alg env)
      =แต[(trajMeasure alg env).map (fun ฯ‰ โ†ฆ (hist n ฯ‰, action (n + 1) ฯ‰))] env.feedback n
Type uses (7)
Body uses (3)

Actions: Source ยท Open Issue

Proof
(hasCondDistrib_feedback alg env n).condDistrib_eq

isAlgEnvSeq_trajMeasure๐Ÿ”—

LemmaLearning.IT.isAlgEnvSeq_trajMeasure

No docstring.

๐Ÿ”—theorem
Learning.IT.isAlgEnvSeq_trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : IsAlgEnvSeq action feedback alg env (trajMeasure alg env)
Learning.IT.isAlgEnvSeq_trajMeasure.{u_1, u_2} {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) : IsAlgEnvSeq action feedback alg env (trajMeasure alg env)

Code

lemma isAlgEnvSeq_trajMeasure (alg : Algorithm ๐“ ๐“จ) (env : Environment ๐“ ๐“จ) :
    IsAlgEnvSeq action feedback alg env (trajMeasure alg env) where
  hasLaw_action_zero
Type uses (7)
Body uses (7)
Used by (1)

Actions: Source ยท Open Issue

Proof
hasLaw_action_zero alg env
  hasCondDistrib_feedback_zero := hasCondDistrib_feedback_zero alg env
  hasCondDistrib_action n := hasCondDistrib_action alg env n
  hasCondDistrib_feedback n := hasCondDistrib_feedback alg env n
  1. Learning.trajMeasure
  2. Learning.instIsProbabilityMeasureForallNatProdTrajMeasure
  3. Learning.IsAlgEnvSeq.map_trajectory
  4. Learning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil
  5. Learning.isAlgEnvSeq_unique
  6. Learning.IsAlgEnvSeq.identDistrib_trajectory
  7. Learning.isAlgEnvSeqUntil_unique
  8. Learning.IT.step
  9. Learning.IT.action
  10. Learning.IT.feedback
  11. Learning.IT.hist
  12. Learning.IT.fst_comp_step
  13. Learning.IT.measurable_step
  14. Learning.IT.measurable_step_prod
  15. Learning.IT.measurable_action
  16. Learning.IT.measurable_action_prod
  17. Learning.IT.measurable_feedback
  18. Learning.IT.measurable_feedback_prod
  19. Learning.IT.measurable_hist
  20. Learning.IT.hist_eq_frestrictLe
  21. Learning.IT.filtration
  22. Learning.IT.filtration_eq_comap
  23. Learning.IT.step_eq_eval_comp_hist
  24. Learning.IT.action_eq_eval_comp_hist
  25. Learning.IT.feedback_eq_eval_comp_hist
  26. Learning.IT.adapted_step
  27. Learning.IT.adapted_hist
  28. Learning.IT.adapted_action
  29. Learning.IT.adapted_feedback
  30. Learning.IT.filtrationAction
  31. Learning.IT.filtrationAction_zero_eq_comap
  32. Learning.IT.filtrationAction_eq_comap
  33. Learning.IT.filtration_le_filtrationAction_add_one
  34. Learning.IT.filtration_le_filtrationAction
  35. Learning.IT.filtrationAction_le_filtration_self
  36. Learning.IT.filtrationAction_le_filtration
  37. Learning.IT.measurable_action_filtrationAction
  38. Learning.IT.hasLaw_step_zero
  39. Learning.IT.hasLaw_action_zero
  40. Learning.IT.hasCondDistrib_feedback_zero
  41. ProbabilityTheory.Kernel.hasCondDistrib_trajMeasure
  42. Learning.IT.hasCondDistrib_step
  43. Learning.IT.hasCondDistrib_action
  44. Learning.IT.hasCondDistrib_feedback
  45. Learning.IT.condDistrib_feedback_zero
  46. Learning.IT.condDistrib_step
  47. Learning.IT.condDistrib_action
  48. Learning.IT.condDistrib_feedback
  49. Learning.IT.isAlgEnvSeq_trajMeasure