Documentation

ISAR.ISARMatrices

structure ISAR.Matrix4 :

A concrete 4x4 matrix over the integers Int. Using a structure allows automatic derivation of decidable equality, meaning equality of computed matrices is decidable by computation (via rfl/decide).

Instances For
    def ISAR.instDecidableEqMatrix4.decEq (x✝ x✝¹ : Matrix4) :
    Decidable (x✝ = x✝¹)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      Equations
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def ISAR.mul (A B : Matrix4) :

        Matrix multiplication.

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

          The zero matrix.

          Equations
          • ISAR.zero = { m00 := 0, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 0, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
          Instances For
            @[implicit_reducible]
            Equations

            Invariant layer projection matrix (I).

            Equations
            • ISAR.I1 = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
            Instances For

              Rotation matrix (R).

              Equations
              • ISAR.R1 = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 1, m22 := 0, m23 := 0, m30 := 0, m31 := 0, m32 := 1, m33 := 0 }
              Instances For

                Adjacency matrix (A).

                Equations
                • ISAR.A1 = { m00 := 0, m01 := 0, m02 := 0, m03 := 0, m10 := 1, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 1, m22 := 0, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
                Instances For

                  Selection matrix (S).

                  Equations
                  • ISAR.S1 = { m00 := 1, m01 := 1, m02 := 0, m03 := 0, m10 := 0, m11 := 1, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 1 }
                  Instances For

                    Theorem: The invariant projection matrix I1 is idempotent.

                    Theorem: The core rewrite operator K1 = I1 * R1 * A1 * S1 is nilpotent (K1² = 0).

                    Invariant layer projection matrix (I) - version 2.

                    Equations
                    • ISAR.I2 = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
                    Instances For

                      Rotation matrix (R) - version 2.

                      Equations
                      • ISAR.R2 = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 0, m12 := 0, m13 := 1, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
                      Instances For

                        Adjacency matrix (A) - version 2.

                        Equations
                        • ISAR.A2 = { m00 := 0, m01 := 0, m02 := 0, m03 := 0, m10 := 1, m11 := 0, m12 := 0, m13 := 0, m20 := 0, m21 := 1, m22 := 0, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 0 }
                        Instances For

                          Selection matrix (S) - version 2.

                          Equations
                          • ISAR.S2 = { m00 := 1, m01 := 1, m02 := 0, m03 := 0, m10 := 0, m11 := 1, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 1 }
                          Instances For

                            Theorem: The invariant projection matrix I2 is idempotent.

                            Theorem: The core rewrite operator K2 = I2 * R2 * A2 * S2 is nilpotent (K2² = 0).

                            The 4D Identity matrix.

                            Equations
                            • ISAR.I_id = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 0, m11 := 1, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 1 }
                            Instances For

                              Lower-triangular gauge transformation matrix (P).

                              Equations
                              • ISAR.P = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := 1, m11 := 1, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 1 }
                              Instances For

                                Inverse gauge transformation matrix (P_inv).

                                Equations
                                • ISAR.P_inv = { m00 := 1, m01 := 0, m02 := 0, m03 := 0, m10 := -1, m11 := 1, m12 := 0, m13 := 0, m20 := 0, m21 := 0, m22 := 1, m23 := 0, m30 := 0, m31 := 0, m32 := 0, m33 := 1 }
                                Instances For

                                  Theorem: P_inv is the left inverse of P.

                                  Theorem: P_inv is the right inverse of P.

                                  Theorem: Gauge Equivalence. The two kernel representations are conjugate (similar) via the gauge matrix P. This formally unifies the two inconsistent representations of R used in the python scripts.