[step:Identify every open interval in $[a,b]$ with an open interval in $P$]
Let $u,v\in [a,b]$ with $u\le v$. The open interval from $u$ to $v$ computed inside $[a,b]$ is
\begin{align*}
(u,v)_{[a,b]}=\{x\in [a,b]:u<x<v\}.
\end{align*}
Since $u,v\in [a,b]$, every $x\in P$ satisfying $u<x<v$ also satisfies $a\le u<x<v\le b$, so $x\in [a,b]$. Hence
\begin{align*}
(u,v)_{[a,b]}=\{x\in P:u<x<v\}.
\end{align*}
By definition, the right-hand side is $(u,v)_P$, so the two open intervals are equal as posets. For any finite poset $Q$, let $\Delta(Q)$ denote its order complex, whose simplices are the finite chains in $Q$. Therefore their order complexes are equal:
\begin{align*}
\Delta((u,v)_{[a,b]})=\Delta((u,v)_P).
\end{align*}
Because $P$ is Cohen-Macaulay over $k$, the order complex $\Delta((u,v)_P)$ is Cohen-Macaulay over $k$ for every such pair $u\le v$. Hence $\Delta((u,v)_{[a,b]})$ is Cohen-Macaulay over $k$ for every interval in $[a,b]$, so $[a,b]$ is Cohen-Macaulay over $k$.[/step]