The complexity class BPP
Lax666725.RandomizedPolynomialTime · concepts/Lax666725/RandomizedPolynomialTime.lean · lax-666725
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
A binary language belongs to if a probabilistic Turing machine, running in polynomial time on every branch, answers correctly with probability at least on every input. Both false acceptance and false rejection are allowed, each with probability at most on the corresponding inputs. Languages are exactly those of .
Concept map
Lean source view on GitHub
| 1 | import Lax666725.ProbabilisticMachines |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: The complexity class BPP |
| 6 | type: definition |
| 7 | --- |
| 8 | A binary language belongs to if a probabilistic Turing |
| 9 | machine, running in polynomial time on every branch, answers correctly |
| 10 | with probability at least on every input. Both false acceptance and |
| 11 | false rejection are allowed, each with probability at most on the |
| 12 | corresponding inputs. Languages are exactly those of |
| 13 | `Lax434930.PolynomialTime.Language`. |
| 14 | -/ |
| 15 | |
| 16 | namespace Lax666725.RandomizedPolynomialTime |
| 17 | |
| 18 | open Lax434930.PolynomialTime ProbabilisticMachines |
| 19 | |
| 20 | def BPP : Set Language := |
| 21 | {L | ∃ A : Procedure Bool, ∀ x, (2 / 3 : ℚ) ≤ A.probability x (Correct L x)} |
| 22 | |
| 23 | end Lax666725.RandomizedPolynomialTime |
| 24 |
Builds on
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments