Step-by-step derivation
S001 · implies
Before
source roles = [qf-permutation-exact-count, [k, n, operation]]
After
derived = [permutation, no-invented-domain]
Conditions: none
Check THIS bank’s keys/operation/domain:legacy table underscores,MOD50 local hyphens;permissive BASE data acquires no unknown-field restriction.Keep Number.isInteger and SAFE source guards distinct,while preserving ORIGINAL JSON number representations.
Step identifiers and dependencies
Rule: R67_SOURCE_specific_keys_operation_domain_and_numeric_bank · Uses: G001
S002 · implies
Before
source roles = [7, 7]
After
derived = [[7, 6, 5, 4, 3, 2, 1], 1]
Conditions: none
Choose ordered positions from n DISTINCT objects WITHOUT replacement.Position i has n−i+1 choices.For k=0,the empty selection counts ONCE and the product starts at1.THIS bank permits n≤200,not another bank’s32/64 cap.
Step identifiers and dependencies
Rule: Selection_DISTINCT_no_replacement_order_and_EMPTY_convention · Uses: G001, S001
S003 · calculation
Before
Permutation ORIGINAL available choices position1 := mul(1, 7)
After
Permutation ORIGINAL available choices position1 = 7
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
Permutation ORIGINAL available choices position2 := mul(7, 6)
After
Permutation ORIGINAL available choices position2 = 42
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
Permutation ORIGINAL available choices position3 := mul(42, 5)
After
Permutation ORIGINAL available choices position3 = 210
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Permutation ORIGINAL available choices position4 := mul(210, 4)
After
Permutation ORIGINAL available choices position4 = 840
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
Permutation ORIGINAL available choices position5 := mul(840, 3)
After
Permutation ORIGINAL available choices position5 = 2520
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
Permutation ORIGINAL available choices position6 := mul(2520, 2)
After
Permutation ORIGINAL available choices position6 = 5040
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
Permutation ORIGINAL available choices position7 := mul(5040, 1)
After
Permutation ORIGINAL available choices position7 = 5040
Conditions: none
Calculate exactly from ORIGINAL ordered operands.Legacy derived integers are not recapped at the RAW SAFE bound;MOD50 rationals separately retain the NAIVE pre-reduction source envelope.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
source roles = [7, 7]
After
derived = [5040]
Conditions: none
The multiplication principle combines ALL k position counts,giving P(n,k)=n!/(n−k)!.This is a count,not probability.The empty product is1 and derived BigInts are not truncated to SAFE.
Step identifiers and dependencies
Rule: Selection_ALL_ordered_choices_falling_product · Uses: G001, S009