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, 13, 6, 0)
After
Variance ORIGINAL nonnegative RAW weights sum = 20
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), [-17, -17, -4, 1010], [1, 13, 6, 0], 20, 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, -17)
After
Variance weight times transformed value i=0 = -17
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, -17, 1, null, null]
After
derived = [-17, 1/20]
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(13, -17)
After
Variance weight times transformed value i=1 = -221
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, -17, 13, null, null]
After
derived = [-17, 13/20]
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(6, -4)
After
Variance weight times transformed value i=2 = -24
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, -4, 6, null, null]
After
derived = [-4, 3/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, 1010)
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, 1010, 0, null, null]
After
derived = [1010, 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(-17, -221, -24, 0)
After
Variance mean numerator sum wY = -262
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(-262, 20)
After
Variance exact expectation M over q = -131/10
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(-17, 20)
After
Variance i=0 Y times q = -340
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(-340, -262)
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(-17, 20)
After
Variance i=1 Y times q = -340
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(-340, -262)
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(13, 6084)
After
Variance i=1 weight times squared numerator = 79092
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(-4, 20)
After
Variance i=2 Y times q = -80
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(-80, -262)
After
Variance i=2 centered integer numerator = 182
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(182, 182)
After
Variance i=2 centered numerator squared = 33124
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(6, 33124)
After
Variance i=2 weight times squared numerator = 198744
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(1010, 20)
After
Variance i=3 Y times q = 20200
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(20200, -262)
After
Variance i=3 centered integer numerator = 20462
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(20462, 20462)
After
Variance i=3 centered numerator squared = 418693444
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, 418693444)
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, 79092, 198744, 0)
After
Variance sum ALL weighted squared numerators = 283920
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(20, 20)
After
Variance denominator q squared = 400
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(400, 20)
After
Variance denominator q cubed binary second factor = 8000
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(283920, 8000)
After
Variance probability population centered sum over q cubed = 3549/100
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 = [[-17, -17, -4, 1010], [1, 13, 6, 0], 20, -131/10, 283920, 8000]
After
derived = [3549/100, [-17, -4], 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 = [3549/100]
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