[proofplan]
We verify the three explicit candidates and then invoke the uniqueness theory for bounded [Kruzhkov entropy solutions](/page/Entropy%20Solution). In the decreasing case, the discontinuity travels with the [Rankine-Hugoniot speed](/page/Entropy%20Solution), and convexity gives the Kruzhkov entropy inequality through the chord inequality for $f$. In the increasing case, strict convexity makes $f'$ strictly increasing, so the rarefaction profile is well-defined and solves the conservation law and every Kruzhkov entropy equality away from the harmless self-similar breakpoints. The constant case is immediate, and uniqueness follows from the local $L^1$ contraction estimate in the Kruzhkov theory for scalar entropy solutions with the Riemann initial trace.
[/proofplan]
[step:Use strict convexity to record the monotonicity of $f'$]
Let $\mathcal{L}^1$ denote one-dimensional [Lebesgue measure](/page/Lebesgue%20Measure) on $\mathbb{R}$. Since $f \in C^2(\mathbb{R})$ and $f''(u) > 0$ for every $u \in \mathbb{R}$, the derivative $f': \mathbb{R} \to \mathbb{R}$ is strictly increasing. Hence, if $u_L < u_R$, then $f'(u_L) < f'(u_R)$ and the restriction $f'|_{[u_L,u_R]}: [u_L,u_R] \to [f'(u_L),f'(u_R)]$ is a continuous strictly increasing bijection. Its inverse $(f')^{-1}: [f'(u_L),f'(u_R)] \to [u_L,u_R]$ is continuous. Therefore the rarefaction profile $U: \mathbb{R} \to \mathbb{R}$ in the statement is well-defined, bounded, nondecreasing, and continuous.
Throughout the proof, $C_c^\infty(\Omega)$ denotes the space of smooth compactly supported real-valued test functions on an [open set](/page/Open%20Set) $\Omega$. For a set $K\subset\mathbb R$, define $\operatorname{dist}:\mathbb R\times\mathcal P(\mathbb R)\to[0,\infty]$ by
\begin{align*}
\operatorname{dist}(x,K):=\inf\{|x-y|:y\in K\}.
\end{align*}
[guided]
The rarefaction formula uses $(f')^{-1}$, so the first point is to justify that this inverse exists on the relevant interval. The hypothesis $f''(u)>0$ for every $u \in \mathbb{R}$ means that $f'$ is strictly increasing: for $a<b$, the [fundamental theorem of calculus](/theorems/632) gives
\begin{align*}
f'(b)-f'(a)=\int_a^b f''(r)\,d\mathcal{L}^1(r)>0.
\end{align*}
Thus, when $u_L<u_R$, the map $f'|_{[u_L,u_R]}: [u_L,u_R] \to [f'(u_L),f'(u_R)]$ is continuous and strictly increasing, hence bijective onto its image. Its inverse $(f')^{-1}: [f'(u_L),f'(u_R)] \to [u_L,u_R]$ is continuous. This proves that the middle branch of the rarefaction fan is meaningful. The endpoint values also match:
\begin{align*}
(f')^{-1}(f'(u_L))=u_L
\end{align*}
and
\begin{align*}
(f')^{-1}(f'(u_R))=u_R.
\end{align*}
Consequently the piecewise-defined profile $U: \mathbb{R}\to\mathbb{R}$ has no jump at $\xi=f'(u_L)$ or $\xi=f'(u_R)$, is bounded between $u_L$ and $u_R$, and is nondecreasing.
[/guided]
[/step]
[step:Verify the shock candidate when $u_L>u_R$]
Assume $u_L>u_R$. Define the shock speed $s \in \mathbb{R}$ by
\begin{align*}
s := \frac{f(u_R)-f(u_L)}{u_R-u_L}.
\end{align*}
Define $u: \mathbb{R}\times(0,\infty) \to \mathbb{R}$ by setting $u(x,t)=u_L$ when $x<st$ and $u(x,t)=u_R$ when $x>st$.
Let $\mathcal{L}^2$ denote two-dimensional Lebesgue measure on $\mathbb{R}^2$. The value on the line $\{(x,t):x=st\}$ is irrelevant for all distributional statements, since that line has $\mathcal{L}^2$-measure zero.
Let $\varphi \in C_c^\infty(\mathbb{R}\times(0,\infty))$ be a [test function](/page/Test%20Function). We derive the jump formula by testing directly. Since $u$ is constant on the regions $\{x<st\}$ and $\{x>st\}$, [integration by parts](/theorems/210) on these two regions gives
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} \bigl(u\partial_t\varphi+f(u)\partial_x\varphi\bigr)\,d\mathcal{L}^1(x)\,d\mathcal{L}^1(t)=\int_0^\infty \bigl(s(u_R-u_L)-f(u_R)+f(u_L)\bigr)\varphi(st,t)\,d\mathcal{L}^1(t).
\end{align*}
Thus the distribution $\partial_tu+\partial_xf(u)$ is concentrated on $x=st$ with coefficient $-s(u_R-u_L)+f(u_R)-f(u_L)$. This coefficient is zero by the definition of $s$, so $u$ is a weak solution.
It remains to verify the Kruzhkov entropy inequalities. Define $\operatorname{sgn}:\mathbb R\to\{-1,0,1\}$ by setting $\operatorname{sgn}(r)=1$ for $r>0$, $\operatorname{sgn}(0)=0$, and $\operatorname{sgn}(r)=-1$ for $r<0$. For each $k\in\mathbb{R}$, define the Kruzhkov entropy $\eta_k: \mathbb{R} \to [0,\infty)$ by $\eta_k(v):=|v-k|$. Define the associated Kruzhkov entropy flux $q_k: \mathbb{R} \to \mathbb{R}$ by
\begin{align*}
q_k(v):=\operatorname{sgn}(v-k)\bigl(f(v)-f(k)\bigr).
\end{align*}
The distribution $\partial_t\eta_k(u)+\partial_x q_k(u)$ is concentrated on $x=st$ with coefficient
\begin{align*}
q_k(u_R)-q_k(u_L)-s\bigl(\eta_k(u_R)-\eta_k(u_L)\bigr).
\end{align*}
If $k\leq u_R$ or $k\geq u_L$, this coefficient is zero by the Rankine-Hugoniot identity. If $u_R<k<u_L$, then
\begin{align*}
\eta_k(u_R)-\eta_k(u_L)=2k-u_L-u_R
\end{align*}
and
\begin{align*}
q_k(u_R)-q_k(u_L)=2f(k)-f(u_L)-f(u_R).
\end{align*}
Let $\ell: [u_R,u_L]\to\mathbb{R}$ be the affine chord map
\begin{align*}
\ell(r):=f(u_R)+s(r-u_R).
\end{align*}
Convexity of $f$ gives $f(k)\leq \ell(k)$ for $k\in[u_R,u_L]$. Therefore
\begin{align*}
q_k(u_R)-q_k(u_L)-s\bigl(\eta_k(u_R)-\eta_k(u_L)\bigr)
=2\bigl(f(k)-\ell(k)\bigr)\leq 0.
\end{align*}
Thus $\partial_t\eta_k(u)+\partial_x q_k(u)\leq 0$ in the sense of distributions for every $k\in\mathbb{R}$, which is precisely the Kruzhkov entropy condition.
[guided]
Assume $u_L>u_R$. Define the shock speed $s\in\mathbb{R}$ by
\begin{align*}
s:=\frac{f(u_R)-f(u_L)}{u_R-u_L}.
\end{align*}
Define $u:\mathbb{R}\times(0,\infty)\to\mathbb{R}$ by $u(x,t)=u_L$ when $x<st$ and $u(x,t)=u_R$ when $x>st$; the value on the line $x=st$ is irrelevant because that line has two-dimensional Lebesgue measure zero. To prove that this candidate is a weak solution, let $\varphi\in C_c^\infty(\mathbb{R}\times(0,\infty))$ be a test function. Testing the conservation law against $\varphi$ and integrating by parts separately on $\{x<st\}$ and $\{x>st\}$ gives
\begin{align*}
\int_0^\infty\int_{\mathbb{R}}\bigl(u\partial_t\varphi+f(u)\partial_x\varphi\bigr)\,d\mathcal{L}^1(x)\,d\mathcal{L}^1(t)=\int_0^\infty\bigl(s(u_R-u_L)-f(u_R)+f(u_L)\bigr)\varphi(st,t)\,d\mathcal{L}^1(t).
\end{align*}
The coefficient on the right is zero exactly because of the definition of $s$. Therefore $\partial_tu+\partial_xf(u)=0$ in the sense of distributions.
We now verify the entropy admissibility of the shock without suppressing the sign computation. Fix $k\in\mathbb{R}$ and define the Kruzhkov entropy pair by
\begin{align*}
\eta_k(v):=|v-k|
\end{align*}
and
\begin{align*}
q_k(v):=\operatorname{sgn}(v-k)\bigl(f(v)-f(k)\bigr).
\end{align*}
Since $u$ is constant on each side of the line $x=st$, the distribution $\partial_t\eta_k(u)+\partial_x q_k(u)$ can only have a contribution on that line. The jump coefficient is
\begin{align*}
q_k(u_R)-q_k(u_L)-s\bigl(\eta_k(u_R)-\eta_k(u_L)\bigr).
\end{align*}
The Kruzhkov inequality is therefore equivalent to proving that this coefficient is nonpositive for every $k$.
If $k\leq u_R$, then both $u_R-k$ and $u_L-k$ are nonnegative. Hence $q_k(u_R)-q_k(u_L)=f(u_R)-f(u_L)$ and $\eta_k(u_R)-\eta_k(u_L)=u_R-u_L$, so the coefficient is zero by the Rankine-Hugoniot identity. If $k\geq u_L$, then both signs are nonpositive, and the same Rankine-Hugoniot identity again gives zero.
It remains to handle the only nontrivial case, $u_R<k<u_L$. In this interval the signs are opposite, so
\begin{align*}
\eta_k(u_R)-\eta_k(u_L)=2k-u_L-u_R
\end{align*}
and
\begin{align*}
q_k(u_R)-q_k(u_L)=2f(k)-f(u_L)-f(u_R).
\end{align*}
Define the affine chord map $\ell:[u_R,u_L]\to\mathbb{R}$ by
\begin{align*}
\ell(r):=f(u_R)+s(r-u_R).
\end{align*}
This is the line segment joining $(u_R,f(u_R))$ to $(u_L,f(u_L))$, because the slope $s$ equals the chord slope. Since $f$ is convex, its graph lies below this chord on the interval $[u_R,u_L]$, so $f(k)\leq \ell(k)$. Substituting the preceding formulas gives
\begin{align*}
q_k(u_R)-q_k(u_L)-s\bigl(\eta_k(u_R)-\eta_k(u_L)\bigr)=2\bigl(f(k)-\ell(k)\bigr)\leq 0.
\end{align*}
Thus $\partial_t\eta_k(u)+\partial_x q_k(u)\leq 0$ distributionally for every $k\in\mathbb{R}$, so the shock satisfies the Kruzhkov entropy condition.
Finally, define the Riemann initial datum $u_0:\mathbb{R}\to\mathbb{R}$ by $u_0(x)=u_L$ for $x<0$ and $u_0(x)=u_R$ for $x>0$; the value at $x=0$ is irrelevant for local $L^1$ convergence. For any compact interval $K\subset\mathbb{R}$, the functions $u(\cdot,t)$ and $u_0$ differ only on the interval between $0$ and $st$. This interval has $\mathcal{L}^1$-measure at most $|s|t$, while $u$ and $u_0$ are bounded by the fixed values $u_L$ and $u_R$. Hence
\begin{align*}
\lim_{t\downarrow 0}\int_K |u(x,t)-u_0(x)|\,d\mathcal{L}^1(x)=0.
\end{align*}
Thus the shock has the prescribed Riemann initial trace.
[/guided]
Finally, define the Riemann initial datum $u_0: \mathbb{R}\to\mathbb{R}$ by setting $u_0(x)=u_L$ when $x<0$ and $u_0(x)=u_R$ when $x>0$; the value at $x=0$ is irrelevant for $L^1_{\mathrm{loc}}(\mathbb{R})$ convergence. For every compact interval $K\subset\mathbb{R}$, the functions $u(\cdot,t)$ and $u_0$ differ only on the interval between $0$ and $st$, whose $\mathcal{L}^1$-measure is at most $|s|t$. Hence
\begin{align*}
\lim_{t\downarrow 0}\int_K |u(x,t)-u_0(x)|\,d\mathcal{L}^1(x)=0.
\end{align*}
[/step]
[step:Verify the rarefaction candidate when $u_L<u_R$]
Assume $u_L<u_R$. Define the rarefaction candidate $u: \mathbb{R}\times(0,\infty) \to \mathbb{R}$ by
\begin{align*}
u(x,t):=U(x/t).
\end{align*}
Here $U:\mathbb{R}\to\mathbb{R}$ is the profile in the statement. Since $U$ is bounded and continuous, $u$ is bounded and locally integrable.
For each $(x,t)\in\mathbb{R}\times(0,\infty)$, define the self-similar variable $\xi\in\mathbb{R}$ by
\begin{align*}
\xi:=x/t.
\end{align*} On the regions $\xi<f'(u_L)$ and $\xi>f'(u_R)$, the function $u$ is constant, so $\partial_tu+\partial_xf(u)=0$. On the fan region $f'(u_L)<\xi<f'(u_R)$, we have $f'(U(\xi))=\xi$. Since $U$ is $C^1$ on this open interval, the chain rule gives
\begin{align*}
\partial_t u(x,t)=-\frac{x}{t^2}U'(x/t)
\end{align*}
and
\begin{align*}
\partial_x f(u(x,t))=f'(U(x/t))\frac{1}{t}U'(x/t)=\frac{x}{t^2}U'(x/t).
\end{align*}
Thus $\partial_tu+\partial_xf(u)=0$ pointwise away from the two rays $x=f'(u_L)t$ and $x=f'(u_R)t$. Across these rays the function $u$ is continuous, so no jump measure appears in the [distributional derivative](/page/Distributional%20Derivative). Therefore $u$ is a weak solution.
For the Kruzhkov entropy condition, fix $k\in\mathbb{R}$ and use the same maps $\eta_k:\mathbb{R}\to[0,\infty)$ and $q_k:\mathbb{R}\to\mathbb{R}$ as in the shock step. Define $A_k:\mathbb{R}\to[0,\infty)$ and $B_k:\mathbb{R}\to\mathbb{R}$ by $A_k:=\eta_k\circ U$ and $B_k:=q_k\circ U$. These maps are continuous and piecewise locally Lipschitz. At every point where $U(\xi)\neq k$ and $U$ is differentiable,
\begin{align*}
B_k'(\xi)=\operatorname{sgn}(U(\xi)-k)f'(U(\xi))U'(\xi)
\end{align*}
and
\begin{align*}
A_k'(\xi)=\operatorname{sgn}(U(\xi)-k)U'(\xi).
\end{align*}
Inside the fan, $f'(U(\xi))=\xi$, so $B_k'(\xi)-\xi A_k'(\xi)=0$ for almost every $\xi$ in the fan. Outside the fan both derivatives vanish. The possible point $U(\xi)=k$ creates no singular part because $A_k$ and $B_k$ are continuous and piecewise locally Lipschitz.
Let $\psi\in C_c^\infty(\mathbb{R}\times(0,\infty))$ be a test function. Using the substitution $x=t\xi$, under which $d\mathcal{L}^1(x)=t\,d\mathcal{L}^1(\xi)$ for each fixed $t>0$, we compute
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} \bigl(A_k(x/t)\partial_t\psi(x,t)+B_k(x/t)\partial_x\psi(x,t)\bigr)\,d\mathcal{L}^1(x)\,d\mathcal{L}^1(t)
\end{align*}
as
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} \bigl(tA_k(\xi)\partial_t\psi(t\xi,t)+B_k(\xi)\partial_\xi[\psi(t\xi,t)]\bigr)\,d\mathcal{L}^1(\xi)\,d\mathcal{L}^1(t).
\end{align*}
Integrating by parts in $\xi$ and using $B_k'=\xi A_k'$ in the distributional sense gives
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} A_k(\xi)\partial_t\bigl(t\psi(t\xi,t)\bigr)\,d\mathcal{L}^1(\xi)\,d\mathcal{L}^1(t).
\end{align*}
This last integral is zero by [integration by parts](/theorems/2098) in $t$, because $\psi$ has compact support in $\mathbb{R}\times(0,\infty)$. Hence
\begin{align*}
\partial_t\eta_k(u)+\partial_xq_k(u)=0
\end{align*}
in the sense of distributions, and in particular the Kruzhkov entropy inequality holds.
Define the Riemann initial datum $u_0: \mathbb{R}\to\mathbb{R}$ by setting $u_0(x)=u_L$ when $x<0$ and $u_0(x)=u_R$ when $x>0$; the value at $x=0$ is irrelevant for $L^1_{\mathrm{loc}}(\mathbb{R})$ convergence. The initial trace is this Riemann datum. Indeed, for each $t>0$, the function $u(\cdot,t)$ can differ from $u_0$ only on the convex hull of the three points $0$, $f'(u_L)t$, and $f'(u_R)t$. This interval has $\mathcal{L}^1$-measure at most
\begin{align*}
\bigl(|f'(u_L)|+|f'(u_R)|\bigr)t.
\end{align*}
Since $u$ is bounded between $u_L$ and $u_R$, every compact interval $K\subset\mathbb{R}$ satisfies
\begin{align*}
\lim_{t\downarrow 0}\int_K |u(x,t)-u_0(x)|\,d\mathcal{L}^1(x)=0.
\end{align*}
[guided]
The rarefaction is designed so that the characteristic speed equals the self-similar variable. Write
\begin{align*}
\xi:=x/t.
\end{align*}
In the middle part of the fan, the definition $U(\xi)=(f')^{-1}(\xi)$ is exactly the identity
\begin{align*}
f'(U(\xi))=\xi.
\end{align*}
This is the reason the PDE cancels. On the open fan region $f'(u_L)<x/t<f'(u_R)$, the chain rule gives
\begin{align*}
\partial_t u(x,t)=-\frac{x}{t^2}U'(x/t)
\end{align*}
and
\begin{align*}
\partial_x f(u(x,t))=f'(U(x/t))\frac{1}{t}U'(x/t).
\end{align*}
Since $f'(U(x/t))=x/t$, the second expression becomes
\begin{align*}
\partial_x f(u(x,t))=\frac{x}{t^2}U'(x/t).
\end{align*}
The two terms cancel, so $\partial_tu+\partial_xf(u)=0$ inside the fan. Outside the fan, $u$ is constant, so the equation also holds there. At the two rays $x=f'(u_L)t$ and $x=f'(u_R)t$, the left and right traces agree because $U$ is continuous at the endpoints. A continuous piecewise $C^1$ function has no delta contribution across those rays, so the equality holds distributionally.
Now fix $k\in\mathbb{R}$ and define the Kruzhkov entropy pair as follows: $\eta_k: \mathbb{R} \to [0,\infty)$ is given by $\eta_k(v):=|v-k|$, and $q_k: \mathbb{R} \to \mathbb{R}$ is given by
\begin{align*}
q_k(v):=\operatorname{sgn}(v-k)\bigl(f(v)-f(k)\bigr).
\end{align*}
The entropy computation repeats the same cancellation, but for the entropy variables. At points where $U(\xi)\neq k$ and $U$ is differentiable, the chain rule gives
\begin{align*}
\frac{d}{d\xi}\eta_k(U(\xi))=\operatorname{sgn}(U(\xi)-k)U'(\xi)
\end{align*}
and
\begin{align*}
\frac{d}{d\xi}q_k(U(\xi))=\operatorname{sgn}(U(\xi)-k)f'(U(\xi))U'(\xi).
\end{align*}
Inside the fan, $f'(U(\xi))=\xi$, so
\begin{align*}
\frac{d}{d\xi}q_k(U(\xi))=\xi\frac{d}{d\xi}\eta_k(U(\xi)).
\end{align*}
This is the self-similar derivative identity behind the entropy equality. To turn it into a distributional statement, set $A_k:=\eta_k\circ U$ and $B_k:=q_k\circ U$. The preceding computation proves $B_k'=\xi A_k'$ in the distributional sense on $\mathbb{R}$. The point where $U(\xi)=k$ creates no extra measure contribution: $U$ is continuous and monotone, and both $A_k$ and $B_k$ are continuous and piecewise locally Lipschitz.
Let $\psi\in C_c^\infty(\mathbb{R}\times(0,\infty))$ be a test function. Changing variables by $x=t\xi$ gives $d\mathcal{L}^1(x)=t\,d\mathcal{L}^1(\xi)$ for each fixed $t>0$. Therefore the weak entropy integral equals
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} \bigl(tA_k(\xi)\partial_t\psi(t\xi,t)+B_k(\xi)\partial_\xi[\psi(t\xi,t)]\bigr)\,d\mathcal{L}^1(\xi)\,d\mathcal{L}^1(t).
\end{align*}
Integrating by parts in $\xi$ and using $B_k'=\xi A_k'$ transforms this into
\begin{align*}
\int_0^\infty\int_{\mathbb{R}} A_k(\xi)\partial_t\bigl(t\psi(t\xi,t)\bigr)\,d\mathcal{L}^1(\xi)\,d\mathcal{L}^1(t).
\end{align*}
This is zero after integration by parts in $t$, since $\psi$ has compact support away from $t=0$ and for large $t$. Hence the entropy equality holds distributionally for every $k$, and the Kruzhkov entropy inequality follows.
Finally, the trace at $t=0$ is correct because the entire transition region has length proportional to $t$. Define $u_0: \mathbb{R}\to\mathbb{R}$ by setting $u_0(x)=u_L$ when $x<0$ and $u_0(x)=u_R$ when $x>0$; the value at $x=0$ is immaterial. The function $u(\cdot,t)$ can differ from $u_0$ only on the convex hull of $0$, $f'(u_L)t$, and $f'(u_R)t$. This interval has $\mathcal{L}^1$-measure at most
\begin{align*}
\bigl(|f'(u_L)|+|f'(u_R)|\bigr)t.
\end{align*}
Since $u$ stays between $u_L$ and $u_R$, the $L^1_{\mathrm{loc}}$ difference from the initial step tends to zero as $t\downarrow0$.
[/guided]
[/step]
[step:Verify the constant candidate when $u_L=u_R$]
Assume $u_L=u_R$. Define $u: \mathbb{R}\times(0,\infty) \to \mathbb{R}$ by $u(x,t):=u_L$.
Then $u$ and $f(u)$ are constant on $\mathbb{R}\times(0,\infty)$, so
\begin{align*}
\partial_tu+\partial_xf(u)=0
\end{align*}
in the sense of distributions. For every $k\in\mathbb{R}$, the functions $\eta_k(u)$ and $q_k(u)$ are also constant, so
\begin{align*}
\partial_t\eta_k(u)+\partial_xq_k(u)=0.
\end{align*}
Thus $u$ is a Kruzhkov entropy solution. Its initial trace is the constant Riemann datum because $u(x,t)=u_L$ for every $(x,t)\in\mathbb{R}\times(0,\infty)$.
[guided]
Assume $u_L=u_R$. Define $u:\mathbb{R}\times(0,\infty)\to\mathbb{R}$ by $u(x,t):=u_L$. Since this function is constant, both $u$ and the composed flux $f(u)$ are constant on all of $\mathbb{R}\times(0,\infty)$. Therefore their distributional derivatives vanish, and
\begin{align*}
\partial_tu+\partial_xf(u)=0
\end{align*}
in the sense of distributions.
For the entropy condition, fix $k\in\mathbb{R}$. The Kruzhkov entropy value $\eta_k(u)=|u_L-k|$ is constant, and the Kruzhkov entropy flux $q_k(u)=\operatorname{sgn}(u_L-k)(f(u_L)-f(k))$ is also constant. Hence
\begin{align*}
\partial_t\eta_k(u)+\partial_xq_k(u)=0.
\end{align*}
This gives the Kruzhkov entropy inequality for every $k\in\mathbb{R}$. The initial trace is the constant Riemann datum because $u(x,t)=u_L$ for every $x\in\mathbb{R}$ and every $t>0$.
[/guided]
[/step]
[step:Use $L^1$ contraction to obtain uniqueness among bounded entropy solutions]
Let
\begin{align*}
v: \mathbb{R}\times(0,\infty)\to\mathbb{R}
\end{align*}
be any bounded Kruzhkov entropy solution with the same Riemann initial trace as the candidate constructed above. We use the local $L^1$ contraction estimate from the [Kruzhkov entropy solutions](/page/Entropy%20Solution) theory. Let $M>0$ be such that $|u(x,t)|\leq M$ and $|v(x,t)|\leq M$ for $\mathcal{L}^2$-almost every $(x,t)\in\mathbb{R}\times(0,\infty)$, and define the finite-speed constant
\begin{align*}
\Lambda_M:=\sup_{|r|\leq M}|f'(r)|.
\end{align*}
This number is finite because $f'\in C(\mathbb{R})$ and $[-M,M]$ is compact. The contraction estimate gives, for every compact interval $K\subset\mathbb{R}$ and every $t>0$,
\begin{align*}
\int_K |u(x,t)-v(x,t)|\,d\mathcal{L}^1(x)\leq \int_{K_t}|u_0(x)-v_0(x)|\,d\mathcal{L}^1(x),
\end{align*}
where $K_t:=\{x\in\mathbb{R}:\operatorname{dist}(x,K)\leq \Lambda_M t\}$. Since the two initial traces agree in $L^1_{\mathrm{loc}}(\mathbb{R})$, the right-hand side is zero, and therefore
\begin{align*}
\int_K |u(x,t)-v(x,t)|\,d\mathcal{L}^1(x)=0.
\end{align*}
Because $K\subset\mathbb{R}$ and $t>0$ were arbitrary, $u=v$ for $\mathcal{L}^2$-almost every $(x,t)\in\mathbb{R}\times(0,\infty)$, where $\mathcal{L}^2$ is the two-dimensional Lebesgue measure defined above. Therefore the shock, rarefaction, and constant candidates listed in the statement are the unique bounded Kruzhkov entropy solutions in their respective cases.
[guided]
Let
\begin{align*}
v: \mathbb{R}\times(0,\infty)\to\mathbb{R}
\end{align*}
be another bounded Kruzhkov entropy solution with the same Riemann initial trace. The uniqueness input is the local $L^1$ contraction estimate from the [Kruzhkov entropy solutions](/page/Entropy%20Solution) theory for bounded entropy solutions with flux $f\in C^2(\mathbb{R})$. Its hypotheses are satisfied here: both $u$ and $v$ are bounded entropy solutions, they solve the same conservation law with the same flux $f$, and their initial traces agree in $L^1_{\mathrm{loc}}(\mathbb{R})$.
We now state the finite-speed enlargement explicitly. Choose $M>0$ such that $|u(x,t)|\leq M$ and $|v(x,t)|\leq M$ for $\mathcal{L}^2$-almost every $(x,t)\in\mathbb{R}\times(0,\infty)$, and define
\begin{align*}
\Lambda_M:=\sup_{|r|\leq M}|f'(r)|.
\end{align*}
The constant $\Lambda_M$ is finite because $f'$ is continuous on the compact interval $[-M,M]$. For each compact interval $K\subset\mathbb{R}$ and each time $t>0$, set
\begin{align*}
K_t:=\{x\in\mathbb{R}:\operatorname{dist}(x,K)\leq \Lambda_M t\}.
\end{align*}
The local contraction estimate gives
\begin{align*}
\int_K |u(x,t)-v(x,t)|\,d\mathcal{L}^1(x)\leq \int_{K_t} |u_0(x)-v_0(x)|\,d\mathcal{L}^1(x).
\end{align*}
The enlargement from $K$ to $K_t$ is controlled exactly by the bound $\Lambda_M$ on characteristic speeds over the common range of the two solutions.
Since $u$ and $v$ have the same Riemann initial trace, their initial data agree in $L^1_{\mathrm{loc}}(\mathbb{R})$. Hence the right-hand side is zero, and therefore
\begin{align*}
\int_K |u(x,t)-v(x,t)|\,d\mathcal{L}^1(x)=0.
\end{align*}
Because $K\subset\mathbb{R}$ and $t>0$ were arbitrary, the two solutions agree for $\mathcal{L}^2$-almost every point of $\mathbb{R}\times(0,\infty)$. This proves uniqueness among bounded Kruzhkov entropy solutions with the prescribed Riemann trace.
[/guided]
[/step]