Lean module · Frontier
BanditRLProof.DelayedFeedback.OrderedNoSwitchTrace
This module composes the source-faithful one-item transition from OrderedProcessingTransition.lean across an arbitrary finite trace. A trace may either process one member of B(t) \ S through the no-switch structural projection of Algorithm 5 lines 3--4 and 7--8, or close an exhausted inner loop and advance to the next action round.
Module map
Imports
BanditRLProof.DelayedFeedback.OrderedProcessingTransition
Imported by
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
structure
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose
Compiled
Certificate that the no-switch inner loop for one action round is exhausted and that its final intra-round active set is the line-15 active set recorded by the source-round trace. The second field is a structural consistency contract. It is not a claim that EAP has already constructed a valid probability vector.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundCloseReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
structure DelayedSAPONoSwitchRoundClose {K : Nat} (state : DelayedSAPOStructuralRoundState K) : Prop where
theorem
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.processedOrder_toFinset_eq_observedBefore
Compiled
Exhausting `B(t) \ S` means that the ordered ledger contains exactly the feedback available before action `t`. The equality is set-level only and does not impose a chronological order on simultaneous arrivals.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.processedOrder_toFinset_eq_observedBeforeReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem processedOrder_toFinset_eq_observedBefore {K : Nat} {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : state.processedOrder.toFinset = observedBefore state.delayAt state.currentActionRound
def
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState
Compiled
Structural state at the start of the next action round. The processed ledger and active set are unchanged; the round-start invariant follows from the close certificate's identification with the just-finished source-round active set.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundStateReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def nextRoundState {K : Nat} {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : DelayedSAPOStructuralRoundState K where
theorem
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_currentActionRound
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_currentActionRoundReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem nextRoundState_currentActionRound {K : Nat} {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : closed.nextRoundState.currentActionRound = state.currentActionRound + 1
theorem
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_processedOrder
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_processedOrderReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem nextRoundState_processedOrder {K : Nat} {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : closed.nextRoundState.processedOrder = state.processedOrder
theorem
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_currentActive
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchRoundClose.nextRoundState_currentActiveReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem nextRoundState_currentActive {K : Nat} {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : closed.nextRoundState.currentActive = state.currentActive
inductive
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchStructuralStep
Compiled
One edge of the deterministic no-switch structural trace. Processing uses the exact line-8 successor; advancing rounds requires an exhausted-loop certificate.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchStructuralStepReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
inductive DelayedSAPONoSwitchStructuralStep {K : Nat} (horizon : Nat) : DelayedSAPOStructuralRoundState K → DelayedSAPOStructuralRoundState K → Prop | process {state : DelayedSAPOStructuralRoundState K} (step : DelayedSAPONoSwitchProcessOne state) : DelayedSAPONoSwitchStructuralStep horizon state (step.afterLine8 horizon) | nextRound {state : DelayedSAPOStructuralRoundState K} (closed : DelayedSAPONoSwitchRoundClose state) : DelayedSAPONoSwitchStructuralStep horizon state closed.nextRoundState /-- Finite reflexive-transitive no-switch reachability. It is a structural relation, not a generated stochastic trajectory. -/ abbrev DelayedSAPONoSwitchStructuralReachable {K : Nat} (horizon : Nat)
abbrev
BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchStructuralReachable
Compiled
Finite reflexive-transitive no-switch reachability. It is a structural relation, not a generated stochastic trajectory.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.DelayedSAPONoSwitchStructuralReachableReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
abbrev DelayedSAPONoSwitchStructuralReachable {K : Nat} (horizon : Nat)
theorem
BanditRLProof.DelayedFeedback.currentActive_subset_of_structuralStep
Compiled
Every primitive no-switch structural edge can only remove arms.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.currentActive_subset_of_structuralStepReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem currentActive_subset_of_structuralStep {K horizon : Nat} {initial final : DelayedSAPOStructuralRoundState K} (step : DelayedSAPONoSwitchStructuralStep horizon initial final) : final.currentActive <= initial.currentActive
theorem
BanditRLProof.DelayedFeedback.currentActive_subset_of_structuralReachable
Compiled
Active sets are antitone along every finite no-switch structural trace.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.currentActive_subset_of_structuralReachableReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem currentActive_subset_of_structuralReachable {K horizon : Nat} {initial final : DelayedSAPOStructuralRoundState K} (run : DelayedSAPONoSwitchStructuralReachable horizon initial final) : final.currentActive <= initial.currentActive
theorem
BanditRLProof.DelayedFeedback.mem_earlierRemainingActive_of_laterEliminated
Compiled
An arm eliminated by a later processing step was still present after an earlier line-8 removal whenever the two steps are connected by a no-switch structural trace. This is the temporal premise previously left to callers.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.mem_earlierRemainingActive_of_laterEliminatedReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem mem_earlierRemainingActive_of_laterEliminated {K horizon : Nat} {initial laterState : DelayedSAPOStructuralRoundState K} (earlierStep : DelayedSAPONoSwitchProcessOne initial) (between : DelayedSAPONoSwitchStructuralReachable horizon (earlierStep.afterLine8 horizon) laterState) (laterStep : DelayedSAPONoSwitchProcessOne laterState) (iLater : Fin K) (hLaterEliminated : iLater ∈ (laterStep.toPreEliminationSummary.toConfidenceSnapshot horizon).eliminated) : iLater ∈ (earlierStep.toPreEliminationSummary.toConfidenceSnapshot horizon).remainingActive
theorem
BanditRLProof.DelayedFeedback.gap_le_twenty_mul_gap_of_ordered_no_switch_eliminations
Compiled
Ordered two-elimination factor-20 consumer. Unlike the one-snapshot consumer, this theorem derives later-arm survival at the earlier snapshot from the exact structural trace. It remains conditional on the earlier D.4 count clause and elimination-good projection.
Used in these reading views: Bandit Book
10. Automation, resources, and open routes
Canonical node identity
declaration:BanditRLProof.DelayedFeedback.gap_le_twenty_mul_gap_of_ordered_no_switch_eliminationsReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem gap_le_twenty_mul_gap_of_ordered_no_switch_eliminations {K : Nat} [Nonempty (Fin K)] {initial laterState : DelayedSAPOStructuralRoundState K} (horizon : Nat) (hhorizon : 1 < horizon) (earlierStep : DelayedSAPONoSwitchProcessOne initial) (between : DelayedSAPONoSwitchStructuralReachable horizon (earlierStep.afterLine8 horizon) laterState) (laterStep : DelayedSAPONoSwitchProcessOne laterState) (mean : Fin K → Real) (optimal iEarlier iLater : Fin K) (hoptimal : ∀ i, mean optimal <= mean i) (hmeanBounds : ∀ i, mean i ∈ Set.Icc (0 : Real) 1) (hD4 : earlierStep.toPreEliminationSummary.D4CountClause horizon) (hgood : (earlierStep.toPreEliminationSummary.toConfidenceSnapshot horizon).EliminationGoodEvent mean) (hoptimalActive : optimal ∈ initial.currentActive) (hEarlierEliminated : iEarlier ∈ (earlierStep.toPreEliminationSummary.toConfidenceSnapshot horizon).eliminated) (hLaterEliminated : iLater ∈ (laterStep.toPreEliminationSummary.toConfidenceSnapshot horizon).eliminated) : mean iLater - mean optimal <= 20 * (mean iEarlier - mean optimal)