A finitely generated divisor-class action controls degree modulo torsion
OpenPhilipponMultiplicity.closure_action_has_finitely_generated_degree_moduleLet be a commutative algebraic group over a Philippon base field, let be its multiprojective closure, and let be regular automorphisms satisfying and . There exist a finitely generated abelian group and an action such that, for every closed subset , group element , and positive block-degree vector ,
Here is the subgroup of elements annihilated by a nonzero integer, and is the factorial-normalized degree form of the actual multigraded Hilbert polynomial. The same group and action work for every , including empty and reducible closed subsets.
This is the geometric input for constructing a finite integral lattice action that controls degree. Torsion is permitted in ; no basis or action on a free group of generators is required.
Formalization Note. A finitely generated abelian group is represented as for a submodule . The statement is an auxiliary consequence of the Theorem of the Base and numerical intersection theory, not a verbatim numbered theorem. Construction from the embedded-group interface and comparison with the concrete Hilbert degree remain Open. Connectedness, a joint algebraic action, and agreement with translations on the dense group are not hypotheses.
import Mathlib.Algebra.Module.Torsion.Basic import Definitions.Def_PhilipponMultiplicity_Support import Definitions.Def_PhilipponMultiplicity_SectionThree set_option autoImplicit false open scoped BigOperators Topology
namespace PhilipponMultiplicity
theorem closure_action_has_finitely_generated_degree_module
(K : Type*) [NontriviallyNormedField K] (hK : IsPhilipponBaseField K)
(G : EmbeddedGroupProduct K)
(τ : G.Point → (groupProjectiveClosure G ≃ groupProjectiveClosure G))
(hzero : τ 0 = Equiv.refl _)
(hadd : ∀ g h, τ (g+h) = (τ h).trans (τ g))
(hregular : ∀ g, G.ambient.IsRegularAlong G.ambient
(fun x : groupProjectiveClosure G => x.val) (fun x => (τ g x).val)) :
∃ (m : ℕ) (L : Submodule ℤ (Fin m → ℤ))
(α : Multiplicative G.Point →*
(((Fin m → ℤ) ⧸ L) ≃ₗ[ℤ] ((Fin m → ℤ) ⧸ L))),
∀ (V : Set (groupProjectiveClosure G)),
@IsClosed _ (TopologicalSpace.induced Subtype.val G.ambient.zariskiTopology) V →
∀ (g : G.Point) (D : G.FactorIndex → ℕ), (∀ i, 1 ≤ D i) →
(∀ x, α (Multiplicative.ofAdd g) x - x ∈
Submodule.torsion ℤ ((Fin m → ℤ) ⧸ L)) →
SectionThree.locusDegreeValue G.ambient (Subtype.val '' V) D =
SectionThree.locusDegreeValue G.ambient (Subtype.val '' (τ g '' V)) D := by sorry
end PhilipponMultiplicity