OAI/Computability/UniqueGames/PCP/Table.lean
26 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowFromDartline 12Source documentation
One directed occurrence, without merging repeated queries or equal rows.
def rowFromDart (input : GenericGraphTables.Table q) (dart : QueryIncidence.Dart (AlphabetGraph.Event (Fin input.darts) (Fin q)) 6) : GraphTables.DartRow (Enumeration.vertexCount input.vertices input.darts q) (Enumeration.dartCount input.darts q) := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.QueryIncidence.Dart, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.Event, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.DartRow, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartCount
- def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowsline 31Source documentation
The row number decodes to precisely one event/slot/orientation occurrence.
def rows (input : GenericGraphTables.Table q) : GraphTables.Rows (Enumeration.vertexCount input.vertices input.darts q) (Enumeration.dartCount input.darts q) := …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Rows, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartCount
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows_atline 37 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows_reverseIndexline 44Source documentation
Reversal changes only the occurrence's orientation, preserving event and slot.
theorem rows_reverseIndex (input : GenericGraphTables.Table q) (index : Fin (Enumeration.dartCount input.darts q)) : (rows input)[index].reverseIndex = Enumeration.dartEquiv input.darts q (((Enumeration.dartEquiv input.darts q).symm index).1, !((Enumeration.dartEquiv input.darts q).symm index).2) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.dartRow_extline 52 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.relation_extline 62 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowFromDart_eq_graphRowline 74Source documentation
The three stored fields agree with the actual alphabet graph at this dart.
theorem rowFromDart_eq_graphRow (input : GenericGraphTables.Table q) (dart : QueryIncidence.Dart (AlphabetGraph.Event (Fin input.darts) (Fin q)) 6) : rowFromDart input dart = { tail := Enumeration.vertexEquiv input.vertices input.darts q …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.QueryIncidence.Dart, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.Event, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowFromDart, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows_eq_graphRowsline 114Source documentation
Equality of the full row vector, including all multiplicities and reversal indices.
theorem rows_eq_graphRows (input : GenericGraphTables.Table q) : rows input = GraphTables.graphRows (GraphTables.enumeratedGraph (AlphabetGraph.graph (GenericGraphTables.semantics input)) (Enumeration.vertexEquiv input.vertices input.darts q) (Enumeration.dartEquiv input.darts q) Enumeration.labelEquiv) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.graphRows, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.enumeratedGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.graph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.labelEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rows_validline 125 - def
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.buildline 130Source documentation
Actual executable output table. Its validity proof is erased at execution.
def build (input : GenericGraphTables.Table q) : GraphTables.Table where …
Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Table
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build_verticesline 136 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build_dartsline 139 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.table_rows_congrline 142 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.semantics_rows_congrline 148 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build_eq_ofEnumeratedGraphline 156Source documentation
Exact table equality in the explicit enumerations, without a representation choice.
theorem build_eq_ofEnumeratedGraph (input : GenericGraphTables.Table q) : build input = GraphTables.ofEnumeratedGraph (AlphabetGraph.graph (GenericGraphTables.semantics input)) (Enumeration.vertexEquiv input.vertices input.darts q) (Enumeration.dartEquiv input.darts q) Enumeration.labelEquiv := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.ofEnumeratedGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.graph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.labelEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.semantics_buildline 165Source documentation
Full decoded graph equality, including reversal, endpoints, and every predicate bit.
theorem semantics_build (input : GenericGraphTables.Table q) : GraphTables.semantics (build input) = GraphTables.enumeratedGraph (AlphabetGraph.graph (GenericGraphTables.semantics input)) (Enumeration.vertexEquiv input.vertices input.darts q) (Enumeration.dartEquiv input.darts q) Enumeration.labelEquiv := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.enumeratedGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.graph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.labelEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.decode_buildline 174Source documentation
Encoding and decoding the executable output recovers the full intended table.
theorem decode_build (input : GenericGraphTables.Table q) : GraphTables.decodeTableBits (GraphTables.tableBits (build input)) = some (GraphTables.ofEnumeratedGraph (AlphabetGraph.graph (GenericGraphTables.semantics input)) (Enumeration.vertexEquiv input.vertices input.darts q) (Enumeration.dartEquiv input.darts q) Enumeration.labelEquiv) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.decodeTableBits, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableBits, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.ofEnumeratedGraph, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetGraph.graph, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.labelEquiv
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.edgeSatisfied_buildline 182 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rejectionCount_buildline 195 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.perfect_completenessline 206 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.gap_transferline 221Source documentation
The gap statement transfers to every labeling of the actual numbered table.
theorem gap_transfer [Nonempty (Fin q)] (input : GenericGraphTables.Table q) (a b : Nat) (source : ∀ labeling : Fin input.vertices → Fin q, a * input.darts ≤ b * (GenericGraphTables.semantics input).rejectionCount labeling) (labeling : Fin (build input).vertices → GraphTables.Label) : a * (build input).darts ≤ (b * 12288) * (GraphTables.semantics (build input)).rejectionCount labeling := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.semantics, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.Label, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.semantics
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowList_eq_orderedline 246Source documentation
The serialized row list follows the same explicit occurrence order as the vector.
theorem rowList_eq_ordered (input : GenericGraphTables.Table q) : GraphTables.rowList (build input) = (Enumeration.ordered (Enumeration.dartEquiv input.darts q)).map (rowFromDart input) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.rowList, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.ordered, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowFromDart
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.tableWords_eq_orderedline 256Source documentation
Complete output words: two headers followed by every ordered row block.
theorem tableWords_eq_ordered (input : GenericGraphTables.Table q) : GraphTables.tableWords (build input) = [Enumeration.vertexCount input.vertices input.darts q, Enumeration.dartCount input.darts q] ++ (Enumeration.ordered (Enumeration.dartEquiv input.darts q)).flatMap (fun dart => GraphTables.rowWords (rowFromDart input dart)) := by …Mentions: OAI.UniqueGamesTheorem.Foundations.PCP.GenericGraphTables.Table, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.tableWords, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.build, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.vertexCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartCount, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.ordered, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Enumeration.dartEquiv, OAI.UniqueGamesTheorem.Foundations.PCP.GraphTables.rowWords, OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowFromDart
- theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.rowList_lengthline 265 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.tableWords_lengthline 269 - theorem
OAI.UniqueGamesTheorem.Foundations.PCP.AlphabetTable.Table.tableBits_length_leline 274