Multiplicativity of torsion cardinalities in a divisible abelian group
Provedcard_torsion_mul_of_divisibleLet be an additive commutative group which is divisible in the sense that for every natural number and every there exists with . Let be natural numbers with , and suppose that the subtypes and are both finite. The conclusion is the conjunction of two assertions: first, that is finite, and second, that its cardinality (as computed by Nat.card) equals the product of the cardinalities of and . Here the scalar actions are by natural numbers, and no coprimality of and is assumed; note that is allowed to be , in which case the hypothesis that is finite forces to be finite.
This is the classical multiplicativity of torsion orders coming from the exact sequence available in a divisible abelian group. It is used in the treatment of torsion in degree-zero Picard groups of curves, feeding the bounds AlgebraicCurve.Pic0.finite_and_card_torsion_le_of_natCast_ne_zero and AlgebraicCurve.Pic0.natCard_torsion_pow_eq_pow_two_mul_genusFF_mul_of_charZero.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false open Function
theorem card_torsion_mul_of_divisible
{A : Type*} [AddCommGroup A]
(hdiv : ∀ m : ℕ, m ≠ 0 → ∀ x : A, ∃ y : A, m • y = x)
(a b : ℕ) (ha : a ≠ 0)
(hfa : Finite {x : A // a • x = 0}) (hfb : Finite {x : A // b • x = 0}) :
Finite {x : A // (a * b) • x = 0} ∧
Nat.card {x : A // (a * b) • x = 0} =
Nat.card {x : A // a • x = 0} * Nat.card {x : A // b • x = 0} := by sorry