Repetition of local proof tests
Lax323828.TestRepetition · concepts/Lax323828/TestRepetition.lean · lax-323828
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Repeat a verifier times against the same global proof and accept only when every run accepts. Accepting local views are unions of compatible base views. The acceptance probability of each fixed proof is raised to the th power, and base accepting views give at most repeated views per random choice. Perfect completeness is preserved.
This is repetition of a one-oracle PCP verifier. It is distinct from the two-prover parallel-repetition theorem, whose strategies may depend on entire question tuples.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax323828.TestSampling |
| 2 | import Mathlib.Algebra.BigOperators.Fin |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Repetition of local proof tests |
| 7 | type: theorem |
| 8 | --- |
| 9 | Repeat a verifier times against the same global proof and accept only |
| 10 | when every run accepts. Accepting local views are unions of compatible |
| 11 | base views. The acceptance probability of each fixed proof is raised to |
| 12 | the th power, and base accepting views give at most repeated |
| 13 | views per random choice. Perfect completeness is preserved. |
| 14 | |
| 15 | This is repetition of a one-oracle PCP verifier. It is distinct from the |
| 16 | two-prover parallel-repetition theorem, whose strategies may depend on |
| 17 | entire question tuples. |
| 18 | -/ |
| 19 | |
| 20 | namespace Lax323828.TestRepetition |
| 21 | |
| 22 | open scoped Classical |
| 23 | |
| 24 | open LocalTests TestSampling FiniteProbability |
| 25 | |
| 26 | /-- Every pair of local views gives the same answer wherever both are defined. -/ |
| 27 | def Coherent {m k : ℕ} (a : Fin k → View m) : Prop := |
| 28 | ∀ i j, Compatible (a i) (a j) |
| 29 | |
| 30 | /-- Combine the views into one partial assignment, using the first available answer at each coordinate. -/ |
| 31 | def merge {m : ℕ} : {k : ℕ} → (Fin k → View m) → View m |
| 32 | | 0, _ => fun _ ↦ none |
| 33 | | k + 1, a => fun i ↦ (a 0 i).or (merge (fun j : Fin k ↦ a j.succ) i) |
| 34 | |
| 35 | /-- Number the `r^k` sequences of `k` random choices using their base-`r` digits. -/ |
| 36 | def seedEquiv (r k : ℕ) : (Fin k → Fin r) ≃ Fin (r ^ k) := |
| 37 | finFunctionFinEquiv |
| 38 | |
| 39 | /-- Keep every coherent combination of accepting views from the `k` runs, and merge each combination. -/ |
| 40 | noncomputable def repeated {r m : ℕ} (C : System r m) (k : ℕ) : System (r ^ k) m := |
| 41 | ⟨fun z ↦ ((Fintype.piFinset (fun i : Fin k ↦ C.accepting ((seedEquiv r k).symm z i))).filter |
| 42 | Coherent).image merge⟩ |
| 43 | |
| 44 | axiom passes_iff {r m : ℕ} (C : System r m) (k : ℕ) (π : Oracle m) (z : Fin (r ^ k)) : |
| 45 | Passes (repeated C k) π z ↔ ∀ i, Passes C π ((seedEquiv r k).symm z i) |
| 46 | |
| 47 | axiom acceptance_probability {r m : ℕ} (C : System r m) (k : ℕ) (π : Oracle m) : |
| 48 | probability (Passes (repeated C k) π) = probability (Passes C π) ^ k |
| 49 | |
| 50 | axiom free_bits {r m : ℕ} (C : System r m) (k A : ℕ) |
| 51 | (hA : ∀ z, (C.accepting z).card ≤ A) : |
| 52 | ∀ z, ((repeated C k).accepting z).card ≤ A ^ k |
| 53 | |
| 54 | axiom perfect_completeness {r m : ℕ} (C : System r m) (k : ℕ) (hC : Complete C) : |
| 55 | Complete (repeated C k) |
| 56 | |
| 57 | axiom soundness {r m : ℕ} (C : System r m) (k : ℕ) (p : ℝ) (hp : 0 ≤ p) |
| 58 | (hC : Sound C p) : Sound (repeated C k) (p ^ k) |
| 59 | |
| 60 | end Lax323828.TestRepetition |
| 61 |
Builds on
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments