A primitive power-of-two root modulo p replaces complex roots and avoids rounding error. I want the notation, the mechanism, and the failure mode visible at the same time.
Objects and notation
Fast algebraic algorithms exploit structure in a transform, matrix, or convex objective. The Fourier transform evaluates \(A(x)\) at roots \(\omega_n^k\), while linear-programming duality supplies certificates.
There are two layers here: the object \(\mathsf D\) and the law \(\mathsf C\). Writing them separately makes the direction of \(\Longrightarrow\) visible and keeps an accidental converse from slipping in.
Push the symbols
Here is a concrete symbolic test. Reading it from left to right reveals which transformation is reversible and which is only an implication.
Structural reading
The two-row display is also a debugging tool: if the conclusion changes when only notation changes, some hidden choice has entered the argument.
A hypothesis worth keeping
An asymptotically fast method still needs algebraic preconditions: an NTT modulus needs suitable roots, and convex-hull optimization needs monotone slopes or queries for its simplest form.
The important habit is to remember what was fixed before the calculation began and what was proved only afterward. The final display preserves that order.