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. IfAโ,RโandAโ,Rโare two algorithm-environment sequences generated by the same algorithm-environment pair on probability spaces(ฮฉ, P)and(ฮฉ', P'), thenP.map (fun ฯ n โฆ (Aโ n ฯ, Rโ n ฯ)) = P'.map (fun ฯ n โฆ (Aโ n ฯ, Rโ n ฯ)).
Module LeanMachineLearning.SequentialLearning.IonescuTulceaSpace contains 49 exposed declarations.
trajMeasure๐
Learning.trajMeasureMeasure on the sequence of actions and observations generated by the algorithm/environment.
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 IsProbabilityMeasureType uses (2)
Used by (19)
Actions: Source ยท Open Issue
instIsProbabilityMeasureForallNatProdTrajMeasure๐
Learning.instIsProbabilityMeasureForallNatProdTrajMeasureNo docstring.
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๐
Learning.IsAlgEnvSeq.map_trajectoryNo docstring.
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 envLearning.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 envType 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๐
Learning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntilNo docstring.
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๐
Learning.isAlgEnvSeq_uniqueThe 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.
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)
Actions: Source ยท Open Issue
Proof
by rw [h1.map_trajectory, h2.map_trajectory]
identDistrib_trajectory๐
Learning.IsAlgEnvSeq.identDistrib_trajectoryThe 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.
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_fstType 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๐
Learning.isAlgEnvSeqUntil_uniqueNo docstring.
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)
Actions: Source ยท Open Issue
Proof
by
rw [eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil h1,
eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil h2]
step๐
Learning.IT.step
Action and feedback at step n.
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๐
Learning.IT.action
action n is the action pulled at time n. This is a random variable on the measurable space
โ โ ๐ ร ๐จ.
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
Actions: Source ยท Open Issue
feedback๐
Learning.IT.feedback
feedback n is the feedback at time n. This is a random variable on the measurable space
โ โ ๐ ร ๐จ.
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๐
Learning.IT.hist
hist n is the history up to time n. This is a random variable on the measurable space
โ โ ๐ ร ๐จ.
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๐
Learning.IT.fst_comp_stepNo docstring.
Learning.IT.fst_comp_step.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} (n : โ) : Prod.fst โ step n = action nLearning.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 (๐
Used by (2)
Actions: Source ยท Open Issue
Proof
๐) (๐จ := ๐จ) n = action n := rfl
measurable_step๐
Learning.IT.measurable_stepNo docstring.
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๐
Learning.IT.measurable_step_prodNo docstring.
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๐
Learning.IT.measurable_actionNo docstring.
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๐
Learning.IT.measurable_action_prodNo docstring.
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๐
Learning.IT.measurable_feedbackNo docstring.
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๐
Learning.IT.measurable_feedback_prodNo docstring.
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๐
Learning.IT.measurable_histNo docstring.
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๐
Learning.IT.hist_eq_frestrictLeNo docstring.
Learning.IT.hist_eq_frestrictLe.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} : hist = Preorder.frestrictLeLearning.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๐
Learning.IT.filtrationFiltration of the algorithm Seq.
Learning.IT.filtration.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : MeasureTheory.Filtration โ inferInstanceLearning.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๐
Learning.IT.filtration_eq_comapNo docstring.
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) inferInstanceLearning.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) inferInstanceType uses (2)
Body uses (1)
Actions: Source ยท Open Issue
Proof
by simp [IT.filtration, Filtration.piLE_eq_comap_frestrictLe, โ hist_eq_frestrictLe]
step_eq_eval_comp_hist๐
Learning.IT.step_eq_eval_comp_histNo docstring.
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 nLearning.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 (๐Used by (1)
Actions: Source ยท Open Issue
Proof
๐) (๐จ := ๐จ) n = (fun x โฆ x โจn, by simpโฉ) โ (hist n) := rfl
action_eq_eval_comp_hist๐
Learning.IT.action_eq_eval_comp_histNo docstring.
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 nLearning.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 (๐Used by (1)
Actions: Source ยท Open Issue
Proof
๐) (๐จ := ๐จ) n = (fun x โฆ (x โจn, by simpโฉ).1) โ (hist n) := rfl
feedback_eq_eval_comp_hist๐
Learning.IT.feedback_eq_eval_comp_histNo docstring.
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 nLearning.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 (๐Used by (1)
Actions: Source ยท Open Issue
Proof
๐) (๐จ := ๐จ) n = (fun x โฆ (x โจn, by simpโฉ).2) โ (hist n) := rfl
adapted_step๐
Learning.IT.adapted_stepNo docstring.
Learning.IT.adapted_step.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} : MeasureTheory.Adapted (IT.filtration ๐ ๐จ) stepLearning.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๐
Learning.IT.adapted_histNo docstring.
Learning.IT.adapted_hist.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} : MeasureTheory.Adapted (IT.filtration ๐ ๐จ) histLearning.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๐
Learning.IT.adapted_actionNo docstring.
Learning.IT.adapted_action.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} : MeasureTheory.Adapted (IT.filtration ๐ ๐จ) actionLearning.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)
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๐
Learning.IT.adapted_feedbackNo docstring.
Learning.IT.adapted_feedback.{u_1, u_2} {๐ : Type u_1} {๐จ : Type u_2} {m๐ : MeasurableSpace ๐} {m๐จ : MeasurableSpace ๐จ} : MeasureTheory.Adapted (IT.filtration ๐ ๐จ) feedbackLearning.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)
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๐
Learning.IT.filtrationAction
Filtration generated by the history at time n-1 together with the action at time n.
Learning.IT.filtrationAction.{u_4, u_5} (๐ : Type u_4) (๐จ : Type u_5) [MeasurableSpace ๐] [MeasurableSpace ๐จ] : MeasureTheory.Filtration โ inferInstanceLearning.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_propBody uses (4)
Used by (7)
Actions: Source ยท Open Issue
filtrationAction_zero_eq_comap๐
Learning.IT.filtrationAction_zero_eq_comapNo docstring.
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) inferInstanceLearning.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) inferInstanceType uses (2)
Body uses (1)
Used by (1)
Actions: Source ยท Open Issue
Proof
by simp [filtrationAction]
filtrationAction_eq_comap๐
Learning.IT.filtrationAction_eq_comapNo docstring.
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 ฯ)) inferInstanceLearning.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 ฯ)) inferInstanceType 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๐
Learning.IT.filtration_le_filtrationAction_add_oneNo docstring.
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๐
Learning.IT.filtration_le_filtrationActionNo docstring.
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 ๐ ๐จ) mLearning.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 ๐ ๐จ mType 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๐
Learning.IT.filtrationAction_le_filtration_selfNo docstring.
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 ๐ ๐จ) nLearning.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 ๐ ๐จ nType 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๐
Learning.IT.filtrationAction_le_filtrationNo docstring.
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 ๐ ๐จ) nLearning.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 ๐ ๐จ nType uses (2)
Body uses (1)
Actions: Source ยท Open Issue
Proof
(filtrationAction_le_filtration_self m).trans ((IT.filtration ๐ ๐จ).mono h)
measurable_action_filtrationAction๐
Learning.IT.measurable_action_filtrationActionNo docstring.
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๐
Learning.IT.hasLaw_step_zeroNo docstring.
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
aemeasurableType 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๐
Learning.IT.hasLaw_action_zeroNo docstring.
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_eqType 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๐
Learning.IT.hasCondDistrib_feedback_zeroNo docstring.
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)
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๐
ProbabilityTheory.Kernel.hasCondDistrib_trajMeasureNo docstring.
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๐
Learning.IT.hasCondDistrib_stepNo docstring.
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)
Actions: Source ยท Open Issue
Proof
Kernel.hasCondDistrib_trajMeasure alg env n
hasCondDistrib_action๐
Learning.IT.hasCondDistrib_actionNo docstring.
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)
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๐
Learning.IT.hasCondDistrib_feedbackNo docstring.
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๐
Learning.IT.condDistrib_feedback_zeroNo docstring.
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.ฮฝ0Type uses (6)
Body uses (3)
Actions: Source ยท Open Issue
Proof
(hasCondDistrib_feedback_zero alg env).condDistrib_eq
condDistrib_step๐
Learning.IT.condDistrib_stepNo docstring.
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 nType uses (7)
Body uses (3)
Actions: Source ยท Open Issue
Proof
(hasCondDistrib_step alg env n).condDistrib_eq
condDistrib_action๐
Learning.IT.condDistrib_actionNo docstring.
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 nType uses (6)
Body uses (3)
Actions: Source ยท Open Issue
Proof
(hasCondDistrib_action alg env n).condDistrib_eq
condDistrib_feedback๐
Learning.IT.condDistrib_feedbackNo docstring.
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 nType uses (7)
Body uses (3)
Actions: Source ยท Open Issue
Proof
(hasCondDistrib_feedback alg env n).condDistrib_eq
isAlgEnvSeq_trajMeasure๐
Learning.IT.isAlgEnvSeq_trajMeasureNo docstring.
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_zeroType 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
-
Learning.trajMeasure -
Learning.instIsProbabilityMeasureForallNatProdTrajMeasure -
Learning.IsAlgEnvSeq.map_trajectory -
Learning.eq_trajMeasure_map_frestrictLe_of_isAlgEnvSeqUntil -
Learning.isAlgEnvSeq_unique -
Learning.IsAlgEnvSeq.identDistrib_trajectory -
Learning.isAlgEnvSeqUntil_unique -
Learning.IT.step -
Learning.IT.action -
Learning.IT.feedback -
Learning.IT.hist -
Learning.IT.fst_comp_step -
Learning.IT.measurable_step -
Learning.IT.measurable_step_prod -
Learning.IT.measurable_action -
Learning.IT.measurable_action_prod -
Learning.IT.measurable_feedback -
Learning.IT.measurable_feedback_prod -
Learning.IT.measurable_hist -
Learning.IT.hist_eq_frestrictLe -
Learning.IT.filtration -
Learning.IT.filtration_eq_comap -
Learning.IT.step_eq_eval_comp_hist -
Learning.IT.action_eq_eval_comp_hist -
Learning.IT.feedback_eq_eval_comp_hist -
Learning.IT.adapted_step -
Learning.IT.adapted_hist -
Learning.IT.adapted_action -
Learning.IT.adapted_feedback -
Learning.IT.filtrationAction -
Learning.IT.filtrationAction_zero_eq_comap -
Learning.IT.filtrationAction_eq_comap -
Learning.IT.filtration_le_filtrationAction_add_one -
Learning.IT.filtration_le_filtrationAction -
Learning.IT.filtrationAction_le_filtration_self -
Learning.IT.filtrationAction_le_filtration -
Learning.IT.measurable_action_filtrationAction -
Learning.IT.hasLaw_step_zero -
Learning.IT.hasLaw_action_zero -
Learning.IT.hasCondDistrib_feedback_zero -
ProbabilityTheory.Kernel.hasCondDistrib_trajMeasure -
Learning.IT.hasCondDistrib_step -
Learning.IT.hasCondDistrib_action -
Learning.IT.hasCondDistrib_feedback -
Learning.IT.condDistrib_feedback_zero -
Learning.IT.condDistrib_step -
Learning.IT.condDistrib_action -
Learning.IT.condDistrib_feedback -
Learning.IT.isAlgEnvSeq_trajMeasure