OAI/Combinatorics/KServer/Amplification.lean
93 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.KServer.Episode.traceCostline 15 - lemma
OAI.KServer.Episode.traceCost_nonnegline 19 - lemma
OAI.KServer.Episode.configurationAfter_nilline 26 - lemma
OAI.KServer.Episode.configurationAfter_consline 28 - lemma
OAI.KServer.Episode.traceCost_appendline 32 - lemma
OAI.KServer.Episode.configurationAfter_append'line 42 - lemma
OAI.KServer.Episode.serve_undoline 47 - def
OAI.KServer.Episode.reverseTraceline 52 - lemma
OAI.KServer.Episode.reverse_restoresline 58Source documentation
The literal reverse word returns the labeled tuple, not just its multiset.
lemma reverse_restores (s : Configuration k X) (h : List (X × Fin k)) : configurationAfter (configurationAfter s h) (reverseTrace s h) = s := by …Mentions: OAI.KServer.Configuration, OAI.KServer.configurationAfter, OAI.KServer.Episode.reverseTrace
- lemma
OAI.KServer.Episode.reverse_costline 67 - lemma
OAI.KServer.Episode.reverse_lengthline 79 - def
OAI.KServer.Episode.serviceTraceline 85 - lemma
OAI.KServer.Episode.serviceTrace_costline 89 - lemma
OAI.KServer.Episode.serviceTrace_requestsline 96 - lemma
OAI.KServer.Episode.exists_labelStringline 104Source documentation
Every legal designated trace gives a label string in the source lazy model.
lemma exists_labelString (h : List (X × Fin k)) : ∃ j : Fin (h.map Prod.fst).length → Fin k, serviceTrace (h.map Prod.fst) j = h := by …Mentions: OAI.KServer.Episode.serviceTrace
- lemma
OAI.KServer.Episode.optimalCost_le_traceline 116 - lemma
OAI.KServer.Episode.cheap_closed_episodeline 124 - def
OAI.KServer.Episode.LazyTraceline 143Source documentation
Pathwise strong laziness, imposed only on the trace actually selected.
def LazyTrace (s : Configuration k X) : List (X × Fin k) → Prop | [] => True | (r,i)::h => ((∃ j, s j=r) → s i=r) ∧ LazyTrace (serve s i r) h omit [MetricSpace X] in
Mentions: OAI.KServer.Configuration
- lemma
OAI.KServer.Episode.serve_sameline 148 - lemma
OAI.KServer.Episode.zero_trace_unchangedline 153 - lemma
OAI.KServer.Episode.lazy_covered_traceline 175 - lemma
OAI.KServer.Episode.matching_zero_of_coversline 189 - lemma
OAI.KServer.Episode.zero_cycle_finishes_resetline 210Source documentation
A zero-cost reset cycle covers all k distinct starting points; strong laziness then keeps that multiset fixed through all following reset requests.
lemma zero_cycle_finishes_reset (s A : Configuration k X) (hs : Function.Injective s) (h g : List (X × Fin k)) (hcycle : h.map Prod.fst = List.ofFn s) (hz : traceCost A h=0) (hg : LazyTrace (configurationAfter A h) g) (hrequests : ∀ r ∈ g.map Prod.fst, r ∈ Set.range s) : matching (configurationAfter A (h++g)) s=0 := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Episode.traceCost, OAI.KServer.Episode.LazyTrace, OAI.KServer.configurationAfter, OAI.KServer.matching
- lemma
OAI.KServer.Episode.lazyTrace_appendline 232 - lemma
OAI.KServer.Episode.discrete_trace_costline 240 - def
OAI.KServer.Episode.cycleTraceline 257 - def
OAI.KServer.Episode.resetTraceline 260 - lemma
OAI.KServer.Episode.cycleTrace_requestsline 264 - lemma
OAI.KServer.Episode.resetTrace_requestsline 270 - lemma
OAI.KServer.Episode.reset_dichotomyline 278 - lemma
OAI.KServer.Episode.matching_le_diameterline 298 - theorem
OAI.KServer.Episode.reset_mismatchline 308Source documentation
Equation reset-mismatch with its actual finite-reset cost. The metric gap is used only to choose the number of cycles; no bound depends on the horizon.
theorem reset_mismatch (s A : Configuration k X) (hs : Function.Injective s) (δ Δ : ℝ) (hδ : 0 ≤ δ) (hg : ∀ x y : X, x ≠ y → δ ≤ dist x y) (hdiam : ∀ x y : X, dist x y ≤ Δ) (ls : List (Fin k → Fin k)) (hR : (k : ℝ)*Δ ≤ (ls.length : ℝ)*δ) (hl : LazyTrace A (resetTrace s ls)) : matching (configurationAfter A (resetTrace s ls)) s ≤ traceCost A (resetTrace s ls) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Episode.LazyTrace, OAI.KServer.Episode.resetTrace, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Episode.traceCost
- lemma
OAI.KServer.Episode.finite_gap_diameterline 323Source documentation
Source's finite-space gap and diameter, with no assumption of discreteness on the eventual arbitrary metric space. Only the local finite experiment uses these constants.
lemma finite_gap_diameter [Fintype X] (hne : ∃ x y : X, x ≠ y) : ∃ δ Δ : ℝ, 0 < δ ∧ 0 ≤ Δ ∧ (∀ x y : X, x ≠ y → δ ≤ dist x y) ∧ (∀ x y : X, dist x y ≤ Δ) := by … - def
OAI.KServer.Episode.resetCountline 341 - lemma
OAI.KServer.Episode.resetCount_boundline 343 - theorem
OAI.KServer.Episode.exists_uniform_resetline 352Source documentation
The finite reset length is chosen once for the metric and starting stock, not for the law or horizon. It applies to every strongly lazy trace of that reset word, including choices of labels occupying equal positions.
theorem exists_uniform_reset [Fintype X] (s : Configuration k X) (hs : Function.Injective s) (hne : ∃ x y : X, x ≠ y) : ∃ R : ℕ, 0 < R ∧ ∀ A : Configuration k X, ∀ ls : List (Fin k → Fin k), ls.length=R → LazyTrace A (resetTrace s ls) → matching (configurationAfter A (resetTrace s ls)) s ≤ traceCost A (resetTrace s ls) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Episode.LazyTrace, OAI.KServer.Episode.resetTrace, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Episode.traceCost
- def
OAI.KServer.Amplification.afterline 377Source documentation
Exact finite-input Bellman expectation of an arbitrary terminal observable. The private action history, not only the current configuration, is retained.
def after (A : Policy k X) (h : List (X × Fin k)) : List X → (List (X × Fin k) → ℝ) → ℝ | [],f => f h | r::σ,f => ∑ i, (A h r).val i * after A (h++[(r,i)]) σ fMentions: OAI.KServer.Policy
- def
OAI.KServer.Amplification.costline 382 - lemma
OAI.KServer.Amplification.cost_nilline 387 - lemma
OAI.KServer.Amplification.cost_consline 391 - lemma
OAI.KServer.Amplification.after_constline 398 - lemma
OAI.KServer.Amplification.after_monoline 405 - lemma
OAI.KServer.Amplification.after_nonnegline 414 - lemma
OAI.KServer.Amplification.after_addline 419 - lemma
OAI.KServer.Amplification.after_mulline 427 - lemma
OAI.KServer.Amplification.after_appendline 435 - lemma
OAI.KServer.Amplification.cost_appendline 443 - lemma
OAI.KServer.Amplification.cost_nonnegline 453 - lemma
OAI.KServer.Amplification.after_pathsline 459 - lemma
OAI.KServer.Amplification.cost_pathsline 473 - lemma
OAI.KServer.Amplification.supported_trace_lazyline 479 - lemma
OAI.KServer.Amplification.trace_of_cycle_requestsline 498Source documentation
Extract one cycle's label list from any trace whose requests are the fixed starting tuple. This prevents an unjustified switch from label multisets to labeled equality in the reset argument.
lemma trace_of_cycle_requests (s : Configuration k X) (h : List (X × Fin k)) (hr : h.map Prod.fst=List.ofFn s) : ∃ j : Fin k → Fin k, h=Episode.cycleTrace s j := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Episode.cycleTrace
- lemma
OAI.KServer.Amplification.trace_of_reset_requestsline 516 - theorem
OAI.KServer.Amplification.expected_resetline 543Source documentation
The reset bound for literal Bellman expectation under an actual strongly lazy policy, not an assumed distribution of reset costs.
theorem expected_reset [Fintype X] (s : Configuration k X) (hs : Function.Injective s) (hne : ∃ x y : X, x ≠ y) : ∃ R : ℕ, 0<R ∧ ∀ A : Policy k X, StronglyLazy s A → ∀ h, after A h ((List.replicate R (List.ofFn s)).flatten) (fun g=>matching (configurationAfter s g) s) ≤ cost A s h ((List.replicate R (List.ofFn s)).flatten) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Policy, OAI.KServer.StronglyLazy, OAI.KServer.Amplification.after, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Amplification.cost
- lemma
OAI.KServer.Amplification.law_minimumline 571Source documentation
The minimum is attained in the full product of causal decision simplexes, not in a horizon-dependent surrogate space.
lemma law_minimum (s : Configuration k X) (σ : Ω → List X) (w : Ω → ℝ) : ∃ P : Policy k X, ∀ A : Policy k X, (∑ ω, w ω*expectedCost P s (σ ω)) ≤ ∑ ω, w ω*expectedCost A s (σ ω) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Policy
- lemma
OAI.KServer.Amplification.minimum_continuationline 583Source documentation
Minimum-law continuation and compactness give a causal policy without sampling fictitious prefixes.
lemma minimum_continuation (s : Configuration k X) (σ : Ω → List X) (w : Ω → ℝ) (hw : ∀ ω, 0 ≤ w ω) (hsum : ∑ ω, w ω=1) (m : ℝ) (hmin : ∀ B : Policy k X, m ≤ ∑ ω, w ω*expectedCost B s (σ ω)) (A : Policy k X) (h : List (X × Fin k)) : m ≤ matching (configurationAfter s h) s+∑ ω, w ω*cost A s h (σ ω) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Policy, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Amplification.cost
- def
OAI.KServer.Amplification.lawAfterline 594 - def
OAI.KServer.Amplification.lawCostline 598 - lemma
OAI.KServer.Amplification.lawAfter_monoline 602 - lemma
OAI.KServer.Amplification.lawAfter_constline 609 - lemma
OAI.KServer.Amplification.lawAfter_addline 615 - def
OAI.KServer.Amplification.runCostline 620 - lemma
OAI.KServer.Amplification.episode_telescopeline 629Source documentation
Exact telescoping lower bound for repeated independent closed episodes. The second premise here is derived from
expected_resetbelow; it is not an assumed policy-existence claim.lemma episode_telescope (A : Policy k X) (s : Configuration k X) (w : Ω → ℝ) (hw : ∀ ω, 0 ≤ w ω) (hsum : ∑ ω, w ω=1) (ep : Ω → List X) (m : ℝ) (hstep : ∀ h, m+lawAfter A w ep h (fun g=>matching (configurationAfter s g) s) ≤ matching (configurationAfter s h) s+lawCost A s w ep h) : ∀ (N : ℕ) h, (N : ℝ)*m ≤ matching (configurationAfter s h) s+runCost A s w ep N h := by …Mentions: OAI.KServer.Policy, OAI.KServer.Configuration, OAI.KServer.Amplification.lawAfter, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Amplification.lawCost, OAI.KServer.Amplification.runCost
- lemma
OAI.KServer.Amplification.episode_stepline 648Source documentation
The reset charge and the minimum-continuation inequality together give the one-episode drift needed for the preceding telescope.
lemma episode_step (A : Policy k X) (s : Configuration k X) (w : Ω → ℝ) (hw : ∀ ω, 0 ≤ w ω) (hsum : ∑ ω, w ω=1) (σ ρ : Ω → List X) (z : List X) (m : ℝ) (hmin : ∀ B : Policy k X, m ≤ ∑ ω, w ω*expectedCost B s (σ ω)) (hz : ∀ h, after A h z (fun g=>matching (configurationAfter s g) s) ≤ cost A s h z) : ∀ h, m+lawAfter A w (fun ω=>σ ω++ρ ω++z) h (fun g=>matching (configurationAfter s g) s) ≤ matching (configurationAfter s h) s+lawCost A s w (fun ω=>σ ω++ρ ω++z) h := by …Mentions: OAI.KServer.Policy, OAI.KServer.Configuration, OAI.KServer.Amplification.after, OAI.KServer.matching, OAI.KServer.configurationAfter, OAI.KServer.Amplification.cost, OAI.KServer.Amplification.lawAfter, OAI.KServer.Amplification.lawCost
- lemma
OAI.KServer.Amplification.sum_stringsline 678 - def
OAI.KServer.Amplification.iidWordline 683 - def
OAI.KServer.Amplification.iidWeightline 687 - lemma
OAI.KServer.Amplification.iidWeight_nonnegline 692 - lemma
OAI.KServer.Amplification.iidWeight_sumline 699 - lemma
OAI.KServer.Amplification.after_sumline 709 - lemma
OAI.KServer.Amplification.runCost_iidline 719Source documentation
The Bellman recursion is exactly the expectation under the concrete finite product law on iid forward words, including the algorithm's labels.
lemma runCost_iid (A : Policy k X) (s : Configuration k X) (w : Ω → ℝ) (hsum : ∑ ω, w ω=1) (ep : Ω → List X) : ∀ N h, runCost A s w ep N h= ∑ v, iidWeight w N v*cost A s h (iidWord ep N v) := by …Mentions: OAI.KServer.Policy, OAI.KServer.Configuration, OAI.KServer.Amplification.runCost, OAI.KServer.Amplification.iidWeight, OAI.KServer.Amplification.cost, OAI.KServer.Amplification.iidWord
- lemma
OAI.KServer.Amplification.iidWord_lengthline 743 - lemma
OAI.KServer.Amplification.stationary_traceline 751 - lemma
OAI.KServer.Amplification.stationary_resetline 764 - lemma
OAI.KServer.Amplification.reset_lengthline 775 - lemma
OAI.KServer.Amplification.reset_requests_eqline 785 - lemma
OAI.KServer.Amplification.closed_padded_episodesline 798Source documentation
Padded closed episodes, valid even when forward lengths differ. Padding is inserted after the reverse path and before the reset, so it costs the closed offline trace zero and does not compromise the online reset-mismatch bound.
lemma closed_padded_episodes (s : Configuration k X) (σ : Ω → List X) (R : ℕ) : ∃ L : ℕ, ∃ ρ : Ω → List X, ∃ t : Ω → List (X × Fin k), ∀ ω, (t ω).map Prod.fst=σ ω++ρ ω++(List.replicate R (List.ofFn s)).flatten ∧ configurationAfter s (t ω)=s ∧ Episode.traceCost s (t ω)=2*optimalCost s (σ ω) ∧ (t ω).length=L := by …Mentions: OAI.KServer.Configuration, OAI.KServer.configurationAfter, OAI.KServer.Episode.traceCost
- def
OAI.KServer.Amplification.iidTraceline 833 - def
OAI.KServer.Amplification.iidSumline 837 - lemma
OAI.KServer.Amplification.iidTrace_requestsline 842 - lemma
OAI.KServer.Amplification.iidTrace_costline 850 - lemma
OAI.KServer.Amplification.iidSum_expectationline 858 - lemma
OAI.KServer.Amplification.iid_offlineline 871 - def
OAI.KServer.Amplification.pushWeightsline 890 - lemma
OAI.KServer.Amplification.pushWeights_nonnegline 894 - lemma
OAI.KServer.Amplification.pushWeights_expectationline 901 - lemma
OAI.KServer.Amplification.pushWeights_sumline 911 - lemma
OAI.KServer.Amplification.fixed_law_indexedline 918Source documentation
Exact transport of a horizon law to a finite indexed family; identically valued words are grouped rather than incorrectly treated as different inputs.
lemma fixed_law_indexed [Fintype X] (s : Configuration k X) (c D : ℝ) (hfinite : ∀ H : ℕ, ∀ q : (Fin H → X) → ℝ, (∀ v,0 ≤ q v) → (∑ v,q v=1) → ∃ A : Policy k X, StronglyLazy s A ∧ (∑ v,q v*expectedCost A s (List.ofFn v)) ≤ c*(∑ v,q v*optimalCost s (List.ofFn v))+D) (σ : Ω → List X) (w : Ω → ℝ) (hw : ∀ ω,0 ≤ w ω) (hsum : ∑ ω,w ω=1) (H : ℕ) (hH : ∀ ω,(σ ω).length=H) : ∃ A : Policy k X, StronglyLazy s A ∧ (∑ ω,w ω*expectedCost A s (σ ω)) ≤ c*(∑ ω,w ω*optimalCost s (σ ω))+D := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Policy, OAI.KServer.StronglyLazy
- lemma
OAI.KServer.Amplification.remove_additiveline 940Source documentation
Removing a fixed additive term by arbitrarily many repetitions. This argument includes the zero-optimum case without assuming a positive Q.
lemma remove_additive (m q D : ℝ) (h : ∀ N : ℕ, (N : ℝ)*m ≤ (N : ℝ)*q+D) : m ≤ q := by …
- theorem
OAI.KServer.Amplification.amplification_of_uniform_finite_lawline 951Source documentation
Episode amplification transfers the finite-law estimate to a horizon-uniform competitive bound.
theorem amplification_of_uniform_finite_law [Fintype X] (s : Configuration k X) (hs : Function.Injective s) (hne : ∃ x y : X,x≠y) (c D : ℝ) (hc : 0 ≤ c) (hfinite : ∀ H : ℕ, ∀ q : (Fin H → X) → ℝ, (∀ v,0 ≤ q v) → (∑ v,q v=1) → ∃ A : Policy k X, StronglyLazy s A ∧ (∑ v,q v*expectedCost A s (List.ofFn v)) ≤ c*(∑ v,q v*optimalCost s (List.ofFn v))+D) (σ : Ω → List X) (w : Ω → ℝ) (hw : ∀ ω,0 ≤ w ω) (hsum : ∑ ω,w ω=1) : ∃ P : Policy k X, (∑ ω,w ω*expectedCost P s (σ ω)) ≤ 2*c*(∑ ω,w ω*optimalCost s (σ ω)) := by …Mentions: OAI.KServer.Configuration, OAI.KServer.Policy, OAI.KServer.StronglyLazy
- def
OAI.KServer.FiniteDistributionline 999 - def
OAI.KServer.FiniteLawStatementline 1002 - theorem
OAI.KServer.finite_law_suffices_for_mainline 1014Source documentation
The finite-law estimate implies the arbitrary-metric competitive bound through closed-episode amplification and product compactness.
theorem finite_law_suffices_for_main : FiniteLawStatement.{u} → ReductionStatement.{u} := by …