Basis theorem for f-statistics
DefinitionPer-locus f4 form#✓fully proved
The per-locus f4 form x ↦ (x A - x B) * (x C - x D) on frequency vectors x : P → ℝ.
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
Used by 9
DefinitionPer-locus f2 form#✓fully proved
The per-locus f2 form x ↦ (x A - x B) ^ 2.
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
Used by 11
DefinitionPer-locus f3 form#✓fully proved
The per-locus f3 form x ↦ (x C - x A) * (x C - x B).
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
Uses 1 · Used by 6
TheoremPer-locus f2 form as a special f4 form#✓fully proved
f2Form A B = f4Form A B A B.
theorem f2Form_eq_f4Form (A B : P) : f2Form A B = f4Form A B A B
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
Uses 2 · Used by 1
DefinitionSpace spanned by the per-locus f-statistics#✓fully proved
The space V_F spanned by all per-locus f-statistics (all f4Form; f2Form and f3Form
are special cases).
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
Uses 1 · Used by 6
TheoremEvery f4 form lies in the f-statistic space#✓fully proved
Every f4Form lies in V_F.
theorem f4Form_mem_fSpace (A B C D : P) : f4Form A B C D ∈ fSpace P
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 2 · Used by 2
TheoremEvery f2 form lies in the f-statistic space#✓fully proved
Every f2Form lies in V_F.
theorem f2Form_mem_fSpace (A B : P) : f2Form A B ∈ fSpace P
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 5 · Used by 1
TheoremEvery f3 form lies in the f-statistic space#✓fully proved
Every f3Form lies in V_F.
theorem f3Form_mem_fSpace (C A B : P) : f3Form C A B ∈ fSpace P
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 3 · Used by 1
Theoremf4 statistic as the integral of the f4 form#✓fully proved
The f4 statistic is the integral of the f4 form of the frequency vector.
theorem f4_eq_integral_f4Form {Ω : Type*} {m : MeasurableSpace Ω} (μ : Measure Ω)
(p : P → Ω → ℝ) (A B C D : P) :
f4 μ p A B C D = ∫ ω, f4Form A B C D (fun X => p X ω) ∂μ
noncomputable def f4 (A B C D : P) : ℝ := ∫ ω, (p A ω - p B ω) * (p C ω - p D ω) ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:92
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
Uses 2
TheoremIntegral of a linear combination of f2 forms#✓fully proved
A linear combination of f2 forms integrates to the same linear combination of f2
statistics, for square-integrable frequencies.
theorem integral_sum_smul_f2Form {Ω ι : Type*} {m : MeasurableSpace Ω} {μ : Measure Ω}
{p : P → Ω → ℝ} (hp : ∀ X, MemLp (p X) 2 μ) (s : Finset ι) (c : ι → ℝ) (A B : ι → P) :
∫ ω, (∑ i ∈ s, c i • f2Form (A i) (B i)) (fun X => p X ω) ∂μ =
∑ i ∈ s, c i * f2 μ p (A i) (B i)
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
noncomputable def f2 (X Y : P) : ℝ := ∫ ω, (p X ω - p Y ω) ^ 2 ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:85
Uses 3
TheoremSymmetry of the per-locus f2 form#✓fully proved
f2Form is symmetric.
theorem f2Form_comm (A B : P) : f2Form A B = f2Form B A
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
Uses 1 · Used by 1
TheoremPer-locus f2 form of a population with itself is zero#✓fully proved
f2Form A A = 0.
@[simp] theorem f2Form_self (A : P) : f2Form A A = 0
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
Uses 1 · Used by 1
TheoremPer-locus f3 form is symmetric in its sources#✓fully proved
f3Form is symmetric in its last two arguments.
theorem f3Form_comm (C A B : P) : f3Form C A B = f3Form C B A
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
Uses 1 · Used by 1
TheoremPer-locus f3 form vanishes when target equals first source#✓fully proved
f3Form C C B = 0.
@[simp] theorem f3Form_self_left (C B : P) : f3Form C C B = 0
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
Uses 1 · Used by 1
TheoremPolarization identity for the per-locus f4 form#✓fully proved
f4Form in terms of f2Form: the polarization identity behind f4_eq_f2.
theorem f4Form_eq (A B C D : P) :
f4Form A B C D = (1 / 2 : ℝ) • (f2Form A D + f2Form B C - f2Form A C - f2Form B D)
def f4Form (A B C D : P) : (P → ℝ) → ℝ := fun x => (x A - x B) * (x C - x D)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:62
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
Uses 2 · Used by 1
TheoremPer-locus f2 form in terms of f3 forms with a base population#✓fully proved
f2Form in terms of the f3 forms with base o.
theorem f2Form_eq_f3Form (o A B : P) :
f2Form A B = f3Form o A A + f3Form o B B - (2 : ℝ) • f3Form o A B
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
Uses 2 · Used by 1
TheoremLinear independence of Patterson's f2 basis#✓fully proved
Patterson's f2 basis: the forms f2Form i j, i < j, are linearly independent.
theorem linearIndependent_f2Form :
LinearIndependent ℝ (fun q : {q : P × P // q.1 < q.2} => f2Form q.1.1 q.1.2)
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
Uses 1 · Used by 1
TheoremPatterson's f2 basis spans the f-statistic space#✓fully proved
Patterson's f2 basis: the forms f2Form i j, i < j, span V_F, i.e. every
f-statistic is a linear combination of the f2 Pᵢ Pⱼ, i < j.
theorem span_f2Form :
Submodule.span ℝ (Set.range fun q : {q : P × P // q.1 < q.2} => f2Form q.1.1 q.1.2) =
fSpace P
def f2Form (A B : P) : (P → ℝ) → ℝ := fun x => (x A - x B) ^ 2
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:65
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 7 · Used by 2
TheoremLinear independence of Patterson's f3 basis#✓fully proved
Patterson's f3 basis with base population o: the forms f3Form o i j with
i ≤ j, i ≠ o, j ≠ o are linearly independent.
theorem linearIndependent_f3Form (o : P) :
LinearIndependent ℝ
(fun q : {q : P × P // q.1 ≤ q.2 ∧ q.1 ≠ o ∧ q.2 ≠ o} => f3Form o q.1.1 q.1.2)
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
Uses 2
TheoremPatterson's f3 basis spans the f-statistic space#✓fully proved
Patterson's f3 basis with base population o: the forms f3Form o i j with
i ≤ j, i ≠ o, j ≠ o span V_F.
theorem span_f3Form (o : P) :
Submodule.span ℝ
(Set.range fun q : {q : P × P // q.1 ≤ q.2 ∧ q.1 ≠ o ∧ q.2 ≠ o} =>
f3Form o q.1.1 q.1.2) =
fSpace P
def f3Form (C A B : P) : (P → ℝ) → ℝ := f4Form C A C B
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:68
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 8
TheoremDimension of the f-statistic space is n choose 2#✓fully proved
The f-statistics of n populations span a space of dimension n choose 2. (A linear order
on the populations, used to index the f2 basis, is chosen in the proof.)
theorem finrank_fSpace [Fintype P] : Module.finrank ℝ (fSpace P) = (Fintype.card P).choose 2
noncomputable def fSpace (P : Type*) : Submodule ℝ ((P → ℝ) → ℝ) :=
Submodule.span ℝ (Set.range fun q : P × P × P × P => f4Form q.1 q.2.1 q.2.2.1 q.2.2.2)
MathlibExt/Biology/PopulationGenetics/FStatisticsBasis.lean:77
Uses 4
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.