Binomial rings #
In this file we introduce the binomial property as a mixin, and define the multichoose
and choose
functions generalizing binomial coefficients.
According to our main reference [elliott2006binomial] (which lists many equivalent conditions), a
binomial ring is a torsion-free commutative ring R
such that for any x ∈ R
and any k ∈ ℕ
, the
product x(x-1)⋯(x-k+1)
is divisible by k!
. The torsion-free condition lets us divide by k!
unambiguously, so we get uniquely defined binomial coefficients.
The defining condition doesn't require commutativity or associativity, and we get a theory with
essentially the same power by replacing subtraction with addition. Thus, we consider any additive
commutative monoid with a notion of natural number exponents in which multiplication by positive
integers is injective, and demand that the evaluation of the ascending Pochhammer polynomial
X(X+1)⋯(X+(k-1))
at any element is divisible by k!
. The quotient is called multichoose r k
,
because for r
a natural number, it is the number of multisets of cardinality k
taken from a type
of cardinality n
.
Definitions #
BinomialRing
: a mixin class specifying a suitablemultichoose
function.Ring.multichoose
: the quotient of an ascending Pochhammer evaluation by a factorial.Ring.choose
: the quotient of a descending Pochhammer evaluation by a factorial.
Results #
- Basic results with choose and multichoose, e.g.,
choose_zero_right
- Relations between choose and multichoose, negated input.
- Fundamental recursion:
choose_succ_succ
- Chu-Vandermonde identity:
add_choose_eq
- Pochhammer API
References #
- [J. Elliott, Binomial rings, integer-valued polynomials, and λ-rings][elliott2006binomial]
TODO #
Further results in Elliot's paper:
- A CommRing is binomial if and only if it admits a λ-ring structure with trivial Adams operations.
- The free commutative binomial ring on a set
X
is the ring of integer-valued polynomials in the variablesX
. (also, noncommutative version?) - Given a commutative binomial ring
A
and anA
-algebraB
that is complete with respect to an idealI
, formal exponentiation induces anA
-module structure on the multiplicative subgroup1 + I
.
A binomial ring is a ring for which ascending Pochhammer evaluations are uniquely divisible by
suitable factorials. We define this notion as a mixin for additive commutative monoids with natural
number powers, but retain the ring name. We introduce Ring.multichoose
as the uniquely defined
quotient.
- multichoose : R → ℕ → R
A multichoose function, giving the quotient of Pochhammer evaluations by factorials.
- factorial_nsmul_multichoose (r : R) (n : ℕ) : n.factorial • multichoose r n = (ascPochhammer ℕ n).smeval r
The
n
th ascending Pochhammer polynomial evaluated at any element is divisible byn!
Instances
Alias of nsmul_right_injective
.
Alias of nsmul_right_inj
.
The multichoose function is the quotient of ascending Pochhammer evaluation by the corresponding
factorial. When applied to natural numbers, multichoose k n
describes choosing a multiset of n
items from a type of size k
, i.e., choosing with replacement.
Equations
Instances For
Equations
- Nat.instBinomialRing = { toIsAddTorsionFree := Nat.instBinomialRing._proof_2, multichoose := Nat.multichoose, factorial_nsmul_multichoose := Nat.instBinomialRing._proof_3 }
The multichoose function for integers.
Equations
- (Int.ofNat n_2).multichoose k = ↑((n_2 + k - 1).choose k)
- (Int.negSucc n_2).multichoose k = ↑(↑k).negOnePow * ↑((n_2 + 1).choose k)
Instances For
Equations
- Int.instBinomialRing = { toIsAddTorsionFree := Int.instBinomialRing._proof_5, multichoose := Int.multichoose, factorial_nsmul_multichoose := Int.instBinomialRing._proof_6 }
The binomial coefficient choose r n
generalizes the natural number Nat.choose
function,
interpreted in terms of choosing without replacement.
Equations
- Ring.choose r n = Ring.multichoose (r - ↑n + 1) n
Instances For
Pochhammer version of Chu-Vandermonde identity
The Chu-Vandermonde identity for binomial rings