Metatheory - University of Cambridge
Metatheory - University of Cambridge
Metatheory - University of Cambridge
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2. Substitution 16<br />
Step 3: Repeat step 2, until there are no atomic sentences that appear in the<br />
input sentence but not in B. At that point, stop. The last sentence you<br />
wrote down is an interpolant linking A to B.<br />
It is worth seeing this in action. Suppose we start with the entailment:<br />
((A ∧ (¬B ∨ C)) ∧ (¬C ∧ D)) ⊨ ((B ∨ D) ∧ (¬B ∨ E))<br />
Running the algorithm, our initial input sentence is:<br />
((A ∧ (¬B ∨ C)) ∧ (¬C ∧ D))<br />
We would first eliminate A, obtaining (using ‘⊤’ to abbreviate some tautology<br />
containing ‘B’, and ‘⊥’ to abbreviate some contradiction containing ‘B’):<br />
(((⊤ ∧ (¬B ∨ C)) ∧ (¬C ∧ D)) ∨ ((⊥ ∧ (¬B ∨ C)) ∧ (¬C ∧ D)))<br />
This would become our new input sentence; from which we would eliminate C:<br />
((((⊤ ∧ (¬B ∨ ⊤)) ∧ (¬⊤ ∧ D)) ∨ ((⊥ ∧ (¬B ∨ ⊤)) ∧ (¬⊤ ∧ D))) ∨<br />
(((⊤ ∧ (¬B ∨ ⊥)) ∧ (¬⊥ ∧ D)) ∨ ((⊥ ∧ (¬B ∨ ⊥)) ∧ (¬⊥ ∧ D))))<br />
And this is our interpolant! But, as the example illustrates, the output <strong>of</strong><br />
this algorithm can be quite a mouthful. To simplify it, we can apply some<br />
‘clean-up’ rules. Where ‘⊤’ abbreviates any tautology, and ‘⊥’ abbreviates any<br />
contradiction, note, for example, that:<br />
⊤ ∨ A<br />
⊥ ∧ A<br />
¬⊤<br />
¬⊥<br />
Using these equivalences and Lemma 2.2, we can simplify the subsentences <strong>of</strong><br />
our interpolant. 1 First, applying the rules for negation:<br />
⊨<br />
⊨<br />
⊨<br />
⊨<br />
⊨ ⊤<br />
⊨ ⊥<br />
⊨ ⊥<br />
⊨ ⊤<br />
((((⊤ ∧ (¬B ∨ ⊤)) ∧ (⊥ ∧ D)) ∨ ((⊥ ∧ (¬B ∨ ⊤)) ∧ (⊥ ∧ D))) ∨<br />
(((⊤ ∧ (¬B ∨ ⊥)) ∧ (⊤ ∧ D)) ∨ ((⊥ ∧ (¬B ∨ ⊥)) ∧ (⊤ ∧ D))))<br />
Next, applying the rules for conjunction and disjunction:<br />
((((⊤ ∧ ⊤) ∧ ⊥) ∨ (⊥ ∧ ⊥)) ∨ (((⊤ ∧ ¬B) ∧ D) ∨ (⊥ ∧ D)))<br />
And, then, applying them again and again, we get, successively:<br />
Which is much simpler!<br />
((⊥ ∨ ⊥) ∨ ((¬B ∧ D) ∨ ⊥))<br />
(⊥ ∨ (¬B ∧ D))<br />
(¬B ∧ D)<br />
1 Recall that a sentence A is a subsentence <strong>of</strong> B iff A is a part <strong>of</strong> B. We here read ‘part’<br />
in a generous sense, so that every sentence is a part <strong>of</strong> itself.