R0057-29192 · q-20261013-advance-20261022-r07-finite-discrete-probability-distribution-0092
Step-by-step derivation
S001 · implies
Before
source roles = [qf-str22-distribution-pushforward, distribution-pushforward]
After
derived = [[outcomes, masses, images, pushforward_rows]]
Conditions: none
Use this bank exact ordered tuple and hyphenated operation.Rational outputs reduce with positive denominators and OMIT/1 for integers,unlike the preceding legacy bank.Do not change original bilingual snapshots or meaning.
Step identifiers and dependencies
Rule: STR22_exact_interface_and_source_ORDERED_tuple_roles · Uses: G001
S002 · implies
Before
source roles = [PMF raw mass slot0, [1, 4]]
After
derived = [1/4, 1, 4]
Conditions: none
A raw rational is a PAIR with each component within±1e6 and nonzero denominator.Normalize denominator sign and gcd.Do not accept a scalar or reduce before checking the RAW input bounds.
Step identifiers and dependencies
Rule: STR22_RAW_rational_PAIR_profile_and_sign_gcd_normalization · Uses: G001, S001
S003 · implies
Before
source roles = [PMF raw mass slot1, [1, 4]]
After
derived = [1/4, 1, 4]
Conditions: none
A raw rational is a PAIR with each component within±1e6 and nonzero denominator.Normalize denominator sign and gcd.Do not accept a scalar or reduce before checking the RAW input bounds.
Step identifiers and dependencies
Rule: STR22_RAW_rational_PAIR_profile_and_sign_gcd_normalization · Uses: G001, S002
S004 · implies
Before
source roles = [PMF raw mass slot2, [1, 2]]
After
derived = [1/2, 1, 2]
Conditions: none
A raw rational is a PAIR with each component within±1e6 and nonzero denominator.Normalize denominator sign and gcd.Do not accept a scalar or reduce before checking the RAW input bounds.
Step identifiers and dependencies
Rule: STR22_RAW_rational_PAIR_profile_and_sign_gcd_normalization · Uses: G001, S003
S005 · calculation
Before
PMF ORIGINAL normalization running sum0 := sum(0, 1/4)
After
PMF ORIGINAL normalization running sum0 = 1/4
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · implies
Before
source roles = [PMF ORIGINAL normalization running sum0, sum, [0, 1/4]]
After
derived = [[1], [1, 4], 1/4]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S005
S007 · calculation
Before
PMF ORIGINAL normalization running sum1 := sum(1/4, 1/4)
After
PMF ORIGINAL normalization running sum1 = 1/2
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · implies
Before
source roles = [PMF ORIGINAL normalization running sum1, sum, [1/4, 1/4]]
After
derived = [[4], [2, 4], 1/2]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S007
S009 · calculation
Before
PMF ORIGINAL normalization running sum2 := sum(1/2, 1/2)
After
PMF ORIGINAL normalization running sum2 = 1
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
source roles = [PMF ORIGINAL normalization running sum2, sum, [1/2, 1/2]]
After
derived = [[2], [2, 2], 1]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S009
S011 · implies
Before
source roles = [[16, 17, 19], [1/4, 1/4, 1/2]]
After
derived = [[[16, 1/4], [17, 1/4], [19, 1/2]], Yes, 1, Yes, Yes]
Conditions: none
Preserve ORIGINAL outcome-mass slot alignment and sum every mass in original order.Nonnegativity and total1 are separate obligations.Qualification may legally be No;do not renormalize or clip negative masses.
Step identifiers and dependencies
Rule: PMF_ALL_original_outcome_mass_alignment_NONNEG_AND_EXACTsum1 · Uses: G001, S010
S012 · calculation
Before
PMF ORIGINAL pushforward slot0 image1 := sum(0, 1/4)
After
PMF ORIGINAL pushforward slot0 image1 = 1/4
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · implies
Before
source roles = [PMF ORIGINAL pushforward slot0 image1, sum, [0, 1/4]]
After
derived = [[1], [1, 4], 1/4]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S012
S014 · calculation
Before
PMF ORIGINAL pushforward slot1 image2 := sum(0, 1/4)
After
PMF ORIGINAL pushforward slot1 image2 = 1/4
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · implies
Before
source roles = [PMF ORIGINAL pushforward slot1 image2, sum, [0, 1/4]]
After
derived = [[1], [1, 4], 1/4]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S014
S016 · calculation
Before
PMF ORIGINAL pushforward slot2 image1 := sum(1/4, 1/2)
After
PMF ORIGINAL pushforward slot2 image1 = 3/4
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · implies
Before
source roles = [PMF ORIGINAL pushforward slot2 image1, sum, [1/4, 1/2]]
After
derived = [[2], [3, 4], 3/4]
Conditions: none
SOURCE addition first uses denominator gcd;multiplication cross-cancels.Then BOTH raw result components must be within1e6 BEFORE final reduction.Division also checks the nonzero reciprocal.Do not apply an uncancelled-product profile or reduce the final result before the raw gate.
Step identifiers and dependencies
Rule: STR22_EACH_SOURCE_rational_gcd_cross_cancel_THEN_RAW_gate · Uses: G001, S016
S018 · implies
Before
source roles = [[16, 17, 19], [1/4, 1/4, 1/2], [1, 2, 1]]
After
derived = [[[1, 3/4], [2, 1/4]]]
Conditions: none
P(f(Y)=z)=sum_{i:f(y_i)=z}p_i.Add each ORIGINAL slot mass exactly once into its COMPLETE fibre,then sort image rows numerically.Retain a row even if its combined mass is0;do not alter pairing or keep only positive support.
Step identifiers and dependencies
Rule: PMF_pushforward_ALL_fibres_ORIGINAL_alignment_ZERO_rows_retained · Uses: G001, S017