1# F5-conf-03 — Sums of normal random variables23## Question4Two propositions are given in `data/propositions.csv`:5- **A:** if X and Y are each normal, then X + Y is normal. A constant counts as a degenerate normal.6- **B:** if X and Y are independent and each normal, then X + Y is normal.78For each one, decide whether it is true or false. For a false proposition, give a concrete counterexample and illustrate it numerically.910## Data and exclusions11- `propositions.csv`: 2 rows (A and B).12- `design.csv`: 2 rows, giving seed = 20261029 and n = 100000.1314No rows were excluded and no data problems were found (`data_issues` = []).1516## Method17The verdicts rest on mathematical proof, which is set out in full in `out/argument.md`:18- **A is false.** Counterexample: X ~ N(0,1), W an independent random sign, Y = W·X. Y is N(0,1) because the N(0,1) law is symmetric. But 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.19- **B is true.** Under independence the characteristic functions multiply, and Lévy's uniqueness theorem then gives X + Y ~ N(μ₁+μ₂, σ₁²+σ₂²).2021The numerical illustration uses `numpy.random.default_rng(20261029)`:22- It draws n = 100000 values of x ~ N(0,1), then independent signs w, and sets y = w·x. The (x, y) pairs are written to `out/counterexample.csv`.23- It reports sample means and standard deviations (ddof = 1) of x, y and x + y.24- It computes the KS distance between x + y and the normal with the sample mean and sd of x + y, as required.25- As extra diagnostics, it computes the KS distances of x and y from N(0,1) and the share of exact zeros in x + y.2627Running `out/analysis.py` regenerates everything deterministically.2829## Results30| quantity | value |31|---|---|32| verdict A (`statement_true`) | **false** |33| verdict B (`statement_b_true`) | **true** |34| mean_x, sd_x | −0.0033, 0.9982 |35| mean_y, sd_y | −0.0002, 0.9982 |36| mean_sum, sd_sum | −0.0036, 1.4059 (theory: 0, √2 ≈ 1.414) |37| KS(x vs N(0,1)), KS(y vs N(0,1)) | 0.0028, 0.0016 |38| share of x + y exactly 0 | 0.5005 (theory 0.5) |39| KS(x + y vs fitted normal) | **0.2508** |40| approx. 5% KS critical value, 1.358/√n | 0.0043 |4142- **Marginals:** the KS distances of x and y from N(0,1) are below the critical value, which is consistent with normality.43- **Sum:** the sum departs from normality by a wide margin. Half of the sum's mass sits exactly at 0, and its KS distance is about 58 times the critical value.4445## Uncertainty46- The verdicts are mathematical facts and carry no sampling uncertainty.47- Sampling variation affects only the summary numbers; for example, the share of zeros has standard error √(0.25/n) ≈ 0.0016.48- The KS critical value above is the textbook figure for a fully specified null. Because the comparison normal for the sum was fitted to the same data (Lilliefors setting), the true critical value is smaller, which only strengthens the rejection.4950## Limitations and open issues51- **What the illustration does not show:** a finite sample cannot prove that the marginals are exactly normal, and it does not prove the verdicts. The proofs are in `out/argument.md`.52- **What it does show:** the simulated construction behaves as the proof predicts. The marginals look normal at n = 100000, and the sum is clearly non-normal, with an atom at 0 of about half the mass.53- **Choice of counterexample:** this is one of many possible counterexamples. Another is Y = X when |X| ≤ c and Y = −X otherwise. The random-sign version was chosen because its departure from normality is the most visible.54- **Extra keys:** a few diagnostic keys were added inside `counterexample_values` (marginal KS distances, share of zeros, critical value) alongside the required ones.55