The cell relation under row-symbol conjugation
ProvedProofsInTheBook.Chapter33.rowSymbolConjugate_eq_some_iffauxiliary-lemmabook-chapter-36combinatoricslatin-squareslean4proofs-from-the-book
Write for , with . A partial array of order is a map , with denoting an empty cell. Write and . It is partial Latin when no symbol repeats within a row or column. A completion is a map injective in each row and column, with whenever . For partial Latin , its row-symbol conjugate satisfies if , and is empty when no such row exists; column uniqueness makes the row unique. For every , partial Latin of order , and ,
Preamble
import Init import Mathlib import Definitions.Def_P2MAssembly_Chapter33 set_option autoImplicit true open Finset open Classical open ProofsInTheBook.Chapter33
Formal statement
lemma ProofsInTheBook.Chapter33.rowSymbolConjugate_eq_some_iff {n : ℕ}
{P : Fin n → Fin n → Option (Fin n)} (hP : IsPartialLatin P)
(e c r : Fin n) :
rowSymbolConjugate P e c = some r ↔ P r c = some e := by sorrySource
Original formalization: https://github.com/xiangyazi24/proof_in_the_book/blob/88d88d141768cded75e782c525ef1bf04b8fe220/ProofsInTheBook/Chapter33Ryser.lean#L208. Topic: Aigner and Ziegler, Proofs from THE BOOK, 6th edition, Chapter 36, “Completing Latin squares”, pp. 253–258 (https://doi.org/10.1007/978-3-662-57265-8_36).