PO.ID.Partial.Balke­Pearl.Attainment

This module collects the explicit latent tables witnessing that each of the sixteen Balke-Pearl closed-form expressions is achieved by an observationally equivalent model, on the region of observed distributions where th

Basic 1 core · 1 supporting Observed cell probabilities form a distribution per instrument value ★ sum_cellProb_eq_one

Observed cell probabilities form a distribution per instrument value

lemma sum_cellProb_eq_one reviewed
Causalean.PO.POBalkePearlSystem

Under the Balke-Pearl IV base assumptions, for every instrument value z, the four observed outcome-treatment cell probabilities sum to one.

Formal statement
P :
shared
S :
shared
hA :
S.BaseAssumptions
z :
∑ y : Bool, ∑ d : Bool, S.cellProb y d z = 1
Proof (Lean source)
lemma sum_cellProb_eq_one (hA : S.BaseAssumptions) (z : Bool) : ∑ y : Bool, ∑ d : Bool, S.cellProb y d z = 1 := by have h : ∀ y d, S.cellProb y d z = _ := fun y d => S.cellProb_eq_sum_latent hA y d z have hs := S.latentProb_sum_eq_one simp only [Fintype.sum_bool] at hs simp only [Fintype.sum_bool, h] cases z <;> simp only [dArm, yArm, Fintype.sum_bool] <;> norm_num <;> linarith [hs]
1 supporting declaration (lemmas, instances)
Lower 15 core · 16 supporting Witnesses attaining the Balke-Pearl lower expressions ★ bpLower_mem_BPIdentifiedInterval

Witnesses attaining the Balke-Pearl lower expressions

def bpAux0t reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass is max{0,p0010+p0110p0000p1000}\max\{0,p_{001\mid 0}+p_{011\mid 0}-p_{000\mid 0}-p_{100\mid 0}\}, where pydzp_{yd\mid z} denotes the observed probability of outcome yy and treatment dd at instrument value zz.

Definition (Lean source)
P :
shared
bpAux0t S :
max 0 (S.cellProb false false true + S.cellProb false true true - S.cellProb false false false - S.cellProb true false false )
def bpLowerWitness0 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the first lower-bound expression assigns its displayed mass to each of the eight listed latent profiles in the first case, second case, third case, fourth case, fifth case, sixth case, seventh case, and eighth case, and assigns zero in the remaining case.

Definition (Lean source)
P :
shared
bpLowerWitness0 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false true
clause 2
=> S.cellProb false false false
- S.cellProb false false true
- S.cellProb false true true
+ S.cellProb true false false
+ S.bpAux0t
clause 3
| false, true, false, false => S.cellProb false false false - S.cellProb false false true
clause 4
=> -S.cellProb false false false
+ S.cellProb false false true
+ S.cellProb false true true
- S.bpAux0t
clause 5
| true, false, true, false => S.cellProb false true false - S.bpAux0t
clause 6
=> -S.cellProb false false false
+ S.cellProb false false true
- S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
clause 7
| true, true, true, false => S.bpAux0t
clause 8
=> 1
- S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
clause 9
| _, _, _, _ => 0
def bpAux1v reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass is max{0,p0000p0010+p0100p1010}\max\{0,p_{000\mid0}-p_{001\mid0}+p_{010\mid0}-p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability at instrument value zz.

Definition (Lean source)
P :
shared
bpAux1v S :
max 0 (S.cellProb false false false - S.cellProb false false true + S.cellProb false true false - S.cellProb true false true )
def bpLowerWitness1 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the second lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, and eighth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness1 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false false
clause 2
=> -S.cellProb false false false
+ S.cellProb false false true
- S.cellProb false true false
+ S.cellProb true false true
+ S.bpAux1v
clause 3
| false, true, true, false => S.cellProb false true true - S.bpAux1v
clause 4
=> S.cellProb false false false
- S.cellProb false false true
+ S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
- S.cellProb true false true
clause 5
| true, false, false, false => -S.cellProb false false false + S.cellProb false false true
clause 6
=> S.cellProb false false false
- S.cellProb false false true
+ S.cellProb false true false
- S.bpAux1v
clause 7
| true, true, true, false => S.bpAux1v
clause 8
=> 1
- S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
clause 9
| _, _, _, _ => 0
def bpAux2u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass for the third lower-bound witness is max{0,p0110p0100p1000+p1010}\max\{0,p_{011\mid0}-p_{010\mid0}-p_{100\mid0} +p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpAux2u S :
max 0 (S.cellProb false true true - S.cellProb false true false - S.cellProb true false false + S.cellProb true false true )
def bpAux2v reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass for the third lower-bound witness is max{0,p0110p1000}\max\{0,p_{011\mid0}-p_{100\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpAux2v S :
max 0 (S.cellProb false true true - S.cellProb true false false )
def bpLowerWitness2 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the third lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, eighth, and ninth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness2 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false false
clause 2
=> -S.cellProb false true true + S.cellProb true false false + S.bpAux2v
clause 3
| false, true, true, false => S.cellProb false true true - S.bpAux2v
clause 4
=> S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
- S.cellProb true false true
+ S.bpAux2u
clause 5
=> -S.cellProb false false false
+ S.cellProb false false true
- S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
- S.bpAux2u
clause 6
=> S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
- S.bpAux2u
- S.bpAux2v
clause 7
| true, false, true, true => S.bpAux2u
clause 8
| true, true, true, false => S.bpAux2v
clause 9
=> 1
- S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
clause 10
| _, _, _, _ => 0
def bpAux3u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass for the fourth lower-bound witness is max{0,p0100p0110+p1000p1010}\max\{0,p_{010\mid0}-p_{011\mid0}+p_{100\mid0} -p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpAux3u S :
max 0 (S.cellProb false true false - S.cellProb false true true + S.cellProb true false false - S.cellProb true false true )
def bpAux3v reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass for the fourth lower-bound witness is max{0,p0100p1010}\max\{0,p_{010\mid0}-p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpAux3v S :
max 0 (S.cellProb false true false - S.cellProb true false true )
def bpLowerWitness3 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the fourth lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, eighth, and ninth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness3 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false true
clause 2
=> -S.cellProb false true false + S.cellProb true false true + S.bpAux3v
clause 3
=> -S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
+ S.bpAux3u
clause 4
=> S.cellProb false false false
- S.cellProb false false true
+ S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
- S.cellProb true false true
- S.bpAux3u
clause 5
=> S.cellProb false true false
+ S.cellProb true false false
- S.cellProb true false true
- S.bpAux3u
- S.bpAux3v
clause 6
| false, true, true, true => S.bpAux3u
clause 7
| true, false, true, false => S.cellProb false true false - S.bpAux3v
clause 8
| true, true, true, false => S.bpAux3v
clause 9
=> 1
- S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
clause 10
| _, _, _, _ => 0
def bpLowerWitness4 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the fifth lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness4 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
clause 2
=> -S.cellProb false true false + S.cellProb false true true - S.cellProb true false false
clause 3
| false, true, true, false => S.cellProb true false false
clause 4
=> -S.cellProb false false false
+ S.cellProb false false true
- S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
clause 5
| true, false, true, true => S.cellProb true false true
clause 6
| true, true, true, false => S.cellProb false true false
clause 7
=> 1
- S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
clause 8
| _, _, _, _ => 0
def bpLowerWitness5 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the sixth lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness5 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false true
clause 2
| false, false, true, false => S.cellProb true false false
clause 3
| false, true, false, false => S.cellProb false true true
clause 4
=> S.cellProb false false false - S.cellProb false false true - S.cellProb false true true
clause 5
| true, false, true, false => S.cellProb false true false
clause 6
=> -S.cellProb false true false - S.cellProb true false false + S.cellProb true false true
clause 7
| true, true, true, true => 1 - S.cellProb false false false - S.cellProb true false true
clause 8
| _, _, _, _ => 0
def bpLowerWitness6 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the seventh lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness6 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, false => S.cellProb false false false
clause 2
| false, false, true, false => S.cellProb true false true
clause 3
| false, true, true, false => S.cellProb false true true
clause 4
=> -S.cellProb false true true + S.cellProb true false false - S.cellProb true false true
clause 5
| true, false, false, false => S.cellProb false true false
clause 6
=> -S.cellProb false false false
+ S.cellProb false false true
- S.cellProb false true false
clause 7
| true, true, true, true => 1 - S.cellProb false false true - S.cellProb true false false
clause 8
| _, _, _, _ => 0
def bpLowerWitness7 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the eighth lower-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpLowerWitness7 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false true
- S.cellProb false true false
+ S.cellProb false true true
+ S.cellProb true false true
clause 2
=> S.cellProb false false false
- S.cellProb false false true
+ S.cellProb false true false
- S.cellProb false true true
- S.cellProb true false true
clause 3
| false, true, true, true => S.cellProb true false false
clause 4
=> S.cellProb false true false - S.cellProb false true true - S.cellProb true false true
clause 5
| true, false, true, false => S.cellProb true false true
clause 6
| true, true, true, false => S.cellProb false true true
clause 7
=> 1
- S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
clause 8
| _, _, _, _ => 0
theorem bpLower_mem_BPIdentifiedInterval reviewed
Causalean.PO.POBalkePearlSystem

Under the Balke-Pearl IV base assumptions, the closed-form Balke-Pearl lower bound, computed from the observed cell probabilities, is itself attained as the average treatment effect of some feasible latent treatment-response table — it lies in the Balke-Pearl identified interval.

Formal statement
P :
shared
S :
shared
hA :
S.BaseAssumptions
S.bpLower ∈ S.BPIdentifiedInterval hA
Proof (Lean source)
theorem bpLower_mem_BPIdentifiedInterval (hA : S.BaseAssumptions) : S.bpLower ∈ S.BPIdentifiedInterval hA := by have h₀ := S.latentProb_feasible hA obtain ⟨i, -, hi⟩ := Finset.exists_mem_eq_sup' (Finset.univ_nonempty) S.bpLowerTerm have hreg : ∀ j, S.bpLowerTerm j ≤ S.bpLowerTerm i := by intro j have h := Finset.le_sup' S.bpLowerTerm (Finset.mem_univ j) rwa [hi] at h have hb : S.bpLower = S.bpLowerTerm i := hi rw [hb] fin_cases i · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness0_feasible hA h₀ hreg) rw [S.bpLowerWitness0_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness1_feasible hA h₀ hreg) rw [S.bpLowerWitness1_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness2_feasible hA h₀ hreg) rw [S.bpLowerWitness2_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness3_feasible hA h₀ hreg) rw [S.bpLowerWitness3_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness4_feasible hA h₀ hreg) rw [S.bpLowerWitness4_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness5_feasible hA h₀ hreg) rw [S.bpLowerWitness5_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness6_feasible hA h₀ hreg) rw [S.bpLowerWitness6_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpLowerWitness7_feasible hA h₀ hreg) rw [S.bpLowerWitness7_objective hA] at h exact h
16 supporting declarations (lemmas, instances)
Upper 15 core · 16 supporting Witnesses attaining the Balke-Pearl upper expressions ★ bpUpper_mem_BPIdentifiedInterval

Witnesses attaining the Balke-Pearl upper expressions

def bpUAux0u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass is max{0,1p0000p0010p0110p1000}\max\{0,1-p_{000\mid0}-p_{001\mid0}-p_{011\mid0}-p_{100\mid0}\}, where pydzp_{yd\mid z} denotes the observed probability of outcome yy and treatment dd at instrument value zz.

Definition (Lean source)
P :
shared
bpUAux0u S :
max 0 (-S.cellProb false false false - S.cellProb false false true - S.cellProb false true true - S.cellProb true false false + 1)
def bpUpperWitness0 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the first upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, and eighth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness0 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false false true
+ S.cellProb false true true
+ S.cellProb true false false
+ S.bpUAux0u
- 1
clause 2
| false, false, true, true => S.cellProb true false true
clause 3
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false false
- S.bpUAux0u
+ 1
clause 4
| false, true, true, true => S.cellProb true false false - S.cellProb true false true
clause 5
| true, false, false, false => S.cellProb false true false - S.cellProb false true true
clause 6
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
- S.bpUAux0u
+ 1
clause 7
| true, true, false, false => S.cellProb false true true
clause 8
| true, true, false, true => S.bpUAux0u
clause 9
| _, _, _, _ => 0
def bpUAux1u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass is max{0,1p0000p0010p0100p1010}\max\{0,1-p_{000\mid0}-p_{001\mid0}-p_{010\mid0}-p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpUAux1u S :
max 0 (-S.cellProb false false false - S.cellProb false false true - S.cellProb false true false - S.cellProb true false true + 1)
def bpUpperWitness1 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the second upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, and eighth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness1 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false false true
+ S.cellProb false true false
+ S.cellProb true false true
+ S.bpUAux1u
- 1
clause 2
| false, false, true, true => S.cellProb true false false
clause 3
| false, true, false, false => -S.cellProb false true false + S.cellProb false true true
clause 4
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
- S.bpUAux1u
+ 1
clause 5
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false true
- S.bpUAux1u
+ 1
clause 6
| true, false, true, true => -S.cellProb true false false + S.cellProb true false true
clause 7
| true, true, false, false => S.cellProb false true false
clause 8
| true, true, false, true => S.bpUAux1u
clause 9
| _, _, _, _ => 0
def bpUAux2u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass for the third upper-bound witness is max{0,p0100p0110+p1000p1010}\max\{0,p_{010\mid0}-p_{011\mid0}+p_{100\mid0} -p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpUAux2u S :
max 0 (S.cellProb false true false - S.cellProb false true true + S.cellProb true false false - S.cellProb true false true )
def bpUAux2v reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass for the third upper-bound witness is max{0,1p0000p0010p0100p1000}\max\{0,1-p_{000\mid0}-p_{001\mid0}-p_{010\mid0} -p_{100\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpUAux2v S :
max 0 (-S.cellProb false false false - S.cellProb false false true - S.cellProb false true false - S.cellProb true false false + 1)
def bpUpperWitness2 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the third upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, eighth, and ninth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness2 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false false true
+ S.cellProb false true false
+ S.cellProb true false false
+ S.bpUAux2v
- 1
clause 2
| false, false, true, true => S.cellProb true false true
clause 3
=> -S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
+ S.bpUAux2u
clause 4
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
- S.bpUAux2u
- S.bpUAux2v
+ 1
clause 5
=> S.cellProb true false false - S.cellProb true false true - S.bpUAux2u
clause 6
| false, true, true, true => S.bpUAux2u
clause 7
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
- S.bpUAux2v
+ 1
clause 8
| true, true, false, false => S.cellProb false true false
clause 9
| true, true, false, true => S.bpUAux2v
clause 10
| _, _, _, _ => 0
def bpUAux3u reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the first auxiliary free mass for the fourth upper-bound witness is max{0,p0100+p0110p1000+p1010}\max\{0,-p_{010\mid0}+p_{011\mid0}-p_{100\mid0} +p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpUAux3u S :
max 0 (-S.cellProb false true false + S.cellProb false true true - S.cellProb true false false + S.cellProb true false true )
def bpUAux3v reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the second auxiliary free mass for the fourth upper-bound witness is max{0,1p0000p0010p0110p1010}\max\{0,1-p_{000\mid0}-p_{001\mid0}-p_{011\mid0} -p_{101\mid0}\}, where pydzp_{yd\mid z} is the observed outcome--treatment cell probability.

Definition (Lean source)
P :
shared
bpUAux3v S :
max 0 (-S.cellProb false false false - S.cellProb false false true - S.cellProb false true true - S.cellProb true false true + 1)
def bpUpperWitness3 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the fourth upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, seventh, eighth, and ninth listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness3 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false false true
+ S.cellProb false true true
+ S.cellProb true false true
+ S.bpUAux3v
- 1
clause 2
| false, false, true, true => S.cellProb true false false
clause 3
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
- S.bpUAux3v
+ 1
clause 4
=> S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
- S.cellProb true false true
+ S.bpUAux3u
clause 5
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
- S.bpUAux3u
- S.bpUAux3v
+ 1
clause 6
=> -S.cellProb true false false + S.cellProb true false true - S.bpUAux3u
clause 7
| true, false, true, true => S.bpUAux3u
clause 8
| true, true, false, false => S.cellProb false true true
clause 9
| true, true, false, true => S.bpUAux3v
clause 10
| _, _, _, _ => 0
def bpUpperWitness4 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the fifth upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness4 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false true
- S.cellProb false true false
+ S.cellProb false true true
+ S.cellProb true false true
clause 2
| false, true, false, true => S.cellProb false false false
clause 3
=> -S.cellProb false false true
+ S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
- S.cellProb true false true
clause 4
| true, false, false, false => S.cellProb false false true
clause 5
=> -S.cellProb false false true + S.cellProb false true false - S.cellProb false true true
clause 6
| true, true, false, false => S.cellProb false true true
clause 7
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
+ 1
clause 8
| _, _, _, _ => 0
def bpUpperWitness5 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the sixth upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness5 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, true => S.cellProb false false true
clause 2
| false, false, true, true => S.cellProb true false false
clause 3
=> S.cellProb false false false
+ S.cellProb false true true
+ S.cellProb true false true
- 1
clause 4
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
+ 1
clause 5
=> S.cellProb false false false
+ S.cellProb false true false
+ S.cellProb true false true
- 1
clause 6
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
+ 1
clause 7
=> -S.cellProb false false false - S.cellProb true false true + 1
clause 8
| _, _, _, _ => 0
def bpUpperWitness6 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the seventh upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness6 S :
BoolBoolBoolBool → ℝ
clause 1
| false, false, false, true => S.cellProb false false false
clause 2
| false, false, true, true => S.cellProb true false true
clause 3
=> S.cellProb false false true
+ S.cellProb false true true
+ S.cellProb true false false
- 1
clause 4
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
+ 1
clause 5
=> S.cellProb false false true
+ S.cellProb false true false
+ S.cellProb true false false
- 1
clause 6
=> -S.cellProb false false false
- S.cellProb false true false
- S.cellProb true false false
+ 1
clause 7
=> -S.cellProb false false true - S.cellProb true false false + 1
clause 8
| _, _, _, _ => 0
def bpUpperWitness7 reviewed
Causalean.PO.POBalkePearlSystem

For a potential-outcome system and its Balke--Pearl observational system, the latent-type witness table for the eighth upper-bound expression assigns its displayed mass in the first, second, third, fourth, fifth, sixth, and seventh listed latent-profile cases, and zero otherwise.

Definition (Lean source)
P :
shared
bpUpperWitness7 S :
BoolBoolBoolBool → ℝ
clause 1
=> S.cellProb false false false
+ S.cellProb false true false
- S.cellProb false true true
+ S.cellProb true false false
clause 2
| false, true, false, false => S.cellProb false false false
clause 3
=> -S.cellProb false false false
- S.cellProb false true false
+ S.cellProb false true true
clause 4
| true, false, false, true => S.cellProb false false true
clause 5
=> -S.cellProb false false false
- S.cellProb false true false
+ S.cellProb false true true
- S.cellProb true false false
+ S.cellProb true false true
clause 6
| true, true, false, false => S.cellProb false true false
clause 7
=> -S.cellProb false false true
- S.cellProb false true true
- S.cellProb true false true
+ 1
clause 8
| _, _, _, _ => 0
theorem bpUpper_mem_BPIdentifiedInterval reviewed
Causalean.PO.POBalkePearlSystem

Under the Balke-Pearl IV base assumptions, the closed-form Balke-Pearl upper bound, computed from the observed cell probabilities, is itself attained as the average treatment effect of some feasible latent treatment-response table — it lies in the Balke-Pearl identified interval.

Formal statement
P :
shared
S :
shared
hA :
S.BaseAssumptions
S.bpUpper ∈ S.BPIdentifiedInterval hA
Proof (Lean source)
theorem bpUpper_mem_BPIdentifiedInterval (hA : S.BaseAssumptions) : S.bpUpper ∈ S.BPIdentifiedInterval hA := by have h₀ := S.latentProb_feasible hA obtain ⟨i, -, hi⟩ := Finset.exists_mem_eq_inf' (Finset.univ_nonempty) S.bpUpperTerm have hreg : ∀ j, S.bpUpperTerm i ≤ S.bpUpperTerm j := by intro j have h := Finset.inf'_le S.bpUpperTerm (Finset.mem_univ j) rwa [hi] at h have hb : S.bpUpper = S.bpUpperTerm i := hi rw [hb] fin_cases i · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness0_feasible hA h₀ hreg) rw [S.bpUpperWitness0_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness1_feasible hA h₀ hreg) rw [S.bpUpperWitness1_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness2_feasible hA h₀ hreg) rw [S.bpUpperWitness2_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness3_feasible hA h₀ hreg) rw [S.bpUpperWitness3_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness4_feasible hA h₀ hreg) rw [S.bpUpperWitness4_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness5_feasible hA h₀ hreg) rw [S.bpUpperWitness5_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness6_feasible hA h₀ hreg) rw [S.bpUpperWitness6_objective hA] at h exact h · have h := PartialID.mem_identifiedInterval (obj := BPObjective) (S.bpUpperWitness7_feasible hA h₀ hreg) rw [S.bpUpperWitness7_objective hA] at h exact h
16 supporting declarations (lemmas, instances)