Related¶
foundations:: [[periods-nests-theory]], [[core-ddsl-FFP-concepts]] semantic-rules:: [[0.4-periods-models]], [[1.1-variable-declaration]], [[1.3-equation-blocks]] implementation:: [[spec_0.1h-periods-nests]] literature:: [[359576.359579.pdf|Backus 1978 - Can Programming Be Liberated]], [[john-backus.pdf|John Backus biographical overview]]
1.2 Stage structure and timing¶
This section covers perch semantics, the filtration / information structure, and inter-stage links.
1.2.1 Perch information index¶
Indices now reflect the order of measurability of each state-space within the stage. The perch information sets form a filtration:
Convention (v0.1; Option B): x[i] denotes the information state at perch \(i\), i.e. everything measurable by (and including) perch \(i\). In particular, shocks recorded as edge events in information_timing become measurable at the next perch, and are therefore part of x[·] at that perch (even if we do not treat shocks as slot-indexed state variables).
The key departure is the re-casting of dolo "periods" into modular stages with perches. The filtration is generated by these information-state slots x[·].
Within one stage, Dolo time indices are re-expressed as canonical perch slots:
t-1→ slot-1(arrival)t→ slot0(decision)t+1→ slot+1(continuation)
In a "primal" (single-stage-per-period) model, you can recover the original time interpretation by rewriting perch slots back to [t-1,t,t+1] (this is one reason we keep the -1/0/+1 canonical slot language in v0.1).
Surface perch tags (recommended v0.1): in stage-mode equations, we avoid numeric-looking indices by using perch labels. The preferred forms are glyph tags:
- arrival:
[<](preferred) — aliases:[_arvl],[<-] - decision: unmarked (preferred) — aliases:
[_dcsn],[-] - continuation:
[>](preferred) — aliases:[_cntn],[->]
All forms are accepted. The Dolang+ parser normalizes glyph and arrow tags to canonical _arvl/_dcsn/_cntn before parsing (see dolang.grammar.normalize_perch_glyphs), then maps to canonical numeric slots (-1/0/+1) before translation.
In this IID consumption–savings example, an income shock y is realized between slot -1 and slot 0. This "information edge" matters for what can be shifted across perches.
Under the convention above, since y is observed at slot 0, it is measurable with respect to \(\mathcal{F}_{0}\) (and thus part of the decision-perch information state x).
1.2.2 Underlying states and values (built into every stage)¶
dolo-plus reserves canonical "underlying" objects that every stage has. In surface syntax we write them with perch tags:
- Underlying information-state slots:
x[<],x,x[>](or equivalentlyx[_arvl],x[_dcsn],x[_cntn]) - Underlying value slots:
V[<],V,V[>](orV[_arvl],V[_dcsn],V[_cntn]) - Underlying shadow value slots:
dV[<],dV,dV[>](ordV[_arvl],dV[_dcsn],dV[_cntn]) - Description of the outgoing mover problem: #ambiguity
Think of these as the underlying semantics of dolo-plus: all stages come with these slots. Modeller-declared variables are then labels bound to these slots via a slot map. (The distinction becomes important when shocks are unobserved or when information states differ from latent states.)
Example binding intuition:
- declaring
poststates: [a]means "bind continuation slot":
Similarly, in this example the slot map binds:
- \(x[<] \leftarrow b\)
- \(x \leftarrow w\)
Then we can use the notation \(x_{\prec, S_{0}} \leftarrow b\) to say that the cntn perch of S0 is b.
1.2.3 Inter-stage links (moved)¶
Periods and nests own stage composition
periods #nests #connectors #twisters¶
- Semantic rules: Spec 0.4 — Periods and models
- Foundations: Composition as Twister
- Implementation: Spec 0.1h — Periods and Nests
This page stays stage-local: perch semantics and within-stage timing.