Let $\mathcal{S} = \{0,1,\cdots, 1999\}$ and $\mathcal{T} = \{0,1,2,\cdots\}.$ Call a function $f :\mathcal{T}\to\mathcal{S}$ valid if it satisfies the following: i) $f(s) = s$ for all $s\in \mathcal{S} $ and ii) $f(m+n) = f(f(m)+f(n))$ for all $m,n\in\mathcal{T}$.
If $f(2000) < 2000$ for any valid function f, then the answer is 2000. How could one justify this if it is true? I tried using ii) repeatedly but I'm not sure how to get the result. $$
Assume $f(2000) = 2000-t$ for some $t\in \{1,\cdots, 2000\}.$ Then $f(s) = s$ for all $s\in\mathcal{S}.$ We claim that $f(n) = f(n-t)$ for all $n\ge 2000,$ and we prove this by induction. The base case holds because $f(2000 + 0) = f(f(2000) + f(0)) = f(2000-t)$ as $f(0)=0$. Now suppose inductively that $f(n) = f(n-t)$ for some $n\ge 2000.$ Then $f(n+1 - t) = f(n-t + 1) \underbrace{=}_\text{by ii)} f(f(n-t) + f(1)) \underbrace{=}_\text{by the inductive hypothesis} f(f(n) + f(1)) \underbrace{=}_\text{by ii)} = f(n+1).$ Thus $f$ is uniquely determined by $f(2000),$ since the values $f(s)$ for $s\in \mathcal{S}$ are already fixed for any valid function f by i) (one could prove this more formally by induction).
Conversely, if $t \in \{1,\cdots, 2000\}$, we can define a valid function $f$ by letting $f(2000) = 2000-t, f(s) = s\,\forall s\in \mathcal{S}$ and defining $f(n) = f(n-t)$ for all $n > 2000$. We just need to verify that ii) holds, and we do this by induction on m + n. When $m+n=0$, the result holds. Also the result holds when $m,n \in\mathcal{S}$ by the definition of f. Suppose the result holds for all $m,n$ with $m+n < k$ for some positive integer k. Now let $m,n$ satisfy $m+n = k$ and WLOG let $n\ge 2000$ (if both $m,n < 2000$ the result holds). Note that $f(m+n - t) \underbrace{=}_\text{by the inductive hypothesis} f(f(m) + f(n-t)) \underbrace{=}_\text{by the definition of f} f(f(m)+f(n)) \underbrace{=}_\text{by ii)} f(m+n)$.
We start with the following definitions. Let $[n]=\mathbb Z\cap[1,n]$ be the integers from $1$ to $n$. For $t\in[2000]$ let $f_t:\mathcal T\rightarrow\mathcal S$ be recursively defined by $f_t(n)=n$ for $n\in\mathcal S$ and $f_t(n)=f_t(n-t)$ for $n\in\mathbb Z_{\ge 2000}$.
Now, we proof the following claims, in this order.
Afterwards, we derive the result and provide additional remarks.
The first claim ensures that $|\mathcal F|=2000$, the remaining two suggest that $\mathcal F$ is exactly the set of valid functions.
Aftermath: The first claim is fairly trivial. At its core, the proof of the second claim is as suggested in the question. For the proof of the third claim, it is crucial to understand the behavior of the $f_t$, in particular the periodicity and the connection to modular arithmetic, taken for granted that this is an advanced application of induction/recursion.