Summary
The framework's notation is defined inside the framework. It does not import meanings from existing mathematical literature; coincidence of letter is not coincidence of meaning. Six primitive scalars carry the framework's base content. Three named objects (cascade, shadow, ensemble) are what the operators act on. Six operators — \(\mathcal{B}, \mathcal{S}, \mathcal{M}, \mathcal{P}, \mathfrak{A}, \mathscr{A}\) — together with the dual-number cascade representation form the operator algebra. Source: framework/characters/.
Typographic conventions
| Register | Symbols | Role |
|---|---|---|
| italic Greek | Φ, τ, ρ, β, σ, μ, ε | primitive scalar quantities |
| italic Latin | i, j, k, t, M, N, R | indices and counts |
| calligraphic | 𝒞, 𝒮, 𝒜 | named primary objects and the scope-reporter |
| script bold | 𝓑, 𝓢, 𝓜, 𝓟, 𝓐 | named operators and the joint-admissibility score |
Critical typographic distinction. The bold-A symbol \(\mathfrak{A}\) (joint-admissibility score, Theorem 10, real-valued) and the calligraphic-A symbol \(\mathscr{A}\) (scope-reporter, Theorem 12, tuple-valued) are not interchangeable. Both carry load-bearing semantic content.
Primitive characters
| Symbol | Type | Meaning |
|---|---|---|
| \(\Phi\) | real | the cascading value at a moment |
| \(\tau\) | positive real | the gap to the next moment |
| \(\rho\) | real (signed) | the local rate of change. \(\rho = (\Phi_{\text{next}} - \Phi)/\tau\) |
| \(\beta\) | dimensionless real | the brake exponent. \(\beta = \mathrm{d}\log|\rho|/\mathrm{d}\log|\Phi|\) |
| \(\sigma\) | non-negative real | ensemble dispersion of rates across realisations |
| \(\mu\) | real | shadow consensus: median of rates across shadows |
| \(\varepsilon\) | real (signed) | auxiliary: shadow noise. \(\varepsilon_\alpha = \Phi_\alpha - \Phi\) for shadow \(\alpha\) |
Primary objects
| Symbol | Type | Meaning |
|---|---|---|
| \(\mathcal{C}\) | cascade | a stream of \((\Phi, \tau, \rho)\) over an ordered moment-set |
| \(\mathcal{S}(\mathcal{C})\) | shadow | a cascade with \(\Phi_\alpha = \Phi + \varepsilon_\alpha\), \(\varepsilon_\alpha\) median-zero, finite-spread |
| \(\{\mathcal{C}_i\}_{i=1..N}\) | ensemble | \(N\) independent realisations of the same cascade |
The six operators
The framework recognises four content-reporters (\(\mathcal{B}, \mathcal{S}, \mathcal{M}, \mathcal{P}\)), one auxiliary score (\(\mathfrak{A}\)), and one scope-reporter (\(\mathscr{A}\)). Each is defined intrinsically from the primitive characters; no imported operator (\(\partial, \int, \nabla, \sup, \inf\)) is admitted in the operator definitions.
The brake operator \(\mathcal{B}\)
\(\mathcal{B} : \mathcal{C} \to \mathbb{R},\quad \mathcal{B}(\mathcal{C}) = \text{slope of } \log|\rho| \text{ against } \log|\Phi|\). Differentiation primitive (reads the \(\varepsilon\)-part of the dual representation). Threshold: \(\beta < 1\) ⇔ finite-time return to rest (Theorem 1).
The dispersion operator \(\mathcal{S}\)
\(\mathcal{S} : \{\mathcal{C}_i\}_{i=1..N} \to \mathbb{R},\quad \mathcal{S}(\{\mathcal{C}_i\})_t = \mathrm{stddev}_i[\rho_i(t)]\). Aggregation primitive (reads the val-part).
The consensus operator \(\mathcal{M}\)
\(\mathcal{M} : \{\mathcal{S}_j(\mathcal{C})\}_{j=1..M} \to \mathbb{R},\quad \mathcal{M}(\{\mathcal{S}_j\})_t = \mathrm{median}_j[\rho_j(t)]\). Aggregation primitive. Concentration: \(\mathcal{M}\) concentrates exponentially in \(M\) (Theorem 2). The MAX aggregator does not.
The spectral primitive \(\mathcal{P}\)
\(\mathcal{P} : (\mathcal{C}, \text{cadence}) \to (\mathcal{C}_{\text{brake}}, \mathcal{C}_{\text{resonance}}, \mathcal{C}_{\text{residual}})\). Decomposes a cadence-stamped cascade into a trend sub-cascade (admits \(\mathcal{B}\)), a resonance sub-cascade (admits one or more characteristic frequencies under wavelet or EMD basis), and a residual noise sub-cascade. Differentiation primitive. Unique up to the gauge group \(G_{\mathcal{P}} = \text{rescaling} \times \text{basis-rotation} \times \text{mode-reordering}\) (Theorem 13). Frequency-reparametrisation is excluded from \(G_{\mathcal{P}}\).
The anti-shadow detector \(\mathfrak{A}\)
\(\mathfrak{A} : (\{\mathcal{S}_\alpha\}, \mathcal{C}) \to \mathbb{R}_{\ge 0},\quad \mathfrak{A}(\{\mathcal{S}_\alpha\}; \mathcal{C}) = \mathcal{S}(\{\mathcal{B}(\Delta_{\alpha\beta})\})\), where \(\Delta_{\alpha\beta}\) is the pair-difference cascade. The candidate set is jointly admissible iff \(\mathfrak{A} \le \tau_{T3}\) (Theorem 10). Detects when shadows pass admissibility member-wise yet collectively shadow different cascades — the failure mode visible in the catalogue's stratospheric-ozone and tropical-cyclone instances.
The scope-reporter \(\mathscr{A}\)
\(\mathscr{A} : \text{finding} \to (\text{tested}, \text{excluded}, \tau_{T3}, G)\). Returns a four-tuple summarising scope: the cascade/shadows/cadence/operator chain tested; cascade properties excluded; the Theorem 3 precision floor on the finding's log-range; and the gauge group under which the finding is invariant. By Theorem 12, no framework finding is publishable without simultaneous publication of its \(\mathscr{A}\).
The dual-number cascade representation
Every moment of a cascade carries both a value and its own rate. The framework records this jointly via the dual-number representation:
\[ \Phi_{\text{dual}} \;=\; \Phi_{\text{val}} + \rho \cdot \varepsilon, \qquad \varepsilon^2 = 0 \]
The val-part holds \(\Phi\); the \(\varepsilon\)-part holds \(\rho\). The framework's differentiation/aggregation split is structural: \(\mathcal{B}\) and \(\mathcal{P}\) read the \(\varepsilon\)-part; \(\mathcal{S}\) and \(\mathcal{M}\) read the val-part across an index. The reference implementation provides a Dual32 type with smooth-function lifts (dual_log, dual_exp, dual_pow, ...) at validation/code/dual.py. The truncated-polynomial extension dualN supplies higher-order derivatives mechanically.
Operator algebra
The four content-reporters and two auxiliary operators have these signatures:
- \(\mathcal{B} : \mathcal{C} \to \mathbb{R}\) — reads the \(\varepsilon\)-part (differentiation primitive)
- \(\mathcal{S} : \{\mathcal{C}_i\} \to \mathbb{R}\) — reads the val-part across an index (aggregation primitive)
- \(\mathcal{M} : \{\mathcal{S}_j\} \to \mathbb{R}\) — reads the val-part across an index (aggregation primitive)
- \(\mathcal{P} : (\mathcal{C}, c) \to (\mathcal{C}_{\text{brake}}, \mathcal{C}_{\text{resonance}}, \mathcal{C}_{\text{residual}})\) — reads the \(\varepsilon\)-part (differentiation primitive)
- \(\mathfrak{A} : (\{\mathcal{S}_\alpha\}, \mathcal{C}) \to \mathbb{R}_{\ge 0}\) — auxiliary (named compound \(\mathcal{S} \circ \mathcal{B} \circ \Delta\))
- \(\mathscr{A} : \text{finding} \to \text{tuple}\) — scope-reporter