Disclaimer: this question is not asking for code -- it's asking for a proof strategy.
For simplicity we may use Fin n
(for the usual Fin
type like in Idris/Agda) for finite sets. I'm wondering what the best practice is to show that for $n\ne m$, it holds that $\text{Fin}~n\not\simeq\text{Fin}~m$ (i.e. there isn't a bijection). I can guess a proof that starts with:
Suppose there is an isomorphism $\phi$. Also, w.l.o.g. we may assume $n<m$, then $\text{Fin}~m$ has more inhabitants.
Then, some distinct inhabitants of $\text{Fin}~m$ are sent to the same inhabitants of $\text{Fin}~n$, but how to show that?
In a math class, we draw pictures of sets and draw arrows to demonstrate the non-existence of bijections, but type theory wouldn't admit that.