Two vertices v, w are adjacent in G iff their edge multiplicity is positive.
Instances For
The (multi)degree of a vertex v: the sum of edge multiplicities to all
vertices of V.
Instances For
The partial degree of v restricted to neighbours satisfying the predicate P.
Instances For
v and w are connected in G iff there is a finite path (a reflexive-
transitive closure of adjacency) from v to w.
Instances For
The multigraph G is connected iff every pair of vertices is connected.
Instances For
The total degree decomposes as the partial degree over P plus the partial
degree over ¬P.
Two predicates P, Q that agree on all neighbours of v (vertices with
positive edge multiplicity) give the same partial degree at v.
The classical modular polynomial Φ_ℓ(X, Y) specialized to Y = j₁: a univariate
polynomial in X over k whose roots over an algebraic closure are the j-invariants
of elliptic curves ℓ-isogenous to a curve with j-invariant j₁.
Instances For
The set of possible j-invariants over 𝔽_p, identified with ZMod p.
Instances For
The ℓ-isogeny graph over 𝔽_p as a SimpleGraph on j-invariants
(Definition 22.1): two distinct j-values are adjacent iff there is an
ℓ-isogeny between them.
Instances For
The ℓ-isogeny graph over 𝔽_p is locally finite.
Instances For
The ℓ-isogeny graph over 𝔽_p is regular of degree ℓ + 1: every vertex has
exactly ℓ + 1 outgoing ℓ-isogenies (counted with multiplicity).
The defining adjacency relation of the ℓ-isogeny graph: j₁ and j₂ are
adjacent iff they are distinct and there is an edge between them.
An ℓ-volcano: a connected multigraph organized into levels (the surface is
level 0, the floor is level depth). Vertices off the floor have degree ℓ + 1,
surface vertices have a prescribed surface degree (≤ 2), and non-surface vertices
have a unique parent at the level above. Edges can only join the surface to itself
or adjacent levels.
- V : Type u_1
- instDecEq : DecidableEq self.V
- graph : Multigraph self.V
- depth : ℕ
- level_surj : Function.Surjective self.level
- surfaceDegree : ℕ
- connected : self.graph.IsConnected
Instances For
A vertex of the volcano is on the surface (or crater) iff its level is 0.
Instances For
A vertex of the volcano is on the floor iff its level is the maximal one
(depth).
Instances For
The depth of the volcano (the maximal level index).
Instances For
An edge (v, w) is horizontal iff it has positive multiplicity and both
endpoints lie on the surface.
Instances For
An edge is vertical iff it is either descending or ascending.
Instances For
An edge (v, w) is descending iff the reverse edge (w, v) is ascending.
An edge (v, w) is ascending iff the reverse edge (w, v) is descending.
Conductor trichotomy for ℓ-isogenies: if conductors f, f' satisfy
f ∣ ℓ f' and f' ∣ ℓ f, then f = f' (horizontal), f = ℓ f' (ascending), or
f' = ℓ f (descending). Encodes the index relation behind Theorem 22.3.
Classification (Definition 22.4) of an ℓ-isogeny between CM elliptic curves
by the relation between the source and target endomorphism orders: horizontal
(𝒪 = 𝒪''), descending ([𝒪 : 𝒪''] = ℓ), or ascending ([𝒪'' : 𝒪] = ℓ).
- horizontal : IsogenyType
- descending : IsogenyType
- ascending : IsogenyType
Instances For
If f = f' then the isogeny is classified as horizontal.
The crater (surface) subgraph of an isogeny volcano: the multigraph induced on
the surface (level 0) vertices, keeping only edges that lie entirely on the
surface.
Instances For
For a surface vertex v, its degree in the crater subgraph equals the volcano's
surfaceDegree.
The crater subgraph is regular when restricted to surface vertices: any two surface vertices have the same crater-degree.
Surface vertices have crater-degree at most 2, reflecting the surface-degree
bound ≤ 2.
For a non-surface vertex v, every neighbour w is either one level above or one
level below v — there are no horizontal edges away from the surface.
For a non-surface vertex v with neighbour w, not being an ascending edge is
equivalent to being a descending edge.
For a surface vertex v (when the volcano has positive depth), the number of
edges leaving the surface equals ℓ + 1 - surfaceDegree.
If the volcano has depth 0, every vertex has level value 0.
For a floor vertex (level equal to depth, with positive depth), the number of
non-ascending edges is 0: floor vertices have only their unique ascending edge.
For a depth-zero volcano (no non-surface levels) every vertex has total degree equal to the surface degree.
Lemma 22.13: for any vertex v in an ordinary component of depth d of
G_ℓ(𝔽_q), either deg v ≤ 2 and v is on the floor, or deg v = ℓ + 1 and v
is not on the floor.
Existence (with values prescribed by Theorem 22.5) of the surface isogeny counts
when ℓ ∤ f.
Instances For
Existence of the non-surface isogeny counts when ℓ ∣ f.
Instances For
Combined statement of the CM isogeny count by type (Theorem 22.5 / Definition
22.4): the case analysis on ℓ ∣ f produces either the surface counts (when
ℓ ∤ f) or the non-surface counts (when ℓ ∣ f).
Total ℓ-isogeny count from a surface CM curve sums to ℓ + 1.
Total ℓ-isogeny count from a non-surface CM curve sums to ℓ + 1.
Kohel's structural data for an ordinary ℓ-volcano: an IsogenyVolcano of
prime degree ℓ, equipped with a conductor function f₀ · ℓ^level on vertices,
crater data tied to the Kronecker symbol (D₀/ℓ), and the depth-determining
equation 4q = t² - ℓ^{2d} v² D₀.
- volcano : IsogenyVolcano C.ℓ
- v_aux : ℤ
Instances For
The underlying ℓ-volcano structure on the ordinary component (existence
statement; the construction is left as a sorry).
Instances For
The surface degree of the ordinary component volcano equals 1 + (D₀/ℓ)
(Theorem 22.11).
Surface size formula (split/ramified case): when (D₀/ℓ) ≥ 0, the surface has
size equal to the class number / class order.
Surface size formula (inert case): when (D₀/ℓ) = -1, the surface consists of
a single vertex.
The auxiliary integer v appearing in the depth-determining norm equation
4q = t² - ℓ^{2d} v² D₀.
Instances For
The auxiliary integer v from the depth equation is coprime to ℓ.
Auxiliary algebraic step underlying Kohel's index_step: pushing a level-i
conductor f₀ · ℓ^i up to a level-(i+1) conductor gives ℓ times the original.
Kohel's existence theorem (Theorem 22.11): packaging the data computed above
into a single KohelVolcano for an ordinary component.
Instances For
A surface vertex of the Kohel volcano has conductor equal to the base conductor
f₀.
Re-export: the surface degree of a Kohel volcano is at most 2.
For a surface vertex, the crater degree equals 1 + (D₀/ℓ).
For a non-surface, non-floor vertex of the Kohel volcano, the descending degree
equals ℓ.
For a surface vertex of a positive-depth Kohel volcano, the number of edges
leaving the surface equals ℓ + 1 - surfaceDegree.
If the Hilbert class polynomial of D splits and is separable over F with
roots equal to ellCMSet D F, then the cardinality of ellCMSet D F equals the
class number of D (an instance of Deuring's Theorem 21.12).
If D contains D' then D' is itself an imaginary quadratic discriminant.
Coprimality with |D| descends to coprimality with |D'| along an order
containment.
A norm-equation solution for D lifts to a norm-equation solution for any D'
that D contains.
If (D, q) admits a norm-equation solution (t, v) with q ∤ t, then
ellCMSet D F is nonempty for every field F of size q.
Conversely, if ellCMSet D F is nonempty for some field F of size q, then
the corresponding norm equation has a solution (t, v) with q ∤ t.
For a field F of size q coprime to |D|, the CM set ellCMSet D F is
either empty or has cardinality equal to the class number h(D).
The discriminant of a descendant order, obtained by multiplying D by ℓ².
Instances For
Counts of ℓ-isogenies from a CM elliptic curve over F (with |F| = q):
horizontal, ascending, and descending counts, with the values prescribed by
Theorem 22.5, and the descending count conditioned on whether descendant CM
curves exist over F.
- hne : (Elliptic_Curves.Deuring.ellCMSet C.D F).Nonempty
- numHorizontal : ℕ
- numAscending : ℕ
- numDescending : ℕ
- descending_zero_of_empty : Elliptic_Curves.Deuring.ellCMSet C.descendantDisc F = ∅ → self.numDescending = 0
- descending_eq_of_nonempty : (Elliptic_Curves.Deuring.ellCMSet C.descendantDisc F).Nonempty → ↑self.numDescending = ↑C.ℓ - jacobiSym C.D C.ℓ
Instances For
Existence of an IsogenyCount package for any CM data with a nonempty CM set
over F.
Instances For
Every ideal class in the imaginary quadratic class group contains a representative
ideal of prime norm coprime to a given integer q.
A CM-torsor structure: the class group ClO acts freely and transitively on
the set EllSet of CM elliptic curves over F, with the j-invariants
identifying EllSet with ellCMSet D F. Action by an ideal class of prime norm
ℓ corresponds to an ℓ-isogeny in both directions.
- hne : (Elliptic_Curves.Deuring.ellCMSet C.D F).Nonempty
- ClO : Type u_2
- EllSet : Type u_3
- instDecEqEll : DecidableEq self.EllSet
- jInvariant : self.EllSet → F
- jInvariant_injective : Function.Injective self.jInvariant
- horizontal_isogeny (ℓ : ℕ) : Nat.Prime ℓ → ¬ℓ ∣ C.q → ∀ (g : self.ClO), IsIdealClassOfPrimeNorm C.D ℓ g → ∀ (x : self.EllSet), IsogenyGraph.hasEdge F ℓ (self.jInvariant x) (self.jInvariant (g • x))
- dual_isogeny (ℓ : ℕ) : Nat.Prime ℓ → ¬ℓ ∣ C.q → ∀ (g : self.ClO), IsIdealClassOfPrimeNorm C.D ℓ g → ∀ (x : self.EllSet), IsogenyGraph.hasEdge F ℓ (self.jInvariant (g • x)) (self.jInvariant x)
Instances For
A CM torsor exists for any CM data with a nonempty CM set over a finite field
F of the prescribed cardinality.