Documentation

Atlas.EllipticCurves.code.CMTorsor

@[reducible, inline]
noncomputable abbrev FieldNormTrace.fieldNorm (k : Type u_1) {K : Type u_2} [CommRing k] [Ring K] [Algebra k K] :
K →* k

The field norm K → k of a k-algebra K, packaged as a monoid homomorphism.

Instances For
    @[reducible, inline]
    noncomputable abbrev FieldNormTrace.fieldTrace (k : Type u_1) (K : Type u_2) [CommRing k] [CommRing K] [Algebra k K] :

    The field trace K → k of a k-algebra K, packaged as a k-linear map.

    Instances For
      theorem FieldNormTrace.norm_eq_sq {D : } (α : ℤ√D) :
      α.norm = α.re ^ 2 - D * α.im ^ 2

      The norm form on ℤ√D: N(α) = α.re² - D · α.im².

      theorem FieldNormTrace.norm_eq_mul_conj {D : } (α : ℤ√D) :
      α.norm = α * star α

      The norm of α ∈ ℤ√D, embedded back into ℤ√D, equals α · star α.

      theorem FieldNormTrace.trace_eq {D : } (α : ℤ√D) :
      α + star α = ↑(2 * α.re)

      The trace form on ℤ√D: α + star α = 2 · α.re (as an element of ℤ√D).

      theorem FieldNormTrace.trace_re {D : } (α : ℤ√D) :
      (α + star α).re = 2 * α.re

      The real part of α + star α equals 2 · α.re.

      theorem FieldNormTrace.trace_im {D : } (α : ℤ√D) :
      (α + star α).im = 0

      The imaginary part of α + star α vanishes.

      theorem FieldNormTrace.conj_eq_trace_sub {D : } (α : ℤ√D) :
      star α = ↑(2 * α.re) - α

      The conjugate star α equals 2 · α.re - α.

      theorem FieldNormTrace.mul_star_re {D : } (α : ℤ√D) :
      (α * star α).re = α.re ^ 2 - D * α.im ^ 2

      The real part of α · star α equals the norm α.re² - D · α.im².

      theorem FieldNormTrace.mul_star_im {D : } (α : ℤ√D) :
      (α * star α).im = 0

      The imaginary part of α · star α vanishes.

      theorem FieldNormTrace.norm_mul {D : } (α β : ℤ√D) :
      (α * β).norm = α.norm * β.norm

      Multiplicativity of the norm on ℤ√D: N(αβ) = N(α) · N(β).

      theorem FieldNormTrace.norm_conj {D : } (α : ℤ√D) :
      (star α).norm = α.norm

      The norm is invariant under conjugation: N(star α) = N(α).

      theorem FieldNormTrace.norm_nonneg {D : } (hD : D 0) (α : ℤ√D) :
      0 α.norm

      For D ≤ 0 (imaginary quadratic case), the norm on ℤ√D is nonnegative.

      The discriminant t² - 4n of a monic quadratic x² - t x + n.

      Instances For
        @[simp]
        theorem QuadraticOrder.disc_def (t n : ) :
        disc t n = t ^ 2 - 4 * n

        Defining equation for disc: disc t n = t² - 4n.

        def QuadraticOrder.traceZ {d : } (τ : ℤ√d) :

        The integer trace of τ ∈ ℤ√d, defined as 2 · τ.re.

        Instances For
          @[simp]
          theorem QuadraticOrder.traceZ_eq {d : } (τ : ℤ√d) :
          traceZ τ = 2 * τ.re

          Defining equation for traceZ.

          The discriminant of τ ∈ ℤ√d, given by disc (traceZ τ) (N τ).

          Instances For
            @[simp]
            theorem QuadraticOrder.discZsqrtd_eq {d : } (τ : ℤ√d) :
            discZsqrtd τ = 4 * d * τ.im ^ 2

            Computation: the discriminant of τ ∈ ℤ√d equals 4 d · τ.im².

            theorem QuadraticOrder.discZsqrtd_eq_sq_sub_conj_re {d : } (τ : ℤ√d) :
            discZsqrtd τ = ((τ - star τ) * (τ - star τ)).re

            The discriminant of τ can also be expressed as Re((τ - star τ)²).

            theorem QuadraticOrder.sq_sub_conj_im_eq_zero {d : } (τ : ℤ√d) :
            ((τ - star τ) * (τ - star τ)).im = 0

            The imaginary part of (τ - star τ)² vanishes.

            The discriminant of τ equals (traceZ τ)² - 4 · N(τ), exhibiting it as the discriminant of the minimal polynomial.

            theorem QuadraticOrder.discZsqrtd_sqrtd {d : } :
            discZsqrtd { re := 0, im := 1 } = 4 * d

            The element √d ∈ ℤ√d has discriminant 4d.

            D is an imaginary quadratic discriminant if D < 0 and D ≡ 0 or 1 (mod 4).

            Instances For

              D is a fundamental imaginary quadratic discriminant if it is an imaginary quadratic discriminant and is not of the form u² · D' for u > 1 and another imaginary quadratic discriminant D'.

              Instances For

                A decomposition D = u² · D_K of an imaginary quadratic discriminant D into the conductor u ≥ 1 and the fundamental discriminant D_K of the maximal order.

                Instances For

                  Every imaginary quadratic discriminant D admits a decomposition D = u² · D_K where D_K is fundamental and u ≥ 1.

                  theorem ImaginaryQuadraticDiscriminant.discriminant_decomposition_unique (D : ) (hD : IsImaginaryQuadraticDiscriminant D) {D_K₁ D_K₂ u₁ u₂ : } (hu₁ : u₁ 1) (hu₂ : u₂ 1) (hfund₁ : IsFundamentalImaginaryQuadraticDiscriminant D_K₁) (hfund₂ : IsFundamentalImaginaryQuadraticDiscriminant D_K₂) (h₁ : D = u₁ ^ 2 * D_K₁) (h₂ : D = u₂ ^ 2 * D_K₂) :
                  u₁ = u₂ D_K₁ = D_K₂

                  Uniqueness of the decomposition D = u² · D_K: the conductor u and fundamental discriminant D_K are uniquely determined by D.

                  @[reducible, inline]
                  abbrev FractionalOIdeal (R : Type u_1) [CommRing R] [IsDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] :
                  Type u_2

                  Convenient abbreviation FractionalOIdeal R K for the type of fractional R-ideals in the fraction field K.

                  Instances For

                    Multiplicativity formula for fractional ideals written in the form (l) · a where l is a scalar and a an integral ideal: ((l)·a) · ((l')·a') = (l·l') · (a·a').

                    noncomputable def NormTrace.idealNorm {𝒪 : Type u_1} [CommRing 𝒪] (𝔞 : Ideal 𝒪) :

                    The ideal norm N(𝔞) := |𝒪/𝔞|, defined as the cardinality of the quotient ring.

                    Instances For
                      theorem NormTrace.idealNorm_eq_card_quotient {𝒪 : Type u_1} [CommRing 𝒪] (𝔞 : Ideal 𝒪) :
                      idealNorm 𝔞 = Nat.card (𝒪 𝔞)

                      Defining property of idealNorm: it equals the cardinality of 𝒪 / 𝔞.

                      theorem NormTrace.idealNorm_top {𝒪 : Type u_1} [CommRing 𝒪] :

                      The norm of the unit ideal is 1.

                      theorem NormTrace.idealNorm_bot {𝒪 : Type u_1} [CommRing 𝒪] [Infinite 𝒪] :

                      The norm of the zero ideal in an infinite ring is 0.

                      theorem NormTrace.idealNorm_pos {𝒪 : Type u_2} [CommRing 𝒪] [IsDomain 𝒪] [Module.Free 𝒪] [Module.Finite 𝒪] (𝔞 : Ideal 𝒪) (h : 𝔞 ) :
                      0 < idealNorm 𝔞

                      For a free, finite -module domain 𝒪, every nonzero ideal has positive (and hence finite, nonzero) norm.

                      theorem NormTrace.idealNorm_eq_absNorm {𝒪 : Type u_2} [CommRing 𝒪] [Nontrivial 𝒪] [IsDedekindDomain 𝒪] [Module.Free 𝒪] (𝔞 : Ideal 𝒪) :

                      For a Dedekind domain 𝒪 that is free as a -module, the Ideal.absNorm agrees with the cardinality-based idealNorm defined here.

                      For a principal ideal (α) in a Dedekind domain, the ideal norm equals |N(α)|, as natural numbers.

                      Integer version: (N (α)) = |N_{𝒪/ℤ}(α)| for principal ideals.

                      Specialised version for the ring of integers of a number field K: N((α)) = |N_{K/ℚ}(α)|.

                      theorem IdealNormMultiplicativity.mem_span_singleton_mul {𝒪 : Type u_1} [CommRing 𝒪] [IsDomain 𝒪] [Module.Free 𝒪] [Module.Finite 𝒪] {α : 𝒪} {𝔞 : Ideal 𝒪} {z : 𝒪} (hz : z Ideal.span {α} * 𝔞) :
                      w𝔞, z = α * w

                      Membership lemma: any element of (α) · 𝔞 is of the form α · w for some w ∈ 𝔞.

                      Multiplicativity of the ideal norm against a principal ideal: N((α) · 𝔞) = N((α)) · N(𝔞).

                      Refined version in the Dedekind case: N((α) · 𝔞) = |N(α)| · N(𝔞).

                      noncomputable def FractionalIdealNorm.fractionalIdealNorm {𝒪 : Type u_1} [CommRing 𝒪] [IsDedekindDomain 𝒪] [Module.Free 𝒪] {K : Type u_2} [CommRing K] [Algebra 𝒪 K] (𝔟 : FractionalIdeal (nonZeroDivisors 𝒪) K) :

                      The norm of a fractional ideal 𝔟 = (1/d) · 𝔟.num: N(𝔟) = N(𝔟.num) / |N(𝔟.den)|, as a rational number.

                      Instances For

                        The fractional ideal norm defined here agrees with Mathlib's FractionalIdeal.absNorm.

                        theorem FractionalIdealNorm.fractionalIdealNorm_eq {𝒪 : Type u_1} [CommRing 𝒪] [IsDedekindDomain 𝒪] [Module.Free 𝒪] [Module.Finite 𝒪] {K : Type u_2} [CommRing K] [Algebra 𝒪 K] [IsFractionRing 𝒪 K] (𝔟 : FractionalIdeal (nonZeroDivisors 𝒪) K) :

                        Definitional unfolding of fractionalIdealNorm.

                        theorem nsmul_mem_of_card_quotient {M : Type u_1} [AddCommGroup M] [Module M] (N : Submodule M) (x : M) :
                        Nat.card (M N) x N

                        For any -submodule N of M, the cardinality of M/N (as a natural number) times x lies in N, for every x ∈ M.

                        theorem zsmul_mem_of_card_quotient {M : Type u_1} [AddCommGroup M] [Module M] (N : Submodule M) (x : M) :
                        (Nat.card (M N)) x N

                        Integer-scalar version of nsmul_mem_of_card_quotient.

                        For n : ℤ, the image n · (Fin 2 → ℤ) under scalar multiplication equals the product of singleton spans Π i, ⟨n⟩.

                        The cardinality of ℤ / ⟨n⟩ equals n (for a natural number n).

                        The cardinality of (Fin 2 → ℤ) / n·(Fin 2 → ℤ) equals .

                        theorem nsmul_le_of_card_quotient (N : Submodule (Fin 2)) (n : ) (hindex : Nat.card ((Fin 2) N) = n) :

                        For a sublattice N of (Fin 2 → ℤ) of index n, the sublattice n·(Fin 2 → ℤ) is contained in N.

                        theorem sublattice_index_nsmul (N : Submodule (Fin 2)) (n : ) (hn : 0 < n) (hindex : Nat.card ((Fin 2) N) = n) :

                        For a sublattice N of (Fin 2 → ℤ) of index n > 0, the image of N in (Fin 2 → ℤ) / n·(Fin 2 → ℤ) also has cardinality n.

                        The endomorphism ring of a complex lattice is invariant under homothety: if L and L' are homothetic, then End(L) = End(L').

                        Being a proper 𝒪-ideal is preserved under homothety of lattices.

                        Equivalence: L is a proper 𝒪-ideal iff its homothetic image L' is.

                        An imaginary quadratic order, presented by a trace t and a norm n such that the discriminant t² - 4n is negative and ≡ 0 or 1 (mod 4).

                        Instances For

                          The discriminant t² - 4n of an imaginary quadratic order.

                          Instances For

                            Two imaginary quadratic orders agree (define the same order) when they have the same discriminant and the same trace parity.

                            Instances For
                              theorem ImagQuadDiscriminant.sq_mod_four_iff (t : ) :
                              t % 2 = 0 t ^ 2 % 4 = 0 t % 2 = 1 t ^ 2 % 4 = 1

                              Case split for t² (mod 4): either t is even and t² ≡ 0 (mod 4), or t is odd and t² ≡ 1 (mod 4).

                              theorem ImagQuadDiscriminant.mod_two_eq_of_sq_mod_four_eq {t₁ t₂ : } (h : t₁ ^ 2 % 4 = t₂ ^ 2 % 4) :
                              t₁ % 2 = t₂ % 2

                              If t₁² ≡ t₂² (mod 4), then t₁ and t₂ have the same parity.

                              theorem ImagQuadDiscriminant.trace_parity_eq_of_disc_eq {t₁ n₁ t₂ n₂ : } (heq : t₁ ^ 2 - 4 * n₁ = t₂ ^ 2 - 4 * n₂) :
                              t₁ % 2 = t₂ % 2

                              If two trace-norm pairs (t₁, n₁) and (t₂, n₂) have the same discriminant, then their traces have the same parity.

                              Existence: every imaginary quadratic discriminant D arises from some ImaginaryQuadraticOrder.

                              theorem ImagQuadDiscriminant.uniqueness (𝒪₁ 𝒪₂ : ImaginaryQuadraticOrder) (hD : 𝒪₁.discriminant = 𝒪₂.discriminant) :
                              𝒪₁.SameOrder 𝒪₂

                              Uniqueness: two ImaginaryQuadraticOrders with the same discriminant satisfy SameOrder.

                              Construct an ImaginaryQuadraticOrder of discriminant D = u² · D_K from the decomposition dec into a conductor u and a fundamental discriminant D_K.

                              Instances For

                                The maximal order of an imaginary quadratic field with fundamental discriminant D_K, constructed as an ImaginaryQuadraticOrder.

                                Instances For

                                  The maximal order constructed by maximalOrder has the prescribed discriminant D_K.

                                  The conductor relation: the discriminant of orderFromDecomposition dec is times the discriminant of the maximal order with fundamental discriminant D_K.

                                  Existence and uniqueness: every imaginary quadratic discriminant D factors uniquely as u² · D_K, giving rise to a maximal order 𝒪_K and a unique (up to SameOrder) order 𝒪 of discriminant D.

                                  𝒪 is a suborder of 𝒪_K with index u if its discriminant is times that of 𝒪_K and the traces satisfy 𝒪.t = 2a + u · 𝒪_K.t for some integer a.

                                  Instances For

                                    The order constructed from a decomposition is a suborder of index u of the maximal order of D_K.

                                    Refined existence-uniqueness statement: every imaginary quadratic discriminant D gives rise to a unique pair (𝒪_K, 𝒪) with 𝒪 ⊂ 𝒪_K of conductor index u.

                                    The order (multiplier ring) of a fractional ideal I in K: the set of x : K such that x · I ⊆ I.

                                    Instances For

                                      A fractional ideal I is proper if its order equals the image of R in K, i.e. its multiplier ring is exactly R itself.

                                      Instances For

                                        R always sits inside the order of any fractional ideal: R ⊆ idealOrder I.

                                        Reformulation of IsProper: properness is equivalent to the reverse inclusion idealOrder I ⊆ R.

                                        Multiplying by an invertible fractional ideal does not change the order: idealOrder (u · I) = idealOrder I for a unit u.

                                        Properness is preserved under multiplication by a unit: IsProper (u · I) ↔ IsProper I.

                                        Every invertible (unit) fractional ideal is proper.

                                        The canonical -linear equivalence ℤ√d ≃ₗ[ℤ] (Fin 2 → ℤ) sending α to ![α.re, α.im]. Exhibits ℤ√d as a free -module of rank 2.

                                        Instances For

                                          ℤ√d is free as a -module, via the equivalence with Fin 2 → ℤ.

                                          ℤ√d is finitely generated as a -module (in fact rank 2).

                                          The conjugate of an ideal I ⊆ ℤ√d: the image of I under the conjugation ring homomorphism star.

                                          Instances For
                                            theorem ProperIdealInvertible.mem_conjIdeal {d : } {I : Ideal (ℤ√d)} {x : ℤ√d} (hx : x I) :

                                            If x ∈ I, then star x ∈ conjIdeal I.

                                            Conjugation of ideals is an involution: conjIdeal (conjIdeal I) = I.

                                            noncomputable def ProperIdealInvertible.idealNormZsqrtd {d : } (I : Ideal (ℤ√d)) :

                                            The ideal norm in ℤ√d, given by the cardinality of the quotient (ℤ√d) / I.

                                            Instances For
                                              theorem ProperIdealInvertible.conjProduct_eq_norm_principal {d : } (hd : d < 0) [IsDomain (ℤ√d)] (K : Type u_1) [Field K] [Algebra (ℤ√d) K] [IsFractionRing (ℤ√d) K] (I : Ideal (ℤ√d)) (hI : I ) (hP : IsProper I) :

                                              For a proper, nonzero ideal I ⊆ ℤ√d (with d < 0), the product I · conjIdeal I is the principal ideal generated by the norm N(I) ∈ ℤ√d.

                                              theorem ProperIdealInvertible.isUnit_coeIdeal_of_mul_eq_span {d : } [IsDomain (ℤ√d)] (K' : Type u_1) [Field K'] [Algebra (ℤ√d) K'] [IsFractionRing (ℤ√d) K'] (J J' : Ideal (ℤ√d)) (n : ℤ√d) (hn : n 0) (h : J * J' = Ideal.span {n}) :
                                              IsUnit J

                                              If J · J' = (n) with n ≠ 0, then J is invertible as a fractional ideal in the field of fractions.

                                              Characterisation of properness for nonzero fractional ideals of ℤ√d (imaginary quadratic case): I is proper iff I is invertible.

                                              Explicit formula for the inverse of a proper/invertible ideal in ℤ√d: I⁻¹ = (1/N(I)) · conjIdeal I.

                                              noncomputable def ProperIdealInvertible.fractionalIdealNormZsqrtd {d : } (hd : d < 0) [IsDomain (ℤ√d)] (K : Type u_1) [Field K] [Algebra (ℤ√d) K] [IsFractionRing (ℤ√d) K] (𝔞 : FractionalIdeal (nonZeroDivisors (ℤ√d)) K) :

                                              Norm of a fractional ideal in ℤ√d: N(𝔞) = N(𝔞.num) / |N(𝔞.den)|, as a rational number.

                                              Instances For
                                                theorem ProperIdealInvertible.fractionalIdealNormZsqrtd_mul {d : } (hd : d < 0) [IsDomain (ℤ√d)] (K : Type u_1) [Field K] [Algebra (ℤ√d) K] [IsFractionRing (ℤ√d) K] (𝔞 𝔟 : FractionalIdeal (nonZeroDivisors (ℤ√d)) K) (h𝔞 : IsProper 𝔞) (h𝔟 : IsProper 𝔟) :

                                                Multiplicativity of the fractional ideal norm in ℤ√d on proper ideals: N(𝔞 · 𝔟) = N(𝔞) · N(𝔟).

                                                @[reducible, inline]
                                                abbrev IdealClassGroup.InvertibleFractionalIdeals (R : Type u_1) [CommRing R] (K : Type u_2) [Field K] [Algebra R K] :
                                                Type u_2

                                                The group of invertible fractional ideals of R in its field of fractions K.

                                                Instances For
                                                  @[reducible, inline]

                                                  The subgroup of principal invertible fractional ideals (image of K* under toPrincipalIdeal).

                                                  Instances For

                                                    The subgroup of principal fractional ideals is normal in the group of invertible fractional ideals (the ambient group is abelian).

                                                    Identification of the quotient InvertibleFractionalIdeals / PrincipalFractionalIdeals with the ideal class group Cl(R) (via Mathlib's ClassGroup.equiv).

                                                    Instances For
                                                      @[implicit_reducible]

                                                      The quotient of invertible fractional ideals by principal ones inherits an abelian group structure.

                                                      @[implicit_reducible]

                                                      The class group Cl(R) is an abelian group.

                                                      For ℤ√d with d < 0, properness of a nonzero fractional ideal is equivalent to invertibility.

                                                      Every invertible fractional ideal (in the imaginary quadratic case) is proper.

                                                      Identification of the quotient InvertibleFractionalIdeals(ℤ√d) / PrincipalFractionalIdeals(ℤ√d) with the class group Cl(ℤ√d) (in the imaginary quadratic case).

                                                      Instances For

                                                        For an imaginary quadratic order 𝒪 ⊂ ℂ, the geometric ideal class group of 𝒪 (defined via complex lattices) is isomorphic to the quotient (FractionalIdeal 𝒪 K)ˣ / Principal.

                                                        Instances For

                                                          The geometric ideal class group of an imaginary quadratic order 𝒪 ⊂ ℂ carries the structure of a (commutative) group.

                                                          Specialised version for 𝒪 = ℤ√d: the quotient (FractionalIdeal (ℤ√d) K)ˣ / Principal is Cl(ℤ√d).

                                                          Instances For
                                                            def IdealTorsion.idealTorsion {𝒪 : Type u_1} [CommRing 𝒪] {E : Type u_2} [AddCommGroup E] [Module 𝒪 E] (𝔞 : Ideal 𝒪) :
                                                            Submodule 𝒪 E

                                                            The 𝔞-torsion submodule of an 𝒪-module E: the set of P ∈ E such that α · P = 0 for every α ∈ 𝔞.

                                                            Instances For
                                                              @[simp]
                                                              theorem IdealTorsion.mem_idealTorsion_iff {𝒪 : Type u_1} [CommRing 𝒪] {E : Type u_2} [AddCommGroup E] [Module 𝒪 E] (𝔞 : Ideal 𝒪) (P : E) :
                                                              P idealTorsion 𝔞 α𝔞, α P = 0

                                                              Defining property of idealTorsion: P ∈ idealTorsion 𝔞 iff α · P = 0 for all α ∈ 𝔞.

                                                              @[simp]
                                                              theorem IdealTorsion.idealTorsion_eq_torsionBySet {𝒪 : Type u_1} [CommRing 𝒪] {E : Type u_2} [AddCommGroup E] [Module 𝒪 E] (𝔞 : Ideal 𝒪) :

                                                              The bespoke idealTorsion agrees with Mathlib's Submodule.torsionBySet.

                                                              def IdealTorsion.idealTorsionAddSubgroup {𝒪 : Type u_1} [CommRing 𝒪] {E : Type u_2} [AddCommGroup E] [Module 𝒪 E] (𝔞 : Ideal 𝒪) :

                                                              The 𝔞-torsion submodule viewed as an additive subgroup of E.

                                                              Instances For
                                                                class CMTorsorAction.IsCMModule (𝒪 : Type u_2) [CommRing 𝒪] (E : Type u_3) [AddCommGroup E] [Module 𝒪 E] :
                                                                Type (max u_2 u_3)

                                                                A CM-module over 𝒪 is an 𝒪-module E together with the data of an ideal latticeIdeal ⊆ 𝒪 and an 𝒪-linear equivalence E ≃ₗ[𝒪] 𝒪 / latticeIdeal.

                                                                Instances
                                                                  structure CMTorsorAction.CMIsogenyData (𝒪 : Type u_2) [CommRing 𝒪] (𝔟 𝔞 : Ideal 𝒪) :
                                                                  Type u_2

                                                                  Data describing a CM-isogeny 𝒪/𝔟 → 𝒪/targetIdeal corresponding to multiplication by an ideal 𝔞: includes the target ideal (the colon ideal (𝔟 : 𝔞)) and the relation 𝔞 · targetIdeal = 𝔟.

                                                                  Instances For
                                                                    noncomputable def CMTorsorAction.CMIsogenyData.toLinearMap {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} (φ : CMIsogenyData 𝒪 𝔟 𝔞) :
                                                                    𝒪 𝔟 →ₗ[𝒪] 𝒪 φ.targetIdeal

                                                                    The 𝒪-linear map 𝒪/𝔟 → 𝒪/targetIdeal underlying a CMIsogenyData.

                                                                    Instances For
                                                                      theorem CMTorsorAction.CMIsogenyData.toLinearMap_surjective {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} (φ : CMIsogenyData 𝒪 𝔟 𝔞) :

                                                                      The linear map associated to a CMIsogenyData is surjective.

                                                                      theorem CMTorsorAction.CMIsogenyData.ker_toLinearMap {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} (φ : CMIsogenyData 𝒪 𝔟 𝔞) :

                                                                      The kernel of φ.toLinearMap is the image of the target ideal inside 𝒪/𝔟.

                                                                      noncomputable def CMTorsorAction.degIsogeny {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} (φ : CMIsogenyData 𝒪 𝔟 𝔞) :

                                                                      The degree of the CM-isogeny φ, defined as the cardinality of its kernel.

                                                                      Instances For
                                                                        theorem CMTorsorAction.degIsogeny_eq_idealNorm {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} [IsDedekindDomain 𝒪] [Module.Free 𝒪] [Module.Finite 𝒪] (φ : CMIsogenyData 𝒪 𝔟 𝔞) (h𝔠_ne : φ.targetIdeal ) :

                                                                        The degree of the CM-isogeny equals the ideal norm of 𝔞, provided the target ideal is nonzero (so that the quotient is finite).

                                                                        theorem CMIdealIsogeny.isogeny_degree_eq_idealNorm {𝒪 : Type u_1} [CommRing 𝒪] {𝔟 𝔞 : Ideal 𝒪} [IsDedekindDomain 𝒪] [Module.Free 𝒪] [Module.Finite 𝒪] (φ : CMTorsorAction.CMIsogenyData 𝒪 𝔟 𝔞) (h𝔠_ne : φ.targetIdeal ) :

                                                                        Restatement: the degree of a CM-isogeny coincides with the ideal norm of the acting ideal.

                                                                        theorem CMIdealIsogeny.cm_curves_same_endRing_isogenous {𝒪 : Type u_2} [CommRing 𝒪] (𝔟₁ 𝔟₂ : Ideal 𝒪) :
                                                                        ∃ (𝔞 : Ideal 𝒪) (φ : CMTorsorAction.CMIsogenyData 𝒪 𝔟₁ 𝔞), φ.targetIdeal = 𝔟₂

                                                                        Any two CM elliptic curves with the same endomorphism ring 𝒪 are linked by a CM ideal isogeny: for any two ideals 𝔟₁, 𝔟₂ there exists an ideal 𝔞 and a CMIsogenyData 𝒪 𝔟₁ 𝔞 whose target equals 𝔟₂.