Step-by-step derivation
S001 · implies
Before
source roles = [qf-factorial-missing-successor-factor, no-domain-field, missing_successor_factor, no-form-field]
After
derived = [[exact_integer_STRING]]
Conditions: none
Check THIS bank interface:BASE equations use form/domain;BASE events/complement have no operation;factorials have no domain.ext18 uses local hyphens,other legacy operations underscores.Do not force every answer into a tuple or fraction.
Step identifiers and dependencies
Rule: R62_EXACT_source_keys_domain_operation_form_AND_output_types · Uses: G001
S002 · calculation
Before
Factorial requested n ORIGINAL factorial factor2 := mul(1, 2)
After
Factorial requested n ORIGINAL factorial factor2 = 2
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · calculation
Before
Factorial requested n ORIGINAL factorial factor3 := mul(2, 3)
After
Factorial requested n ORIGINAL factorial factor3 = 6
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
Factorial requested n ORIGINAL factorial factor4 := mul(6, 4)
After
Factorial requested n ORIGINAL factorial factor4 = 24
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
Factorial requested n ORIGINAL factorial factor5 := mul(24, 5)
After
Factorial requested n ORIGINAL factorial factor5 = 120
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Factorial requested n ORIGINAL factorial factor6 := mul(120, 6)
After
Factorial requested n ORIGINAL factorial factor6 = 720
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
Factorial requested n ORIGINAL factorial factor7 := mul(720, 7)
After
Factorial requested n ORIGINAL factorial factor7 = 5040
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
Factorial requested n ORIGINAL factorial factor8 := mul(5040, 8)
After
Factorial requested n ORIGINAL factorial factor8 = 40320
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
Factorial requested n ORIGINAL factorial factor9 := mul(40320, 9)
After
Factorial requested n ORIGINAL factorial factor9 = 362880
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
Factorial requested n ORIGINAL factorial factor10 := mul(362880, 10)
After
Factorial requested n ORIGINAL factorial factor10 = 3628800
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
Factorial requested n ORIGINAL factorial factor11 := mul(3628800, 11)
After
Factorial requested n ORIGINAL factorial factor11 = 39916800
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
Factorial requested n ORIGINAL factorial factor12 := mul(39916800, 12)
After
Factorial requested n ORIGINAL factorial factor12 = 479001600
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Factorial requested n ORIGINAL factorial factor13 := mul(479001600, 13)
After
Factorial requested n ORIGINAL factorial factor13 = 6227020800
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
Factorial requested n ORIGINAL factorial factor14 := mul(6227020800, 14)
After
Factorial requested n ORIGINAL factorial factor14 = 87178291200
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
Factorial requested n ORIGINAL factorial factor15 := mul(87178291200, 15)
After
Factorial requested n ORIGINAL factorial factor15 = 1307674368000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
Factorial requested n ORIGINAL factorial factor16 := mul(1307674368000, 16)
After
Factorial requested n ORIGINAL factorial factor16 = 20922789888000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
Factorial requested n ORIGINAL factorial factor17 := mul(20922789888000, 17)
After
Factorial requested n ORIGINAL factorial factor17 = 355687428096000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
Factorial requested n ORIGINAL factorial factor18 := mul(355687428096000, 18)
After
Factorial requested n ORIGINAL factorial factor18 = 6402373705728000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
Factorial requested n ORIGINAL factorial factor19 := mul(6402373705728000, 19)
After
Factorial requested n ORIGINAL factorial factor19 = 121645100408832000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
Factorial requested n ORIGINAL factorial factor20 := mul(121645100408832000, 20)
After
Factorial requested n ORIGINAL factorial factor20 = 2432902008176640000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · implies
Before
source roles = [Factorial requested n, 20]
After
derived = [2432902008176640000]
Conditions: none
Factorial multiplies the COMPLETE2..n factors;at n0/1 the empty product is1.Use arbitrary-precision integers,not Number/scientific notation or another family n64 cap.
Step identifiers and dependencies
Rule: Factorial_COMPLETE_product_EMPTY0and1_are1_not_input_n64_cap · Uses: G001, S020
S022 · implies
Before
source roles = [20, 2432902008176640000]
After
derived = [2432902008176640000]
Conditions: none
Recompute the WHOLE n! and compare the GIVEN decimal STRING first;do not treat an unchecked hint as an answer oracle.Require the exact string,retaining every digit.
Step identifiers and dependencies
Rule: Factorial_GIVEN_nfactorial_STRING_verified_not_assumed · Uses: G001, S021
S023 · calculation
Before
Factorial ORIGINAL successor index n plus1 := sum(20, 1)
After
Factorial ORIGINAL successor index n plus1 = 21
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
Factorial ORIGINAL successor factor times verified n factorial := mul(21, 2432902008176640000)
After
Factorial ORIGINAL successor factor times verified n factorial = 51090942171709440000
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
Factorial missing ORIGINAL verified successor over positive n factorial := div(51090942171709440000, 2432902008176640000)
After
Factorial missing ORIGINAL verified successor over positive n factorial = 21
Conditions: none
Use ORIGINAL operands and declared order for exact integer/rational arithmetic,not floats.Bounds are family-specific:do not revalidate derived values as RAW inputs or add blanket SAFE/n64 caps to BASE families.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · implies
Before
source roles = [20, 2432902008176640000, 51090942171709440000]
After
derived = [21]
Conditions: none
Since n!>0 and the GIVEN(n+1)!was also checked by the complete product/recurrence,□n!=(n+1)! uniquely gives□=n+1.Do not trust an unchecked successor hint.
Step identifiers and dependencies
Rule: Factorial_MISSING_factor_BOTH_strings_verified_positive_divisor · Uses: G001, S025