Preservation of the Smetaniuk switching-stage invariant
ProvedProofsInTheBook.Chapter33.smetRectStep_invariantauxiliary-lemmabook-chapter-36combinatoricslatin-squareslean4proofs-from-the-book
Write for , with . Let , , and . For and , define by these seven conditions: each row of is injective; each column is injective; column is injective on rows ; for ; for ; for and ; and for . All rows range over , and natural-number subtraction is truncated at zero. For , put and . Let be the least set containing and closed under this rule: if , , and , then . Define by interchanging columns and in each row of , leaving the other entries unchanged. Assume and . Then
No independent Latin assumption on is made; all seven invariant conditions are inputs.
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.smetRectStep_invariant {N t : ℕ}
{L₀ : Fin N → Fin N → Fin N}
{R : Fin N → Fin (N + 1) → Fin (N + 1)}
(ht : t + 1 < N)
(inv : SmetRectStageInvariant L₀ t R) :
SmetRectStageInvariant L₀ (t + 1) (smetRectStep R t) := by sorrySource
Original formalization: https://github.com/xiangyazi24/proof_in_the_book/blob/88d88d141768cded75e782c525ef1bf04b8fe220/ProofsInTheBook/Chapter33Smetaniuk.lean#L2615. 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).