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, 4, 5, 0)
After
Variance ORIGINAL nonnegative RAW weights sum = 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, S001
S003 · implies
Before
source roles = [[0, 1, 2, 3], powerset(S), [-8, -8, -4, 1001], [1, 4, 5, 0], 10, 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, -8)
After
Variance weight times transformed value i=0 = -8
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, -8, 1, null, null]
After
derived = [-8, 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, S004
S006 · calculation
Before
Variance weight times transformed value i=1 := mul(4, -8)
After
Variance weight times transformed value i=1 = -32
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, -8, 4, null, null]
After
derived = [-8, 2/5]
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(5, -4)
After
Variance weight times transformed value i=2 = -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, S007
S009 · implies
Before
source roles = [2, 2, -4, 5, null, null]
After
derived = [-4, 1/2]
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, 1001)
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, 1001, 0, null, null]
After
derived = [1001, 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(-8, -32, -20, 0)
After
Variance mean numerator sum wY = -60
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(-60, 10)
After
Variance exact expectation M over q = -6
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(-8, 10)
After
Variance i=0 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, S013
S015 · calculation
Before
Variance i=0 centered integer numerator := sub(-80, -60)
After
Variance i=0 centered integer numerator = -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, S014
S016 · calculation
Before
Variance i=0 centered numerator squared := mul(-20, -20)
After
Variance i=0 centered numerator 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, S015
S017 · calculation
Before
Variance i=0 weight times squared numerator := mul(1, 400)
After
Variance i=0 weight times squared numerator = 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, S016
S018 · calculation
Before
Variance i=1 Y times q := mul(-8, 10)
After
Variance i=1 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, S017
S019 · calculation
Before
Variance i=1 centered integer numerator := sub(-80, -60)
After
Variance i=1 centered integer numerator = -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, S018
S020 · calculation
Before
Variance i=1 centered numerator squared := mul(-20, -20)
After
Variance i=1 centered numerator 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, S019
S021 · calculation
Before
Variance i=1 weight times squared numerator := mul(4, 400)
After
Variance i=1 weight times squared numerator = 1600
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, 10)
After
Variance i=2 Y times q = -40
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(-40, -60)
After
Variance i=2 centered integer numerator = 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, S022
S024 · calculation
Before
Variance i=2 centered numerator squared := mul(20, 20)
After
Variance i=2 centered numerator 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, S023
S025 · calculation
Before
Variance i=2 weight times squared numerator := mul(5, 400)
After
Variance i=2 weight times squared numerator = 2000
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(1001, 10)
After
Variance i=3 Y times q = 10010
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(10010, -60)
After
Variance i=3 centered integer numerator = 10070
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(10070, 10070)
After
Variance i=3 centered numerator squared = 101404900
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, 101404900)
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(400, 1600, 2000, 0)
After
Variance sum ALL weighted squared numerators = 4000
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(10, 10)
After
Variance denominator q squared = 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, S030
S032 · calculation
Before
Variance denominator q cubed binary second factor := mul(100, 10)
After
Variance denominator q cubed binary second factor = 1000
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(4000, 1000)
After
Variance probability population centered sum over q cubed = 4
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 = [[-8, -8, -4, 1001], [1, 4, 5, 0], 10, -6, 4000, 1000]
After
derived = [4, [-8, -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 = [4]
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