|
| 1 | +% Part: proof-theory |
| 2 | +% Chapter: proof-search |
| 3 | +% Section: completeness |
| 4 | + |
| 5 | +\documentclass[../../../include/open-logic-section]{subfiles} |
| 6 | + |
| 7 | +\begin{document} |
| 8 | + |
| 9 | +\olfileid{pt}{ps}{cpl} |
| 10 | + |
| 11 | +\olsection{Completeness} |
| 12 | + |
| 13 | +We now show that the proof search algorithm is fool-proof, i.e., if it |
| 14 | +aborts or never halts, there is no !!{proof} of the starting |
| 15 | +sequent~$\Gamma \Sequent \Delta$. To do this, we define |
| 16 | +!!a{structure}~$\Struct M$ such that for all $!A \in \Gamma$, |
| 17 | +$\Sat{M}{!A}$, and for all~$! \in \Delta$, $\Sat/{M}{!A}$. In other |
| 18 | +words, all !!{formula}s in~$\Gamma$ are true and all !!{formula}s |
| 19 | +in~$\Delta$ are false in~$\Struct M$, i.e., $\Gamma \Sequent \Delta$ |
| 20 | +is not valid. Since \Log{G3c} is sound, $\Gamma \Sequent \Delta$ has |
| 21 | +no !!{proof} |
| 22 | + |
| 23 | +We define $\Struct{M}$ from a pair $\Theta, \Xi$ of !!{formula}s and a |
| 24 | +set~$C$ of !!{constant}s. We obtain $\Theta, \Xi$ and~$C$ from a |
| 25 | +\emph{failure branch} of the failed (aborted or non-terminating) run |
| 26 | +of the proof search. A failure branch is a sequence $\Pi_n \Sequent |
| 27 | +\Lambda_n$ of sequents and sets of !!{constant}s~$C_n$ such that |
| 28 | +$\Pi_0 \Sequent \Lambda_0$ is the end-sequent $\Gamma \Sequent |
| 29 | +\Delta$, and $\Pi_{n+1} \Sequent \Lambda_{n+1}$ is a premise of $\Pi_n |
| 30 | +\Sequent \Lambda_n$ generated at stage~$n+1$ for which the algorithm |
| 31 | +does not find !!a{proof}. Such a premise must obviously exist for |
| 32 | +each~$n$, since otherwise the algorithm would have found !!a{proof}. |
| 33 | +We let $C_n$ be the set of !!{constant}s associated with~$\Pi_n |
| 34 | +\Sequent \Delta_n$. |
| 35 | + |
| 36 | +If the algorithm aborts at a top-most sequent consisting only of |
| 37 | +atomic !!{formula}s, the branch ending in that sequent is a failure |
| 38 | +branch. If if the algorithm never terminates, it keeps generating |
| 39 | +larger and larger trees. You can think of these as growing an infinite |
| 40 | +tree (the tree you'd have after infinitely many steps of the algorithm |
| 41 | +had run). This would be an infinite tree which is, however, finitely |
| 42 | +branching (every node only has one or two children---the sequents |
| 43 | +immediately above it). Every infinite, finitely branching tree must |
| 44 | +have an infinite branch by K\H{o}nig's Lemma. Such an infinite branch |
| 45 | +would be a failure branch in the case where the search algorithm runs |
| 46 | +forever. |
| 47 | + |
| 48 | +If the sequence of $\Pi_n \Sequent \Lambda_n$ and $C_n$ is a failure |
| 49 | +branch, let $\Theta = \bigcup_n \Pi_n$ and $\Xi = \bigcup_n \Lambda_n$ |
| 50 | +(removing indices and multiple occurrences of !!{formula}s) and $C = |
| 51 | +\bigcup_n C_n$. |
| 52 | + |
| 53 | +We are ready to define~$\Struct{M}$. |
| 54 | +\begin{enumerate} |
| 55 | +\item The domain $\Domain{M}$ is the |
| 56 | +set of terms that can be formed from~$C$ and the !!{function}s |
| 57 | +in~$\Gamma \Sequent \Delta$, if there are any, but no !!{variable}s. |
| 58 | +\item If $c \in \Domain{M}$, $\Assign{c}{M} = c$. |
| 59 | +\item If $f$ is an $m$-place !!{function} in $\Gamma \Sequent \Delta$, and $t_1$, |
| 60 | +\dots, $t_m \in \Domain{M}$, then $\Assign{f}{M}(t_1, \dots, t_m) = |
| 61 | +f(t_1, \dots, t_n)$. |
| 62 | +\item If $R$ is an $m$-place !!{predicate} in $\Gamma \Sequent |
| 63 | +\Delta$, then $\Assign{R}{M} = \Setabs{\tuple{t_1, \dots, t_m} \in |
| 64 | +\Domain{M}^n}{R(t_1, \dots, t_n) \in \Theta}$. |
| 65 | +\end{enumerate} |
| 66 | +$\Struct{M}$ is a \emph{term model} in that its domain is a set of |
| 67 | +terms, and the !!{constant}s and !!{function}s are interpreted so as |
| 68 | +to guarantee that $\Value{t}{M} = t$. The atomic !!{formula}s |
| 69 | +in~$\Theta$ are used to define $\Assign{R}{M}$ in such a way as to |
| 70 | +guarantee that $\Sat{M}{R(t_1, \dots, t_n)}$ iff $R(t_1, \dots, t_n) |
| 71 | +\in \Theta$. |
| 72 | + |
| 73 | +\begin{lem}\ollabel{lem:truth} |
| 74 | +For all $!A \in \Theta \cup \Xi$: |
| 75 | +\begin{enumerate} |
| 76 | + \item If $!A \in \Theta$ then $\Sat{M}{!A}$. |
| 77 | + \item If $!A \in \Xi$ then $\Sat/{M}{!A}$. |
| 78 | +\end{enumerate} |
| 79 | +\end{lem} |
| 80 | + |
| 81 | +\begin{proof} |
| 82 | + By induction on $\depth{!A}$. |
| 83 | + |
| 84 | +First assume $!A$ is atomic, i.e., either $!A \ident \lfalse$ or $!A |
| 85 | +\ident R(t_1, \dots, t_m)$. |
| 86 | + |
| 87 | +Because $\Pi_n \Sequent \Lambda_n$ is a failure branch, no $\Pi_n$ can |
| 88 | +contain $\lfalse$ (otherwise $\Pi_n \Sequent \Lambda_n$ would be an |
| 89 | +axiom). $\Sat{M}{R(t_1, \dots, t_m)}$ iff $R(t_1, \dots, t_m) \in |
| 90 | +\Theta$ by definition of~$\Struct{M}$. Together we have: if $!A \in |
| 91 | +\Theta$, then $\Sat{M}{!A}$. |
| 92 | + |
| 93 | +If $!A$ is atomic and $!A \in \Pi_n$ then $!A \in \Pi_{n+1}$ and if |
| 94 | +$!A \in \Lambda_n$ then $!A \in \Lambda_{n+1}$. (This follows from the |
| 95 | +way the proof search algorithm generates successor sequents.) Hence, |
| 96 | +if $!A \in \Theta \cap \Xi$ then for some~$n$, $!A \in \Pi_n \cap |
| 97 | +\Lambda_n$. This means that $\Pi_n \Sequent \Lambda_n$ is an axiom, |
| 98 | +and the failure branch can contain no axioms. So $!A \notin \Theta |
| 99 | +\cap \Xi$ for atomic~$!A$ by construction, and consequently if $!A \in |
| 100 | +\Xi$ then $!A \notin \Theta$. This implies that if $!A \in \Xi$ then |
| 101 | +$\Sat/{M}{!A}$ by definition of~$\Struct{M}$. |
| 102 | + |
| 103 | +For the inductive step, assume (1) and (2) hold for all !!{formula}s |
| 104 | +of lower !!{depth} than~$!A$. We prove (1) and (2) for $!A$ by |
| 105 | +distinguishing cases. |
| 106 | + |
| 107 | +First note that when $!A^i$ occurs in $\Pi_n \Sequent \Lambda_n$ then |
| 108 | +$!A^i$ also occurs in $\Pi_{n+1} \Sequent \Lambda_{n+1}$ unless $i$ is |
| 109 | +the smallest index in $\Pi_n \Sequent \Lambda_n$. Since the smallest |
| 110 | +index increases in topmost sequents added at each stage, eventually we |
| 111 | +reach $\Pi_n \Sequent \Lambda_n$ in which $!A^i$ occurs, and $i$ is |
| 112 | +the smallest index. At stage $n+1$ the algorithm reduces~$!A^i$. In |
| 113 | +other words, if $!A \in \Theta$, then for some $n$, $\Pi_n = \Pi_n', |
| 114 | +!A^i$ and $i$ is the smallest index. And if $!A \in \Xi$, then for |
| 115 | +some $n$, $\Lambda_n = \Lambda_n', !A^i$ and $i$~is the smallest |
| 116 | +index. |
| 117 | + |
| 118 | +\begin{enumerate} |
| 119 | + \item $!A \in \Theta$ and $!A \ident !B \land !C$. Then for some |
| 120 | + $n$, $\Pi_n = \Pi_n', (!B \land !C)^i$. $\Pi_{n+1} \Sequent |
| 121 | + \Lambda_{n+1}$ is the corresponding premise of~\LeftR{\land}, i.e., |
| 122 | + $\Pi_{n+1} = \Pi_n', !B^k, !C^{k+1}$. Consequently, $!B, !C \in |
| 123 | + \Theta$. By inductive hypothesis, $\Sat{M}{!B}$ and $\Sat{M}{!C}$. |
| 124 | + By definition of $\Sat{M}{}$, we have $\Sat{M}{!B \land !C}$. |
| 125 | + |
| 126 | + \item $!A \in \Xi$ and $!A \ident !B \land !C$. Then for some $n$, |
| 127 | + $\Lambda_n = \Lambda_n', !B \land !C$. $\Pi_{n+1} \Sequent |
| 128 | + \Lambda_{n+1}$ is one of the two premises of~\RightR{\land} with |
| 129 | + conclusion $\Pi_n \Sequent \Lambda'_n, !B \land !C$, i.e., |
| 130 | + $\Lambda_{n+1} = \Lambda_n', !B^k$ or $\Lambda_{n+1} = \Lambda_n', |
| 131 | + !C^k$. Consequently, either $!B \in \Xi$ or $!C \in \Xi$. By |
| 132 | + inductive hypothesis, either $\Sat/{M}{!B}$ or $\Sat/{M}{!C}$. By |
| 133 | + definition of $\Sat{M}{}$, we have $\Sat/{M}{!B \land !C}$. |
| 134 | + |
| 135 | + \item The cases where $!A \ident \lnot !B$, $!A \ident !B \lor !C$, |
| 136 | + and $!A \ident !B \lif !C$ are similar and left as exercises. |
| 137 | + |
| 138 | + \item $!A \in \Theta$ and $!A \ident \lexists[x][!B(x)]$. Then for |
| 139 | + some $n$, $\Pi_n = \Pi_n', \lexists[x][!B(x)]^i$. $\Pi_{n+1} |
| 140 | + \Sequent \Lambda_{n+1}$ is the corresponding premise |
| 141 | + of~\LeftR{\lexists}, i.e., $\Pi_{n+1} = \Pi_n', !B(c)^k$ for |
| 142 | + some~$c$. Consequently, $!B(c) \in \Theta$ and~$c \in C$. By |
| 143 | + inductive hypothesis, $\Sat{M}{!B(c)}$. By definition of |
| 144 | + $\Sat{M}{}$, we have $\Sat{M}{\lexists[x][!B(x)]}$. |
| 145 | + |
| 146 | + \item $!A \in \Xi$ and $!A \ident \lexists[x][!B(x)]$. Then for some |
| 147 | + $n$, $\Lambda_n = \Lambda_n', \lexists[x][!B(x)]^i$. Since every time |
| 148 | + $\lexists[x][!B(x)]$ is reduced, $\lexists[x][!B(x)]$ remains on the |
| 149 | + right side of the premise sequent with a new index, |
| 150 | + $\lexists[x][!B(x)]$ is reduced infinitely often on the right side |
| 151 | + in a failure branch if it occurs there. Every term $t \in |
| 152 | + \Domain{M}$ eventually is ``the first term only containing constants |
| 153 | + in~$C_n$ not already used in a reduction of $\lexists[x][!B(x)]$ on |
| 154 | + the right'' on a failure branch. Hence, for all $t \in \Domain{M}$, |
| 155 | + $!B(t) \in \Lambda_n$ for some~$n$ and consequently $!B(t) \in \Xi$. |
| 156 | + By inductive hypothesis, $\Sat/{M}{!B(t)}$ for all $t \in |
| 157 | + \Domain{M}$. By definition of $\Sat{M}{}$, we have |
| 158 | + $\Sat/{M}{\lexists[x][!B(x)]}$. |
| 159 | + |
| 160 | + \item The cases where $!A \ident \lforall[x][!B(x)]$ are similar and |
| 161 | + left as exercises. |
| 162 | +\end{enumerate} |
| 163 | +\end{proof} |
| 164 | + |
| 165 | +\begin{cor}\ollabel{cor:complete} The proof search algorithm for |
| 166 | +\Log{G3c} is complete: if it aborts or never halts, the starting |
| 167 | +sequent~$\Gamma \Sequent \Delta$ is not valid and hence has no |
| 168 | +!!{proof}. |
| 169 | +\end{cor} |
| 170 | + |
| 171 | +\begin{proof} |
| 172 | + If the algorithm aborts or never halts, there is a failure branch |
| 173 | + from which $\Struct{M}$ can be defined. By \olref{lem:truth}, for |
| 174 | + all $!A \in \Gamma$, $\Sat{M}{!A}$ and for all $!A \in \Delta$, |
| 175 | + $\Sat/{M}{!A}$. (Recall that $\Pi_0 = \Gamma$ and $\Lambda_0 = |
| 176 | + \Delta$, so $\Gamma \subseteq \Theta$ and $\Delta \subseteq \Xi$.) |
| 177 | + So $\Gamma \Sequent \Delta$ is not valid. By soundness of~\Log{G3c}, |
| 178 | + $\Gamma \Sequent \Delta$ has no !!{proof}. |
| 179 | +\end{proof} |
| 180 | + |
| 181 | +\begin{cor} |
| 182 | +\Log{G3c} is complete: if $\Gamma \Sequent \Delta$ is valid, |
| 183 | +$\Log{G3c} \Proves \Gamma \Sequent \Delta$. |
| 184 | +\end{cor} |
| 185 | + |
| 186 | +\begin{proof} |
| 187 | + We prove the contrapositive. Suppose $\Log{G3c} \Proves/ \Gamma |
| 188 | + \Sequent \Delta$. Then the proof search algorithm must abort or |
| 189 | + never halt, as there is no !!{proof} to be found. By \olref{cor:complete}, $\Gamma \Sequent \Delta$ is not |
| 190 | + valid. |
| 191 | +\end{proof} |
| 192 | + |
| 193 | + |
| 194 | +\end{document} |
0 commit comments