1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! The invariant *groups* of quadratic forms: the Witt group, the Witt ring, and
//! the Brauer–Wall group — the three abelian groups the classifiers land in.
//!
//! * `class` — the Witt **group** `W_q(F)`: [`WittClass`] (the order-2 group of
//! a finite nim-field, Arf-classified) and [`WittClassG`], the Char0/OddChar/Char2
//! trichotomy enum that the classifier façade returns. (The Char2 leg is a
//! *module*, not a ring — its `mul` returns `Err(WittClassGError::Char2NotARing)`;
//! see `ring` for why.)
//! * `ring` — the Witt **ring**: [`tensor_form`], Pfister forms, the fundamental
//! ideal `Iⁿ`, and the `eₙ` staircase (`e0 = dim`, `e1 = disc`, `e2 = Hasse`),
//! with per-field stabilisation (`I² = 0` over `F_q`; the infinite ℝ tower).
//! * `brauer_wall` — the Brauer–Wall group `BW(F)`: [`bw_class_real`] (the Bott
//! index `(q−p) mod 8`, so `BW(ℝ) ≅ ℤ/8`), [`bw_class_complex`] (`ℤ/2`),
//! [`bw_class_rational`] ([`RationalBrauerWallClass`], Wall's exact-sequence
//! coordinates over `ℚ`), [`bw_class_function_field`]
//! ([`FunctionFieldBrauerWallClass`], the same Wall coordinates over odd
//! `F_q(t)`), [`bw_class_finite_odd`] (order-4, `≅ W(F_q)`), and
//! [`bw_class_nimber`] (the char-2 Arf/Witt class `ℤ/2`, nonsingular metrics
//! only). The law is the graded tensor product.
//! * `brauer_rational` — the **ungraded** rational 2-torsion Brauer class
//! ([`Brauer2Class`]) as a set of ramified places: the Hasse–Witt invariant
//! ([`hasse_brauer_class`]) and the Clifford invariant ([`clifford_brauer_class`])
//! of a `ℚ`-form, which differ by the explicit `n mod 8` / discriminant correction
//! (Lam). The char-0/odd mirror of the char-2 Bridge B; it is the ungraded
//! `c(q)` projection of [`RationalBrauerWallClass`], not the whole graded class.
//! * `cyclic` — Bridge K: the **full `ℚ/ℤ`** ungraded Brauer class ([`BrauerClass`])
//! and cyclic-symbol local invariants: [`cyclic_algebra_invariant`]
//! (`inv = v(a)/n mod ℤ`, the unramified class) plus
//! [`tame_symbol_invariant`] for the tame Kummer slice. Lifts
//! `brauer_rational`'s 2-torsion surface to the full local Brauer group, with
//! [`Brauer2Class`] embedding as the `½`-slice ([`BrauerClass::from_two_torsion`]).
//! * `milnor` — Bridge N.1: Milnor residue maps as global Witt invariants.
//! [`global_residues`] returns the signature plus the nonzero residues of
//! `W(ℚ) → ℤ ⊕ ⊕_p W(F_p)`, including Milnor's hand-defined dyadic cell, and
//! [`global_residues_ff`] returns the split odd-characteristic function-field map
//! `W(F_q(t)) ≅ W(F_q) ⊕ ⊕_π W(F_q[t]/π)`.
//!
//! The mod-8 spine lives here: `BW(ℝ) ≅ ℤ/8` is the same periodicity as the char-0
//! 8-fold Clifford table, Bott periodicity, and `E₈` as the rank-8 even unimodular
//! lattice (see [`integral`](crate::forms::integral)).
//!
//! Children are private modules re-exported flat, so the public API stays shallow
//! (`forms::WittClassG`, `forms::tensor_form`, `forms::bw_class_real`, …). The
//! numeric field invariants (level, u-invariant) the ring *implies* live separately
//! in [`field_invariants`](crate::forms::field_invariants).
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;