Documentation

LeanPool.Erdos97ConvexOctagon.RowSymmetry

First-row symmetry reduction #

The normalized zeroth row splits the remaining labels into {2,3,4} and {5,6,7}. Permuting within those blocks reduces the 35 possible first rows to seven canonical orbits. The small table below records an explicit forward and inverse permutation for every row.

Every legal first row has one of the 35 explicit masks.

Every legal second row has one of the 35 explicit masks.

One explicit permutation taking a first row to a canonical orbit.

  • orbit : Fin 7

    Index of the canonical first-row orbit.

  • forwardCode : UInt64

    Packed code for the forward vertex permutation.

  • inverseCode : UInt64

    Packed code for the inverse vertex permutation.

Instances For

    Mathematical validity of a row-symmetry certificate.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The 35 explicit orbit certificates, aligned with rowOneMask.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Kernel audit of all 35 explicit symmetry certificates.

        def Erdos97Octagon.RawIncidence.RowSymmetryCertificate.toEquiv (certificate : RowSymmetryCertificate) {sourceMask : UInt64} (hvalid : certificate.Valid sourceMask) :

        Decode a valid row-symmetry certificate as a vertex equivalence.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Erdos97Octagon.RawIncidence.canonicalize_rowOne {p : VertexPlane} {Q : OctagonIncidence} (hC : ConvexIndependent p) (hR : Realises p Q) (hN : Q.Normalized) (index : Fin 35) (hrow : Q.targets 1 = packedRow (rowOneMask index)) :

          Relabel a normalized system so that row one is one of seven canonical rows.