Does the following definition adequately characterize the notion of finite? Is it equivalent to, say, Dedekind-finiteness?
A set $S$ is finite if and only if for all $x_0\in S$ and all $f:S\to S$, if $f$ is injective then $\exists x\in S: f(x)=x_0$.
Intuitively, with this definition, I meant to convey the notion of "counting without numbers", i.e. starting at any element $x_0\in S$, and going from one element to another without "counting" any element more than once. If $S$ is finite, I would think that you would eventually have to "come back" to $x_0$.
$f(x)=y$ can be taken to mean that you go from $x\in S$ to a unique $y\in S$.
The injectivity of $f$ ensures that you don't go to (or count) any element of $S$ more than once.
See "Infinity: The Story So Far" at my math blog.
There I present an informal development of the notion of infinity beginning with the above, non-numeric approach to the finite set (equivalent to Dedekind) along with accompanying formal proofs.