# Report — F5-conf-03: sums of normal random variables ## Question Decide whether (A) normal X and Y imply X + Y normal, and (B) independent normal X and Y imply X + Y normal. Prove the true one(s); give a concrete, simulated counterexample for the false one(s). ## Data and exclusions `data/propositions.csv` (2 rows) and `data/design.csv` (2 rows; seed 20261029, n 100000) — `n_input_rows`. No data problems (`data_issues` is empty), no exclusions (`out/exclusions.csv`); the simulated sample has `n_analysed` = 100000 rows with `random_seed` = 20261029. ## Method The verdicts come from mathematical argument (`out/argument.md`). For A, the counterexample is X ~ N(0,1), S an independent Rademacher sign, Y = S·X (`counterexample_values.construction`). `out/analysis.py` draws X and then S from `numpy.random.default_rng(seed)`, writes `out/counterexample.csv`, and computes sample means and SDs (ddof=1) and the KS distance of x+y to the normal with its sample mean and SD. As a baseline for B, it then draws independent X, Y ~ N(0,1) from the same generator and computes the same KS statistic (`baseline_independent_sum`). ## Results - **A is false** (`statement_true` = false). Y = S·X is N(0,1) by symmetry, but X + Y = (1+S)X is 0 with probability 1/2 and 2X otherwise. That makes it a mixture with an atom and variance 2, so it is neither normal nor constant (`counterexample_provided` = true). - Simulated sample: 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`). The marginal KS distances to N(0,1) are 0.0028 and 0.0016 (`counterexample_values.ks_x_vs_std_normal`, `ks_y_vs_std_normal`), below the approximate 5% critical value 0.0043 (`counterexample_values.ks_critical_5pct_approx`). - Sum: mean −0.0036, sd 1.4059, against a theoretical √2 ≈ 1.414 (`counterexample_values.mean_sum`, `sd_sum`). KS to the fitted normal is 0.2508 (`counterexample_values.ks_sum_vs_normal`), in line with the theoretical lower bound of 1/4. A fraction of 0.50047 of the sums are exactly 0 (`counterexample_values.frac_sum_exactly_zero`). - **B is true** (`statement_b_true` = true): the characteristic-function proof is in argument.md. In the baseline with independent draws, KS of the sum is 0.0020 (`baseline_independent_sum.ks_sum_vs_normal`), about 125 times smaller than for the counterexample. ## Uncertainty The verdicts are deductive and carry no statistical uncertainty. The simulated statistics are subject to Monte Carlo error of order 1/√n ≈ 0.003. The KS gap (0.25 vs a critical value ≈ 0.004) is far beyond sampling noise. The usual KS critical value is only approximate when parameters are estimated from the data, which does not affect the conclusion. ## Limitations and open issues - **What the illustration shows:** at the design n, the sample behaves as theory predicts. The marginals cannot be told apart from N(0,1) by KS, while the sum is grossly non-normal (an atom at 0 holding half the mass). - **What it does not show:** a finite sample cannot prove that the marginals are normal or that B holds. Those facts rest on the arguments in `out/argument.md`. - The extra diagnostics (marginal KS, fraction of zeros, approximate critical value) and the `baseline_independent_sum` block are supplementary keys added beyond the required schema.