Definitions/Def_Nat_MacaulayPow.lean
Macaulay's upper pseudo-power of a natural number
This module defines a single arithmetic function, Nat.macaulayPow : ℕ → ℕ → ℕ, written here as a^{\langle d\rangle} for Nat.macaulayPow d a: Macaulay's upper pseudo-power of a natural number a in degree d. It is defined by recursion on the first argument. In degree 0 the value is 0 for every a. In degree d+1, one first forms k = Nat.findGreatest (fun k => k.choose (d+1) ≤ a) (a+d+1), that is the largest k \le a+d+1 with \binom{k}{d+1} \le a (and 0 if no such k exists); the value is then
a^{\langle d+1\rangle} \;=\; \binom{k+1}{d+2} \;+\; \bigl(a - \tbinom{k}{d+1}\bigr)^{\langle d\rangle},
the subtraction being truncated subtraction of natural numbers and the recursive call being in degree d.
Thus the definition implements the greedy construction of the d-th Macaulay (binomial) representation a = \binom{k_d}{d} + \binom{k_{d-1}}{d-1} + \cdots, in which the leading index is the largest k with \binom{k}{d} \le a and the remainder is expanded in the next lower degree, and simultaneously sums the shifted binomials \binom{k_i+1}{i+1} obtained by raising each index and each degree by one. The search bound a+d+1 is large enough that no admissible leading index is missed, since \binom{k}{d+1} > a once k exceeds a+d+1. Sample values: a^{\langle 1\rangle} = \binom{a+1}{2}, 0^{\langle d\rangle}=0, 1^{\langle d\rangle}=1, and 4^{\langle 2\rangle}=5, coming from 4 = \binom{3}{2}+\binom{1}{1}. This is the function occurring in Macaulay's bound h(d+1) \le h(d)^{\langle d\rangle} for Hilbert functions of homogeneous quotients of a polynomial ring and in the statements of Gotzmann's persistence and regularity theorems.
Relation to Mathlib
Mathlib has no Macaulay pseudo-power; this is the project's own definition, built from Nat.choose and Nat.findGreatest.
Where it is used
The function supplies the numerical vocabulary for Macaulay's growth bound on Hilbert functions and for Gotzmann's persistence theorem, which in turn underlie the construction of Hilbert schemes used as moduli-theoretic input in the project.
References
- F. S. Macaulay, Some properties of enumeration in the theory of modular systems, Proceedings of the London Mathematical Society 26 (1927), 531–555
- W. Bruns and J. Herzog, Cohen–Macaulay Rings (revised edition), Cambridge Studies in Advanced Mathematics 39, Cambridge University Press, 1998, §4.2
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 14 lines
- 1 declarations
- used in the statements of 25 theorems and imported by 32 proofs
- imports 0 definition modules
Source file: Definitions/Def_Nat_MacaulayPow.lean
Declarations
Source
import Mathlib set_option autoImplicit false namespace Nat def macaulayPow : ℕ → ℕ → ℕ | 0, _ => 0 | d + 1, a => (Nat.findGreatest (fun k => k.choose (d + 1) ≤ a) (a + d + 1) + 1).choose (d + 2) + macaulayPow d (a - (Nat.findGreatest (fun k => k.choose (d + 1) ≤ a) (a + d + 1)).choose (d + 1)) end Nat
Statements phrased using this module (25)
- Macaulay's bound is attained by a homogeneous ideal
MvPolynomial.exists_span_monomial_finrank_piece_eq_and_finrank_piece_succ_eq_macaulayPow0 below · depth 32 - Macaulay's bound on Hilbert functions of graded quotients
MvPolynomial.finrank_piece_succ_le_macaulayPow1 below · depth 32 - Eventual equality in Macaulay's growth bound
Nat.exists_forall_eq_macaulayPow_of_forall_le_macaulayPow0 below · depth 32 - Čech acyclicity and surjectivity for ideals of maximal growth
AlgebraicGeometry.ProjSpace.forall_subsingleton_HSucc_twist_and_forall_H0_exists_of_maximal_growth157 below · depth 33 - Macaulay's bound for monomial sets one degree up
Finsupp.card_le_macaulayPow_card_of_forall_sub_single_mem0 below · depth 33 - Maximal Macaulay growth forces polynomial behaviour
Nat.exists_polynomial_forall_eval_eq_of_forall_eq_macaulayPow0 below · depth 33 - Ideals cut out chartwise on Pⁿ_k are variable-saturated
AlgebraicGeometry.HilbertFunctor.mem_of_forall_exists_X_pow_mul_mem_of_forall_mem_iff_app_awayToSection_eq_zero0 below · depth 34 - Hyperplane short exact sequence of twists, with Čech comparison
AlgebraicGeometry.ProjSpace.exists_affSES_twist_succ_of_forall_mul_eq_zero_imp3 below · depth 34 - Generic linear form for an ideal of maximal growth
AlgebraicGeometry.ProjSpace.exists_linearForm_section_maximal_growth28 below · depth 34 - Degree-d forms surject onto Čech H⁰ under maximal growth
AlgebraicGeometry.ProjSpace.forall_H0_twist_exists_of_forall_subsingleton_HSucc_of_maximal_growth136 below · depth 34 - Vanishing degree-m piece forces trivial twisted Čech groups
AlgebraicGeometry.ProjSpace.forall_subsingleton_HSucc_twist_and_forall_H0_exists_of_finrank_piece_eq_zero0 below · depth 34 - Green's hyperplane restriction theorem for a general linear form
MvPolynomial.exists_forall_eval_ne_zero_macaulayPow_finrank_piece_sup_add_le1 below · depth 34 - Gotzmann maximal growth: general linear form regular in degrees ≥ m
MvPolynomial.exists_forall_eval_ne_zero_mem_of_mul_mem_of_finrank_piece_succ_eq_macaulayPow9 below · depth 34 - A linear form that is a non-zero-divisor modulo a saturated homogeneous ideal
MvPolynomial.exists_forall_sum_C_mul_X_mul_mem_imp_of_forall_exists_X_pow_mul_mem16 below · depth 34 - One step of Gotzmann's persistence theorem
MvPolynomial.finrank_piece_add_two_eq_macaulayPow_of_finrank_piece_succ_eq_macaulayPow11 below · depth 34 - Hilbert function drop along a nonzerodivisor linear form
MvPolynomial.finrank_piece_sup_span_singleton_succ_add_finrank_piece_eq_of_forall_mul_mem_imp0 below · depth 34 - Macaulay lower bound for Hilbert functions of maximal growth
MvPolynomial.le_finrank_piece_of_forall_succ_eq_macaulayPow_of_eventually_eq3 below · depth 34 - Chartwise non-zero-divisor property of a linear form on Z
AlgebraicGeometry.ProjSpace.app_awayToSection_linearForm_mul_eq_zero_imp_of_forall_mul_mem_imp1 below · depth 35 - Chart dictionary for J+(ℓ) under maximal growth
AlgebraicGeometry.ProjSpace.mem_span_sup_linearForm_iff_forall_app_eq_zero_of_maximal_growth24 below · depth 35 - Maximal growth persists under a general hyperplane section
MvPolynomial.exists_forall_eval_ne_zero_mem_of_mul_mem_and_finrank_piece_sup_eq_macaulayPow4 below · depth 35 - Maximal growth passes to the degree-m part of J+(ℓ)
MvPolynomial.finrank_piece_span_sup_linearForm_eq_macaulayPow_and_lt1 below · depth 35 - Gotzmann persistence for maximal Macaulay growth
MvPolynomial.forall_finrank_piece_succ_eq_macaulayPow_of_finrank_piece_succ_eq_macaulayPow14 below · depth 35 - Green's numerical lemma for Macaulay pseudo-powers
Nat.macaulayPow_add_add_le_macaulayPow_add_of_le_add0 below · depth 35 - Macaulay's pseudo-power a ↦ a^{⟨ d⟩} is strictly increasing
Nat.macaulayPow_lt_macaulayPow_of_lt0 below · depth 35 - Maximal Macaulay growth at m forces saturation in degrees ≥ m
MvPolynomial.mem_of_forall_exists_X_pow_mul_mem_of_finrank_piece_succ_eq_macaulayPow15 below · depth 36