OAI/Computability/MaxCut/Encoding/Encoding.lean

GitHub source file

22 declarations, 0 contain sorry, 0 declared as axioms

Computable binary alphabet indexing and full translation permutation tables. The labels are actual Fin (2^s) entries in the target instance format.

  1. def OAI.MaxCutGames.Reduction.Encoding.sideEquiv line 17

    Source documentation

    Number the left side first and the right side second.

    def sideEquiv (n : Nat) : Bool × Fin n ≃ Fin (2*n) :=
    …
  2. theorem OAI.MaxCutGames.Reduction.Encoding.sideEquiv_false_val line 20
  3. theorem OAI.MaxCutGames.Reduction.Encoding.sideEquiv_true_val line 24
  4. def OAI.MaxCutGames.Reduction.Encoding.alphabetEquiv line 29

    Source documentation

    The integer label is the packed, least-significant-bit-first coordinate word.

    def alphabetEquiv (s : Nat) : Integration.BinaryLinear.Vector s ≃ Fin (2^s) :=
    …

    Mentions: OAI.MaxCutGames.Integration.BinaryLinear.Vector

  5. theorem OAI.MaxCutGames.Reduction.Encoding.alphabetEquiv_symm_apply_apply line 36
  6. theorem OAI.MaxCutGames.Reduction.Encoding.alphabetEquiv_apply_symm_apply line 41
  7. def OAI.MaxCutGames.Reduction.Encoding.translate line 45
  8. theorem OAI.MaxCutGames.Reduction.Encoding.translate_involutive line 49
  9. def OAI.MaxCutGames.Reduction.Encoding.translationTable line 63

    Source documentation

    Both forward and inverse tables are explicitly generated from every alphabet index. Characteristic two makes these two tables equal.

    def translationTable {s : Nat} (a b : Integration.BinaryLinear.Vector s) :
        PermutationTable (2^s) where
    …

    Mentions: OAI.MaxCutGames.Integration.BinaryLinear.Vector

  10. theorem OAI.MaxCutGames.Reduction.Encoding.translationTable_images line 70
  11. theorem OAI.MaxCutGames.Reduction.Encoding.translationTable_inverseImages line 75
  12. theorem OAI.MaxCutGames.Reduction.Encoding.translationTable_satisfied_iff line 81
  13. def OAI.MaxCutGames.Reduction.Encoding.imageVertices line 92

    Source documentation

    Canonical vertex bodies are compared using their actual decidable equality. List.dedup fixes a deterministic order by retaining the last occurrence.

    def imageVertices (queries : List Q) (body : Q → V) : List V :=
    …
  14. theorem OAI.MaxCutGames.Reduction.Encoding.mem_imageVertices line 95
  15. theorem OAI.MaxCutGames.Reduction.Encoding.imageVertices_nodup line 99
  16. theorem OAI.MaxCutGames.Reduction.Encoding.imageVertices_length_le line 102
  17. abbrev OAI.MaxCutGames.Reduction.Encoding.ImageVertex line 107
  18. def OAI.MaxCutGames.Reduction.Encoding.imageEquiv line 112

    Source documentation

    A computable numbering using idxOf; its inverse looks up that index. It involves no chosen Fintype.equivFin.

    def imageEquiv (queries : List Q) (body : Q → V) :
        ImageVertex queries body ≃ Fin (imageVertices queries body).length :=
    …

    Mentions: OAI.MaxCutGames.Reduction.Encoding.ImageVertex, OAI.MaxCutGames.Reduction.Encoding.imageVertices

  19. def OAI.MaxCutGames.Reduction.Encoding.imageVertex line 116
  20. def OAI.MaxCutGames.Reduction.Encoding.imageIndex line 119
  21. theorem OAI.MaxCutGames.Reduction.Encoding.imageIndex_eq_iff line 122
  22. theorem OAI.MaxCutGames.Reduction.Encoding.imageVertices_range line 128