OAI/Computability/MaxCut/PCP/PoweringDecoding.lean
83 declarations, 0 contain sorry, 0 declared as axioms
Modal decoding is an actual maximum of finite empirical letter masses. Its reciprocal-alphabet lower bound is derived from their total mass one.
- def
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.massline 15 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.mass_sumline 20 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.exists_modeline 35 - def
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.modeline 41 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.mode_maxline 44 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.mode_mass_lowerline 48 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringDecoding.exists_letter_mass_lowerline 59 - def
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bitline 75 - def
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.hitsline 79 - def
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.meanline 82 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit_nonnegline 84 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit_sqline 88 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit_mulline 92 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit_monoline 96 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.hits_nonnegline 104 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.mean_nonnegline 107 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.mean_hitsline 110 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.second_moment_eqline 114 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.mean_witness_sq_leline 122 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringMoment.rejection_lower_boundline 154 - def
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.portConsEquivline 184 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_word_cons_headline 197 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_word_cons_tailline 205 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.iterateOperator_succ_rightline 213 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_wordEndline 220 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_pivot_endpointsline 242Source documentation
Conditional endpoint factorization at an arbitrary fixed pivot dart.
theorem mean_pivot_endpoints [Fintype D] [Nonempty D] (G : PortGraph V D) : ∀ (n : Nat) (k : Fin (n + 1)) (e : Edge V D) (φ ψ : V → ℝ), mean (fun r : Fin n → D => φ (leftFromPivot G n k e.1 r) * ψ (rightFromPivot G n k e r)) = iterateOperator G k.val φ e.1 * iterateOperator G (n - k.val) ψ (next G e.1 e.2) := by … - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_edge_endpointsline 285Source documentation
The pivot and both endpoint opinions are averaged over actual walks.
theorem mean_edge_endpoints [Fintype V] [Fintype D] [Nonempty D] (G : PortGraph V D) (n : Nat) (k : Fin (n + 1)) (φ ψ : Edge V D → V → ℝ) : mean (fun w : Walk V D (n + 1) => φ (edgeAt G n w k) w.1 * ψ (edgeAt G n w k) (endpoint G w)) = mean (fun e : Edge V D => iterateOperator G k.val (φ e) e.1 * iterateOperator G (n - k.val) (ψ e) (next G e.1 e.2)) := by … - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.bit_boolline 309 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_edge_bitline 312 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.mean_marked_bitline 316 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.edgeAt_zeroline 326 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.word_first_hit_meanline 330 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.word_hit_meanline 341 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.word_pair_hit_meanline 368 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.hit_meanline 426 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.pair_hit_meanline 442 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReturn.pair_event_meanline 463 - def
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.opinionAtline 487Source documentation
Outside the full-radius neighborhood a fixed fallback makes the opinion function total. Actual tested path vertices will be certified inside it.
def opinionAt (G : PortGraph V D) (t : Nat) (selectors : ∀ v, AddressSelector G t v) (labels : V → PaddedLabel D t A) (fallback : A) (u v : V) : A := by … - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.opinionAt_eq_decodeline 494 - def
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.honestLabelsline 502 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.opinionAt_honestline 505 - def
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.sampleOpinionline 515 - def
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.decodedline 520 - def
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.matchFnline 525 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.matchFn_mem_Iccline 531 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.decoded_modal_baselineline 542Source documentation
The reference-length modal lower bound is proved from actual port samples.
theorem decoded_modal_baseline (G : PortGraph V D) (t N : Nat) (selectors : ∀ v, AddressSelector G t v) (labels : V → PaddedLabel D t A) (fallback : A) (u : V) : 1 / (Fintype.card A : ℝ) ≤ iterateOperator G N (matchFn G t N selectors labels fallback u) u := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.matchFn
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.decoded_modal_nearline 553Source documentation
Actual decoded letters retain positive mass throughout the middle window.
theorem decoded_modal_near (G : PortGraph V D) (t M m : Nat) (selectors : ∀ v, AddressSelector (lazyGraph G) t v) (labels : V → PaddedLabel (Bool × D) t A) (fallback : A) (hM : 1 ≤ M) (hlo : (4 * Fintype.card A * M) ^ 2 - M ≤ m) (hhi : m ≤ (4 * Fintype.card A * M) ^ 2 + M) (u : V) : 1 / (2 * (Fintype.card A : ℝ)) ≤ iterateOperator (lazyGraph G) m (matchFn (lazyGraph G) t ((4 * Fintype.card A * M) ^ 2) selectors labels fallback u) u := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PoweringOpinions.matchFn
- def
OAI.MaxCutGames.Foundations.PCP.PoweringReach.ReachLEline 588 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reach_reflline 591 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reach_monoline 594 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reach_prependline 599 - def
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reversePortsline 607Source documentation
Reversal records each arrival port, not the original outgoing port.
def reversePorts (G : PortGraph V D) : V → List D → List D | _, [] => [] | v, d :: ds => reversePorts G (next G v d) ds ++ [(G.rot (v, d)).2]
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reversePorts_lengthline 611 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.walkEnd_reversePortsline 617 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.wordEnd_eq_walkEnd_ofFnline 628 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.reach_reverseline 638 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.tail_reachline 651Source documentation
The actual prefix places each traversed edge's tail in the start ball.
theorem tail_reach (G : PortGraph V D) : ∀ (n : Nat) (w : Walk V D (n + 1)) (k : Fin (n + 1)), ReachLE G (n + 1) w.1 (edgeAt G n w k).1 := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PoweringReach.ReachLE
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.head_reach_endpointline 666Source documentation
The suffix proceeds from the traversed edge's head to the walk endpoint.
theorem head_reach_endpoint (G : PortGraph V D) : ∀ (n : Nat) (w : Walk V D (n + 1)) (k : Fin (n + 1)), ReachLE G (n + 1) (G.rot (edgeAt G n w k)).1 (endpoint G w) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.PoweringReach.ReachLE
- def
OAI.MaxCutGames.Foundations.PCP.PoweringReach.tailFromStartline 680 - def
OAI.MaxCutGames.Foundations.PCP.PoweringReach.headFromEndline 684 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.tailFromStart_valline 688 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringReach.headFromEnd_valline 692 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.baseGraphline 718Source documentation
The base port predicates packaged as a constraint graph.
def baseGraph (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (reverse_accepts : ∀ e a b, accepts (G.rot e) b a = accepts e a b) : ConstraintGraph V (Edge V D) A where …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.ConstraintGraph
- def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAcceptsline 729Source documentation
Check all base constraints along the recorded walk. The reach certificates select genuine vertices in the two full-radius neighborhood balls.
def pathAccepts (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (w : Walk V D (n + 1)) (a b : PaddedLabel D (n + 1) A) : Bool := …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts_eq_true_iffline 737 - abbrev
OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dartline 748 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.reverseDartline 751Source documentation
Reversal preserves the recorded walk and changes its direction flag.
def reverseDart (V D : Type*) (n : Nat) : Dart V D n ≃ Dart V D n where …
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.reverseDart_involutiveline 761 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraphline 768Source documentation
An actual powered constraint graph, with a common raw alphabet at all vertices. Its reversal law is witnessed by the orientation bit.
def poweredGraph (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) : ConstraintGraph V (Dart V D n) (PaddedLabel D (n + 1) A) where …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.ConstraintGraph, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph_tail_falseline 780 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph_tail_trueline 785 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph_edgeSatisfiedline 792Source documentation
Both directed copies evaluate the same original-start/original-end path test. Uniformly doubling the darts therefore introduces no change of event.
theorem poweredGraph_edgeSatisfied (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (labels : V → PaddedLabel D (n + 1) A) (direction : Bool) (w : Walk V D (n + 1)) : (poweredGraph G accepts n selectors).edgeSatisfied labels (direction, w) = pathAccepts G accepts n selectors w (labels w.1) (labels (endpoint G w)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph, OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.rejection_mean_eq_path_meanline 804Source documentation
The actual directed-dart rejection average is exactly the recorded-walk rejection average. Only the orientation-bit average is removed, so the vertex type and the walk type are allowed to be empty.
theorem rejection_mean_eq_path_mean [Fintype V] [Fintype D] (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (labels : V → PaddedLabel D (n + 1) A) : SpectralReturn.mean (fun d : Dart V D n => PoweringMoment.bit ((poweredGraph G accepts n selectors).edgeSatisfied labels d = false)) = SpectralReturn.mean (fun w : Walk V D (n + 1) => PoweringMoment.bit (pathAccepts G accepts n selectors w (labels w.1) (labels (endpoint G w)) = false)) := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.SpectralReturn.mean, OAI.MaxCutGames.Foundations.PCP.PoweringTest.Dart, OAI.MaxCutGames.Foundations.PCP.PoweringMoment.bit, OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph, OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts_honestline 815 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.perfect_completenessline 830Source documentation
Perfect completeness for the actual powered graph and its common alphabet.
theorem perfect_completeness (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (assignment : V → A) (satisfies : ∀ e, accepts e (assignment e.1) (assignment (G.rot e).1) = true) : ∀ d, (poweredGraph G accepts n selectors).edgeSatisfied (honestLabels G (n + 1) assignment) d = true := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.preserves_satisfiabilityline 841 - def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.decodedBadline 854Source documentation
Badness is computed from the actual base predicate and the decoded labels.
def decodedBad (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (assignment : V → A) (e : Edge V D) : Bool := …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.decodedBad_eq_true_iffline 858 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.decodedBad_rotline 865Source documentation
The base reversal law makes the decoded bad-edge event rotor-invariant.
theorem decodedBad_rot (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (reverse_accepts : ∀ e a b, accepts (G.rot e) b a = accepts e a b) (assignment : V → A) (e : Edge V D) : decodedBad G accepts assignment (G.rot e) = decodedBad G accepts assignment e := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTest.decodedBad
- def
OAI.MaxCutGames.Foundations.PCP.PoweringTest.witnessline 875Source documentation
A bad decoded edge with matching opinions at its two true endpoints.
noncomputable def witness (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (labels : V → PaddedLabel D (n + 1) A) (fallback : A) (assignment : V → A) (w : Walk V D (n + 1)) (k : Fin (n + 1)) : Prop := …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.witness_badline 887 - theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.witness_implies_path_rejectionline 897Source documentation
The witness forces failure of the actual kth checked path constraint. The opinion/decode identities use the genuine reach certificates.
theorem witness_implies_path_rejection (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (labels : V → PaddedLabel D (n + 1) A) (fallback : A) (assignment : V → A) (w : Walk V D (n + 1)) (k : Fin (n + 1)) (h : witness G accepts n selectors labels fallback assignment w k) : pathAccepts G accepts n selectors w (labels w.1) (labels (endpoint G w)) = false := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTest.witness, OAI.MaxCutGames.Foundations.PCP.PoweringTest.pathAccepts
- theorem
OAI.MaxCutGames.Foundations.PCP.PoweringTest.witness_implies_rejectionline 925Source documentation
Rejection inclusion for the actual powered graph, derived from its test.
theorem witness_implies_rejection (G : PortGraph V D) (accepts : Edge V D → A → A → Bool) (n : Nat) (selectors : ∀ v, AddressSelector G (n + 1) v) (labels : V → PaddedLabel D (n + 1) A) (fallback : A) (assignment : V → A) (w : Walk V D (n + 1)) (k : Fin (n + 1)) (h : witness G accepts n selectors labels fallback assignment w k) (direction : Bool) : (poweredGraph G accepts n selectors).edgeSatisfied labels (direction, w) = false := by …Mentions: OAI.MaxCutGames.Foundations.PCP.accepts, OAI.MaxCutGames.Foundations.PCP.PoweringTest.witness, OAI.MaxCutGames.Foundations.PCP.PoweringTest.poweredGraph