OAI/Dynamics/SmoothObstruction/Sampling.lean
56 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.SmoothObstruction.SymplecticSampling.bit_casesline 11 - lemma
OAI.SmoothObstruction.SymplecticSampling.bit_oneline 15 - lemma
OAI.SmoothObstruction.SymplecticSampling.bit_negline 17 - lemma
OAI.SmoothObstruction.SymplecticSampling.add_selfline 22 - lemma
OAI.SmoothObstruction.SymplecticSampling.alt_symmline 25 - lemma
OAI.SmoothObstruction.SymplecticSampling.transvection_preservesline 29 - lemma
OAI.SmoothObstruction.SymplecticSampling.transvection_movesline 40 - lemma
OAI.SmoothObstruction.SymplecticSampling.exists_pairing_oneline 46 - lemma
OAI.SmoothObstruction.SymplecticSampling.common_pairing_oneline 52 - theorem
OAI.SmoothObstruction.SymplecticSampling.symplectic_transitiveline 66Source documentation
Explicit symplectic transitivity in characteristic two, using at most two transvections. This proves the uniform one-label marginal input to the actual sequential word sampling, without assuming a symplectic-basis theorem.
theorem symplectic_transitive {B : LinearMap.BilinForm (ZMod 2) V} (hB : B.IsAlt) (hnd : B.Nondegenerate) {v w : V} (hv : v ≠ 0) (hw : w ≠ 0) : ∃ e : V ≃ₗ[ZMod 2] V, e v = w ∧ ∀ x y, B (e x) (e y) = B x y := by … - def
OAI.SmoothObstruction.SymplecticSampling.nonzeroKerEquivline 85 - lemma
OAI.SmoothObstruction.SymplecticSampling.card_nonzero_kerline 98 - theorem
OAI.SmoothObstruction.SymplecticSampling.common_kernel_lowerline 106Source documentation
At most k linear equations remove at most k binary dimensions, even when they are dependent. The zero vector is then removed exactly once.
theorem common_kernel_lower {k : ℕ} (f : V →ₗ[ZMod 2] (Fin k → ZMod 2)) : 2 ^ (Module.finrank (ZMod 2) V - k) ≤ Fintype.card {v : V // v ≠ 0 ∧ f v = 0} + 1 := by … - theorem
OAI.SmoothObstruction.SymplecticSampling.common_kernel_choicesline 120Source documentation
The quantitative bound actually used in source (word-choices), with the original nonzero alphabet and dependent equations allowed.
theorem common_kernel_choices {k : ℕ} (f : V →ₗ[ZMod 2] (Fin k → ZMod 2)) (hk : 1 ≤ k) (hd : k + 1 ≤ Module.finrank (ZMod 2) V) : Fintype.card {v : V // v ≠ 0} ≤ 2 ^ (2 * k) * Fintype.card {v : V // v ≠ 0 ∧ f v = 0} := by … - def
OAI.SmoothObstruction.SymplecticSampling.allowedline 143Source documentation
The exact nonzero choices, not an independent-equations approximation.
noncomputable def allowed {k : ℕ} (u : Fin k → V) : Finset {v : V // v ≠ 0} := … - def
OAI.SmoothObstruction.SymplecticSampling.equationMapline 146 - lemma
OAI.SmoothObstruction.SymplecticSampling.mem_allowedline 149 - lemma
OAI.SmoothObstruction.SymplecticSampling.allowed_cardline 154 - lemma
OAI.SmoothObstruction.SymplecticSampling.allowed_nonemptyline 167 - def
OAI.SmoothObstruction.SymplecticSampling.kernelline 177Source documentation
Uniform sampling among all allowed nonzero labels.
noncomputable def kernel {k : ℕ} (u : Fin k → V) (v : {v : V // v ≠ 0}) : ℝ := … - lemma
OAI.SmoothObstruction.SymplecticSampling.kernel_nonnegline 180 - lemma
OAI.SmoothObstruction.SymplecticSampling.kernel_sumline 185 - lemma
OAI.SmoothObstruction.SymplecticSampling.kernel_upperline 193 - def
OAI.SmoothObstruction.SymplecticSampling.nonzeroEquivline 213 - lemma
OAI.SmoothObstruction.SymplecticSampling.allowed_equivariantline 220 - lemma
OAI.SmoothObstruction.SymplecticSampling.allowed_card_equivariantline 225 - lemma
OAI.SmoothObstruction.SymplecticSampling.kernel_equivariantline 233 - def
OAI.SmoothObstruction.SequentialLaw.weightline 248Source documentation
A finite left-to-right sampling law. The kernel at time k may depend on all k preceding labels; no independence inside a group is assumed.
def weight (K : (k : ℕ) → (Fin k → A) → A → ℝ) : (n : ℕ) → (Fin n → A) → ℝ | 0, _ => 1 | n + 1, w => weight K n (Fin.init w) * K n (Fin.init w) (w (Fin.last n))
- lemma
OAI.SmoothObstruction.SequentialLaw.weight_zeroline 252 - lemma
OAI.SmoothObstruction.SequentialLaw.weight_snocline 255 - lemma
OAI.SmoothObstruction.SequentialLaw.weight_nonnegline 260 - lemma
OAI.SmoothObstruction.SequentialLaw.snoc_equiv_applyline 268 - lemma
OAI.SmoothObstruction.SequentialLaw.sum_weightline 271 - def
OAI.SmoothObstruction.SequentialLaw.markline 285 - def
OAI.SmoothObstruction.SequentialLaw.testline 290 - lemma
OAI.SmoothObstruction.SequentialLaw.mark_nonnegline 294 - lemma
OAI.SmoothObstruction.SequentialLaw.test_nonnegline 300 - lemma
OAI.SmoothObstruction.SequentialLaw.test_snocline 304 - lemma
OAI.SmoothObstruction.SequentialLaw.sum_test_succline 311 - theorem
OAI.SmoothObstruction.SequentialLaw.cylinder_boundline 329Source documentation
Any list of specified coordinates has probability at most the product of the pointwise conditional upper bounds. Unspecified labels are integrated out, exactly as in (word-raw-sublist).
theorem cylinder_bound {K : (k : ℕ) → (Fin k → A) → A → ℝ} {ζ : ℝ} (h0 : ∀ k w a, 0 ≤ K k w a) (h1 : ∀ k w, ∑ a, K k w a = 1) (hζ : 0 ≤ ζ) (hK : ∀ k w a, K k w a ≤ ζ) : ∀ n (m : Fin n → Option A), (∑ w, weight K n w * test m w) ≤ ∏ i, (if (m i).isSome then ζ else 1) := by …Mentions: OAI.SmoothObstruction.SequentialLaw.weight, OAI.SmoothObstruction.SequentialLaw.test
- lemma
OAI.SmoothObstruction.SequentialLaw.weight_equivariantline 357 - lemma
OAI.SmoothObstruction.SequentialLaw.test_eq_indicatorline 369 - lemma
OAI.SmoothObstruction.SequentialLaw.test_upper_powline 377 - def
OAI.SmoothObstruction.SequentialLaw.marginalline 387Source documentation
The unconditioned one-coordinate law; the complete path is summed out.
def marginal (K : (k : ℕ) → (Fin k → A) → A → ℝ) {n : ℕ} (i : Fin n) (a : A) : ℝ := … - lemma
OAI.SmoothObstruction.SequentialLaw.sum_marginalline 390 - lemma
OAI.SmoothObstruction.SequentialLaw.marginal_equivariantline 398 - theorem
OAI.SmoothObstruction.SequentialLaw.uniform_marginalline 411Source documentation
Equivariance under a transitive collection of label permutations gives exactly uniform marginals, despite arbitrary dependencies between positions.
theorem uniform_marginal [Nonempty A] {K : (k : ℕ) → (Fin k → A) → A → ℝ} (h1 : ∀ k w, ∑ a, K k w a = 1) (htrans : ∀ a b : A, ∃ e : A ≃ A, e a = b ∧ ∀ k w x, K k (e ∘ w) (e x) = K k w x) {n : ℕ} (i : Fin n) (a : A) : marginal K i a = 1 / Fintype.card A := by … - def
OAI.SmoothObstruction.GroupSampler.previousline 438Source documentation
At time t, at most K earlier positions are constrained. None represents an absent constraint, whose equation is identically zero.
def previous (back : (t : ℕ) → Fin K → Option (Fin t)) (t : ℕ) (w : Fin t → {v : V // v ≠ 0}) (j : Fin K) : V := … - def
OAI.SmoothObstruction.GroupSampler.stepline 442 - lemma
OAI.SmoothObstruction.GroupSampler.step_sumline 446 - lemma
OAI.SmoothObstruction.GroupSampler.previous_equivariantline 451 - lemma
OAI.SmoothObstruction.GroupSampler.step_equivariantline 457 - theorem
OAI.SmoothObstruction.GroupSampler.uniform_positionline 466Source documentation
The actual sequential sampling has exactly uniform one-position laws. This is not a product law inside a group.
theorem uniform_position (hB : B.IsAlt) (hnd : B.Nondegenerate) (back : (t : ℕ) → Fin K → Option (Fin t)) (hd : K + 1 ≤ Module.finrank (ZMod 2) V) {n : ℕ} (i : Fin n) (a : {v : V // v ≠ 0}) : marginal (step B back) i a = 1 / Fintype.card {v : V // v ≠ 0} := by …Mentions: OAI.SmoothObstruction.GroupSampler.step
- theorem
OAI.SmoothObstruction.GroupSampler.raw_sublistline 479Source documentation
All sublist probabilities have the source bound, even though prior constraints can be linearly dependent and unobserved labels are integrated out.
theorem raw_sublist (back : (t : ℕ) → Fin K → Option (Fin t)) (hK : 1 ≤ K) (hd : K + 1 ≤ Module.finrank (ZMod 2) V) (n : ℕ) (m : Fin n → Option {v : V // v ≠ 0}) : (∑ w, weight (step B back) n w * test m w) ≤ ((2 : ℝ) ^ (2 * K) / Fintype.card {v : V // v ≠ 0}) ^ (univ.filter (fun i => (m i).isSome)).card := by …Mentions: OAI.SmoothObstruction.GroupSampler.step
- lemma
OAI.SmoothObstruction.GroupSampler.step_positive_constraintline 491 - theorem
OAI.SmoothObstruction.GroupSampler.supported_constraintsline 502Source documentation
Positively weighted paths satisfy every prescribed relation.
theorem supported_constraints (back : (t : ℕ) → Fin K → Option (Fin t)) : ∀ n (w : Fin n → {v : V // v ≠ 0}), 0 < weight (step B back) n w → ∀ (t : Fin n) (j : Fin K) (r : Fin t.val), back t.val j = some r → B (w ⟨r.val, lt_trans r.isLt t.isLt⟩).val (w t).val = 0 := by …Mentions: OAI.SmoothObstruction.GroupSampler.step