Documentation

LeanMachineLearning.SequentialLearning.Deterministic

Deterministic algorithms and environments #

A deterministic algorithm chooses its action in a deterministic way. That is, that action is given by a measurable function of the history instead of a general Markov kernel. Similarly, a deterministic environment gives feedback in a deterministic way.

Main definitions #

We introduce two typeclasses IsDeterministicAlg and IsDeterministicEnv to express that an algorithm or an environment is deterministic. We also give definitions for the initial action and the next action of a deterministic algorithm, and for the feedback functions of a deterministic environment. Finally, we give a construction of a deterministic algorithm and environment from measurable functions.

class Learning.IsDeterministicAlg {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) :

An algorithm is deterministic if its initial action and subsequent actions are determined by measurable functions (and not possibly random kernels).

Instances
    noncomputable def Learning.actionZero {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) [h_det : IsDeterministicAlg alg] :
    ๐“

    The initial action of a deterministic algorithm.

    Equations
    Instances For
      noncomputable def Learning.nextAction {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) [h_det : IsDeterministicAlg alg] (n : โ„•) :
      (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“

      The next action of a deterministic algorithm after step n.

      Equations
      Instances For
        theorem Learning.measurable_nextAction {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) [IsDeterministicAlg alg] (n : โ„•) :
        theorem Learning.p0_eq_dirac {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) [h_det : IsDeterministicAlg alg] :
        theorem Learning.policy_eq_deterministic {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (alg : Algorithm ๐“ ๐“จ) [h_det : IsDeterministicAlg alg] (n : โ„•) :
        theorem Learning.IsDeterministicAlg.hasLaw_action_zero_of_IsAlgEnvSeqUntil {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeqUntil A Y alg env P N) :
        theorem Learning.IsDeterministicAlg.action_zero_of_IsAlgEnvSeqUntil {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeqUntil A Y alg env P N) :
        A 0 =แต[P] fun (x : ฮฉ) => actionZero alg
        theorem Learning.IsDeterministicAlg.action_ae_eq_of_IsAlgEnvSeqUntil {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {n N : โ„•} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeqUntil A Y alg env P N) (hn : n < N) :
        A (n + 1) =แต[P] fun (ฯ‰ : ฮฉ) => nextAction alg n (history A Y n ฯ‰)
        theorem Learning.IsDeterministicAlg.hasLaw_action_zero {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeq A Y alg env P) :
        theorem Learning.IsDeterministicAlg.action_zero_ae_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeq A Y alg env P) :
        A 0 =แต[P] fun (x : ฮฉ) => actionZero alg
        theorem Learning.IsDeterministicAlg.action_ae_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeq A Y alg env P) (n : โ„•) :
        A (n + 1) =แต[P] fun (ฯ‰ : ฮฉ) => nextAction alg n (history A Y n ฯ‰)
        theorem Learning.IsDeterministicAlg.action_ae_all_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicAlg alg] (h : IsAlgEnvSeq A Y alg env P) :
        โˆ€แต (ฯ‰ : ฮฉ) โˆ‚P, A 0 ฯ‰ = actionZero alg โˆง โˆ€ (n : โ„•), A (n + 1) ฯ‰ = nextAction alg n (history A Y n ฯ‰)
        class Learning.IsDeterministicEnv {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) :

        An environment is deterministic if its initial feedbacks are determined by measurable functions (and not possibly random kernels).

        Instances
          noncomputable def Learning.feedbackFunZero {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [h_det : IsDeterministicEnv env] :
          ๐“ โ†’ ๐“จ

          The initial feedback function of a deterministic environment.

          Equations
          Instances For
            theorem Learning.measurable_feedbackFunZero {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [IsDeterministicEnv env] :
            theorem Learning.ฮฝ0_eq_deterministic {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [IsDeterministicEnv env] :
            noncomputable def Learning.feedbackFun {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [h_det : IsDeterministicEnv env] (n : โ„•) :
            (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) ร— ๐“ โ†’ ๐“จ

            The feedback function of a deterministic environment at step n.

            Equations
            Instances For
              theorem Learning.measurable_feedbackFun {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [IsDeterministicEnv env] (n : โ„•) :
              theorem Learning.feedback_eq_deterministic {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (env : Environment ๐“ ๐“จ) [IsDeterministicEnv env] (n : โ„•) :
              theorem Learning.IsDeterministicEnv.hasCondDistrib_feedback_zero {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicEnv env] (h : IsAlgEnvSeq A Y alg env P) :
              theorem Learning.IsDeterministicEnv.hasCondDistrib_feedback {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {alg : Algorithm ๐“ ๐“จ} {env : Environment ๐“ ๐“จ} {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsFiniteMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} [h_det : IsDeterministicEnv env] (h : IsAlgEnvSeq A Y alg env P) (n : โ„•) :
              ProbabilityTheory.HasCondDistrib (Y (n + 1)) (fun (ฯ‰ : ฮฉ) => (history A Y n ฯ‰, A (n + 1) ฯ‰)) (ProbabilityTheory.Kernel.deterministic (feedbackFun env n) โ‹ฏ) P
              noncomputable def Learning.detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“) (h_next : โˆ€ (n : โ„•), Measurable (nextA n)) (action0 : ๐“) :
              Algorithm ๐“ ๐“จ

              A deterministic algorithm, which chooses the action given by the function nextAction.

              Equations
              Instances For
                @[simp]
                theorem Learning.detAlgorithm_p0 {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“) (h_next : โˆ€ (n : โ„•), Measurable (nextA n)) (action0 : ๐“) :
                (detAlgorithm nextA h_next action0).p0 = MeasureTheory.Measure.dirac action0
                @[simp]
                theorem Learning.detAlgorithm_policy {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“) (h_next : โˆ€ (n : โ„•), Measurable (nextA n)) (action0 : ๐“) (n : โ„•) :
                (detAlgorithm nextA h_next action0).policy n = ProbabilityTheory.Kernel.deterministic (nextA n) โ‹ฏ
                instance Learning.instIsDeterministicAlgDetAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} :
                IsDeterministicAlg (detAlgorithm nextA h_next action0)
                @[simp]
                theorem Learning.actionZero_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} [MeasurableSpace.SeparatesPoints ๐“] :
                actionZero (detAlgorithm nextA h_next action0) = action0
                @[simp]
                theorem Learning.nextAction_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} [MeasurableSpace.SeparatesPoints ๐“] (n : โ„•) :
                nextAction (detAlgorithm nextA h_next action0) n = nextA n
                noncomputable def Learning.detEnvironment {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} (f0 : ๐“ โ†’ ๐“จ) (hf0 : Measurable f0) (f : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) ร— ๐“ โ†’ ๐“จ) (hf : โˆ€ (n : โ„•), Measurable (f n)) :
                Environment ๐“ ๐“จ

                A deterministic environment, where the feedback is given by evaluating fixed measurable functions.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  instance Learning.instIsDeterministicEnvDetEnvironment {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {f0 : ๐“ โ†’ ๐“จ} {hf0 : Measurable f0} {f : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) ร— ๐“ โ†’ ๐“จ} {hf : โˆ€ (n : โ„•), Measurable (f n)} :
                  @[simp]
                  theorem Learning.feedbackFunZero_detEnvironment {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {f0 : ๐“ โ†’ ๐“จ} {hf0 : Measurable f0} {f : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) ร— ๐“ โ†’ ๐“จ} {hf : โˆ€ (n : โ„•), Measurable (f n)} [MeasurableSpace.SeparatesPoints ๐“จ] :
                  @[simp]
                  theorem Learning.feedbackFun_detEnvironment {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {f0 : ๐“ โ†’ ๐“จ} {hf0 : Measurable f0} {f : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) ร— ๐“ โ†’ ๐“จ} {hf : โˆ€ (n : โ„•), Measurable (f n)} [MeasurableSpace.SeparatesPoints ๐“จ] (n : โ„•) :
                  feedbackFun (detEnvironment f0 hf0 f hf) n = f n
                  theorem Learning.IsAlgEnvSeq.hasLaw_action_zero_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq A Y (detAlgorithm nextA h_next action0) env P) :
                  theorem Learning.IsAlgEnvSeq.action_zero_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq A Y (detAlgorithm nextA h_next action0) env P) :
                  A 0 =แต[P] fun (x : ฮฉ) => action0
                  theorem Learning.IsAlgEnvSeq.action_detAlgorithm_ae_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq A Y (detAlgorithm nextA h_next action0) env P) (n : โ„•) :
                  A (n + 1) =แต[P] fun (ฯ‰ : ฮฉ) => nextA n (history A Y n ฯ‰)
                  theorem Learning.IsAlgEnvSeq.action_detAlgorithm_ae_all_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} (h : IsAlgEnvSeq A Y (detAlgorithm nextA h_next action0) env P) :
                  โˆ€แต (ฯ‰ : ฮฉ) โˆ‚P, A 0 ฯ‰ = action0 โˆง โˆ€ (n : โ„•), A (n + 1) ฯ‰ = nextA n (history A Y n ฯ‰)
                  theorem Learning.IsAlgEnvSeqUntil.hasLaw_action_zero_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} (h : IsAlgEnvSeqUntil A Y (detAlgorithm nextA h_next action0) env P N) :
                  theorem Learning.IsAlgEnvSeqUntil.action_zero_detAlgorithm {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N : โ„•} (h : IsAlgEnvSeqUntil A Y (detAlgorithm nextA h_next action0) env P N) :
                  A 0 =แต[P] fun (x : ฮฉ) => action0
                  theorem Learning.IsAlgEnvSeqUntil.action_detAlgorithm_ae_eq {๐“ : Type u_1} {๐“จ : Type u_2} {m๐“ : MeasurableSpace ๐“} {m๐“จ : MeasurableSpace ๐“จ} {nextA : (n : โ„•) โ†’ (โ†ฅ(Finset.Iic n) โ†’ ๐“ ร— ๐“จ) โ†’ ๐“} {h_next : โˆ€ (n : โ„•), Measurable (nextA n)} {action0 : ๐“} {env : Environment ๐“ ๐“จ} {ฮฉ : Type u_3} {mฮฉ : MeasurableSpace ฮฉ} [StandardBorelSpace ๐“] [Nonempty ๐“] [StandardBorelSpace ๐“จ] [Nonempty ๐“จ] {P : MeasureTheory.Measure ฮฉ} [MeasureTheory.IsProbabilityMeasure P] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {Y : โ„• โ†’ ฮฉ โ†’ ๐“จ} {N n : โ„•} (h : IsAlgEnvSeqUntil A Y (detAlgorithm nextA h_next action0) env P N) (hn : n < N) :
                  A (n + 1) =แต[P] fun (ฯ‰ : ฮฉ) => nextA n (history A Y n ฯ‰)