$\newcommand{\true}{\operatorname{true}}$ $\newcommand{\false}{\operatorname{false}}$ $\newcommand{\atoms}[1]{\mathscr{A}\left(#1\right)}$
In propositional logic, we seem to have the following statement: for any formula $A$ and atom $P$, $\vDash A \rightarrow \left(A\left(\top / P\right) \vee A\left(\bot / P\right)\right)$, where $\top$ and $\bot$ are atoms such that for any truth assignment $\tau$, $\tau\left(\top\right) = \true$ and $\tau\left(\bot\right) = \false$, and $A\left(\top / P\right)$ denotes the result from replacing every occurrence of $P$ by $\top$ in $A$. But I am having difficulty proving it. My proof goes as follows.
Let $\atoms{\cdot}$ denote the set of atoms in a formula. The case where $P \not\in \atoms{A}$ is trivial. We wish to prove the following statement: for any formula $A$, for any atom $P \in \atoms{A}$, $\vDash A \rightarrow \left(A \left(\top / P\right) \vee A \left(\bot / P\right)\right)$. I wish to prove the statement using structural induction.
First assume that $Q$ is an atom. It is our wish to prove that for any atom $P$, if $P \in \atoms{Q}$, then $\vDash Q \rightarrow \left(Q \left(\top / P\right) \vee Q \left(\bot / P\right)\right)$. Let $P$ be an atom such that $P \in \atoms{Q}$. Then we have \begin{equation*} P \equiv Q. \end{equation*} As a result, we have \begin{equation*} Q\left(\top / P\right) \equiv \top \end{equation*} and \begin{equation*} Q\left(\bot / P\right) \equiv \bot. \end{equation*} It is obvious that \begin{equation*} \vDash Q \rightarrow \left(\top \vee \bot\right). \end{equation*}
Next, assume that $A$ is a formula such that for any atom $P \in \atoms{A}$, $\vDash A \rightarrow \left(A \left(\top / P\right) \vee A \left(\bot / P\right)\right)$. We wish to prove that for any atom $P \in \atoms{\neg A}$, $\vDash \neg A \rightarrow \left(\neg A \left(\top / P\right) \vee \neg A \left(\bot / P\right)\right)$. Let $P \in \atoms{\neg A}$. Immediately we have $P \in \atoms{A}$. Then $\vDash A \rightarrow \left(A \left(\top / P\right) \vee A \left(\bot / P\right)\right)$, and thus, we have $\vDash \neg A \vee A \left(\top / P\right) \vee A \left(\bot / P\right)$. Thus, for any truth assignment $\tau$, either $\tau\left(A\right) = \false$ or $\tau\left(A\left(\top / P\right)\right) = \true$ or $\tau\left(A\left(\bot / P\right)\right) = \true$. Further, we have \begin{equation*} \neg A \left(\top / P\right) \equiv \neg \left( A \left(\top / P\right)\right) \end{equation*} and \begin{equation*} \neg A \left(\bot / P\right) \equiv \neg \left( A \left(\bot / P\right)\right). \end{equation*} As a result, \begin{equation*} \left(\neg A \left(\top / P\right) \vee \neg A \left(\bot / P\right)\right) \Leftrightarrow \neg \left(A\left(\top / P\right) \wedge A\left(\bot / P\right)\right). \end{equation*} Thus, it is our wish to prove that \begin{equation*} \vDash A \vee \neg \left(A\left(\top / P\right) \wedge A\left(\bot / P\right)\right). \end{equation*} Then I cannot proceed. Further, assume that $\tau$ is an assignment such that $\tau\left(A\right) = \false$ and $\tau\left(A\left(\top / P\right)\right) = \true$ and $\tau\left(A\left(\bot / P\right)\right) = \true$. Then we have $\tau\left(A \vee \neg \left(A\left(\top / P\right) \wedge A\left(\bot / P\right)\right)\right) = \false$. Seems that we cannot deal with the case of $\neg A$ in structural induction.