Report — F5-conf-03: sums of normally distributed random variables
Question
Proposition A: if X and Y are each normally distributed, X + Y is normal (constants count as degenerate normals). Proposition B: if X and Y are independent and each normal, X + Y is normal. Decide each by mathematical argument; give a concrete, simulated counterexample for any false proposition.
Data and exclusions
Inputs: data/propositions.csv (2 rows) and data/design.csv (2 rows: seed 20261029, n 100000) — n_input_rows, random_seed. No missing values, duplicates or anomalies (data_issues = []); no exclusions (out/exclusions.csv). The simulated sample has n_analysed = 100000 rows.
Method
- Verdicts are established by proof (full argument in
out/argument.md), not by simulation. - B: characteristic-function argument; independence factorises φ_{X+Y} = φ_X φ_Y = exp(i(μ₁+μ₂)t − (σ₁²+σ₂²)t²/2).
- A: counterexample X ~ N(0,1), W independent Rademacher sign, Y = W·X (
counterexample_values.construction). Y ~ N(0,1) by symmetry; X+Y = (1+W)X has an atom of mass 1/2 at 0 and is not constant, so it is neither a non-degenerate nor a degenerate normal. (Y = −X would not work, since the constant sum counts as normal under A.) - Illustration:
numpy.random.default_rng(seed)with design seed and n; draw x then w; save (x, y) toout/counterexample.csv. Report means and sds (ddof = 1) and the KS distance of x+y to the normal with the sample mean and sd. As a baseline (the B setting), the same KS rule is applied to x + z with z an independent N(0,1) draw (supplementary.baseline_ks_independent_sum_vs_normal).
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 sample (
counterexample_values): mean_x = −0.0033, sd_x = 0.9982; mean_y = −0.0002, sd_y = 0.9982; mean_sum = −0.0036, sd_sum = 1.4059 (theory √2 ≈ 1.414). - KS of x+y vs fitted normal:
counterexample_values.ks_sum_vs_normal= 0.2508, versus 0.0021 and 0.0020 for the marginals (supplementary.ks_x_vs_normal,supplementary.ks_y_vs_normal) and 0.0018 for the independent-sum baseline (supplementary.baseline_ks_independent_sum_vs_normal). - Share of sums exactly equal to 0:
supplementary.share_sum_exactly_zero= 0.50047 (theory 0.5). Sample correlation of x and y:supplementary.corr_x_y= −0.0082 (theory 0): the two normals are uncorrelated but dependent. feasibility= "complete".
Uncertainty
The verdicts are mathematical and carry no statistical uncertainty. The sample statistics have sampling error of order 1/√n ≈ 0.003 (e.g. se of mean_x ≈ 0.003, of sd_sum ≈ 0.005 roughly); all observed values are within that range of their theoretical values. The KS statistics use parameters estimated from the sample (Lilliefors setting), so standard KS p-values do not apply; we report distances only. The population KS distance of the sum to any normal is ≥ 0.25 (atom of mass 1/2), matching the observed 0.2508.
Limitations and open issues
- What the illustration establishes: for this seed and n, the simulated x and y are numerically indistinguishable from N(0,1) by KS distance, while x+y is grossly non-normal (half its mass at exactly 0; KS ≈ 0.25, about 100× the marginal values). It is a reproducible concrete instance consistent with the proof.
- What it does not establish: a finite sample cannot prove that a marginal is exactly normal or that a law is non-normal; the truth values of A and B rest solely on the arguments in
out/argument.md. The simulation also does not test proposition B beyond one illustrative baseline. supplementarykeys go beyond the required schema; they are diagnostics only.- No open issues.