Alphabeta Math
DefinitionDefinition: AI-adaptedProof: AI-generatedSession-authored (Fable 5 assisted)verified 2026-08-02 (claude-opus-5)
How statement and proof provenance work

The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.

  • Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
  • AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
  • AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.

These labels describe origin, not correctness: citations and verification chips remain separate evidence.

The factorial n!n! and the falling factorial nkn^{\underline{k}}, defined by recursion in N\mathbb{N}

Definition

The factorial. By the recursion theorem (The recursion theorem) applied to the set N×N\mathbb{N}\times\mathbb{N}, the starting element (0,1)(0,1) and the function f(k,v)=(σ(k),vσ(k))f(k, v) = (\sigma(k),\, v \cdot \sigma(k)), and by the same induction on the first coordinate as in Finite sums and finite products of natural numbers, k<nak\sum_{k<n} a_k and k<nak\prod_{k<n} a_k in N\mathbb{N}, there is a unique F:NNF : \mathbb{N} \to \mathbb{N} with

F(0)=1,F(σ(n))=F(n)σ(n)(nN).F(0) = 1, \qquad F(\sigma(n)) = F(n)\cdot\sigma(n) \quad (n \in \mathbb{N}).

We write n!:=F(n)n! := F(n). Thus 0!=10! = 1, 1!=0!1=11! = 0!\cdot 1 = 1, 2!=1!2=22! = 1!\cdot 2 = 2, 3!=63! = 6, 4!=244! = 24, 5!=1205! = 120, 6!=7206! = 720.

0!=10! = 1 is the base clause of this recursion, not a convention imported from elsewhere. Nothing about empty products is presupposed; the agreement with the empty product is proved below, in clause (a), rather than assumed.

Truncated difference. Throughout, nkn - k is the operation fixed in Finite sums and finite products of natural numbers, k<nak\sum_{k<n} a_k and k<nak\prod_{k<n} a_k in N\mathbb{N}: the unique jj with k+j=nk + j = n when knk \le n, and 00 when n<kn < k.

The falling factorial. For nNn \in \mathbb{N} define nkn^{\underline{k}} by recursion on kk, by the recursion theorem applied to N×N\mathbb{N}\times\mathbb{N} with starting element (0,1)(0,1) and f(k,v)=(σ(k),v(nk))f(k, v) = (\sigma(k),\, v \cdot (n-k)):

n0=1,nσ(k)=nk(nk).n^{\underline{0}} = 1, \qquad n^{\underline{\sigma(k)}} = n^{\underline{k}}\cdot(n-k) .

So n1=1(n0)=nn^{\underline{1}} = 1\cdot(n-0) = n and n2=n(n1)n^{\underline{2}} = n\,(n-1), and for knk \le n the value is the product n(n1)(nk+1)n(n-1)\cdots(n-k+1) of the kk topmost factors.

Four facts, proved here because the page uses each of them.

(a) The factorial is the product of the first nn positive naturals. n!=j<nσ(j)=j<n(j+1)n! = \prod_{j<n}\sigma(j) = \prod_{j<n}(j+1), the N\mathbb{N}-valued product of Finite sums and finite products of natural numbers, k<nak\sum_{k<n} a_k and k<nak\prod_{k<n} a_k in N\mathbb{N}. Induction (The principle of mathematical induction): at n=0n = 0 both sides are 11, the empty product and the base clause agreeing; and j<σ(n)σ(j)=(j<nσ(j))σ(n)=n!σ(n)=σ(n)!\prod_{j<\sigma(n)}\sigma(j) = \big(\prod_{j<n}\sigma(j)\big)\cdot\sigma(n) = n!\cdot\sigma(n) = \sigma(n)!. So the empty-product reading and the base-clause reading are the same reading, and neither was assumed.

(b) n!0n! \ne 0, and ι(n!)=j<nRι(j+1)\iota(n!) = \prod^{\mathbb{R}}_{j<n}\iota(j+1). For the first, 0!=100! = 1 \ne 0 (The von Neumann naturals form a Peano system) and σ(n)!=n!σ(n)\sigma(n)! = n!\cdot\sigma(n) is a product of two nonzero naturals, which is nonzero: if xy=0xy = 0 with y0y \ne 0 then xy=0yxy = 0\cdot y (Zero and one under multiplication) and cancellation gives x=0x = 0 (Cancellation for multiplication by a nonzero factor). So n!0n! \ne 0 for every nn by induction. For the second, apply the bridge clause 6 of that lemma to clause (a) above. This is what makes the factorial of this page and the real-valued product j<n(j+1)\prod_{j<n}(j+1) used elsewhere in the library one object seen twice, rather than two unrelated notions.

(c) nk(nk)!=n!n^{\underline{k}}\cdot(n-k)! = n! for knk \le n. Induction on kk, for all nn at once. At k=0k = 0 this reads 1n!=n!1 \cdot n! = n!. Assume it at kk and let σ(k)n\sigma(k) \le n; then knk \le n, and writing d:=nkd := n - k we have k+d=nk + d = n and d0d \ne 0, since k+0=knk + 0 = k \ne n; so d=σ(e)d = \sigma(e) for a unique ee (Every nonzero natural number is a successor), and σ(k)+e=n\sigma(k) + e = n, that is e=nσ(k)e = n - \sigma(k) (Addition is cancellative). Therefore nσ(k)(nσ(k))!=nk(nk)e!=nk(e!σ(e))=nkσ(e)!=nk(nk)!=n!n^{\underline{\sigma(k)}}\cdot\big(n-\sigma(k)\big)! = n^{\underline{k}}\cdot(n-k)\cdot e! = n^{\underline{k}}\cdot\big(e!\cdot\sigma(e)\big) = n^{\underline{k}}\cdot\sigma(e)! = n^{\underline{k}}\cdot(n-k)! = n!, using commutativity and associativity of multiplication (Multiplication is associative, Multiplication is commutative) and the recursion clause for the factorial.

(d) Boundary values. n0=1n^{\underline{0}} = 1 for every nn, by the base clause; nn=n!n^{\underline{n}} = n!, since clause (c) at k=nk = n gives nn0!=n!n^{\underline{n}}\cdot 0! = n! and 0!=10! = 1; and nk=0n^{\underline{k}} = 0 whenever k>nk > n. For the last, nn=0n - n = 0 gives nσ(n)=nn0=0n^{\underline{\sigma(n)}} = n^{\underline{n}}\cdot 0 = 0, the clause x0=0x \cdot 0 = 0 being definitional (Multiplication of natural numbers), and if nk=0n^{\underline{k}} = 0 then nσ(k)=0n^{\underline{\sigma(k)}} = 0 as well, so nk=0n^{\underline{k}} = 0 for every kσ(n)k \ge \sigma(n) by induction.

Remarks

  • Why 0!=10! = 1 is not imported. The empty-product convention of an arbitrary monoid is fixed in The product g0g1gn1g_0 g_1 \cdots g_{n-1} of a finite list in a monoid, by recursion, with the empty product (n=0n = 0) equal to the identity , which comes later in the reading order, so citing it here would be a dependency pointing the wrong way. Taking 0!=10! = 1 as the base clause of the factorial's own recursion costs nothing and owes nothing, and clause (a) then records the agreement.

  • The library's other factorial. For every real xx, xk/k!0x^k/k! \to 0 , later in the reading order, works with a real-valued factorial defined as the product j<n(j+1)\prod_{j<n}(j+1) in R\mathbb{R}. Clause (b) says that this is exactly ι(n!)\iota(n!), so the two agree and no second notion has been created. That pointer is orientation only.

  • Check every clause at k=0k = 0 and at k=nk = n. The falling factorial is defined by two regimes, one for knk \le n and one beyond, and the recursion above covers both because the truncated difference is 00 past the end. The two values that get used constantly are n0=1n^{\underline{0}} = 1 and nn=n!n^{\underline{n}} = n!, and both are clause (d).

Depends on

Used by

…and 10 more results.

Dependency tree · next 3 levels

Direct dependencies and their dependencies through the next three levels: 52 results over 17 levels. An arrow runs from a result to what uses it, and this result sits at the bottom with a heavier outline. Click the chart to enlarge it.

Sources