Step-by-step derivation
S001 · implies
Before
N includes0;F(0)=1;F(j)=j·F(j−1)
After
exact integer products,not floating values or a permutation proof
Conditions: none
Use empty product1 and integer factor multiplication,retaining large values exactly.This finite recurrence audit is not a general proof of permutation counting.
Step identifiers and dependencies
Rule: exact_factorial_protocol · Uses: G001
S002 · implies
Before
actual factorial:start at F(0)
After
F(0)=1
Conditions: none
The product of zero factors is1,not0;this is the successor recurrence's base.
Step identifiers and dependencies
Rule: factorial_empty_product_base · Uses: G001, S001
S003 · calculation
Before
actual factorial through factor1 := mul(1, 1)
After
actual factorial through factor1 = 1
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
actual factorial through factor2 := mul(1, 2)
After
actual factorial through factor2 = 2
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
actual factorial through factor3 := mul(2, 3)
After
actual factorial through factor3 = 6
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
actual factorial through factor4 := mul(6, 4)
After
actual factorial through factor4 = 24
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
actual factorial through factor5 := mul(24, 5)
After
actual factorial through factor5 = 120
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
actual factorial through factor6 := mul(120, 6)
After
actual factorial through factor6 = 720
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
actual factorial through factor7 := mul(720, 7)
After
actual factorial through factor7 = 5040
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
actual factorial through factor8 := mul(5040, 8)
After
actual factorial through factor8 = 40320
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
actual factorial through factor9 := mul(40320, 9)
After
actual factorial through factor9 = 362880
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
actual factorial through factor10 := mul(362880, 10)
After
actual factorial through factor10 = 3628800
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
actual factorial through factor11 := mul(3628800, 11)
After
actual factorial through factor11 = 39916800
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
actual factorial through factor12 := mul(39916800, 12)
After
actual factorial through factor12 = 479001600
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
actual factorial through factor13 := mul(479001600, 13)
After
actual factorial through factor13 = 6227020800
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
actual factorial through factor14 := mul(6227020800, 14)
After
actual factorial through factor14 = 87178291200
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
actual factorial through factor15 := mul(87178291200, 15)
After
actual factorial through factor15 = 1307674368000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
actual factorial through factor16 := mul(1307674368000, 16)
After
actual factorial through factor16 = 20922789888000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
actual factorial through factor17 := mul(20922789888000, 17)
After
actual factorial through factor17 = 355687428096000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
actual factorial through factor18 := mul(355687428096000, 18)
After
actual factorial through factor18 = 6402373705728000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
actual factorial through factor19 := mul(6402373705728000, 19)
After
actual factorial through factor19 = 121645100408832000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
actual factorial through factor20 := mul(121645100408832000, 20)
After
actual factorial through factor20 = 2432902008176640000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
actual factorial through factor21 := mul(2432902008176640000, 21)
After
actual factorial through factor21 = 51090942171709440000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
actual factorial through factor22 := mul(51090942171709440000, 22)
After
actual factorial through factor22 = 1124000727777607680000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
actual factorial through factor23 := mul(1124000727777607680000, 23)
After
actual factorial through factor23 = 25852016738884976640000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
actual factorial through factor24 := mul(25852016738884976640000, 24)
After
actual factorial through factor24 = 620448401733239439360000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
actual factorial through factor25 := mul(620448401733239439360000, 25)
After
actual factorial through factor25 = 15511210043330985984000000
Conditions: none
Multiply the preceding factorial by the new positive integer factor,retaining every exact intermediate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
single-factor-omitted product := div(15511210043330985984000000, 24)
After
single-factor-omitted product = 646300418472124416000000
Conditions: none
The nonzero k occurs exactly once in the1,...,n factor list;removing that factor gives n!/k.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
restore omitted factor := mul(24, 646300418472124416000000)
After
restore omitted factor = 15511210043330985984000000
Conditions: none
Multiply the same k back to audit the complete product.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
restored product minus factorial := sub(15511210043330985984000000, 15511210043330985984000000)
After
restored product minus factorial = 0
Conditions: none
Restored product minus the true factorial must be0.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · implies
Before
removed factor k=24;full n!=15511210043330985984000000
After
omitted product=646300418472124416000000;restoration residual=0
Conditions: none
Omit the designated factor once,not every factor divisible by k;check by exact positive-integer division and reverse multiplication.
Step identifiers and dependencies
Rule: single_factor_removal_reverse_audit · Uses: G001, S030