Step-by-step derivation
S001 · implies
Before
source roles = [qf-variance-zero-support, [F, S, denominator, operation, values, weights]]
After
derived = [variance, zero_variance, null]
Conditions: none
Use THIS bank’s actual fields,operation/domain and types.BASE retains permissible extra metadata.Do not import LDL SAFE/set limits or a different bank’s deduplication rules.
Step identifiers and dependencies
Rule: R70_SOURCE_bank_specific_interface · Uses: G001
S002 · calculation
Before
Variance ORIGINAL nonnegative RAW weights sum := sum(1, 26, 3, 0)
After
Variance ORIGINAL nonnegative RAW weights sum = 30
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · implies
Before
source roles = [[0, 1, 2, 3], powerset(S), [14, 14, 40, 1023], [1, 26, 3, 0], 30, null, null]
After
derived = [Yes]
Conditions: none
Type ALL RAW values/weights EVEN at zero weight.S is nonempty/distinct,F is powerset(S),weights are nonnegative and sum to q>0.Keep values/weights aligned to ORIGINAL S slots;do not sort independently.Type RAW c/k as well.
Step identifiers and dependencies
Rule: Variance_WHOLE_normalized_model_ORIGINAL_slot_alignment · Uses: G001, S002
S004 · calculation
Before
Variance weight times transformed value i=0 := mul(1, 14)
After
Variance weight times transformed value i=0 = 14
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · implies
Before
source roles = [0, 0, 14, 1, null, null]
After
derived = [14, 1/30]
Conditions: none
For EACH ORIGINAL slot,set Y=X,X+c or kX while probability remains w/q.Derived values may exceed SAFE and are not recapped as RAW.Zero-weight slots remain in the source but contribute nothing.
Step identifiers and dependencies
Rule: Variance_EACH_slot_transformation_preserves_probability · Uses: G001, S004
S006 · calculation
Before
Variance weight times transformed value i=1 := mul(26, 14)
After
Variance weight times transformed value i=1 = 364
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
source roles = [1, 1, 14, 26, null, null]
After
derived = [14, 13/15]
Conditions: none
For EACH ORIGINAL slot,set Y=X,X+c or kX while probability remains w/q.Derived values may exceed SAFE and are not recapped as RAW.Zero-weight slots remain in the source but contribute nothing.
Step identifiers and dependencies
Rule: Variance_EACH_slot_transformation_preserves_probability · Uses: G001, S006
S008 · calculation
Before
Variance weight times transformed value i=2 := mul(3, 40)
After
Variance weight times transformed value i=2 = 120
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
source roles = [2, 2, 40, 3, null, null]
After
derived = [40, 1/10]
Conditions: none
For EACH ORIGINAL slot,set Y=X,X+c or kX while probability remains w/q.Derived values may exceed SAFE and are not recapped as RAW.Zero-weight slots remain in the source but contribute nothing.
Step identifiers and dependencies
Rule: Variance_EACH_slot_transformation_preserves_probability · Uses: G001, S008
S010 · calculation
Before
Variance weight times transformed value i=3 := mul(0, 1023)
After
Variance weight times transformed value i=3 = 0
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · implies
Before
source roles = [3, 3, 1023, 0, null, null]
After
derived = [1023, 0]
Conditions: none
For EACH ORIGINAL slot,set Y=X,X+c or kX while probability remains w/q.Derived values may exceed SAFE and are not recapped as RAW.Zero-weight slots remain in the source but contribute nothing.
Step identifiers and dependencies
Rule: Variance_EACH_slot_transformation_preserves_probability · Uses: G001, S010
S012 · calculation
Before
Variance mean numerator sum wY := sum(14, 364, 120, 0)
After
Variance mean numerator sum wY = 498
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Variance exact expectation M over q := div(498, 30)
After
Variance exact expectation M over q = 83/5
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
Variance i=0 Y times q := mul(14, 30)
After
Variance i=0 Y times q = 420
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
Variance i=0 centered integer numerator := sub(420, 498)
After
Variance i=0 centered integer numerator = -78
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
Variance i=0 centered numerator squared := mul(-78, -78)
After
Variance i=0 centered numerator squared = 6084
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
Variance i=0 weight times squared numerator := mul(1, 6084)
After
Variance i=0 weight times squared numerator = 6084
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
Variance i=1 Y times q := mul(14, 30)
After
Variance i=1 Y times q = 420
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
Variance i=1 centered integer numerator := sub(420, 498)
After
Variance i=1 centered integer numerator = -78
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
Variance i=1 centered numerator squared := mul(-78, -78)
After
Variance i=1 centered numerator squared = 6084
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
Variance i=1 weight times squared numerator := mul(26, 6084)
After
Variance i=1 weight times squared numerator = 158184
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
Variance i=2 Y times q := mul(40, 30)
After
Variance i=2 Y times q = 1200
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
Variance i=2 centered integer numerator := sub(1200, 498)
After
Variance i=2 centered integer numerator = 702
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
Variance i=2 centered numerator squared := mul(702, 702)
After
Variance i=2 centered numerator squared = 492804
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
Variance i=2 weight times squared numerator := mul(3, 492804)
After
Variance i=2 weight times squared numerator = 1478412
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
Variance i=3 Y times q := mul(1023, 30)
After
Variance i=3 Y times q = 30690
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
Variance i=3 centered integer numerator := sub(30690, 498)
After
Variance i=3 centered integer numerator = 30192
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
Variance i=3 centered numerator squared := mul(30192, 30192)
After
Variance i=3 centered numerator squared = 911556864
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
Variance i=3 weight times squared numerator := mul(0, 911556864)
After
Variance i=3 weight times squared numerator = 0
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
Variance sum ALL weighted squared numerators := sum(6084, 158184, 1478412, 0)
After
Variance sum ALL weighted squared numerators = 1642680
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
Variance denominator q squared := mul(30, 30)
After
Variance denominator q squared = 900
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
Variance denominator q cubed binary second factor := mul(900, 30)
After
Variance denominator q cubed binary second factor = 27000
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · calculation
Before
Variance probability population centered sum over q cubed := div(1642680, 27000)
After
Variance probability population centered sum over q cubed = 1521/25
Conditions: none
This step displays the exact original operands and operation.Mul/sub/div have EXACTLY TWO inputs.Keep rational values exact and derived BigInts unbounded;do not force an answer by approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · implies
Before
source roles = [[14, 14, 40, 1023], [1, 26, 3, 0], 30, 83/5, 1642680, 27000]
After
derived = [1521/25, [14, 40], No]
Conditions: none
E[Y]=M/q and Var=Σ(w/q)(Y−M/q)²=C/q³.Every term is nonnegative,so the sum is0 exactly when EVERY positive-weight Y equals the mean,equivalently constancy on positive support.Zero-weight values may differ.This is NOT n−1 sample variance.
Step identifiers and dependencies
Rule: Variance_CENTERED_definition_and_positive_support_zero_equivalence · Uses: G001, S033
S035 · implies
Before
source roles = [zero_variance, null, null]
After
derived = [1521/25]
Conditions: none
Under a shift,the mean also shifts by c,leaving deviations unchanged.Under scaling,the mean scales by k and squared deviations by k²,including negative/zero k.The ACTUAL Y values were fully recomputed;the law does not excuse untyped c/k.
Step identifiers and dependencies
Rule: Variance_SHIFT_SCALE_law_with_conditions · Uses: G001, S034