SPB Git

spb/wp29_uqo

Public

# Report — F5-conf-03: sums of normally distributed random variables

# Question

Two propositions (data/propositions.csv): A — if X and Y are each normal, X + Y is normal (a constant counts as normal); B — if X and Y are independent and each normal, X + Y is normal. For each we decide true/false by mathematical argument (full argument in out/argument.md), and for a false proposition we give a concrete counterexample with a simulated sample.

# Data and exclusions

Inputs: data/propositions.csv (2 rows) and data/design.csv (2 rows: seed 20261029, n 100000) (n_input_rows, random_seed). SHA-256 hashes match the bundle manifest (out/state/data_audit.md). No missing values, duplicates or anomalies (data_issues = []). No rows excluded (out/exclusions.csv: 2 − 0 = 2).

# Method

  • B: characteristic-function proof (product of normal CFs is a normal CF; uniqueness theorem).
  • A: counterexample X ~ N(0,1), S an independent fair random sign, Y = S·X (counterexample_values.construction). Y ~ N(0,1) by symmetry; X + Y = (1+S)X equals 0 with probability 1/2 and is N(0,4) otherwise, a law with an atom that is not a point mass, so it is neither a non-degenerate nor a degenerate normal. Y = −X was rejected because its sum is the constant 0, which the statement counts as normal.
  • Numerical illustration: out/analysis.py draws X then S from numpy.random.default_rng(20261029), n = 100000, writes out/counterexample.csv, and computes sample means/SDs (ddof = 1) and the one-sample Kolmogorov–Smirnov distance between each variable and a normal with its own sample mean and SD. Baseline with the same KS rule: X plus a further independent N(0,1) draw (the setting of proposition B).

# Results

  • Proposition A is false (statement_true = false); a concrete counterexample is provided (counterexample_provided = true).
  • Proposition B is true (statement_b_true = true).
  • Simulated counterexample (n = 100000, n_analysed): mean_x = −0.0033, sd_x = 0.9982; mean_y = −0.0002, sd_y = 0.9982 (counterexample_values.mean_x, .sd_x, .mean_y, .sd_y), as expected for N(0,1) marginals. Marginal KS distances are 0.0021 and 0.0020 (ks_x_vs_normal, ks_y_vs_normal).
  • Sum: mean_sum = −0.0036, sd_sum = 1.4059 (counterexample_values.mean_sum, .sd_sum; theory: 0 and √2 ≈ 1.414). The fraction of exactly-zero sums is 0.50047 (frac_sum_exactly_zero; theory 1/2). The KS distance of the sum from its fitted normal is 0.2508 (counterexample_values.ks_sum_vs_normal; population value 0.25).
  • Baseline: for an independent sum the same KS distance is 0.0018 (baseline_ks_sum_independent), which matches B.
  • For scale, the nominal 1% KS critical value 1.628/√n is 0.0051 (ks_critical_value_alpha_0_01). The sum's KS distance is about 50 times that value. The marginal and baseline distances fall below it.

# Uncertainty

The verdicts come from proofs and carry no sampling uncertainty. The numbers in the simulation do: sample means and SDs differ from their theoretical values by roughly 1/√n ≈ 0.003. The nominal KS critical value treats the normal's parameters as known. Here they are estimated (a Lilliefors setting), so the nominal value is conservative. That does not change any conclusion, because 0.25 vs 0.005 is far outside any plausible critical value. All results come from one seed. The run is deterministic and reproduces exactly (out/state/checks.md).

# Limitations and open issues

  • What the illustration establishes: for this seed and n, the sample from the stated construction looks like it has N(0,1) marginals. Its sum has an atom at 0 of about half the mass and sits far from any normal fit. The simulation agrees with the theory: SD ≈ √2, zero-fraction ≈ 1/2, KS ≈ 1/4.
  • What it does not establish: a finite sample cannot prove that the marginals are exactly normal, and it cannot prove that A or B is true or false. Both verdicts rest only on the arguments in out/argument.md. A small marginal KS distance only shows consistency with normality.
  • No open issues. The task is complete (feasibility = "complete").
Files · main
Menu

Theme