Zulip Chat Archive
Stream: Is there code for X?
Topic: iterates of function with finite domain
Siddharth Bhat (Oct 09 2024 at 22:36):
Let be a function with . I want to show that if for , then there must be a such that . Does this exist in mathlib?
The proof that I would perform on paper is to build a graph with as the vertex set, and iff .
Then what we have is a path . We can thus find a simple path of length from the starting vertex to by deleting cycles. But this requires a passage through graphs that I am hoping to avoid.
Ruben Van de Velde (Oct 09 2024 at 22:40):
It seems plausible, stated with docs#Nat.iterate
Siddharth Bhat (Oct 09 2024 at 22:41):
Right, I found Nat.iterate
, but it's super unclear to me how to actually prove it without building the graph and talking about paths and simple paths :sweat_smile: I feel like there is a simple pigenhole like proof I am missing.
Ruben Van de Velde (Oct 09 2024 at 22:44):
Oh, unless docs#Function.IsPeriodicPt is what you're looking for
Siddharth Bhat (Oct 09 2024 at 22:45):
Sadly not, that requires me to recur to the starting point
Siddharth Bhat (Oct 09 2024 at 22:45):
I want to reach an arbitrary point
Damiano Testa (Oct 09 2024 at 22:45):
Those would be called "pre-periodic" points in maths.
Siddharth Bhat (Oct 09 2024 at 22:46):
Aha, I may have more luck if I look for generic facts about endomorphisms.
Siddharth Bhat (Oct 09 2024 at 23:00):
Hm, no such luck.
Dan Velleman (Oct 09 2024 at 23:16):
Siddharth Bhat said:
I feel like there is a simple pigenhole like proof I am missing.
Can't you use pigeonhole to argue that cannot all be distinct? So there are and with such that . Then prove by induction that for all , there is some such that .
Siddharth Bhat (Oct 09 2024 at 23:18):
Yes, I believe this will work :) I guess I now need to find pigeonhole in mathlib?
Timo Carlin-Burns (Oct 10 2024 at 01:06):
docs#Fintype.exists_ne_map_eq_of_card_lt is one version of pigeonhole
Last updated: May 02 2025 at 03:31 UTC