OAI/Computability/MaxCut/PCP/ClauseVerifier.lean
44 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.MaxCutGames.Foundations.PCP.ClauseAnswerline 10 - inductive
OAI.MaxCutGames.Foundations.PCP.Slotline 16 - def
OAI.MaxCutGames.Foundations.PCP.answerAtline 22 - def
OAI.MaxCutGames.Foundations.PCP.nameAtline 27 - def
OAI.MaxCutGames.Foundations.PCP.literalValueline 32 - def
OAI.MaxCutGames.Foundations.PCP.localSatisfiesline 35 - def
OAI.MaxCutGames.Foundations.PCP.honestAnswerline 40 - theorem
OAI.MaxCutGames.Foundations.PCP.honest_satisfiesline 44 - theorem
OAI.MaxCutGames.Foundations.PCP.honest_answerAtline 47 - def
OAI.MaxCutGames.Foundations.PCP.matchingSlotsline 52 - theorem
OAI.MaxCutGames.Foundations.PCP.matchingSlots_leline 57 - theorem
OAI.MaxCutGames.Foundations.PCP.matchingSlots_eq_threeline 62 - def
OAI.MaxCutGames.Foundations.PCP.acceptedSlotsline 67 - def
OAI.MaxCutGames.Foundations.PCP.clauseFailureline 70 - theorem
OAI.MaxCutGames.Foundations.PCP.local_rejection_boundline 74Source documentation
A failed Bob clause forces one rejection among its three incidence events.
theorem local_rejection_bound {n : Nat} (clause : Clause n) (alice : ClauseAnswer) (bob : Fin n → Bool) : acceptedSlots clause alice (honestAnswer clause bob) + clauseFailure clause bob ≤ 3 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.ClauseAnswer, OAI.MaxCutGames.Foundations.PCP.acceptedSlots, OAI.MaxCutGames.Foundations.PCP.honestAnswer, OAI.MaxCutGames.Foundations.PCP.clauseFailure
- def
OAI.MaxCutGames.Foundations.PCP.clauseAtline 96 - abbrev
OAI.MaxCutGames.Foundations.PCP.RandomEventline 99 - abbrev
OAI.MaxCutGames.Foundations.PCP.AliceStrategyline 100 - abbrev
OAI.MaxCutGames.Foundations.PCP.BobStrategyline 101 - def
OAI.MaxCutGames.Foundations.PCP.acceptsline 105Source documentation
Explicit finite verifier. The occurrence and slot are randomness, never an additional argument supplied to Bob's strategy.
def accepts (formula : Formula) (alice : AliceStrategy formula) (bob : BobStrategy formula) (event : RandomEvent formula) : Bool := …Mentions: OAI.MaxCutGames.Foundations.PCP.AliceStrategy, OAI.MaxCutGames.Foundations.PCP.BobStrategy, OAI.MaxCutGames.Foundations.PCP.RandomEvent
- def
OAI.MaxCutGames.Foundations.PCP.acceptedCountline 110 - def
OAI.MaxCutGames.Foundations.PCP.failureCountline 116 - theorem
OAI.MaxCutGames.Foundations.PCP.total_rejection_boundline 121 - def
OAI.MaxCutGames.Foundations.PCP.allIndicesline 132 - theorem
OAI.MaxCutGames.Foundations.PCP.hastad_basic_verifier_soundnessline 137Source documentation
Count form of Håstad Lemma 3.1: a fraction
a/bof failed clauses gives a fraction at leasta/(3*b)of failed verifier events.theorem hastad_basic_verifier_soundness (formula : Formula) (a b : Nat) (sourceGap : ∀ bob : BobStrategy formula, a * formula.clauses.length ≤ b * failureCount formula bob (allIndices formula)) (alice : AliceStrategy formula) (bob : BobStrategy formula) : b * acceptedCount formula alice bob (allIndices formula) + a * formula.clauses.length ≤ b * (3 * formula.clauses.length) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.BobStrategy, OAI.MaxCutGames.Foundations.PCP.failureCount, OAI.MaxCutGames.Foundations.PCP.allIndices, OAI.MaxCutGames.Foundations.PCP.AliceStrategy, OAI.MaxCutGames.Foundations.PCP.acceptedCount
- theorem
OAI.MaxCutGames.Foundations.PCP.honest_acceptsline 148 - theorem
OAI.MaxCutGames.Foundations.PCP.verifier_completenessline 157Source documentation
Pointwise perfect completeness, including the exact input syntax.
theorem verifier_completeness (formula : Formula) (sat : formula.Satisfiable) : ∃ (alice : AliceStrategy formula) (bob : BobStrategy formula), ∀ event : RandomEvent formula, accepts formula alice bob event = true := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AliceStrategy, OAI.MaxCutGames.Foundations.PCP.BobStrategy, OAI.MaxCutGames.Foundations.PCP.RandomEvent, OAI.MaxCutGames.Foundations.PCP.accepts
- abbrev
OAI.MaxCutGames.Foundations.PCP.LeftLabelline 166Source documentation
The valid left labels and projection maps give the concrete Label Cover presentation. Their alphabet depends on the clause, with at most 8 bit triples.
abbrev LeftLabel (formula : Formula) (i : Fin formula.clauses.length) := …
- def
OAI.MaxCutGames.Foundations.PCP.edgeProjectionline 169 - theorem
OAI.MaxCutGames.Foundations.PCP.verifier_eq_projectionline 172 - def
OAI.MaxCutGames.Foundations.PCP.eventsAtline 180Source documentation
A materialized list of all three slot events at an occurrence.
def eventsAt (formula : Formula) (i : Fin formula.clauses.length) : List (RandomEvent formula) := …
- def
OAI.MaxCutGames.Foundations.PCP.enumerateEventsline 183 - theorem
OAI.MaxCutGames.Foundations.PCP.length_enumerateEventsline 188 - theorem
OAI.MaxCutGames.Foundations.PCP.accepted_eventsAtline 197 - theorem
OAI.MaxCutGames.Foundations.PCP.accepted_enumerateEventsline 211Source documentation
The rejection-count proof counts exactly the explicit verifier's accepted random events; it is not a separate abstract score.
theorem accepted_enumerateEvents (formula : Formula) (alice : AliceStrategy formula) (bob : BobStrategy formula) (indices : List (Fin formula.clauses.length)) : ((enumerateEvents formula indices).filter (accepts formula alice bob)).length = acceptedCount formula alice bob indices := by …Mentions: OAI.MaxCutGames.Foundations.PCP.AliceStrategy, OAI.MaxCutGames.Foundations.PCP.BobStrategy, OAI.MaxCutGames.Foundations.PCP.enumerateEvents, OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.acceptedCount
- def
OAI.MaxCutGames.Foundations.PCP.allEventsline 221 - theorem
OAI.MaxCutGames.Foundations.PCP.length_allEventsline 224 - theorem
OAI.MaxCutGames.Foundations.PCP.allEvents_nonemptyline 228 - theorem
OAI.MaxCutGames.Foundations.PCP.verifier_event_soundnessline 240Source documentation
Soundness stated solely in terms of filtering the generated event list. For
b>0and a nonempty input, division byb*|allEvents|gives the usual normalized acceptance probability.theorem verifier_event_soundness (formula : Formula) (a b : Nat) (sourceGap : ∀ bob : BobStrategy formula, a * formula.clauses.length ≤ b * failureCount formula bob (allIndices formula)) (alice : AliceStrategy formula) (bob : BobStrategy formula) : b * ((allEvents formula).filter (accepts formula alice bob)).length + a * formula.clauses.length ≤ b * (allEvents formula).length := by …Mentions: OAI.MaxCutGames.Foundations.PCP.BobStrategy, OAI.MaxCutGames.Foundations.PCP.failureCount, OAI.MaxCutGames.Foundations.PCP.allIndices, OAI.MaxCutGames.Foundations.PCP.AliceStrategy, OAI.MaxCutGames.Foundations.PCP.allEvents, OAI.MaxCutGames.Foundations.PCP.accepts
- def
OAI.MaxCutGames.Foundations.PCP.occurrencesAtline 251Source documentation
Count the syntactic occurrences of one variable in each three-slot clause.
def occurrencesAt {n : Nat} (clause : Clause n) (v : Fin n) : Nat := … - def
OAI.MaxCutGames.Foundations.PCP.occurrenceCountline 256 - theorem
OAI.MaxCutGames.Foundations.PCP.variable_eventsAtline 261 - theorem
OAI.MaxCutGames.Foundations.PCP.variable_enumerateEventsline 271 - theorem
OAI.MaxCutGames.Foundations.PCP.regular_bob_marginalline 282