Set is Infinite iff exist Subsets of all Finite Cardinalities

Theorem
A set $S$ is infinite iff for all $n \in \N$, there exists a subset of $S$ whose cardinality is $n$.

Necessary Condition
Suppose $S$ is infinite.

We use mathematical induction on $n$.

The empty set is a subset of $S$ whose cardinality is $0$, so the base case $n = 0$ is proved.

The induction hypothesis states that there exists a subset $T$ of $S$ whose cardinality is $n$.

First, note that $S \ne T$, otherwise $S$ would be finite.

To complete the induction step, we show that there exists a subset of $S$ whose cardinality is $n + 1$.

Let $f : \N_n \to T$ be a bijection, where $\N_n$ denotes the subset of natural numbers $\left\{{0, 1, 2, \ldots, n - 1}\right\}$.

So let $x \in S \setminus T$, where $\setminus$ denotes set difference.

Then $T \cup \left\{{x}\right\}$ is a subset of $S$ whose cardinality is $n + 1$, completing the induction step.

Sufficient Condition
Suppose that for all $n \in \N$, there exists a subset of $S$ whose cardinality is $n$.

Assume that $S$ is finite.

Let $N = \left\vert{S}\right\vert$ be the cardinality of $S$.

As $N \in \N$ it follows that $N + 1 \in \N$.

By hypothesis, there exists a subset $T \subseteq S$ whose cardinality is $N + 1$.

From Cardinality of Subset of Finite Set, $\left\vert{S}\right\vert \ge \left\vert{T}\right\vert$.

But then $\left\vert{S}\right\vert = N \ge N + 1 = \left\vert{T}\right\vert$, which contradicts the fact that $N < N + 1$.

From this contradiction it follows that $S$ can not be finite.