[guided]The point of this step is to make precise the phrase “translate back from the opposite category.” Let $\varphi$ be a categorical formula in the first-order categorical language whose variables are typed as object variables or as morphism variables with specified source and target object variables. Define $\varphi^{\mathrm{op}}$ recursively as follows: reverse the source and target in each atomic morphism-typing assertion; leave identity and equality assertions unchanged except for the reversed ambient types; replace each atomic composition assertion $h = g \circ f$ by the reversed-order assertion $h = f \circ g$ with all morphism types reversed; commute dualization with $\neg$, $\wedge$, $\vee$, $\implies$, $\forall$, and $\exists$, while reversing the type of every quantified morphism variable. Fix an assignment of each object variable of $\varphi$ to an object of $\mathcal C$, and fix an assignment of each morphism variable of $\varphi$ to an underlying morphism whose source and target match the interpretation in $\mathcal C^{\mathrm{op}}$. We prove, by structural induction on this recursive construction of $\varphi$, that
\begin{align*}
\mathcal C^{\mathrm{op}} \models \varphi
\quad \Longleftrightarrow \quad
\mathcal C \models \varphi^{\mathrm{op}} .
\end{align*}
First consider the atomic formulas. If the atomic assertion says that a morphism has type $A \to B$ in $\mathcal C^{\mathrm{op}}$, then the definition of $\mathcal C^{\mathrm{op}}$ says exactly that the same underlying morphism has type $B \to A$ in $\mathcal C$. This is precisely the dual source-target assertion. If the atomic assertion is an identity assertion, the same morphism $\operatorname{id}_A: A \to A$ is the identity on $A$ in both $\mathcal C$ and $\mathcal C^{\mathrm{op}}$, so the assertion is unchanged after dualising. If the atomic assertion is a composition assertion, then for morphisms $f: A \to B$ and $g: B \to C$ in $\mathcal C$ the defining rule
\begin{align*}
f^{\mathrm{op}} \circ_{\mathcal C^{\mathrm{op}}} g^{\mathrm{op}}
&= (g \circ_{\mathcal C} f)^{\mathrm{op}}
\end{align*}
shows that composition in $\mathcal C^{\mathrm{op}}$ translates to composition in the reversed order in $\mathcal C$. If the atomic assertion is equality of morphisms, then equality is preserved because $\mathcal C$ and $\mathcal C^{\mathrm{op}}$ have the same underlying morphisms; only their source and target directions are read oppositely.
Now assume the equivalence has been proved for formulas $\psi$ and $\theta$. For negation, conjunction, disjunction, and implication, the truth values of the compound formulas are determined by the truth values of their constituent formulas, so the induction hypothesis gives the corresponding equivalence for $\neg \psi$, $\psi \wedge \theta$, $\psi \vee \theta$, and $\psi \implies \theta$. For quantifiers, the ranges are also matched: object quantifiers range over the same objects in $\mathcal C$ and $\mathcal C^{\mathrm{op}}$, and morphism quantifiers range over the same underlying arrows with source and target reversed. Therefore existential and universal quantifiers preserve the equivalence under the same assignment convention.
Thus the structural induction proves that for every categorical formula $\varphi$,
\begin{align*}
\mathcal C^{\mathrm{op}} \models \varphi
\quad \Longleftrightarrow \quad
\mathcal C \models \varphi^{\mathrm{op}} .
\end{align*}
In particular, when $P$ is a sentence, there are no free variables or assignments left to specify, and we obtain
\begin{align*}
\mathcal C^{\mathrm{op}} \models P
\quad \Longleftrightarrow \quad
\mathcal C \models P^{\mathrm{op}} .
\end{align*}[/guided]