Day 1. Probability Axioms & Set Theory
Sample spaces, events and Kolmogorov's three axioms, and the rules that follow from them.
- ●Write the sample space and events for a treatment-assignment experiment.
- ●State Kolmogorov's three axioms and derive the complement, monotonicity and inclusion–exclusion rules from them.
- ●Bound an unknown joint probability using only the marginals (Boole and Fréchet bounds).
- ●Count the assignments in a completely randomised experiment.
Theory
Why start here?
The fundamental problem of causal inference is that we never see the same unit both treated and untreated. Every causal estimate is therefore a statement about populations, and populations are described with probability. Before we can define an average treatment effect we need to be exact about what "probability" means.
Sample space, events and set operations
- The sample space is the set of all possible outcomes of a random experiment.
- An event is a subset of . The collection of events we are allowed to measure is written .
- For events and :
- union : " or (or both)"
- intersection : "both and "
- complement : "not "
- and are mutually exclusive (disjoint) if .
- De Morgan's laws: and .
Kolmogorov's axioms
A probability measure assigns a number to each event so that:
- Non-negativity: for every event .
- Normalisation: .
- Countable additivity: if are pairwise disjoint, then
Everything else in probability is derived from these three lines. Today you will derive the most useful consequences yourself:
| Rule | Statement |
|---|---|
| Empty set | |
| Complement | |
| Monotonicity | |
| Inclusion–exclusion | |
| Boole's inequality | |
| Fréchet bounds |
Equally likely outcomes and counting
When is finite and every outcome is equally likely, . In a completely randomised experiment with units of which exactly are treated, every one of the possible assignments has the same probability. This is the probability space behind Fisher's randomisation test (Phase 3).
Causal link. The Fréchet bounds are your first taste of partial identification: when the data pin down only the marginals, the joint is known only up to an interval. Manski's bounds on treatment effects (Phase 6) use exactly this logic.
Part 1 · Warm-up
Exercise 1 · Defining the sample space
An environmental regulation gives each firm three mutually exclusive options: adopt clean technology (), pay a carbon tax (), or exit the market (). Write the sample space .
Show solution
The sample space lists every basic outcome:
Exercise 2 · Identifying an event
Using Exercise 1, write the event = "the firm stays in the market", and its complement.
Show solution
Step 1. The firm stays in the market if it adopts clean technology or pays the tax:
Step 2. The complement collects every other outcome in :
Answer: and (the firm exits).
Exercise 3 · Normalisation
If and , what is ?
Show solution
The three outcomes are disjoint and exhaustive, so by Axioms 2 and 3:
Exercise 4 · A tiny randomised trial
Two patients are each assigned to treatment () or control () by independent fair coin flips. Write , the event "exactly one patient is treated", and its probability.
Show solution
Writing patient 1's arm first: , four equally likely outcomes.
"Exactly one treated" is , so its probability is .
Exercise 5 · Additivity
Trial participants have no side effects (), mild () or severe () side effects. If and , what is the probability of any side effect? Of none?
Show solution
and are disjoint, so by Axiom 3:
"No side effect" is the complement: .
Part 2 · Proofs
Exercise 6 · The empty set
Using only the axioms, prove .
Show solution
- and are disjoint, and .
- By Axiom 3, .
- Subtract (which is finite, equal to 1) from both sides: .
Exercise 7 · The complement rule
Prove that .
Show solution
- and .
- Axiom 3 gives .
- Axiom 2 gives , so .
A corollary: since (Axiom 1), .
Exercise 8 · Monotonicity
Prove that if , then .
Show solution
- Write . The two pieces are disjoint.
- By Axiom 3, .
- By Axiom 1, , so .
Exercise 9 · Inclusion–exclusion
Prove .
Show solution
- Split the union into disjoint pieces: , so .
- Split into disjoint pieces: , so .
- Substitute step 2 into step 1:
Boole's inequality follows immediately, because .
Exercise 10 · The Fréchet lower bound
Prove that (Bonferroni's inequality).
Show solution
- Rearrange inclusion–exclusion: .
- (Exercise 7's corollary).
- So . Combined with this gives the lower Fréchet bound . The upper bound follows from monotonicity, since and .
Part 3 · Applied
Exercise 11 · Randomised assignment
A diet study recruits 1,000 people and assigns 450 to treatment. What is the probability that a randomly chosen participant is in the control group?
Show solution
Step 1. Share assigned to treatment:
Step 2. Every participant is in exactly one arm, so control is the complement of treatment:
Answer: 0.55.
Exercise 12 · Training and promotion
In a labour dataset, , and . Find the probability that a worker was trained or promoted, and the probability of neither.
Show solution
Let = trained and = promoted.
Step 1. Inclusion–exclusion (Exercise 9):
Step 2. "Neither" means not trained and not promoted. By De Morgan, , so
Answer: 40% were trained or promoted; 60% were neither.
Exercise 13 · What the marginals can tell you
Administrative data show that 70% of households are eligible for a subsidy and 50% applied. The two files cannot be linked. What can you say about the share that are both eligible and applied?
Show solution
Let = eligible () and = applied ().
Step 1. Lower Fréchet bound (Exercise 10):
Step 2. Upper Fréchet bound (monotonicity, since sits inside both events):
Step 3. For comparison, if eligibility and application were independent: .
Answer: between 20% and 50%. Without linked records the share is only partially identified; the 35% figure needs an independence assumption the data cannot check.
Exercise 14 · Two interventions that might fail
A city runs two traffic interventions. Intervention 1 fails with probability 0.05 and intervention 2 with probability 0.08.
(a) Without knowing how the failures are related, what is the largest and smallest possible probability that at least one fails? (b) What is it if failures are independent?
Show solution
Let and be the failure events.
(a) No information about the overlap
Step 1. Largest value, from Boole's inequality (reached when the two failures never happen together):
Step 2. Smallest value, from monotonicity (reached when , i.e. whenever intervention 1 fails, 2 fails too):
(b) Independent failures
Step 3. Under independence, .
Step 4. Inclusion–exclusion:
Check via the complement: .
Answer: (a) between 0.08 and 0.13; (b) 0.126.
Exercise 15 · Counting assignments
An experiment has 6 villages; exactly 3 are treated, chosen completely at random.
(a) How many assignments are possible? (b) What is the probability that village 1 is treated? (c) What is the probability that villages 1 and 2 are both treated?
Show solution
(a) Number of assignments
Step 1. Choose which 3 of the 6 villages are treated:
(b) Village 1 treated
Step 2. Fix village 1 as treated; the other 2 treated villages come from the remaining 5: assignments.
Step 3. All 20 assignments are equally likely, so .
(c) Villages 1 and 2 both treated
Step 4. Fix both as treated; the last treated village comes from the remaining 4: assignments.
Step 5. .
Answer: 20 assignments; 0.5; 0.2. Note that 0.2 is not : under complete randomisation, treating one village leaves fewer treated slots for the others, so assignments are slightly negatively dependent.
Verify in Python
import itertools
import numpy as np
from math import comb
# Exercise 15: enumerate every complete-randomisation assignment
assignments = list(itertools.combinations(range(6), 3))
print("number of assignments:", len(assignments), "=", comb(6, 3))
p1 = np.mean([0 in a for a in assignments])
p12 = np.mean([(0 in a) and (1 in a) for a in assignments])
print(f"P(village 1 treated) = {p1:.2f}; P(villages 1 and 2 treated) = {p12:.2f}")
# Exercises 12-14: inclusion-exclusion and bounds checked by simulation
rng = np.random.default_rng(1)
n = 1_000_000
f1 = rng.random(n) < 0.05
f2 = rng.random(n) < 0.08 # independent of f1
print(f"P(at least one fails), independent: {np.mean(f1 | f2):.4f} (theory 0.126)")
# Frechet bounds for Exercise 13
pa, pb = 0.70, 0.50
print("Frechet bounds:", round(max(0, pa + pb - 1), 2), "to", min(pa, pb))
Key takeaways
- Three axioms generate every probability rule you will use in this course.
- Inclusion–exclusion links unions and intersections; Boole and Fréchet bound what you cannot observe.
- Complete randomisation defines a finite, equally likely probability space over assignments.
Simulation Lab: Inclusion–Exclusion & Fréchet Bounds
Open full screen →Set P(A), P(B) and their overlap; watch the union, the complement and the feasible range of the joint move.
A and B are independent: P(A∩B) = P(A)P(B).
The overlap can only move inside the Fréchet bounds (the shaded band). Without linked data, that band is all the marginals tell you.