BanditRLlib
Lean gate passed before this site build; local proof declarations are shown as compiled.

Lean module · Frontier

BanditRLProof.DelayedFeedback.CausalView

Generated source map for this Lean module.

Module map

Declarations
11
Placeholders
0

Imports

BanditRLProof.DelayedFeedback.Accounting

Imported by

BanditRLProof, BanditRLProof.DelayedFeedback.ActiveAllocation

Declarations

Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.

structure BanditRLProof.DelayedFeedback.ActionTimeView Compiled

The information exposed to an action rule immediately before a delayed bandit action. Past actions are visible, while a loss is exposed only when its source round belongs to the source-faithful strict-availability set. The view deliberately has no delay field and no total loss trace field. A future Delayed SAPO implementation must consume this view (or a proved equivalent), rather than the environment's hidden delay/loss functions.

structure ActionTimeView (Action : Type uAction) (Loss : Type uLoss) where
theorem BanditRLProof.DelayedFeedback.ActionTimeView.ext Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem ActionTimeView.ext {Action : Type uAction} {Loss : Type uLoss} {left right : ActionTimeView Action Loss} (hpast : left.pastAction = right.pastAction) (hloss : left.observedLoss = right.observedLoss) : left = right
def BanditRLProof.DelayedFeedback.actionTimeViewAt Compiled

Construct the pre-action view at round `t` from an environment trace. Actions before `t` are known to the learner. A source loss is known exactly when `s + delay s < t`; future and outstanding losses return `none`.

def actionTimeViewAt {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) (t : Nat) : ActionTimeView Action Loss where
abbrev BanditRLProof.DelayedFeedback.CausalDecisionRule Compiled

A causal decision rule receives only the round number and its action-time view. `Decision` can later be instantiated by an action distribution, a kernel, or a deterministic action.

abbrev CausalDecisionRule (Action : Type uAction) (Loss : Type uLoss) (Decision : Type uDecision)
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_pastAction_of_lt Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem actionTimeViewAt_pastAction_of_lt {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) {s t : Nat} (hs : s < t) : (actionTimeViewAt delay action loss t).pastAction s = some (action s)
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_pastAction_of_not_lt Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem actionTimeViewAt_pastAction_of_not_lt {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) {s t : Nat} (hs : ¬ s < t) : (actionTimeViewAt delay action loss t).pastAction s = none
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_observedLoss_of_mem Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem actionTimeViewAt_observedLoss_of_mem {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) {s t : Nat} (hs : s ∈ observedBefore delay t) : (actionTimeViewAt delay action loss t).observedLoss s = some (loss s)
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_observedLoss_of_not_mem Compiled

No declaration docstring is present; use the chapter context and exact statement below.

theorem actionTimeViewAt_observedLoss_of_not_mem {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) {s t : Nat} (hs : s ∉ observedBefore delay t) : (actionTimeViewAt delay action loss t).observedLoss s = none
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_outstanding_loss_hidden Compiled

Outstanding feedback is absent from the action-time view.

theorem actionTimeViewAt_outstanding_loss_hidden {Action : Type uAction} {Loss : Type uLoss} (delay : Nat → Nat) (action : Nat → Action) (loss : Nat → Loss) {s t : Nat} (hs : s ∈ outstandingAt delay t) : (actionTimeViewAt delay action loss t).observedLoss s = none
theorem BanditRLProof.DelayedFeedback.actionTimeViewAt_eq_of_observation_equivalent Compiled

Two environment traces yield exactly the same pre-action view whenever their visible source sets, past actions, and revealed losses agree. Hidden delays and unobserved losses may differ.

theorem actionTimeViewAt_eq_of_observation_equivalent {Action : Type uAction} {Loss : Type uLoss} (delay₁ delay₂ : Nat → Nat) (action₁ action₂ : Nat → Action) (loss₁ loss₂ : Nat → Loss) (t : Nat) (hvisible : observedBefore delay₁ t = observedBefore delay₂ t) (haction : ∀ s, s < t → action₁ s = action₂ s) (hloss : ∀ s, s ∈ observedBefore delay₁ t → loss₁ s = loss₂ s) : actionTimeViewAt delay₁ action₁ loss₁ t = actionTimeViewAt delay₂ action₂ loss₂ t
theorem BanditRLProof.DelayedFeedback.causalDecision_eq_of_observation_equivalent Compiled

A decision rule consuming only `ActionTimeView` cannot distinguish two worlds that agree on all information visible before the action.

theorem causalDecision_eq_of_observation_equivalent {Action : Type uAction} {Loss : Type uLoss} {Decision : Type uDecision} (rule : CausalDecisionRule Action Loss Decision) (delay₁ delay₂ : Nat → Nat) (action₁ action₂ : Nat → Action) (loss₁ loss₂ : Nat → Loss) (t : Nat) (hvisible : observedBefore delay₁ t = observedBefore delay₂ t) (haction : ∀ s, s < t → action₁ s = action₂ s) (hloss : ∀ s, s ∈ observedBefore delay₁ t → loss₁ s = loss₂ s) : rule t (actionTimeViewAt delay₁ action₁ loss₁ t) = rule t (actionTimeViewAt delay₂ action₂ loss₂ t)