Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
sav07_lecture_3_skeleton [2007/03/20 18:06] vkuncak |
sav07_lecture_3_skeleton [2007/03/20 18:09] vkuncak |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Converting programs (with simple values) to formulas ===== | ===== Converting programs (with simple values) to formulas ===== | ||
+ | |||
Line 11: | Line 12: | ||
* represent programs using guarded command language, e.g. desugaring of 'if' into non-deterministic choice and assume | * represent programs using guarded command language, e.g. desugaring of 'if' into non-deterministic choice and assume | ||
* give meaning to guarded command language statements as relations | * give meaning to guarded command language statements as relations | ||
- | * we can represent relations using set comprehensions; if our program c has two state components, we can represent its meaning R( c ) as | + | * we can represent relations using set comprehensions; if our program c has two state components, we can represent its meaning R( c ) as $\{((x_0,y_0),(x,y)) \mid F \}$, where F is some formula that has x,y,x_0,y_0 as free variables. |
- | <latex> | + | |
- | \{((x_0,y_0),(x,y)) \mid F \} | + | |
- | </latex> | + | |
- | + | ||
- | where F is some formula that has x,y,x_0,y_0 as free variables. | + | |
* this is what I mean by ''simple values'': later we will talk about modeling pointers and arrays, but we will still use this as a starting point. | * this is what I mean by ''simple values'': later we will talk about modeling pointers and arrays, but we will still use this as a starting point. |