OAI/Computability/UniqueGames/PCP/GenericGraphTables.lean
67 declarations, 0 contain sorry, 0 declared as axioms
Executable directed graph tables over a fixed finite alphabet
The alphabet size q is fixed by the encoding, not encoded as a variable input
field. The header stores vertex and directed-dart counts. Each ordered dart row
stores its tail, reverse index, and every q*q predicate bit in order b+q*a.
All fields use the existing unary natural-word codec. Decoding validates graph
laws and preserves loops and repeated darts. Size bounds count the complete
serialized table and make no running-time assertion.
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Labelline 22 - abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.RelationTableline 23 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationIndexline 28Source documentation
The fixed row-major ordering of the complete predicate table.
def relationIndex (q : Nat) : (Label q) × (Label q) ≃ Fin (q * q) := finProdFinEquiv
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Label
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationIndex_valline 30 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationAtline 33 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationOfline 36 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationAt_relationOfline 39 - structure
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.DartRowline 44Source documentation
The row itself is finite data; index bounds are checked while parsing.
structure DartRow (q vertices darts : Nat) where …
- abbrev
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Rowsline 49 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.reverseAtline 51 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.acceptsAtline 54 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Validline 58Source documentation
The two graph laws are decidable finite checks on the stored rows.
def Valid {n m : Nat} (rows : Rows q n m) : Prop := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Rows
- instance
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.(instance at line 62)line 62 - structure
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Tableline 66 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowListline 73Source documentation
The ordered list serialized by the codec. Equal rows remain separate.
def rowList (table : (Table q)) : List (DartRow q table.vertices table.darts) := table.rows.toList
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.DartRow
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowList_lengthline 75 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semanticsline 79Source documentation
Decode validated finite data into the actual constraint-graph semantics.
def semantics (table : (Table q)) : ConstraintGraph (Fin table.vertices) (Fin table.darts) (Label q) where …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Label
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_reverseline 90 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_tailline 93 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_acceptsline 96 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.graphRowsline 99 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.reverseAt_graphRowsline 102 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.acceptsAt_graphRowsline 107 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.graphRows_validline 112 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.ofGraphline 120 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraph_reverseline 123 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraph_tailline 128 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraph_acceptsline 134 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraph_edgeSatisfiedline 139 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.constraintGraph_extline 144 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraphline 159Source documentation
Complete semantic graph roundtrip, including its actual reversal map.
@[simp] theorem semantics_ofGraph {n m : Nat} (G : ConstraintGraph (Fin n) (Fin m) (Label q)) : semantics (ofGraph G) = G := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Label, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.ofGraph
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics_ofGraph_rejectionCountline 168 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.enumeratedGraphline 176Source documentation
Explicit enumerations determine every vertex name, dart position, and predicate label. No hidden choice of a graph representation is made.
def enumeratedGraph {V E A : Type*} {n m : Nat} (G : ConstraintGraph V E A) (vertexOrder : V ≃ Fin n) (dartOrder : E ≃ Fin m) (labelOrder : A ≃ (Label q)) : ConstraintGraph (Fin n) (Fin m) (Label q) where …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Label
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.enumeratedGraph_edgeSatisfiedline 192 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.enumeratedGraph_rejectionCountline 201Source documentation
Every directed occurrence contributes once before and after enumeration.
theorem enumeratedGraph_rejectionCount {V E A : Type*} [Fintype E] {n m : Nat} (G : ConstraintGraph V E A) (vertexOrder : V ≃ Fin n) (dartOrder : E ≃ Fin m) (labelOrder : A ≃ (Label q)) (labeling : V → A) : (enumeratedGraph G vertexOrder dartOrder labelOrder).rejectionCount (fun v => labelOrder (labeling (vertexOrder.symm v))) = G.rejectionCount labeling := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.ConstraintGraph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Label, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.enumeratedGraph
- def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.ofEnumeratedGraphline 213 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.bitWordline 217 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseBitline 219 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseBit_bitWordline 224 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseBits_bitWordsline 227 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationWordsline 233 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationWords_lengthline 235 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRelationline 238 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRelation_encodedline 244 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowWordsline 251 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRowline 254 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRow_encodedline 262 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRowsline 270 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.parseRows_encodedline 278 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableWordsline 284 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBitsline 287 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.decodeTableWordsline 289 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.decodeTableWords_encodedline 300 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.decodeTableBitsline 308 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.decodeTableBits_encodedline 311 - def
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.encodingline 316Source documentation
A concrete encoding for the fixed alphabet, suitable for the existing TM2 computation interface.
def encoding (q : Nat) : Computability.Encoding (Table q) Bool where …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits_injectiveline 321 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowWords_lengthline 323 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowsWords_lengthline 329 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableWords_lengthline 335 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableWords_length_le_bitsline 342Source documentation
At least one unary delimiter is stored for every field, including all (q * q) entries of every predicate table.
theorem tableWords_length_le_bits (table : (Table q)) : 2 + (q * q + 2) * table.darts ≤ (tableBits table).length := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.relationBits_length_leline 347 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowBits_length_leline 355 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.rowsBits_length_leline 364 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits_length_leline 376Source documentation
Full unary size bound: headers, both bounded indices in every row, and every Boolean predicate entry are counted. This is not a runtime assertion.
theorem tableBits_length_le (table : (Table q)) : (tableBits table).length ≤ table.vertices + table.darts + 2 + table.darts * (table.vertices + table.darts + (2 * (q * q))) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.tableBits
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.vertices_le_tableBits_lengthline 385 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.darts_le_tableBits_lengthline 391