Differences
This shows you the differences between two versions of the page.
sav08:interpolation_for_propositional_logic [2008/03/11 16:15] vkuncak |
sav08:interpolation_for_propositional_logic [2015/04/21 17:30] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Interpolation for Propositional Logic ====== | ||
- | |||
- | **Definition of Interpolant:** | ||
- | Given two propositional formulas $F$ and $G$, an interpolant for $(F,G)$ is a propositional formula $H$ such that: \\ | ||
- | 1) $\models F \rightarrow H$ \\ | ||
- | 2) $\models H \rightarrow G$ \\ | ||
- | 3) $FV(H)\subseteq FV(F) \cap FV(G)$ | ||
- | |||
- | ++++What is FV?| | ||
- | $FV$ denotes the set of free variables in the given propositional formula, see [[Propositional Logic Syntax]]. | ||
- | ++++ | ||
- | |||
- | Note that $F \rightarrow G$ by transitivity of $\rightarrow$. The interpolant extracts what makes $F$ imply $G$. | ||
- | |||
- | Let $elim$ denote the operator that eliminates propositional quantifiers (see [[QBF and Quantifier Elimination]]). | ||
- | |||
- | Here are two simple ways to construct an interpolant: | ||
- | * We can quantify existentially all variables in $F$ that are not in $G$. | ||
- | |||
- | $H_{min} \equiv elim(\exists p_1, p_2, ..., p_n.\ F)$ where $\{p_1, p_2, ..., p_n \}\ = FV(F)\backslash FV(G)$ \\ | ||
- | |||
- | * We can quantify universally all variables in $G$ that are not in $F$. | ||
- | |||
- | $H_{max} \equiv elim(\forall q_1, q_2, ..., q_m.\ G)$ where $\{q_1, q_2, ..., q_m \}\ = FV(G)\backslash FV(F)$ \\ | ||
- | |||
- | More precisely, let ${\cal I}(F,G)$ denote the set of all interpolants for $(F,G)$, that is, | ||
- | \[ | ||
- | {\cal I}(F,G) = \{ H \mid H \mbox{ is interpolant for $(F,G)$ \} | ||
- | \] | ||
- | Then the following properties hold: | ||
- | - $H_{min} \in {\cal I}(F,G)$ | ||
- | - $\forall H \in {\cal I}(F,G).\ \models (H_{min} \rightarrow H)$ | ||
- | - $H_{max} \in {\cal I}(F,G)$ | ||
- | - $\forall H \in {\cal I}(F,G).\ \models (H \rightarrow H_{max})$ | ||
- | |||
- | We can also derive interpolants from resolution proofs, as we will see in [[lecture07]]. | ||