Zulip Chat Archive
Stream: Is there code for X?
Topic: How to perform finite step induction?
Junqi Liu (Mar 24 2025 at 06:11):
I wanna to prove the following example, I think it need to do finite step induction. But I don't find corresponding theorem.
import Mathlib
structure qqq (n : ℕ) where
board : (Fin n × Fin n) → (Finset.Icc 1 (n ^ 2))
bij : Function.Bijective board
example {n : ℕ} (sq : qqq n) (x : RelSeries (α := Fin n × Fin n) (fun x y ↦ sq.board x < sq.board y))
(m1 m2 : Fin (x.length + 1)) (hm : m1 < m2) (hx : ∀ (i : Fin x.length), sq.board (x.toFun i.castSucc) < sq.board (x.toFun i.succ)):
sq.board (x m1) < sq.board (x m2) := by
sorry
Robin Arnez (Mar 24 2025 at 07:00):
I'm not sure if you stated this entirely how it should be: The size of the RelSeries is completely independent from n
here so what happens here is that it does two casts -- one to Nat
and the other back to Fin
. So let's say the RelSeries
has length 3 and we have n = 7
. Then the Fin (n + 1)
s 0, 1, 2, 3, 4, 5, 6, 7
map to 0, 1, 2, 0, 1, 2, 0, 1
. Regarding induction, there is probably some merit in doing induction on n
, although I'm not entirely sure.
Junqi Liu (Mar 24 2025 at 07:01):
oh! my bad. I'll fix it
Last updated: May 02 2025 at 03:31 UTC