F5-conf-03 — Prove or refute: sums of normally distributed random variables
Scientific question
Two propositions about sums of normal random variables are given in data/propositions.csv. For each proposition, decide whether it is true (give a proof sketch) or false (give an explicit counterexample). For a false proposition, the counterexample must be made concrete: specify the joint construction of (X, Y), and produce a simulated sample from it that illustrates numerically that the marginals are normal while the sum is not (choose a construction whose departure from normality is clearly visible at the design sample size). The estimands are the truth values of propositions A and B and, for a false proposition, a verifiable counterexample.
Inputs
data/propositions.csv— columnsid,statement: the two propositions (A and B) to assess.data/design.csv— columnsparameter,value,description: the randomseedto use (numpy.random.default_rng) and the sample sizenfor the numerical illustration.
Information-availability rules
- Use only the files under
data/. The verdicts must rest on mathematical argument; the simulation is an illustration and a numerical check, not the proof. - Follow the design (seed, n) for the simulated sample.
Required outputs
out/results.jsonwith the keys:
| key | type | unit | meaning |
|---|---|---|---|
task_id |
string | — | "F5-conf-03" |
statement_true |
boolean | — | verdict on proposition A |
counterexample_provided |
boolean | — | true if a concrete counterexample to A is provided in out/argument.md, out/analysis.py and out/counterexample.csv |
counterexample_values |
object | — | summary of the simulated counterexample sample: construction (string describing the joint law of (X, Y)), n (rows in out/counterexample.csv), seed, mean_x, sd_x, mean_y, sd_y, mean_sum, sd_sum (sample means and sample standard deviations, ddof = 1, of x, y and x + y), and ks_sum_vs_normal (Kolmogorov–Smirnov distance between the empirical distribution of x + y and the normal distribution with the sample mean and sample sd of x + y). If no counterexample is provided, an empty object. |
statement_b_true |
boolean | — | verdict on proposition B (the baseline check) |
feasibility |
string | — | "complete", "partial" or "infeasible" |
feasibility_reason |
string or null | — | explanation if not complete |
data_issues |
array of {"issue","handling"} | — | data problems detected and how handled (empty list if none) |
n_input_rows |
object | — | {"propositions.csv": rows read, "design.csv": rows read} |
n_analysed |
integer or null | — | sample size of the simulated counterexample sample |
random_seed |
integer or null | — | seed used |
out/counterexample.csv— columnsx,y: the simulated sample of size n from the counterexample construction (only if a counterexample is provided).out/argument.md— the mathematical argument: the proof sketch for the true proposition(s) and the explicit counterexample (with the reasoning that its marginals are normal and its sum is not) for the false proposition(s).out/report.mdwith the sections: Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues. State explicitly what the numerical illustration establishes and what it does not.out/analysis.py— running~/wp29/venv/bin/python out/analysis.pyfrom the workspace root must regenerateout/results.jsonandout/counterexample.csvfromdata/only, deterministically.out/claims.json— a list of the central claims of the report: [{"id": "C1", "text": "...", "results_keys": ["..."], "status": "supported"|"unsupported"|"not_evaluated", "caveat": "..."}].
Constraints
- No network access. Python:
~/wp29/venv/bin/python(numpy, pandas, scipy, statsmodels available). Do not modifydata/. - This task is designed to be completed in well under 20 minutes of work.