# Verification checks (P4) 1. Clean re-run: deleted out/results.json and out/counterexample.csv, re-ran analysis.py; results.json byte-identical (cmp) and counterexample.csv SHA-256 identical. PASS. 2. counterexample.csv has 100000 data rows = design n = counterexample_values.n = n_analysed. PASS. 3. All values finite; |y| == |x| row-wise (consistent with Y = S X). PASS. 4. sd_sum recomputed from CSV (1.40589) equals results.json; theoretical sd sqrt(2)=1.41421; close. PASS. 5. Sample means of x, y, sum near 0 and sds of x, y near 1 (theory: N(0,1) marginals). PASS. 6. ks_sum_vs_normal = 0.2508; theoretical KS distance between the law of X+Y (atom 1/2 at 0, CDF jumps 0.25 -> 0.75) and N(0,2) is 0.25 (attained at 0). Matches. PASS. 7. Fraction of sums exactly 0 = 0.50047 (theory 0.5). PASS. 8. Magnitude vs baseline: independent-sum KS = 0.0017 (below 1.358/sqrt(n)=0.0043), marginal KS for x, y = 0.0021, 0.0020; counterexample sum KS is ~100x larger. PASS. 9. Sample corr(x,y) = -0.008 ~ 0 (theory 0: uncorrelated but dependent). PASS. Note: KS critical value 1.358/sqrt(n) assumes fully specified null; with estimated mean/sd (Lilliefors) the correct critical value is smaller, so it is used only as a rough scale.