Documentation

LeanPool.LatinQuarter.Cyclic

The cyclic Latin square and its corner set #

The addition table of Fin n, used to attain the critical-set bound.

Equations
Instances For
    theorem LatinQuarter.cyclic_isLatin (n : ℕ) (hn : 0 < n) :

    The two opposite triangular corners in the cyclic Latin square.

    Equations
    Instances For
      @[simp]
      theorem LatinQuarter.mem_cornerSet {n : ℕ} (r c : Fin n) :
      (r, c) ∈ cornerSet n ↔ ↑r + ↑c < n / 2 ∨ n + n / 2 ≤ ↑r + ↑c
      def LatinQuarter.fillingOrder {n : ℕ} (r c : Fin n) :

      Rows are visited from top to bottom, and each row from right to left.

      Equations
      Instances For
        theorem LatinQuarter.fillingOrder_row {n : ℕ} (r i c d : Fin n) (hi : i < r) :
        theorem LatinQuarter.fillingOrder_column {n : ℕ} (r c j : Fin n) (hj : c < j) :
        theorem LatinQuarter.corner_forcing_step {n : ℕ} (hn : 0 < n) (M : Square n) (hM : IsLatin M) (ha : Agrees (cornerSet n) (cyclic n) M) (r c : Fin n) (hprev : ∀ (i j : Fin n), fillingOrder i j < fillingOrder r c → M i j = cyclic n i j) :
        M r c = cyclic n r c

        Every non-corner cell is forced by the cells preceding it.