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
lo=0;hi=20;window factors=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
After
hi!/lo! is the product of exactly these factors
Conditions: none
The positive integer lo! permits cancellation of the common prefix;when lo=hi,no factors remain and the quotient is1.
Step identifiers and dependencies
Rule: factorial_positive_prefix_cancellation · Uses: G001, S001
S003 · calculation
Before
window through factor1 := mul(1, 1)
After
window through factor1 = 1
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
window through factor2 := mul(1, 2)
After
window through factor2 = 2
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
window through factor3 := mul(2, 3)
After
window through factor3 = 6
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
window through factor4 := mul(6, 4)
After
window through factor4 = 24
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
window through factor5 := mul(24, 5)
After
window through factor5 = 120
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
window through factor6 := mul(120, 6)
After
window through factor6 = 720
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
window through factor7 := mul(720, 7)
After
window through factor7 = 5040
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
window through factor8 := mul(5040, 8)
After
window through factor8 = 40320
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
window through factor9 := mul(40320, 9)
After
window through factor9 = 362880
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
window through factor10 := mul(362880, 10)
After
window through factor10 = 3628800
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
window through factor11 := mul(3628800, 11)
After
window through factor11 = 39916800
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
window through factor12 := mul(39916800, 12)
After
window through factor12 = 479001600
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
window through factor13 := mul(479001600, 13)
After
window through factor13 = 6227020800
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
window through factor14 := mul(6227020800, 14)
After
window through factor14 = 87178291200
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
window through factor15 := mul(87178291200, 15)
After
window through factor15 = 1307674368000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
window through factor16 := mul(1307674368000, 16)
After
window through factor16 = 20922789888000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
window through factor17 := mul(20922789888000, 17)
After
window through factor17 = 355687428096000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
window through factor18 := mul(355687428096000, 18)
After
window through factor18 = 6402373705728000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
window through factor19 := mul(6402373705728000, 19)
After
window through factor19 = 121645100408832000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
window through factor20 := mul(121645100408832000, 20)
After
window through factor20 = 2432902008176640000
Conditions: none
Multiply only factors from lo+1 through hi,without outside factors.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
Result
(2432902008176640000, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], No)
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.