F5-conf-03 — Sums of normally distributed random variables
Question
Proposition A: if X and Y are each normal, X + Y is normal (constants count as normal). Proposition B: if X and Y are independent and each normal, X + Y is normal. Decide each, with a proof sketch or an explicit counterexample, and illustrate any counterexample numerically with the design seed and n.
Data and exclusions
Inputs: data/propositions.csv (2 rows) and data/design.csv (2 rows) (n_input_rows); SHA-256 hashes match bundle.json (see out/state/data_audit.md). Design: seed 20261029 (random_seed), n = 100000 (n_analysed). No data issues were found (data_issues = []). No exclusions: the simulated sample is kept in full (out/exclusions.csv, 0 removed).
Method
The verdicts rest on mathematical arguments given in full in out/argument.md:
- B: characteristic functions multiply under independence, and the product of two normal characteristic functions is a normal characteristic function; uniqueness then gives the result.
- A: counterexample X ~ N(0,1), S an independent random sign (±1 with probability 1/2 each), Y = S·X. Y ~ N(0,1) by symmetry, but X + Y = (1+S)X has an atom of mass 1/2 at 0 and variance 2. So it is neither a continuous normal nor a constant (
counterexample_values.construction). Y = −X would not work, because the constant sum it gives counts as normal under A.
Numerical illustration (out/analysis.py): n pairs drawn with numpy.random.default_rng(seed) and written to out/counterexample.csv. For x, y and x+y we report sample means and SDs (ddof = 1) and the Kolmogorov–Smirnov distance between x+y and the normal with the sample mean and SD of x+y. As a baseline under the same rule, an independent pair X, Y ~ N(0,1) was simulated (separate stream default_rng([seed, 1])).
Results
- Proposition A is false (
statement_true= false), and a concrete counterexample is given (counterexample_provided= true). - Proposition B is true (
statement_b_true= true). - Simulated counterexample (n = 100000,
counterexample_values.n): 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). Both are consistent with N(0,1). Marginal KS distances to fitted normals are 0.0021 and 0.0020 (diagnostic_ks_x_vs_normal,diagnostic_ks_y_vs_normal). - Sum: mean_sum = −0.0036 and sd_sum = 1.4059 (theory: 0 and √2 ≈ 1.414) (
counterexample_values.mean_sum/sd_sum). The KS distance to its fitted normal is 0.2508 (counterexample_values.ks_sum_vs_normal), matching the theoretical value 0.25. The fraction of sums exactly equal to 0 is 0.5005 (diagnostic_frac_sum_exactly_zero). - Baseline: for independent normals, the KS distance of the sum is 0.0017 (
baseline_independent_ks_sum_vs_normal). That is about 150 times smaller than for the counterexample, and below the rough 5% scale 1.358/√n = 0.0043 (diagnostic_ks_critical_value_alpha_0.05).
Uncertainty
The verdicts are deductive and carry no statistical uncertainty. The simulated summaries vary with the sample. Their sampling SD at n = 1e5 is about 0.003 for means and about 0.002 for SDs. A KS distance under a correct normal null is O(1/√n) ≈ 0.004. The observed 0.25 is therefore about 60 times that scale, and the departure from normality is unambiguous. The 1.358/√n scale assumes a fully specified null. Because the mean and SD are estimated (Lilliefors setting), the true critical value is smaller, so that scale is conservative and used only as a rough guide.
Limitations and open issues
- What the simulation does and does not establish. It shows that the construction behaves as the proof predicts: normal-looking marginals, a sum with an atom of about 1/2 at 0, and a KS distance of about 0.25. It does not prove that the marginals are exactly normal or that B holds in general. Finite samples cannot do that; the proofs in
out/argument.mddo. - The marginal KS checks for x and y are diagnostics only. Exact normality of Y follows from the symmetry argument.
- The additional
diagnostic_*andbaseline_*keys inout/results.jsongo beyond the required set. They are included for transparency. - No other open issues.