8.7. Exercises and notes
Exercise 8.1. Extend the definitions and results of Sections 8.1 and 8.2
to a nonhomogeneous finite product
L^2(\Omega_1\times\cdots\times\Omega_n,
\pi_1\otimes\cdots\otimes\pi_n).
The precise product-basis, projection, influence, and noise specializations
are represented by their individual production declarations; this umbrella
instruction supplies no assumption.
-
FABL.pmfInner_symm[complete] -
FABL.pmfInner_add_left[complete] -
FABL.pmfInner_smul_left[complete] -
FABL.pmfInner_self_nonneg[complete] -
FABL.pmfInner_self_eq_zero_iff[complete]
Exercise 8.2. Verify all real inner-product axioms for the form in
Definition 8.1, and prove that full support is exactly what makes
\langle f,f\rangle=0 imply f=0.
Lean code for Lemma8.7.2●5 theorems
Associated Lean declarations
-
FABL.pmfInner_symm[complete]
-
FABL.pmfInner_add_left[complete]
-
FABL.pmfInner_smul_left[complete]
-
FABL.pmfInner_self_nonneg[complete]
-
FABL.pmfInner_self_eq_zero_iff[complete]
-
FABL.pmfInner_symm[complete] -
FABL.pmfInner_add_left[complete] -
FABL.pmfInner_smul_left[complete] -
FABL.pmfInner_self_nonneg[complete] -
FABL.pmfInner_self_eq_zero_iff[complete]
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.pmfInner_symm.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f g : Ω → ℝ) : FABL.pmfInner π f g = FABL.pmfInner π g f
theorem FABL.pmfInner_symm.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f g : Ω → ℝ) : FABL.pmfInner π f g = FABL.pmfInner π g f
The weighted inner product is symmetric.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.pmfInner_add_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f g h : Ω → ℝ) : FABL.pmfInner π (f + g) h = FABL.pmfInner π f h + FABL.pmfInner π g h
theorem FABL.pmfInner_add_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f g h : Ω → ℝ) : FABL.pmfInner π (f + g) h = FABL.pmfInner π f h + FABL.pmfInner π g h
The weighted inner product is additive in its first argument.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.pmfInner_smul_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (c : ℝ) (f g : Ω → ℝ) : FABL.pmfInner π (c • f) g = c * FABL.pmfInner π f g
theorem FABL.pmfInner_smul_left.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (c : ℝ) (f g : Ω → ℝ) : FABL.pmfInner π (c • f) g = c * FABL.pmfInner π f g
The weighted inner product respects real scalar multiplication.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.pmfInner_self_nonneg.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f : Ω → ℝ) : 0 ≤ FABL.pmfInner π f f
theorem FABL.pmfInner_self_nonneg.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (f : Ω → ℝ) : 0 ≤ FABL.pmfInner π f f
A weighted self-inner product is nonnegative.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.pmfInner_self_eq_zero_iff.{u_1} {Ω : Type u_1} [Fintype Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) (f : Ω → ℝ) : FABL.pmfInner π f f = 0 ↔ f = 0
theorem FABL.pmfInner_self_eq_zero_iff.{u_1} {Ω : Type u_1} [Fintype Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) (f : Ω → ℝ) : FABL.pmfInner π f f = 0 ↔ f = 0
Exercise 8.2: full support makes the weighted form positive definite.
Exercise 8.3. From uniqueness and orthonormality of the Fourier expansion,
prove
\widehat f(\alpha)=\langle f,\phi_\alpha\rangle.
Lean code for Lemma8.7.3●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_eq_pmfInner.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff f a = FABL.pmfInner (FABL.productProbabilityPMF π n) f (B.productFunction a)
theorem FABL.FiniteFourierBasis.fourierCoeff_eq_pmfInner.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff f a = FABL.pmfInner (FABL.productProbabilityPMF π n) f (B.productFunction a)
Exercise 8.3: the Fourier coefficient is the weighted inner product with the basis vector.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_eq_productBasis_repr.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff f a = ((B.productBasis n).repr f) a
theorem FABL.FiniteFourierBasis.fourierCoeff_eq_productBasis_repr.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff f a = ((B.productBasis n).repr f) a
Exercise 8.3 and Definition 8.14: weighted-inner-product coefficients coincide with the algebraic coordinates of the product basis.
Exercise 8.4. Verify directly that the three functions in Example 8.10
form an orthonormal basis and that \phi_0\equiv1.
Lean code for Lemma8.7.4●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.threePointFourierFunction_orthonormal (a b : Fin 3) : (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x => FABL.threePointFourierFunction a x * FABL.threePointFourierFunction b x) = if a = b then 1 else 0
theorem FABL.threePointFourierFunction_orthonormal (a b : Fin 3) : (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x => FABL.threePointFourierFunction a x * FABL.threePointFourierFunction b x) = if a = b then 1 else 0
Exercise 8.4: the three functions in Example 8.10 are orthonormal.
-
FABL.threePointCIndicator_coefficient[complete] -
FABL.threePointBothCIndicator_fourierCoeff[complete] -
FABL.threePointBothCIndicator_fourierCoeff_table[complete]
Exercise 8.5. Compute all nine coefficients in the expansion of Example 8.15 and verify the displayed identity pointwise.
Lean code for Lemma8.7.5●3 theorems
Associated Lean declarations
-
FABL.threePointCIndicator_coefficient[complete]
-
FABL.threePointBothCIndicator_fourierCoeff[complete]
-
FABL.threePointBothCIndicator_fourierCoeff_table[complete]
-
FABL.threePointCIndicator_coefficient[complete] -
FABL.threePointBothCIndicator_fourierCoeff[complete] -
FABL.threePointBothCIndicator_fourierCoeff_table[complete]
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.threePointCIndicator_coefficient (j : Fin 3) : (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x => FABL.threePointCIndicator x * FABL.threePointBasis j x) = FABL.threePointCIndicatorCoeff j
theorem FABL.threePointCIndicator_coefficient (j : Fin 3) : (FABL.pmfExpectation (FABL.uniformPMF FABL.ThreePoint) fun x => FABL.threePointCIndicator x * FABL.threePointBasis j x) = FABL.threePointCIndicatorCoeff j
The one-site coefficient computation underlying Exercise 8.5.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.threePointBothCIndicator_fourierCoeff (a : FABL.MultiIndex 2 (Fin 3)) : FABL.threePointFourierBasis.fourierCoeff FABL.threePointBothCIndicator a = ∏ i, FABL.threePointCIndicatorCoeff (a i)
theorem FABL.threePointBothCIndicator_fourierCoeff (a : FABL.MultiIndex 2 (Fin 3)) : FABL.threePointFourierBasis.fourierCoeff FABL.threePointBothCIndicator a = ∏ i, FABL.threePointCIndicatorCoeff (a i)
The coefficient table in Example 8.15 factorizes into its two one-site coefficients.
-
theoremdefined in FABL/Chapter08/ProductFourierBases.leancomplete
theorem FABL.threePointBothCIndicator_fourierCoeff_table : FABL.threePointFourierBasis.fourierCoeff FABL.threePointBothCIndicator = fun a => FABL.threePointCIndicatorCoeff (a 0) * FABL.threePointCIndicatorCoeff (a 1)
theorem FABL.threePointBothCIndicator_fourierCoeff_table : FABL.threePointFourierBasis.fourierCoeff FABL.threePointBothCIndicator = fun a => FABL.threePointCIndicatorCoeff (a 0) * FABL.threePointCIndicatorCoeff (a 1)
Exercise 8.5: the coefficient function in Example 8.15, in the displayed two-coordinate table.
Exercise 8.6. Derive the expectation, Parseval, variance, and covariance identities in Proposition 8.16 from Plancherel's identity.
Lean code for Lemma8.7.6●3 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_centered.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (fun x => f x - FABL.productMean π f) a = if a = B.zeroMultiIndex n then 0 else B.fourierCoeff f a
theorem FABL.FiniteFourierBasis.fourierCoeff_centered.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (fun x => f x - FABL.productMean π f) a = if a = B.zeroMultiIndex n then 0 else B.fourierCoeff f a
The coefficient of the centered function vanishes at zero and otherwise equals the original coefficient.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_const.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (c : ℝ) (a : FABL.MultiIndex n ι) : B.fourierCoeff (fun x => c) a = if a = B.zeroMultiIndex n then c else 0
theorem FABL.FiniteFourierBasis.fourierCoeff_const.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (c : ℝ) (a : FABL.MultiIndex n ι) : B.fourierCoeff (fun x => c) a = if a = B.zeroMultiIndex n then c else 0
The coefficient of a constant function is supported only at the zero multi-index.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_injective.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} : Function.Injective B.fourierCoeff
theorem FABL.FiniteFourierBasis.fourierCoeff_injective.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} : Function.Injective B.fourierCoeff
Equality of all product Fourier coefficients determines the function.
-
FABL.projectOnCoordinates_add[complete] -
FABL.projectOnCoordinates_smul[complete] -
FABL.projectOnCoordinates_sum[complete] -
FABL.productNoiseOperator_add[complete] -
FABL.productNoiseOperator_smul[complete] -
FABL.productNoiseOperator_selfAdjoint[complete]
Exercise 8.7. Prove that every coordinate expectation E_I is linear,
idempotent, and self-adjoint. Deduce that the generalized noise operator
T_\rho is self-adjoint.
Lean code for Lemma8.7.7●6 theorems
Associated Lean declarations
-
FABL.projectOnCoordinates_add[complete]
-
FABL.projectOnCoordinates_smul[complete]
-
FABL.projectOnCoordinates_sum[complete]
-
FABL.productNoiseOperator_add[complete]
-
FABL.productNoiseOperator_smul[complete]
-
FABL.productNoiseOperator_selfAdjoint[complete]
-
FABL.projectOnCoordinates_add[complete] -
FABL.projectOnCoordinates_smul[complete] -
FABL.projectOnCoordinates_sum[complete] -
FABL.productNoiseOperator_add[complete] -
FABL.productNoiseOperator_smul[complete] -
FABL.productNoiseOperator_selfAdjoint[complete]
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.projectOnCoordinates_add.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f g : FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (f + g) = FABL.projectOnCoordinates π J f + FABL.projectOnCoordinates π J g
theorem FABL.projectOnCoordinates_add.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f g : FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (f + g) = FABL.projectOnCoordinates π J f + FABL.projectOnCoordinates π J g
Projection is additive.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.projectOnCoordinates_smul.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (c : ℝ) (f : FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (c • f) = c • FABL.projectOnCoordinates π J f
theorem FABL.projectOnCoordinates_smul.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (c : ℝ) (f : FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (c • f) = c • FABL.projectOnCoordinates π J f
Projection respects scalar multiplication.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.projectOnCoordinates_sum.{u_1, u_2} {Ω : Type u_1} {κ : Type u_2} [Fintype Ω] [Fintype κ] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f : κ → FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (∑ k, f k) = ∑ k, FABL.projectOnCoordinates π J (f k)
theorem FABL.projectOnCoordinates_sum.{u_1, u_2} {Ω : Type u_1} {κ : Type u_2} [Fintype Ω] [Fintype κ] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f : κ → FABL.ProductL2 Ω n) : FABL.projectOnCoordinates π J (∑ k, f k) = ∑ k, FABL.projectOnCoordinates π J (f k)
Projection commutes with a finite sum.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productNoiseOperator_add.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f g : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (f + g) = FABL.productNoiseOperator π ρ hρ f + FABL.productNoiseOperator π ρ hρ g
theorem FABL.productNoiseOperator_add.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f g : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (f + g) = FABL.productNoiseOperator π ρ hρ f + FABL.productNoiseOperator π ρ hρ g
Product noise is additive.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productNoiseOperator_smul.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (c : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (c • f) = c • FABL.productNoiseOperator π ρ hρ f
theorem FABL.productNoiseOperator_smul.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (c : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (c • f) = c • FABL.productNoiseOperator π ρ hρ f
Product noise respects scalar multiplication.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productNoiseOperator_selfAdjoint.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f (FABL.productNoiseOperator π ρ hρ g) = FABL.productInner π n (FABL.productNoiseOperator π ρ hρ f) g
theorem FABL.productNoiseOperator_selfAdjoint.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f (FABL.productNoiseOperator π ρ hρ g) = FABL.productInner π n (FABL.productNoiseOperator π ρ hρ f) g
Exercise 8.7: product noise is self-adjoint.
Exercise 8.8. Prove
f=E_jf+L_jf
and the orthogonal Pythagorean identity
\langle f,g\rangle
=\langle E_jf,E_jg\rangle+\langle L_jf,L_jg\rangle.
Lean code for Lemma8.7.8●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateProjection_add_laplacian.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) : FABL.coordinateProjection π i f + FABL.productCoordinateLaplacian π i f = f
theorem FABL.coordinateProjection_add_laplacian.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) : FABL.coordinateProjection π i f + FABL.productCoordinateLaplacian π i f = f
Exercise 8.8: every function splits into its coordinate projection and Laplacian.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.productInner_eq_projection_add_laplacian.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f g = FABL.productInner π n (FABL.coordinateProjection π i f) (FABL.coordinateProjection π i g) + FABL.productInner π n (FABL.productCoordinateLaplacian π i f) (FABL.productCoordinateLaplacian π i g)
theorem FABL.FiniteFourierBasis.productInner_eq_projection_add_laplacian.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f g = FABL.productInner π n (FABL.coordinateProjection π i f) (FABL.coordinateProjection π i g) + FABL.productInner π n (FABL.productCoordinateLaplacian π i f) (FABL.productCoordinateLaplacian π i g)
Exercise 8.8: the projection/Laplacian splitting is orthogonal.
-
FABL.replaceCoordinate[complete] -
FABL.coordinateProjection_apply[complete] -
FABL.coordinateProjection_replaceCoordinate[complete] -
FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian[complete] -
FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance[complete] -
FABL.coordinateProjection_resamplingDisagreement_eq_half_variance[complete]
Exercise 8.9. Prove every identity in Proposition 8.24, including the conditional-variance formula and both Boolean-valued specializations.
Lean code for Lemma8.7.9●6 declarations
Associated Lean declarations
-
FABL.replaceCoordinate[complete]
-
FABL.coordinateProjection_apply[complete]
-
FABL.coordinateProjection_replaceCoordinate[complete]
-
FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian[complete]
-
FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance[complete]
-
FABL.coordinateProjection_resamplingDisagreement_eq_half_variance[complete]
-
FABL.replaceCoordinate[complete] -
FABL.coordinateProjection_apply[complete] -
FABL.coordinateProjection_replaceCoordinate[complete] -
FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian[complete] -
FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance[complete] -
FABL.coordinateProjection_resamplingDisagreement_eq_half_variance[complete]
-
defdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
def FABL.replaceCoordinate.{u_1} {Ω : Type u_1} {n : ℕ} (x : Fin n → Ω) (i : Fin n) (ω : Ω) : Fin n → Ω
def FABL.replaceCoordinate.{u_1} {Ω : Type u_1} {n : ℕ} (x : Fin n → Ω) (i : Fin n) (ω : Ω) : Fin n → Ω
Replace coordinate `i` of `x` by `ω`.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateProjection_apply.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.coordinateProjection π i f x = FABL.pmfExpectation π fun ω => f (FABL.replaceCoordinate x i ω)
theorem FABL.coordinateProjection_apply.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.coordinateProjection π i f x = FABL.pmfExpectation π fun ω => f (FABL.replaceCoordinate x i ω)
Projection onto all coordinates except `i` is the one-site expectation over a fresh value of coordinate `i`.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateProjection_replaceCoordinate.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) (ω : Ω) : FABL.coordinateProjection π i f (FABL.replaceCoordinate x i ω) = FABL.coordinateProjection π i f x
theorem FABL.coordinateProjection_replaceCoordinate.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) (ω : Ω) : FABL.coordinateProjection π i f (FABL.replaceCoordinate x i ω) = FABL.coordinateProjection π i f x
Coordinate projection is unchanged when its queried coordinate is replaced.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) (x : Fin n → Ω) : FABL.coordinateConditionalVariance π f i x = FABL.coordinateProjection π i (fun z => FABL.productCoordinateLaplacian π i f z ^ 2) x
theorem FABL.coordinateConditionalVariance_eq_coordinateProjection_sq_laplacian.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) (x : Fin n → Ω) : FABL.coordinateConditionalVariance π f i x = FABL.coordinateProjection π i (fun z => FABL.productCoordinateLaplacian π i f z ^ 2) x
Pointwise conditional variance is the coordinate projection of the squared Laplacian.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) : (FABL.coordinateProjection π i fun x => |FABL.productCoordinateLaplacian π i f x|) = FABL.coordinateConditionalVariance π f i
theorem FABL.coordinateProjection_abs_laplacian_eq_coordinateConditionalVariance.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) : (FABL.coordinateProjection π i fun x => |FABL.productCoordinateLaplacian π i f x|) = FABL.coordinateConditionalVariance π f i
Conditional expected absolute Laplacian equals the conditional coordinate variance for a sign-range function.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.coordinateProjection_resamplingDisagreement_eq_half_variance.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) : (FABL.coordinateProjection π i fun x => FABL.pmfExpectation π fun ω => if f x ≠ f (FABL.replaceCoordinate x i ω) then 1 else 0) = fun x => 1 / 2 * FABL.coordinateConditionalVariance π f i x
theorem FABL.coordinateProjection_resamplingDisagreement_eq_half_variance.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (i : Fin n) : (FABL.coordinateProjection π i fun x => FABL.pmfExpectation π fun ω => if f x ≠ f (FABL.replaceCoordinate x i ω) then 1 else 0) = fun x => 1 / 2 * FABL.coordinateConditionalVariance π f i x
Projecting the resampling-disagreement function averages two independent copies of the coordinate section.
-
FABL.coordinateConditionalAbsMoment[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence[complete] -
FABL.productLpNorm_rpow_eq_productMean_abs_rpow[complete] -
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence[complete] -
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence[complete]
Exercise 8.10. If f is \{-1,1\}-valued, then for every p\ge1,
\|L_if\|_p^p\le2^p\operatorname{Inf}_i[f].
For 1\le p\le2, prove the sharper estimate
\|L_if\|_p^p\le\operatorname{Inf}_i[f].
Lean code for Lemma8.7.10●7 declarations
Associated Lean declarations
-
FABL.coordinateConditionalAbsMoment[complete]
-
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional[complete]
-
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence[complete]
-
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence[complete]
-
FABL.productLpNorm_rpow_eq_productMean_abs_rpow[complete]
-
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence[complete]
-
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence[complete]
-
FABL.coordinateConditionalAbsMoment[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence[complete] -
FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence[complete] -
FABL.productLpNorm_rpow_eq_productMean_abs_rpow[complete] -
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence[complete] -
FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence[complete]
-
defdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
def FABL.coordinateConditionalAbsMoment.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (p : ℝ) (f : FABL.ProductL2 Ω n) (i : Fin n) (x : Fin n → Ω) : ℝ
def FABL.coordinateConditionalAbsMoment.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (p : ℝ) (f : FABL.ProductL2 Ω n) (i : Fin n) (x : Fin n → Ω) : ℝ
The conditional centered absolute `p`th moment in one coordinate.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (p : ℝ) (f : FABL.ProductL2 Ω n) (i : Fin n) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) = FABL.productMean π (FABL.coordinateConditionalAbsMoment π p f i)
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_eq_conditional.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (p : ℝ) (f : FABL.ProductL2 Ω n) (i : Fin n) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) = FABL.productMean π (FABL.coordinateConditionalAbsMoment π p f i)
Global absolute Laplacian moment is the mean conditional moment.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp : 1 ≤ p) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) ≤ 2 ^ p * FABL.productInfluence π f i
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_two_rpow_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp : 1 ≤ p) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) ≤ 2 ^ p * FABL.productInfluence π f i
Exercise 8.10's coarse centered-moment estimate for every `p ≥ 1`.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp1 : 1 ≤ p) (hp2 : p ≤ 2) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) ≤ FABL.productInfluence π f i
theorem FABL.FiniteFourierBasis.productMean_abs_laplacian_rpow_le_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp1 : 1 ≤ p) (hp2 : p ≤ 2) : (FABL.productMean π fun x => |FABL.productCoordinateLaplacian π i f x| ^ p) ≤ FABL.productInfluence π f i
Exercise 8.10's sharp conditional-moment estimate for `1 ≤ p ≤ 2`.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.productLpNorm_rpow_eq_productMean_abs_rpow.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (p : ℝ) (hp : 0 < p) (f : FABL.ProductL2 Ω n) : FABL.productLpNorm π n p f ^ p = FABL.productMean π fun x => |f x| ^ p
theorem FABL.productLpNorm_rpow_eq_productMean_abs_rpow.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (p : ℝ) (hp : 0 < p) (f : FABL.ProductL2 Ω n) : FABL.productLpNorm π n p f ^ p = FABL.productMean π fun x => |f x| ^ p
Raising a positive-exponent product `L^p` quantity back to `p` recovers its moment.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp : 1 ≤ p) : FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p ≤ 2 ^ p * FABL.productInfluence π f i
theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_two_rpow_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp : 1 ≤ p) : FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p ≤ 2 ^ p * FABL.productInfluence π f i
Exercise 8.10 in the book's norm-power notation, for every `p ≥ 1`.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp1 : 1 ≤ p) (hp2 : p ≤ 2) : FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p ≤ FABL.productInfluence π f i
theorem FABL.FiniteFourierBasis.productLpNorm_laplacian_rpow_le_influence.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (i : Fin n) (p : ℝ) (hp1 : 1 ≤ p) (hp2 : p ≤ 2) : FABL.productLpNorm π n p (FABL.productCoordinateLaplacian π i f) ^ p ≤ FABL.productInfluence π f i
Exercise 8.10's sharper norm-power estimate for `1 ≤ p ≤ 2`.
-
FABL.productSingleCoordinateNoiseOperator[complete] -
FABL.productSingleCoordinateNoiseOperator_eq[complete] -
FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator[complete] -
FABL.productSingleCoordinateNoiseOperator_semigroup[complete] -
FABL.productSingleCoordinateNoiseOperator_comm[complete] -
FABL.anisotropicProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator[complete] -
FABL.anisotropicProductNoiseOperator_const[complete] -
FABL.anisotropicProductNoiseOperator_single[complete] -
FABL.productNoiseOperator_semigroup[complete] -
FABL.abs_pmfExpectation_rpow_le[complete] -
FABL.anisotropicProductNoiseKernel[complete] -
FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction[complete] -
FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation[complete] -
FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le[complete] -
FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le[complete]
Exercise 8.11. Define the one-coordinate noise operator
T_\rho^if=\rho f+(1-\rho)E_if=E_if+\rho L_if.
For \rho\in[0,1] identify it with resampling only coordinate i.
Prove
T_{\rho_1}^iT_{\rho_2}^i=T_{\rho_1\rho_2}^i
and that operators on distinct coordinates commute. For a parameter vector
define T_{(\rho_1,\ldots,\rho_n)} as their product, recover T_\rho
on the diagonal, and prove for p\ge1
\|T_{(\rho_1,\ldots,\rho_n)}f\|_p\le\|f\|_p.
Lean code for Lemma8.7.11●17 declarations
Associated Lean declarations
-
FABL.productSingleCoordinateNoiseOperator[complete]
-
FABL.productSingleCoordinateNoiseOperator_eq[complete]
-
FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator[complete]
-
FABL.productSingleCoordinateNoiseOperator_semigroup[complete]
-
FABL.productSingleCoordinateNoiseOperator_comm[complete]
-
FABL.anisotropicProductNoiseOperator[complete]
-
FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator[complete]
-
FABL.anisotropicProductNoiseOperator_const[complete]
-
FABL.anisotropicProductNoiseOperator_single[complete]
-
FABL.productNoiseOperator_semigroup[complete]
-
FABL.abs_pmfExpectation_rpow_le[complete]
-
FABL.anisotropicProductNoiseKernel[complete]
-
FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction[complete]
-
FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation[complete]
-
FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator[complete]
-
FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le[complete]
-
FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le[complete]
-
FABL.productSingleCoordinateNoiseOperator[complete] -
FABL.productSingleCoordinateNoiseOperator_eq[complete] -
FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator[complete] -
FABL.productSingleCoordinateNoiseOperator_semigroup[complete] -
FABL.productSingleCoordinateNoiseOperator_comm[complete] -
FABL.anisotropicProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator[complete] -
FABL.anisotropicProductNoiseOperator_const[complete] -
FABL.anisotropicProductNoiseOperator_single[complete] -
FABL.productNoiseOperator_semigroup[complete] -
FABL.abs_pmfExpectation_rpow_le[complete] -
FABL.anisotropicProductNoiseKernel[complete] -
FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction[complete] -
FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation[complete] -
FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le[complete] -
FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le[complete]
-
defdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
def FABL.productSingleCoordinateNoiseOperator.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
def FABL.productSingleCoordinateNoiseOperator.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
Exercise 8.11: noise applied only to coordinate `i`, in the algebraic form `Eᵢf + ρLᵢf = ρf + (1-ρ)Eᵢf`.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productSingleCoordinateNoiseOperator_eq.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ f = ρ • f + (1 - ρ) • FABL.coordinateProjection π i f
theorem FABL.productSingleCoordinateNoiseOperator_eq.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ f = ρ • f + (1 - ρ) • FABL.coordinateProjection π i f
The two affine formulas for one-coordinate noise agree.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (FABL.productSingleCoordinateNoiseOperator π i ρ f) a = (if a i = B.zeroIndex then 1 else ρ) * B.fourierCoeff f a
theorem FABL.FiniteFourierBasis.fourierCoeff_productSingleCoordinateNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (FABL.productSingleCoordinateNoiseOperator π i ρ f) a = (if a i = B.zeroIndex then 1 else ρ) * B.fourierCoeff f a
Spectral action of one-coordinate noise.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productSingleCoordinateNoiseOperator_semigroup.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ σ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ (FABL.productSingleCoordinateNoiseOperator π i σ f) = FABL.productSingleCoordinateNoiseOperator π i (ρ * σ) f
theorem FABL.productSingleCoordinateNoiseOperator_semigroup.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ σ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ (FABL.productSingleCoordinateNoiseOperator π i σ f) = FABL.productSingleCoordinateNoiseOperator π i (ρ * σ) f
Exercise 8.11(b): one-coordinate noise has the semigroup law.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productSingleCoordinateNoiseOperator_comm.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i j : Fin n) (ρ σ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ (FABL.productSingleCoordinateNoiseOperator π j σ f) = FABL.productSingleCoordinateNoiseOperator π j σ (FABL.productSingleCoordinateNoiseOperator π i ρ f)
theorem FABL.productSingleCoordinateNoiseOperator_comm.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i j : Fin n) (ρ σ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.productSingleCoordinateNoiseOperator π i ρ (FABL.productSingleCoordinateNoiseOperator π j σ f) = FABL.productSingleCoordinateNoiseOperator π j σ (FABL.productSingleCoordinateNoiseOperator π i ρ f)
Exercise 8.11(b): coordinate noise operators on different coordinates commute.
-
defdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
def FABL.anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : Fin n → ℝ) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
def FABL.anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : Fin n → ℝ) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
The anisotropic product-noise multiplier with one correlation parameter per coordinate.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : Fin n → ℝ) (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (FABL.anisotropicProductNoiseOperator B ρ f) a = (∏ i, if a i = B.zeroIndex then 1 else ρ i) * B.fourierCoeff f a
theorem FABL.FiniteFourierBasis.fourierCoeff_anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : Fin n → ℝ) (f : FABL.ProductL2 Ω n) (a : FABL.MultiIndex n ι) : B.fourierCoeff (FABL.anisotropicProductNoiseOperator B ρ f) a = (∏ i, if a i = B.zeroIndex then 1 else ρ i) * B.fourierCoeff f a
Fourier coefficient of anisotropic product noise.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.anisotropicProductNoiseOperator_const.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.anisotropicProductNoiseOperator B (fun x => ρ) f = FABL.spectralProductNoiseOperator B ρ f
theorem FABL.anisotropicProductNoiseOperator_const.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.anisotropicProductNoiseOperator B (fun x => ρ) f = FABL.spectralProductNoiseOperator B ρ f
Exercise 8.11(c): equal coordinate parameters give the ordinary spectral noise operator.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.anisotropicProductNoiseOperator_single.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.anisotropicProductNoiseOperator B (fun j => if j = i then ρ else 1) f = FABL.productSingleCoordinateNoiseOperator π i ρ f
theorem FABL.anisotropicProductNoiseOperator_single.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (i : Fin n) (ρ : ℝ) (f : FABL.ProductL2 Ω n) : FABL.anisotropicProductNoiseOperator B (fun j => if j = i then ρ else 1) f = FABL.productSingleCoordinateNoiseOperator π i ρ f
Exercise 8.11(c): setting only coordinate `i` to `ρ` gives the single-coordinate operator.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.productNoiseOperator_semigroup.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ σ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (hσ : σ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (FABL.productNoiseOperator π σ hσ f) = FABL.productNoiseOperator π (ρ * σ) ⋯ f
theorem FABL.productNoiseOperator_semigroup.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ σ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (hσ : σ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) : FABL.productNoiseOperator π ρ hρ (FABL.productNoiseOperator π σ hσ f) = FABL.productNoiseOperator π (ρ * σ) ⋯ f
The ordinary product noise operator obeys the semigroup law.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.abs_pmfExpectation_rpow_le.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (p : ℝ) (hp : 1 ≤ p) (f : Ω → ℝ) : |FABL.pmfExpectation π f| ^ p ≤ FABL.pmfExpectation π fun x => |f x| ^ p
theorem FABL.abs_pmfExpectation_rpow_le.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (p : ℝ) (hp : 1 ≤ p) (f : Ω → ℝ) : |FABL.pmfExpectation π f| ^ p ≤ FABL.pmfExpectation π fun x => |f x| ^ p
Finite Jensen inequality for the convex function `t ↦ t^p`, combined with the triangle inequality for a PMF expectation.
-
defdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
def FABL.anisotropicProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (x : Fin n → Ω) : PMF (Fin n → Ω)
def FABL.anisotropicProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (x : Fin n → Ω) : PMF (Fin n → Ω)
Independent coordinatewise noise with a separate parameter in every coordinate.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (x : Fin n → Ω) (a : FABL.MultiIndex n ι) : FABL.pmfExpectation (FABL.anisotropicProductNoiseKernel π rho hrho x) (B.productFunction a) = (∏ i, if a i = B.zeroIndex then 1 else rho i) * B.productFunction a x
theorem FABL.FiniteFourierBasis.pmfExpectation_anisotropicProductNoiseKernel_productFunction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (x : Fin n → Ω) (a : FABL.MultiIndex n ι) : FABL.pmfExpectation (FABL.anisotropicProductNoiseKernel π rho hrho x) (B.productFunction a) = (∏ i, if a i = B.zeroIndex then 1 else rho i) * B.productFunction a x
A product Fourier basis vector is an eigenfunction of anisotropic noise.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.anisotropicProductNoiseOperator B rho f x = FABL.pmfExpectation (FABL.anisotropicProductNoiseKernel π rho hrho x) f
theorem FABL.FiniteFourierBasis.anisotropicProductNoiseOperator_apply_eq_pmfExpectation.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.anisotropicProductNoiseOperator B rho f x = FABL.pmfExpectation (FABL.anisotropicProductNoiseKernel π rho hrho x) f
The spectral anisotropic operator is exactly expectation against its product kernel.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (f : FABL.ProductL2 Ω n) : FABL.productMean π (FABL.anisotropicProductNoiseOperator B rho f) = FABL.productMean π f
theorem FABL.FiniteFourierBasis.productMean_anisotropicProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (f : FABL.ProductL2 Ω n) : FABL.productMean π (FABL.anisotropicProductNoiseOperator B rho f) = FABL.productMean π f
Anisotropic noise preserves the product mean.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (p : ℝ) (hp : 1 ≤ p) : (FABL.productMean π fun x => |FABL.anisotropicProductNoiseOperator B rho f x| ^ p) ≤ FABL.productMean π fun x => |f x| ^ p
theorem FABL.FiniteFourierBasis.productMean_abs_anisotropicNoise_rpow_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (p : ℝ) (hp : 1 ≤ p) : (FABL.productMean π fun x => |FABL.anisotropicProductNoiseOperator B rho f x| ^ p) ≤ FABL.productMean π fun x => |f x| ^ p
Exercise 8.11(d), moment form.
-
theoremdefined in FABL/Chapter08/ProductLpInequalities.leancomplete
theorem FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (p : ℝ) (hp : 1 ≤ p) : FABL.productLpNorm π n p (FABL.anisotropicProductNoiseOperator B rho f) ≤ FABL.productLpNorm π n p f
theorem FABL.FiniteFourierBasis.productLpNorm_anisotropicProductNoiseOperator_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (rho : Fin n → ℝ) (hrho : ∀ (i : Fin n), rho i ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (p : ℝ) (hp : 1 ≤ p) : FABL.productLpNorm π n p (FABL.anisotropicProductNoiseOperator B rho f) ≤ FABL.productLpNorm π n p f
Exercise 8.11(d): anisotropic product noise contracts every `L^p`, `p ≥ 1`.
-
FABL.uniformExtendedNoiseMass[complete] -
FABL.uniformExtendedCoordinateNoisePMF[complete] -
FABL.uniformExtendedNoiseMass_self[complete] -
FABL.uniformExtendedNoiseMass_of_ne[complete] -
FABL.uniformExtendedNoiseMass_lowerEndpoint[complete] -
FABL.uniformExtendedCorrelatedPairPMF[complete] -
FABL.uniformExtendedCorrelatedPairPMF_apply_swap[complete] -
FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF[complete] -
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis[complete] -
FABL.uniformExtendedProductNoiseKernel[complete] -
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction[complete] -
FABL.uniformExtendedProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion[complete]
Exercise 8.12. Suppose |\Omega|=m and \pi is uniform. Show that
for the one-coordinate noise kernel
\Pr[y_i=\omega]=
\begin{cases}
\rho+(1-\rho)/m,&x_i=\omega,\\
(1-\rho)/m,&x_i\ne\omega.
\end{cases}
This remains a probability law for
-1/(m-1)\le\rho<0; at the left endpoint it is uniform on
\Omega\setminus\{x_i\}. Prove symmetry under exchanging x,y and
extend the multiplier formula of Proposition 8.28 to this negative interval.
Lean code for Lemma8.7.12●13 declarations
Associated Lean declarations
-
FABL.uniformExtendedNoiseMass[complete]
-
FABL.uniformExtendedCoordinateNoisePMF[complete]
-
FABL.uniformExtendedNoiseMass_self[complete]
-
FABL.uniformExtendedNoiseMass_of_ne[complete]
-
FABL.uniformExtendedNoiseMass_lowerEndpoint[complete]
-
FABL.uniformExtendedCorrelatedPairPMF[complete]
-
FABL.uniformExtendedCorrelatedPairPMF_apply_swap[complete]
-
FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF[complete]
-
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis[complete]
-
FABL.uniformExtendedProductNoiseKernel[complete]
-
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction[complete]
-
FABL.uniformExtendedProductNoiseOperator[complete]
-
FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion[complete]
-
FABL.uniformExtendedNoiseMass[complete] -
FABL.uniformExtendedCoordinateNoisePMF[complete] -
FABL.uniformExtendedNoiseMass_self[complete] -
FABL.uniformExtendedNoiseMass_of_ne[complete] -
FABL.uniformExtendedNoiseMass_lowerEndpoint[complete] -
FABL.uniformExtendedCorrelatedPairPMF[complete] -
FABL.uniformExtendedCorrelatedPairPMF_apply_swap[complete] -
FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF[complete] -
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis[complete] -
FABL.uniformExtendedProductNoiseKernel[complete] -
FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction[complete] -
FABL.uniformExtendedProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion[complete]
-
defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
def FABL.uniformExtendedNoiseMass.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (ρ : ℝ) (x y : Ω) : ℝ
def FABL.uniformExtendedNoiseMass.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (ρ : ℝ) (x y : Ω) : ℝ
Exercise 8.12's point mass for one coordinate of a uniform `m`-symbol alphabet.
-
defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
def FABL.uniformExtendedCoordinateNoisePMF.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) : PMF Ω
def FABL.uniformExtendedCoordinateNoisePMF.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) : PMF Ω
Exercise 8.12: the extended one-coordinate probability kernel.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.uniformExtendedNoiseMass_self.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (x : Ω) : FABL.uniformExtendedNoiseMass ρ x x = ρ + (1 - ρ) / ↑(Fintype.card Ω)
theorem FABL.uniformExtendedNoiseMass_self.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (x : Ω) : FABL.uniformExtendedNoiseMass ρ x x = ρ + (1 - ρ) / ↑(Fintype.card Ω)
The self-transition mass is `ρ + (1-ρ)/m`.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.uniformExtendedNoiseMass_of_ne.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (ρ : ℝ) {x y : Ω} (hxy : y ≠ x) : FABL.uniformExtendedNoiseMass ρ x y = (1 - ρ) / ↑(Fintype.card Ω)
theorem FABL.uniformExtendedNoiseMass_of_ne.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (ρ : ℝ) {x y : Ω} (hxy : y ≠ x) : FABL.uniformExtendedNoiseMass ρ x y = (1 - ρ) / ↑(Fintype.card Ω)
Every off-diagonal transition has mass `(1-ρ)/m`.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.uniformExtendedNoiseMass_lowerEndpoint.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (x y : Ω) : FABL.uniformExtendedNoiseMass (-(↑(Fintype.card Ω - 1))⁻¹) x y = if y = x then 0 else (↑(Fintype.card Ω - 1))⁻¹
theorem FABL.uniformExtendedNoiseMass_lowerEndpoint.{u_1} {Ω : Type u_1} [Fintype Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (x y : Ω) : FABL.uniformExtendedNoiseMass (-(↑(Fintype.card Ω - 1))⁻¹) x y = if y = x then 0 else (↑(Fintype.card Ω - 1))⁻¹
At the sharp negative endpoint, the input symbol has mass zero and every other symbol has mass `1/(m-1)`.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) (f : Ω → ℝ) : FABL.pmfExpectation (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x) f = ρ * f x + (1 - ρ) * Finset.univ.expect fun y => f y
theorem FABL.pmfExpectation_uniformExtendedCoordinateNoisePMF.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) (f : Ω → ℝ) : FABL.pmfExpectation (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x) f = ρ * f x + (1 - ρ) * Finset.univ.expect fun y => f y
Expectation under the extended kernel is `ρ f(x) + (1-ρ) 𝔼[f]`.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) (a : ι) : FABL.pmfExpectation (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x) (B.basis a) = if a = B.zeroIndex then 1 else ρ * B.basis a x
theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedCoordinateNoisePMF_basis.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Ω) (a : ι) : FABL.pmfExpectation (FABL.uniformExtendedCoordinateNoisePMF hm ρ hlower hupper x) (B.basis a) = if a = B.zeroIndex then 1 else ρ * B.basis a x
A uniform single-site Fourier basis is an eigenbasis of the extended kernel.
-
defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
def FABL.uniformExtendedProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Fin n → Ω) : PMF (Fin n → Ω)
def FABL.uniformExtendedProductNoiseKernel.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Fin n → Ω) : PMF (Fin n → Ω)
Independent coordinatewise extended noise on a uniform product space.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Fin n → Ω) (a : FABL.MultiIndex n ι) : FABL.pmfExpectation (FABL.uniformExtendedProductNoiseKernel hm ρ hlower hupper x) (B.productFunction a) = ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.productFunction a x
theorem FABL.FiniteFourierBasis.pmfExpectation_uniformExtendedProductNoiseKernel_productFunction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (x : Fin n → Ω) (a : FABL.MultiIndex n ι) : FABL.pmfExpectation (FABL.uniformExtendedProductNoiseKernel hm ρ hlower hupper x) (B.productFunction a) = ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.productFunction a x
Exercise 8.12: product Fourier functions retain the eigenvalue `ρ ^ #α` throughout the sharp negative-correlation interval.
-
defdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
def FABL.uniformExtendedProductNoiseOperator.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
def FABL.uniformExtendedProductNoiseOperator.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
The product-space operator associated with the extended kernel.
-
theoremdefined in FABL/Chapter08/GeneralizedNoiseExtensions.leancomplete
theorem FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.uniformExtendedProductNoiseOperator hm ρ hlower hupper f x = ∑ a, ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.fourierCoeff f a * B.productFunction a x
theorem FABL.FiniteFourierBasis.uniformExtendedProductNoiseOperator_fourier_expansion.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] [DecidableEq Ω] {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω (FABL.uniformPMF Ω) ι) (hm : 2 ≤ Fintype.card Ω) {n : ℕ} (ρ : ℝ) (hlower : -(↑(Fintype.card Ω - 1))⁻¹ ≤ ρ) (hupper : ρ ≤ 1) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : FABL.uniformExtendedProductNoiseOperator hm ρ hlower hupper f x = ∑ a, ρ ^ FABL.multiIndexOrder B.zeroIndex a * B.fourierCoeff f a * B.productFunction a x
Exercise 8.12: the full product operator has the same Fourier multiplier formula for negative correlation.
Exercise 8.13. Define the zero-stable influence by
\operatorname{Inf}_i^{(0)}[f]
=\sum_{\substack{\#\alpha=1\\\alpha_i\ne0}}
\widehat f(\alpha)^2,
and extend Proposition 8.31 to the endpoint \delta=1.
Lean code for Lemma8.7.13●4 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.continuous_stableInfluencePolynomial.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : Continuous fun ρ => FABL.stableInfluencePolynomial B ρ f i
theorem FABL.continuous_stableInfluencePolynomial.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : Continuous fun ρ => FABL.stableInfluencePolynomial B ρ f i
The stable-influence polynomial is continuous in the correlation parameter.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.stableInfluencePolynomial_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : FABL.stableInfluencePolynomial B 0 f i = ∑ a with FABL.multiIndexOrder B.zeroIndex a = 1 ∧ a i ≠ B.zeroIndex, B.fourierCoeff f a ^ 2
theorem FABL.FiniteFourierBasis.stableInfluencePolynomial_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : FABL.stableInfluencePolynomial B 0 f i = ∑ a with FABL.multiIndexOrder B.zeroIndex a = 1 ∧ a i ≠ B.zeroIndex, B.fourierCoeff f a ^ 2
Exercise 8.13: at zero correlation, only order-one coefficients survive.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.tendsto_stableInfluencePolynomial_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : Filter.Tendsto (fun ρ => FABL.stableInfluencePolynomial B ρ f i) (nhds 0) (nhds (∑ a with FABL.multiIndexOrder B.zeroIndex a = 1 ∧ a i ≠ B.zeroIndex, B.fourierCoeff f a ^ 2))
theorem FABL.FiniteFourierBasis.tendsto_stableInfluencePolynomial_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : Filter.Tendsto (fun ρ => FABL.stableInfluencePolynomial B ρ f i) (nhds 0) (nhds (∑ a with FABL.multiIndexOrder B.zeroIndex a = 1 ∧ a i ≠ B.zeroIndex, B.fourierCoeff f a ^ 2))
The continuous extension of stable influence tends to its order-one value as `ρ → 0`.
-
theoremdefined in FABL/Chapter08/GeneralizedFourierFormulas.leancomplete
theorem FABL.FiniteFourierBasis.card_stableInfluencePolynomial_zero_ge_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (hvar : FABL.productVariance π f ≤ 1) (ε : ℝ) (hε : ε ∈ Set.Ioc 0 1) : ↑{i | ε ≤ FABL.stableInfluencePolynomial B 0 f i}.card ≤ 1 / ε
theorem FABL.FiniteFourierBasis.card_stableInfluencePolynomial_zero_ge_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (hvar : FABL.productVariance π f ≤ 1) (ε : ℝ) (hε : ε ∈ Set.Ioc 0 1) : ↑{i | ε ≤ FABL.stableInfluencePolynomial B 0 f i}.card ≤ 1 / ε
Exercise 8.13, endpoint `δ = 1`: the same cardinal bound holds for the continuous zero-correlation extension.
Exercise 8.14. Use inclusion--exclusion in the explicit Möbius formula to
prove directly that
\sum_{S\subseteq T}f^{=S}=f^{\subseteq T}.
Lean code for Lemma8.7.14●1 theorem
Associated Lean declarations
-
FABL.sum_booleanMobius_interval[complete]
-
FABL.sum_booleanMobius_interval[complete]
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.sum_booleanMobius_interval.{u_1} {α : Type u_1} [DecidableEq α] (A S : Finset α) (hAS : A ⊆ S) : ∑ J ∈ S.powerset with A ⊆ J, (-1) ^ (S.card - J.card) = if A = S then 1 else 0
theorem FABL.sum_booleanMobius_interval.{u_1} {α : Type u_1} [DecidableEq α] (A S : Finset α) (hAS : A ⊆ S) : ∑ J ∈ S.powerset with A ⊆ J, (-1) ^ (S.card - J.card) = if A = S then 1 else 0
The alternating coefficient on the Boolean interval `[A,S]` is one at the top and zero otherwise. This is the finite Boolean-lattice Möbius identity used in Theorem 8.35.
Exercise 8.15. Derive the linearity of f\mapsto f^{=S} only from the
uniqueness clause of Theorem 8.35, without using its explicit formula.
Lean code for Lemma8.7.15●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.orthogonalComponent_add_of_uniqueness.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (f + g) S = B.orthogonalComponent f S + B.orthogonalComponent g S
theorem FABL.FiniteFourierBasis.orthogonalComponent_add_of_uniqueness.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (f + g) S = B.orthogonalComponent f S + B.orthogonalComponent g S
Exercise 8.15: additivity also follows from uniqueness of the defining decomposition.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.orthogonalComponent_smul_of_uniqueness.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (c : ℝ) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (c • f) S = c • B.orthogonalComponent f S
theorem FABL.FiniteFourierBasis.orthogonalComponent_smul_of_uniqueness.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (c : ℝ) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (c • f) S = c • B.orthogonalComponent f S
Exercise 8.15: homogeneity also follows from uniqueness of the defining decomposition.
Exercise 8.16. Prove
(f^{=S})^{\subseteq T}
=\begin{cases}f^{=S},&S\subseteq T,\\0,&S\nsubseteq T.\end{cases}
Lean code for Lemma8.7.16●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.projectOnCoordinates_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S T : Finset (Fin n)) : FABL.projectOnCoordinates π T (B.orthogonalComponent f S) = if S ⊆ T then B.orthogonalComponent f S else 0
theorem FABL.FiniteFourierBasis.projectOnCoordinates_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S T : Finset (Fin n)) : FABL.projectOnCoordinates π T (B.orthogonalComponent f S) = if S ⊆ T then B.orthogonalComponent f S else 0
Exercise 8.16: projecting one exact-support component keeps it precisely when all of its coordinates are retained.
-
FABL.firstCoordinates[complete] -
FABL.FiniteFourierBasis.orthogonalDoobMartingale[complete] -
FABL.FiniteFourierBasis.project_orthogonalDoobMartingale[complete] -
FABL.FiniteFourierBasis.orthogonalDoobDifference[complete] -
FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero[complete] -
FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components[complete]
Exercise 8.17. If x\sim\pi^{\otimes n}, prove that
(f^{\subseteq[t]}(x))_{t=0}^n is a martingale. Define its difference
sequence by
d_tf=f^{\subseteq[t]}-f^{\subseteq[t-1]}
=\sum_{\max S=t}f^{=S},
and prove that every d_tf has conditional mean zero given the first
t-1 coordinates.
Lean code for Lemma8.7.17●6 declarations
Associated Lean declarations
-
FABL.firstCoordinates[complete]
-
FABL.FiniteFourierBasis.orthogonalDoobMartingale[complete]
-
FABL.FiniteFourierBasis.project_orthogonalDoobMartingale[complete]
-
FABL.FiniteFourierBasis.orthogonalDoobDifference[complete]
-
FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero[complete]
-
FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components[complete]
-
FABL.firstCoordinates[complete] -
FABL.FiniteFourierBasis.orthogonalDoobMartingale[complete] -
FABL.FiniteFourierBasis.project_orthogonalDoobMartingale[complete] -
FABL.FiniteFourierBasis.orthogonalDoobDifference[complete] -
FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero[complete] -
FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components[complete]
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.firstCoordinates (n t : ℕ) : Finset (Fin n)
def FABL.firstCoordinates (n t : ℕ) : Finset (Fin n)
The first `t` coordinates, indexed as `{0, ..., t-1}`. -
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.FiniteFourierBasis.orthogonalDoobMartingale.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (_B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : ℕ) : FABL.ProductL2 Ω n
def FABL.FiniteFourierBasis.orthogonalDoobMartingale.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (_B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : ℕ) : FABL.ProductL2 Ω n
Exercise 8.17(a): the finite Doob martingale obtained by revealing the first `t` coordinates.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.project_orthogonalDoobMartingale.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {s t : ℕ} (hst : s ≤ t) : FABL.projectOnCoordinates π (FABL.firstCoordinates n s) (B.orthogonalDoobMartingale f t) = B.orthogonalDoobMartingale f s
theorem FABL.FiniteFourierBasis.project_orthogonalDoobMartingale.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {s t : ℕ} (hst : s ≤ t) : FABL.projectOnCoordinates π (FABL.firstCoordinates n s) (B.orthogonalDoobMartingale f t) = B.orthogonalDoobMartingale f s
Exercise 8.17(a), conditional-expectation form: conditioning the time-`t` value on all information available at an earlier time `s` returns the time-`s` value.
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.FiniteFourierBasis.orthogonalDoobDifference.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : FABL.ProductL2 Ω n
def FABL.FiniteFourierBasis.orthogonalDoobDifference.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : FABL.ProductL2 Ω n
Exercise 8.17(b): the martingale difference when coordinate `t` is revealed.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : FABL.projectOnCoordinates π (FABL.firstCoordinates n ↑t) (B.orthogonalDoobDifference f t) = 0
theorem FABL.FiniteFourierBasis.project_orthogonalDoobDifference_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : FABL.projectOnCoordinates π (FABL.firstCoordinates n ↑t) (B.orthogonalDoobDifference f t) = 0
Exercise 8.17(b): a martingale difference has conditional mean zero given all previously revealed coordinates.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : B.orthogonalDoobDifference f t = ∑ S ∈ (FABL.firstCoordinates n (↑t + 1)).powerset with ¬S ⊆ FABL.firstCoordinates n ↑t, B.orthogonalComponent f S
theorem FABL.FiniteFourierBasis.orthogonalDoobDifference_eq_sum_components.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (t : Fin n) : B.orthogonalDoobDifference f t = ∑ S ∈ (FABL.firstCoordinates n (↑t + 1)).powerset with ¬S ⊆ FABL.firstCoordinates n ↑t, B.orthogonalComponent f S
Exercise 8.17(b): the martingale difference is the sum of precisely those components newly revealed at time `t`.
-
FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents[complete] -
FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent[complete] -
FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight[complete] -
FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent[complete] -
FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator[complete] -
FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight[complete]
Exercise 8.18. Derive directly from the orthogonal decomposition
\langle f,g\rangle
=\sum_S\langle f^{=S},g^{=S}\rangle,
\operatorname{Inf}_i[f]
=\sum_{S\ni i}\|f^{=S}\|_2^2,
\qquad
\mathbf I[f]=\sum_{k=0}^n kW^k[f],
T_\rho(f^{=S})=(T_\rho f)^{=S}=\rho^{|S|}f^{=S},
\qquad
\operatorname{Stab}_\rho[f]=\sum_{k=0}^n\rho^kW^k[f].
Lean code for Lemma8.7.18●6 theorems
Associated Lean declarations
-
FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents[complete]
-
FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent[complete]
-
FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight[complete]
-
FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent[complete]
-
FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator[complete]
-
FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight[complete]
-
FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents[complete] -
FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent[complete] -
FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight[complete] -
FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent[complete] -
FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator[complete] -
FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight[complete]
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f g = ∑ S, FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent g S)
theorem FABL.FiniteFourierBasis.productInner_eq_sum_orthogonalComponents.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : FABL.ProductL2 Ω n) : FABL.productInner π n f g = ∑ S, FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent g S)
Exercise 8.18, Plancherel grouped by exact supports.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : FABL.productInfluence π f i = ∑ S with i ∈ S, FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent f S)
theorem FABL.FiniteFourierBasis.productInfluence_eq_sum_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) : FABL.productInfluence π f i = ∑ S with i ∈ S, FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent f S)
Exercise 8.18, influence as the energy of all components containing coordinate `i`.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) : FABL.productTotalInfluence π f = ∑ k ∈ Finset.range (n + 1), ↑k * B.orthogonalWeightAtDegree f k
theorem FABL.FiniteFourierBasis.productTotalInfluence_eq_sum_degree_mul_weight.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) : FABL.productTotalInfluence π f = ∑ k ∈ Finset.range (n + 1), ↑k * B.orthogonalWeightAtDegree f k
Exercise 8.18, total influence grouped by degree.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productNoiseOperator π ρ hρ (B.orthogonalComponent f S) = ρ ^ S.card • B.orthogonalComponent f S
theorem FABL.FiniteFourierBasis.productNoiseOperator_orthogonalComponent.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productNoiseOperator π ρ hρ (B.orthogonalComponent f S) = ρ ^ S.card • B.orthogonalComponent f S
Exercise 8.18: product noise scales each exact-support component by `ρ^|S|`.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (FABL.productNoiseOperator π ρ hρ f) S = ρ ^ S.card • B.orthogonalComponent f S
theorem FABL.FiniteFourierBasis.orthogonalComponent_productNoiseOperator.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : B.orthogonalComponent (FABL.productNoiseOperator π ρ hρ f) S = ρ ^ S.card • B.orthogonalComponent f S
Exercise 8.18: taking an exact-support component commutes with product noise.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) : FABL.productNoiseStability π ρ hρ f = ∑ k ∈ Finset.range (n + 1), ρ ^ k * B.orthogonalWeightAtDegree f k
theorem FABL.FiniteFourierBasis.productNoiseStability_eq_sum_degree_weight.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : FABL.ProductL2 Ω n) : FABL.productNoiseStability π ρ hρ f = ∑ k ∈ Finset.range (n + 1), ρ ^ k * B.orthogonalWeightAtDegree f k
Exercise 8.18, noise stability grouped by orthogonal degree weights.
-
FABL.productSupNorm[complete] -
FABL.abs_le_productSupNorm[complete] -
FABL.abs_projectOnCoordinates_le_productSupNorm[complete] -
FABL.FiniteFourierBasis.abs_orthogonalComponent_le[complete] -
FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le[complete]
Exercise 8.19. Prove the uniform-norm bound
\|f^{=S}\|_\infty\le2^{|S|}\|f\|_\infty.
Lean code for Lemma8.7.19●5 declarations
Associated Lean declarations
-
FABL.productSupNorm[complete]
-
FABL.abs_le_productSupNorm[complete]
-
FABL.abs_projectOnCoordinates_le_productSupNorm[complete]
-
FABL.FiniteFourierBasis.abs_orthogonalComponent_le[complete]
-
FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le[complete]
-
FABL.productSupNorm[complete] -
FABL.abs_le_productSupNorm[complete] -
FABL.abs_projectOnCoordinates_le_productSupNorm[complete] -
FABL.FiniteFourierBasis.abs_orthogonalComponent_le[complete] -
FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le[complete]
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {n : ℕ} (f : FABL.ProductL2 Ω n) : ℝ
def FABL.productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {n : ℕ} (f : FABL.ProductL2 Ω n) : ℝ
The finite-product `L∞` norm used in Exercise 8.19.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.abs_le_productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {n : ℕ} (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : |f x| ≤ FABL.productSupNorm f
theorem FABL.abs_le_productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {n : ℕ} (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : |f x| ≤ FABL.productSupNorm f
Every point evaluation is bounded by the finite-product supremum norm.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.abs_projectOnCoordinates_le_productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : |FABL.projectOnCoordinates π J f x| ≤ FABL.productSupNorm f
theorem FABL.abs_projectOnCoordinates_le_productSupNorm.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (π : PMF Ω) {n : ℕ} (J : Finset (Fin n)) (f : FABL.ProductL2 Ω n) (x : Fin n → Ω) : |FABL.projectOnCoordinates π J f x| ≤ FABL.productSupNorm f
Coordinate projection is a contraction for the finite-product supremum norm, pointwise.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.abs_orthogonalComponent_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) (x : Fin n → Ω) : |B.orthogonalComponent f S x| ≤ 2 ^ S.card * FABL.productSupNorm f
theorem FABL.FiniteFourierBasis.abs_orthogonalComponent_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) (x : Fin n → Ω) : |B.orthogonalComponent f S x| ≤ 2 ^ S.card * FABL.productSupNorm f
Exercise 8.19, pointwise form: `|f^{=S}(x)| ≤ 2^|S| ‖f‖∞`. -
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productSupNorm (B.orthogonalComponent f S) ≤ 2 ^ S.card * FABL.productSupNorm f
theorem FABL.FiniteFourierBasis.productSupNorm_orthogonalComponent_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productSupNorm (B.orthogonalComponent f S) ≤ 2 ^ S.card * FABL.productSupNorm f
Exercise 8.19 in norm form.
Exercise 8.20. Verify Proposition 8.36 explicitly for the Fourier and orthogonal decompositions in Examples 8.15 and 8.37.
Lean code for Lemma8.7.20●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.projectOnCoordinates_threePointBothCIndicator (J : Finset (Fin 2)) (x : Fin 2 → FABL.ThreePoint) : FABL.projectOnCoordinates (FABL.uniformPMF FABL.ThreePoint) J FABL.threePointBothCIndicator x = ∏ i, if i ∈ J then FABL.threePointCIndicator (x i) else 1 / 3
theorem FABL.projectOnCoordinates_threePointBothCIndicator (J : Finset (Fin 2)) (x : Fin 2 → FABL.ThreePoint) : FABL.projectOnCoordinates (FABL.uniformPMF FABL.ThreePoint) J FABL.threePointBothCIndicator x = ∏ i, if i ∈ J then FABL.threePointCIndicator (x i) else 1 / 3
Every coordinate projection of Example 8.15's product indicator factorizes explicitly.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.threePointBothCIndicator_orthogonalComponent_fourier (S : Finset (Fin 2)) : FABL.threePointFourierBasis.orthogonalComponent FABL.threePointBothCIndicator S = ∑ a with FABL.multiIndexSupport FABL.threePointFourierBasis.zeroIndex a = S, (FABL.threePointCIndicatorCoeff (a 0) * FABL.threePointCIndicatorCoeff (a 1)) • FABL.threePointFourierBasis.productFunction a
theorem FABL.threePointBothCIndicator_orthogonalComponent_fourier (S : Finset (Fin 2)) : FABL.threePointFourierBasis.orthogonalComponent FABL.threePointBothCIndicator S = ∑ a with FABL.multiIndexSupport FABL.threePointFourierBasis.zeroIndex a = S, (FABL.threePointCIndicatorCoeff (a 0) * FABL.threePointCIndicatorCoeff (a 1)) • FABL.threePointFourierBasis.productFunction a
Exercise 8.20: Proposition 8.36 specialized to the explicit Fourier expansion from Example 8.15.
-
FABL.restrictProductCoordinate[complete] -
FABL.restrictProductCoordinate_dependsOnly[complete] -
FABL.coordinateProjection_restrictProductCoordinate[complete] -
FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero[complete] -
FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq[complete] -
FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero[complete]
Exercise 8.21. Let i\in S and fix coordinate i of f^{=S} to a
value \omega_i, obtaining g. Prove
g=g^{=S\setminus\{i\}}.
If |S|\ge2, also prove \mathbb E[g]=0.
Lean code for Lemma8.7.21●6 declarations
Associated Lean declarations
-
FABL.restrictProductCoordinate[complete]
-
FABL.restrictProductCoordinate_dependsOnly[complete]
-
FABL.coordinateProjection_restrictProductCoordinate[complete]
-
FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero[complete]
-
FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq[complete]
-
FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero[complete]
-
FABL.restrictProductCoordinate[complete] -
FABL.restrictProductCoordinate_dependsOnly[complete] -
FABL.coordinateProjection_restrictProductCoordinate[complete] -
FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero[complete] -
FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq[complete] -
FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero[complete]
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.restrictProductCoordinate.{u_1} {Ω : Type u_1} {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) (ω : Ω) : FABL.ProductL2 Ω n
def FABL.restrictProductCoordinate.{u_1} {Ω : Type u_1} {n : ℕ} (f : FABL.ProductL2 Ω n) (i : Fin n) (ω : Ω) : FABL.ProductL2 Ω n
Fix coordinate `i` to `ω`, retaining the original coordinate type with `i` now dummy.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.restrictProductCoordinate_dependsOnly.{u_1} {Ω : Type u_1} {n : ℕ} {f : FABL.ProductL2 Ω n} {S : Finset (Fin n)} (hf : FABL.DependsOnlyOnCoordinates f S) {i : Fin n} (ω : Ω) : FABL.DependsOnlyOnCoordinates (FABL.restrictProductCoordinate f i ω) (S.erase i)
theorem FABL.restrictProductCoordinate_dependsOnly.{u_1} {Ω : Type u_1} {n : ℕ} {f : FABL.ProductL2 Ω n} {S : Finset (Fin n)} (hf : FABL.DependsOnlyOnCoordinates f S) {i : Fin n} (ω : Ω) : FABL.DependsOnlyOnCoordinates (FABL.restrictProductCoordinate f i ω) (S.erase i)
Restricting a coordinate removes that coordinate from every possible dependency set.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.coordinateProjection_restrictProductCoordinate.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) {i j : Fin n} (hij : i ≠ j) (ω : Ω) : FABL.coordinateProjection π j (FABL.restrictProductCoordinate f i ω) = FABL.restrictProductCoordinate (FABL.coordinateProjection π j f) i ω
theorem FABL.coordinateProjection_restrictProductCoordinate.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) {i j : Fin n} (hij : i ≠ j) (ω : Ω) : FABL.coordinateProjection π j (FABL.restrictProductCoordinate f i ω) = FABL.restrictProductCoordinate (FABL.coordinateProjection π j f) i ω
Restriction at `i` commutes with rerandomizing a distinct coordinate `j`.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (hiS : i ∈ S) : FABL.coordinateProjection π i (B.orthogonalComponent f S) = 0
theorem FABL.FiniteFourierBasis.coordinateProjection_orthogonalComponent_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (hiS : i ∈ S) : FABL.coordinateProjection π i (B.orthogonalComponent f S) = 0
Rerandomizing any coordinate in the exact support annihilates that component.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (_hiS : i ∈ S) (ω : Ω) : B.orthogonalComponent (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω) (S.erase i) = FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω
theorem FABL.FiniteFourierBasis.restrictProductCoordinate_orthogonalComponent_eq.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (_hiS : i ∈ S) (ω : Ω) : B.orthogonalComponent (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω) (S.erase i) = FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω
Exercise 8.21: after fixing coordinate `i ∈ S`, the restriction of `f^{=S}` is itself the exact-support component indexed by `S \ {i}`. -
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (hiS : i ∈ S) (hcard : 2 ≤ S.card) (ω : Ω) : FABL.productMean π (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω) = 0
theorem FABL.FiniteFourierBasis.productMean_restrict_orthogonalComponent_eq_zero.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) {S : Finset (Fin n)} {i : Fin n} (hiS : i ∈ S) (hcard : 2 ≤ S.card) (ω : Ω) : FABL.productMean π (FABL.restrictProductCoordinate (B.orthogonalComponent f S) i ω) = 0
Exercise 8.21, mean-zero consequence: after restricting one coordinate of a component of order at least two, the resulting function still has mean zero.
-
FABL.permuteProductInput[complete] -
FABL.permuteProductFunction[complete] -
FABL.productProbabilityPMF_permuteProductInput[complete] -
FABL.productInner_permuteProductFunction[complete] -
FABL.IsProductSymmetric[complete] -
FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq[complete] -
FABL.FiniteFourierBasis.orthogonalComponentEnergy[complete] -
FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy[complete] -
FABL.FiniteFourierBasis.symmetricLevelEnergy[complete] -
FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy[complete] -
FABL.mul_choose_le_mul_choose_of_le[complete] -
FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric[complete]
Exercise 8.22. If f is symmetric and
1\le|S|\le|T|\le n, prove
\frac1{|S|}\operatorname{Var}[f^{\subseteq S}]
\le
\frac1{|T|}\operatorname{Var}[f^{\subseteq T}].
Lean code for Lemma8.7.22●12 declarations
Associated Lean declarations
-
FABL.permuteProductInput[complete]
-
FABL.permuteProductFunction[complete]
-
FABL.productProbabilityPMF_permuteProductInput[complete]
-
FABL.productInner_permuteProductFunction[complete]
-
FABL.IsProductSymmetric[complete]
-
FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq[complete]
-
FABL.FiniteFourierBasis.orthogonalComponentEnergy[complete]
-
FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy[complete]
-
FABL.FiniteFourierBasis.symmetricLevelEnergy[complete]
-
FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy[complete]
-
FABL.mul_choose_le_mul_choose_of_le[complete]
-
FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric[complete]
-
FABL.permuteProductInput[complete] -
FABL.permuteProductFunction[complete] -
FABL.productProbabilityPMF_permuteProductInput[complete] -
FABL.productInner_permuteProductFunction[complete] -
FABL.IsProductSymmetric[complete] -
FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq[complete] -
FABL.FiniteFourierBasis.orthogonalComponentEnergy[complete] -
FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy[complete] -
FABL.FiniteFourierBasis.symmetricLevelEnergy[complete] -
FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy[complete] -
FABL.mul_choose_le_mul_choose_of_le[complete] -
FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric[complete]
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.permuteProductInput.{u_1} {Ω : Type u_1} {n : ℕ} (σ : Equiv.Perm (Fin n)) (x : Fin n → Ω) : Fin n → Ω
def FABL.permuteProductInput.{u_1} {Ω : Type u_1} {n : ℕ} (σ : Equiv.Perm (Fin n)) (x : Fin n → Ω) : Fin n → Ω
Permute the coordinates of a product-space input.
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.permuteProductFunction.{u_1} {Ω : Type u_1} {n : ℕ} (σ : Equiv.Perm (Fin n)) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
def FABL.permuteProductFunction.{u_1} {Ω : Type u_1} {n : ℕ} (σ : Equiv.Perm (Fin n)) (f : FABL.ProductL2 Ω n) : FABL.ProductL2 Ω n
Pull a product-space function back along a coordinate permutation.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.productProbabilityPMF_permuteProductInput.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (σ : Equiv.Perm (Fin n)) (x : Fin n → Ω) : (FABL.productProbabilityPMF π n) (FABL.permuteProductInput σ x) = (FABL.productProbabilityPMF π n) x
theorem FABL.productProbabilityPMF_permuteProductInput.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (σ : Equiv.Perm (Fin n)) (x : Fin n → Ω) : (FABL.productProbabilityPMF π n) (FABL.permuteProductInput σ x) = (FABL.productProbabilityPMF π n) x
The product probability mass is invariant under coordinate permutations.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.productInner_permuteProductFunction.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (σ : Equiv.Perm (Fin n)) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n (FABL.permuteProductFunction σ f) (FABL.permuteProductFunction σ g) = FABL.productInner π n f g
theorem FABL.productInner_permuteProductFunction.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (σ : Equiv.Perm (Fin n)) (f g : FABL.ProductL2 Ω n) : FABL.productInner π n (FABL.permuteProductFunction σ f) (FABL.permuteProductFunction σ g) = FABL.productInner π n f g
The weighted product inner product is invariant under simultaneously permuting both functions' coordinates.
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.IsProductSymmetric.{u_1} {Ω : Type u_1} {n : ℕ} (f : FABL.ProductL2 Ω n) : Prop
def FABL.IsProductSymmetric.{u_1} {Ω : Type u_1} {n : ℕ} (f : FABL.ProductL2 Ω n) : Prop
A function on a product space is symmetric when every coordinate permutation fixes it.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)} (hcard : S.card = T.card) : FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent f S) = FABL.productInner π n (B.orthogonalComponent f T) (B.orthogonalComponent f T)
theorem FABL.FiniteFourierBasis.orthogonalComponent_energy_eq_of_symmetric_of_card_eq.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)} (hcard : S.card = T.card) : FABL.productInner π n (B.orthogonalComponent f S) (B.orthogonalComponent f S) = FABL.productInner π n (B.orthogonalComponent f T) (B.orthogonalComponent f T)
Equal-cardinality exact-support components of a symmetric function have equal squared `L²` norm.
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.FiniteFourierBasis.orthogonalComponentEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : ℝ
def FABL.FiniteFourierBasis.orthogonalComponentEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : ℝ
The squared `L²` energy of one exact-support component.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productVariance π (FABL.projectOnCoordinates π S f) = ∑ U ∈ S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U
theorem FABL.FiniteFourierBasis.productVariance_projectOnCoordinates_eq_sum_energy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (S : Finset (Fin n)) : FABL.productVariance π (FABL.projectOnCoordinates π S f) = ∑ U ∈ S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U
The variance of a coordinate projection is the total energy of its nonempty exact-support components.
-
defdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
def FABL.FiniteFourierBasis.symmetricLevelEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (k : ℕ) : ℝ
def FABL.FiniteFourierBasis.symmetricLevelEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : FABL.ProductL2 Ω n) (k : ℕ) : ℝ
The common level energy used to count components of a symmetric function. The zero level is set to zero because variance omits the empty component.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) (S : Finset (Fin n)) : ∑ U ∈ S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U = ∑ k ∈ Finset.range (S.card + 1), ↑(S.card.choose k) * B.symmetricLevelEnergy f k
theorem FABL.FiniteFourierBasis.sum_energy_powerset_eq_sum_choose_levelEnergy.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) (S : Finset (Fin n)) : ∑ U ∈ S.powerset with U.Nonempty, B.orthogonalComponentEnergy f U = ∑ k ∈ Finset.range (S.card + 1), ↑(S.card.choose k) * B.symmetricLevelEnergy f k
For a symmetric function, the nonempty component-energy sum below `S` is the binomially weighted sum of the common level energies.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.mul_choose_le_mul_choose_of_le {s t k : ℕ} (hst : s ≤ t) (hk : 0 < k) : t * s.choose k ≤ s * t.choose k
theorem FABL.mul_choose_le_mul_choose_of_le {s t k : ℕ} (hst : s ≤ t) (hk : 0 < k) : t * s.choose k ≤ s * t.choose k
The elementary binomial inequality behind Exercise 8.22.
-
theoremdefined in FABL/Chapter08/OrthogonalDecomposition.leancomplete
theorem FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)} (hS : 1 ≤ S.card) (hST : S.card ≤ T.card) : FABL.productVariance π (FABL.projectOnCoordinates π S f) / ↑S.card ≤ FABL.productVariance π (FABL.projectOnCoordinates π T f) / ↑T.card
theorem FABL.FiniteFourierBasis.normalized_projectedVariance_mono_of_symmetric.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.IsProductSymmetric f) {S T : Finset (Fin n)} (hS : 1 ≤ S.card) (hST : S.card ≤ T.card) : FABL.productVariance π (FABL.projectOnCoordinates π S f) / ↑S.card ≤ FABL.productVariance π (FABL.projectOnCoordinates π T f) / ↑T.card
Exercise 8.22: for a symmetric function, normalized projected variance is monotone with the size of the revealed coordinate set.
Exercise 8.23 (Condorcet Jury Theorem). Prove the two majority threshold
bounds in Example 8.49, for every fixed \epsilon>0, using a quantitative
concentration bound for the biased sum of independent signs.
Lean code for Lemma8.7.23●4 declarations
Associated Lean declarations
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.biasedSignAverage (n : ℕ) (x : FABL.SignCube n) : ℝ
def FABL.biasedSignAverage (n : ℕ) (x : FABL.SignCube n) : ℝ
Average sign of a finite vote profile.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.measure_abs_biasedSignAverage_sub_mean_ge_le {n : ℕ} (hn : 0 < n) (p : ℝ) (hp : p ∈ Set.Icc 0 1) (t : ℝ) (ht : 0 ≤ t) : (FABL.productProbabilityPMF (FABL.biasedSignPMF p hp) n).toMeasure.real {x | t ≤ |FABL.biasedSignAverage n x - FABL.biasMean p|} ≤ 2 * Real.exp (-↑n * t ^ 2 / 2)
theorem FABL.measure_abs_biasedSignAverage_sub_mean_ge_le {n : ℕ} (hn : 0 < n) (p : ℝ) (hp : p ∈ Set.Icc 0 1) (t : ℝ) (ht : 0 ≤ t) : (FABL.productProbabilityPMF (FABL.biasedSignPMF p hp) n).toMeasure.real {x | t ≤ |FABL.biasedSignAverage n x - FABL.biasMean p|} ≤ 2 * Real.exp (-↑n * t ^ 2 / 2)
Hoeffding concentration for the empirical average of independent biased signs.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.biasedMinusProbability_majority_lower_le_two_mul_exp (m : ℕ) (C : ℝ) (hC : 0 ≤ C) (hvalid : C / √(2 * ↑m + 1) ≤ 1 / 2) : FABL.biasedMinusProbability (1 / 2 - C / √(2 * ↑m + 1)) ⋯ (FABL.majority (2 * m + 1)) ≤ 2 * Real.exp (-(2 * C ^ 2))
theorem FABL.biasedMinusProbability_majority_lower_le_two_mul_exp (m : ℕ) (C : ℝ) (hC : 0 ≤ C) (hvalid : C / √(2 * ↑m + 1) ≤ 1 / 2) : FABL.biasedMinusProbability (1 / 2 - C / √(2 * ↑m + 1)) ⋯ (FABL.majority (2 * m + 1)) ≤ 2 * Real.exp (-(2 * C ^ 2))
Quantitative lower-side Condorcet bound. For every valid bias `p = 1/2 - C/sqrt(n)`, odd majority's true (`-1`) probability is at most `2 exp(-2 C^2)`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.one_sub_two_mul_exp_le_biasedMinusProbability_majority_upper (m : ℕ) (C : ℝ) (hC : 0 ≤ C) (hvalid : C / √(2 * ↑m + 1) ≤ 1 / 2) : 1 - 2 * Real.exp (-(2 * C ^ 2)) ≤ FABL.biasedMinusProbability (1 / 2 + C / √(2 * ↑m + 1)) ⋯ (FABL.majority (2 * m + 1))
theorem FABL.one_sub_two_mul_exp_le_biasedMinusProbability_majority_upper (m : ℕ) (C : ℝ) (hC : 0 ≤ C) (hvalid : C / √(2 * ↑m + 1) ≤ 1 / 2) : 1 - 2 * Real.exp (-(2 * C ^ 2)) ≤ FABL.biasedMinusProbability (1 / 2 + C / √(2 * ↑m + 1)) ⋯ (FABL.majority (2 * m + 1))
Quantitative upper-side Condorcet bound.
Exercise 8.24. For independent biased coordinates with
p_i\in(0,1), \mu_i=1-2p_i, and
\sigma_i=2\sqrt{p_i(1-p_i)}, prove
\operatorname{Inf}_i[f]
=\sigma_i^2\Pr[f(x)\ne f(x^{\oplus i})].
For monotone Boolean f, prove
\operatorname{Inf}_i[f]=\sigma_i\widehat f(\{i\}).
Lean code for Lemma8.7.24●5 declarations
Associated Lean declarations
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBiasedSignPMF {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) : PMF (FABL.SignCube n)
def FABL.heterogeneousBiasedSignPMF {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) : PMF (FABL.SignCube n)
Exercise 8.24: the independent sign law with a separate bias at every coordinate.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBiasedInfluence {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (i : Fin n) : ℝ
def FABL.heterogeneousBiasedInfluence {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (i : Fin n) : ℝ
Exercise 8.24: nonhomogeneous coordinate influence is the mean conditional variance using the `i`th marginal while all coordinates follow their prescribed independent laws.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBiasedFlipProbability {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
def FABL.heterogeneousBiasedFlipProbability {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
Probability that deterministic flipping changes a Boolean function under the nonhomogeneous product law.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.heterogeneousBiasedInfluence_eq_sigma_sq_mul_flipProbability {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (i : Fin n) : FABL.heterogeneousBiasedInfluence p hp f.toReal i = FABL.biasSigma (p i) ^ 2 * FABL.heterogeneousBiasedFlipProbability p hp f i
theorem FABL.heterogeneousBiasedInfluence_eq_sigma_sq_mul_flipProbability {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (i : Fin n) : FABL.heterogeneousBiasedInfluence p hp f.toReal i = FABL.biasSigma (p i) ^ 2 * FABL.heterogeneousBiasedFlipProbability p hp f i
Exercise 8.24, nonhomogeneous Proposition 8.45: the `i`th influence is `sigma_i^2` times deterministic-flip probability.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.heterogeneousBiasedInfluence_eq_sigma_mul_singletonCoeff_of_monotone {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (i : Fin n) : FABL.heterogeneousBiasedInfluence p hp f.toReal i = FABL.biasSigma (p i) * FABL.heterogeneousBiasedFourierCoeff p hp f.toReal {i}
theorem FABL.heterogeneousBiasedInfluence_eq_sigma_mul_singletonCoeff_of_monotone {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (i : Fin n) : FABL.heterogeneousBiasedInfluence p hp f.toReal i = FABL.biasSigma (p i) * FABL.heterogeneousBiasedFourierCoeff p hp f.toReal {i}
Exercise 8.24, monotone case: nonhomogeneous influence is `sigma_i` times the nonhomogeneous singleton Fourier coefficient.
-
FABL.heterogeneousBiasedMonomial[complete] -
FABL.heterogeneousBiasedFourierCoeff[complete] -
FABL.cubePartialDerivativeAt[complete] -
FABL.heterogeneousBasisPartialDerivativeAt[complete] -
FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul[complete] -
FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative[complete] -
FABL.abs_heterogeneousBiasedFourierCoeff_le[complete]
Exercise 8.25. For S=\{i_1,ldots,i_k\} in the nonhomogeneous biased
cube, prove
D_{\phi_S}=\left(\prod_{i\in S}\sigma_i\right)D_{x_S},
\widehat{f^{(p)}}(S)
=\left(\prod_{i\in S}\sigma_i\right)
D_{x_S}f(\mu_1,ldots,\mu_n),
and the pointwise coefficient bound
|\widehat{f^{(p)}}(S)|
\le\left(\prod_{i\in S}\sigma_i\right)\|f\|_\infty.
Lean code for Lemma8.7.25●7 declarations
Associated Lean declarations
-
FABL.heterogeneousBiasedMonomial[complete]
-
FABL.heterogeneousBiasedFourierCoeff[complete]
-
FABL.cubePartialDerivativeAt[complete]
-
FABL.heterogeneousBasisPartialDerivativeAt[complete]
-
FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul[complete]
-
FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative[complete]
-
FABL.abs_heterogeneousBiasedFourierCoeff_le[complete]
-
FABL.heterogeneousBiasedMonomial[complete] -
FABL.heterogeneousBiasedFourierCoeff[complete] -
FABL.cubePartialDerivativeAt[complete] -
FABL.heterogeneousBasisPartialDerivativeAt[complete] -
FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul[complete] -
FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative[complete] -
FABL.abs_heterogeneousBiasedFourierCoeff_le[complete]
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBiasedMonomial {n : ℕ} (p : Fin n → ℝ) (S : Finset (Fin n)) (x : FABL.SignCube n) : ℝ
def FABL.heterogeneousBiasedMonomial {n : ℕ} (p : Fin n → ℝ) (S : Finset (Fin n)) (x : FABL.SignCube n) : ℝ
The nonhomogeneous biased monomial `phi_S`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBiasedFourierCoeff {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : ℝ
def FABL.heterogeneousBiasedFourierCoeff {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : ℝ
The nonhomogeneous biased Fourier coefficient, as its defining weighted correlation.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.cubePartialDerivativeAt {n : ℕ} (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (mu : Fin n → ℝ) : ℝ
def FABL.cubePartialDerivativeAt {n : ℕ} (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (mu : Fin n → ℝ) : ℝ
The multilinear `S`-partial derivative of a cube function, evaluated at a vector `mu`. This is the coefficient formula obtained by differentiating the usual multilinear expansion.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.heterogeneousBasisPartialDerivativeAt {n : ℕ} (p : Fin n → ℝ) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (x : Fin n → ℝ) : ℝ
def FABL.heterogeneousBasisPartialDerivativeAt {n : ℕ} (p : Fin n → ℝ) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (x : Fin n → ℝ) : ℝ
Exercise 8.25(a): the iterated standardized-basis derivative is the product of the coordinate scales times the usual multilinear partial derivative.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul {n : ℕ} (p : Fin n → ℝ) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (x : Fin n → ℝ) : FABL.heterogeneousBasisPartialDerivativeAt p f S x = (∏ i ∈ S, FABL.biasSigma (p i)) * FABL.cubePartialDerivativeAt f S x
theorem FABL.heterogeneousBasisPartialDerivativeAt_eq_prod_sigma_mul {n : ℕ} (p : Fin n → ℝ) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) (x : Fin n → ℝ) : FABL.heterogeneousBasisPartialDerivativeAt p f S x = (∏ i ∈ S, FABL.biasSigma (p i)) * FABL.cubePartialDerivativeAt f S x
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : FABL.heterogeneousBiasedFourierCoeff p hp f S = (∏ i ∈ S, FABL.biasSigma (p i)) * FABL.cubePartialDerivativeAt f S fun i => FABL.biasMean (p i)
theorem FABL.heterogeneousBiasedFourierCoeff_eq_prod_sigma_mul_partialDerivative {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : FABL.heterogeneousBiasedFourierCoeff p hp f S = (∏ i ∈ S, FABL.biasSigma (p i)) * FABL.cubePartialDerivativeAt f S fun i => FABL.biasMean (p i)
Exercise 8.25(b): the exact nonhomogeneous biased coefficient/partial-derivative formula.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.abs_heterogeneousBiasedFourierCoeff_le {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : |FABL.heterogeneousBiasedFourierCoeff p hp f S| ≤ (∏ i ∈ S, FABL.biasSigma (p i)) * ‖f‖
theorem FABL.abs_heterogeneousBiasedFourierCoeff_le {n : ℕ} (p : Fin n → ℝ) (hp : ∀ (i : Fin n), p i ∈ Set.Ioo 0 1) (f : FABL.SignCube n → ℝ) (S : Finset (Fin n)) : |FABL.heterogeneousBiasedFourierCoeff p hp f S| ≤ (∏ i ∈ S, FABL.biasSigma (p i)) * ‖f‖
Exercise 8.25(c): every nonhomogeneous biased coefficient is bounded by the product of the coordinate scales times the sup norm of the function.
-
FABL.IsOutputPivotal[complete] -
FABL.biasedOutputPivotalProbability[complete] -
FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone[complete] -
FABL.printed_outputPivotal_probability_formula_false[complete] -
FABL.outputPivotalCount[complete] -
FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone[complete] -
FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone[complete]
Exercise 8.26. The printed part (a) claims, for every Boolean f,
\Pr[i\text{ is }b\text{-pivotal}]
=\pi_p(b)\operatorname{Inf}_i[f].
This is false when p\ne1/2: a dictator gives left side \pi_p(b) and
right side \pi_p(b)\sigma^2. The exact general identity is
\Pr[i\text{ is }(+1)\text{-pivotal}]
+\Pr[i\text{ is }(-1)\text{-pivotal}]
=\frac{\operatorname{Inf}_i[f]}{\sigma^2}.
If f is monotone, the two directions further satisfy the corrected formula
\Pr[i\text{ is }b\text{-pivotal}]
=\pi_p(b)\frac{\operatorname{Inf}_i[f]}{\sigma^2}.
For part (b), if \operatorname{DNFwidth}(f)\le w, prove
\mathbf I[f^{(p)}]\le4qw\le4w; if
\operatorname{CNFwidth}(f)\le w, prove
\mathbf I[f^{(p)}]\le4pw\le4w.
Lean code for Lemma8.7.26●7 declarations
Associated Lean declarations
-
FABL.IsOutputPivotal[complete]
-
FABL.biasedOutputPivotalProbability[complete]
-
FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone[complete]
-
FABL.printed_outputPivotal_probability_formula_false[complete]
-
FABL.outputPivotalCount[complete]
-
FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone[complete]
-
FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone[complete]
-
FABL.IsOutputPivotal[complete] -
FABL.biasedOutputPivotalProbability[complete] -
FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone[complete] -
FABL.printed_outputPivotal_probability_formula_false[complete] -
FABL.outputPivotalCount[complete] -
FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone[complete] -
FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone[complete]
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.IsOutputPivotal {n : ℕ} (f : FABL.BooleanFunction n) (b : FABL.Sign) (i : Fin n) (x : FABL.SignCube n) : Prop
def FABL.IsOutputPivotal {n : ℕ} (f : FABL.BooleanFunction n) (b : FABL.Sign) (i : Fin n) (x : FABL.SignCube n) : Prop
Coordinate `i` is output-`b`-pivotal when flipping it changes the value and the current output is `b` (the convention of Exercise 2.10 and the printed Exercise 8.26).
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.biasedOutputPivotalProbability {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (b : FABL.Sign) (i : Fin n) : ℝ
def FABL.biasedOutputPivotalProbability {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (b : FABL.Sign) (i : Fin n) : ℝ
Homogeneous output-pivotal probability, using the canonical product PMF.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (b : FABL.Sign) (i : Fin n) : FABL.biasSigma p ^ 2 * FABL.biasedOutputPivotalProbability p hp f b i = FABL.biasedSignMass p b * FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal i
theorem FABL.sigma_sq_mul_biasedOutputPivotalProbability_eq_mass_mul_influence_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (b : FABL.Sign) (i : Fin n) : FABL.biasSigma p ^ 2 * FABL.biasedOutputPivotalProbability p hp f b i = FABL.biasedSignMass p b * FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal i
Corrected Exercise 8.26(a) for the homogeneous monotone cube.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.printed_outputPivotal_probability_formula_false : FABL.biasedOutputPivotalProbability (1 / 4) FABL.biasedOutputPivotalProbability_dictator_one_quarter._proof_1 (FABL.dictator 0) (-1) 0 ≠ FABL.biasedSignMass (1 / 4) (-1) * FABL.productInfluence (FABL.biasedSignPMF (1 / 4) FABL.productInfluence_dictator_one_quarter._proof_1) (FABL.dictator 0).toReal 0
theorem FABL.printed_outputPivotal_probability_formula_false : FABL.biasedOutputPivotalProbability (1 / 4) FABL.biasedOutputPivotalProbability_dictator_one_quarter._proof_1 (FABL.dictator 0) (-1) 0 ≠ FABL.biasedSignMass (1 / 4) (-1) * FABL.productInfluence (FABL.biasedSignPMF (1 / 4) FABL.productInfluence_dictator_one_quarter._proof_1) (FABL.dictator 0).toReal 0
Explicit counterexample to the printed Exercise 8.26(a) equality.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.outputPivotalCount {n : ℕ} (f : FABL.BooleanFunction n) (b : FABL.Sign) (x : FABL.SignCube n) : ℕ
def FABL.outputPivotalCount {n : ℕ} (f : FABL.BooleanFunction n) (b : FABL.Sign) (x : FABL.SignCube n) : ℕ
The number of output-`b`-pivotal coordinates at an input.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (w : ℕ) (hwidth : FABL.HasDNFWidthLE f w) : FABL.productTotalInfluence (FABL.biasedSignPMF p ⋯) f.toReal ≤ 4 * ↑w
theorem FABL.productTotalInfluence_le_four_mul_of_hasDNFWidthLE_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (w : ℕ) (hwidth : FABL.HasDNFWidthLE f w) : FABL.productTotalInfluence (FABL.biasedSignPMF p ⋯) f.toReal ≤ 4 * ↑w
The DNF-side bound is in particular at most `4w`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (w : ℕ) (hwidth : FABL.HasCNFWidthLE f w) : FABL.productTotalInfluence (FABL.biasedSignPMF p ⋯) f.toReal ≤ 4 * ↑w
theorem FABL.productTotalInfluence_le_four_mul_of_hasCNFWidthLE_of_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hf : Monotone f) (w : ℕ) (hwidth : FABL.HasCNFWidthLE f w) : FABL.productTotalInfluence (FABL.biasedSignPMF p ⋯) f.toReal ≤ 4 * ↑w
The CNF-side bound is in particular at most `4w`.
Exercise 8.27. For every \alpha\in(0,1) and every nonconstant monotone
Boolean f, prove there is a unique p\in(0,1) such that
\Pr_{\pi_p^{\otimes n}}[f=\mathrm{True}]=\alpha.
Lean code for Lemma8.7.27●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/BiasedAnalysis.leancomplete
theorem FABL.existsUnique_biasedMinusProbabilityPolynomial_eq {n : ℕ} (f : FABL.BooleanFunction n) (hmono : Monotone f) (hnonconst : FABL.IsNonconstantCubeFunction f) (α : ℝ) (hα : α ∈ Set.Ioo 0 1) : ∃! p, p ∈ Set.Ioo 0 1 ∧ FABL.biasedMinusProbabilityPolynomial f p = α
theorem FABL.existsUnique_biasedMinusProbabilityPolynomial_eq {n : ℕ} (f : FABL.BooleanFunction n) (hmono : Monotone f) (hnonconst : FABL.IsNonconstantCubeFunction f) (α : ℝ) (hα : α ∈ Set.Ioo 0 1) : ∃! p, p ∈ Set.Ioo 0 1 ∧ FABL.biasedMinusProbabilityPolynomial f p = α
Exercise 8.27: every probability level in `(0,1)` is attained at a unique bias.
-
FABL.biasedProbabilityLevel[complete] -
FABL.thresholdLowerParameter[complete] -
FABL.thresholdUpperParameter[complete] -
FABL.thresholdWidth[complete] -
FABL.normalizedThresholdWidth[complete] -
FABL.HasSharpThreshold[complete] -
FABL.HasCoarseThreshold[complete] -
FABL.exists_thresholdInterval_influence_eq[complete] -
FABL.exists_thresholdInterval_probability_and_influence_le[complete] -
FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero[complete] -
FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence[complete]
Exercise 8.28. Fix 0<\epsilon<1/2. Let p_0,p_c,p_1 be the unique
parameters at which a monotone Boolean function has true-probability
\epsilon,1/2,1-\epsilon, respectively. Put
\sigma_c^2=4p_c(1-p_c) and \delta=p_1-p_0. A sequence (f_n) has a
sharp threshold when
\frac{\delta(n)}{\sigma_c^2(n)}\longrightarrow0;
otherwise it has a coarse threshold. Prove that in the coarse case there
are C<\infty, an infinite subsequence n_i, and parameters p(n_i)
such that
\epsilon<\Pr[f_{n_i}=\mathrm{True}]<1-\epsilon,
\qquad
\mathbf I[f_{n_i}^{(p(n_i))}]\le C.
Lean code for Definition8.7.28●11 declarations
Associated Lean declarations
-
FABL.biasedProbabilityLevel[complete]
-
FABL.thresholdLowerParameter[complete]
-
FABL.thresholdUpperParameter[complete]
-
FABL.thresholdWidth[complete]
-
FABL.normalizedThresholdWidth[complete]
-
FABL.HasSharpThreshold[complete]
-
FABL.HasCoarseThreshold[complete]
-
FABL.exists_thresholdInterval_influence_eq[complete]
-
FABL.exists_thresholdInterval_probability_and_influence_le[complete]
-
FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero[complete]
-
FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence[complete]
-
FABL.biasedProbabilityLevel[complete] -
FABL.thresholdLowerParameter[complete] -
FABL.thresholdUpperParameter[complete] -
FABL.thresholdWidth[complete] -
FABL.normalizedThresholdWidth[complete] -
FABL.HasSharpThreshold[complete] -
FABL.HasCoarseThreshold[complete] -
FABL.exists_thresholdInterval_influence_eq[complete] -
FABL.exists_thresholdInterval_probability_and_influence_le[complete] -
FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero[complete] -
FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence[complete]
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.biasedProbabilityLevel {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (alpha : ℝ) (halpha : alpha ∈ Set.Ioo 0 1) : ℝ
def FABL.biasedProbabilityLevel {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (alpha : ℝ) (halpha : alpha ∈ Set.Ioo 0 1) : ℝ
The unique parameter at which a nonconstant monotone Boolean function has prescribed `-1` probability `alpha`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.thresholdLowerParameter {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
def FABL.thresholdLowerParameter {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
Exercise 8.28's lower threshold parameter `p_0`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.thresholdUpperParameter {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
def FABL.thresholdUpperParameter {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
Exercise 8.28's upper threshold parameter `p_1`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.thresholdWidth {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
def FABL.thresholdWidth {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ℝ
Exercise 8.28's threshold width.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.normalizedThresholdWidth (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (k : ℕ) : ℝ
def FABL.normalizedThresholdWidth (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (k : ℕ) : ℝ
Exercise 8.28's normalized threshold-width sequence.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.HasSharpThreshold (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) : Prop
def FABL.HasSharpThreshold (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) : Prop
Exercise 8.28: a family has a sharp threshold when normalized threshold width tends to zero.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.HasCoarseThreshold (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) : Prop
def FABL.HasCoarseThreshold (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) : Prop
Exercise 8.28: coarse threshold is the negation of sharp threshold.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.exists_thresholdInterval_influence_eq {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ∃ p, FABL.productTotalInfluence (FABL.biasedSignPMF ↑p ⋯) f.toReal = FABL.biasSigma ↑p ^ 2 * (1 - 2 * epsilon) / FABL.thresholdWidth epsilon hepsilon f hf hnonconstant
theorem FABL.exists_thresholdInterval_influence_eq {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) : ∃ p, FABL.productTotalInfluence (FABL.biasedSignPMF ↑p ⋯) f.toReal = FABL.biasSigma ↑p ^ 2 * (1 - 2 * epsilon) / FABL.thresholdWidth epsilon hepsilon f hf hnonconstant
Exercise 8.28's Mean Value Theorem witness, with its exact biased influence value.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.exists_thresholdInterval_probability_and_influence_le {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (eta : ℝ) (heta : 0 < eta) (hwidth : eta * FABL.biasVarianceScale (FABL.criticalProbability f hf hnonconstant) ≤ FABL.thresholdWidth epsilon hepsilon f hf hnonconstant) : ∃ p, epsilon < FABL.biasedMinusProbabilityPolynomial f ↑p ∧ FABL.biasedMinusProbabilityPolynomial f ↑p < 1 - epsilon ∧ FABL.productTotalInfluence (FABL.biasedSignPMF ↑p ⋯) f.toReal ≤ (1 - 2 * epsilon) * (4 + 1 / eta)
theorem FABL.exists_thresholdInterval_probability_and_influence_le {n : ℕ} (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (eta : ℝ) (heta : 0 < eta) (hwidth : eta * FABL.biasVarianceScale (FABL.criticalProbability f hf hnonconstant) ≤ FABL.thresholdWidth epsilon hepsilon f hf hnonconstant) : ∃ p, epsilon < FABL.biasedMinusProbabilityPolynomial f ↑p ∧ FABL.biasedMinusProbabilityPolynomial f ↑p < 1 - epsilon ∧ FABL.productTotalInfluence (FABL.biasedSignPMF ↑p ⋯) f.toReal ≤ (1 - 2 * epsilon) * (4 + 1 / eta)
Exercise 8.28's quantitative one-function consequence: if the normalized threshold width is bounded below by `eta`, some interior parameter has uniformly bounded total influence.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero (a : ℕ → ℝ) (ha : ∀ (k : ℕ), 0 ≤ a k) (hnot : ¬Filter.Tendsto a Filter.atTop (nhds 0)) : ∃ eta > 0, ∃ phi, StrictMono phi ∧ ∀ (k : ℕ), eta ≤ a (phi k)
theorem FABL.exists_pos_le_along_strictMono_of_nonneg_of_not_tendsto_zero (a : ℕ → ℝ) (ha : ∀ (k : ℕ), 0 ≤ a k) (hnot : ¬Filter.Tendsto a Filter.atTop (nhds 0)) : ∃ eta > 0, ∃ phi, StrictMono phi ∧ ∀ (k : ℕ), eta ≤ a (phi k)
A nonnegative real sequence that does not tend to zero has a positive lower bound along a strictly increasing subsequence.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (hcoarse : FABL.HasCoarseThreshold dimension family hmonotone hnonconstant epsilon hepsilon) : ∃ C phi, StrictMono phi ∧ ∃ parameter, ∀ (k : ℕ), epsilon < FABL.biasedMinusProbabilityPolynomial (family (phi k)) ↑(parameter k) ∧ FABL.biasedMinusProbabilityPolynomial (family (phi k)) ↑(parameter k) < 1 - epsilon ∧ FABL.productTotalInfluence (FABL.biasedSignPMF ↑(parameter k) ⋯) (family (phi k)).toReal ≤ C
theorem FABL.HasCoarseThreshold.exists_boundedInfluence_subsequence (dimension : ℕ → ℕ) (family : (k : ℕ) → FABL.BooleanFunction (dimension k)) (hmonotone : ∀ (k : ℕ), Monotone (family k)) (hnonconstant : ∀ (k : ℕ), FABL.IsNonconstantCubeFunction (family k)) (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (hcoarse : FABL.HasCoarseThreshold dimension family hmonotone hnonconstant epsilon hepsilon) : ∃ C phi, StrictMono phi ∧ ∃ parameter, ∀ (k : ℕ), epsilon < FABL.biasedMinusProbabilityPolynomial (family (phi k)) ↑(parameter k) ∧ FABL.biasedMinusProbabilityPolynomial (family (phi k)) ↑(parameter k) < 1 - epsilon ∧ FABL.productTotalInfluence (FABL.biasedSignPMF ↑(parameter k) ⋯) (family (phi k)).toReal ≤ C
Exercise 8.28: every coarse-threshold family has an infinite subsequence of interior parameters at which total influence is bounded by one finite constant.
-
FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic[complete] -
FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul[complete] -
FABL.deriv_log_biasedMinusProbabilityPolynomial_ge[complete] -
FABL.weakThresholdLogRatio[complete] -
FABL.weakThresholdLogRatio_monotoneOn[complete] -
FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical[complete] -
FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical[complete] -
FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge[complete] -
FABL.weakUpperThresholdLogRatio[complete] -
FABL.weakUpperThresholdLogRatio_monotoneOn[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two[complete] -
FABL.refinedThresholdLevel[complete] -
FABL.refinedThresholdConstant[complete] -
FABL.refinedThresholdCutoff[complete] -
FABL.biasedMinusProbabilityPolynomial_le_refined_rpow[complete] -
FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined[complete] -
FABL.deriv_neg_log_one_sub_probability_ge_endpoint[complete] -
FABL.endpointThresholdLogRatio[complete] -
FABL.endpointThresholdLogRatio_monotoneOn[complete] -
FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt[complete]
Exercise 8.29. Let
F(p)=\Pr_{\pi_p^{\otimes n}}[f=-1], with F(p_c)=1/2 and
p_c\le1/2. Prove
F'(p)\ge\frac{F(p)(1-F(p))}{p(1-p)}.
For p\le p_c, deduce
F'(p)\ge F(p)/(2p) and
(\ln F(p))'\ge1/(2p). Hence for 0\le p_0\le p_c,
F(p_0)\le\frac12\sqrt{p_0/p_c},
and p_0\le(2\epsilon)^2p_c implies F(p_0)\le\epsilon. Prove the
stated \Theta(\tau)\epsilon^{1+\tau} refinement, the symmetric upper
side conclusion at p_1=(1/(2\epsilon))^2p_c when p_1\le1/2, and
F(1/2)\ge1-\sqrt{p_c/2},
\qquad
F(1-\delta)\ge1-\sqrt{\delta/2}
in the remaining endpoint cases.
Lean code for Lemma8.7.29●22 declarations
Associated Lean declarations
-
FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic[complete]
-
FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul[complete]
-
FABL.deriv_log_biasedMinusProbabilityPolynomial_ge[complete]
-
FABL.weakThresholdLogRatio[complete]
-
FABL.weakThresholdLogRatio_monotoneOn[complete]
-
FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical[complete]
-
FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical[complete]
-
FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge[complete]
-
FABL.weakUpperThresholdLogRatio[complete]
-
FABL.weakUpperThresholdLogRatio_monotoneOn[complete]
-
FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div[complete]
-
FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon[complete]
-
FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two[complete]
-
FABL.refinedThresholdLevel[complete]
-
FABL.refinedThresholdConstant[complete]
-
FABL.refinedThresholdCutoff[complete]
-
FABL.biasedMinusProbabilityPolynomial_le_refined_rpow[complete]
-
FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined[complete]
-
FABL.deriv_neg_log_one_sub_probability_ge_endpoint[complete]
-
FABL.endpointThresholdLogRatio[complete]
-
FABL.endpointThresholdLogRatio_monotoneOn[complete]
-
FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt[complete]
-
FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic[complete] -
FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul[complete] -
FABL.deriv_log_biasedMinusProbabilityPolynomial_ge[complete] -
FABL.weakThresholdLogRatio[complete] -
FABL.weakThresholdLogRatio_monotoneOn[complete] -
FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical[complete] -
FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical[complete] -
FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge[complete] -
FABL.weakUpperThresholdLogRatio[complete] -
FABL.weakUpperThresholdLogRatio_monotoneOn[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon[complete] -
FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two[complete] -
FABL.refinedThresholdLevel[complete] -
FABL.refinedThresholdConstant[complete] -
FABL.refinedThresholdCutoff[complete] -
FABL.biasedMinusProbabilityPolynomial_le_refined_rpow[complete] -
FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined[complete] -
FABL.deriv_neg_log_one_sub_probability_ge_endpoint[complete] -
FABL.endpointThresholdLogRatio[complete] -
FABL.endpointThresholdLogRatio_monotoneOn[complete] -
FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt[complete]
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : deriv (FABL.biasedMinusProbabilityPolynomial f) p ≥ FABL.biasedMinusProbabilityPolynomial f p * (1 - FABL.biasedMinusProbabilityPolynomial f p) / (p * (1 - p))
theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_logistic {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : deriv (FABL.biasedMinusProbabilityPolynomial f) p ≥ FABL.biasedMinusProbabilityPolynomial f p * (1 - FABL.biasedMinusProbabilityPolynomial f p) / (p * (1 - p))
Exercise 8.29(a): Margulis--Russo plus Poincare gives the universal logistic differential inequality.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : ℝ) (hp : p ∈ Set.Ioo 0 1) (hpc : pc ∈ Set.Icc 0 1) (hppc : p ≤ pc) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (FABL.biasedMinusProbabilityPolynomial f) p ≥ FABL.biasedMinusProbabilityPolynomial f p / (2 * p)
theorem FABL.deriv_biasedMinusProbabilityPolynomial_ge_div_two_mul {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : ℝ) (hp : p ∈ Set.Ioo 0 1) (hpc : pc ∈ Set.Icc 0 1) (hppc : p ≤ pc) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (FABL.biasedMinusProbabilityPolynomial f) p ≥ FABL.biasedMinusProbabilityPolynomial f p / (2 * p)
Exercise 8.29(b), first inequality: below the critical probability the derivative is at least `F(p)/(2p)`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.deriv_log_biasedMinusProbabilityPolynomial_ge {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : ℝ) (hp : p ∈ Set.Ioo 0 1) (hpc : pc ∈ Set.Icc 0 1) (hppc : p ≤ pc) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => Real.log (FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * p)
theorem FABL.deriv_log_biasedMinusProbabilityPolynomial_ge {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p pc : ℝ) (hp : p ∈ Set.Ioo 0 1) (hpc : pc ∈ Set.Icc 0 1) (hppc : p ≤ pc) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => Real.log (FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * p)
Exercise 8.29(b), logarithmic form.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.weakThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
def FABL.weakThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
The logarithmic quantity used to integrate Exercise 8.29(b).
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.weakThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.weakThresholdLogRatio f) (Set.Ioc 0 pc)
theorem FABL.weakThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.weakThresholdLogRatio f) (Set.Ioc 0 pc)
Below the critical probability, `log F(p) - (1/2) log p` is monotone.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p0 pc : ℝ) (hp0 : p0 ∈ Set.Icc 0 pc) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : FABL.biasedMinusProbabilityPolynomial f p0 ≤ 1 / 2 * √(p0 / pc)
theorem FABL.biasedMinusProbabilityPolynomial_le_half_mul_sqrt_div_critical {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (p0 pc : ℝ) (hp0 : p0 ∈ Set.Icc 0 pc) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : FABL.biasedMinusProbabilityPolynomial f p0 ≤ 1 / 2 * √(p0 / pc)
Exercise 8.29(c): for `0 ≤ p0 ≤ pc`, `F(p0) ≤ (1/2) sqrt(p0/pc)`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon p0 pc : ℝ) (hepsilon : 0 < epsilon) (hp0 : p0 ∈ Set.Icc 0 pc) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hsmall : p0 ≤ (2 * epsilon) ^ 2 * pc) : FABL.biasedMinusProbabilityPolynomial f p0 ≤ epsilon
theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_of_le_sq_mul_critical {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon p0 pc : ℝ) (hepsilon : 0 < epsilon) (hp0 : p0 ∈ Set.Icc 0 pc) (hpc : pc ∈ Set.Ioo 0 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hsmall : p0 ≤ (2 * epsilon) ^ 2 * pc) : FABL.biasedMinusProbabilityPolynomial f p0 ≤ epsilon
Exercise 8.29(c), epsilon consequence.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioo 0 1) (hpcp : pc ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * p)
theorem FABL.deriv_neg_log_one_sub_biasedMinusProbabilityPolynomial_ge {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioo 0 1) (hpcp : pc ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * p)
Exercise 8.29(e): above the critical probability (and below `1/2`), the derivative of `-log(1-F)` is at least `1/(2p)`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.weakUpperThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
def FABL.weakUpperThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
Upper-side logarithmic ratio used in Exercise 8.29(e).
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.weakUpperThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.weakUpperThresholdLogRatio f) (Set.Icc pc (1 / 2))
theorem FABL.weakUpperThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.weakUpperThresholdLogRatio f) (Set.Icc pc (1 / 2))
The upper-side logarithmic ratio is monotone from `pc` to `1/2`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : p ∈ Set.Icc pc (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - FABL.biasedMinusProbabilityPolynomial f p ≤ 1 / 2 * √(pc / p)
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_half_mul_sqrt_critical_div {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : p ∈ Set.Icc pc (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - FABL.biasedMinusProbabilityPolynomial f p ≤ 1 / 2 * √(pc / p)
Exercise 8.29(e): for `pc ≤ p ≤ 1/2`, the upper tail is bounded by `(1/2) sqrt(pc/p)`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon pc p : ℝ) (hepsilon : 0 < epsilon) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : p ∈ Set.Icc pc (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hpLarge : (1 / (2 * epsilon)) ^ 2 * pc ≤ p) : 1 - FABL.biasedMinusProbabilityPolynomial f p ≤ epsilon
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_le_epsilon {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (epsilon pc p : ℝ) (hepsilon : 0 < epsilon) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : p ∈ Set.Icc pc (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hpLarge : (1 / (2 * epsilon)) ^ 2 * pc ≤ p) : 1 - FABL.biasedMinusProbabilityPolynomial f p ≤ epsilon
Exercise 8.29(e), explicit epsilon conclusion.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - FABL.biasedMinusProbabilityPolynomial f (1 / 2) ≤ √(pc / 2)
theorem FABL.one_sub_biasedMinusProbabilityPolynomial_one_half_le_sqrt_critical_div_two {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - FABL.biasedMinusProbabilityPolynomial f (1 / 2) ≤ √(pc / 2)
Exercise 8.29(e), remaining endpoint case `p=1/2`.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.refinedThresholdLevel (tau : ℝ) : ℝ
def FABL.refinedThresholdLevel (tau : ℝ) : ℝ
The improved intermediate probability level `r = tau/(1+tau)`.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.refinedThresholdConstant (tau : ℝ) : ℝ
def FABL.refinedThresholdConstant (tau : ℝ) : ℝ
The explicit `Theta(tau)` coefficient in the refined threshold cutoff.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.refinedThresholdCutoff (tau epsilon pc : ℝ) : ℝ
def FABL.refinedThresholdCutoff (tau epsilon pc : ℝ) : ℝ
The explicit cutoff from Exercise 8.29(d).
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.biasedMinusProbabilityPolynomial_le_refined_rpow {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (r p pa : ℝ) (hr : r ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioc 0 pa) (hpa : pa ∈ Set.Ioo 0 1) (hFpa : FABL.biasedMinusProbabilityPolynomial f pa ≤ r) : FABL.biasedMinusProbabilityPolynomial f p ≤ r * (p / pa) ^ (1 - r)
theorem FABL.biasedMinusProbabilityPolynomial_le_refined_rpow {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (r p pa : ℝ) (hr : r ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioc 0 pa) (hpa : pa ∈ Set.Ioo 0 1) (hFpa : FABL.biasedMinusProbabilityPolynomial f pa ≤ r) : FABL.biasedMinusProbabilityPolynomial f p ≤ r * (p / pa) ^ (1 - r)
Integrated refined lower-side bound.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (tau epsilon pc p : ℝ) (htau : tau ∈ Set.Ioo 0 1) (hepsilon : epsilon ∈ Set.Ioo 0 (FABL.refinedThresholdLevel tau)) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : 0 ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hcutoff : p ≤ FABL.refinedThresholdCutoff tau epsilon pc) : FABL.biasedMinusProbabilityPolynomial f p ≤ epsilon
theorem FABL.biasedMinusProbabilityPolynomial_le_epsilon_refined {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (tau epsilon pc p : ℝ) (htau : tau ∈ Set.Ioo 0 1) (hepsilon : epsilon ∈ Set.Ioo 0 (FABL.refinedThresholdLevel tau)) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hp : 0 ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) (hcutoff : p ≤ FABL.refinedThresholdCutoff tau epsilon pc) : FABL.biasedMinusProbabilityPolynomial f p ≤ epsilon
Exercise 8.29(d), explicit `Theta(tau) * epsilon^(1+tau)` cutoff.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.deriv_neg_log_one_sub_probability_ge_endpoint {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioo 0 1) (hpcp : pc ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * (1 - p))
theorem FABL.deriv_neg_log_one_sub_probability_ge_endpoint {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc p : ℝ) (hpc : pc ∈ Set.Ioo 0 1) (hp : p ∈ Set.Ioo 0 1) (hpcp : pc ≤ p) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : deriv (fun t => -Real.log (1 - FABL.biasedMinusProbabilityPolynomial f t)) p ≥ 1 / (2 * (1 - p))
Above the critical probability, the derivative of `-log(1-F(p))` also has the endpoint-sensitive lower bound `1/(2(1-p))`.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.endpointThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
def FABL.endpointThresholdLogRatio {n : ℕ} (f : FABL.BooleanFunction n) (p : ℝ) : ℝ
Logarithmic ratio adapted to the endpoint `p=1`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.endpointThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc b : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hb : b ∈ Set.Ico (1 / 2) 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.endpointThresholdLogRatio f) (Set.Icc (1 / 2) b)
theorem FABL.endpointThresholdLogRatio_monotoneOn {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc b : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hb : b ∈ Set.Ico (1 / 2) 1) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : MonotoneOn (FABL.endpointThresholdLogRatio f) (Set.Icc (1 / 2) b)
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc delta : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hdelta : delta ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - √(delta / 2) ≤ FABL.biasedMinusProbabilityPolynomial f (1 - delta)
theorem FABL.biasedMinusProbabilityPolynomial_one_sub_ge_one_sub_sqrt {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hnonconstant : FABL.IsNonconstantCubeFunction f) (pc delta : ℝ) (hpc : pc ∈ Set.Ioo 0 (1 / 2)) (hdelta : delta ∈ Set.Ioo 0 (1 / 2)) (hcritical : FABL.biasedMinusProbabilityPolynomial f pc = 1 / 2) : 1 - √(delta / 2) ≤ FABL.biasedMinusProbabilityPolynomial f (1 - delta)
Exercise 8.29(f): `F(1-delta) ≥ 1 - sqrt(delta/2)`.
-
FABL.majorityThreeValue[complete] -
FABL.composedMajoritySplit[complete] -
FABL.composedMajority[complete] -
FABL.composedMajority_monotone[complete] -
FABL.composedMajority_isNonconstant[complete] -
FABL.composedMajority_probability_formula[complete] -
FABL.tendsto_composedMajority_probability_of_lt_half[complete] -
FABL.tendsto_composedMajority_probability_of_half_lt[complete] -
FABL.composedMajority_probability_one_half[complete] -
FABL.criticalProbability_composedMajority[complete] -
FABL.totalInfluence_composedMajority[complete] -
FABL.composedMajorityInfluenceError[complete] -
FABL.composedMajorityInfluenceError_eq[complete] -
FABL.composedMajorityInfluenceError_mem_Icc[complete] -
FABL.totalInfluence_composedMajority_eq_main_add_error[complete] -
FABL.totalInfluence_composedMajority_lower[complete] -
FABL.totalInfluence_composedMajority_upper[complete] -
FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension[complete] -
FABL.composedMajorityArity[complete] -
FABL.composedMajorityFamily[complete] -
FABL.composedMajorityFamily_monotone[complete] -
FABL.composedMajorityFamily_isNonconstant[complete] -
FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth[complete] -
FABL.composedMajorityThresholdProbe[complete] -
FABL.composedMajorityThresholdProbe_mem_Ioo[complete] -
FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo[complete] -
FABL.epsilon_lt_composedMajorityThresholdProbe_sq[complete] -
FABL.one_sub_two_mul_composedMajorityThresholdProbe[complete] -
FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter[complete] -
FABL.eventually_composedMajority_normalizedThresholdWidth_gt[complete] -
FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero[complete] -
FABL.composedMajority_hasCoarseThreshold[complete]
Exercise 8.30. For odd n\ge3, set
f_n(x)=\operatorname{Maj}_3
(x_1,x_2,\operatorname{Maj}_{n-2}(x_3,\ldots,x_n)).
Prove that f_n is monotone with p_c=1/2, determine its limiting
true-probability curve, show
\mathbf I[f_n]=\Theta(\sqrt n), and prove that for
\epsilon<1/4 the family nevertheless has a coarse threshold.
Lean code for Lemma8.7.30●32 declarations
Associated Lean declarations
-
FABL.majorityThreeValue[complete]
-
FABL.composedMajoritySplit[complete]
-
FABL.composedMajority[complete]
-
FABL.composedMajority_monotone[complete]
-
FABL.composedMajority_isNonconstant[complete]
-
FABL.composedMajority_probability_formula[complete]
-
FABL.tendsto_composedMajority_probability_of_lt_half[complete]
-
FABL.tendsto_composedMajority_probability_of_half_lt[complete]
-
FABL.composedMajority_probability_one_half[complete]
-
FABL.criticalProbability_composedMajority[complete]
-
FABL.totalInfluence_composedMajority[complete]
-
FABL.composedMajorityInfluenceError[complete]
-
FABL.composedMajorityInfluenceError_eq[complete]
-
FABL.composedMajorityInfluenceError_mem_Icc[complete]
-
FABL.totalInfluence_composedMajority_eq_main_add_error[complete]
-
FABL.totalInfluence_composedMajority_lower[complete]
-
FABL.totalInfluence_composedMajority_upper[complete]
-
FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension[complete]
-
FABL.composedMajorityArity[complete]
-
FABL.composedMajorityFamily[complete]
-
FABL.composedMajorityFamily_monotone[complete]
-
FABL.composedMajorityFamily_isNonconstant[complete]
-
FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth[complete]
-
FABL.composedMajorityThresholdProbe[complete]
-
FABL.composedMajorityThresholdProbe_mem_Ioo[complete]
-
FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo[complete]
-
FABL.epsilon_lt_composedMajorityThresholdProbe_sq[complete]
-
FABL.one_sub_two_mul_composedMajorityThresholdProbe[complete]
-
FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter[complete]
-
FABL.eventually_composedMajority_normalizedThresholdWidth_gt[complete]
-
FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero[complete]
-
FABL.composedMajority_hasCoarseThreshold[complete]
-
FABL.majorityThreeValue[complete] -
FABL.composedMajoritySplit[complete] -
FABL.composedMajority[complete] -
FABL.composedMajority_monotone[complete] -
FABL.composedMajority_isNonconstant[complete] -
FABL.composedMajority_probability_formula[complete] -
FABL.tendsto_composedMajority_probability_of_lt_half[complete] -
FABL.tendsto_composedMajority_probability_of_half_lt[complete] -
FABL.composedMajority_probability_one_half[complete] -
FABL.criticalProbability_composedMajority[complete] -
FABL.totalInfluence_composedMajority[complete] -
FABL.composedMajorityInfluenceError[complete] -
FABL.composedMajorityInfluenceError_eq[complete] -
FABL.composedMajorityInfluenceError_mem_Icc[complete] -
FABL.totalInfluence_composedMajority_eq_main_add_error[complete] -
FABL.totalInfluence_composedMajority_lower[complete] -
FABL.totalInfluence_composedMajority_upper[complete] -
FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension[complete] -
FABL.composedMajorityArity[complete] -
FABL.composedMajorityFamily[complete] -
FABL.composedMajorityFamily_monotone[complete] -
FABL.composedMajorityFamily_isNonconstant[complete] -
FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth[complete] -
FABL.composedMajorityThresholdProbe[complete] -
FABL.composedMajorityThresholdProbe_mem_Ioo[complete] -
FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo[complete] -
FABL.epsilon_lt_composedMajorityThresholdProbe_sq[complete] -
FABL.one_sub_two_mul_composedMajorityThresholdProbe[complete] -
FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter[complete] -
FABL.eventually_composedMajority_normalizedThresholdWidth_gt[complete] -
FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero[complete] -
FABL.composedMajority_hasCoarseThreshold[complete]
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.majorityThreeValue (a b c : FABL.Sign) : FABL.Sign
def FABL.majorityThreeValue (a b c : FABL.Sign) : FABL.Sign
Three-input majority applied to three explicitly supplied signs.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.composedMajoritySplit (m : ℕ) : FABL.ComposedMajoritySplitCube m → FABL.Sign
def FABL.composedMajoritySplit (m : ℕ) : FABL.ComposedMajoritySplitCube m → FABL.Sign
Exercise 8.30's function in its transparent two-block representation.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.composedMajority (m : ℕ) : FABL.BooleanFunction (2 + (2 * m + 1))
def FABL.composedMajority (m : ℕ) : FABL.BooleanFunction (2 + (2 * m + 1))
Exercise 8.30's canonical sign-cube function.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.composedMajority_monotone (m : ℕ) : Monotone (FABL.composedMajority m)
theorem FABL.composedMajority_monotone (m : ℕ) : Monotone (FABL.composedMajority m)
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.composedMajority_isNonconstant (m : ℕ) : FABL.IsNonconstantCubeFunction (FABL.composedMajority m)
theorem FABL.composedMajority_isNonconstant (m : ℕ) : FABL.IsNonconstantCubeFunction (FABL.composedMajority m)
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.composedMajority_probability_formula (m : ℕ) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p = p ^ 2 + 2 * p * (1 - p) * FABL.biasedMinusProbabilityPolynomial (FABL.majority (2 * m + 1)) p
theorem FABL.composedMajority_probability_formula (m : ℕ) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p = p ^ 2 + 2 * p * (1 - p) * FABL.biasedMinusProbabilityPolynomial (FABL.majority (2 * m + 1)) p
Exercise 8.30's exact finite true-probability curve.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.tendsto_composedMajority_probability_of_lt_half (p : ℝ) (hp : p ∈ Set.Ioo 0 (1 / 2)) : Filter.Tendsto (fun m => FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p) Filter.atTop (nhds (p ^ 2))
theorem FABL.tendsto_composedMajority_probability_of_lt_half (p : ℝ) (hp : p ∈ Set.Ioo 0 (1 / 2)) : Filter.Tendsto (fun m => FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p) Filter.atTop (nhds (p ^ 2))
Exercise 8.30(b), lower branch of the limiting probability curve.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.tendsto_composedMajority_probability_of_half_lt (p : ℝ) (hp : p ∈ Set.Ioo (1 / 2) 1) : Filter.Tendsto (fun m => FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p) Filter.atTop (nhds (1 - (1 - p) ^ 2))
theorem FABL.tendsto_composedMajority_probability_of_half_lt (p : ℝ) (hp : p ∈ Set.Ioo (1 / 2) 1) : Filter.Tendsto (fun m => FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) p) Filter.atTop (nhds (1 - (1 - p) ^ 2))
Exercise 8.30(b), upper branch of the limiting probability curve.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.composedMajority_probability_one_half (m : ℕ) : FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) (1 / 2) = 1 / 2
theorem FABL.composedMajority_probability_one_half (m : ℕ) : FABL.biasedMinusProbabilityPolynomial (FABL.composedMajority m) (1 / 2) = 1 / 2
The composed-majority curve is exactly balanced at `p=1/2`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.criticalProbability_composedMajority (m : ℕ) : FABL.criticalProbability (FABL.composedMajority m) ⋯ ⋯ = 1 / 2
theorem FABL.criticalProbability_composedMajority (m : ℕ) : FABL.criticalProbability (FABL.composedMajority m) ⋯ ⋯ = 1 / 2
Exercise 8.30(a): the critical probability is `1/2`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.totalInfluence_composedMajority (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal = 1 + 1 / 2 * FABL.totalInfluence (FABL.majority (2 * m + 1)).toReal
theorem FABL.totalInfluence_composedMajority (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal = 1 + 1 / 2 * FABL.totalInfluence (FABL.majority (2 * m + 1)).toReal
The exact total influence of the composed-majority family. The two distinguished coordinates together contribute `1`, while every tail influence is halved.
-
defdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
def FABL.composedMajorityInfluenceError (m : ℕ) : ℝ
def FABL.composedMajorityInfluenceError (m : ℕ) : ℝ
The nonnegative remainder after the explicit square-root main term.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajorityInfluenceError_eq (m : ℕ) : FABL.composedMajorityInfluenceError m = 1 / 2 * FABL.oddMajorityTotalInfluenceError m
theorem FABL.composedMajorityInfluenceError_eq (m : ℕ) : FABL.composedMajorityInfluenceError m = 1 / 2 * FABL.oddMajorityTotalInfluenceError m
The composed-majority error is exactly half the odd-majority error from Chapter 2.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajorityInfluenceError_mem_Icc (m : ℕ) : FABL.composedMajorityInfluenceError m ∈ Set.Icc 0 (1 / (2 * √↑(2 * m + 1)))
theorem FABL.composedMajorityInfluenceError_mem_Icc (m : ℕ) : FABL.composedMajorityInfluenceError m ∈ Set.Icc 0 (1 / (2 * √↑(2 * m + 1)))
The exact nonnegative error interval for composed majority.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.totalInfluence_composedMajority_eq_main_add_error (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal = 1 + √(2 / Real.pi) / 2 * √↑(2 * m + 1) + FABL.composedMajorityInfluenceError m
theorem FABL.totalInfluence_composedMajority_eq_main_add_error (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal = 1 + √(2 / Real.pi) / 2 * √↑(2 * m + 1) + FABL.composedMajorityInfluenceError m
Exact main-term-plus-error expansion for the actual dimension `2m+3`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.totalInfluence_composedMajority_lower (m : ℕ) : 1 / 8 * √↑(2 * m + 3) ≤ FABL.totalInfluence (FABL.composedMajority m).toReal
theorem FABL.totalInfluence_composedMajority_lower (m : ℕ) : 1 / 8 * √↑(2 * m + 3) ≤ FABL.totalInfluence (FABL.composedMajority m).toReal
Exercise 8.30(c), explicit lower constant in the actual dimension `2m+3`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.totalInfluence_composedMajority_upper (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal ≤ 2 * √↑(2 * m + 3)
theorem FABL.totalInfluence_composedMajority_upper (m : ℕ) : FABL.totalInfluence (FABL.composedMajority m).toReal ≤ 2 * √↑(2 * m + 3)
Exercise 8.30(c), explicit upper constant in the actual dimension `2m+3`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension : (fun m => FABL.totalInfluence (FABL.composedMajority m).toReal) =Θ[Filter.atTop] fun m => √↑(2 * m + 3)
theorem FABL.totalInfluence_composedMajority_isTheta_sqrt_dimension : (fun m => FABL.totalInfluence (FABL.composedMajority m).toReal) =Θ[Filter.atTop] fun m => √↑(2 * m + 3)
Exercise 8.30(c) in literal asymptotic notation, with respect to the actual dimension.
-
defdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
def FABL.composedMajorityArity (m : ℕ) : ℕ
def FABL.composedMajorityArity (m : ℕ) : ℕ
The natural arity parameter for the composed-majority sequence.
-
defdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
def FABL.composedMajorityFamily (m : ℕ) : FABL.BooleanFunction (FABL.composedMajorityArity m)
def FABL.composedMajorityFamily (m : ℕ) : FABL.BooleanFunction (FABL.composedMajorityArity m)
The composed-majority sequence as a dependent family.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajorityFamily_monotone (m : ℕ) : Monotone (FABL.composedMajorityFamily m)
theorem FABL.composedMajorityFamily_monotone (m : ℕ) : Monotone (FABL.composedMajorityFamily m)
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajorityFamily_isNonconstant (m : ℕ) : FABL.IsNonconstantCubeFunction (FABL.composedMajorityFamily m)
theorem FABL.composedMajorityFamily_isNonconstant (m : ℕ) : FABL.IsNonconstantCubeFunction (FABL.composedMajorityFamily m)
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (m : ℕ) : FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon hepsilon m = FABL.thresholdWidth epsilon hepsilon (FABL.composedMajority m) ⋯ ⋯
theorem FABL.normalizedThresholdWidth_composedMajority_eq_thresholdWidth (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2)) (m : ℕ) : FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon hepsilon m = FABL.thresholdWidth epsilon hepsilon (FABL.composedMajority m) ⋯ ⋯
At the critical probability `1/2`, the normalizing variance scale is exactly one, so normalized and unnormalized threshold widths coincide for this family.
-
defdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
def FABL.composedMajorityThresholdProbe (epsilon : ℝ) : ℝ
def FABL.composedMajorityThresholdProbe (epsilon : ℝ) : ℝ
A fixed point strictly between `sqrt epsilon` and `1/2`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajorityThresholdProbe_mem_Ioo (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : FABL.composedMajorityThresholdProbe epsilon ∈ Set.Ioo 0 (1 / 2)
theorem FABL.composedMajorityThresholdProbe_mem_Ioo (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : FABL.composedMajorityThresholdProbe epsilon ∈ Set.Ioo 0 (1 / 2)
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : 1 - FABL.composedMajorityThresholdProbe epsilon ∈ Set.Ioo (1 / 2) 1
theorem FABL.one_sub_composedMajorityThresholdProbe_mem_Ioo (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : 1 - FABL.composedMajorityThresholdProbe epsilon ∈ Set.Ioo (1 / 2) 1
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.epsilon_lt_composedMajorityThresholdProbe_sq (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : epsilon < FABL.composedMajorityThresholdProbe epsilon ^ 2
theorem FABL.epsilon_lt_composedMajorityThresholdProbe_sq (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : epsilon < FABL.composedMajorityThresholdProbe epsilon ^ 2
The lower limiting branch is strictly above `epsilon` at the probe point.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.one_sub_two_mul_composedMajorityThresholdProbe (epsilon : ℝ) : 1 - 2 * FABL.composedMajorityThresholdProbe epsilon = 1 / 2 - √epsilon
theorem FABL.one_sub_two_mul_composedMajorityThresholdProbe (epsilon : ℝ) : 1 - 2 * FABL.composedMajorityThresholdProbe epsilon = 1 / 2 - √epsilon
The two fixed probes leave the positive normalized-width margin `1/2 - sqrt epsilon`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : epsilon ∈ Set.Ioo 0 (1 / 2)
theorem FABL.epsilon_mem_Ioo_half_of_mem_Ioo_quarter (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : epsilon ∈ Set.Ioo 0 (1 / 2)
The Exercise 8.30 assumption `epsilon < 1/4` supplies the general threshold-width hypothesis `epsilon < 1/2`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.eventually_composedMajority_normalizedThresholdWidth_gt (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : ∀ᶠ (m : ℕ) in Filter.atTop, 1 / 2 - √epsilon < FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯ m
theorem FABL.eventually_composedMajority_normalizedThresholdWidth_gt (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : ∀ᶠ (m : ℕ) in Filter.atTop, 1 / 2 - √epsilon < FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯ m
Quantitative core of Exercise 8.30(d): eventually the normalized threshold width is bounded below by the fixed positive margin `1/2 - sqrt epsilon`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : ¬Filter.Tendsto (FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯) Filter.atTop (nhds 0)
theorem FABL.composedMajority_normalizedThresholdWidth_not_tendsto_zero (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : ¬Filter.Tendsto (FABL.normalizedThresholdWidth FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯) Filter.atTop (nhds 0)
The normalized threshold widths do not converge to zero for any fixed `epsilon ∈ (0, 1/4)`.
-
theoremdefined in FABL/Chapter08/ComposedMajorityInfluence.leancomplete
theorem FABL.composedMajority_hasCoarseThreshold (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : FABL.HasCoarseThreshold FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯
theorem FABL.composedMajority_hasCoarseThreshold (epsilon : ℝ) (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 4)) : FABL.HasCoarseThreshold FABL.composedMajorityArity FABL.composedMajorityFamily FABL.composedMajorityFamily_monotone FABL.composedMajorityFamily_isNonconstant epsilon ⋯
Exercise 8.30(d): despite total influence of order `sqrt n`, the composed-majority sequence has a coarse threshold for every fixed `epsilon < 1/4`.
-
FABL.shapleySubsetPMF[complete] -
FABL.shapleyF₂PMF[complete] -
FABL.shapleySubsetPMF_apply_toReal[complete] -
FABL.shapleyExpectation[complete] -
FABL.shapleyExpectation_eq_uniform_cardinality_then_subset[complete] -
FABL.shapleyValue[complete] -
FABL.shapleyValue_eq_sum_pointIndicators[complete] -
FABL.sum_shapleyValue[complete] -
FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight[complete] -
FABL.bernoulliSubsetExpectation[complete] -
FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation[complete] -
FABL.bernoulliMarginalContribution[complete] -
FABL.shapleyValue_eq_integral_bernoulliMarginalContribution[complete] -
FABL.bernoulliSubsetInfluence[complete] -
FABL.bernoulliMarginalContribution_eq_influence_div[complete] -
FABL.shapleyValue_eq_integral_normalizedInfluence[complete] -
FABL.printed_shapley_four_integral_formula_false[complete] -
FABL.maximalPathPrefix[complete] -
FABL.maximalPathLayerPMF[complete] -
FABL.uniformMaximalPathPointPMF[complete] -
FABL.maximalPathLayerPMF_eq_uniformLayer[complete] -
FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF[complete] -
FABL.shapleySubsetPMFOn[complete] -
FABL.shapleySubsetMarginalPMF[complete] -
FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn[complete] -
FABL.shapleySubsetMarginal_reindex_eq[complete]
Exercise 8.31. Define \nu_n on \mathbb F_2^n equivalently by:
uniformly choosing a Hamming weight and then a string of that weight;
choosing a uniform maximal path and a uniform point on it; or choosing
p uniformly from [0,1] and then sampling from \pi_p^{\otimes n}.
Prove the three laws agree and that nonempty marginals satisfy
x_J\sim\nu_J. Define
\operatorname{Shap}_i[f]
=\mathbb E_{x\sim\nu_n}
[f(x^{i\mapsto1})-f(x^{i\mapsto0})].
Prove
\sum_i\operatorname{Shap}_i[f]
=f(1,\ldots,1)-f(0,\ldots,0),
and, for monotone f:\mathbb F_2^n\to\{0,1\}, identify the continuous
marginal-contribution mixture
\operatorname{Shap}_i[f]
=\int_0^1
\frac{\operatorname{Inf}_i[f^{(p)}]}{p(1-p)}\,dp,
where the integrand at the endpoints is represented by its continuous
marginal-contribution extension. The printed formula
4\int_0^1\operatorname{Inf}_i[f^{(p)}],dp is false: for a dictator it
equals 2/3 while the Shapley value is 1.
Lean code for Lemma8.7.31●26 declarations
Associated Lean declarations
-
FABL.shapleySubsetPMF[complete]
-
FABL.shapleyF₂PMF[complete]
-
FABL.shapleySubsetPMF_apply_toReal[complete]
-
FABL.shapleyExpectation[complete]
-
FABL.shapleyExpectation_eq_uniform_cardinality_then_subset[complete]
-
FABL.shapleyValue[complete]
-
FABL.shapleyValue_eq_sum_pointIndicators[complete]
-
FABL.sum_shapleyValue[complete]
-
FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight[complete]
-
FABL.bernoulliSubsetExpectation[complete]
-
FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation[complete]
-
FABL.bernoulliMarginalContribution[complete]
-
FABL.shapleyValue_eq_integral_bernoulliMarginalContribution[complete]
-
FABL.bernoulliSubsetInfluence[complete]
-
FABL.bernoulliMarginalContribution_eq_influence_div[complete]
-
FABL.shapleyValue_eq_integral_normalizedInfluence[complete]
-
FABL.printed_shapley_four_integral_formula_false[complete]
-
FABL.maximalPathPrefix[complete]
-
FABL.maximalPathLayerPMF[complete]
-
FABL.uniformMaximalPathPointPMF[complete]
-
FABL.maximalPathLayerPMF_eq_uniformLayer[complete]
-
FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF[complete]
-
FABL.shapleySubsetPMFOn[complete]
-
FABL.shapleySubsetMarginalPMF[complete]
-
FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn[complete]
-
FABL.shapleySubsetMarginal_reindex_eq[complete]
-
FABL.shapleySubsetPMF[complete] -
FABL.shapleyF₂PMF[complete] -
FABL.shapleySubsetPMF_apply_toReal[complete] -
FABL.shapleyExpectation[complete] -
FABL.shapleyExpectation_eq_uniform_cardinality_then_subset[complete] -
FABL.shapleyValue[complete] -
FABL.shapleyValue_eq_sum_pointIndicators[complete] -
FABL.sum_shapleyValue[complete] -
FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight[complete] -
FABL.bernoulliSubsetExpectation[complete] -
FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation[complete] -
FABL.bernoulliMarginalContribution[complete] -
FABL.shapleyValue_eq_integral_bernoulliMarginalContribution[complete] -
FABL.bernoulliSubsetInfluence[complete] -
FABL.bernoulliMarginalContribution_eq_influence_div[complete] -
FABL.shapleyValue_eq_integral_normalizedInfluence[complete] -
FABL.printed_shapley_four_integral_formula_false[complete] -
FABL.maximalPathPrefix[complete] -
FABL.maximalPathLayerPMF[complete] -
FABL.uniformMaximalPathPointPMF[complete] -
FABL.maximalPathLayerPMF_eq_uniformLayer[complete] -
FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF[complete] -
FABL.shapleySubsetPMFOn[complete] -
FABL.shapleySubsetMarginalPMF[complete] -
FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn[complete] -
FABL.shapleySubsetMarginal_reindex_eq[complete]
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.shapleySubsetPMF (n : ℕ) : PMF (Finset (Fin n))
def FABL.shapleySubsetPMF (n : ℕ) : PMF (Finset (Fin n))
Exercise 8.31(a), first construction: choose a cardinality uniformly and then a subset uniformly from that cardinality layer.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.shapleyF₂PMF (n : ℕ) : PMF (FABL.F₂Cube n)
def FABL.shapleyF₂PMF (n : ℕ) : PMF (FABL.F₂Cube n)
Exercise 8.31's `nu_n` transported to the book's `F_2^n` representation.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.shapleySubsetPMF_apply_toReal {n : ℕ} (S : Finset (Fin n)) : ((FABL.shapleySubsetPMF n) S).toReal = 1 / (↑(n + 1) * ↑(n.choose S.card))
theorem FABL.shapleySubsetPMF_apply_toReal {n : ℕ} (S : Finset (Fin n)) : ((FABL.shapleySubsetPMF n) S).toReal = 1 / (↑(n + 1) * ↑(n.choose S.card))
Real-valued point-mass formula.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.shapleyExpectation {n : ℕ} (f : Finset (Fin n) → ℝ) : ℝ
def FABL.shapleyExpectation {n : ℕ} (f : Finset (Fin n) → ℝ) : ℝ
Expectation under `nu_n`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.shapleyExpectation_eq_uniform_cardinality_then_subset {n : ℕ} (f : Finset (Fin n) → ℝ) : FABL.shapleyExpectation f = FABL.pmfExpectation (PMF.uniformOfFintype (Fin (n + 1))) fun k => FABL.pmfExpectation (PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) ⋯) f
theorem FABL.shapleyExpectation_eq_uniform_cardinality_then_subset {n : ℕ} (f : Finset (Fin n) → ℝ) : FABL.shapleyExpectation f = FABL.pmfExpectation (PMF.uniformOfFintype (Fin (n + 1))) fun k => FABL.pmfExpectation (PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) ⋯) f
The first construction in Exercise 8.31 is literally the uniform mixture of uniform Hamming layers.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.shapleyValue {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
def FABL.shapleyValue {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
Exercise 8.31(c): the Shapley value in the book's `nu_n` form.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.shapleyValue_eq_sum_pointIndicators {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : FABL.shapleyValue f i = ∑ A, f A * FABL.shapleyValue (FABL.subsetPointIndicator A) i
theorem FABL.shapleyValue_eq_sum_pointIndicators {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : FABL.shapleyValue f i = ∑ A, f A * FABL.shapleyValue (FABL.subsetPointIndicator A) i
Shapley value expanded in the point-indicator basis.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.sum_shapleyValue {n : ℕ} (f : Finset (Fin n) → ℝ) : ∑ i, FABL.shapleyValue f i = f Finset.univ - f ∅
theorem FABL.sum_shapleyValue {n : ℕ} (f : Finset (Fin n) → ℝ) : ∑ i, FABL.shapleyValue f i = f Finset.univ - f ∅
Exercise 8.31(c): Shapley values telescope to the difference of endpoint values.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight (n k : ℕ) (hk : k ≤ n) : ∫ (p : ℝ) in 0..1, p ^ k * (1 - p) ^ (n - k) = FABL.shapleyLayerWeight n k
theorem FABL.integral_bernoulliSubsetMass_eq_shapleyLayerWeight (n k : ℕ) (hk : k ≤ n) : ∫ (p : ℝ) in 0..1, p ^ k * (1 - p) ^ (n - k) = FABL.shapleyLayerWeight n k
Beta integral in the exact Shapley-layer normalization.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.bernoulliSubsetExpectation {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) : ℝ
def FABL.bernoulliSubsetExpectation {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) : ℝ
Product-Bernoulli expectation on the Boolean lattice.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation {n : ℕ} (f : Finset (Fin n) → ℝ) : ∫ (p : ℝ) in 0..1, FABL.bernoulliSubsetExpectation p f = FABL.shapleyExpectation f
theorem FABL.integral_bernoulliSubsetExpectation_eq_shapleyExpectation {n : ℕ} (f : Finset (Fin n) → ℝ) : ∫ (p : ℝ) in 0..1, FABL.bernoulliSubsetExpectation p f = FABL.shapleyExpectation f
Exercise 8.31(a), third construction: uniformly mixing the product-Bernoulli laws over `p ∈ [0,1]` gives exactly `nu_n`.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.bernoulliMarginalContribution {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
def FABL.bernoulliMarginalContribution {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
Mean marginal contribution of coordinate `i` under the product-Bernoulli law.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.shapleyValue_eq_integral_bernoulliMarginalContribution {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : FABL.shapleyValue f i = ∫ (p : ℝ) in 0..1, FABL.bernoulliMarginalContribution p f i
theorem FABL.shapleyValue_eq_integral_bernoulliMarginalContribution {n : ℕ} (f : Finset (Fin n) → ℝ) (i : Fin n) : FABL.shapleyValue f i = ∫ (p : ℝ) in 0..1, FABL.bernoulliMarginalContribution p f i
Exercise 8.31, correct integral identity before influence normalization.
-
defdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
def FABL.bernoulliSubsetInfluence {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
def FABL.bernoulliSubsetInfluence {n : ℕ} (p : ℝ) (f : Finset (Fin n) → ℝ) (i : Fin n) : ℝ
Biased coordinate influence for a real set function.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.bernoulliMarginalContribution_eq_influence_div {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : Finset (Fin n) → ℝ) (hf : FABL.IsMonotoneSubsetFunction f) (hrange : FABL.HasZeroOneRange f) (i : Fin n) : FABL.bernoulliMarginalContribution p f i = FABL.bernoulliSubsetInfluence p f i / (p * (1 - p))
theorem FABL.bernoulliMarginalContribution_eq_influence_div {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : Finset (Fin n) → ℝ) (hf : FABL.IsMonotoneSubsetFunction f) (hrange : FABL.HasZeroOneRange f) (i : Fin n) : FABL.bernoulliMarginalContribution p f i = FABL.bernoulliSubsetInfluence p f i / (p * (1 - p))
Corrected Exercise 8.31(d), pointwise normalization on the open interval.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.shapleyValue_eq_integral_normalizedInfluence {n : ℕ} (f : Finset (Fin n) → ℝ) (_hf : FABL.IsMonotoneSubsetFunction f) (_hrange : FABL.HasZeroOneRange f) (i : Fin n) : FABL.shapleyValue f i = ∫ (p : ℝ) in 0..1, FABL.bernoulliMarginalContribution p f i
theorem FABL.shapleyValue_eq_integral_normalizedInfluence {n : ℕ} (f : Finset (Fin n) → ℝ) (_hf : FABL.IsMonotoneSubsetFunction f) (_hrange : FABL.HasZeroOneRange f) (i : Fin n) : FABL.shapleyValue f i = ∫ (p : ℝ) in 0..1, FABL.bernoulliMarginalContribution p f i
Corrected integral form of Exercise 8.31(d): the integrand is influence divided by `p(1-p)`, not four times influence. The endpoint values are supplied by the continuous marginal-contribution polynomial.
-
theoremdefined in FABL/Chapter08/BiasedThresholdPhenomena.leancomplete
theorem FABL.printed_shapley_four_integral_formula_false : FABL.shapleyValue FABL.shapleyDictator 0 ≠ 4 * ∫ (p : ℝ) in 0..1, FABL.bernoulliSubsetInfluence p FABL.shapleyDictator 0
theorem FABL.printed_shapley_four_integral_formula_false : FABL.shapleyValue FABL.shapleyDictator 0 ≠ 4 * ∫ (p : ℝ) in 0..1, FABL.bernoulliSubsetInfluence p FABL.shapleyDictator 0
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.maximalPathPrefix {n : ℕ} (pi : Equiv.Perm (Fin n)) (k : Fin (n + 1)) : Finset (Fin n)
def FABL.maximalPathPrefix {n : ℕ} (pi : Equiv.Perm (Fin n)) (k : Fin (n + 1)) : Finset (Fin n)
The `k`th vertex on the maximal path encoded by a permutation.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.maximalPathLayerPMF {n : ℕ} (k : Fin (n + 1)) : PMF (Finset (Fin n))
def FABL.maximalPathLayerPMF {n : ℕ} (k : Fin (n + 1)) : PMF (Finset (Fin n))
At a fixed layer, a uniformly random permutation induces a PMF on path vertices.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.uniformMaximalPathPointPMF (n : ℕ) : PMF (Finset (Fin n))
def FABL.uniformMaximalPathPointPMF (n : ℕ) : PMF (Finset (Fin n))
Uniform random maximal path followed by a uniform random path index.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.maximalPathLayerPMF_eq_uniformLayer {n : ℕ} (k : Fin (n + 1)) : FABL.maximalPathLayerPMF k = PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) ⋯
theorem FABL.maximalPathLayerPMF_eq_uniformLayer {n : ℕ} (k : Fin (n + 1)) : FABL.maximalPathLayerPMF k = PMF.uniformOfFinset (Finset.powersetCard (↑k) Finset.univ) ⋯
At fixed `k`, the uniform maximal-path point is uniform on the `k`th layer.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF (n : ℕ) : FABL.uniformMaximalPathPointPMF n = FABL.shapleySubsetPMF n
theorem FABL.uniformMaximalPathPointPMF_eq_shapleySubsetPMF (n : ℕ) : FABL.uniformMaximalPathPointPMF n = FABL.shapleySubsetPMF n
Exercise 8.31(a), second construction: a uniform maximal path and uniform point on it produce exactly `nu_n`.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.shapleySubsetPMFOn {n : ℕ} (J : Finset (Fin n)) : PMF (Finset ↥J)
def FABL.shapleySubsetPMFOn {n : ℕ} (J : Finset (Fin n)) : PMF (Finset ↥J)
Transport `nu_|J|` from `Fin |J|` to the abstract coordinate type `J`.
-
defdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
def FABL.shapleySubsetMarginalPMF {n : ℕ} (J : Finset (Fin n)) : PMF (Finset ↥J)
def FABL.shapleySubsetMarginalPMF {n : ℕ} (J : Finset (Fin n)) : PMF (Finset ↥J)
The `J`-coordinate marginal of ambient `nu_n`.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn {n : ℕ} (J : Finset (Fin n)) : FABL.shapleySubsetMarginalPMF J = FABL.shapleySubsetPMFOn J
theorem FABL.shapleySubsetMarginalPMF_eq_shapleySubsetPMFOn {n : ℕ} (J : Finset (Fin n)) : FABL.shapleySubsetMarginalPMF J = FABL.shapleySubsetPMFOn J
Exercise 8.31(b): every coordinate marginal of `nu_n` is the corresponding abstract Shapley law.
-
theoremdefined in FABL/Chapter08/BiasedThresholdComplements.leancomplete
theorem FABL.shapleySubsetMarginal_reindex_eq {n : ℕ} (J : Finset (Fin n)) : PMF.map (⇑J.equivFin.finsetCongr) (FABL.shapleySubsetMarginalPMF J) = FABL.shapleySubsetPMF J.card
theorem FABL.shapleySubsetMarginal_reindex_eq {n : ℕ} (J : Finset (Fin n)) : PMF.map (⇑J.equivFin.finsetCongr) (FABL.shapleySubsetMarginalPMF J) = FABL.shapleySubsetPMF J.card
Explicit reindexing of the abstract marginal back to `Fin |J|`.
-
FABL.pmfComplexInner[complete] -
FABL.pmfComplexMean[complete] -
FABL.ComplexFourierSystem[complete] -
FABL.ComplexFourierSystem.expansion[complete] -
FABL.ComplexFourierSystem.coeff_eq_inner[complete] -
FABL.ComplexFourierSystem.plancherel[complete] -
FABL.ComplexFourierSystem.parseval[complete] -
FABL.ComplexFourierSystem.mean_eq_coeff_zero[complete] -
FABL.ComplexFourierSystem.covariance_eq_sum_coeff[complete] -
FABL.ComplexFourierSystem.variance_eq_sum_coeff[complete] -
FABL.abelian_plancherel[complete] -
FABL.abelian_parseval[complete] -
FABL.complexCovariance_eq_sum_fourierCoeff[complete] -
FABL.complexVariance_eq_sum_fourierCoeff[complete]
Exercise 8.32. Extend Sections 8.1 and 8.2 to complex-valued functions
with Hermitian inner product. Prove
\mathbb E[f]=\widehat f(0),
\quad
\mathbb E[|f|^2]=\sum_\alpha|\widehat f(\alpha)|^2,
\quad
\operatorname{Var}[f]=\sum_{\alpha\ne0}|\widehat f(\alpha)|^2,
\langle f,g\rangle
=\sum_\alpha\widehat f(\alpha)\overline{\widehat g(\alpha)},
\quad
\operatorname{Cov}[f,g]
=\sum_{\alpha\ne0}
\widehat f(\alpha)\overline{\widehat g(\alpha)}.
Lean code for Lemma8.7.32●14 declarations
Associated Lean declarations
-
FABL.pmfComplexInner[complete]
-
FABL.pmfComplexMean[complete]
-
FABL.ComplexFourierSystem[complete]
-
FABL.ComplexFourierSystem.expansion[complete]
-
FABL.ComplexFourierSystem.coeff_eq_inner[complete]
-
FABL.ComplexFourierSystem.plancherel[complete]
-
FABL.ComplexFourierSystem.parseval[complete]
-
FABL.ComplexFourierSystem.mean_eq_coeff_zero[complete]
-
FABL.ComplexFourierSystem.covariance_eq_sum_coeff[complete]
-
FABL.ComplexFourierSystem.variance_eq_sum_coeff[complete]
-
FABL.abelian_plancherel[complete]
-
FABL.abelian_parseval[complete]
-
FABL.complexCovariance_eq_sum_fourierCoeff[complete]
-
FABL.complexVariance_eq_sum_fourierCoeff[complete]
-
FABL.pmfComplexInner[complete] -
FABL.pmfComplexMean[complete] -
FABL.ComplexFourierSystem[complete] -
FABL.ComplexFourierSystem.expansion[complete] -
FABL.ComplexFourierSystem.coeff_eq_inner[complete] -
FABL.ComplexFourierSystem.plancherel[complete] -
FABL.ComplexFourierSystem.parseval[complete] -
FABL.ComplexFourierSystem.mean_eq_coeff_zero[complete] -
FABL.ComplexFourierSystem.covariance_eq_sum_coeff[complete] -
FABL.ComplexFourierSystem.variance_eq_sum_coeff[complete] -
FABL.abelian_plancherel[complete] -
FABL.abelian_parseval[complete] -
FABL.complexCovariance_eq_sum_fourierCoeff[complete] -
FABL.complexVariance_eq_sum_fourierCoeff[complete]
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.pmfComplexInner.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω) (f g : Ω → ℂ) : ℂ
def FABL.pmfComplexInner.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω) (f g : Ω → ℂ) : ℂ
The complex `L²` inner product for a finite probability mass function.
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.pmfComplexMean.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω) (f : Ω → ℂ) : ℂ
def FABL.pmfComplexMean.{u_1} {Ω : Type u_1} [Fintype Ω] (p : PMF Ω) (f : Ω → ℂ) : ℂ
Expectation under a finite probability mass function.
-
structuredefined in FABL/Chapter08/AbelianGroups.leancomplete
structure FABL.ComplexFourierSystem.{u_1, u_2} (Ω : Type u_1) (ι : Type u_2) [Fintype Ω] [Fintype ι] [DecidableEq ι] : Type (max u_1 u_2)
structure FABL.ComplexFourierSystem.{u_1, u_2} (Ω : Type u_1) (ι : Type u_2) [Fintype Ω] [Fintype ι] [DecidableEq ι] : Type (max u_1 u_2)
A finite complex Fourier system: a full-support law, an orthonormal basis, and a distinguished constant basis vector. Taking `Ω` to be a finite product and `p` its product law gives exactly the setting of Exercise 8.32.
Fields
law : PMF Ω
Probability law on the finite space.
fullSupport : ∀ (x : Ω), self.law x ≠ 0
The book assumes full support.
basis : Module.Basis ι ℂ (Ω → ℂ)
Chosen Fourier basis.
zeroIndex : ι
Index of the constant basis vector.
basis_zero : self.basis self.zeroIndex = 1
The distinguished vector is the constant-one function.
orthonormal : ∀ (i j : ι), FABL.pmfComplexInner self.law (self.basis i) (self.basis j) = if i = j then 1 else 0
Orthonormality for the probability-weighted inner product.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.expansion.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) (x : Ω) : f x = ∑ i, F.coeff f i * F.basis i x
theorem FABL.ComplexFourierSystem.expansion.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) (x : Ω) : f x = ∑ i, F.coeff f i * F.basis i x
Fourier expansion for a finite complex Fourier system.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.coeff_eq_inner.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) (i : ι) : F.coeff f i = FABL.pmfComplexInner F.law (F.basis i) f
theorem FABL.ComplexFourierSystem.coeff_eq_inner.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) (i : ι) : F.coeff f i = FABL.pmfComplexInner F.law (F.basis i) f
Exercise 8.32: the algebraic basis coordinates are the weighted inner products with the basis vectors.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.plancherel.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω → ℂ) : FABL.pmfComplexInner F.law f g = ∑ i, (starRingEnd ℂ) (F.coeff f i) * F.coeff g i
theorem FABL.ComplexFourierSystem.plancherel.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω → ℂ) : FABL.pmfComplexInner F.law f g = ∑ i, (starRingEnd ℂ) (F.coeff f i) * F.coeff g i
Exercise 8.32, Plancherel in full finite-probability generality.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.parseval.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : FABL.pmfComplexInner F.law f f = ∑ i, (starRingEnd ℂ) (F.coeff f i) * F.coeff f i
theorem FABL.ComplexFourierSystem.parseval.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : FABL.pmfComplexInner F.law f f = ∑ i, (starRingEnd ℂ) (F.coeff f i) * F.coeff f i
Exercise 8.32, Parseval/second moment in full finite-probability generality.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.mean_eq_coeff_zero.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : F.mean f = F.coeff f F.zeroIndex
theorem FABL.ComplexFourierSystem.mean_eq_coeff_zero.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : F.mean f = F.coeff f F.zeroIndex
Exercise 8.32: the mean is the coefficient of the constant basis vector.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.covariance_eq_sum_coeff.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω → ℂ) : F.covariance f g = ∑ i with i ≠ F.zeroIndex, (starRingEnd ℂ) (F.coeff f i) * F.coeff g i
theorem FABL.ComplexFourierSystem.covariance_eq_sum_coeff.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f g : Ω → ℂ) : F.covariance f g = ∑ i with i ≠ F.zeroIndex, (starRingEnd ℂ) (F.coeff f i) * F.coeff g i
Exercise 8.32: covariance is the nonconstant part of the coefficient inner product.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.ComplexFourierSystem.variance_eq_sum_coeff.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : F.variance f = ∑ i with i ≠ F.zeroIndex, (starRingEnd ℂ) (F.coeff f i) * F.coeff f i
theorem FABL.ComplexFourierSystem.variance_eq_sum_coeff.{u_1, u_2} {Ω : Type u_1} {ι : Type u_2} [Fintype Ω] [Fintype ι] [DecidableEq ι] (F : FABL.ComplexFourierSystem Ω ι) (f : Ω → ℂ) : F.variance f = ∑ i with i ≠ F.zeroIndex, (starRingEnd ℂ) (F.coeff f i) * F.coeff f i
Exercise 8.32: variance is the sum of squared magnitudes of nonconstant coefficients.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.abelian_plancherel.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.complexUniformInner f g = ∑ χ, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff g χ
theorem FABL.abelian_plancherel.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.complexUniformInner f g = ∑ χ, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff g χ
Exercise 8.32, Plancherel: the complex inner product is the coefficient-space inner product, with conjugation in the first coefficient.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.abelian_parseval.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G → ℂ) : FABL.complexUniformInner f f = ∑ χ, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff f χ
theorem FABL.abelian_parseval.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G → ℂ) : FABL.complexUniformInner f f = ∑ χ, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff f χ
Exercise 8.32, Parseval and the complex second-moment identity.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.complexCovariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.complexCovariance f g = ∑ χ with χ ≠ 0, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff g χ
theorem FABL.complexCovariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.complexCovariance f g = ∑ χ with χ ≠ 0, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff g χ
Exercise 8.32: covariance is the nontrivial part of the coefficient inner product.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.complexVariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G → ℂ) : FABL.complexVariance f = ∑ χ with χ ≠ 0, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff f χ
theorem FABL.complexVariance_eq_sum_fourierCoeff.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G → ℂ) : FABL.complexVariance f = ∑ χ with χ ≠ 0, (starRingEnd ℂ) (FABL.abelianFourierCoeff f χ) * FABL.abelianFourierCoeff f χ
Exercise 8.32: variance is the sum of squared magnitudes of nontrivial coefficients.
-
FABL.pmfVectorExpectation[complete] -
FABL.FiniteFourierBasis.vectorFourierCoeff[complete] -
FABL.FiniteFourierBasis.vector_fourier_expansion[complete] -
FABL.productVectorInner[complete] -
FABL.FiniteFourierBasis.vector_parseval[complete] -
FABL.vectorProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator[complete] -
FABL.productVectorNoiseStability[complete] -
FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum[complete] -
FABL.probabilitySimplexEmbedding[complete] -
FABL.productNoiseAgreementProbability[complete] -
FABL.simplexVectorNoiseStability[complete] -
FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability[complete] -
FABL.simplexVectorNoiseStability_eq_agreementProbability[complete]
Exercise 8.33. Let V be a real inner-product space and
f,g:\Omega^n\to V. Define vector-valued Fourier coefficients and prove
\langle f,g\rangle
=\sum_\alpha
\langle\widehat f(\alpha),\widehat g(\alpha)\rangle_V.
Embed a finite alphabet \Sigma in its probability simplex. For
f:\Omega^n\to\Sigma, prove that the resulting vector-valued noise
stability is
\operatorname{Stab}_\rho[f]
=\Pr[f(x)=f(y)].
Lean code for Lemma8.7.33●14 declarations
Associated Lean declarations
-
FABL.pmfVectorExpectation[complete]
-
FABL.FiniteFourierBasis.vectorFourierCoeff[complete]
-
FABL.FiniteFourierBasis.vector_fourier_expansion[complete]
-
FABL.productVectorInner[complete]
-
FABL.FiniteFourierBasis.vector_parseval[complete]
-
FABL.vectorProductNoiseOperator[complete]
-
FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator[complete]
-
FABL.productVectorNoiseStability[complete]
-
FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum[complete]
-
FABL.probabilitySimplexEmbedding[complete]
-
FABL.productNoiseAgreementProbability[complete]
-
FABL.simplexVectorNoiseStability[complete]
-
FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability[complete]
-
FABL.simplexVectorNoiseStability_eq_agreementProbability[complete]
-
FABL.pmfVectorExpectation[complete] -
FABL.FiniteFourierBasis.vectorFourierCoeff[complete] -
FABL.FiniteFourierBasis.vector_fourier_expansion[complete] -
FABL.productVectorInner[complete] -
FABL.FiniteFourierBasis.vector_parseval[complete] -
FABL.vectorProductNoiseOperator[complete] -
FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator[complete] -
FABL.productVectorNoiseStability[complete] -
FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum[complete] -
FABL.probabilitySimplexEmbedding[complete] -
FABL.productNoiseAgreementProbability[complete] -
FABL.simplexVectorNoiseStability[complete] -
FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability[complete] -
FABL.simplexVectorNoiseStability_eq_agreementProbability[complete]
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.pmfVectorExpectation.{u_1, u_2} {Ξ : Type u_1} {V : Type u_2} [Fintype Ξ] [NormedAddCommGroup V] [NormedSpace ℝ V] (μ : PMF Ξ) (f : Ξ → V) : V
def FABL.pmfVectorExpectation.{u_1, u_2} {Ξ : Type u_1} {V : Type u_2} [Fintype Ξ] [NormedAddCommGroup V] [NormedSpace ℝ V] (μ : PMF Ξ) (f : Ξ → V) : V
Expectation of a vector-valued function under a finite PMF.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.FiniteFourierBasis.vectorFourierCoeff.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : (Fin n → Ω) → V) (a : FABL.MultiIndex n ι) : V
def FABL.FiniteFourierBasis.vectorFourierCoeff.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : (Fin n → Ω) → V) (a : FABL.MultiIndex n ι) : V
Vector-valued Fourier coefficient on a product basis.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.FiniteFourierBasis.vector_fourier_expansion.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : (Fin n → Ω) → V) (x : Fin n → Ω) : f x = ∑ a, B.productFunction a x • B.vectorFourierCoeff f a
theorem FABL.FiniteFourierBasis.vector_fourier_expansion.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f : (Fin n → Ω) → V) (x : Fin n → Ω) : f x = ∑ a, B.productFunction a x • B.vectorFourierCoeff f a
Vector-valued product Fourier expansion.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.productVectorInner.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] (π : PMF Ω) {n : ℕ} (f g : (Fin n → Ω) → V) : ℝ
def FABL.productVectorInner.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] (π : PMF Ω) {n : ℕ} (f g : (Fin n → Ω) → V) : ℝ
Product inner product of two vector-valued functions.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.FiniteFourierBasis.vector_parseval.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : (Fin n → Ω) → V) : FABL.productVectorInner π f g = ∑ a, inner ℝ (B.vectorFourierCoeff f a) (B.vectorFourierCoeff g a)
theorem FABL.FiniteFourierBasis.vector_parseval.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (f g : (Fin n → Ω) → V) : FABL.productVectorInner π f g = ∑ a, inner ℝ (B.vectorFourierCoeff f a) (B.vectorFourierCoeff g a)
Exercise 8.33, vector-valued Parseval identity.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.vectorProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [NormedSpace ℝ V] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : (Fin n → Ω) → V
def FABL.vectorProductNoiseOperator.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [NormedSpace ℝ V] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : (Fin n → Ω) → V
Conditional expectation of a vector-valued function under product noise.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) (a : FABL.MultiIndex n ι) : B.vectorFourierCoeff (FABL.vectorProductNoiseOperator π ρ hρ f) a = ρ ^ FABL.multiIndexOrder B.zeroIndex a • B.vectorFourierCoeff f a
theorem FABL.FiniteFourierBasis.vectorFourierCoeff_vectorProductNoiseOperator.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) (a : FABL.MultiIndex n ι) : B.vectorFourierCoeff (FABL.vectorProductNoiseOperator π ρ hρ f) a = ρ ^ FABL.multiIndexOrder B.zeroIndex a • B.vectorFourierCoeff f a
Vector Fourier coefficients diagonalize the vector-valued noise operator.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.productVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : ℝ
def FABL.productVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : ℝ
Vector-valued noise stability under the product law.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : FABL.productVectorNoiseStability π ρ hρ f = ∑ a, ρ ^ FABL.multiIndexOrder B.zeroIndex a * ‖B.vectorFourierCoeff f a‖ ^ 2
theorem FABL.FiniteFourierBasis.productVectorNoiseStability_eq_sum.{u_1, u_2, u_3} {Ω : Type u_1} {V : Type u_2} [Fintype Ω] [Nonempty Ω] [NormedAddCommGroup V] [InnerProductSpace ℝ V] {π : PMF Ω} {ι : Type u_3} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → V) : FABL.productVectorNoiseStability π ρ hρ f = ∑ a, ρ ^ FABL.multiIndexOrder B.zeroIndex a * ‖B.vectorFourierCoeff f a‖ ^ 2
Spectral formula for vector-valued product noise stability.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.probabilitySimplexEmbedding.{u_1} (β : Type u_1) [Fintype β] [DecidableEq β] (σ : β) : EuclideanSpace ℝ β
def FABL.probabilitySimplexEmbedding.{u_1} (β : Type u_1) [Fintype β] [DecidableEq β] (σ : β) : EuclideanSpace ℝ β
The standard probability-simplex embedding of a finite alphabet.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.productNoiseAgreementProbability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : ℝ
def FABL.productNoiseAgreementProbability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : ℝ
Conditional probability that two outputs agree under product noise.
-
defdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
def FABL.simplexVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : ℝ
def FABL.simplexVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : ℝ
Vector-valued noise stability of the simplex embedding.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : FABL.simplexVectorNoiseStability π ρ hρ f = FABL.productVectorNoiseStability π ρ hρ fun x => FABL.probabilitySimplexEmbedding β (f x)
theorem FABL.simplexVectorNoiseStability_eq_productVectorNoiseStability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : FABL.simplexVectorNoiseStability π ρ hρ f = FABL.productVectorNoiseStability π ρ hρ fun x => FABL.probabilitySimplexEmbedding β (f x)
The conditional simplex stability is the generic vector-valued product noise stability.
-
theoremdefined in FABL/Chapter08/VectorValuedFourier.leancomplete
theorem FABL.simplexVectorNoiseStability_eq_agreementProbability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : FABL.simplexVectorNoiseStability π ρ hρ f = FABL.productNoiseAgreementProbability π ρ hρ f
theorem FABL.simplexVectorNoiseStability_eq_agreementProbability.{u_1, u_2} {Ω : Type u_1} {β : Type u_2} [Fintype Ω] [Fintype β] [DecidableEq β] (π : PMF Ω) {n : ℕ} (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → β) : FABL.simplexVectorNoiseStability π ρ hρ f = FABL.productNoiseAgreementProbability π ρ hρ f
Exercise 8.33: simplex-valued vector noise stability is exactly agreement probability.
-
FABL.IsProductLinearThreshold[complete] -
FABL.selectProductInput[complete] -
FABL.selectedScore_eq_midpoint_add_difference[complete] -
FABL.isLinearThreshold_selectProductInput[complete] -
FABL.printedSelectorAgreementAtZero[complete] -
FABL.productBoolAgreementAtZero[complete] -
FABL.printed_product_selector_coupling_false[complete] -
FABL.selectorRetention[complete] -
FABL.selectorRetention_mem_Icc[complete] -
FABL.retentionCorrelation[complete] -
FABL.retentionCorrelation_mem_Icc[complete] -
FABL.selectorCoordinatePairPMF[complete] -
FABL.productRetentionCoordinatePairPMF[complete] -
FABL.selectorCoordinatePairPMF_eq_productRetention[complete] -
FABL.productSelectorPairPMF[complete] -
FABL.productRetentionPairPMF[complete] -
FABL.productRetentionPairPMF_eq_coordinateProduct[complete] -
FABL.productSelectorPairPMF_eq_productRetention[complete] -
FABL.productSelectorPairPMF_retentionCorrelation[complete] -
FABL.literalProductSelectorPairPMF[complete] -
FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF[complete] -
FABL.literalProductSelectorPairPMF_eq_productRetention[complete] -
FABL.productResamplingNoiseSensitivity[complete] -
FABL.productResamplingNoiseSensitivity_le_peres[complete] -
FABL.productResamplingNoiseSensitivity_zero[complete] -
FABL.productResamplingNoiseSensitivity_le_sqrt_two[complete] -
FABL.productResamplingNoiseSensitivity_le_sqrt_two_full[complete]
Exercise 8.34. Define a linear threshold function on a general product
space as f=\operatorname{sgn}(\ell) with \deg(\ell)\le1. Given two
independent samples \omega^{(+1)},\omega^{(-1)}\sim\pi^{\otimes n},
prove that x\mapsto f(\omega^{(x)}) is an ordinary binary LTF.
The printed coupling assertion with the same correlation parameter on both
sides is false under Definition 8.26. A binary pair of correlation
\theta uses the same selected sample with probability (1+\theta)/2,
so the corrected product retention parameter is (1+\theta)/2, not
\theta. Already for one uniform Boolean coordinate at \theta=0, the
printed selector has agreement probability 3/4 whereas the product pair
at retention zero has agreement probability 1/2. After formalizing the
corrected coupling bridge, derive the corresponding reparameterized Peres
bound; the intended qualitative conclusion is
\operatorname{NS}_\delta[f]\le O(\sqrt\delta),
\qquad 0<\delta\le\frac12,
with a constant independent of n,f,\Omega,\pi.
The corrected formal statement gives the explicit constant
\sqrt{3/2} on this range and, by a universal probability bound, the
uniform estimate \operatorname{NS}_\delta[f]\le\sqrt2\sqrt\delta for
the full interval 0\le\delta\le1.
Lean code for Lemma8.7.34●27 declarations
Associated Lean declarations
-
FABL.IsProductLinearThreshold[complete]
-
FABL.selectProductInput[complete]
-
FABL.selectedScore_eq_midpoint_add_difference[complete]
-
FABL.isLinearThreshold_selectProductInput[complete]
-
FABL.printedSelectorAgreementAtZero[complete]
-
FABL.productBoolAgreementAtZero[complete]
-
FABL.printed_product_selector_coupling_false[complete]
-
FABL.selectorRetention[complete]
-
FABL.selectorRetention_mem_Icc[complete]
-
FABL.retentionCorrelation[complete]
-
FABL.retentionCorrelation_mem_Icc[complete]
-
FABL.selectorCoordinatePairPMF[complete]
-
FABL.productRetentionCoordinatePairPMF[complete]
-
FABL.selectorCoordinatePairPMF_eq_productRetention[complete]
-
FABL.productSelectorPairPMF[complete]
-
FABL.productRetentionPairPMF[complete]
-
FABL.productRetentionPairPMF_eq_coordinateProduct[complete]
-
FABL.productSelectorPairPMF_eq_productRetention[complete]
-
FABL.productSelectorPairPMF_retentionCorrelation[complete]
-
FABL.literalProductSelectorPairPMF[complete]
-
FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF[complete]
-
FABL.literalProductSelectorPairPMF_eq_productRetention[complete]
-
FABL.productResamplingNoiseSensitivity[complete]
-
FABL.productResamplingNoiseSensitivity_le_peres[complete]
-
FABL.productResamplingNoiseSensitivity_zero[complete]
-
FABL.productResamplingNoiseSensitivity_le_sqrt_two[complete]
-
FABL.productResamplingNoiseSensitivity_le_sqrt_two_full[complete]
-
FABL.IsProductLinearThreshold[complete] -
FABL.selectProductInput[complete] -
FABL.selectedScore_eq_midpoint_add_difference[complete] -
FABL.isLinearThreshold_selectProductInput[complete] -
FABL.printedSelectorAgreementAtZero[complete] -
FABL.productBoolAgreementAtZero[complete] -
FABL.printed_product_selector_coupling_false[complete] -
FABL.selectorRetention[complete] -
FABL.selectorRetention_mem_Icc[complete] -
FABL.retentionCorrelation[complete] -
FABL.retentionCorrelation_mem_Icc[complete] -
FABL.selectorCoordinatePairPMF[complete] -
FABL.productRetentionCoordinatePairPMF[complete] -
FABL.selectorCoordinatePairPMF_eq_productRetention[complete] -
FABL.productSelectorPairPMF[complete] -
FABL.productRetentionPairPMF[complete] -
FABL.productRetentionPairPMF_eq_coordinateProduct[complete] -
FABL.productSelectorPairPMF_eq_productRetention[complete] -
FABL.productSelectorPairPMF_retentionCorrelation[complete] -
FABL.literalProductSelectorPairPMF[complete] -
FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF[complete] -
FABL.literalProductSelectorPairPMF_eq_productRetention[complete] -
FABL.productResamplingNoiseSensitivity[complete] -
FABL.productResamplingNoiseSensitivity_le_peres[complete] -
FABL.productResamplingNoiseSensitivity_zero[complete] -
FABL.productResamplingNoiseSensitivity_le_sqrt_two[complete] -
FABL.productResamplingNoiseSensitivity_le_sqrt_two_full[complete]
-
defdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
def FABL.IsProductLinearThreshold.{u_1} {n : ℕ} {Ω : Type u_1} [Fintype Ω] (f : (Fin n → Ω) → FABL.Sign) : Prop
def FABL.IsProductLinearThreshold.{u_1} {n : ℕ} {Ω : Type u_1} [Fintype Ω] (f : (Fin n → Ω) → FABL.Sign) : Prop
An additive degree-one threshold representation on a finite product space.
-
defdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
def FABL.selectProductInput.{u_1} {n : ℕ} {Ω : Type u_1} (plus minus : Fin n → Ω) (x : FABL.SignCube n) : Fin n → Ω
def FABL.selectProductInput.{u_1} {n : ℕ} {Ω : Type u_1} (plus minus : Fin n → Ω) (x : FABL.SignCube n) : Fin n → Ω
Select coordinate `i` from the plus or minus sample according to a sign string.
-
theoremdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
theorem FABL.selectedScore_eq_midpoint_add_difference.{u_1} {Ω : Type u_1} (a : Ω → ℝ) (plus minus : Ω) (x : FABL.Sign) : a (if x = 1 then plus else minus) = (a plus + a minus) / 2 + (a plus - a minus) / 2 * FABL.signValue x
theorem FABL.selectedScore_eq_midpoint_add_difference.{u_1} {Ω : Type u_1} (a : Ω → ℝ) (plus minus : Ω) (x : FABL.Sign) : a (if x = 1 then plus else minus) = (a plus + a minus) / 2 + (a plus - a minus) / 2 * FABL.signValue x
A one-coordinate score selected from two fixed values is affine in the selecting sign.
-
theoremdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
theorem FABL.isLinearThreshold_selectProductInput.{u_1} {n : ℕ} {Ω : Type u_1} [Fintype Ω] (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (plus minus : Fin n → Ω) : FABL.IsLinearThreshold fun x => f (FABL.selectProductInput plus minus x)
theorem FABL.isLinearThreshold_selectProductInput.{u_1} {n : ℕ} {Ω : Type u_1} [Fintype Ω] (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (plus minus : Fin n → Ω) : FABL.IsLinearThreshold fun x => f (FABL.selectProductInput plus minus x)
Exercise 8.34(b): fixing the two product samples turns a product-space LTF into an ordinary binary linear threshold function.
-
defdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
def FABL.printedSelectorAgreementAtZero : ℝ
def FABL.printedSelectorAgreementAtZero : ℝ
Agreement probability produced by the printed selector construction at binary correlation zero, using two independent uniform Boolean samples.
-
defdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
def FABL.productBoolAgreementAtZero : ℝ
def FABL.productBoolAgreementAtZero : ℝ
The actual agreement probability for Definition 8.26 at product correlation zero.
-
theoremdefined in FABL/Chapter08/ProductLTFNoise.leancomplete
theorem FABL.printed_product_selector_coupling_false : FABL.printedSelectorAgreementAtZero ≠ FABL.productBoolAgreementAtZero
theorem FABL.printed_product_selector_coupling_false : FABL.printedSelectorAgreementAtZero ≠ FABL.productBoolAgreementAtZero
Exercise 8.34(a), as printed with the same correlation parameter on both sides, is false: already at `rho = 0` its selector construction has agreement probability `3/4`, whereas the Definition 8.26 product pair has agreement probability `1/2`.
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.selectorRetention (θ : ℝ) : ℝ
def FABL.selectorRetention (θ : ℝ) : ℝ
Product retention corresponding to binary sign correlation `θ`.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.selectorRetention_mem_Icc {θ : ℝ} (hθ : θ ∈ Set.Icc (-1) 1) : FABL.selectorRetention θ ∈ Set.Icc 0 1
theorem FABL.selectorRetention_mem_Icc {θ : ℝ} (hθ : θ ∈ Set.Icc (-1) 1) : FABL.selectorRetention θ ∈ Set.Icc 0 1
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.retentionCorrelation (ρ : ℝ) : ℝ
def FABL.retentionCorrelation (ρ : ℝ) : ℝ
Inverse conversion from product retention to binary correlation.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.retentionCorrelation_mem_Icc {ρ : ℝ} (hρ : ρ ∈ Set.Icc 0 1) : FABL.retentionCorrelation ρ ∈ Set.Icc (-1) 1
theorem FABL.retentionCorrelation_mem_Icc {ρ : ℝ} (hρ : ρ ∈ Set.Icc 0 1) : FABL.retentionCorrelation ρ ∈ Set.Icc (-1) 1
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.selectorCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF (Ω × Ω)
def FABL.selectorCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF (Ω × Ω)
One-coordinate selector-pair experiment: draw two independent `π` samples and use a `θ`-correlated pair of signs to select from them.
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.productRetentionCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : PMF (Ω × Ω)
def FABL.productRetentionCoordinatePairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : PMF (Ω × Ω)
One-coordinate joint law of a stationary `π` sample and its Definition 8.26 noisy copy.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.selectorCoordinatePairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.selectorCoordinatePairPMF π θ hθ = FABL.productRetentionCoordinatePairPMF π (FABL.selectorRetention θ) ⋯
theorem FABL.selectorCoordinatePairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.selectorCoordinatePairPMF π θ hθ = FABL.productRetentionCoordinatePairPMF π (FABL.selectorRetention θ) ⋯
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.productSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
def FABL.productSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
Complete selector-pair law: every coordinate independently draws its two `π` samples and its `θ`-correlated selector pair, then the selected coordinate pairs are reassembled as two strings.
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.productRetentionPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
def FABL.productRetentionPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
Complete Definition 8.26 stationary pair law.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productRetentionPairPMF_eq_coordinateProduct.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : FABL.productRetentionPairPMF π n ρ hρ = PMF.map (⇑(FABL.productPairCoordinatesEquiv Ω n).symm) (FABL.productProbabilityPMF (FABL.productRetentionCoordinatePairPMF π ρ hρ) n)
theorem FABL.productRetentionPairPMF_eq_coordinateProduct.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : FABL.productRetentionPairPMF π n ρ hρ = PMF.map (⇑(FABL.productPairCoordinatesEquiv Ω n).symm) (FABL.productProbabilityPMF (FABL.productRetentionCoordinatePairPMF π ρ hρ) n)
The standard conditional-kernel pair law is the independent product of its one-coordinate joint laws.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productSelectorPairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.productSelectorPairPMF π n θ hθ = FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) ⋯
theorem FABL.productSelectorPairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.productSelectorPairPMF π n θ hθ = FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) ⋯
Corrected Exercise 8.34(a): equality of the complete selector and Definition 8.26 PMF laws at `ρ = (1 + θ) / 2`.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productSelectorPairPMF_retentionCorrelation.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : FABL.productSelectorPairPMF π n (FABL.retentionCorrelation ρ) ⋯ = FABL.productRetentionPairPMF π n ρ hρ
theorem FABL.productSelectorPairPMF_retentionCorrelation.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (ρ : ℝ) (hρ : ρ ∈ Set.Icc 0 1) : FABL.productSelectorPairPMF π n (FABL.retentionCorrelation ρ) ⋯ = FABL.productRetentionPairPMF π n ρ hρ
Reverse parameterization: a product-retention parameter `ρ` is obtained from binary correlation `θ = 2ρ - 1`.
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.literalProductSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
def FABL.literalProductSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : PMF ((Fin n → Ω) × (Fin n → Ω))
Literal two-sample selector law on a pair of strings.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.literalProductSelectorPairPMF π n θ hθ = FABL.productSelectorPairPMF π n θ hθ
theorem FABL.literalProductSelectorPairPMF_eq_productSelectorPairPMF.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.literalProductSelectorPairPMF π n θ hθ = FABL.productSelectorPairPMF π n θ hθ
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.literalProductSelectorPairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.literalProductSelectorPairPMF π n θ hθ = FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) ⋯
theorem FABL.literalProductSelectorPairPMF_eq_productRetention.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) (n : ℕ) (θ : ℝ) (hθ : θ ∈ Set.Icc (-1) 1) : FABL.literalProductSelectorPairPMF π n θ hθ = FABL.productRetentionPairPMF π n (FABL.selectorRetention θ) ⋯
The corrected complete law in the literal notation of Exercise 8.34(a).
-
defdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
def FABL.productResamplingNoiseSensitivity.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → FABL.Sign) : ℝ
def FABL.productResamplingNoiseSensitivity.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : (Fin n → Ω) → FABL.Sign) : ℝ
Product-space noise sensitivity at resampling rate `δ`, i.e. retention `1-δ`.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productResamplingNoiseSensitivity_le_peres.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) : FABL.productResamplingNoiseSensitivity π δ ⋯ f ≤ √(3 / 2) * √δ
theorem FABL.productResamplingNoiseSensitivity_le_peres.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) : FABL.productResamplingNoiseSensitivity π δ ⋯ f ≤ √(3 / 2) * √δ
Reparameterized Exercise 8.34(c): for `0 < δ ≤ 1/2`, the ordinary binary Peres theorem gives the same explicit constant for product-resampling noise.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productResamplingNoiseSensitivity_zero.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) : FABL.productResamplingNoiseSensitivity π 0 FABL.productResamplingNoiseSensitivity_zero._proof_1 f = 0
theorem FABL.productResamplingNoiseSensitivity_zero.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) : FABL.productResamplingNoiseSensitivity π 0 FABL.productResamplingNoiseSensitivity_zero._proof_1 f = 0
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδ : δ ∈ Set.Ioc 0 1) : FABL.productResamplingNoiseSensitivity π δ ⋯ f ≤ √2 * √δ
theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδ : δ ∈ Set.Ioc 0 1) : FABL.productResamplingNoiseSensitivity π δ ⋯ f ≤ √2 * √δ
The corrected result on the full positive resampling interval. Peres gives the sharper `√(3/2)` constant through `δ=1/2`; the elementary probability bound extends the same `O(√δ)` order to `1/2 < δ ≤ 1` with universal constant `√2`.
-
theoremdefined in FABL/Chapter08/ProductLTFNoiseCorrection.leancomplete
theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two_full.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) : FABL.productResamplingNoiseSensitivity π δ hδ f ≤ √2 * √δ
theorem FABL.productResamplingNoiseSensitivity_le_sqrt_two_full.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : (Fin n → Ω) → FABL.Sign) (hf : FABL.IsProductLinearThreshold f) (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) : FABL.productResamplingNoiseSensitivity π δ hδ f ≤ √2 * √δ
Full closed-interval form, including the noiseless endpoint.
-
FABL.circleCharacterMulEquiv[complete] -
FABL.circleCharacterAddEquiv[complete] -
FABL.abelianDualAddEquiv[complete] -
FABL.abelianDoubleDualAddEquiv[complete]
Exercise 8.35. If
G\cong\mathbb Z_{m_1}\times\cdots\times\mathbb Z_{m_n}, define
\chi_\alpha(x)
=\prod_{j=1}^n\exp(2\pi i\alpha_jx_j/m_j).
Prove these characters are distinct, form a Fourier basis of L^2(G), and
under pointwise multiplication form the dual group
\widehat G\cong G.
Lean code for Lemma8.7.35●4 definitions
Associated Lean declarations
-
FABL.circleCharacterMulEquiv[complete]
-
FABL.circleCharacterAddEquiv[complete]
-
FABL.abelianDualAddEquiv[complete]
-
FABL.abelianDoubleDualAddEquiv[complete]
-
FABL.circleCharacterMulEquiv[complete] -
FABL.circleCharacterAddEquiv[complete] -
FABL.abelianDualAddEquiv[complete] -
FABL.abelianDoubleDualAddEquiv[complete]
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.circleCharacterMulEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : AddChar G Circle ≃* Multiplicative G
def FABL.circleCharacterMulEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : AddChar G Circle ≃* Multiplicative G
Mathlib's finite-abelian classification and roots-of-unity theorem identify the circle-valued character group with the original group. This is the classification step in Exercise 8.35.
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.circleCharacterAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : AddChar G Circle ≃+ G
def FABL.circleCharacterAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : AddChar G Circle ≃+ G
Exercise 8.35(b): the circle-valued dual group is noncanonically additively isomorphic to `G`; addition of `AddChar`s is pointwise multiplication.
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.abelianDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : FABL.AbelianDual G ≃+ G
def FABL.abelianDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : FABL.AbelianDual G ≃+ G
Exercise 8.35(b): the complex character group `Ĝ` is noncanonically isomorphic to `G`. Mathlib supplies the classification theorem; no finite-abelian classification is repeated here.
-
defdefined in FABL/Chapter08/AbelianGroups.leancomplete
def FABL.abelianDoubleDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : G ≃+ FABL.AbelianDual (FABL.AbelianDual G)
def FABL.abelianDoubleDualAddEquiv.{u_1} (G : Type u_1) [AddCommGroup G] [Finite G] : G ≃+ FABL.AbelianDual (FABL.AbelianDual G)
The canonical finite Pontryagin double-dual equivalence.
-
FABL.abelianConvolution_comm[complete] -
FABL.abelianConvolution_assoc[complete]
Exercise 8.36. Prove that normalized convolution on a finite abelian group
is associative and commutative, and prove the convolution identity
\widehat{f*g}(\alpha)=\widehat f(\alpha)\widehat g(\alpha).
Lean code for Lemma8.7.36●2 theorems
Associated Lean declarations
-
FABL.abelianConvolution_comm[complete]
-
FABL.abelianConvolution_assoc[complete]
-
FABL.abelianConvolution_comm[complete] -
FABL.abelianConvolution_assoc[complete]
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.abelianConvolution_comm.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.abelianConvolution f g = FABL.abelianConvolution g f
theorem FABL.abelianConvolution_comm.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G → ℂ) : FABL.abelianConvolution f g = FABL.abelianConvolution g f
Exercise 8.36: normalized convolution is commutative.
-
theoremdefined in FABL/Chapter08/AbelianGroups.leancomplete
theorem FABL.abelianConvolution_assoc.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g h : G → ℂ) : FABL.abelianConvolution (FABL.abelianConvolution f g) h = FABL.abelianConvolution f (FABL.abelianConvolution g h)
theorem FABL.abelianConvolution_assoc.{u_1} {G : Type u_1} [AddCommGroup G] [Fintype G] (f g h : G → ℂ) : FABL.abelianConvolution (FABL.abelianConvolution f g) h = FABL.abelianConvolution f (FABL.abelianConvolution g h)
Exercise 8.36: normalized convolution is associative.
-
FABL.RandomizedDecisionTree.revealment[complete] -
FABL.RandomizedDecisionTree.HasEqualQueryProbabilities[complete] -
FABL.RandomizedDecisionTree.revealment_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.functionRevealment[complete] -
FABL.FiniteDecisionTree.permuteCoordinatesAux[complete] -
FABL.FiniteDecisionTree.permuteCoordinates[complete] -
FABL.FiniteDecisionTree.queries_permuteCoordinates_iff[complete] -
FABL.FiniteDecisionTree.computes_permuteCoordinates[complete] -
FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates[complete] -
FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates[complete] -
FABL.booleanFunctionSymmetryGroup[complete] -
FABL.exists_booleanFunctionSymmetry_apply_eq[complete] -
FABL.RandomizedDecisionTree.symmetrizedSeedLaw[complete] -
FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw[complete] -
FABL.RandomizedDecisionTree.symmetrization[complete] -
FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability[complete] -
FABL.RandomizedDecisionTree.symmetrization_averageCost[complete] -
FABL.RandomizedDecisionTree.symmetrization_queryProbability[complete] -
FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq[complete] -
FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities[complete] -
FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.revealment_nonneg[complete] -
FABL.RandomizedDecisionTree.averageCost_zero_dimension[complete] -
FABL.RandomizedDecisionTree.revealment_zero_dimension[complete] -
FABL.RandomizedDecisionTree.averageComplexity_le_averageCost[complete] -
FABL.RandomizedDecisionTree.functionRevealment_le_revealment[complete] -
FABL.RandomizedDecisionTree.functionRevealment_nonneg[complete] -
FABL.RandomizedDecisionTree.averageComplexity_zero_dimension[complete] -
FABL.RandomizedDecisionTree.functionRevealment_zero_dimension[complete] -
FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div[complete]
Exercise 8.37. If f is transitive-symmetric, symmetrize every randomized
tree computing it to obtain T' with
\Delta^{(\pi)}(T')=\Delta^{(\pi)}(T),
\qquad
\delta_i^{(\pi)}(T')=\Delta^{(\pi)}(f)/n.
Define revealment by
\delta^{(\pi)}(T)=\max_i\delta_i^{(\pi)}(T) and minimize over trees
computing f. Prove for transitive-symmetric f
\delta^{(\pi)}(f)=\Delta^{(\pi)}(f)/n.
Lean code for Lemma8.7.37●31 declarations
Associated Lean declarations
-
FABL.RandomizedDecisionTree.revealment[complete]
-
FABL.RandomizedDecisionTree.HasEqualQueryProbabilities[complete]
-
FABL.RandomizedDecisionTree.revealment_eq_averageCost_div[complete]
-
FABL.RandomizedDecisionTree.functionRevealment[complete]
-
FABL.FiniteDecisionTree.permuteCoordinatesAux[complete]
-
FABL.FiniteDecisionTree.permuteCoordinates[complete]
-
FABL.FiniteDecisionTree.queries_permuteCoordinates_iff[complete]
-
FABL.FiniteDecisionTree.computes_permuteCoordinates[complete]
-
FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates[complete]
-
FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates[complete]
-
FABL.booleanFunctionSymmetryGroup[complete]
-
FABL.exists_booleanFunctionSymmetry_apply_eq[complete]
-
FABL.RandomizedDecisionTree.symmetrizedSeedLaw[complete]
-
FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw[complete]
-
FABL.RandomizedDecisionTree.symmetrization[complete]
-
FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability[complete]
-
FABL.RandomizedDecisionTree.symmetrization_averageCost[complete]
-
FABL.RandomizedDecisionTree.symmetrization_queryProbability[complete]
-
FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq[complete]
-
FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities[complete]
-
FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div[complete]
-
FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div[complete]
-
FABL.RandomizedDecisionTree.revealment_nonneg[complete]
-
FABL.RandomizedDecisionTree.averageCost_zero_dimension[complete]
-
FABL.RandomizedDecisionTree.revealment_zero_dimension[complete]
-
FABL.RandomizedDecisionTree.averageComplexity_le_averageCost[complete]
-
FABL.RandomizedDecisionTree.functionRevealment_le_revealment[complete]
-
FABL.RandomizedDecisionTree.functionRevealment_nonneg[complete]
-
FABL.RandomizedDecisionTree.averageComplexity_zero_dimension[complete]
-
FABL.RandomizedDecisionTree.functionRevealment_zero_dimension[complete]
-
FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div[complete]
-
FABL.RandomizedDecisionTree.revealment[complete] -
FABL.RandomizedDecisionTree.HasEqualQueryProbabilities[complete] -
FABL.RandomizedDecisionTree.revealment_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.functionRevealment[complete] -
FABL.FiniteDecisionTree.permuteCoordinatesAux[complete] -
FABL.FiniteDecisionTree.permuteCoordinates[complete] -
FABL.FiniteDecisionTree.queries_permuteCoordinates_iff[complete] -
FABL.FiniteDecisionTree.computes_permuteCoordinates[complete] -
FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates[complete] -
FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates[complete] -
FABL.booleanFunctionSymmetryGroup[complete] -
FABL.exists_booleanFunctionSymmetry_apply_eq[complete] -
FABL.RandomizedDecisionTree.symmetrizedSeedLaw[complete] -
FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw[complete] -
FABL.RandomizedDecisionTree.symmetrization[complete] -
FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability[complete] -
FABL.RandomizedDecisionTree.symmetrization_averageCost[complete] -
FABL.RandomizedDecisionTree.symmetrization_queryProbability[complete] -
FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq[complete] -
FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities[complete] -
FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div[complete] -
FABL.RandomizedDecisionTree.revealment_nonneg[complete] -
FABL.RandomizedDecisionTree.averageCost_zero_dimension[complete] -
FABL.RandomizedDecisionTree.revealment_zero_dimension[complete] -
FABL.RandomizedDecisionTree.averageComplexity_le_averageCost[complete] -
FABL.RandomizedDecisionTree.functionRevealment_le_revealment[complete] -
FABL.RandomizedDecisionTree.functionRevealment_nonneg[complete] -
FABL.RandomizedDecisionTree.averageComplexity_zero_dimension[complete] -
FABL.RandomizedDecisionTree.functionRevealment_zero_dimension[complete] -
FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div[complete]
-
defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
def FABL.RandomizedDecisionTree.revealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) : ℝ
def FABL.RandomizedDecisionTree.revealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) : ℝ
Maximum coordinate revealment of a randomized tree.
-
defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
def FABL.RandomizedDecisionTree.HasEqualQueryProbabilities.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) : Prop
def FABL.RandomizedDecisionTree.HasEqualQueryProbabilities.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) : Prop
A randomized tree has equal query probabilities in all coordinates.
-
theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
theorem FABL.RandomizedDecisionTree.revealment_eq_averageCost_div.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) (hn : 0 < n) (hequal : T.HasEqualQueryProbabilities π) : T.revealment π = T.averageCost π / ↑n
theorem FABL.RandomizedDecisionTree.revealment_eq_averageCost_div.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {f : (Fin n → Ω) → α} [Fintype Ω] (T : FABL.RandomizedDecisionTree Ω α n f) (π : PMF Ω) (hn : 0 < n) (hequal : T.HasEqualQueryProbabilities π) : T.revealment π = T.averageCost π / ↑n
Exercise 8.37(b): when all coordinate query probabilities are equal, revealment is `Δ(T)/n`.
-
defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
def FABL.RandomizedDecisionTree.functionRevealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} [Fintype Ω] (π : PMF Ω) (f : (Fin n → Ω) → α) : ℝ
def FABL.RandomizedDecisionTree.functionRevealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} [Fintype Ω] (π : PMF Ω) (f : (Fin n → Ω) → α) : ℝ
Exercise 8.37(b): minimum maximum-coordinate revealment.
-
defdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
def FABL.FiniteDecisionTree.permuteCoordinatesAux.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {available : Finset (Fin n)} (σ : Equiv.Perm (Fin n)) : FABL.FiniteDecisionTree Ω α n available → FABL.FiniteDecisionTree Ω α n (Finset.map (Equiv.toEmbedding σ) available)
def FABL.FiniteDecisionTree.permuteCoordinatesAux.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} {available : Finset (Fin n)} (σ : Equiv.Perm (Fin n)) : FABL.FiniteDecisionTree Ω α n available → FABL.FiniteDecisionTree Ω α n (Finset.map (Equiv.toEmbedding σ) available)
Relabel every query coordinate by `σ`; the available-coordinate index is relabeled in the same way.
-
defdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
def FABL.FiniteDecisionTree.permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : FABL.FiniteAlphabetDecisionTree Ω α n
def FABL.FiniteDecisionTree.permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : FABL.FiniteAlphabetDecisionTree Ω α n
Relabel a complete finite decision tree by a coordinate permutation.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.FiniteDecisionTree.queries_permuteCoordinates_iff.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) (i : Fin n) (x : Fin n → Ω) : FABL.FiniteDecisionTree.Queries (FABL.FiniteDecisionTree.permuteCoordinates σ T) i x ↔ FABL.FiniteDecisionTree.Queries T ((Equiv.symm σ) i) fun j => x (σ j)
theorem FABL.FiniteDecisionTree.queries_permuteCoordinates_iff.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) (i : Fin n) (x : Fin n → Ω) : FABL.FiniteDecisionTree.Queries (FABL.FiniteDecisionTree.permuteCoordinates σ T) i x ↔ FABL.FiniteDecisionTree.Queries T ((Equiv.symm σ) i) fun j => x (σ j)
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.FiniteDecisionTree.computes_permuteCoordinates {n : ℕ} (σ : Equiv.Perm (Fin n)) (f : FABL.BooleanFunction n) (hσ : ∀ (x : FABL.SignCube n), f (FABL.permuteInput σ x) = f x) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n) (hT : FABL.FiniteDecisionTree.Computes T f) : FABL.FiniteDecisionTree.Computes (FABL.FiniteDecisionTree.permuteCoordinates σ T) f
theorem FABL.FiniteDecisionTree.computes_permuteCoordinates {n : ℕ} (σ : Equiv.Perm (Fin n)) (f : FABL.BooleanFunction n) (hσ : ∀ (x : FABL.SignCube n), f (FABL.permuteInput σ x) = f x) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n) (hT : FABL.FiniteDecisionTree.Computes T f) : FABL.FiniteDecisionTree.Computes (FABL.FiniteDecisionTree.permuteCoordinates σ T) f
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) (i : Fin n) : FABL.FiniteDecisionTree.deterministicQueryProbability π (FABL.FiniteDecisionTree.permuteCoordinates σ T) i = FABL.FiniteDecisionTree.deterministicQueryProbability π T ((Equiv.symm σ) i)
theorem FABL.FiniteDecisionTree.deterministicQueryProbability_permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) (i : Fin n) : FABL.FiniteDecisionTree.deterministicQueryProbability π (FABL.FiniteDecisionTree.permuteCoordinates σ T) i = FABL.FiniteDecisionTree.deterministicQueryProbability π T ((Equiv.symm σ) i)
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : FABL.RandomizedDecisionTree.deterministicAverageCost π (FABL.FiniteDecisionTree.permuteCoordinates σ T) = FABL.RandomizedDecisionTree.deterministicAverageCost π T
theorem FABL.FiniteDecisionTree.deterministicAverageCost_permuteCoordinates.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (σ : Equiv.Perm (Fin n)) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : FABL.RandomizedDecisionTree.deterministicAverageCost π (FABL.FiniteDecisionTree.permuteCoordinates σ T) = FABL.RandomizedDecisionTree.deterministicAverageCost π T
-
defdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
def FABL.booleanFunctionSymmetryGroup {n : ℕ} (f : FABL.BooleanFunction n) : Subgroup (Equiv.Perm (Fin n))
def FABL.booleanFunctionSymmetryGroup {n : ℕ} (f : FABL.BooleanFunction n) : Subgroup (Equiv.Perm (Fin n))
Coordinate permutations preserving a Boolean function.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.exists_booleanFunctionSymmetry_apply_eq {n : ℕ} (f : FABL.BooleanFunction n) (hf : FABL.IsTransitiveSymmetric f) (i j : Fin n) : ∃ σ, ↑σ i = j
theorem FABL.exists_booleanFunctionSymmetry_apply_eq {n : ℕ} (f : FABL.BooleanFunction n) (hf : FABL.IsTransitiveSymmetric f) (i j : Fin n) : ∃ σ, ↑σ i = j
-
defdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
def FABL.RandomizedDecisionTree.symmetrizedSeedLaw {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) : PMF (↥(FABL.booleanFunctionSymmetryGroup f) × T.Seed)
def FABL.RandomizedDecisionTree.symmetrizedSeedLaw {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) : PMF (↥(FABL.booleanFunctionSymmetryGroup f) × T.Seed)
Add an independent uniform symmetry seed to an existing randomized tree seed.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (g : ↥(FABL.booleanFunctionSymmetryGroup f) × T.Seed → ℝ) : FABL.pmfExpectation T.symmetrizedSeedLaw g = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => FABL.pmfExpectation T.seedLaw fun seed => g (σ, seed)
theorem FABL.RandomizedDecisionTree.pmfExpectation_symmetrizedSeedLaw {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (g : ↥(FABL.booleanFunctionSymmetryGroup f) × T.Seed → ℝ) : FABL.pmfExpectation T.symmetrizedSeedLaw g = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => FABL.pmfExpectation T.seedLaw fun seed => g (σ, seed)
-
defdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
def FABL.RandomizedDecisionTree.symmetrization {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f
def FABL.RandomizedDecisionTree.symmetrization {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f
Exercise 8.37's symmetrized randomized tree. Its seed records both a uniform symmetry and the original tree seed.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α n g) (π : PMF Ω) (i : Fin n) : T.queryProbability π i = FABL.pmfExpectation T.seedLaw fun seed => FABL.FiniteDecisionTree.deterministicQueryProbability π (T.tree seed) i
theorem FABL.RandomizedDecisionTree.queryProbability_eq_seed_deterministicQueryProbability.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α n g) (π : PMF Ω) (i : Fin n) : T.queryProbability π i = FABL.pmfExpectation T.seedLaw fun seed => FABL.FiniteDecisionTree.deterministicQueryProbability π (T.tree seed) i
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetrization_averageCost {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) : T.symmetrization.averageCost π = T.averageCost π
theorem FABL.RandomizedDecisionTree.symmetrization_averageCost {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) : T.symmetrization.averageCost π = T.averageCost π
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (i : Fin n) : T.symmetrization.queryProbability π i = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) i)
theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (i : Fin n) : T.symmetrization.queryProbability π i = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) i)
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (i j : Fin n) : (FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) i)) = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) j)
theorem FABL.RandomizedDecisionTree.symmetryAverage_queryProbability_eq {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (i j : Fin n) : (FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) i)) = FABL.pmfExpectation (FABL.uniformPMF ↥(FABL.booleanFunctionSymmetryGroup f)) fun σ => T.queryProbability π ((Equiv.symm ↑σ) j)
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) : T.symmetrization.HasEqualQueryProbabilities π
theorem FABL.RandomizedDecisionTree.symmetrization_hasEqualQueryProbabilities {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) : T.symmetrization.HasEqualQueryProbabilities π
The symmetrized tree has equal coordinate query probabilities.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n) (i : Fin n) : T.symmetrization.queryProbability π i = T.averageCost π / ↑n
theorem FABL.RandomizedDecisionTree.symmetrization_queryProbability_eq_averageCost_div {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n) (i : Fin n) : T.symmetrization.queryProbability π i = T.averageCost π / ↑n
Every coordinate of the symmetrized tree is queried with probability equal to the original average cost divided by the dimension.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n) : T.symmetrization.revealment π = T.averageCost π / ↑n
theorem FABL.RandomizedDecisionTree.symmetrization_revealment_eq_averageCost_div {n : ℕ} {f : FABL.BooleanFunction n} (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n f) (π : PMF FABL.Sign) (hf : FABL.IsTransitiveSymmetric f) (hn : 0 < n) : T.symmetrization.revealment π = T.averageCost π / ↑n
The symmetrized tree preserves average cost and has revealment equal to that cost divided by the dimension.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.revealment_nonneg.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α n g) (π : PMF Ω) : 0 ≤ T.revealment π
theorem FABL.RandomizedDecisionTree.revealment_nonneg.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α n g) (π : PMF Ω) : 0 ≤ T.revealment π
Revealment is nonnegative, including in dimension zero.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.averageCost_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0 → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) : T.averageCost π = 0
theorem FABL.RandomizedDecisionTree.averageCost_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0 → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) : T.averageCost π = 0
With no coordinates, every randomized tree has zero average cost.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.revealment_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0 → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) : T.revealment π = 0
theorem FABL.RandomizedDecisionTree.revealment_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {g : (Fin 0 → Ω) → α} (T : FABL.RandomizedDecisionTree Ω α 0 g) (π : PMF Ω) : T.revealment π = 0
With no coordinates, maximum coordinate revealment is definitionally zero.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.averageComplexity_le_averageCost.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (π : PMF Ω) (T : FABL.RandomizedDecisionTree Ω α n g) : FABL.RandomizedDecisionTree.averageComplexity π g ≤ T.averageCost π
theorem FABL.RandomizedDecisionTree.averageComplexity_le_averageCost.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (π : PMF Ω) (T : FABL.RandomizedDecisionTree Ω α n g) : FABL.RandomizedDecisionTree.averageComplexity π g ≤ T.averageCost π
Minimum average complexity is bounded above by the cost of every computing randomized tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.functionRevealment_le_revealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (π : PMF Ω) (T : FABL.RandomizedDecisionTree Ω α n g) : FABL.RandomizedDecisionTree.functionRevealment π g ≤ T.revealment π
theorem FABL.RandomizedDecisionTree.functionRevealment_le_revealment.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} {g : (Fin n → Ω) → α} (π : PMF Ω) (T : FABL.RandomizedDecisionTree Ω α n g) : FABL.RandomizedDecisionTree.functionRevealment π g ≤ T.revealment π
Minimum function revealment is bounded above by the revealment of every computing randomized tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.functionRevealment_nonneg.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (g : (Fin n → Ω) → α) : 0 ≤ FABL.RandomizedDecisionTree.functionRevealment π g
theorem FABL.RandomizedDecisionTree.functionRevealment_nonneg.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] {n : ℕ} (π : PMF Ω) (g : (Fin n → Ω) → α) : 0 ≤ FABL.RandomizedDecisionTree.functionRevealment π g
Minimum function revealment is nonnegative.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.averageComplexity_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω) (g : (Fin 0 → Ω) → α) : FABL.RandomizedDecisionTree.averageComplexity π g = 0
theorem FABL.RandomizedDecisionTree.averageComplexity_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω) (g : (Fin 0 → Ω) → α) : FABL.RandomizedDecisionTree.averageComplexity π g = 0
The minimum average complexity is zero in dimension zero.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.functionRevealment_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω) (g : (Fin 0 → Ω) → α) : FABL.RandomizedDecisionTree.functionRevealment π g = 0
theorem FABL.RandomizedDecisionTree.functionRevealment_zero_dimension.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} [Fintype Ω] (π : PMF Ω) (g : (Fin 0 → Ω) → α) : FABL.RandomizedDecisionTree.functionRevealment π g = 0
The minimum revealment is zero in dimension zero.
-
theoremdefined in FABL/Chapter08/DecisionTreeSymmetrization.leancomplete
theorem FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div {n : ℕ} (π : PMF FABL.Sign) (f : FABL.BooleanFunction n) (hf : FABL.IsTransitiveSymmetric f) : FABL.RandomizedDecisionTree.functionRevealment π f = FABL.RandomizedDecisionTree.averageComplexity π f / ↑n
theorem FABL.RandomizedDecisionTree.functionRevealment_eq_averageComplexity_div {n : ℕ} (π : PMF FABL.Sign) (f : FABL.BooleanFunction n) (hf : FABL.IsTransitiveSymmetric f) : FABL.RandomizedDecisionTree.functionRevealment π f = FABL.RandomizedDecisionTree.averageComplexity π f / ↑n
Exercise 8.37: for a transitive-symmetric Boolean function under an identical-marginal product input law, minimum revealment is minimum average complexity divided by the dimension. Both quantities are zero when `n = 0`, so the displayed identity remains honest at the boundary.
-
FABL.recursiveMajorityRandomizedCostBound[complete] -
FABL.recursiveMajorityAverageCostBound[complete] -
FABL.recursiveMajorityRandomizedCostBound_succ[complete] -
FABL.recursiveMajorityAverageCostBound_succ[complete] -
FABL.recursiveMajorityThreeBlockEmbedding[complete] -
FABL.recursiveMajorityThreeBlockCoordinates[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_disjoint[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_union[complete] -
FABL.majorityThreePairValue[complete] -
FABL.majorityThreePairValue_eq_majority[complete] -
FABL.majorityThreePairValue_swap_second_third[complete] -
FABL.majorityThreePairValue_rotate[complete] -
FABL.majorityThreePairValue_permutation[complete] -
FABL.majorityThreeContinuationTree[complete] -
FABL.queryCount_majorityThreeContinuationTree[complete] -
FABL.orderedMajorityThreeTree[complete] -
FABL.queryCount_orderedMajorityThreeTree[complete] -
FABL.recursiveMajorityThreeTreeInBlock[complete] -
FABL.queryCount_recursiveMajorityThreeTreeInBlock[complete] -
FABL.recursiveMajorityThreeTree[complete] -
FABL.recursiveMajorityThreeTree_computes[complete] -
FABL.queryCount_recursiveMajorityThreeTree_succ[complete] -
FABL.recursiveMajorityThreeSeedLaw[complete] -
FABL.recursiveMajorityThreeRandomizedTree[complete] -
FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ[complete] -
FABL.recursiveMajorityThreeRandomizedTree_inputCost_le[complete] -
FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le[complete] -
FABL.recursiveMajorityThreeBlocksEquiv[complete] -
FABL.expect_recursiveMajorityThree_toReal_eq_zero[complete] -
FABL.expect_recursiveMajorityThree_disagreement[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect[complete] -
FABL.expect_recursiveMajorityThree_pairCost[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost[complete] -
FABL.majorityThreeCyclicFirst[complete] -
FABL.majorityThreeCyclicSecond[complete] -
FABL.majorityThreeCyclicThird[complete] -
FABL.majorityThreeCyclicSecond_ne_first[complete] -
FABL.majorityThreeCyclicThird_ne_first[complete] -
FABL.majorityThreeCyclicThird_ne_second[complete] -
FABL.majorityThreeCyclicTree[complete] -
FABL.majorityThreeCyclicTree_computes[complete] -
FABL.majorityThreeCyclicCompletionTree[complete] -
FABL.depthTwoFinishDifferent[complete] -
FABL.depthTwoFinishEqual[complete] -
FABL.FiniteDecisionTree.queryCount_mapOutput[complete] -
FABL.queryCount_depthTwoFinishDifferent[complete] -
FABL.queryCount_depthTwoFinishEqual[complete] -
FABL.depthTwoInitialCoordinate[complete] -
FABL.depthTwoInitialCoordinates[complete] -
FABL.depthTwoRemainingCoordinates[complete] -
FABL.depthTwoInitial_union_remaining[complete] -
FABL.depthTwoInitial_remaining_disjoint[complete] -
FABL.depthTwoInitial_subset_block[complete] -
FABL.depthTwoRemaining_subset_block[complete] -
FABL.depthTwoInitialTree[complete] -
FABL.depthTwoCompletionTree[complete] -
FABL.depthTwoEvaluationTree[complete] -
FABL.eval_depthTwoCompletionTree_known_initial[complete] -
FABL.recursiveMajorityThree_one_block[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_union_ordered[complete] -
FABL.depthTwoInterleavedTreeOrdered[complete] -
FABL.depthTwoInterleavedTreeOrdered_computes[complete] -
FABL.depthTwoTopFirst[complete] -
FABL.depthTwoTopSecond[complete] -
FABL.depthTwoTopThird[complete] -
FABL.depthTwoTopFirst_ne_second[complete] -
FABL.depthTwoTopFirst_ne_third[complete] -
FABL.depthTwoTopSecond_ne_third[complete] -
FABL.depthTwoLeafSeed[complete] -
FABL.DepthTwoInterleavedSeed[complete] -
FABL.depthTwoInterleavedTreeBySeed[complete] -
FABL.depthTwoInterleavedTreeBySeed_computes[complete] -
FABL.depthTwoInterleavedRandomizedTree[complete] -
FABL.depthTwoCompletionModelCost[complete] -
FABL.depthTwoEvaluationModelCost[complete] -
FABL.queryCount_depthTwoCompletionTree[complete] -
FABL.queryCount_depthTwoEvaluationTree[complete] -
FABL.depthTwoBlockModelValue[complete] -
FABL.depthTwoBlockModelValue_eq_majority[complete] -
FABL.depthTwoInterleavedModelCostOrdered[complete] -
FABL.queryCount_depthTwoInterleavedTreeOrdered[complete] -
FABL.depthTwoInterleavedModelCost[complete] -
FABL.queryCount_depthTwoInterleavedTreeBySeed[complete] -
FABL.depthTwoInterleavedModelCostSum[complete] -
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one[complete] -
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one[complete] -
FABL.depthTwoInterleavedModelCostSum_le[complete] -
FABL.card_depthTwoInterleavedSeed[complete] -
FABL.depthTwoInterleavedRandomizedTree_inputCost[complete] -
FABL.depthTwoInterleavedRandomizedTree_inputCost_le[complete] -
FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le[complete] -
FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt[complete]
Exercise 8.38. Prove for recursive majority
\operatorname{DT}(\operatorname{Maj}_3^{\otimes d})=3^d,
\quad
\operatorname{RDT}(\operatorname{Maj}_3^{\otimes d})\le(8/3)^d,
\quad
\Delta(\operatorname{Maj}_3^{\otimes d})\le(5/2)^d.
Also construct a randomized tree proving
\operatorname{RDT}(\operatorname{Maj}_3^{\otimes2})<(8/3)^2.
Lean code for Lemma8.7.38●95 declarations
Associated Lean declarations
-
FABL.recursiveMajorityRandomizedCostBound[complete]
-
FABL.recursiveMajorityAverageCostBound[complete]
-
FABL.recursiveMajorityRandomizedCostBound_succ[complete]
-
FABL.recursiveMajorityAverageCostBound_succ[complete]
-
FABL.recursiveMajorityThreeBlockEmbedding[complete]
-
FABL.recursiveMajorityThreeBlockCoordinates[complete]
-
FABL.recursiveMajorityThreeBlockCoordinates_disjoint[complete]
-
FABL.recursiveMajorityThreeBlockCoordinates_union[complete]
-
FABL.majorityThreePairValue[complete]
-
FABL.majorityThreePairValue_eq_majority[complete]
-
FABL.majorityThreePairValue_swap_second_third[complete]
-
FABL.majorityThreePairValue_rotate[complete]
-
FABL.majorityThreePairValue_permutation[complete]
-
FABL.majorityThreeContinuationTree[complete]
-
FABL.queryCount_majorityThreeContinuationTree[complete]
-
FABL.orderedMajorityThreeTree[complete]
-
FABL.queryCount_orderedMajorityThreeTree[complete]
-
FABL.recursiveMajorityThreeTreeInBlock[complete]
-
FABL.queryCount_recursiveMajorityThreeTreeInBlock[complete]
-
FABL.recursiveMajorityThreeTree[complete]
-
FABL.recursiveMajorityThreeTree_computes[complete]
-
FABL.queryCount_recursiveMajorityThreeTree_succ[complete]
-
FABL.recursiveMajorityThreeSeedLaw[complete]
-
FABL.recursiveMajorityThreeRandomizedTree[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_inputCost_le[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le[complete]
-
FABL.recursiveMajorityThreeBlocksEquiv[complete]
-
FABL.expect_recursiveMajorityThree_toReal_eq_zero[complete]
-
FABL.expect_recursiveMajorityThree_disagreement[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect[complete]
-
FABL.expect_recursiveMajorityThree_pairCost[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ[complete]
-
FABL.recursiveMajorityThreeRandomizedTree_averageCost[complete]
-
FABL.majorityThreeCyclicFirst[complete]
-
FABL.majorityThreeCyclicSecond[complete]
-
FABL.majorityThreeCyclicThird[complete]
-
FABL.majorityThreeCyclicSecond_ne_first[complete]
-
FABL.majorityThreeCyclicThird_ne_first[complete]
-
FABL.majorityThreeCyclicThird_ne_second[complete]
-
FABL.majorityThreeCyclicTree[complete]
-
FABL.majorityThreeCyclicTree_computes[complete]
-
FABL.majorityThreeCyclicCompletionTree[complete]
-
FABL.depthTwoFinishDifferent[complete]
-
FABL.depthTwoFinishEqual[complete]
-
FABL.FiniteDecisionTree.queryCount_mapOutput[complete]
-
FABL.queryCount_depthTwoFinishDifferent[complete]
-
FABL.queryCount_depthTwoFinishEqual[complete]
-
FABL.depthTwoInitialCoordinate[complete]
-
FABL.depthTwoInitialCoordinates[complete]
-
FABL.depthTwoRemainingCoordinates[complete]
-
FABL.depthTwoInitial_union_remaining[complete]
-
FABL.depthTwoInitial_remaining_disjoint[complete]
-
FABL.depthTwoInitial_subset_block[complete]
-
FABL.depthTwoRemaining_subset_block[complete]
-
FABL.depthTwoInitialTree[complete]
-
FABL.depthTwoCompletionTree[complete]
-
FABL.depthTwoEvaluationTree[complete]
-
FABL.eval_depthTwoCompletionTree_known_initial[complete]
-
FABL.recursiveMajorityThree_one_block[complete]
-
FABL.recursiveMajorityThreeBlockCoordinates_union_ordered[complete]
-
FABL.depthTwoInterleavedTreeOrdered[complete]
-
FABL.depthTwoInterleavedTreeOrdered_computes[complete]
-
FABL.depthTwoTopFirst[complete]
-
FABL.depthTwoTopSecond[complete]
-
FABL.depthTwoTopThird[complete]
-
FABL.depthTwoTopFirst_ne_second[complete]
-
FABL.depthTwoTopFirst_ne_third[complete]
-
FABL.depthTwoTopSecond_ne_third[complete]
-
FABL.depthTwoLeafSeed[complete]
-
FABL.DepthTwoInterleavedSeed[complete]
-
FABL.depthTwoInterleavedTreeBySeed[complete]
-
FABL.depthTwoInterleavedTreeBySeed_computes[complete]
-
FABL.depthTwoInterleavedRandomizedTree[complete]
-
FABL.depthTwoCompletionModelCost[complete]
-
FABL.depthTwoEvaluationModelCost[complete]
-
FABL.queryCount_depthTwoCompletionTree[complete]
-
FABL.queryCount_depthTwoEvaluationTree[complete]
-
FABL.depthTwoBlockModelValue[complete]
-
FABL.depthTwoBlockModelValue_eq_majority[complete]
-
FABL.depthTwoInterleavedModelCostOrdered[complete]
-
FABL.queryCount_depthTwoInterleavedTreeOrdered[complete]
-
FABL.depthTwoInterleavedModelCost[complete]
-
FABL.queryCount_depthTwoInterleavedTreeBySeed[complete]
-
FABL.depthTwoInterleavedModelCostSum[complete]
-
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one[complete]
-
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one[complete]
-
FABL.depthTwoInterleavedModelCostSum_le[complete]
-
FABL.card_depthTwoInterleavedSeed[complete]
-
FABL.depthTwoInterleavedRandomizedTree_inputCost[complete]
-
FABL.depthTwoInterleavedRandomizedTree_inputCost_le[complete]
-
FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le[complete]
-
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le[complete]
-
FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two[complete]
-
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt[complete]
-
FABL.recursiveMajorityRandomizedCostBound[complete] -
FABL.recursiveMajorityAverageCostBound[complete] -
FABL.recursiveMajorityRandomizedCostBound_succ[complete] -
FABL.recursiveMajorityAverageCostBound_succ[complete] -
FABL.recursiveMajorityThreeBlockEmbedding[complete] -
FABL.recursiveMajorityThreeBlockCoordinates[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_disjoint[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_union[complete] -
FABL.majorityThreePairValue[complete] -
FABL.majorityThreePairValue_eq_majority[complete] -
FABL.majorityThreePairValue_swap_second_third[complete] -
FABL.majorityThreePairValue_rotate[complete] -
FABL.majorityThreePairValue_permutation[complete] -
FABL.majorityThreeContinuationTree[complete] -
FABL.queryCount_majorityThreeContinuationTree[complete] -
FABL.orderedMajorityThreeTree[complete] -
FABL.queryCount_orderedMajorityThreeTree[complete] -
FABL.recursiveMajorityThreeTreeInBlock[complete] -
FABL.queryCount_recursiveMajorityThreeTreeInBlock[complete] -
FABL.recursiveMajorityThreeTree[complete] -
FABL.recursiveMajorityThreeTree_computes[complete] -
FABL.queryCount_recursiveMajorityThreeTree_succ[complete] -
FABL.recursiveMajorityThreeSeedLaw[complete] -
FABL.recursiveMajorityThreeRandomizedTree[complete] -
FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ[complete] -
FABL.recursiveMajorityThreeRandomizedTree_inputCost_le[complete] -
FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le[complete] -
FABL.recursiveMajorityThreeBlocksEquiv[complete] -
FABL.expect_recursiveMajorityThree_toReal_eq_zero[complete] -
FABL.expect_recursiveMajorityThree_disagreement[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect[complete] -
FABL.expect_recursiveMajorityThree_pairCost[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ[complete] -
FABL.recursiveMajorityThreeRandomizedTree_averageCost[complete] -
FABL.majorityThreeCyclicFirst[complete] -
FABL.majorityThreeCyclicSecond[complete] -
FABL.majorityThreeCyclicThird[complete] -
FABL.majorityThreeCyclicSecond_ne_first[complete] -
FABL.majorityThreeCyclicThird_ne_first[complete] -
FABL.majorityThreeCyclicThird_ne_second[complete] -
FABL.majorityThreeCyclicTree[complete] -
FABL.majorityThreeCyclicTree_computes[complete] -
FABL.majorityThreeCyclicCompletionTree[complete] -
FABL.depthTwoFinishDifferent[complete] -
FABL.depthTwoFinishEqual[complete] -
FABL.FiniteDecisionTree.queryCount_mapOutput[complete] -
FABL.queryCount_depthTwoFinishDifferent[complete] -
FABL.queryCount_depthTwoFinishEqual[complete] -
FABL.depthTwoInitialCoordinate[complete] -
FABL.depthTwoInitialCoordinates[complete] -
FABL.depthTwoRemainingCoordinates[complete] -
FABL.depthTwoInitial_union_remaining[complete] -
FABL.depthTwoInitial_remaining_disjoint[complete] -
FABL.depthTwoInitial_subset_block[complete] -
FABL.depthTwoRemaining_subset_block[complete] -
FABL.depthTwoInitialTree[complete] -
FABL.depthTwoCompletionTree[complete] -
FABL.depthTwoEvaluationTree[complete] -
FABL.eval_depthTwoCompletionTree_known_initial[complete] -
FABL.recursiveMajorityThree_one_block[complete] -
FABL.recursiveMajorityThreeBlockCoordinates_union_ordered[complete] -
FABL.depthTwoInterleavedTreeOrdered[complete] -
FABL.depthTwoInterleavedTreeOrdered_computes[complete] -
FABL.depthTwoTopFirst[complete] -
FABL.depthTwoTopSecond[complete] -
FABL.depthTwoTopThird[complete] -
FABL.depthTwoTopFirst_ne_second[complete] -
FABL.depthTwoTopFirst_ne_third[complete] -
FABL.depthTwoTopSecond_ne_third[complete] -
FABL.depthTwoLeafSeed[complete] -
FABL.DepthTwoInterleavedSeed[complete] -
FABL.depthTwoInterleavedTreeBySeed[complete] -
FABL.depthTwoInterleavedTreeBySeed_computes[complete] -
FABL.depthTwoInterleavedRandomizedTree[complete] -
FABL.depthTwoCompletionModelCost[complete] -
FABL.depthTwoEvaluationModelCost[complete] -
FABL.queryCount_depthTwoCompletionTree[complete] -
FABL.queryCount_depthTwoEvaluationTree[complete] -
FABL.depthTwoBlockModelValue[complete] -
FABL.depthTwoBlockModelValue_eq_majority[complete] -
FABL.depthTwoInterleavedModelCostOrdered[complete] -
FABL.queryCount_depthTwoInterleavedTreeOrdered[complete] -
FABL.depthTwoInterleavedModelCost[complete] -
FABL.queryCount_depthTwoInterleavedTreeBySeed[complete] -
FABL.depthTwoInterleavedModelCostSum[complete] -
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one[complete] -
FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one[complete] -
FABL.depthTwoInterleavedModelCostSum_le[complete] -
FABL.card_depthTwoInterleavedSeed[complete] -
FABL.depthTwoInterleavedRandomizedTree_inputCost[complete] -
FABL.depthTwoInterleavedRandomizedTree_inputCost_le[complete] -
FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le[complete] -
FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt[complete]
-
defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
def FABL.recursiveMajorityRandomizedCostBound (d : ℕ) : ℝ
def FABL.recursiveMajorityRandomizedCostBound (d : ℕ) : ℝ
The product recurrence for the randomized `Maj₃` worst-case upper bound.
-
defdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
def FABL.recursiveMajorityAverageCostBound (d : ℕ) : ℝ
def FABL.recursiveMajorityAverageCostBound (d : ℕ) : ℝ
The product recurrence for the uniform-average `Maj₃` upper bound.
-
theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
theorem FABL.recursiveMajorityRandomizedCostBound_succ (d : ℕ) : FABL.recursiveMajorityRandomizedCostBound (d + 1) = 8 / 3 * FABL.recursiveMajorityRandomizedCostBound d
theorem FABL.recursiveMajorityRandomizedCostBound_succ (d : ℕ) : FABL.recursiveMajorityRandomizedCostBound (d + 1) = 8 / 3 * FABL.recursiveMajorityRandomizedCostBound d
-
theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
theorem FABL.recursiveMajorityAverageCostBound_succ (d : ℕ) : FABL.recursiveMajorityAverageCostBound (d + 1) = 5 / 2 * FABL.recursiveMajorityAverageCostBound d
theorem FABL.recursiveMajorityAverageCostBound_succ (d : ℕ) : FABL.recursiveMajorityAverageCostBound (d + 1) = 5 / 2 * FABL.recursiveMajorityAverageCostBound d
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeBlockEmbedding (d : ℕ) (i : Fin 3) : Fin (3 ^ d) ↪ Fin (3 ^ (d + 1))
def FABL.recursiveMajorityThreeBlockEmbedding (d : ℕ) (i : Fin 3) : Fin (3 ^ d) ↪ Fin (3 ^ (d + 1))
The `i`th ternary block inside a depth-`d+1` formula.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeBlockCoordinates (d : ℕ) (i : Fin 3) : Finset (Fin (3 ^ (d + 1)))
def FABL.recursiveMajorityThreeBlockCoordinates (d : ℕ) (i : Fin 3) : Finset (Fin (3 ^ (d + 1)))
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeBlockCoordinates_disjoint (d : ℕ) {i j : Fin 3} (hij : i ≠ j) : Disjoint (FABL.recursiveMajorityThreeBlockCoordinates d i) (FABL.recursiveMajorityThreeBlockCoordinates d j)
theorem FABL.recursiveMajorityThreeBlockCoordinates_disjoint (d : ℕ) {i j : Fin 3} (hij : i ≠ j) : Disjoint (FABL.recursiveMajorityThreeBlockCoordinates d i) (FABL.recursiveMajorityThreeBlockCoordinates d j)
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeBlockCoordinates_union (d : ℕ) : FABL.recursiveMajorityThreeBlockCoordinates d 0 ∪ FABL.recursiveMajorityThreeBlockCoordinates d 1 ∪ FABL.recursiveMajorityThreeBlockCoordinates d 2 = Finset.univ
theorem FABL.recursiveMajorityThreeBlockCoordinates_union (d : ℕ) : FABL.recursiveMajorityThreeBlockCoordinates d 0 ∪ FABL.recursiveMajorityThreeBlockCoordinates d 1 ∪ FABL.recursiveMajorityThreeBlockCoordinates d 2 = Finset.univ
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreePairValue (first second third : FABL.Sign) : FABL.Sign
def FABL.majorityThreePairValue (first second third : FABL.Sign) : FABL.Sign
Majority of three signs in the pair-first evaluation form.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreePairValue_eq_majority (first second third : FABL.Sign) : FABL.majorityThreePairValue first second third = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
theorem FABL.majorityThreePairValue_eq_majority (first second third : FABL.Sign) : FABL.majorityThreePairValue first second third = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreePairValue_swap_second_third (first second third : FABL.Sign) : FABL.majorityThreePairValue first third second = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
theorem FABL.majorityThreePairValue_swap_second_third (first second third : FABL.Sign) : FABL.majorityThreePairValue first third second = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreePairValue_rotate (first second third : FABL.Sign) : FABL.majorityThreePairValue second third first = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
theorem FABL.majorityThreePairValue_rotate (first second third : FABL.Sign) : FABL.majorityThreePairValue second third first = FABL.majority 3 fun i => if i = 0 then first else if i = 1 then second else third
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreePairValue_permutation (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (value : Fin 3 → FABL.Sign) : FABL.majorityThreePairValue (value first) (value second) (value third) = FABL.majority 3 value
theorem FABL.majorityThreePairValue_permutation (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (value : Fin 3 → FABL.Sign) : FABL.majorityThreePairValue (value first) (value second) (value third) = FABL.majority 3 value
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeContinuationTree {n : ℕ} {C : Finset (Fin n)} (first second : FABL.Sign) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C
def FABL.majorityThreeContinuationTree {n : ℕ} {C : Finset (Fin n)} (first second : FABL.Sign) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C
After two block values are known, stop if they agree and otherwise evaluate the third.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_majorityThreeContinuationTree {n : ℕ} {C : Finset (Fin n)} (first second : FABL.Sign) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) (x : FABL.SignCube n) : (FABL.majorityThreeContinuationTree first second third).queryCount x = if first = second then 0 else third.queryCount x
theorem FABL.queryCount_majorityThreeContinuationTree {n : ℕ} {C : Finset (Fin n)} (first second : FABL.Sign) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) (x : FABL.SignCube n) : (FABL.majorityThreeContinuationTree first second third).queryCount x = if first = second then 0 else third.queryCount x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.orderedMajorityThreeTree {n : ℕ} {A B C : Finset (Fin n)} (hABC : Disjoint A (B ∪ C)) (hBC : Disjoint B C) (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A) (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (A ∪ (B ∪ C))
def FABL.orderedMajorityThreeTree {n : ℕ} {A B C : Finset (Fin n)} (hABC : Disjoint A (B ∪ C)) (hBC : Disjoint B C) (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A) (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (A ∪ (B ∪ C))
Evaluate three disjoint block trees in a specified order, stopping after two equal outputs.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_orderedMajorityThreeTree {n : ℕ} {A B C : Finset (Fin n)} (hABC : Disjoint A (B ∪ C)) (hBC : Disjoint B C) (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A) (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) (x : FABL.SignCube n) : (FABL.orderedMajorityThreeTree hABC hBC first second third).queryCount x = first.queryCount x + second.queryCount x + if first.eval x = second.eval x then 0 else third.queryCount x
theorem FABL.queryCount_orderedMajorityThreeTree {n : ℕ} {A B C : Finset (Fin n)} (hABC : Disjoint A (B ∪ C)) (hBC : Disjoint B C) (first : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n A) (second : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B) (third : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n C) (x : FABL.SignCube n) : (FABL.orderedMajorityThreeTree hABC hBC first second third).queryCount x = first.queryCount x + second.queryCount x + if first.eval x = second.eval x then 0 else third.queryCount x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeTreeInBlock (d : ℕ) (i : Fin 3) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign (3 ^ (d + 1)) (FABL.recursiveMajorityThreeBlockCoordinates d i)
def FABL.recursiveMajorityThreeTreeInBlock (d : ℕ) (i : Fin 3) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign (3 ^ (d + 1)) (FABL.recursiveMajorityThreeBlockCoordinates d i)
Reindex a recursive child tree into ternary block `i`.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_recursiveMajorityThreeTreeInBlock (d : ℕ) (i : Fin 3) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)) (x : FABL.SignCube (3 ^ (d + 1))) : (FABL.recursiveMajorityThreeTreeInBlock d i T).queryCount x = FABL.FiniteDecisionTree.queryCount T (FABL.recursiveInputBlock x i)
theorem FABL.queryCount_recursiveMajorityThreeTreeInBlock (d : ℕ) (i : Fin 3) (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)) (x : FABL.SignCube (3 ^ (d + 1))) : (FABL.recursiveMajorityThreeTreeInBlock d i T).queryCount x = FABL.FiniteDecisionTree.queryCount T (FABL.recursiveInputBlock x i)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeTree (d : ℕ) : FABL.RecursiveMajorityThreeSeed d → FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)
def FABL.recursiveMajorityThreeTree (d : ℕ) : FABL.RecursiveMajorityThreeSeed d → FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (3 ^ d)
Deterministic tree selected by a complete recursive seed.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeTree_computes (d : ℕ) (seed : FABL.RecursiveMajorityThreeSeed d) : FABL.FiniteDecisionTree.Computes (FABL.recursiveMajorityThreeTree d seed) (FABL.recursiveMajority 3 d)
theorem FABL.recursiveMajorityThreeTree_computes (d : ℕ) (seed : FABL.RecursiveMajorityThreeSeed d) : FABL.FiniteDecisionTree.Computes (FABL.recursiveMajorityThreeTree d seed) (FABL.recursiveMajority 3 d)
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_recursiveMajorityThreeTree_succ (d : ℕ) (order : Fin 3) (seed0 seed1 seed2 : FABL.RecursiveMajorityThreeSeed d) (x : FABL.SignCube (3 ^ (d + 1))) : FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree (d + 1) (order, seed0, seed1, seed2)) x = if order = 0 then FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) else if order = 1 then FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0)
theorem FABL.queryCount_recursiveMajorityThreeTree_succ (d : ℕ) (order : Fin 3) (seed0 seed1 seed2 : FABL.RecursiveMajorityThreeSeed d) (x : FABL.SignCube (3 ^ (d + 1))) : FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree (d + 1) (order, seed0, seed1, seed2)) x = if order = 0 then FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) else if order = 1 then FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed1) (FABL.recursiveInputBlock x 1) + FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed2) (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else FABL.FiniteDecisionTree.queryCount (FABL.recursiveMajorityThreeTree d seed0) (FABL.recursiveInputBlock x 0)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeSeedLaw (d : ℕ) : PMF (FABL.RecursiveMajorityThreeSeed d)
def FABL.recursiveMajorityThreeSeedLaw (d : ℕ) : PMF (FABL.RecursiveMajorityThreeSeed d)
Recursive product law on the finite seed type.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeRandomizedTree (d : ℕ) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (3 ^ d) (FABL.recursiveMajority 3 d)
def FABL.recursiveMajorityThreeRandomizedTree (d : ℕ) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (3 ^ d) (FABL.recursiveMajority 3 d)
The actual finite-seed recursively composed randomized tree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ (d : ℕ) (x : FABL.SignCube (3 ^ (d + 1))) : (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).inputCost x = (((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2)) + ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1)) + ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0))) / 3
theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_succ (d : ℕ) (x : FABL.SignCube (3 ^ (d + 1))) : (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).inputCost x = (((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2)) + ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 0) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1)) + ((FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 1) + (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 2) + if FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 1) = FABL.recursiveMajority 3 d (FABL.recursiveInputBlock x 2) then 0 else (FABL.recursiveMajorityThreeRandomizedTree d).inputCost (FABL.recursiveInputBlock x 0))) / 3
Exact one-step input-cost formula for the genuine recursive randomized tree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_le (d : ℕ) (x : FABL.SignCube (3 ^ d)) : (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x ≤ FABL.recursiveMajorityRandomizedCostBound d
theorem FABL.recursiveMajorityThreeRandomizedTree_inputCost_le (d : ℕ) (x : FABL.SignCube (3 ^ d)) : (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x ≤ FABL.recursiveMajorityRandomizedCostBound d
Every input of the genuine recursive tree satisfies the naive product bound.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).worstCaseCost ≤ FABL.recursiveMajorityRandomizedCostBound d
theorem FABL.recursiveMajorityThreeRandomizedTree_worstCaseCost_le (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).worstCaseCost ≤ FABL.recursiveMajorityRandomizedCostBound d
Worst-case cost of the genuine recursive tree.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.recursiveMajorityThreeBlocksEquiv (d : ℕ) : FABL.SignCube (3 ^ (d + 1)) ≃ (Fin 3 → FABL.SignCube (3 ^ d))
def FABL.recursiveMajorityThreeBlocksEquiv (d : ℕ) : FABL.SignCube (3 ^ (d + 1)) ≃ (Fin 3 → FABL.SignCube (3 ^ d))
Reindex a flat depth-`d+1` input as three independent depth-`d` blocks.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.expect_recursiveMajorityThree_toReal_eq_zero (d : ℕ) : (Finset.univ.expect fun x => FABL.signValue (FABL.recursiveMajority 3 d x)) = 0
theorem FABL.expect_recursiveMajorityThree_toReal_eq_zero (d : ℕ) : (Finset.univ.expect fun x => FABL.signValue (FABL.recursiveMajority 3 d x)) = 0
Recursive majority is balanced under uniform input.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.expect_recursiveMajorityThree_disagreement (d : ℕ) : (Finset.univ.expect fun pair => if FABL.recursiveMajority 3 d pair.1 = FABL.recursiveMajority 3 d pair.2 then 0 else 1) = 1 / 2
theorem FABL.expect_recursiveMajorityThree_disagreement (d : ℕ) : (Finset.univ.expect fun pair => if FABL.recursiveMajority 3 d pair.1 = FABL.recursiveMajority 3 d pair.2 then 0 else 1) = 1 / 2
Two independent recursive-majority outputs disagree with probability `1/2`.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign) = Finset.univ.expect fun x => (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_eq_expect (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign) = Finset.univ.expect fun x => (FABL.recursiveMajorityThreeRandomizedTree d).inputCost x
Uniform input average of the recursive randomized tree's input cost.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.expect_recursiveMajorityThree_pairCost (d : ℕ) (i j k : Fin 3) (hij : i ≠ j) (hik : i ≠ k) (hjk : j ≠ k) : have cost := (FABL.recursiveMajorityThreeRandomizedTree d).inputCost; have value := FABL.recursiveMajority 3 d; (Finset.univ.expect fun blocks => cost (blocks i) + cost (blocks j) + if value (blocks i) = value (blocks j) then 0 else cost (blocks k)) = 5 / 2 * Finset.univ.expect fun x => cost x
theorem FABL.expect_recursiveMajorityThree_pairCost (d : ℕ) (i j k : Fin 3) (hij : i ≠ j) (hik : i ≠ k) (hjk : j ≠ k) : have cost := (FABL.recursiveMajorityThreeRandomizedTree d).inputCost; have value := FABL.recursiveMajority 3 d; (Finset.univ.expect fun blocks => cost (blocks i) + cost (blocks j) + if value (blocks i) = value (blocks j) then 0 else cost (blocks k)) = 5 / 2 * Finset.univ.expect fun x => cost x
Each of the three pair-first orders has average cost `5/2` times the child average.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).averageCost (FABL.uniformPMF FABL.Sign) = 5 / 2 * (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign)
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost_succ (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree (d + 1)).averageCost (FABL.uniformPMF FABL.Sign) = 5 / 2 * (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign)
Exact multiplicative uniform-average recurrence of the actual recursive tree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign) = FABL.recursiveMajorityAverageCostBound d
theorem FABL.recursiveMajorityThreeRandomizedTree_averageCost (d : ℕ) : (FABL.recursiveMajorityThreeRandomizedTree d).averageCost (FABL.uniformPMF FABL.Sign) = FABL.recursiveMajorityAverageCostBound d
Uniform average cost of the actual recursive tree is exactly `(5/2)^d`.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeCyclicFirst (seed : Fin 3) : Fin 3
def FABL.majorityThreeCyclicFirst (seed : Fin 3) : Fin 3
Cyclic query order `seed, seed+1, seed+2` on three coordinates.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeCyclicSecond (seed : Fin 3) : Fin 3
def FABL.majorityThreeCyclicSecond (seed : Fin 3) : Fin 3
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeCyclicThird (seed : Fin 3) : Fin 3
def FABL.majorityThreeCyclicThird (seed : Fin 3) : Fin 3
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreeCyclicSecond_ne_first (seed : Fin 3) : FABL.majorityThreeCyclicSecond seed ≠ FABL.majorityThreeCyclicFirst seed
theorem FABL.majorityThreeCyclicSecond_ne_first (seed : Fin 3) : FABL.majorityThreeCyclicSecond seed ≠ FABL.majorityThreeCyclicFirst seed
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreeCyclicThird_ne_first (seed : Fin 3) : FABL.majorityThreeCyclicThird seed ≠ FABL.majorityThreeCyclicFirst seed
theorem FABL.majorityThreeCyclicThird_ne_first (seed : Fin 3) : FABL.majorityThreeCyclicThird seed ≠ FABL.majorityThreeCyclicFirst seed
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreeCyclicThird_ne_second (seed : Fin 3) : FABL.majorityThreeCyclicThird seed ≠ FABL.majorityThreeCyclicSecond seed
theorem FABL.majorityThreeCyclicThird_ne_second (seed : Fin 3) : FABL.majorityThreeCyclicThird seed ≠ FABL.majorityThreeCyclicSecond seed
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeCyclicTree (seed : Fin 3) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 3
def FABL.majorityThreeCyclicTree (seed : Fin 3) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 3
Pair-first `Maj₃` tree in a cyclic order.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.majorityThreeCyclicTree_computes (seed : Fin 3) : FABL.FiniteDecisionTree.Computes (FABL.majorityThreeCyclicTree seed) (FABL.majority 3)
theorem FABL.majorityThreeCyclicTree_computes (seed : Fin 3) : FABL.FiniteDecisionTree.Computes (FABL.majorityThreeCyclicTree seed) (FABL.majority 3)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.majorityThreeCyclicCompletionTree (seed : Fin 3) (known : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 3 (Finset.univ.erase (FABL.majorityThreeCyclicFirst seed))
def FABL.majorityThreeCyclicCompletionTree (seed : Fin 3) (known : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 3 (Finset.univ.erase (FABL.majorityThreeCyclicFirst seed))
Finish a `Maj₃` gate after the first cyclicly selected child is already known.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoFinishDifferent {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ x₂ : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁ ∪ (R₂ ∪ B₃))
def FABL.depthTwoFinishDifferent {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ x₂ : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁ ∪ (R₂ ∪ B₃))
Complete two partially evaluated disjoint blocks after their known values disagree.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoFinishEqual {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁ ∪ (R₂ ∪ B₃))
def FABL.depthTwoFinishEqual {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n (R₁ ∪ (R₂ ∪ B₃))
Complete two partially evaluated disjoint blocks after their known values agree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.FiniteDecisionTree.queryCount_mapOutput.{u_1, u_2, u_3} {Ω : Type u_1} {α : Type u_2} {β : Type u_3} {n : ℕ} {A : Finset (Fin n)} (g : α → β) (T : FABL.FiniteDecisionTree Ω α n A) (x : Fin n → Ω) : (FABL.FiniteDecisionTree.mapOutput g T).queryCount x = T.queryCount x
theorem FABL.FiniteDecisionTree.queryCount_mapOutput.{u_1, u_2, u_3} {Ω : Type u_1} {α : Type u_2} {β : Type u_3} {n : ℕ} {A : Finset (Fin n)} (g : α → β) (T : FABL.FiniteDecisionTree Ω α n A) (x : Fin n → Ω) : (FABL.FiniteDecisionTree.mapOutput g T).queryCount x = T.queryCount x
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoFinishDifferent {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ x₂ : FABL.Sign) (x : FABL.SignCube n) : (FABL.depthTwoFinishDifferent h₁ h₂₃ C₁ C₂ E₃ x₁ x₂).queryCount x = E₃.queryCount x + if E₃.eval x = x₁ then (C₁ x₁).queryCount x + if (C₁ x₁).eval x = E₃.eval x then 0 else (C₂ x₂).queryCount x else (C₂ x₂).queryCount x + if (C₂ x₂).eval x = E₃.eval x then 0 else (C₁ x₁).queryCount x
theorem FABL.queryCount_depthTwoFinishDifferent {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ x₂ : FABL.Sign) (x : FABL.SignCube n) : (FABL.depthTwoFinishDifferent h₁ h₂₃ C₁ C₂ E₃ x₁ x₂).queryCount x = E₃.queryCount x + if E₃.eval x = x₁ then (C₁ x₁).queryCount x + if (C₁ x₁).eval x = E₃.eval x then 0 else (C₂ x₂).queryCount x else (C₂ x₂).queryCount x + if (C₂ x₂).eval x = E₃.eval x then 0 else (C₁ x₁).queryCount x
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoFinishEqual {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ : FABL.Sign) (x : FABL.SignCube n) : (FABL.depthTwoFinishEqual h₁ h₂₃ C₁ C₂ E₃ x₁).queryCount x = (C₁ x₁).queryCount x + if (C₁ x₁).eval x = x₁ then (C₂ x₁).queryCount x + if (C₂ x₁).eval x = (C₁ x₁).eval x then 0 else E₃.queryCount x else E₃.queryCount x + if E₃.eval x = (C₁ x₁).eval x then 0 else (C₂ x₁).queryCount x
theorem FABL.queryCount_depthTwoFinishEqual {n : ℕ} {R₁ R₂ B₃ : Finset (Fin n)} (h₁ : Disjoint R₁ (R₂ ∪ B₃)) (h₂₃ : Disjoint R₂ B₃) (C₁ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₁) (C₂ : FABL.Sign → FABL.FiniteDecisionTree FABL.Sign FABL.Sign n R₂) (E₃ : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n B₃) (x₁ : FABL.Sign) (x : FABL.SignCube n) : (FABL.depthTwoFinishEqual h₁ h₂₃ C₁ C₂ E₃ x₁).queryCount x = (C₁ x₁).queryCount x + if (C₁ x₁).eval x = x₁ then (C₂ x₁).queryCount x + if (C₂ x₁).eval x = (C₁ x₁).eval x then 0 else E₃.queryCount x else E₃.queryCount x + if E₃.eval x = (C₁ x₁).eval x then 0 else (C₂ x₁).queryCount x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInitialCoordinate (block seed : Fin 3) : Fin 9
def FABL.depthTwoInitialCoordinate (block seed : Fin 3) : Fin 9
The initially queried leaf in a depth-two block.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInitialCoordinates (block seed : Fin 3) : Finset (Fin 9)
def FABL.depthTwoInitialCoordinates (block seed : Fin 3) : Finset (Fin 9)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoRemainingCoordinates (block seed : Fin 3) : Finset (Fin 9)
def FABL.depthTwoRemainingCoordinates (block seed : Fin 3) : Finset (Fin 9)
The two unqueried leaves in the same block.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInitial_union_remaining (block seed : Fin 3) : FABL.depthTwoInitialCoordinates block seed ∪ FABL.depthTwoRemainingCoordinates block seed = FABL.recursiveMajorityThreeBlockCoordinates 1 block
theorem FABL.depthTwoInitial_union_remaining (block seed : Fin 3) : FABL.depthTwoInitialCoordinates block seed ∪ FABL.depthTwoRemainingCoordinates block seed = FABL.recursiveMajorityThreeBlockCoordinates 1 block
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInitial_remaining_disjoint (block seed : Fin 3) : Disjoint (FABL.depthTwoInitialCoordinates block seed) (FABL.depthTwoRemainingCoordinates block seed)
theorem FABL.depthTwoInitial_remaining_disjoint (block seed : Fin 3) : Disjoint (FABL.depthTwoInitialCoordinates block seed) (FABL.depthTwoRemainingCoordinates block seed)
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInitial_subset_block (block seed : Fin 3) : FABL.depthTwoInitialCoordinates block seed ⊆ FABL.recursiveMajorityThreeBlockCoordinates 1 block
theorem FABL.depthTwoInitial_subset_block (block seed : Fin 3) : FABL.depthTwoInitialCoordinates block seed ⊆ FABL.recursiveMajorityThreeBlockCoordinates 1 block
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoRemaining_subset_block (block seed : Fin 3) : FABL.depthTwoRemainingCoordinates block seed ⊆ FABL.recursiveMajorityThreeBlockCoordinates 1 block
theorem FABL.depthTwoRemaining_subset_block (block seed : Fin 3) : FABL.depthTwoRemainingCoordinates block seed ⊆ FABL.recursiveMajorityThreeBlockCoordinates 1 block
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInitialTree (block seed : Fin 3) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.depthTwoInitialCoordinates block seed)
def FABL.depthTwoInitialTree (block seed : Fin 3) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.depthTwoInitialCoordinates block seed)
Query the cyclicly selected initial leaf of a block.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoCompletionTree (block seed : Fin 3) (known : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.depthTwoRemainingCoordinates block seed)
def FABL.depthTwoCompletionTree (block seed : Fin 3) (known : FABL.Sign) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.depthTwoRemainingCoordinates block seed)
Complete a block after its initial leaf has already been queried.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoEvaluationTree (block seed : Fin 3) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.recursiveMajorityThreeBlockCoordinates 1 block)
def FABL.depthTwoEvaluationTree (block seed : Fin 3) : FABL.FiniteDecisionTree FABL.Sign FABL.Sign 9 (FABL.recursiveMajorityThreeBlockCoordinates 1 block)
Evaluate a fresh block by its cyclic pair-first tree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.eval_depthTwoCompletionTree_known_initial (block seed : Fin 3) (x : FABL.SignCube 9) : (FABL.depthTwoCompletionTree block seed (x (FABL.depthTwoInitialCoordinate block seed))).eval x = FABL.majority 3 (FABL.recursiveInputBlock x block)
theorem FABL.eval_depthTwoCompletionTree_known_initial (block seed : Fin 3) (x : FABL.SignCube 9) : (FABL.depthTwoCompletionTree block seed (x (FABL.depthTwoInitialCoordinate block seed))).eval x = FABL.majority 3 (FABL.recursiveInputBlock x block)
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThree_one_block (x : FABL.SignCube 9) (block : Fin 3) : FABL.recursiveMajority 3 1 (FABL.recursiveInputBlock x block) = FABL.majority 3 (FABL.recursiveInputBlock x block)
theorem FABL.recursiveMajorityThree_one_block (x : FABL.SignCube 9) (block : Fin 3) : FABL.recursiveMajority 3 1 (FABL.recursiveInputBlock x block) = FABL.majority 3 (FABL.recursiveInputBlock x block)
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.recursiveMajorityThreeBlockCoordinates_union_ordered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) : FABL.recursiveMajorityThreeBlockCoordinates 1 first ∪ FABL.recursiveMajorityThreeBlockCoordinates 1 second ∪ FABL.recursiveMajorityThreeBlockCoordinates 1 third = Finset.univ
theorem FABL.recursiveMajorityThreeBlockCoordinates_union_ordered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) : FABL.recursiveMajorityThreeBlockCoordinates 1 first ∪ FABL.recursiveMajorityThreeBlockCoordinates 1 second ∪ FABL.recursiveMajorityThreeBlockCoordinates 1 third = Finset.univ
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedTreeOrdered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
def FABL.depthTwoInterleavedTreeOrdered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
One deterministic seed of the height-two interleaved algorithm.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedTreeOrdered_computes (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) : FABL.FiniteDecisionTree.Computes (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13 h23 seedFirst seedSecond seedThird) (FABL.recursiveMajority 3 2)
theorem FABL.depthTwoInterleavedTreeOrdered_computes (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) : FABL.FiniteDecisionTree.Computes (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13 h23 seedFirst seedSecond seedThird) (FABL.recursiveMajority 3 2)
Every ordered interleaving tree computes depth-two recursive majority.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoTopFirst (order : Fin 3) : Fin 3
def FABL.depthTwoTopFirst (order : Fin 3) : Fin 3
The first block in a cyclicly selected top-block order.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoTopSecond (order : Fin 3) : Fin 3
def FABL.depthTwoTopSecond (order : Fin 3) : Fin 3
The second block in a cyclicly selected top-block order.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoTopThird (order : Fin 3) : Fin 3
def FABL.depthTwoTopThird (order : Fin 3) : Fin 3
The third block in a cyclicly selected top-block order.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoTopFirst_ne_second (order : Fin 3) : FABL.depthTwoTopFirst order ≠ FABL.depthTwoTopSecond order
theorem FABL.depthTwoTopFirst_ne_second (order : Fin 3) : FABL.depthTwoTopFirst order ≠ FABL.depthTwoTopSecond order
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoTopFirst_ne_third (order : Fin 3) : FABL.depthTwoTopFirst order ≠ FABL.depthTwoTopThird order
theorem FABL.depthTwoTopFirst_ne_third (order : Fin 3) : FABL.depthTwoTopFirst order ≠ FABL.depthTwoTopThird order
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoTopSecond_ne_third (order : Fin 3) : FABL.depthTwoTopSecond order ≠ FABL.depthTwoTopThird order
theorem FABL.depthTwoTopSecond_ne_third (order : Fin 3) : FABL.depthTwoTopSecond order ≠ FABL.depthTwoTopThird order
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoLeafSeed (seeds : Fin 3 × Fin 3 × Fin 3) (block : Fin 3) : Fin 3
def FABL.depthTwoLeafSeed (seeds : Fin 3 × Fin 3 × Fin 3) (block : Fin 3) : Fin 3
Select the cyclic leaf order attached to a block.
-
abbrevdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
abbrev FABL.DepthTwoInterleavedSeed : Type
abbrev FABL.DepthTwoInterleavedSeed : Type
One cyclic top-block order, together with one cyclic leaf order for each block.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedTreeBySeed (seed : FABL.DepthTwoInterleavedSeed) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
def FABL.depthTwoInterleavedTreeBySeed (seed : FABL.DepthTwoInterleavedSeed) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 9
The deterministic height-two interleaved tree selected by one finite seed.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedTreeBySeed_computes (seed : FABL.DepthTwoInterleavedSeed) : FABL.FiniteDecisionTree.Computes (FABL.depthTwoInterleavedTreeBySeed seed) (FABL.recursiveMajority 3 2)
theorem FABL.depthTwoInterleavedTreeBySeed_computes (seed : FABL.DepthTwoInterleavedSeed) : FABL.FiniteDecisionTree.Computes (FABL.depthTwoInterleavedTreeBySeed seed) (FABL.recursiveMajority 3 2)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedRandomizedTree : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 9 (FABL.recursiveMajority 3 2)
def FABL.depthTwoInterleavedRandomizedTree : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 9 (FABL.recursiveMajority 3 2)
The genuine finite randomized tree for the strict depth-two improvement.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoCompletionModelCost (block seed : Fin 3) (known : FABL.Sign) (x : FABL.SignCube 9) : ℕ
def FABL.depthTwoCompletionModelCost (block seed : Fin 3) (known : FABL.Sign) (x : FABL.SignCube 9) : ℕ
Additional queries required to complete a block after its first leaf is known.
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoEvaluationModelCost (block seed : Fin 3) (x : FABL.SignCube 9) : ℕ
def FABL.depthTwoEvaluationModelCost (block seed : Fin 3) (x : FABL.SignCube 9) : ℕ
Query cost of evaluating a fresh block in its cyclic order.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoCompletionTree (block seed : Fin 3) (known : FABL.Sign) (x : FABL.SignCube 9) : (FABL.depthTwoCompletionTree block seed known).queryCount x = FABL.depthTwoCompletionModelCost block seed known x
theorem FABL.queryCount_depthTwoCompletionTree (block seed : Fin 3) (known : FABL.Sign) (x : FABL.SignCube 9) : (FABL.depthTwoCompletionTree block seed known).queryCount x = FABL.depthTwoCompletionModelCost block seed known x
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoEvaluationTree (block seed : Fin 3) (x : FABL.SignCube 9) : (FABL.depthTwoEvaluationTree block seed).queryCount x = FABL.depthTwoEvaluationModelCost block seed x
theorem FABL.queryCount_depthTwoEvaluationTree (block seed : Fin 3) (x : FABL.SignCube 9) : (FABL.depthTwoEvaluationTree block seed).queryCount x = FABL.depthTwoEvaluationModelCost block seed x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoBlockModelValue (x : FABL.SignCube 9) (block : Fin 3) : FABL.Sign
def FABL.depthTwoBlockModelValue (x : FABL.SignCube 9) (block : Fin 3) : FABL.Sign
Pure numerical cost model of the height-two interleaving algorithm in one top-block order.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoBlockModelValue_eq_majority (x : FABL.SignCube 9) (block : Fin 3) : FABL.depthTwoBlockModelValue x block = FABL.majority 3 (FABL.recursiveInputBlock x block)
theorem FABL.depthTwoBlockModelValue_eq_majority (x : FABL.SignCube 9) (block : Fin 3) : FABL.depthTwoBlockModelValue x block = FABL.majority 3 (FABL.recursiveInputBlock x block)
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedModelCostOrdered (first second third seedFirst seedSecond seedThird : Fin 3) (x : FABL.SignCube 9) : ℕ
def FABL.depthTwoInterleavedModelCostOrdered (first second third seedFirst seedSecond seedThird : Fin 3) (x : FABL.SignCube 9) : ℕ
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoInterleavedTreeOrdered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) (x : FABL.SignCube 9) : FABL.FiniteDecisionTree.queryCount (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13 h23 seedFirst seedSecond seedThird) x = FABL.depthTwoInterleavedModelCostOrdered first second third seedFirst seedSecond seedThird x
theorem FABL.queryCount_depthTwoInterleavedTreeOrdered (first second third : Fin 3) (h12 : first ≠ second) (h13 : first ≠ third) (h23 : second ≠ third) (seedFirst seedSecond seedThird : Fin 3) (x : FABL.SignCube 9) : FABL.FiniteDecisionTree.queryCount (FABL.depthTwoInterleavedTreeOrdered first second third h12 h13 h23 seedFirst seedSecond seedThird) x = FABL.depthTwoInterleavedModelCostOrdered first second third seedFirst seedSecond seedThird x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedModelCost (seed : FABL.DepthTwoInterleavedSeed) (x : FABL.SignCube 9) : ℕ
def FABL.depthTwoInterleavedModelCost (seed : FABL.DepthTwoInterleavedSeed) (x : FABL.SignCube 9) : ℕ
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.queryCount_depthTwoInterleavedTreeBySeed (seed : FABL.DepthTwoInterleavedSeed) (x : FABL.SignCube 9) : FABL.FiniteDecisionTree.queryCount (FABL.depthTwoInterleavedTreeBySeed seed) x = FABL.depthTwoInterleavedModelCost seed x
theorem FABL.queryCount_depthTwoInterleavedTreeBySeed (seed : FABL.DepthTwoInterleavedSeed) (x : FABL.SignCube 9) : FABL.FiniteDecisionTree.queryCount (FABL.depthTwoInterleavedTreeBySeed seed) x = FABL.depthTwoInterleavedModelCost seed x
-
defdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
def FABL.depthTwoInterleavedModelCostSum (x : FABL.SignCube 9) : ℕ
def FABL.depthTwoInterleavedModelCostSum (x : FABL.SignCube 9) : ℕ
The total query count of the eighty-one explicitly randomized height-two trees.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one (x : FABL.SignCube 9) : x 0 = 1 → FABL.depthTwoInterleavedModelCostSum x ≤ 571
theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_one (x : FABL.SignCube 9) : x 0 = 1 → FABL.depthTwoInterleavedModelCostSum x ≤ 571
The finite cost-table bound on inputs whose first coordinate is positive. The finite decision procedure is scoped to a larger local heartbeat budget.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one (x : FABL.SignCube 9) : x 0 = -1 → FABL.depthTwoInterleavedModelCostSum x ≤ 571
theorem FABL.depthTwoInterleavedModelCostSum_le_of_first_eq_neg_one (x : FABL.SignCube 9) : x 0 = -1 → FABL.depthTwoInterleavedModelCostSum x ≤ 571
The finite cost-table bound on inputs whose first coordinate is negative. The finite decision procedure is scoped to a larger local heartbeat budget.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedModelCostSum_le (x : FABL.SignCube 9) : FABL.depthTwoInterleavedModelCostSum x ≤ 571
theorem FABL.depthTwoInterleavedModelCostSum_le (x : FABL.SignCube 9) : FABL.depthTwoInterleavedModelCostSum x ≤ 571
The finite height-two cost table is pointwise bounded by `571` queries over its eighty-one equally likely seeds.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.card_depthTwoInterleavedSeed : Fintype.card FABL.DepthTwoInterleavedSeed = 81
theorem FABL.card_depthTwoInterleavedSeed : Fintype.card FABL.DepthTwoInterleavedSeed = 81
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedRandomizedTree_inputCost (x : FABL.SignCube 9) : FABL.depthTwoInterleavedRandomizedTree.inputCost x = ↑(FABL.depthTwoInterleavedModelCostSum x) / 81
theorem FABL.depthTwoInterleavedRandomizedTree_inputCost (x : FABL.SignCube 9) : FABL.depthTwoInterleavedRandomizedTree.inputCost x = ↑(FABL.depthTwoInterleavedModelCostSum x) / 81
On a fixed input, the explicit randomized tree's expected query count is the finite cost-table sum divided by its eighty-one equiprobable seeds.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedRandomizedTree_inputCost_le (x : FABL.SignCube 9) : FABL.depthTwoInterleavedRandomizedTree.inputCost x ≤ 571 / 81
theorem FABL.depthTwoInterleavedRandomizedTree_inputCost_le (x : FABL.SignCube 9) : FABL.depthTwoInterleavedRandomizedTree.inputCost x ≤ 571 / 81
Every input costs at most `571/81` queries for the explicit height-two tree.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le : FABL.depthTwoInterleavedRandomizedTree.worstCaseCost ≤ 571 / 81
theorem FABL.depthTwoInterleavedRandomizedTree_worstCaseCost_le : FABL.depthTwoInterleavedRandomizedTree.worstCaseCost ≤ 571 / 81
The actual height-two randomized tree has worst-case cost at most `571/81`.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le : FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) ≤ 571 / 81
theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_le : FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) ≤ 571 / 81
The explicit interleaved tree witnesses the height-two bound `RDT ≤ 571/81`.
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two : 571 / 81 < FABL.recursiveMajorityRandomizedCostBound 2
theorem FABL.five_seventy_one_div_eighty_one_lt_recursiveMajorityRandomizedCostBound_two : 571 / 81 < FABL.recursiveMajorityRandomizedCostBound 2
-
theoremdefined in FABL/Chapter08/RecursiveMajorityDecisionTrees.leancomplete
theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt : FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) < FABL.recursiveMajorityRandomizedCostBound 2
theorem FABL.randomizedDecisionTreeComplexity_recursiveMajority_three_two_lt : FABL.RandomizedDecisionTree.complexity (FABL.recursiveMajority 3 2) < FABL.recursiveMajorityRandomizedCostBound 2
Exercise 8.38(b): at depth two the explicit interleaved randomized tree strictly improves on independently composing the optimal one-level tree.
The further request to optimize the numerical upper bound in Exercise 8.38 is open-ended and supplies no production assumption.
-
FABL.orOnCoordinates[complete] -
FABL.sequentialOrTree[complete] -
FABL.sequentialOrTree_computes[complete] -
FABL.sequentialOrTree_averageCost[complete] -
FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost[complete] -
FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost[complete] -
FABL.one_sub_orCriticalProbability_pow[complete] -
FABL.tendsto_nat_mul_orCriticalProbability[complete]
Exercise 8.39. For every deterministic tree computing OR, prove
\Delta^{(p)}(T)
=p\cdot1+(1-p)p\cdot2+\cdots+(1-p)^{n-1}n
=\frac{1-(1-p)^n}{p}.
Deduce the same minimum for \operatorname{OR}_n and prove at criticality
\Delta^{(p_c)}(\operatorname{OR}_n)
\sim\frac{n}{2\ln2}.
Lean code for Lemma8.7.40●8 declarations
Associated Lean declarations
-
FABL.orOnCoordinates[complete]
-
FABL.sequentialOrTree[complete]
-
FABL.sequentialOrTree_computes[complete]
-
FABL.sequentialOrTree_averageCost[complete]
-
FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost[complete]
-
FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost[complete]
-
FABL.one_sub_orCriticalProbability_pow[complete]
-
FABL.tendsto_nat_mul_orCriticalProbability[complete]
-
FABL.orOnCoordinates[complete] -
FABL.sequentialOrTree[complete] -
FABL.sequentialOrTree_computes[complete] -
FABL.sequentialOrTree_averageCost[complete] -
FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost[complete] -
FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost[complete] -
FABL.one_sub_orCriticalProbability_pow[complete] -
FABL.tendsto_nat_mul_orCriticalProbability[complete]
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.orOnCoordinates {n : ℕ} (available : Finset (Fin n)) : FABL.BooleanFunction n
def FABL.orOnCoordinates {n : ℕ} (available : Finset (Fin n)) : FABL.BooleanFunction n
OR restricted to a named set of coordinates.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.sequentialOrTree (n : ℕ) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n
def FABL.sequentialOrTree (n : ℕ) : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n
The complete sequential OR tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.sequentialOrTree_computes (n : ℕ) : FABL.FiniteDecisionTree.Computes (FABL.sequentialOrTree n) (FABL.orFunction n)
theorem FABL.sequentialOrTree_computes (n : ℕ) : FABL.FiniteDecisionTree.Computes (FABL.sequentialOrTree n) (FABL.orFunction n)
The sequential tree computes the book's OR function.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.sequentialOrTree_averageCost (n : ℕ) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : FABL.RandomizedDecisionTree.deterministicAverageCost (FABL.biasedSignPMF p ⋯) (FABL.sequentialOrTree n) = FABL.orAverageQueryCost n p
theorem FABL.sequentialOrTree_averageCost (n : ℕ) (p : ℝ) (hp : p ∈ Set.Ioo 0 1) : FABL.RandomizedDecisionTree.deterministicAverageCost (FABL.biasedSignPMF p ⋯) (FABL.sequentialOrTree n) = FABL.orAverageQueryCost n p
Exercise 8.39(a): exact cost of the displayed sequential OR tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n available) (hT : T.Computes (FABL.orOnCoordinates available)) : FABL.orAverageQueryCost available.card p ≤ FABL.FiniteDecisionTree.auxiliaryAverageCost (FABL.biasedSignPMF p ⋯) T
theorem FABL.FiniteDecisionTree.orAverageQueryCost_le_auxiliaryAverageCost {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree FABL.Sign FABL.Sign n available) (hT : T.Computes (FABL.orOnCoordinates available)) : FABL.orAverageQueryCost available.card p ≤ FABL.FiniteDecisionTree.auxiliaryAverageCost (FABL.biasedSignPMF p ⋯) T
Exercise 8.39(a), optimality: every deterministic tree computing OR on its available coordinates has the same lower bound as the sequential tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n (FABL.orFunction n)) : FABL.orAverageQueryCost n p ≤ T.averageCost (FABL.biasedSignPMF p ⋯)
theorem FABL.RandomizedDecisionTree.orAverageQueryCost_le_averageCost {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign n (FABL.orFunction n)) : FABL.orAverageQueryCost n p ≤ T.averageCost (FABL.biasedSignPMF p ⋯)
Every zero-error randomized OR tree has average cost at least the geometric value.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.one_sub_orCriticalProbability_pow (n : ℕ) (hn : 0 < n) : (1 - FABL.orCriticalProbability n) ^ n = 1 / 2
theorem FABL.one_sub_orCriticalProbability_pow (n : ℕ) (hn : 0 < n) : (1 - FABL.orCriticalProbability n) ^ n = 1 / 2
The explicit parameter is critical: the all-false input has probability one half.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.tendsto_nat_mul_orCriticalProbability : Filter.Tendsto (fun n => ↑n * FABL.orCriticalProbability n) Filter.atTop (nhds (Real.log 2))
theorem FABL.tendsto_nat_mul_orCriticalProbability : Filter.Tendsto (fun n => ↑n * FABL.orCriticalProbability n) Filter.atTop (nhds (Real.log 2))
The critical scale satisfies `n p_c(n) → log 2`.
-
FABL.nandFunction[complete] -
FABL.nandTree01[complete] -
FABL.nandTree10[complete] -
FABL.nandRandomizedTree[complete] -
FABL.nandRandomizedTree_inputCost[complete] -
FABL.nandRandomizedTree_inputCost_of_eq_one[complete] -
FABL.nandRandomizedTree_inputCost_of_eq_neg_one[complete] -
FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two[complete] -
FABL.randomizedDecisionTreeComplexity_nand[complete] -
FABL.recursiveNAND[complete] -
FABL.deterministicDepth_recursiveNAND_le[complete] -
FABL.recursiveNand_costs_one[complete] -
FABL.recursiveNand_costs_two[complete] -
FABL.nandGrowthRate[complete] -
FABL.recursiveNand_conditionalCost_bounds[complete] -
FABL.recursiveNand_maxCost_le[complete] -
FABL.recursiveNandTree[complete] -
FABL.recursiveNandRandomizedTree[complete] -
FABL.recursiveNandTree_computes[complete] -
FABL.recursiveNandFalseOutputCost[complete] -
FABL.recursiveNandTrueOutputCost[complete] -
FABL.recursiveNandFalseOutputCost_succ_le[complete] -
FABL.recursiveNandTrueOutputCost_succ_le[complete] -
FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveNAND_le[complete] -
FABL.exercise8_40d_printed_false_label_is_wrong[complete] -
FABL.exercise8_40g_coefficient_one_fails_at_depth_one[complete] -
FABL.fourierDegree_recursiveNAND[complete] -
FABL.deterministicDepth_recursiveNAND[complete] -
FABL.iteratedTribesTwoTwo[complete] -
FABL.recursiveNandEvenTribesCoordinateEquiv[complete] -
FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo[complete]
Exercise 8.40. For recursive NAND prove, for even d, the identity
\operatorname{NAND}^{\otimes d}=\operatorname{Tribes}_{2,2}^{\otimes d/2}
and \operatorname{DT}(\operatorname{NAND}^{\otimes d})=2^d. Show
\operatorname{RDT}(\operatorname{NAND})=2. The printed part (d)
interchanges the truth labels: the unique false-output input necessarily
costs 2, while the random-order tree has true-output cost at most 3/2.
With this correction, deduce
\operatorname{RDT}(\operatorname{NAND}^{\otimes2})\le3. Construct
T_d satisfying
R_F(T_d)\le2R_T(T_{d-1}),
\qquad
R_T(T_d)\le R_F(T_{d-1})+\tfrac12R_T(T_{d-1}),
and hence, for n=2^d, with
\lambda=(1+\sqrt{33})/4, the valid explicit bound
\operatorname{RDT}(\operatorname{NAND}^{\otimes d})
\le\frac2\lambda\lambda^d
\approx n^{0.754}.
The coefficient-one inequality printed in part (g) is already false at
d=1, since \operatorname{RDT}(\operatorname{NAND})=2>\lambda.
Lean code for Lemma8.7.41●32 declarations
Associated Lean declarations
-
FABL.nandFunction[complete]
-
FABL.nandTree01[complete]
-
FABL.nandTree10[complete]
-
FABL.nandRandomizedTree[complete]
-
FABL.nandRandomizedTree_inputCost[complete]
-
FABL.nandRandomizedTree_inputCost_of_eq_one[complete]
-
FABL.nandRandomizedTree_inputCost_of_eq_neg_one[complete]
-
FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two[complete]
-
FABL.randomizedDecisionTreeComplexity_nand[complete]
-
FABL.recursiveNAND[complete]
-
FABL.deterministicDepth_recursiveNAND_le[complete]
-
FABL.recursiveNand_costs_one[complete]
-
FABL.recursiveNand_costs_two[complete]
-
FABL.nandGrowthRate[complete]
-
FABL.recursiveNand_conditionalCost_bounds[complete]
-
FABL.recursiveNand_maxCost_le[complete]
-
FABL.recursiveNandTree[complete]
-
FABL.recursiveNandRandomizedTree[complete]
-
FABL.recursiveNandTree_computes[complete]
-
FABL.recursiveNandFalseOutputCost[complete]
-
FABL.recursiveNandTrueOutputCost[complete]
-
FABL.recursiveNandFalseOutputCost_succ_le[complete]
-
FABL.recursiveNandTrueOutputCost_succ_le[complete]
-
FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth[complete]
-
FABL.randomizedDecisionTreeComplexity_recursiveNAND_le[complete]
-
FABL.exercise8_40d_printed_false_label_is_wrong[complete]
-
FABL.exercise8_40g_coefficient_one_fails_at_depth_one[complete]
-
FABL.fourierDegree_recursiveNAND[complete]
-
FABL.deterministicDepth_recursiveNAND[complete]
-
FABL.iteratedTribesTwoTwo[complete]
-
FABL.recursiveNandEvenTribesCoordinateEquiv[complete]
-
FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo[complete]
-
FABL.nandFunction[complete] -
FABL.nandTree01[complete] -
FABL.nandTree10[complete] -
FABL.nandRandomizedTree[complete] -
FABL.nandRandomizedTree_inputCost[complete] -
FABL.nandRandomizedTree_inputCost_of_eq_one[complete] -
FABL.nandRandomizedTree_inputCost_of_eq_neg_one[complete] -
FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two[complete] -
FABL.randomizedDecisionTreeComplexity_nand[complete] -
FABL.recursiveNAND[complete] -
FABL.deterministicDepth_recursiveNAND_le[complete] -
FABL.recursiveNand_costs_one[complete] -
FABL.recursiveNand_costs_two[complete] -
FABL.nandGrowthRate[complete] -
FABL.recursiveNand_conditionalCost_bounds[complete] -
FABL.recursiveNand_maxCost_le[complete] -
FABL.recursiveNandTree[complete] -
FABL.recursiveNandRandomizedTree[complete] -
FABL.recursiveNandTree_computes[complete] -
FABL.recursiveNandFalseOutputCost[complete] -
FABL.recursiveNandTrueOutputCost[complete] -
FABL.recursiveNandFalseOutputCost_succ_le[complete] -
FABL.recursiveNandTrueOutputCost_succ_le[complete] -
FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth[complete] -
FABL.randomizedDecisionTreeComplexity_recursiveNAND_le[complete] -
FABL.exercise8_40d_printed_false_label_is_wrong[complete] -
FABL.exercise8_40g_coefficient_one_fails_at_depth_one[complete] -
FABL.fourierDegree_recursiveNAND[complete] -
FABL.deterministicDepth_recursiveNAND[complete] -
FABL.iteratedTribesTwoTwo[complete] -
FABL.recursiveNandEvenTribesCoordinateEquiv[complete] -
FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo[complete]
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.nandFunction : FABL.BooleanFunction 2
def FABL.nandFunction : FABL.BooleanFunction 2
Binary NAND in the book's convention `-1 = True`.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.nandTree01 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
def FABL.nandTree01 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
Query coordinate `0` first, stopping as soon as NAND is known to be true.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.nandTree10 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
def FABL.nandTree10 : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign 2
Query coordinate `1` first, stopping as soon as NAND is known to be true.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.nandRandomizedTree : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2 FABL.nandFunction
def FABL.nandRandomizedTree : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2 FABL.nandFunction
The two equally likely query orders for the zero-error NAND algorithm.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.nandRandomizedTree_inputCost (x : FABL.SignCube 2) : FABL.nandRandomizedTree.inputCost x = ((if x 0 = 1 then 1 else 2) + if x 1 = 1 then 1 else 2) / 2
theorem FABL.nandRandomizedTree_inputCost (x : FABL.SignCube 2) : FABL.nandRandomizedTree.inputCost x = ((if x 0 = 1 then 1 else 2) + if x 1 = 1 then 1 else 2) / 2
Exact pointwise cost of the uniformly randomized query order.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.nandRandomizedTree_inputCost_of_eq_one (x : FABL.SignCube 2) (hx : FABL.nandFunction x = 1) : FABL.nandRandomizedTree.inputCost x = 2
theorem FABL.nandRandomizedTree_inputCost_of_eq_one (x : FABL.SignCube 2) (hx : FABL.nandFunction x = 1) : FABL.nandRandomizedTree.inputCost x = 2
On the unique false-output input, both coordinates must be read.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.nandRandomizedTree_inputCost_of_eq_neg_one (x : FABL.SignCube 2) (hx : FABL.nandFunction x = -1) : FABL.nandRandomizedTree.inputCost x ≤ 3 / 2
theorem FABL.nandRandomizedTree_inputCost_of_eq_neg_one (x : FABL.SignCube 2) (hx : FABL.nandFunction x = -1) : FABL.nandRandomizedTree.inputCost x ≤ 3 / 2
On every true-output input, the random-order NAND algorithm costs at most `3/2`. This is the mathematically consistent form of Exercise 8.40(d); the printed exercise interchanges the labels `True` and `False`, since a zero-error algorithm must read both bits on the false NAND input.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2 FABL.nandFunction) : T.inputCost FABL.nandAllTrue = 2
theorem FABL.RandomizedDecisionTree.inputCost_nandAllTrue_eq_two (T : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign 2 FABL.nandFunction) : T.inputCost FABL.nandAllTrue = 2
Every zero-error randomized NAND tree pays exactly two queries on the false-output input.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.randomizedDecisionTreeComplexity_nand : FABL.RandomizedDecisionTree.complexity FABL.nandFunction = 2
theorem FABL.randomizedDecisionTreeComplexity_nand : FABL.RandomizedDecisionTree.complexity FABL.nandFunction = 2
Exercise 8.40(c): `RDT(NAND) = 2`.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.recursiveNAND (d : ℕ) : FABL.BooleanFunction (2 ^ d)
def FABL.recursiveNAND (d : ℕ) : FABL.BooleanFunction (2 ^ d)
The depth-`d` complete binary NAND formula.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.deterministicDepth_recursiveNAND_le (d : ℕ) : FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) ≤ 2 ^ d
theorem FABL.deterministicDepth_recursiveNAND_le (d : ℕ) : FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) ≤ 2 ^ d
The general finite decision-tree model gives the deterministic upper bound in Exercise 8.40(b); the matching evasiveness lower bound is a separate composition argument.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.recursiveNand_costs_one : FABL.recursiveNandFalseCost 1 = 2 ∧ FABL.recursiveNandTrueCost 1 = 3 / 2
theorem FABL.recursiveNand_costs_one : FABL.recursiveNandFalseCost 1 = 2 ∧ FABL.recursiveNandTrueCost 1 = 3 / 2
Exercise 8.40(d), with the true/false labels corrected as explained above.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.recursiveNand_costs_two : max (FABL.recursiveNandFalseCost 2) (FABL.recursiveNandTrueCost 2) = 3
theorem FABL.recursiveNand_costs_two : max (FABL.recursiveNandFalseCost 2) (FABL.recursiveNandTrueCost 2) = 3
Exercise 8.40(e): the depth-two recurrence has cost at most three.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.nandGrowthRate : ℝ
def FABL.nandGrowthRate : ℝ
The dominant eigenvalue of the conditional-cost recurrence.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.recursiveNand_conditionalCost_bounds (d : ℕ) : FABL.recursiveNandFalseCost d ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d ∧ FABL.recursiveNandTrueCost d ≤ FABL.nandGrowthRate ^ d
theorem FABL.recursiveNand_conditionalCost_bounds (d : ℕ) : FABL.recursiveNandFalseCost d ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d ∧ FABL.recursiveNandTrueCost d ≤ FABL.nandGrowthRate ^ d
Exercise 8.40(f--g), exact recurrence bound. The multiplicative factor `2/λ` is necessary at depth one (`RDT(NAND)=2 > λ`); thus the coefficient-one inequality printed in part (g) cannot hold with the indexing and zero-error model stated in the exercise.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.recursiveNand_maxCost_le (d : ℕ) : max (FABL.recursiveNandFalseCost d) (FABL.recursiveNandTrueCost d) ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
theorem FABL.recursiveNand_maxCost_le (d : ℕ) : max (FABL.recursiveNandFalseCost d) (FABL.recursiveNandTrueCost d) ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
A single bound for both conditional recurrence costs.
-
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.recursiveNandTree (d : ℕ) : FABL.RecursiveNandSeed d → FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (2 ^ d)
def FABL.recursiveNandTree (d : ℕ) : FABL.RecursiveNandSeed d → FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign (2 ^ d)
Deterministic tree selected by a complete recursive seed.
-
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.recursiveNandRandomizedTree (d : ℕ) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (2 ^ d) (FABL.recursiveNAND d)
def FABL.recursiveNandRandomizedTree (d : ℕ) : FABL.RandomizedDecisionTree FABL.Sign FABL.Sign (2 ^ d) (FABL.recursiveNAND d)
The genuine finite-seed randomized recursive NAND tree family from Exercise 8.40(f).
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.recursiveNandTree_computes (d : ℕ) (seed : FABL.RecursiveNandSeed d) : FABL.FiniteDecisionTree.Computes (FABL.recursiveNandTree d seed) (FABL.recursiveNAND d)
theorem FABL.recursiveNandTree_computes (d : ℕ) (seed : FABL.RecursiveNandSeed d) : FABL.FiniteDecisionTree.Computes (FABL.recursiveNandTree d seed) (FABL.recursiveNAND d)
-
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.recursiveNandFalseOutputCost (d : ℕ) : ℝ
def FABL.recursiveNandFalseOutputCost (d : ℕ) : ℝ
Book notation `RDT_False(T_d)`; false is sign `+1`.
-
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.recursiveNandTrueOutputCost (d : ℕ) : ℝ
def FABL.recursiveNandTrueOutputCost (d : ℕ) : ℝ
Book notation `RDT_True(T_d)`; true is sign `-1`.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.recursiveNandFalseOutputCost_succ_le (d : ℕ) : FABL.recursiveNandFalseOutputCost (d + 1) ≤ 2 * FABL.recursiveNandTrueOutputCost d
theorem FABL.recursiveNandFalseOutputCost_succ_le (d : ℕ) : FABL.recursiveNandFalseOutputCost (d + 1) ≤ 2 * FABL.recursiveNandTrueOutputCost d
Exercise 8.40(f), false-output recurrence for the actual finite-seed tree family.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.recursiveNandTrueOutputCost_succ_le (d : ℕ) : FABL.recursiveNandTrueOutputCost (d + 1) ≤ FABL.recursiveNandFalseOutputCost d + FABL.recursiveNandTrueOutputCost d / 2
theorem FABL.recursiveNandTrueOutputCost_succ_le (d : ℕ) : FABL.recursiveNandTrueOutputCost (d + 1) ≤ FABL.recursiveNandFalseOutputCost d + FABL.recursiveNandTrueOutputCost d / 2
Exercise 8.40(f), true-output recurrence for the actual finite-seed tree family.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth (d : ℕ) : (FABL.recursiveNandRandomizedTree d).worstCaseCost ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
theorem FABL.recursiveNandRandomizedTree_worstCaseCost_le_growth (d : ℕ) : (FABL.recursiveNandRandomizedTree d).worstCaseCost ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
Exercise 8.40(g), corrected zero-error upper bound with the necessary prefactor.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.randomizedDecisionTreeComplexity_recursiveNAND_le (d : ℕ) : FABL.RandomizedDecisionTree.complexity (FABL.recursiveNAND d) ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
theorem FABL.randomizedDecisionTreeComplexity_recursiveNAND_le (d : ℕ) : FABL.RandomizedDecisionTree.complexity (FABL.recursiveNAND d) ≤ 2 / FABL.nandGrowthRate * FABL.nandGrowthRate ^ d
The recursive tree family witnesses the corresponding randomized-complexity upper bound.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.exercise8_40d_printed_false_label_is_wrong : FABL.recursiveNandFalseOutputCost 1 ≠ 3 / 2
theorem FABL.exercise8_40d_printed_false_label_is_wrong : FABL.recursiveNandFalseOutputCost 1 ≠ 3 / 2
Formal counterexample to the swapped label in Exercise 8.40(d).
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.exercise8_40g_coefficient_one_fails_at_depth_one : ¬(FABL.recursiveNandRandomizedTree 1).worstCaseCost ≤ FABL.nandGrowthRate ^ 1
theorem FABL.exercise8_40g_coefficient_one_fails_at_depth_one : ¬(FABL.recursiveNandRandomizedTree 1).worstCaseCost ≤ FABL.nandGrowthRate ^ 1
Formal counterexample to the coefficient-one inequality printed in Exercise 8.40(g).
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.fourierDegree_recursiveNAND (d : ℕ) : FABL.fourierDegree (FABL.recursiveNAND d).toReal = 2 ^ d
theorem FABL.fourierDegree_recursiveNAND (d : ℕ) : FABL.fourierDegree (FABL.recursiveNAND d).toReal = 2 ^ d
Recursive NAND has the maximum possible Fourier degree.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.deterministicDepth_recursiveNAND (d : ℕ) : FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) = 2 ^ d
theorem FABL.deterministicDepth_recursiveNAND (d : ℕ) : FABL.FiniteDecisionTree.deterministicDepth (FABL.recursiveNAND d) = 2 ^ d
Exercise 8.40(b): recursive NAND is evasive.
-
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.iteratedTribesTwoTwo (k : ℕ) : FABL.BooleanFunction (4 ^ k)
def FABL.iteratedTribesTwoTwo (k : ℕ) : FABL.BooleanFunction (4 ^ k)
Flat-coordinate version of the iterated `Tribes_{2,2}` tensor power. -
defdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
def FABL.recursiveNandEvenTribesCoordinateEquiv (k : ℕ) : Fin (2 ^ (2 * k)) ≃ Fin (4 ^ k)
def FABL.recursiveNandEvenTribesCoordinateEquiv (k : ℕ) : Fin (2 ^ (2 * k)) ≃ Fin (4 ^ k)
Explicit coordinate equivalence grouping two binary levels into each quaternary level.
-
theoremdefined in FABL/Chapter08/RecursiveNANDComposition.leancomplete
theorem FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo (k : ℕ) (x : FABL.SignCube (2 ^ (2 * k))) : FABL.recursiveNAND (2 * k) x = FABL.iteratedTribesTwoTwo k ((FABL.piReindexEquiv (FABL.recursiveNandEvenTribesCoordinateEquiv k)) x)
theorem FABL.recursiveNAND_even_eq_iteratedTribesTwoTwo (k : ℕ) (x : FABL.SignCube (2 ^ (2 * k))) : FABL.recursiveNAND (2 * k) x = FABL.iteratedTribesTwoTwo k ((FABL.piReindexEquiv (FABL.recursiveNandEvenTribesCoordinateEquiv k)) x)
Exercise 8.40(a): at even depth, recursive NAND is the iterated `Tribes_{2,2}` function, under the explicit grouping of consecutive binary address digits.
Exercise 8.41. The class of monotone Boolean functions satisfying
\operatorname{DT}(f)\le k is learnable from random examples to error
\epsilon in time
n^{O(\sqrt{k}/\epsilon)}.
Lean code for Theorem8.7.42●3 declarations
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.totalInfluence_le_sqrt_deterministicDepth_of_monotone {n k : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hdepth : FABL.FiniteDecisionTree.deterministicDepth f.toReal ≤ k) : FABL.totalInfluence f.toReal ≤ √↑k
theorem FABL.totalInfluence_le_sqrt_deterministicDepth_of_monotone {n k : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (hdepth : FABL.FiniteDecisionTree.deterministicDepth f.toReal ≤ k) : FABL.totalInfluence f.toReal ≤ √↑k
A monotone Boolean function of deterministic decision-tree depth at most `k` has total influence at most `√k`.
-
defdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
def FABL.monotoneDecisionTreeLearningDegree (k : ℕ) (ε : ↑FABL.PositiveLearningParameter) : ℕ
def FABL.monotoneDecisionTreeLearningDegree (k : ℕ) (ε : ↑FABL.PositiveLearningParameter) : ℕ
Degree cutoff for the OS-based learner in Exercise 8.41.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.lowDegreeFourierEstimatorProgram_of_monotone_deterministicDepth_failure_le_one_tenth {n k : ℕ} (target : FABL.BooleanFunction n) (htarget : Monotone target) (hdepth : FABL.FiniteDecisionTree.deterministicDepth target.toReal ≤ k) (ε : ↑FABL.PositiveLearningParameter) : ((FABL.lowDegreeFourierEstimatorProgram n (FABL.monotoneDecisionTreeLearningDegree k ε) ε).eventProbability target fun outcome => ↑↑ε < FABL.relativeHammingDist target outcome.1.evaluate) ≤ 1 / 10
theorem FABL.lowDegreeFourierEstimatorProgram_of_monotone_deterministicDepth_failure_le_one_tenth {n k : ℕ} (target : FABL.BooleanFunction n) (htarget : Monotone target) (hdepth : FABL.FiniteDecisionTree.deterministicDepth target.toReal ≤ k) (ε : ↑FABL.PositiveLearningParameter) : ((FABL.lowDegreeFourierEstimatorProgram n (FABL.monotoneDecisionTreeLearningDegree k ε) ε).eventProbability target fun outcome => ↑↑ε < FABL.relativeHammingDist target outcome.1.evaluate) ≤ 1 / 10
Exercise 8.41: the Chapter 3 Low-Degree random-example learner applies with the `O(√k/ε)` cutoff to monotone functions of deterministic decision-tree depth at most `k`.
Exercise 8.42. Prove that the completed input produced by the process in
Definition 8.70 has exactly the product law \pi^{\otimes n}.
Lean code for Lemma8.7.43●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/RandomizedDecisionTreeComplexity.leancomplete
theorem FABL.FiniteDecisionTree.decisionTreeProcessPMF_map_input.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} [Fintype Ω] (π : PMF Ω) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : PMF.map FABL.FiniteDecisionTree.ProcessSample.input (FABL.FiniteDecisionTree.decisionTreeProcessPMF π T) = FABL.productProbabilityPMF π n
theorem FABL.FiniteDecisionTree.decisionTreeProcessPMF_map_input.{u_1, u_2} {Ω : Type u_1} {α : Type u_2} {n : ℕ} [Fintype Ω] (π : PMF Ω) (T : FABL.FiniteAlphabetDecisionTree Ω α n) : PMF.map FABL.FiniteDecisionTree.ProcessSample.input (FABL.FiniteDecisionTree.decisionTreeProcessPMF π T) = FABL.productProbabilityPMF π n
Exercise 8.42: the final string generated by the decision-tree process has exactly the product distribution `π⊗n`.
Exercise 8.43. If a deterministic decision tree has s leaves, prove
the average-query bound
\Delta(T)\le\log_2s.
Lean code for Lemma8.7.44●3 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.one_add_average_logb_two_le_logb_two_add {a b : ℕ} (ha : 0 < a) (hb : 0 < b) : 1 + (Real.logb 2 ↑a + Real.logb 2 ↑b) / 2 ≤ Real.logb 2 (↑a + ↑b)
theorem FABL.one_add_average_logb_two_le_logb_two_add {a b : ℕ} (ha : 0 < a) (hb : 0 < b) : 1 + (Real.logb 2 ↑a + Real.logb 2 ↑b) / 2 ≤ Real.logb 2 (↑a + ↑b)
Binary logarithm inequality used at a binary query node.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.FiniteDecisionTree.auxiliaryAverageCost_uniform_le_log_leafCount.{u_1} {α : Type u_1} {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree FABL.Sign α n available) : FABL.FiniteDecisionTree.auxiliaryAverageCost (FABL.uniformPMF FABL.Sign) T ≤ Real.logb 2 ↑T.leafCount
theorem FABL.FiniteDecisionTree.auxiliaryAverageCost_uniform_le_log_leafCount.{u_1} {α : Type u_1} {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree FABL.Sign α n available) : FABL.FiniteDecisionTree.auxiliaryAverageCost (FABL.uniformPMF FABL.Sign) T ≤ Real.logb 2 ↑T.leafCount
Exercise 8.43: under uniform binary input, average queries are at most `log₂` leaf count.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.FiniteDecisionTree.deterministicAverageCost_le_log_leafCount.{u_1} {α : Type u_1} {n : ℕ} (T : FABL.FiniteAlphabetDecisionTree FABL.Sign α n) : FABL.RandomizedDecisionTree.deterministicAverageCost (FABL.uniformPMF FABL.Sign) T ≤ Real.logb 2 ↑(FABL.FiniteDecisionTree.leafCount T)
theorem FABL.FiniteDecisionTree.deterministicAverageCost_le_log_leafCount.{u_1} {α : Type u_1} {n : ℕ} (T : FABL.FiniteAlphabetDecisionTree FABL.Sign α n) : FABL.RandomizedDecisionTree.deterministicAverageCost (FABL.uniformPMF FABL.Sign) T ≤ Real.logb 2 ↑(FABL.FiniteDecisionTree.leafCount T)
Exercise 8.43 in the public complete-tree average-cost notation.
Exercise 8.44. Prove
\operatorname{MaxInf}[f]
\ge\frac{\operatorname{Var}[f]}{\Delta^{(\pi)}(f)},
\qquad
\mathbf I[f]
\ge\frac{\operatorname{Var}[f]}{\delta^{(\pi)}(f)}.
On the binary cube, the further conclusion
\operatorname{MaxInf}[f]
\ge\frac{\operatorname{Var}[f]}{\deg(f)^3}
depends on the external Midrijānis theorem
\operatorname{DT}(f)\le\deg(f)^3; the external prerequisite is recorded
without becoming an assumption of the production library.
Lean code for Lemma8.7.45●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.maximumProductInfluence_ge_variance_div_averageComplexity.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (hnonconst : FABL.IsNonconstantProductFunction f) : FABL.productVariance π f / FABL.RandomizedDecisionTree.averageComplexity π f ≤ FABL.maximumProductInfluence π f
theorem FABL.maximumProductInfluence_ge_variance_div_averageComplexity.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (hnonconst : FABL.IsNonconstantProductFunction f) : FABL.productVariance π f / FABL.RandomizedDecisionTree.averageComplexity π f ≤ FABL.maximumProductInfluence π f
Exercise 8.44(a): maximum influence lower-bounds variance divided by minimum average query complexity.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.productTotalInfluence_ge_variance_div_functionRevealment.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (hnonconst : FABL.IsNonconstantProductFunction f) : FABL.productVariance π f / FABL.RandomizedDecisionTree.functionRevealment π f ≤ FABL.productTotalInfluence π f
theorem FABL.productTotalInfluence_ge_variance_div_functionRevealment.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} (hπ : FABL.PMFHasFullSupport π) {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (hf : FABL.HasSignRange f) (hnonconst : FABL.IsNonconstantProductFunction f) : FABL.productVariance π f / FABL.RandomizedDecisionTree.functionRevealment π f ≤ FABL.productTotalInfluence π f
Exercise 8.44(c): total influence lower-bounds variance divided by minimum revealment.
Exercise 8.45. For every randomized decision tree T computing f,
prove
\operatorname{Inf}_i[f]\le\delta_i^{(\pi)}(T).
If f is transitive-symmetric, deduce
\Delta^{(\pi)}(f)\ge\sqrt{\operatorname{Var}[f]\,n}.
Lean code for Lemma8.7.46●4 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.FiniteDecisionTree.influence_le_structuralQueryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) {f : FABL.ProductL2 Ω n} (hT : T.Computes f) (hf : FABL.HasSignRange f) (i : Fin n) : FABL.productInfluence π f i ≤ FABL.FiniteDecisionTree.structuralQueryProbability π T i
theorem FABL.FiniteDecisionTree.influence_le_structuralQueryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) {f : FABL.ProductL2 Ω n} (hT : T.Computes f) (hf : FABL.HasSignRange f) (i : Fin n) : FABL.productInfluence π f i ≤ FABL.FiniteDecisionTree.structuralQueryProbability π T i
Exercise 8.45(a) for one deterministic tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.RandomizedDecisionTree.influence_le_queryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) (i : Fin n) : FABL.productInfluence π f i ≤ T.queryProbability π i
theorem FABL.RandomizedDecisionTree.influence_le_queryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) (i : Fin n) : FABL.productInfluence π f i ≤ T.queryProbability π i
Exercise 8.45(a) for a randomized tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.productInfluence_biased_eq_of_transitiveSymmetric_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hsymm : FABL.IsTransitiveSymmetric f) (hf : Monotone f) (i j : Fin n) : FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal i = FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal j
theorem FABL.productInfluence_biased_eq_of_transitiveSymmetric_monotone {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hsymm : FABL.IsTransitiveSymmetric f) (hf : Monotone f) (i j : Fin n) : FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal i = FABL.productInfluence (FABL.biasedSignPMF p ⋯) f.toReal j
Transitive-symmetric monotone Boolean functions have equal biased influences.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.RandomizedDecisionTree.averageCost_ge_sqrt_variance_mul_card {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hmono : Monotone f) (hsymm : FABL.IsTransitiveSymmetric f) (T : FABL.RandomizedDecisionTree FABL.Sign ℝ n f.toReal) (hequal : T.HasEqualQueryProbabilities (FABL.biasedSignPMF p ⋯)) : √(FABL.productVariance (FABL.biasedSignPMF p ⋯) f.toReal * ↑n) ≤ T.averageCost (FABL.biasedSignPMF p ⋯)
theorem FABL.RandomizedDecisionTree.averageCost_ge_sqrt_variance_mul_card {n : ℕ} (p : ℝ) (hp : p ∈ Set.Ioo 0 1) (f : FABL.BooleanFunction n) (hmono : Monotone f) (hsymm : FABL.IsTransitiveSymmetric f) (T : FABL.RandomizedDecisionTree FABL.Sign ℝ n f.toReal) (hequal : T.HasEqualQueryProbabilities (FABL.biasedSignPMF p ⋯)) : √(FABL.productVariance (FABL.biasedSignPMF p ⋯) f.toReal * ↑n) ≤ T.averageCost (FABL.biasedSignPMF p ⋯)
Exercise 8.45(b) for an equal-query-profile tree, as supplied by the symmetrization in Exercise 8.37.
-
FABL.FiniteDecisionTree.errorProbability[complete] -
FABL.minimumSignProbability[complete] -
FABL.FiniteDecisionTree.expected_child_error_le[complete] -
FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf[complete] -
FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error[complete] -
FABL.PossiblyErroneousRandomizedTree[complete] -
FABL.PossiblyErroneousRandomizedTree.errorProbability[complete] -
FABL.PossiblyErroneousRandomizedTree.queryProbability[complete] -
FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error[complete] -
FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero[complete] -
FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction[complete] -
FABL.RandomizedDecisionTree.osss_of_variance_eq_one[complete]
Exercise 8.46. Let
\operatorname{err}(T)=\Pr[T(x)\ne f(x)]. If a depth-k tree queries
i at its root and a random \pi-edge is followed, producing a
distribution \mathcal T of depth-at-most-k-1 trees, prove
\operatorname{err}(\mathcal T)
\le\operatorname{err}(T)+\frac12\operatorname{Inf}_i[f].
At depth zero prove
\operatorname{err}(T)
\ge\min\{\Pr[f=1],\Pr[f=-1]\}.
Deduce for every randomized tree
\frac12\sum_i\delta_i^{(\pi)}(T)\operatorname{Inf}_i[f]
\ge
\min\{\Pr[f=1],\Pr[f=-1]\}-\operatorname{err}(T).
This gives exact OSSS for balanced f and loses at most a factor 2 in
general.
Lean code for Lemma8.7.47●12 declarations
Associated Lean declarations
-
FABL.FiniteDecisionTree.errorProbability[complete]
-
FABL.minimumSignProbability[complete]
-
FABL.FiniteDecisionTree.expected_child_error_le[complete]
-
FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf[complete]
-
FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error[complete]
-
FABL.PossiblyErroneousRandomizedTree[complete]
-
FABL.PossiblyErroneousRandomizedTree.errorProbability[complete]
-
FABL.PossiblyErroneousRandomizedTree.queryProbability[complete]
-
FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error[complete]
-
FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero[complete]
-
FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction[complete]
-
FABL.RandomizedDecisionTree.osss_of_variance_eq_one[complete]
-
FABL.FiniteDecisionTree.errorProbability[complete] -
FABL.minimumSignProbability[complete] -
FABL.FiniteDecisionTree.expected_child_error_le[complete] -
FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf[complete] -
FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error[complete] -
FABL.PossiblyErroneousRandomizedTree[complete] -
FABL.PossiblyErroneousRandomizedTree.errorProbability[complete] -
FABL.PossiblyErroneousRandomizedTree.queryProbability[complete] -
FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error[complete] -
FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero[complete] -
FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction[complete] -
FABL.RandomizedDecisionTree.osss_of_variance_eq_one[complete]
-
defdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
def FABL.FiniteDecisionTree.errorProbability.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) (f : FABL.ProductL2 Ω n) : ℝ
def FABL.FiniteDecisionTree.errorProbability.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) (f : FABL.ProductL2 Ω n) : ℝ
Error probability of an arbitrary deterministic tree against a sign-range target.
-
defdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
def FABL.minimumSignProbability.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) : ℝ
def FABL.minimumSignProbability.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (f : FABL.ProductL2 Ω n) : ℝ
The smaller of the two target-label probabilities.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.FiniteDecisionTree.expected_child_error_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (coordinate : Fin n) (hcoordinate : coordinate ∈ available) (child : Ω → FABL.FiniteDecisionTree Ω ℝ n (available.erase coordinate)) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : (FABL.pmfExpectation π fun ω => FABL.FiniteDecisionTree.errorProbability π (child ω) f) ≤ FABL.FiniteDecisionTree.errorProbability π (FABL.FiniteDecisionTree.query coordinate hcoordinate child) f + 1 / 2 * FABL.productInfluence π f coordinate
theorem FABL.FiniteDecisionTree.expected_child_error_le.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (coordinate : Fin n) (hcoordinate : coordinate ∈ available) (child : Ω → FABL.FiniteDecisionTree Ω ℝ n (available.erase coordinate)) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : (FABL.pmfExpectation π fun ω => FABL.FiniteDecisionTree.errorProbability π (child ω) f) ≤ FABL.FiniteDecisionTree.errorProbability π (FABL.FiniteDecisionTree.query coordinate hcoordinate child) f + 1 / 2 * FABL.productInfluence π f coordinate
Exercise 8.46(a): following a random root edge increases error by at most half the root coordinate's influence.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (value : ℝ) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : FABL.minimumSignProbability π f ≤ FABL.FiniteDecisionTree.errorProbability π (FABL.FiniteDecisionTree.leaf value) f
theorem FABL.FiniteDecisionTree.minimumSignProbability_le_error_leaf.{u_1} {Ω : Type u_1} [Fintype Ω] (π : PMF Ω) {n : ℕ} (value : ℝ) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : FABL.minimumSignProbability π f ≤ FABL.FiniteDecisionTree.errorProbability π (FABL.FiniteDecisionTree.leaf value) f
Exercise 8.46(b): every depth-zero deterministic tree incurs at least the minority-label probability.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : 1 / 2 * ∑ i, FABL.FiniteDecisionTree.structuralQueryProbability π T i * FABL.productInfluence π f i ≥ FABL.minimumSignProbability π f - FABL.FiniteDecisionTree.errorProbability π T f
theorem FABL.FiniteDecisionTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {available : Finset (Fin n)} (T : FABL.FiniteDecisionTree Ω ℝ n available) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : 1 / 2 * ∑ i, FABL.FiniteDecisionTree.structuralQueryProbability π T i * FABL.productInfluence π f i ≥ FABL.minimumSignProbability π f - FABL.FiniteDecisionTree.errorProbability π T f
Exercise 8.46(c), deterministic induction.
-
structuredefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
structure FABL.PossiblyErroneousRandomizedTree.{u_1, u_2} (Ω : Type u_1) (α : Type u_2) (n : ℕ) : Type (max (max 1 u_1) u_2)
structure FABL.PossiblyErroneousRandomizedTree.{u_1, u_2} (Ω : Type u_1) (α : Type u_2) (n : ℕ) : Type (max (max 1 u_1) u_2)
A finite distribution of possibly erroneous deterministic trees.
Fields
Seed : Type
seedFintype : Fintype self.Seed
seedNonempty : Nonempty self.Seed
seedLaw : PMF self.Seed
tree : self.Seed → FABL.FiniteAlphabetDecisionTree Ω α n
-
defdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
def FABL.PossiblyErroneousRandomizedTree.errorProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] {α : Type u_2} [DecidableEq α] {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω) (f : (Fin n → Ω) → α) : ℝ
def FABL.PossiblyErroneousRandomizedTree.errorProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] {α : Type u_2} [DecidableEq α] {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω) (f : (Fin n → Ω) → α) : ℝ
Error probability of a possibly erroneous randomized tree.
-
defdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
def FABL.PossiblyErroneousRandomizedTree.queryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] {α : Type u_2} {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω) (i : Fin n) : ℝ
def FABL.PossiblyErroneousRandomizedTree.queryProbability.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] {α : Type u_2} {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω α n) (π : PMF Ω) (i : Fin n) : ℝ
Query probability of a possibly erroneous randomized tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω ℝ n) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : 1 / 2 * ∑ i, T.queryProbability π i * FABL.productInfluence π f i ≥ FABL.minimumSignProbability π f - T.errorProbability π f
theorem FABL.PossiblyErroneousRandomizedTree.half_weightedInfluence_ge_minProbability_sub_error.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω ℝ n) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) : 1 / 2 * ∑ i, T.queryProbability π i * FABL.productInfluence π f i ≥ FABL.minimumSignProbability π f - T.errorProbability π f
Exercise 8.46(c), randomized form.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero.{u_1} {Ω : Type u_1} [Fintype Ω] {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω ℝ n) (π : PMF Ω) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (hdepth : ∀ (seed : T.Seed), ∃ value, T.tree seed = FABL.FiniteDecisionTree.leaf value) : FABL.minimumSignProbability π f ≤ T.errorProbability π f
theorem FABL.PossiblyErroneousRandomizedTree.minimumSignProbability_le_error_of_depth_zero.{u_1} {Ω : Type u_1} [Fintype Ω] {n : ℕ} (T : FABL.PossiblyErroneousRandomizedTree Ω ℝ n) (π : PMF Ω) (f : FABL.ProductL2 Ω n) (hf : FABL.HasSignRange f) (hdepth : ∀ (seed : T.Seed), ∃ value, T.tree seed = FABL.FiniteDecisionTree.leaf value) : FABL.minimumSignProbability π f ≤ T.errorProbability π f
Exercise 8.46(b) for a randomized depth-zero tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) : FABL.productVariance π f ≤ 2 * ∑ i, T.queryProbability π i * FABL.productInfluence π f i
theorem FABL.RandomizedDecisionTree.osss_up_to_two_from_error_induction.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) : FABL.productVariance π f ≤ 2 * ∑ i, T.queryProbability π i * FABL.productInfluence π f i
Exercise 8.46(c): the alternate argument yields OSSS up to a factor of two for a zero-error randomized tree.
-
theoremdefined in FABL/Chapter08/DecisionTreeInequalities.leancomplete
theorem FABL.RandomizedDecisionTree.osss_of_variance_eq_one.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) (_hvar : FABL.productVariance π f = 1) : FABL.productVariance π f ≤ ∑ i, T.queryProbability π i * FABL.productInfluence π f i
theorem FABL.RandomizedDecisionTree.osss_of_variance_eq_one.{u_1, u_2} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {π : PMF Ω} {ι : Type u_2} [Fintype ι] [Nonempty ι] [DecidableEq ι] (B : FABL.FiniteFourierBasis Ω π ι) {n : ℕ} {f : FABL.ProductL2 Ω n} (T : FABL.RandomizedDecisionTree Ω ℝ n f) (hf : FABL.HasSignRange f) (_hvar : FABL.productVariance π f = 1) : FABL.productVariance π f ≤ ∑ i, T.queryProbability π i * FABL.productInfluence π f i
Exercise 8.46(c): at variance one the exact OSSS constant is recovered.
-
FABL.osssCounterexampleAt[complete] -
FABL.osssCounterexampleTree[complete] -
FABL.osssCounterexampleRandomizedTreeAt[complete] -
FABL.variance_osssCounterexampleAt[complete] -
FABL.influence_osssCounterexampleAt_zero[complete] -
FABL.influence_osssCounterexampleAt_one[complete] -
FABL.influence_osssCounterexampleAt_two[complete] -
FABL.osssCounterexample[complete] -
FABL.osssCounterexample_violates_real_valued_extension[complete] -
FABL.osssBookCounterexample[complete] -
FABL.osssBookCounterexample_exact_ratio[complete] -
FABL.osssCounterexample_exact_ratio[complete] -
FABL.osssCounterexample_ratio_strictly_larger_than_book[complete]
Exercise 8.47. Construct an explicit real-valued
f:\{-1,1\}^n\to\mathbb R for which the Boolean-valued OSSS inequality
fails. Refine the construction so that the ratio of its two sides is
\sqrt{\frac{130+20\sqrt3}{157}}.
Lean code for Lemma8.7.48●13 declarations
Associated Lean declarations
-
FABL.osssCounterexampleAt[complete]
-
FABL.osssCounterexampleTree[complete]
-
FABL.osssCounterexampleRandomizedTreeAt[complete]
-
FABL.variance_osssCounterexampleAt[complete]
-
FABL.influence_osssCounterexampleAt_zero[complete]
-
FABL.influence_osssCounterexampleAt_one[complete]
-
FABL.influence_osssCounterexampleAt_two[complete]
-
FABL.osssCounterexample[complete]
-
FABL.osssCounterexample_violates_real_valued_extension[complete]
-
FABL.osssBookCounterexample[complete]
-
FABL.osssBookCounterexample_exact_ratio[complete]
-
FABL.osssCounterexample_exact_ratio[complete]
-
FABL.osssCounterexample_ratio_strictly_larger_than_book[complete]
-
FABL.osssCounterexampleAt[complete] -
FABL.osssCounterexampleTree[complete] -
FABL.osssCounterexampleRandomizedTreeAt[complete] -
FABL.variance_osssCounterexampleAt[complete] -
FABL.influence_osssCounterexampleAt_zero[complete] -
FABL.influence_osssCounterexampleAt_one[complete] -
FABL.influence_osssCounterexampleAt_two[complete] -
FABL.osssCounterexample[complete] -
FABL.osssCounterexample_violates_real_valued_extension[complete] -
FABL.osssBookCounterexample[complete] -
FABL.osssBookCounterexample_exact_ratio[complete] -
FABL.osssCounterexample_exact_ratio[complete] -
FABL.osssCounterexample_ratio_strictly_larger_than_book[complete]
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.osssCounterexampleAt (t : ℝ) : FABL.SignCube 3 → ℝ
def FABL.osssCounterexampleAt (t : ℝ) : FABL.SignCube 3 → ℝ
The real-valued function carried by the Figure 8.2 tree, with its last leaf value exposed as a parameter. In sign coordinates it is written in its six-term Walsh expansion.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.osssCounterexampleTree (t : ℝ) : FABL.FiniteAlphabetDecisionTree FABL.Sign ℝ 3
def FABL.osssCounterexampleTree (t : ℝ) : FABL.FiniteAlphabetDecisionTree FABL.Sign ℝ 3
The asymmetric six-leaf decision tree in Figure 8.2.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.osssCounterexampleRandomizedTreeAt (t : ℝ) : FABL.RandomizedDecisionTree FABL.Sign ℝ 3 (FABL.osssCounterexampleAt t)
def FABL.osssCounterexampleRandomizedTreeAt (t : ℝ) : FABL.RandomizedDecisionTree FABL.Sign ℝ 3 (FABL.osssCounterexampleAt t)
Point-mass randomized presentation of the Figure 8.2 tree at an arbitrary leaf value.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.variance_osssCounterexampleAt (t : ℝ) : FABL.variance (FABL.osssCounterexampleAt t) = (3 * t ^ 2 - 2 * t + 3) / 16
theorem FABL.variance_osssCounterexampleAt (t : ℝ) : FABL.variance (FABL.osssCounterexampleAt t) = (3 * t ^ 2 - 2 * t + 3) / 16
Variance of the parameterized counterexample.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.influence_osssCounterexampleAt_zero (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 0 = 1 / 8
theorem FABL.influence_osssCounterexampleAt_zero (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 0 = 1 / 8
The root-coordinate influence is constant in the leaf parameter.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.influence_osssCounterexampleAt_one (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 1 = (t ^ 2 - t + 1) / 8
theorem FABL.influence_osssCounterexampleAt_one (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 1 = (t ^ 2 - t + 1) / 8
The two non-root influences are equal.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.influence_osssCounterexampleAt_two (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 2 = (t ^ 2 - t + 1) / 8
theorem FABL.influence_osssCounterexampleAt_two (t : ℝ) : FABL.influence (FABL.osssCounterexampleAt t) 2 = (t ^ 2 - t + 1) / 8
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.osssCounterexample : FABL.SignCube 3 → ℝ
def FABL.osssCounterexample : FABL.SignCube 3 → ℝ
The explicit real-valued counterexample function.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.osssCounterexample_violates_real_valued_extension : ∑ i, FABL.osssCounterexampleRandomizedTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample i < FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample
theorem FABL.osssCounterexample_violates_real_valued_extension : ∑ i, FABL.osssCounterexampleRandomizedTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample i < FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample
Exercise 8.47: the sign-range hypothesis in OSSS is essential.
-
defdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
def FABL.osssBookCounterexample : FABL.SignCube 3 → ℝ
def FABL.osssBookCounterexample : FABL.SignCube 3 → ℝ
The book's requested real-valued counterexample.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.osssBookCounterexample_exact_ratio : FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssBookCounterexample / ∑ i, FABL.osssBookCounterexampleTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssBookCounterexample i = (130 + 20 * √3) / 157
theorem FABL.osssBookCounterexample_exact_ratio : FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssBookCounterexample / ∑ i, FABL.osssBookCounterexampleTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssBookCounterexample i = (130 + 20 * √3) / 157
Exercise 8.47's displayed exact ratio `(130 + 20√3) / 157`.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.osssCounterexample_exact_ratio : FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample / ∑ i, FABL.osssCounterexampleRandomizedTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample i = (42 + 2 * √33) / 51
theorem FABL.osssCounterexample_exact_ratio : FABL.productVariance (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample / ∑ i, FABL.osssCounterexampleRandomizedTree.queryProbability (FABL.uniformPMF FABL.Sign) i * FABL.productInfluence (FABL.uniformPMF FABL.Sign) FABL.osssCounterexample i = (42 + 2 * √33) / 51
The exact variance-to-weighted-influence ratio of the explicit example.
-
theoremdefined in FABL/Chapter08/DecisionTreeExercises.leancomplete
theorem FABL.osssCounterexample_ratio_strictly_larger_than_book : (130 + 20 * √3) / 157 < (42 + 2 * √33) / 51
theorem FABL.osssCounterexample_ratio_strictly_larger_than_book : (130 + 20 * √3) / 157 < (42 + 2 * √33) / 51
The optimized Figure 8.2 labels answer the final question in Exercise 8.47 affirmatively: the ratio can be made strictly larger than the displayed book value.
Whether the ratio in Exercise 8.47 can be made still larger is an open-ended question and supplies no production assumption.
Aaronson--Ambainis Conjecture (Aar08, AA11). If
f:\{-1,1\}^n\to[-1,1], then
\operatorname{MaxInf}[f]
\ge \operatorname{poly}
\left(\frac{\operatorname{Var}[f]}{\deg(f)}\right).
The external results of Ben-Or--Linial and Tardos give
\operatorname{RDT}(f)\ge\sqrt{\operatorname{DT}(f)}.
This bibliographic comparison is not used by any production proof.
The notes record the historical development of product-space Fourier analysis, biased threshold theory, finite-group harmonic analysis, randomized decision trees, OS/OSSS, and the best known recursive-majority and low-degree influence bounds. These attributions and research-status remarks supply no assumptions to the production library.