Learning.announceHist
From the authors
Insert an announced parameter e as the observation of every round of an observable history.
-
𝓔 : Type u_1 -
𝓐 : Type u_2 -
𝓨 : Type u_3
-
e : 𝓔 -
n : ℕ -
h : Hist Unit 𝓐 𝓨 nHistory ofncomplete rounds;n = 0is the empty history.
Hist 𝓔 𝓐 𝓨 nfun i => (e, (h i).action, (h i).feedback)Nat : TypeThe natural numbers, starting at zero. This type is special-cased by both the kernel and the compiler, and overridden with an efficient implementation. Both use a fast arbitrary-precision arithmetic library (usually [GMP](https://gmplib.org/)); at runtime, `Nat` values that are sufficiently small are unboxed.
Learning.Hist : Type u_5 → Type u_6 → Type u_7 → ℕ → Type (max (max u_7 u_6) u_5)History of `n` complete rounds; `n = 0` is the empty history.Go to its page
Unit : TypeThe canonical type with one element. This element is written `()`. `Unit` has a number of uses: * It can be used to model control flow that returns from a function call without providing other information. * Monadic actions that return `Unit` have side effects without computing values. * In polymorphic types, it can be used to indicate that no data is to be stored in a particular field.
Prod.mk : {α : Type u} → {β : Type v} → α → β → α × βConstructs a pair. This is usually written `(x, y)` instead of `Prod.mk x y`. Conventions for notations in identifiers: * The recommended spelling of `(a, b)` in identifiers is `mk`.
Learning.Round.action : {𝓞 : Type u_1} → {𝓐 : Type u_2} → {𝓨 : Type u_3} → Learning.Round 𝓞 𝓐 𝓨 → 𝓐The action of a round.Go to its page
Learning.Round.feedback : {𝓞 : Type u_1} → {𝓐 : Type u_2} → {𝓨 : Type u_3} → Learning.Round 𝓞 𝓐 𝓨 → 𝓨The feedback of a round.Go to its page
Code
def announceHist (e : 𝓔) {n : ℕ} (h : Hist Unit 𝓐 𝓨 n) : Hist 𝓔 𝓐 𝓨 n :=
fun i ↦ (e, (h i).action, (h i).feedback)New in v4.34.0-rc2-74-ge05e4f3 (2026-09-10), and its meaning has not changed since.
Self-contained, with its dependencies inlined and proofs replaced by sorry: download the raw file · open it in the Lean web editor.
Dependency graph
Audit surface: 4 project declarations, 7 external constants
✓ Proved: no sorry anywhere in its closure
This is the tool's own reading of one build's recorded axioms, and it is not robust against an author who wants it to pass. Checking meant to be relied on should go through Comparator, which replays the proof through the kernel from an export against an explicit list of permitted axioms.