Alphabeta Math
DefinitionDefinition: AI-adaptedProof: AI-generatedverified 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! and the falling factorial nk‾, defined by recursion in N

Definition

The factorial. By the recursion theorem (The recursion theorem) applied to the set N×N, the starting element (0,1) and the function f(k,v)=(σ(k), v⋅σ(k)), and by the same induction on the first coordinate as in Finite sums and finite products of natural numbers, ∑k<nak and ∏k<nak in N, there is a unique F:N→N with

F(0)=1,F(σ(n))=F(n)⋅σ(n)(n∈N).

We write n!:=F(n). Thus 0!=1, 1!=0!⋅1=1, 2!=1!⋅2=2, 3!=6, 4!=24, 5!=120, 6!=720.

0!=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, n−k is the operation fixed in Finite sums and finite products of natural numbers, ∑k<nak and ∏k<nak in N: the unique j with k+j=n when k≤n, and 0 when n<k.

The falling factorial. For n∈N define nk‾ by recursion on k, by the recursion theorem applied to N×N with starting element (0,1) and f(k,v)=(σ(k), v⋅(n−k)):

n0‾=1,nσ(k)‾=nk‾⋅(n−k).

So n1‾=1⋅(n−0)=n and n2‾=n (n−1), and for k≤n the value is the product n(n−1)⋯(n−k+1) of the k topmost factors.

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

(a) The factorial is the product of the first n positive naturals. n!=∏j<nσ(j)=∏j<n(j+1), the N-valued product of Finite sums and finite products of natural numbers, ∑k<nak and ∏k<nak in N. Induction (The principle of mathematical induction): at n=0 both sides are 1, the empty product and the base clause agreeing; and ∏j<σ(n)σ(j)=(∏j<nσ(j))⋅σ(n)=n!⋅σ(n)=σ(n)!. So the empty-product reading and the base-clause reading are the same reading, and neither was assumed.

(b) n!≠0, and ι(n!)=∏j<nRι(j+1). For the first, 0!=1≠0 (The von Neumann naturals form a Peano system) and σ(n)!=n!⋅σ(n) is a product of two nonzero naturals, which is nonzero: if xy=0 with y≠0 then xy=0⋅y (Zero and one under multiplication) and cancellation gives x=0 (Cancellation for multiplication by a nonzero factor). So n!≠0 for every n 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) used elsewhere in the library one object seen twice, rather than two unrelated notions.

(c) nk‾⋅(n−k)!=n! for k≤n. Induction on k, for all n at once. At k=0 this reads 1⋅n!=n!. Assume it at k and let σ(k)≤n; then k≤n, and writing d:=n−k we have k+d=n and d≠0, since k+0=k≠n; so d=σ(e) for a unique e (Every nonzero natural number is a successor), and σ(k)+e=n, that is e=n−σ(k) (Addition is cancellative). Therefore nσ(k)‾⋅(n−σ(k))!=nk‾⋅(n−k)⋅e!=nk‾⋅(e!⋅σ(e))=nk‾⋅σ(e)!=nk‾⋅(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‾=1 for every n, by the base clause; nn‾=n!, since clause (c) at k=n gives nn‾⋅0!=n! and 0!=1; and nk‾=0 whenever k>n. For the last, n−n=0 gives nσ(n)‾=nn‾⋅0=0, the clause x⋅0=0 being definitional (Multiplication of natural numbers), and if nk‾=0 then nσ(k)‾=0 as well, so nk‾=0 for every k≥σ(n) by induction.

Remarks

  • Why 0!=1 is not imported. The empty-product convention of an arbitrary monoid is fixed in The product g0g1⋯gn−1 of a finite list in a monoid, by recursion, with the empty product (n=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!=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 x, xk/k!→0 ↗, later in the reading order, works with a real-valued factorial defined as the product ∏j<n(j+1) in R. Clause (b) says that this is exactly ι(n!), so the two agree and no second notion has been created. That pointer is orientation only.

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

Depends on

Used by

…and 57 more results.

Dependency tree · two levels

35 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.

Sources