Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
sav07_lecture_5 [2007/04/03 17:37] vaibhav.rajan |
sav07_lecture_5 [2007/04/03 23:18] vkuncak |
||
---|---|---|---|
Line 4: | Line 4: | ||
* Nelson-Oppen combination method | * Nelson-Oppen combination method | ||
* Proof search | * Proof search | ||
+ | |||
===== Basic idea of Nelson-Oppen combination ===== | ===== Basic idea of Nelson-Oppen combination ===== | ||
Line 87: | Line 88: | ||
The models can be merged if \\ | The models can be merged if \\ | ||
(1)the domains are of the same size, and \\ | (1)the domains are of the same size, and \\ | ||
- | (2)[x = y]_m1 --> [f(x) = f(y]_m2, where f is an isomorphism from one model to the other. | + | (2)[x = y]_m1 --> [f(x) = f(y)]_m2, where f is an isomorphism from one model to the other. |
Line 143: | Line 144: | ||
* Basic idea, and in the above example (name i from the ∃i as i0, then instantiate ∀i also with i=i0) | * Basic idea, and in the above example (name i from the ∃i as i0, then instantiate ∀i also with i=i0) | ||
- | * examples of incompleteness: | + | * example: |
Given: f(0) > 0 & ∀x:x > 0. (f(x)>0) --> f(x+1)>0 | Given: f(0) > 0 & ∀x:x > 0. (f(x)>0) --> f(x+1)>0 | ||
+ | |||
Prove: ∀x. (x >= 0) --> f(x+1)>0 | Prove: ∀x. (x >= 0) --> f(x+1)>0 | ||
+ | |||
Proof: | Proof: | ||
- | * f(5) > 0 | + | * f(5) > 0\\ |
f(5): can be derived by deriving f(1), f(2), f(3) and f(4). | f(5): can be derived by deriving f(1), f(2), f(3) and f(4). | ||
* Then its straightforward to use ∀x:x > 0. (f(x)>0) --> f(x+1)>0 and arrive at the proof. | * Then its straightforward to use ∀x:x > 0. (f(x)>0) --> f(x+1)>0 and arrive at the proof. | ||
For formulas with quantifiers, example: (∀x.F1) & F2, substitute values for x in F1. | For formulas with quantifiers, example: (∀x.F1) & F2, substitute values for x in F1. | ||
+ | |||
A heuristic that could be used is: Look at constants in F2 and try substituting them. | A heuristic that could be used is: Look at constants in F2 and try substituting them. | ||