content/normal-modal-logic/tableaux/tableaux.tex
1% Part: normal-modal-logic2% Chapter: axioms-systems34\documentclass[../../../include/open-logic-chapter]{subfiles}56\begin{document}78\olchapter{nml}{tab}{Modal \usetoken{P}{tableau}}910\begin{editorial}11 Draft chapter on prefixed tableaux for modal logic. Needs more12 examples, completeness proofs, and discussion of how one can find13 countermodels from unsuccessful searches for closed tableaux.14\end{editorial}1516\olimport{introduction}17\olimport{rules-for-K}18\olimport{proofs-in-K}19\olimport{soundness}20\olimport{more-rules}21\olimport{more-soundness}22\olimport{simple-S5}23\olimport{completeness}24\olimport{countermodels}2526\OLEndChapterHook2728\end{document}29
content/normal-modal-logic/tableaux/introduction.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: introduction45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{int}1011\olsection{Introduction}1213!!^{tableau}s are certain (downward-branching) trees of !!{signed14 formula}s, i.e., pairs consisting of a truth value sign ($\True$ or15$\False$) and !!a{sentence}16\[17\sFmla{\True}{!A} \text{ or } \sFmla{\False}{!A}.18\]19!!^a{tableau} begins with a number of \emph{assumptions}. Each further20!!{signed formula} is generated by applying one of the inference21rules. Some inference rules add one or more !!{signed formula}s to a22tip of the tree; others add two new tips, resulting in two branches.23Rules result in !!{signed formula}s where the !!{formula} is24less complex than that of the !!{signed formula} to which it was25applied. When a branch contains both $\sFmla{\True}{!A}$ and26$\sFmla{\False}{!A}$, we say the branch is \emph{closed}. If every27branch in !!a{tableau} is closed, the entire !!{tableau} is closed. A28closed !!{tableau} constitutes !!a{derivation} that shows that the set29of !!{signed formula}s which were used to begin the !!{tableau} are30unsatisfiable. This can be used to define a $\Proves$ relation:31$\Gamma \Proves !A$ iff there is some finite set~$\Gamma_0 = \{!B_1,32\dots, !B_n\} \subseteq \Gamma$ such that there is a closed33!!{tableau} for the assumptions34\[35\{\sFmla{\False}{!A}, \sFmla{\True}{!B_1}, \dots, \sFmla{\True}{!B_n}\}.36\]3738For modal logics, we have to both extend the notion of !!{signed39formula} and add rules that40cover~\iftag{prvBox}{$\Box$\iftag{prvDiamond}{ and41 $\Diamond$}}{$\Diamond$}. In addition to a sign($\True$ or42$\False$), !!{formula}s in modal !!{tableau}s also have43\emph{prefixes}~$\sigma$. The prefixes are non-empty sequences of44positive integers, i.e., $\sigma \in (\PosInt)^* \setminus45\{\emptyseq\}$. When we write such prefixes without the surrounding46$\tuple{\ }$, and separate the individual !!{element}s by~$.$'s47instead of $,$'s. If $\sigma$ is a prefix, then $\sigma.n$ is $\sigma48\concat \tuple{n}$; e.g., if $\sigma = 1.2.1$, then $\sigma.3$ is49$1.2.1.3$. So for instance,50\[51\sFmla{\True}{\Box !A \lif !A}[1.2]52\]53is a \emph{prefixed !!{signed formula}} (or just a \emph{prefixed54 !!{formula}} for short).5556Intuitively, the prefix names a world in a model that might satisfy57the !!{formula}s on a branch of !!a{tableau}, and if $\sigma$ names58some world, then $\sigma.n$ names a world accessible from (the world59named by)~$\sigma$.6061\end{document}
content/normal-modal-logic/tableaux/rules-for-K.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: rules-for-K45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{rul}1011\olsection{Rules for \Ax{K}}1213The rules for the regular propositional connectives are the same as14for regular propositional signed !!{tableau}s, just with prefixes15added. In each case, the rule applied to a signed !!{formula}16$\sFmla{S}{!A}[\sigma]$ produces new !!{formula}s that are also17prefixed by~$\sigma$. This should be intuitively clear: e.g., if $!A18\land !B$ is true at (a world named by)~$\sigma$, then $!A$ and $!B$19are true at~$\sigma$ (and not at any other world). We collect the20propositional rules in \olref{tab:prop-rules}.2122\begin{table}23 \[\def\arraystretch{3}\begin{array}{|c|c|}24 \hline25 \AxiomC{\sFmla{\True}{\lnot !A}[\sigma]}26 \RightLabel{\TRule{\True}{\lnot}}27 \UnaryInfC{\sFmla{\False}{!A}[\sigma]}28 \DisplayProof29 &30 \AxiomC{\sFmla{\False}{\lnot !A}[\sigma]}31 \RightLabel{\TRule{\False}{\lnot}}32 \UnaryInfC{\sFmla{\True}{!A}[\sigma]}33 \DisplayProof34 \\[1ex]35 \hline36 \AxiomC{\sFmla{\True}{!A \land !B}[\sigma]}37 \RightLabel{\TRule{\True}{\land}}38 \UnaryInfC{\sFmla{\True}{!A}[\sigma]}39 \noLine40 \UnaryInfC{\sFmla{\True}{!B}[\sigma]}41 \DisplayProof42 &43 \AxiomC{\sFmla{\False}{!A \land !B}[\sigma]}44 \RightLabel{\TRule{\False}{\land}}45 \UnaryInfC{$\sFmla{\False}{!A}[\sigma] \quad \mid \quad46 \sFmla{\False}{!B}[\sigma]$}47 \DisplayProof48 \\[2ex]49 \hline50 \AxiomC{\sFmla{\True}{!A \lor !B}[\sigma]}51 \RightLabel{\TRule{\True}{\lor}}52 \UnaryInfC{$\sFmla{\True}{!A}[\sigma] \quad \mid \quad53 \sFmla{\True}{!B}[\sigma]$}54 \DisplayProof55 &56 \AxiomC{\sFmla{\False}{!A \lor !B}[\sigma]}57 \RightLabel{\TRule{\False}{\lor}}58 \UnaryInfC{\sFmla{\False}{!A}[\sigma]}59 \noLine60 \UnaryInfC{\sFmla{\False}{!B}[\sigma]}61 \DisplayProof62 \\[2ex]63 \hline64 \AxiomC{\sFmla{\True}{!A \lif !B}[\sigma]}65 \RightLabel{\TRule{\True}{\lif}}66 \UnaryInfC{$\sFmla{\False}{!A}[\sigma] \quad \mid67 \quad \sFmla{\True}{!B}[\sigma]$}68 \DisplayProof69 &70 \AxiomC{\sFmla{\False}{!A \lif !B}[\sigma]}71 \RightLabel{\TRule{\False}{\lif}}72 \UnaryInfC{\sFmla{\True}{!A}[\sigma]}73 \noLine74 \UnaryInfC{\sFmla{\False}{!B}[\sigma]}75 \DisplayProof76 \\[2ex]77 \hline78 \end{array}\]79 \caption{Prefixed !!{tableau} rules for the propositional80 connectives}81 \ollabel{tab:prop-rules}82\end{table}8384The closure condition is the same as for ordinary !!{tableau}s,85although we require that not just the !!{formula}s but also the86prefixes must match. So a branch is closed if it contains both87\[88\sFmla{\True}{!A}[\sigma] \quad\text{and}\quad \sFmla{\False}{!A}[\sigma]89\]90for some prefix $\sigma$ and !!{formula}~$!A$.9192The rules for setting up assumptions is also as for ordinary93!!{tableau}s, except that for assumptions we always use the94prefix~$1$. (It does not matter which prefix we use, as long as it's95the same for all assumptions.) So, e.g., we say that96\[97!B_1, \dots, !B_n \Proves !A98\]99iff there is a closed tableau for the assumptions100\[101\sFmla{\True}{!B_1}[1], \dots, \sFmla{\True}{!B_n}[1],102\sFmla{\False}{!A}[1].103\]104105For the modal operator\iftag{prvBox}{\iftag{prvDiamond}{s~$\Box$106 and}{~$\Box$}}{}\iftag{prvDiamond}{~$\Diamond$}{}, the prefix of107the conclusion of the rule applied to !!a{formula} with108prefix~$\sigma$ is $\sigma.n$. However, which $n$ is allowed depends109on whether the sign is~$\True$ or~$\False$.110111\iftag{prvBox}{The $\TRule{\True}{\Box}$ rule extends a branch112 containing $\sFmla{\True}{\Box !A}[\sigma]$ by113 $\sFmla{\True}{!A}[\sigma.n]$.\iftag{prvDiamond}{ Similarly,114 t}{}}{T}\iftag{prvDiamond}{he $\TRule{\False}{\Diamond}$ rule115 extends a branch containing $\sFmla{\False}{\Diamond !A}[\sigma]$ by116 $\sFmla{\False}{!A}[\sigma.n]$.}{}117\iftag{notprvBox,notprvDiamond}{It}{They} can only be applied for a118prefix~$\sigma.n$ which \emph{already} occurs on the branch in which119it is applied. Let's call such a prefix ``used'' (on the branch).120121\iftag{prvBox}{The $\TRule{\False}{\Box}$ rule extends a branch122 containing $\sFmla{\False}{\Box !A}[\sigma]$ by123 $\sFmla{\False}{!A}[\sigma.n]$.\iftag{prvDiamond}{ Similarly,124 t}{}}{T}\iftag{prvDiamond}{he $\TRule{\True}{\Diamond}$ rule extends125 a branch containing $\sFmla{\True}{\Diamond !A}[\sigma]$ by126 $\sFmla{\True}{!A}[\sigma.n]$.}{}127\iftag{notprvBox,notprvDiamond}{This rule}{These rules}, however, can128only be applied for a prefix~$\sigma.n$ which \emph{does not} already129occur on the branch in which it is applied. We call such prefixes130``new'' (to the branch).131132The rules are given in \olref{tab:rules-K}.133134\begin{table}135 \begin{center}136 \def\arraystretch{3}\def\fCenter{}137 \begin{tabular}{|c|c|}138 \hline139 \iftag{prvBox}{140 \AxiomC{\sFmla{\True}{\Box !A}[\sigma]}141 \RightLabel{\TRule{\True}{\Box}}142 \UnaryInfC{\sFmla{\True}{!A}[\sigma.n]}143 \DisplayProof144 &145 \AxiomC{\sFmla{\False}{\Box !A}[\sigma]}146 \RightLabel{\TRule{\False}{\Box}}147 \UnaryInfC{\sFmla{\False}{!A}[\sigma.n]}148 \DisplayProof\\149 $\sigma.n$ is used & $\sigma.n$ is new150 \\[1ex]151 \hline}{}152 \iftag{prvDiamond}{153 \AxiomC{\sFmla{\True}{\Diamond !A}[\sigma]}154 \RightLabel{\TRule{\True}{\Diamond}}155 \UnaryInfC{\sFmla{\True}{!A}[\sigma.n]}156 \DisplayProof157 &158 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma]}159 \RightLabel{\TRule{\False}{\Diamond}}160 \UnaryInfC{\sFmla{\False}{!A}[\sigma.n]}161 \DisplayProof\\162 $\sigma.n$ is new & $\sigma.n$ is used163 \\[1ex]164 \hline}{}165 \end{tabular}166 \end{center}167 \caption{The modal rules for \Ax{K}.}168 \ollabel{tab:rules-K}169\end{table}170171The requirement that the restriction that the prefix for172\iftag{prvBox}{\TRule{\True}{\Box}}{\TRule{\False}{\Diamond}} must be173used is necessary as otherwise we would count the following as a174closed !!{tableau}:175\iftag{notprvBox,notprvDiamond}{%176 \iftag{prvBox}{%177 \begin{oltableau}178 [\pFmla{\True}{\Box \formula{A}}{1}, just = \TAss179 [\pFmla{\False}{\lnot\Box\lnot \formula{A}}{1}, just = \TAss180 [\pFmla{\True}{\formula{A}}{1.1}, just = {\TRule{\True}{\Box}[1]}181 [\pFmla{\True}{\Box\lnot\formula{A}}{1},182 just ={\TRule{\False}{\lnot}[2]}183 [\pFmla{\True}{\lnot\formula{A}}{1.1},184 just = {\TRule{\True}{\Box}[4]}185 [\pFmla{\False}{\formula{A}}{1.1},186 just ={\TRule{\True}{\lnot}[5]}, close]187 ]188 ]189 ]190 ]191 ]192 \end{oltableau}193 }{194 \begin{oltableau}195 [\pFmla{\True}{\lnot\Diamond\lnot \formula{A}}{1}, just = \TAss196 [\pFmla{\False}{\Diamond\formula{A}}{1}, just = \TAss197 [\pFmla{\False}{\formula{A}}{1.1}, just = {\TRule{\False}{\Diamond}[2]}198 [\pFmla{\False}{\Diamond\lnot\formula{A}}{1},199 just ={\TRule{\True}{\lnot}[1]}200 [\pFmla{\False}{\lnot\formula{A}}{1.1},201 just = {\TRule{\False}{\Diamond}[4]}202 [\pFmla{\True}{\formula{A}}{1.1},203 just ={\TRule{\True}{\lnot}[5]}, close]204 ]205 ]206 ]207 ]208 ]209 \end{oltableau}210}}{211 \begin{oltableau}212 [\pFmla{\True}{\Box \formula{A}}{1}, just = \TAss213 [\pFmla{\False}{\Diamond \formula{A}}{1}, just = \TAss214 [\pFmla{\True}{\formula{A}}{1.1}, just = {\TRule{\True}{\Box}[1]}215 [\pFmla{\False}{\formula{A}}{1.1},216 just = {\TRule{\False}{\Diamond}[2]}, close]217 ]218 ]219 ]220\end{oltableau}}221222But $\Box \formula{A} \Entails/ \Diamond \formula{A}$, so our proof223system would be unsound. Likewise, $\Diamond \formula{A} \Entails/224\Box \formula{A}$, but without the restriction that the prefix for225\iftag{prvBox}{\TRule{\False}{\Box}}{\TRule{\True}{\Diamond}} must be226new, this would be a closed tableau: \iftag{notprvBox,notprvDiamond}{%227 \iftag{prvBox}{%228 \begin{oltableau}229 [\pFmla{\True}{\lnot\Box\lnot \formula{A}}{1}, just = \TAss230 [\pFmla{\False}{\Box \formula{A}}{1}, just = \TAss231 [\pFmla{\False}{\formula{A}}{1.1}, just = {\TRule{\True}{\Box}[2]}232 [\pFmla{\False}{\Box\lnot\formula{A}}{1},233 just ={\TRule{\True}{\lnot}[1]}234 [\pFmla{\False}{\lnot\formula{A}}{1.1},235 just = {\TRule{\False}{\Box}[4]}236 [\pFmla{\True}{\formula{A}}{1.1},237 just ={\TRule{\False}{\lnot}[5]}, close]238 ]239 ]240 ]241 ]242 ]243 \end{oltableau}244 }{245 \begin{oltableau}246 [\pFmla{\True}{\Diamond \formula{A}}{1}, just = \TAss247 [\pFmla{\False}{\lnot\Diamond\lnot\formula{A}}{1}, just = \TAss248 [\pFmla{\True}{\formula{A}}{1.1}, just = {\TRule{\True}{\Diamond}[1]}249 [\pFmla{\True}{\Diamond\lnot\formula{A}}{1},250 just ={\TRule{\False}{\lnot}[2]}251 [\pFmla{\True}{\lnot\formula{A}}{1.1},252 just = {\TRule{\True}{\Diamond}[4]}253 [\pFmla{\False}{\formula{A}}{1.1},254 just ={\TRule{\True}{\lnot}[5]}, close]255 ]256 ]257 ]258 ]259 ]260 \end{oltableau}261}}{262 \begin{oltableau}263 [\pFmla{\True}{\Diamond \formula{A}}{1}, just = \TAss,name=one264 [\pFmla{\False}{\Box \formula{A}}{1}, just = \TAss, name=two265 [\pFmla{\True}{\formula{A}}{1.1}, just = {\TRule{\True}{\Diamond}[1]}266 [\pFmla{\False}{\formula{A}}{1.1},267 just = {\TRule{\False}{\Box}[2]}, close]268 ]269 ]270 ]271 \end{oltableau}}272273\end{document}
content/normal-modal-logic/tableaux/proofs-in-K.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: proofs-in-K45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{prk}1011\olsection{\usetoken{P}{tableau} for \Log{K}}1213\iftag{prvBox}{1415\begin{ex}16 We give a closed tableau that shows $\Proves (\Box!A \land \Box!B)17 \lif \Box (!A \land !B)$.18 \begin{oltableau}19 [\pFmla{\False}{(\Box\formula{A} \land \Box\formula{B}) \lif20 \Box (\formula{A} \land \formula{B})}{1},21 just =\TAss22 [\pFmla{\True}{\Box\formula{A} \land \Box\formula{B}}{1},23 just = {\TRule{\False}{\lif}[1]}24 [\pFmla{\False}{\Box(\formula{A} \land \formula{B})}{1},25 just = {\TRule{\False}{\lif}[1]}26 [\pFmla{\True}{\Box\formula{A}}{1},27 just = {\TRule{\True}{\land}[2]}28 [\pFmla{\True}{\Box\formula{B}}{1},29 just = {\TRule{\True}{\land}[2]}30 [\pFmla{\False}{\formula{A} \land \formula{B}}{1.1},31 just = {\TRule{\False}{\Box}[3]}32 [\pFmla{\False}{\formula{A}}{1.1},33 just = {\TRule{\False}{\land}[6]}34 [\pFmla{\True}{\formula{A}}{1.1},35 just= {\TRule{\True}{\Box}[4]}, close]]36 [\pFmla{\False}{\formula{B}}{1.1},37 just = {\TRule{\False}{\land}[6]}38 [\pFmla{\True}{\formula{B}}{1.1},39 just= {\TRule{\True}{\Box}[5]}, close]]40 ]41 ]42 ]43 ]44 ]45 ]46 \end{oltableau}47\end{ex}48}{}4950\iftag{prvDiamond}{51\begin{ex}52 We give a closed tableau that shows $\Proves \Diamond(!A \lor !B)53 \lif (\Diamond !A \lor \Diamond !B)$:54 \begin{oltableau}55 [\pFmla{\False}{\Diamond(\formula{A} \lor \formula{B}) \lif56 (\Diamond \formula{A} \lor \Diamond \formula{B})}{1},57 just =\TAss58 [\pFmla{\True}{\Diamond(\formula{A} \lor \formula{B})}{1},59 just = {\TRule{\False}{\lif}[1]}60 [\pFmla{\False}{\Diamond\formula{A} \lor \Diamond\formula{B}}{1},61 just = {\TRule{\False}{\lif}[1]}62 [\pFmla{\False}{\Diamond\formula{A}}{1},63 just = {\TRule{\False}{\lor}[3]}64 [\pFmla{\False}{\Diamond\formula{B}}{1},65 just = {\TRule{\False}{\lor}[3]}66 [\pFmla{\True}{\formula{A} \lor \formula{B}}{1.1},67 just = {\TRule{\True}{\Diamond}[2]},68 [\pFmla{\True}{\formula{A}}{1.1},69 just = {\TRule{\True}{\lor}[6]}70 [\pFmla{\False}{\formula{A}}{1.1},71 just= {\TRule{\False}{\Diamond}[4]}, close]]72 [\pFmla{\True}{\formula{B}}{1.1},73 just = {\TRule{\True}{\lor}[6]}74 [\pFmla{\False}{\formula{B}}{1.1},75 just= {\TRule{\False}{\Diamond}[5]}, close]]76 ]77 ]78 ]79 ]80 ]81 ]82 \end{oltableau}83\end{ex}84}{}858687\begin{prob}88 Find closed !!{tableau}s in~$\Log{K}$ for the following !!{formula}s:89 \begin{enumerate}90 \item $\Box \lnot p \lif \Box(p \lif q)$91 \item $(\Box p \lor \Box q) \lif \Box(p \lor q)$92 \item $\Diamond p \lif \Diamond(p \lor q)$93 \item $\Box(p \land q) \lif \Box p$94 \end{enumerate}95\end{prob}9697\end{document}
content/normal-modal-logic/tableaux/soundness.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: soundness45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{sou}1011\olsection{Soundness for \Log{K}}1213\begin{editorial}14 This soundness proof reuses the soundness proof for classical15 propositional logic, i.e., it proves everything from scratch. That's16 ok if you want a self-contained soundness proof. If you already have17 seen soundness for ordinary tableau this will be repetitive. It's18 planned to make it possible to switch between self-contained version19 and a version building on the non-modal case.20\end{editorial}2122\begin{explain}23 In order to show that prefixed !!{tableau}s are sound, we have to24 show that if25 \[26 \sFmla{\True}{!B_1}[1], \dots, \sFmla{\True}{!B_n}[1], \sFmla{\False}{!A}[1]27 \]28 has a closed !!{tableau} then $!B_1, \dots, !B_n \Entails !A$. It is29 easier to prove the contrapositive: if for some $\mModel{M}$ and30 world~$w$, $\mSat{M}{!B_i}[w]$ for all $i=1$, \dots,~$n$ but31 $\mSat{M}{!A}[w]$, then no !!{tableau} can close. Such a32 countermodel shows that the initial assumptions of the !!{tableau}33 are satisfiable. The strategy of the proof is to show that whenever34 all the prefixed !!{formula}s on !!a{tableau} branch are35 satisfiable, any application of a rule results in at least one36 extended branch that is also satisfiable. Since closed branches are37 unsatisfiable, any !!{tableau} for a satisfiable set of prefixed38 !!{formula}s must have at least one open branch.3940 In order to apply this strategy in the modal case, we have to extend41 our definition of ``satisfiable'' to modal modals and prefixes. With42 that in hand, however, the proof is straightforward.43\end{explain}4445\begin{defn}46 Let $P$ be some set of prefixes, i.e., $P \subseteq (\PosInt)^*47 \setminus \{\emptyseq\}$ and let $\mModel{M}$ be a model. A48 function~$f\colon P \to W$ is an \emph{interpretation of}~$P$49 in~$\mModel{M}$ if, whenever $\sigma$ and $\sigma.n$ are both50 in~$P$, then $Rf(\sigma)f(\sigma.n)$.5152 Relative to an interpretation of prefixes~$P$ we can define:53 \begin{enumerate}54 \item $\mModel{M}$ satisfies $\sFmla{\True}{!A}[\sigma]$ iff55 $\mSat{M}{!A}[f(\sigma)]$.56 \item $\mModel{M}$ satisfies $\sFmla{\False}{!A}[\sigma]$ iff57 $\mSat/{M}{!A}[f(\sigma)]$.58 \end{enumerate}59\end{defn}6061\begin{defn}62 Let $\Gamma$ be a set of prefixed !!{formula}s, and let $P(\Gamma)$63 be the set of prefixes that occur in it. If $f$ is an interpretation64 of~$P(\Gamma)$ in $\mModel{M}$, we say that $\mModel{M}$ satisfies65 $\Gamma$ with respect to~$f$, $\mSat{M}{\Gamma}[f]$, if $\mModel{M}$66 satisfies every prefixed !!{formula} in~$\Gamma$ with respect67 to~$f$. $\Gamma$ is \emph{satisfiable} iff there is a68 model~$\mModel{M}$ and interpretation~$f$ of $P(\Gamma)$ such that69 $\mSat{M}{\Gamma}[f]$.70\end{defn}7172\begin{prop}73 If $\Gamma$ contains both $\sFmla{\True}{!A}[\sigma]$ and74 $\sFmla{\False}{!A}[\sigma]$, for some !!{formula}~$!A$ and75 prefix~$\sigma$, then $\Gamma$ is unsatisfiable.76\end{prop}7778\begin{proof}79 There cannot be a model~$\mModel{M}$ and interpretation~$f$ of80 $P(\Gamma)$ such that both $\mSat{M}{!A}[f(\sigma)]$ and81 $\mSat/{M}{!A}[f(\sigma)]$.82\end{proof}8384\begin{thm}[Soundness]85 \ollabel{thm:tableau-soundness}86 If $\Gamma$ has a closed !!{tableau}, $\Gamma$ is unsatisfiable.87\end{thm}8889\begin{proof}90We call a branch of !!a{tableau} satisfiable iff the set of91!!{signed formula}s on it is satisfiable, and let's call !!a{tableau}92satisfiable if it contains at least one satisfiable branch.9394We show the following: Extending a satisfiable !!{tableau} by one of95the rules of inference always results in a satisfiable !!{tableau}.96This will prove the theorem: any closed !!{tableau} results by97applying rules of inference to the !!{tableau} consisting only of98assumptions from~$\Gamma$. So if $\Gamma$ were satisfiable, any99!!{tableau} for it would be satisfiable. A closed !!{tableau},100however, is clearly not satisfiable, since all its branches are closed101and closed branches are unsatisfiable.102103Suppose we have a satisfiable !!{tableau}, i.e., !!a{tableau} with at104least one satisfiable branch. Applying a rule of inference either adds105!!{signed formula}s to a branch, or splits a branch in two. If the106!!{tableau} has a satisfiable branch which is not extended by the rule107application in question, it remains a satisfiable branch in the108extended !!{tableau}, so the extended tableau is satisfiable. So we109only have to consider the case where a rule is applied to a110satisfiable branch.111112Let $\Gamma$ be the set of !!{signed formula}s on that branch, and let113$\sFmla{S}{!A}[\sigma] \in \Gamma$ be the !!{signed formula} to which114the rule is applied. If the rule does not result in a split branch, we115have to show that the extended branch, i.e., $\Gamma$ together with116the conclusions of the rule, is still satisfiable. If the rule results117in split branch, we have to show that at least one of the two118resulting branches is satisfiable.119\tagfalse{prvDiamond}120First, we consider the possible inferences with only one premise.121\begin{enumerate}122\item The branch is expanded by applying $\TRule{\True}{\lnot}$ to123 $\sFmla{\True}{\lnot !B}[\sigma] \in \Gamma$. Then the extended124 branch contains the !!{signed formula}s $\Gamma \cup125 \{\sFmla{\False}{!B}[\sigma]\}$. Suppose $\mSat{M}{\Gamma}[f]$. In126 particular, $\mSat{M}{\lnot !B}[f(\sigma)]$. Thus,127 $\mSat/{M}{!B}[f(\sigma)]$, i.e., $\mModel{M}$ satisfies128 $\sFmla{\False}{!B}[\sigma]$ with respect to~$f$.129\item The branch is expanded by applying $\TRule{\False}{\lnot}$ to130 $\sFmla{\False}{\lnot !B}[\sigma] \in \Gamma$: Exercise.131\item The branch is expanded by applying $\TRule{\True}{\land}$ to132 $\sFmla{\True}{!B \land !C}[\sigma] \in \Gamma$, which results in133 two new !!{signed formula}s on the branch:134 $\sFmla{\True}{!B}[\sigma]$ and $\sFmla{\True}{!C}[\sigma]$. Suppose135 $\mSat{M}{\Gamma}[f]$, in particular $\mSat{M}{!B \land136 !C}[f(\sigma)]$. Then $\mSat{M}{!B}[f(\sigma)]$ and137 $\mSat{M}{!C}[f(\sigma)]$. This means that $\mModel{M}$ satisfies138 both $\sFmla{\True}{!B}[\sigma]$ and $\sFmla{\True}{!C}[\sigma]$139 with respect to~$f$.140\item The branch is expanded by applying $\TRule{\False}{\lor}$ to141 $\sFmla{\False}{!B \lor !C} \in \Gamma$: Exercise.142\item The branch is expanded by applying $\TRule{\False}{\lif}$ to143 $\sFmla{\False}{!B \lif !C}[\sigma] \in \Gamma$: This results in two144 new !!{signed formula}s on the branch: $\sFmla{\True}{!B}[\sigma]$ and145 $\sFmla{\False}{!C}[\sigma]$. Suppose146 $\mSat{M}{\Gamma}[f]$, in particular147 $\mSat/{M}{!B \lif !C}[f(\sigma)]$. Then148 $\mSat{M}{!B}[f(\sigma)]$ and149 $\mSat/{M}{!C}[f(\sigma)]$. This means that150 $\mModel{M}, f$ satisfies both151 $\sFmla{\True}{!B}[\sigma]$ and $\sFmla{\False}{!C}[\sigma]$.152153\iftag{prvBox}{%154\item The branch is expanded by applying $\TRule{\True}{\Box}$ to155 $\sFmla{\True}{\Box !B}[\sigma] \in \Gamma$:156 \iftag{probBox}{Exercise.}{This results in a new !!{signed157 formula}~$\sFmla{\True}{!B}[\sigma.n]$ on the branch, for some158 $\sigma.n \in P(\Gamma)$ (since $\sigma.n$ must be used). Suppose159 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat{M}{\Box160 !B}[f(\sigma)]$. Since $f$ is an interpretation of prefixes and161 both $\sigma$, $\sigma.n \in P(\Gamma)$, we know that162 $Rf(\sigma)f(\sigma.n)$. Hence, $\mSat{M}{!B}[f(\sigma.n)]$,163 i.e., $\mModel{M}, f$ satisfies $\sFmla{\True}{!B}[\sigma.n]$.}164165\item The branch is expanded by applying $\TRule{\False}{\Box}$ to166 $\sFmla{\False}{\Box !B}[\sigma] \in \Gamma$:167 \iftag{probBox}{Exercise.}{This results in a new !!{signed168 formula}~$\sFmla{\False}{!A}[\sigma.n]$, where $\sigma.n$ is a169 new prefix on the branch, i.e., $\sigma.n \notin P(\Gamma)$.170 Since $\Gamma$ is satisfiable, there is a $\Struct{M}$ and171 interpretation~$f$ of $P(\Gamma)$ such that $\Sat{M}{\Gamma}[f]$,172 in particular $\mSat/{M}{\Box !B}[f(\sigma)]$. We have to show173 that $\Gamma \cup \{\sFmla{\False}{!B}[\sigma.n]\}$ is174 satisfiable. To do this, we define an interpretation of $P(\Gamma)175 \cup \{\sigma.n\}$ as follows:176177 Since $\mSat/{M}{\Box !B}[f(\sigma)]$, there is a $w \in W$ such that178 $Rf(\sigma)w$ and $\mSat/{M}{!B}[w]$. Let $f'$ be like $f$, except179 that $f'(\sigma.n) = w$. Since $f'(\sigma) = f(\sigma)$ and180 $Rf(\sigma)w$, we have $Rf'(\sigma)f'(\sigma.n)$, so $f'$ is an181 interpretation of $P(\Gamma) \cup \{\sigma.n\}$. Obviously182 $\mSat/{M}{!B}[f'(\sigma.n)]$. Since $f(\sigma') = f'(\sigma')$ for183 all prefixes $\sigma' \in P(\Gamma)$, $\mSat{M}{\Gamma}[f']$. So,184 $\mModel{M}, f'$ satisfies $\Gamma \cup185 \{\sFmla{\False}{!B}[\sigma.n]\}$.}186 }{}187188\iftag{prvDiamond}{%189\item The branch is expanded by applying $\TRule{\True}{\Diamond}$ to190 $\sFmla{\True}{\Diamond !B}[\sigma] \in \Gamma$:191 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed192 formula}~$\sFmla{\True}{!A}[\sigma.n]$, where $\sigma.n$ is a193 new prefix on the branch, i.e., $\sigma.n \notin P(\Gamma)$.194 Since $\Gamma$ is satisfiable, there is a $\Struct{M}$ and195 interpretation~$f$ of $P(\Gamma)$ such that $\Sat{M}{\Gamma}[f]$,196 in particular $\mSat{M}{\Diamond !B}[f(\sigma)]$. We have to show197 that $\Gamma \cup \{\sFmla{\True}{!B}[\sigma.n]\}$ is198 satisfiable. To do this, we define an interpretation of $P(\Gamma)199 \cup \{\sigma.n\}$ as follows:200201 Since $\mSat{M}{\Diamond !B}[f(\sigma)]$, there is a $w \in W$ such that202 $Rf(\sigma)w$ and $\mSat{M}{!B}[w]$. Let $f'$ be like $f$, except203 that $f'(\sigma.n) = w$. Since $f'(\sigma) = f(\sigma)$ and204 $Rf(\sigma)w$, we have $Rf'(\sigma)f'(\sigma.n)$, so $f'$ is an205 interpretation of $P(\Gamma) \cup \{\sigma.n\}$. Obviously206 $\mSat{M}{!B}[f'(\sigma.n)]$. Since $f(\sigma') = f'(\sigma')$ for207 all prefixes $\sigma' \in P(\Gamma)$, $\mSat{M}{\Gamma}[f']$. So,208 $\mModel{M}, f'$ satisfies $\Gamma \cup209 \{\sFmla{\True}{!B}[\sigma.n]\}$.}210\item The branch is expanded by applying $\TRule{\False}{\Diamond}$ to211 $\sFmla{\False}{\Diamond !B}[\sigma] \in \Gamma$:212 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed213 formula}~$\sFmla{\False}{!B}[\sigma.n]$ on the branch, for some214 $\sigma.n \in P(\Gamma)$ (since $\sigma.n$ must be used). Suppose215 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat/{M}{\Diamond216 !B}[f(\sigma)]$. Since $f$ is an interpretation of prefixes and217 both $\sigma$, $\sigma.n \in P(\Gamma)$, we know that218 $Rf(\sigma)f(\sigma.n)$. Hence, $\mSat/{M}{!B}[f(\sigma.n)]$,219 i.e., $\mModel{M}, f$ satisfies $\sFmla{\False}{!B}[\sigma.n]$.}220 }{}221\end{enumerate}222Now let's consider the possible inferences with two premises.223\begin{enumerate}224\item The branch is expanded by applying $\TRule{\False}{\land}$ to225 $\sFmla{\False}{!B \land !C}[\sigma] \in \Gamma$, which results in226 two branches, a left one continuing through227 $\sFmla{\False}{!B}[\sigma]$ and a right one through228 $\sFmla{\False}{!C}[\sigma]$. Suppose $\mSat{M}{\Gamma}[f]$, in229 particular $\mSat/{M}{!B \land !C}[f(\sigma)]$. Then230 $\mSat/{M}{!B}[f(\sigma)]$ or $\mSat/{M}{!C}[f(\sigma)]$. In the231 former case, $\mModel{M}, f$ satisfies $\sFmla{\False}{!B}[\sigma]$,232 i.e., the left branch is satisfiable. In the latter, $\mModel{M}, f$233 satisfies $\sFmla{\False}{!C}[\sigma]$, i.e., the right branch is234 satisfiable.235\item The branch is expanded by applying $\TRule{\True}{\lor}$ to236 $\sFmla{\True}{!B \lor !C}[\sigma] \in \Gamma$: Exercise.237\item The branch is expanded by applying $\TRule{\True}{\lif}$ to238 $\sFmla{\True}{!B \lif !C}[\sigma] \in \Gamma$: Exercise.239\end{enumerate}240\end{proof}241242\begin{prob}243Complete the proof of \olref[nml][tab][sou]{thm:tableau-soundness}.244\end{prob}245246\begin{cor}247\ollabel{cor:entailment-soundness}248If $\Gamma \Proves !A$ then $\Gamma \Entails !A$.249\end{cor}250251\begin{proof}252 If $\Gamma \Proves !A$ then for some $!B_1$, \dots, $!B_n \in253 \Gamma$, $\Delta = \{\sFmla{\False}{!A}[1], \sFmla{\True}{!B_1}[1],254 \dots, \sFmla{\True}{!B_n}[1]\}$ has a closed !!{tableau}. We want255 to show that $\Gamma \Entails !A$. Suppose not, so for some256 $\mModel{M}$ and $w$, $\mSat{M}{!B_i}[w]$ for $i=1$, \dots,~$n$, but257 $\mSat/{M}{!A}[w]$. Let $f(1) = w$; then $f$ is an interpretation258 of~$P(\Delta)$ into~$\mModel{M}$, and $\mModel{M}$ satisfies~$\Delta$ with259 respect to~$f$. But by \olref{thm:tableau-soundness}, $\Delta$ is260 unsatisfiable since it has a closed !!{tableau}, a261 contradiction. So we must have $\Gamma \Proves !A$ after all.262\end{proof}263264\begin{cor}265\ollabel{cor:weak-soundness}266If $\Proves !A$ then $!A$ is true in all models.267\end{cor}268269\end{document}
content/normal-modal-logic/tableaux/more-rules.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: more-rules45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{mru}1011\olsection{Rules for Other Accessibility Relations}1213In order to deal with logics determined by special accessibility14relations, we consider the additional rules in \olref{tab:more-rules}.1516\begin{table}17 \begin{center}18 \def\arraystretch{3}\def\fCenter{}19 \iftag{notprvBox,notprvDiamond}20 {\begin{tabular}{|c|}}21 {\begin{tabular}{|c|c|}}22 \hline23 \iftag{prvBox}{24 \AxiomC{\sFmla{\True}{\Box !A}[\sigma]}25 \RightLabel{T$\Box$}26 \UnaryInfC{\sFmla{\True}{!A}[\sigma]}27 \DisplayProof}{}28 \iftag{notprvBox,notprvDiamond}{}{&}29 \iftag{prvDiamond}{30 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma]}31 \RightLabel{T$\Diamond$}32 \UnaryInfC{\sFmla{\False}{!A}[\sigma]}33 \DisplayProof}{}34 \\[1ex]35 \hline36 \iftag{prvBox}{37 \AxiomC{\sFmla{\True}{\Box !A}[\sigma]}38 \RightLabel{D$\Box$}39 \UnaryInfC{\sFmla{\True}{\Diamond!A}[\sigma]}40 \DisplayProof}{}41 \iftag{notprvBox,notprvDiamond}{}{&}42 \iftag{prvDiamond}{43 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma]}44 \RightLabel{D$\Diamond$}45 \UnaryInfC{\sFmla{\False}{\Box!A}[\sigma]}46 \DisplayProof}{}47 \\[1ex]48 \hline49 \iftag{prvBox}{50 \AxiomC{\sFmla{\True}{\Box !A}[\sigma.n]}51 \RightLabel{B$\Box$}52 \UnaryInfC{\sFmla{\True}{!A}[\sigma]}53 \DisplayProof}{}54 \iftag{notprvBox,notprvDiamond}{}{&}55 \iftag{prvDiamond}{56 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma.n]}57 \RightLabel{B$\Diamond$}58 \UnaryInfC{\sFmla{\False}{!A}[\sigma]}59 \DisplayProof}{}60 \\[1ex]61 \hline62 \iftag{prvBox}{63 \AxiomC{\sFmla{\True}{\Box !A}[\sigma]}64 \RightLabel{4$\Box$}65 \UnaryInfC{\sFmla{\True}{\Box!A}[\sigma.n]}66 \DisplayProof}{}67 \iftag{notprvBox,notprvDiamond}{}{&}68 \iftag{prvDiamond}{69 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma]}70 \RightLabel{4$\Diamond$}71 \UnaryInfC{\sFmla{\False}{\Diamond!A}[\sigma.n]}72 \DisplayProof}{}73 \\74 \iftag{notprvBox,notprvDiamond}75 {$\sigma.n$ is used}76 {$\sigma.n$ is used & $\sigma.n$ is used}77 \\[1ex]78 \hline79 \iftag{prvBox}{80 \AxiomC{\sFmla{\True}{\Box !A}[\sigma.n]}81 \RightLabel{4r$\Box$}82 \UnaryInfC{\sFmla{\True}{\Box!A}[\sigma]}83 \DisplayProof}{}84 \iftag{notprvBox,notprvDiamond}{}{&}85 \iftag{prvDiamond}{86 \AxiomC{\sFmla{\False}{\Diamond !A}[\sigma.n]}87 \RightLabel{4r$\Diamond$}88 \UnaryInfC{\sFmla{\False}{\Diamond!A}[\sigma]}89 \DisplayProof}{}90 \\[1ex]91 \hline92 \end{tabular}93 \end{center}94 \caption{More modal rules.}95 \ollabel{tab:more-rules}96\end{table}9798Adding these rules results in systems that are sound and complete for99the logics given in \olref{tab:logics-rules}.100101\begin{table}102 \begin{center}103 \begin{tabular}{lll}104 \hline105 Logic & $R$ is \dots & Rules\\106 \hline107 $\Log{T} = \Log{KT}$ & reflexive &108 \iftag{prvBox}{T$\Box$}{}%109 \iftag{notprvBox,notprvDiamond}{}{, }%110 \iftag{prvDiamond}{T$\Diamond$}{}111 \\ \hline112 $\Log{D} = \Log{KD}$ & serial &113 \iftag{prvBox}{D$\Box$}{}%114 \iftag{notprvBox,notprvDiamond}{}{, }%115 \iftag{prvDiamond}{D$\Diamond$}{}116 \\ \hline117 $\Log{K4}$ & transitive &118 \iftag{prvBox}{4$\Box$}{}%119 \iftag{notprvBox,notprvDiamond}{}{, }%120 \iftag{prvDiamond}{4$\Diamond$}{}121 \\ \hline122 $\Log{B} = \Log{KTB}$ & reflexive, &123 \iftag{prvBox}{T$\Box$}{}%124 \iftag{notprvBox,notprvDiamond}{}{, }%125 \iftag{prvDiamond}{T$\Diamond$}{}\\126 & symmetric &127 \iftag{prvBox}{B$\Box$}{}%128 \iftag{notprvBox,notprvDiamond}{}{, }%129 \iftag{prvDiamond}{B$\Diamond$}{}130 \\ \hline131 $\Log{S4} = \Log{KT4}$ & reflexive, &132 \iftag{prvBox}{T$\Box$}{}%133 \iftag{notprvBox,notprvDiamond}{}{, }%134 \iftag{prvDiamond}{T$\Diamond$}{},\\135 & transitive &136 \iftag{prvBox}{4$\Box$}{}%137 \iftag{notprvBox,notprvDiamond}{}{, }%138 \iftag{prvDiamond}{4$\Diamond$}{}139 \\ \hline140 $\Log{S5} = \Log{KT4B}$ & reflexive, &141 \iftag{prvBox}{T$\Box$}{}%142 \iftag{notprvBox,notprvDiamond}{}{, }%143 \iftag{prvDiamond}{T$\Diamond$}{},\\144 & transitive, &145 \iftag{prvBox}{4$\Box$}{}%146 \iftag{notprvBox,notprvDiamond}{}{, }%147 \iftag{prvDiamond}{4$\Diamond$}{},\\148 & euclidean &149 \iftag{prvBox}{4r$\Box$}{}%150 \iftag{notprvBox,notprvDiamond}{}{, }%151 \iftag{prvDiamond}{4r$\Diamond$}{}152 \\ \hline153 \end{tabular}154 \end{center}155 \caption{!!^{tableau} rules for various modal logics.}156 \ollabel{tab:logics-rules}157\end{table}158159160\begin{ex}161 We give a closed tableau that shows $\Log{S5} \Proves \Ax{5}$, i.e.,162 $\Box!A \lif \Box\Diamond!A$.163 \begin{oltableau}164 [\pFmla{\False}{\Box\formula{A} \lif \Box\Diamond \formula{A}}{1},165 just = \TAss166 [\pFmla{\True}{\Box \formula{A}}{1}, just = {\TRule{\False}{\lif}[1]}167 [\pFmla{\False}{\Box\Diamond \formula{A}}{1},168 just = {\TRule{\False}{\lif}[1]}169 [\pFmla{\False}{\Diamond \formula{A}}{1.1},170 just = {\TRule{\False}{\Box}[3]}171 [\pFmla{\False}{\Diamond \formula{A}}{1},172 just = {4r$\Diamond$ 4}173 [\pFmla{\False}{\formula{A}}{1.1},174 just = {\TRule{\False}{\Diamond}[5]}175 [\pFmla{\True}{\formula{A}}{1.1},176 just = {\TRule{\True}{\Box}[2]}, close]177 ]178 ]179 ]180 ]181 ]182 ]183 \end{oltableau}184\end{ex}185186\begin{prob}187Give closed !!{tableau}s that show the following:188 \begin{enumerate}189 \item $\Log{KT5} \Proves \Ax{B}$;190 \item $\Log{KT5} \Proves \Ax{4}$;191 \item $\Log{KDB4} \Proves \Ax{T}$;192 \item $\Log{KB4} \Proves \Ax{5}$;193 \item $\Log{KB5} \Proves \Ax{4}$;194 \item $\Log{KT} \Proves \Ax{D}$.195 \end{enumerate}196\end{prob}197198\end{document}
content/normal-modal-logic/tableaux/more-soundness.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: more-soundness45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{msn}10 11\olsection{Soundness for Additional Rules}1213We say a rule is sound for a class of models if, whenever a branch in14!!a{tableau} is satisfiable in a model from that class, the branch15resulting from applying the rule is also satisfiable in a model from16that class.1718\begin{prop}19 \ollabel{prop:soundness-T} 20 \iftag{prvBox}{\Ax{T}$\Box$}{}%21 \iftag{notprvBox,notprvDiamond}{}{ and }%22 \iftag{prvDiamond}{\Ax{T}$\Diamond$}{}23 \iftag{notprvBox,notprvDiamond}{is}{are}24 sound for reflexive models.25\end{prop}2627\begin{proof}28\begin{tagenumerate}{prvBox,prvDiamond}29\tagitem{prvBox}{The branch is expanded by applying T$\Box$ to30 $\sFmla{\True}{\Box !B}[\sigma] \in \Gamma$:31 \iftag{probBox}{Exercise.}{This results in a new !!{signed32 formula}~$\sFmla{\True}{!B}[\sigma]$ on the branch. Suppose33 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat{M}{\Box34 !B}[f(\sigma)]$. Since $R$ is reflexive, we know that35 $Rf(\sigma)f(\sigma)$. Hence, $\mSat{M}{!B}[f(\sigma)]$, i.e.,36 $\mModel{M}, f$ satisfies $\sFmla{\True}{!B}[\sigma]$.}}{}37\tagitem{prvDiamond}{The branch is expanded by applying T$\Diamond$ to38 $\sFmla{\False}{\Diamond !B}[\sigma] \in \Gamma$:39 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed40 formula}~$\sFmla{\False}{!B}[\sigma]$ on the branch. Suppose41 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat/{M}{\Diamond42 !B}[f(\sigma)]$. Since $R$ is reflexive, we know that43 $Rf(\sigma)f(\sigma)$. Hence, $\mSat/{M}{!B}[f(\sigma)]$, i.e.,44 $\mModel{M}, f$ satisfies $\sFmla{\False}{!B}[\sigma]$.}}{}45\end{tagenumerate}46\end{proof}4748\tagprob{probBox,probDiamond}49\begin{prob}50 Complete the proof of \olref[nml][tab][msn]{prop:soundness-T}51\end{prob}52\tagendprob5354\begin{prop}55 \ollabel{prop:soundness-D} 56 \iftag{prvBox}{\Ax{D}$\Box$}{}%57 \iftag{notprvBox,notprvDiamond}{}{ and }%58 \iftag{prvDiamond}{\Ax{D}$\Diamond$}{}59 \iftag{notprvBox,notprvDiamond}{is}{are}60 sound for serial models.61\end{prop}6263\begin{proof}64\begin{tagenumerate}{prvBox,prvDiamond}65\tagitem{prvBox}{The branch is expanded by applying D$\Box$ to66 $\sFmla{\True}{\Box !B}[\sigma] \in \Gamma$:67 \iftag{probBox}{Exercise.}{This results in a new !!{signed68 formula}~$\sFmla{\True}{\Diamond !B}[\sigma]$ on the69 branch. Suppose $\mSat{M}{\Gamma}[f]$, in particular,70 $\mSat{M}{\Box !B}[f(\sigma)]$. Since $R$ is serial, there is a $w71 \in W$ such that $Rf(\sigma)w$. Then $\mSat{M}{!B}[w]$, and hence72 $\mSat{M}{\Diamond !B}[f(\sigma)]$. So, $\mModel{M}, f$73 satisfies $\sFmla{\True}{\Diamond!B}[\sigma]$.}}{}74\tagitem{prvDiamond}{The branch is expanded by applying D$\Diamond$ to75 $\sFmla{\False}{\Diamond !B}[\sigma] \in \Gamma$:76 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed77 formula}~$\sFmla{\False}{\Box !B}[\sigma]$ on the78 branch. Suppose $\mSat{M}{\Gamma}[f]$, in particular,79 $\mSat/{M}{\Diamond !B}[f(\sigma)]$. Since $R$ is serial, there is a $w80 \in W$ such that $Rf(\sigma)w$. Then $\mSat/{M}{!B}[w]$, and hence81 $\mSat/{M}{\Box !B}[f(\sigma)]$. So, $\mModel{M}, f$82 satisfies $\sFmla{\False}{\Box!B}[\sigma]$.}}{}83\end{tagenumerate}84\end{proof}8586\tagprob{probBox,probDiamond}87\begin{prob}88 Complete the proof of \olref[nml][tab][msn]{prop:soundness-D}89\end{prob}90\tagendprob9192\begin{prop}93 \ollabel{prop:soundness-B} 94 \iftag{prvBox}{\Ax{B}$\Box$}{}%95 \iftag{notprvBox,notprvDiamond}{}{ and }%96 \iftag{prvDiamond}{\Ax{B}$\Diamond$}{}97 \iftag{notprvBox,notprvDiamond}{is}{are}98 sound for symmetric models.99\end{prop}100101\begin{proof}102\begin{tagenumerate}{prvBox,prvDiamond}103\tagitem{prvBox}{The branch is expanded by applying B$\Box$ to104 $\sFmla{\True}{\Box !B}[\sigma.n] \in \Gamma$:105 \iftag{probBox}{Exercise.}{This results in a new !!{signed106 formula}~$\sFmla{\True}{!B}[\sigma]$ on the branch. Suppose107 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat{M}{\Box108 !B}[f(\sigma.n)]$. Since $f$ is an interpretation of prefixes on109 the branch into~$\mModel{M}$, we know that110 $Rf(\sigma)f(\sigma.n)$. Since $R$ is symmetric,111 $Rf(\sigma.n)f(\sigma)$. Since $\mSat{M}{\Box !B}[f(\sigma.n)]$,112 $\mSat{M}{!B}[f(\sigma)]$. Hence, $\mModel{M}, f$ satisfies113 $\sFmla{\True}{!B}[\sigma]$.}}{}114\tagitem{prvDiamond}{The branch is expanded by applying B$\Diamond$ to115 $\sFmla{\False}{\Diamond !B}[\sigma.n] \in \Gamma$:116 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed117 formula}~$\sFmla{\False}{!B}[\sigma]$ on the branch. Suppose118 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat/{M}{\Diamond119 !B}[f(\sigma.n)]$. Since $f$ is an interpretation of prefixes on120 the branch into~$\mModel{M}$, we know that121 $Rf(\sigma)f(\sigma.n)$. Since $R$ is symmetric,122 $Rf(\sigma.n)f(\sigma)$. Since $\mSat/{M}{\Diamond !B}[f(\sigma.n)]$,123 $\mSat/{M}{!B}[f(\sigma)]$. Hence, $\mModel{M}, f$ satisfies124 $\sFmla{\False}{!B}[\sigma]$.}}{}125\end{tagenumerate}126\end{proof}127128\tagprob{probBox,probDiamond}129\begin{prob}130 Complete the proof of \olref[nml][tab][msn]{prop:soundness-B}131\end{prob}132\tagendprob133134\begin{prop}135 \ollabel{prop:soundness-4} 136 \iftag{prvBox}{\Ax{4}$\Box$}{}%137 \iftag{notprvBox,notprvDiamond}{}{ and }%138 \iftag{prvDiamond}{\Ax{4}$\Diamond$}{}139 \iftag{notprvBox,notprvDiamond}{is}{are}140 sound for transitive models.141\end{prop}142143\begin{proof}144\begin{tagenumerate}{prvBox,prvDiamond}145\tagitem{prvBox}{The branch is expanded by applying 4$\Box$ to146 $\sFmla{\True}{\Box !B}[\sigma] \in \Gamma$:147 \iftag{probBox}{Exercise.}{This results in a new !!{signed148 formula}~$\sFmla{\True}{\Box!B}[\sigma.n]$ on the149 branch. Suppose $\mSat{M}{\Gamma}[f]$, in particular,150 $\mSat{M}{\Box !B}[f(\sigma)]$. Since $f$ is an interpretation of151 prefixes on the branch into~$\mModel{M}$ and $\sigma.n$ must be152 used, we know that $Rf(\sigma)f(\sigma.n)$. Now let $w$ be any153 world such that $Rf(\sigma.n)w$. Since $R$ is transitive,154 $Rf(\sigma)w$. Since $\mSat{M}{\Box !B}[f(\sigma)]$,155 $\mSat{M}{!B}[w]$. Hence, $\mSat{M}{\Box !B}[f(\sigma.n)]$, and156 $\mModel{M}, f$ satisfies $\sFmla{\True}{\Box !B}[\sigma.n]$.}}{}157\tagitem{prvDiamond}{The branch is expanded by applying 4$\Diamond$ to158 $\sFmla{\False}{\Diamond !B}[\sigma] \in \Gamma$:159 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed160 formula}~$\sFmla{\False}{\Diamond!B}[\sigma.n]$ on the161 branch. Suppose $\mSat{M}{\Gamma}[f]$, in particular,162 $\mSat/{M}{\Diamond !B}[f(\sigma)]$. Since $f$ is an interpretation of163 prefixes on the branch into~$\mModel{M}$ and $\sigma.n$ must be164 used, we know that $Rf(\sigma)f(\sigma.n)$. Now let $w$ be any165 world such that $Rf(\sigma.n)w$. Since $R$ is transitive,166 $Rf(\sigma)w$. Since $\mSat/{M}{\Diamond !B}[f(\sigma)]$,167 $\mSat/{M}{!B}[w]$. Hence, $\mSat/{M}{\Diamond !B}[f(\sigma.n)]$, and168 $\mModel{M}, f$ satisfies $\sFmla{\False}{\Diamond !B}[\sigma.n]$.}}{}169\end{tagenumerate}170\end{proof}171172\tagprob{probBox,probDiamond}173\begin{prob}174 Complete the proof of \olref[nml][tab][msn]{prop:soundness-4}175\end{prob}176\tagendprob177178\begin{prop}179 \ollabel{prop:soundness-4r} 180 \iftag{prvBox}{\Ax{4r}$\Box$}{}%181 \iftag{notprvBox,notprvDiamond}{}{ and }%182 \iftag{prvDiamond}{\Ax{4r}$\Diamond$}{}183 \iftag{notprvBox,notprvDiamond}{is}{are}184 sound for euclidean models.185\end{prop}186187\begin{proof}188\begin{tagenumerate}{prvBox,prvDiamond}189\tagitem{prvBox}{The branch is expanded by applying 4r$\Box$ to190 $\sFmla{\True}{\Box !B}[\sigma.n] \in \Gamma$:191 \iftag{probBox}{Exercise.}{This results in a new !!{signed192 formula}~$\sFmla{\True}{\Box!B}[\sigma]$ on the branch. Suppose193 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat{M}{\Box194 !B}[f(\sigma.n)]$. Since $f$ is an interpretation of prefixes on195 the branch into~$\mModel{M}$, we know that196 $Rf(\sigma)f(\sigma.n)$. Now let $w$ be any world such that197 $Rf(\sigma)w$. Since $R$ is euclidean, $Rf(\sigma.n)w$. Since198 $\mSat{M}{\Box !B}[f(\sigma).n]$, $\mSat{M}{!B}[w]$. Hence,199 $\mSat{M}{\Box !B}[f(\sigma)]$, and $\mModel{M}, f$ satisfies200 $\sFmla{\True}{\Box !B}[\sigma]$.}}{}201\tagitem{prvDiamond}{The branch is expanded by applying 4r$\Diamond$ to202 $\sFmla{\False}{\Diamond !B}[\sigma.n] \in \Gamma$:203 \iftag{probDiamond}{Exercise.}{This results in a new !!{signed204 formula}~$\sFmla{\True}{\Box!B}[\sigma]$ on the branch. Suppose205 $\mSat{M}{\Gamma}[f]$, in particular, $\mSat/{M}{\Diamond206 !B}[f(\sigma.n)]$. Since $f$ is an interpretation of prefixes on207 the branch into~$\mModel{M}$, we know that208 $Rf(\sigma)f(\sigma.n)$. Now let $w$ be any world such that209 $Rf(\sigma)w$. Since $R$ is euclidean, $Rf(\sigma.n)w$. Since210 $\mSat/{M}{\Diamond !B}[f(\sigma).n]$, $\mSat/{M}{!B}[w]$. Hence,211 $\mSat/{M}{\Diamond !B}[f(\sigma)]$, and $\mModel{M}, f$ satisfies212 $\sFmla{\False}{\Diamond !B}[\sigma]$.}}{}213\end{tagenumerate}214\end{proof}215216\tagprob{probBox,probDiamond}217\begin{prob}218 Complete the proof of \olref[nml][tab][msn]{prop:soundness-4r}219\end{prob}220\tagendprob221222\begin{cor}223\ollabel{cor:soundness-logics} The !!{tableau} systems given in224\olref[mru]{tab:logics-rules} are sound for the respective classes of225models.226\end{cor}227228\end{document}
content/normal-modal-logic/tableaux/simple-S5.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: simple-S545\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{s5}1011\olsection{Simple \usetoken{P}{tableau} for \Log{S5}}1213\Log{S5} is sound and complete with respect to the class of universal14models, i.e., models where every world is accessible from every15world. In universal models the accessibility relation doesn't matter:16``there is a world~$w$ where $\mSat{M}{!A}[w]$'' is true if and only17if there is such a $w$ that's accessible from~$u$. So in \Log{S5}, we18can define models as simply a set of worlds and a valuation~$V$. This19suggests that we should be able to simplify the !!{tableau} rules as20well. In the general case, we take as prefixes sequences of positive21integers, so that we can keep track of which such prefixes name worlds22which are accessible from others: $\sigma.n$ names a world accessible23from~$\sigma$. But in \Log{S5} any world is accessible from any world,24so there is no need to so keep track. Instead, we can use positive25integers as prefixes. The simplified rules are given in26\olref{tab:rules-S5}.2728\begin{table}29 \begin{center}30 \def\arraystretch{3}\def\fCenter{}31 \begin{tabular}{|c|c|}32 \hline33 \iftag{prvBox}{34 \AxiomC{\sFmla{\True}{\Box !A}[n]}35 \RightLabel{\TRule{\True}{\Box}}36 \UnaryInfC{\sFmla{\True}{!A}[m]}37 \DisplayProof38 &39 \AxiomC{\sFmla{\False}{\Box !A}[n]}40 \RightLabel{\TRule{\False}{\Box}}41 \UnaryInfC{\sFmla{\False}{!A}[m]}42 \DisplayProof\\43 $m$ is used & $m$ is new44 \\[1ex]45 \hline}{}46 \iftag{prvDiamond}{47 \AxiomC{\sFmla{\True}{\Diamond !A}[n]}48 \RightLabel{\TRule{\True}{\Diamond}}49 \UnaryInfC{\sFmla{\True}{!A}[m]}50 \DisplayProof51 &52 \AxiomC{\sFmla{\False}{\Diamond !A}[n]}53 \RightLabel{\TRule{\False}{\Diamond}}54 \UnaryInfC{\sFmla{\False}{!A}[m]}55 \DisplayProof\\56 $m$ is new & $m$ is used57 \\[1ex]58 \hline}{}59 \end{tabular}60 \end{center}61 \caption{Simplified rules for \Log{S5}.}62 \ollabel{tab:rules-S5}63\end{table}6465\begin{ex}66 We give a simplified closed tableau that shows $\Log{S5} \Proves67 \Ax{5}$, i.e., $\Diamond!A \lif \Box\Diamond!A$.68 \begin{oltableau}69 [\pFmla{\False}{\Diamond\formula{A} \lif \Box\Diamond \formula{A}}{1},70 just = \TAss71 [\pFmla{\True}{\Diamond \formula{A}}{1}, just = {\TRule{\False}{\lif}[1]}72 [\pFmla{\False}{\Box\Diamond \formula{A}}{1},73 just = {\TRule{\False}{\lif}[1]}74 [\pFmla{\False}{\Diamond \formula{A}}{2},75 just = {\TRule{\False}{\Box}[3]}76 [\pFmla{\True}{\formula{A}}{3},77 just = {\TRule{\True}{\Diamond}[2]}78 [\pFmla{\False}{\formula{A}}{3},79 just = {\TRule{\False}{\Diamond}[4]}, close]80 ]81 ]82 ]83 ]84 ]85 \end{oltableau}86\end{ex}8788\end{document}
content/normal-modal-logic/tableaux/completeness.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: completeness45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{cpl}1011\olsection{Completeness for \Log{K}}1213\begin{explain}14 To show that the method of !!{tableau}s is complete, we have to show15 that whenever there is no closed !!{tableau} to show $\Gamma \Proves16 !A$, then $\Gamma \Entails/ !A$, i.e., there is a countermodel. But17 ``there is no closed !!{tableau}'' means that every way we could try18 to construct one has to fail to close. The trick is to see that if19 every such way fails to close, then a specific, \emph{systematic and20 exhaustive} way also fails to close. And this systematic and21 exhaustive way would close if a closed !!{tableau} exists. The22 single tableau will contain, among its open branches, all the23 information required to define a countermodel. The countermodel24 given by an open branch in this tableau will contain the all the25 prefixes used on that branch as the worlds, and !!a{propositional26 variable}~$p$ is true at $\sigma$ iff $\sFmla{\True}{p}[\sigma]$27 occurs on the branch.28\end{explain}2930\begin{defn}31 A branch in !!a{tableau} is called complete if, whenever it contains32 a prefixed !!{formula} $\sFmla{S}{!A}[\sigma]$ to which a rule can33 be applied, it also contains34 \begin{enumerate}35 \item the prefixed !!{formula}s that are the corresponding36 conclusions of the rule, in the case of propositional stacking37 rules;38 \item one of the corresponding conclusion !!{formula}s in the case39 of propositional branching rules;40 \item at least one possible conclusion in the case of modal rules41 that require a new prefix;42 \item the corresponding conclusion for every prefix occurring on43 the branch in the case of modal rules that require a used44 prefix.45 \end{enumerate}46\end{defn}4748\begin{explain}49For instance, a complete branch contains $\sFmla{\True}{!B}[\sigma]$50and $\sFmla{\True}{!C}[\sigma]$ whenever it contains $\sFmla{\True}{!B51 \land !C}$. If it contains $\sFmla{\True}{!B \lor !C}[\sigma]$ it52contains at least one of $\sFmla{\False}{!B}[\sigma]$ and53$\sFmla{\True}{!C}[\sigma]$. If it contains \iftag{prvBox}54{$\sFmla{\False}{\Box}[\sigma]$} {$\sFmla{\True}{\Diamond}[\sigma]$}55it also contains \iftag{prvBox} {$\sFmla{\False}{\Box}[\sigma.n]$}56{$\sFmla{\True}{\Diamond}[\sigma.n]$} for at least one~$n$. And57whenever it contains \iftag{prvBox} {$\sFmla{\True}{\Box}[\sigma]$}58{$\sFmla{\False}{\Diamond}[\sigma]$} it also contains \iftag{prvBox}59{$\sFmla{\True}{\Box}[\sigma.n]$}60{$\sFmla{\False}{\Diamond}[\sigma.n]$} for every~$n$ such that61$\sigma.n$ is used on the branch.62\end{explain}6364\begin{prop}\ollabel{prop:complete-tableau}65 Every finite $\Gamma$ has !!a{tableau} in which every branch is complete.66\end{prop}6768\begin{proof}69 Consider an open branch in !!a{tableau} for~$\Gamma$. There are70 finitely many prefixed !!{formula}s in the branch to which a rule71 could be applied. In some fixed order (say, top to bottom), for each72 of these prefixed !!{formula}s for which the conditions (1)--(4) do73 not already hold, apply the rules that can be applied to it to74 extend the branch. In some cases this will result in branching;75 apply the rule at the tip of each resulting branch for all remaining76 prefixed !!{formula}s. Since the number of prefixed !!{formula}s is77 finite, and the number of used prefixes on the branch is finite,78 this procedure eventually results in (possibly many) branches79 extending the original branch. Apply the procedure to each, and80 repeat. But by construction, every branch is closed.81\end{proof}8283\begin{thm}[Completeness]84 \ollabel{thm:tableau-completeness}85 If $\Gamma$ has no closed !!{tableau}, $\Gamma$ is satisfiable.86\end{thm}8788\begin{proof}89By the proposition, $\Gamma$ has !!a{tableau} in which every branch is90complete. Since it has no closed !!{tableau}, it thas has !!a{tableau} in91which at least one branch is open and complete. Let $\Delta$ be the92set of prefixed !!{formula}s on the branch, and $P(\Delta)$ the set of93prefixes occurring in it.9495We define a model~$\mModel{M(\Delta)} = \tuple{P(\Delta), R, V}$ where96the worlds are the prefixes occurring in~$\Delta$, the accessibility97relation is given by:98\[99R\sigma\sigma' \quad \text{iff} \quad100\sigma'=\sigma.n \quad \text{for some~$n$}101\]102and103\[104V(p) = \Setabs{\sigma}{\sFmla{\True}{p}[\sigma] \in \Delta}.105\]106We show by induction on~$!A$ that if $\sFmla{\True}{!A}[\sigma] \in107\Delta$ then $\mSat{M(\Delta)}{!A}[\sigma]$, and if108$\sFmla{\False}{!A}[\sigma] \in \Delta$ then109$\mSat/{M(\Delta)}{!A}[\sigma]$.110111\begin{enumerate}112 \item \indcase{!A}{p}{If $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$113 then $\sigma \in V(p)$ (by definition of~$V$) and so114 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.115116 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$ then117 $\sFmla{\True}{\indfrm}[\sigma] \notin \Delta$, since the branch118 would otherwise be closed. So $\sigma \notin V(p)$ and thus119 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}120 \item \indcase{!A}{\lnot !B}{\iftag{probNot}{Exercise.}{If121 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then122 $\sFmla{\False}{!B}[\sigma] \in \Delta$ since the branch is123 complete. By induction hypothesis,124 $\mSat/{M(\Delta)}{!B}[\sigma]$ and thus125 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.126127 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then128 $\sFmla{\True}{!B}[\sigma] \in \Delta$ since the branch is129 complete. By induction hypothesis,130 $\mSat{M(\Delta)}{!B}[\sigma]$ and thus131 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}132 \item \indcase{!A}{!B \land !C}{\iftag{probAnd}{Exercise.}{If133 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then both134 $\sFmla{\True}{!B}[\sigma] \in \Delta$ and135 $\sFmla{\True}{!C}[\sigma] \in \Delta$ since the branch is136 complete. By induction hypothesis,137 $\mSat{M(\Delta)}{!B}[\sigma]$ and138 $\mSat{M(\Delta)}{!C}[\sigma]$. Thus139 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.140141 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then either142 $\sFmla{\False}{!B}[\sigma] \in \Delta$ or143 $\sFmla{\False}{!C}[\sigma] \in \Delta$ since the branch is144 complete. By induction hypothesis, either145 $\mSat/{M(\Delta)}{!B}[\sigma]$ or146 $\mSat/{M(\Delta)}{!B}[\sigma]$. Thus147 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}148 \item \indcase{!A}{!B \lor !C}{\iftag{probOr}{Exercise.}{If149 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then either150 $\sFmla{\True}{!B}[\sigma] \in \Delta$ or151 $\sFmla{\True}{!C}[\sigma] \in \Delta$ since the branch is152 complete. By induction hypothesis, either153 $\mSat{M(\Delta)}{!B}[\sigma]$ or154 $\mSat{M(\Delta)}{!C}[\sigma]$. Thus155 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.156157 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then both158 $\sFmla{\False}{!B}[\sigma] \in \Delta$ and159 $\sFmla{\False}{!C}[\sigma] \in \Delta$ since the branch is160 complete. By induction hypothesis, both161 $\mSat/{M(\Delta)}{!B}[\sigma]$ and162 $\mSat/{M(\Delta)}{!B}[\sigma]$. Thus163 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}164 \item \indcase{!A}{!B \lif !C}{\iftag{probIf}{Exercise.}{If165 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then either166 $\sFmla{\False}{!B}[\sigma] \in \Delta$ or167 $\sFmla{\True}{!C}[\sigma] \in \Delta$ since the branch is168 complete. By induction hypothesis, either169 $\mSat/{M(\Delta)}{!B}[\sigma]$ or170 $\mSat{M(\Delta)}{!C}[\sigma]$. Thus171 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.172173 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then both174 $\sFmla{\True}{!B}[\sigma] \in \Delta$ and175 $\sFmla{\False}{!C}[\sigma] \in \Delta$ since the branch is176 complete. By induction hypothesis, both177 $\mSat{M(\Delta)}{!B}[\sigma]$ and178 $\mSat/{M(\Delta)}{!B}[\sigma]$. Thus179 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}180 \item \indcase{!A}{\Box !B}{\iftag{probBox}{Exercise.}{If181 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then, since the182 branch is complete, $\sFmla{\True}{!B}[\sigma.n] \in \Delta$ for183 every $\sigma.n$ used on the branch, i.e., for every $\sigma'184 \in P(\Delta)$ such that $R\sigma\sigma'$. By induction185 hypothesis, $\mSat{M(\Delta)}{!B}[\sigma']$ for every $\sigma'$186 such that $R\sigma\sigma'$. Therefore,187 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.188189 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then for some190 $\sigma.n$, $\sFmla{\False}{!B}[\sigma.n] \in \Delta$ since the191 branch is complete. By induction hypothesis,192 $\mSat/{M(\Delta)}{!B}[\sigma.n]$. Since $R\sigma(\sigma.n)$,193 there is a~$\sigma'$ such that194 $\mSat/{M(\Delta)}{!B}[\sigma']$. Thus195 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}196 \item \indcase{!A}{\Diamond !B}{\iftag{probDiamond}{Exercise.}{If197 $\sFmla{\True}{\indfrm}[\sigma] \in \Delta$, then for some198 $\sigma.n$, $\sFmla{\True}{!B}[\sigma.n] \in \Delta$ since the199 branch is complete. By induction hypothesis,200 $\mSat{M(\Delta)}{!B}[\sigma.n]$. Since $R\sigma(\sigma.n)$,201 there is a~$\sigma'$ such that202 $\mSat{M(\Delta)}{!B}[\sigma']$. Thus203 $\mSat{M(\Delta)}{\indfrm}[\sigma]$.204205 If $\sFmla{\False}{\indfrm}[\sigma] \in \Delta$, then, since the206 branch is complete, $\sFmla{\False}{!B}[\sigma.n] \in \Delta$207 for every $\sigma.n$ used on the branch, i.e., for every208 $\sigma' \in P(\Delta)$ such that $R\sigma\sigma'$. By209 induction hypothesis, $\mSat/{M(\Delta)}{!B}[\sigma']$ for every210 $\sigma'$ such that $R\sigma\sigma'$. Therefore,211 $\mSat/{M(\Delta)}{\indfrm}[\sigma]$.}}212\end{enumerate}213Since $\Gamma \subseteq \Delta$, $\mSat{M(\Delta)}{\Gamma}$.214\end{proof}215216\begin{prob}217Complete the proof of \olref[nml][tab][cpl]{thm:tableau-completeness}.218\end{prob}219220\begin{cor}221\ollabel{cor:entailment-completeness}222If $\Gamma \Entails !A$ then $\Gamma \Proves !A$.223\end{cor}224225\begin{cor}226\ollabel{cor:weak-completeness}227If $!A$ is true in all models, then $\Proves !A$.228\end{cor}229230\end{document}
content/normal-modal-logic/tableaux/countermodels.tex
1% Part: normal-modal-logic2% Chapter: tableaux3% Section: countermodels45\documentclass[../../../include/open-logic-section]{subfiles}67\begin{document}89\olfileid{nml}{tab}{cou}10 11\olsection{Countermodels from \usetoken{P}{tableau}}1213\begin{explain}14 The proof of the completeness theorem doesn't just show that if15 $\Entails !A$ then $\Proves !A$, it also gives us a method for16 constructing countermodels to~$!A$ if $\Entails/ A$. In the case17 of~$\Log{K}$, this method constitutes a \emph{decision18 procedure}. For suppose $\Entails/ !A$. Then the proof of19 \olref[cpl]{prop:complete-tableau} gives a method for constructing a20 complete !!{tableau}. The method in fact always terminates. The21 propositional rules for~$\Log{K}$ only add prefixed !!{formula}s of22 lower complexity, i.e., each propositional rule need only be applied23 once on a branch for any signed formula $\sFmla{S}{!A}[\sigma]$. New24 prefixes are only generated by the25 \iftag{prvBox}{$\TRule{\False}{\Box}$}{}\iftag{notprvBox,notprvDiamond}{}{26 and }\iftag{prvDiamond}{$\TRule{\True}{\Diamond}$}{}27 \iftag{notprvBox,notprvDiamond}{rule}{rules}, and also only have to28 be applied once (and produce a single new prefix).29 \iftag{prvBox}{$\TRule{\True}{\Box}$}{}\iftag{notprvBox,notprvDiamond}{}{30 and }\iftag{prvDiamond}{$\TRule{\False}{\Diamond}$}{}31 \iftag{notprvBox,notprvDiamond}{has}{have} to be applied potentially32 multiple times, but only once per prefix, and only finitely many new33 prefixes are generated. So the construction either results in a34 closed branch or a complete branch after finitely many stages.3536 Once a tableau with an open complete branch is constructed, the37 proof of \olref[cpl]{thm:tableau-completeness} gives us an explict model38 that satisfies the original set of prefixed !!{formula}s. So not39 only is it the case that if $\Gamma \Entails !A$, then a closed40 !!{tableau} exists and $\Gamma \Proves !A$, if we look for the41 closed !!{tableau} in the right way and end up with a ``complete''42 !!{tableau}, we'll not only know that $\Gamma \Entails/ !A$ but43 actually be able to construct a countermodel.44\end{explain}4546\iftag{prvBox}{47\begin{ex}48 We know that $\Proves/ \Box(p \lor q) \lif (\Box p \lor \Box49 q)$. The construction of a tableau begins with:50 \begin{oltableau}51 [\pFmla{\False}{\Box(p \lor q) \lif (\Box p \lor \Box q)}{1},52 just = \TAss, checked53 [\pFmla{\True}{\Box(p \lor q)}{1},54 just = {\TRule{\False}{\lif}[1]}, 55 [\pFmla{\False}{\Box p \lor \Box q}{1},56 just = {\TRule{\False}{\lif}[1]}, checked57 [\pFmla{\False}{\Box p}{1},58 just = {\TRule{\False}{\lor}[3]}, checked59 [\pFmla{\False}{\Box q}{1},60 just = {\TRule{\False}{\lor}[3]}, checked61 [\pFmla{\False}{p}{1.1}, 62 just = {\TRule{\False}{\Box}[4]}, checked63 [\pFmla{\False}{q}{1.2}, 64 just = {\TRule{\False}{\Box}[5]}, checked65 ]66 ]67 ]68 ]69 ]70 ]71 ]72 \end{oltableau}73 The !!{tableau} is of course not finished yet. In the next step, we74 consider the only line without a checkmark: the prefixed !!{formula}75 $\sFmla{\True}{\Box(p \lor q)}[1]$ on line~$2$. The construction of76 the closed tableau says to apply the $\TRule{\True}{\Box}$ rule for77 every prefix used on the branch, i.e., for both $1.1$ and $1.2$:78 \begin{oltableau}79 [\pFmla{\False}{\Box(p \lor q) \lif (\Box p \lor \Box q)}{1},80 just = \TAss, checked81 [\pFmla{\True}{\Box(p \lor q)}{1},82 just = {\TRule{\False}{\lif}[1]}, 83 [\pFmla{\False}{\Box p \lor \Box q}{1},84 just = {\TRule{\False}{\lif}[1]}, checked85 [\pFmla{\False}{\Box p}{1},86 just = {\TRule{\False}{\lor}[3]}, checked87 [\pFmla{\False}{\Box q}{1},88 just = {\TRule{\False}{\lor}[3]}, checked89 [\pFmla{\False}{p}{1.1}, 90 just = {\TRule{\False}{\Box}[4]}, checked91 [\pFmla{\False}{q}{1.2}, 92 just = {\TRule{\False}{\Box}[5]}, checked93 [\pFmla{\True}{p \lor q}{1.1}, 94 just = {\TRule{\True}{\Box}[2]}95 [\pFmla{\True}{p \lor q}{1.2}, 96 just = {\TRule{\True}{\Box}[2]}97 ]98 ]99 ]100 ]101 ]102 ]103 ]104 ]105 ]106 \end{oltableau}107 Now lines 2, 8, and 9, don't have checkmarks. But no new prefix has108 been added, so we apply $\TRule{\True}{\lor}$ to lines~8 and~9, on109 all resulting branches (as long as they don't close):110 \begin{oltableau}111 [\pFmla{\False}{\Box(p \lor q) \lif (\Box p \lor \Box q)}{1},112 just = \TAss, checked113 [\pFmla{\True}{\Box(p \lor q)}{1},114 just = {\TRule{\False}{\lif}[1]}, checked115 [\pFmla{\False}{\Box p \lor \Box q}{1},116 just = {\TRule{\False}{\lif}[1]}, checked117 [\pFmla{\False}{\Box p}{1},118 just = {\TRule{\False}{\lor}[3]}, checked119 [\pFmla{\False}{\Box q}{1},120 just = {\TRule{\False}{\lor}[3]}, checked121 [\pFmla{\False}{p}{1.1}, 122 just = {\TRule{\False}{\Box}[4]}, checked123 [\pFmla{\False}{q}{1.2}, 124 just = {\TRule{\False}{\Box}[5]}, checked125 [\pFmla{\True}{p \lor q}{1.1}, 126 just = {\TRule{\True}{\Box}[2]}, checked127 [\pFmla{\True}{p \lor q}{1.2}, 128 just = {\TRule{\True}{\Box}[2]}, checked129 [\pFmla{\True}{p}{1.1},130 just = {\TRule{\True}{\lor}[8]}, checked, close131 ]132 [\pFmla{\True}{q}{1.1},133 just = {\TRule{\True}{\lor}[8]}, checked134 [\pFmla{\True}{p}{1.2},135 just = {\TRule{\True}{\lor}[9]}, checked]136 [\pFmla{\True}{q}{1.2},137 just = {\TRule{\True}{\lor}[9]}, checked, close]138 ]139 ]140 ]141 ]142 ]143 ]144 ]145 ]146 ]147 ]148 \end{oltableau}149 There is one remaining open branch, and it is complete. From it we150 define the model with worlds $W = \{1, 1.1, 1.2\}$ (the only151 prefixes appearing on the open branch), the accessibility relation152 $R = \{\tuple{1, 1.1}, \tuple{1, 1.2}\}$, and the assignment $V(p) =153 \{1.2\}$ (because line~11 contains $\sFmla{\True}{p}[1.2]$) and154 $V(q) = \{1.1\}$ (because line~10 contains155 $\sFmla{\True}{q}[1.1]$). The model is pictured in156 \olref{fig:counter-Box}, and you can verify that it is a157 countermodel to $\Box(p \lor q) \lif (\Box p \lor \Box q)$.158 \begin{figure}159 \begin{center}160 \begin{tikzpicture}[modal]161 \node[world] (w1) [label={[align=right]right:\mFalse{p}\\ \mFalse{q}}]{$1$}; 162 \node[world] (w2) [label={[align=right]right:\mFalse{p}\\ \mTrue{q}},163 above left=of w1]{$1.1$}; 164 \node[world] (w3) [label={[align=right]right:\mTrue{p}\\ \mFalse{q}},165 above right=of w1] {$1.2$};166 \draw[->] (w1) to (w2);167 \draw[->] (w1) to (w3);168 \end{tikzpicture}169 \end{center}170 \caption{A countermodel to $\Box(p \lor q) \lif (\Box p \lor \Box171 q)$.}172 \ollabel{fig:counter-Box}173\end{figure}174\end{ex} 175}176{177\begin{ex}178 We know that $\Proves/ (\Diamond p \land \Diamond q) \lif \Diamond(p179 \land q)$. The construction of a tableau begins with:180 \begin{oltableau}181 [\pFmla{\False}{(\Diamond p \land \Diamond q) \lif \Diamond(p \land q)}{1},182 just = \TAss, checked183 [\pFmla{\True}{\Diamond p \land \Diamond q}{1},184 just = {\TRule{\False}{\lif}[1]}, checked185 [\pFmla{\False}{\Diamond(p \land q)}{1},186 just = {\TRule{\False}{\lif}[1]}187 [\pFmla{\True}{\Diamond p}{1},188 just = {\TRule{\True}{\land}[2]}, checked189 [\pFmla{\True}{\Diamond q}{1},190 just = {\TRule{\True}{\land}[2]}, checked191 [\pFmla{\True}{p}{1.1}, 192 just = {\TRule{\True}{\Diamond}[4]}, checked193 [\pFmla{\True}{q}{1.2}, 194 just = {\TRule{\True}{\Diamond}[5]}, checked195 ]196 ]197 ]198 ]199 ]200 ]201 ]202 \end{oltableau}203 The !!{tableau} is of course not finished yet. In the next step, we204 consider the only line without a checkmark: the prefixed !!{formula}205 $\sFmla{\True}{\Diamond(p \land q)}[1]$ on line~$3$. The construction of206 the closed tableau says to apply the $\TRule{\True}{\Diamond}$ rule for207 every prefix used on the branch, i.e., for both $1.1$ and $1.2$:208 \begin{oltableau}209 [\pFmla{\False}{\Diamond(p \land q) \lif (\Diamond p \land \Diamond q)}{1},210 just = \TAss, checked211 [\pFmla{\True}{\Diamond p \land \Diamond q}{1},212 just = {\TRule{\False}{\lif}[1]}, checked213 [\pFmla{\False}{\Diamond (p \land q)}{1},214 just = {\TRule{\False}{\lif}[1]}215 [\pFmla{\True}{\Diamond p}{1},216 just = {\TRule{\True}{\land}[2]}, checked217 [\pFmla{\True}{\Diamond q}{1},218 just = {\TRule{\True}{\land}[2]}, checked219 [\pFmla{\True}{p}{1.1}, 220 just = {\TRule{\True}{\Diamond}[4]}, checked221 [\pFmla{\True}{q}{1.2}, 222 just = {\TRule{\True}{\Diamond}[5]}, checked223 [\pFmla{\False}{p \land q}{1.1}, 224 just = {\TRule{\False}{\Diamond}[3]}225 [\pFmla{\False}{p \land q}{1.2}, 226 just = {\TRule{\False}{\Diamond}[3]}227 ]228 ]229 ]230 ]231 ]232 ]233 ]234 ]235 ]236 \end{oltableau}237 Now lines 3, 8, and 9, don't have checkmarks. But no new prefix has238 been added, so we apply $\TRule{\False}{\land}$ to lines~8 and~9, on239 all resulting branches (as long as they don't close):240 \begin{oltableau}241 [\pFmla{\False}{(\Diamond p \land \Diamond q) \lif \Diamond(p \land q)}{1},242 just = \TAss, checked243 [\pFmla{\True}{\Diamond p \land \Diamond q}{1},244 just = {\TRule{\False}{\lif}[1]}, checked245 [\pFmla{\False}{\Diamond(p \land q)}{1},246 just = {\TRule{\False}{\lif}[1]}247 [\pFmla{\True}{\Diamond p}{1},248 just = {\TRule{\True}{\land}[2]}, checked249 [\pFmla{\True}{\Diamond q}{1},250 just = {\TRule{\True}{\land}[2]}, checked251 [\pFmla{\True}{p}{1.1}, 252 just = {\TRule{\True}{\Diamond}[4]}, checked253 [\pFmla{\True}{q}{1.2}, 254 just = {\TRule{\True}{\Diamond}[5]}, checked255 [\pFmla{\False}{p \land q}{1.1}, 256 just = {\TRule{\False}{\Diamond}[3]}, checked257 [\pFmla{\False}{p \land q}{1.2}, 258 just = {\TRule{\False}{\Diamond}[3]}, checked259 [\pFmla{\False}{p}{1.1},260 just = {\TRule{\False}{\land}[8]}, checked, close261 ]262 [\pFmla{\False}{q}{1.1},263 just = {\TRule{\False}{\land}[8]}, checked264 [\pFmla{\False}{p}{1.2},265 just = {\TRule{\False}{\land}[9]}, checked]266 [\pFmla{\False}{q}{1.2},267 just = {\TRule{\False}{\land}[9]}, checked, close]268 ]269 ]270 ]271 ]272 ]273 ]274 ]275 ]276 ]277 ]278 \end{oltableau}279 There is one remaining open branch, and it is complete. From it we280 define the model with worlds $W = \{1, 1.1, 1.2\}$ (the only281 prefixes appearing on the open branch), the accessibility relation282 $R = \{\tuple{1, 1.1}, \tuple{1, 1.2}\}$, and the assignment $V(p) =283 \{1.1\}$ (because line~6 contains $\sFmla{\True}{p}[1.1]$) and284 $V(q) = \{1.2\}$ (because line~7 contains285 $\sFmla{\True}{q}[1.1]$). The model is pictured in286 \olref{fig:counter-Diamond}, and you can verify that it is a287 countermodel to $(\Diamond p \land \Diamond q) \lif \Diamond (p \land q)$.288 \begin{figure}289 \begin{center}290 \begin{tikzpicture}[modal]291 \node[world] (w1) [label={[align=right]right:\mFalse{p}\\ \mFalse{q}}]{$1$}; 292 \node[world] (w2) [label={[align=right]right:\mTrue{p}\\ \mFalse{q}},293 above left=of w1]{$1.1$}; 294 \node[world] (w3) [label={[align=right]right:\mFalse{p}\\ \mTrue{q}},295 above right=of w1] {$1.2$};296 \draw[->] (w1) to (w2);297 \draw[->] (w1) to (w3);298 \end{tikzpicture}299 \end{center}300 \caption{A countermodel to $(\Diamond p \land \Diamond q) \lif301 \Diamond (p \land q)$.}302 \ollabel{fig:counter-Diamond}303\end{figure}304\end{ex} 305}306307\end{document}