**3.** For this chapter, I would emphasize that all its semantic
definitions are *very natural* and *very simple*, in the strong
sense that there really isn't anything else you could write. The only
exception to this is the use of `EStore`

instead of just
`Store`

, which seems artificial at this point, because it is really
not needed for the constructions in Chapter 3; in fact, Proposition 27 can be
seen as *proving* that `EStore`

isn't needed here. However,
as the chapter repeatedly emphasizes, `EStore`

becomes necessary
when programs can have `while`

loops, because these may not
terminate; therefore we may as well write the definitions in the way we will
eventually need them anyway.

**3.3** The proof of Proposition 27 is not difficult, and the result is
intuitively obvious, although it is a bit technical to give a precise
definition for "structural induction" and to justify it; the formulation of
*program terminatation* in Proposition 27 is also a bit technical, and
a little thought is required to understand it.

Regarding the proof of Proposition 27 for the case of the conditional as
requested in Exercise 14, note that you should first prove a lemma, that
expressions of sort `Tst`

always return either `true`

or
else `false`

; this can be done using structural induction in the
same style as in the main proof.

To CSE 230 homepage

To CSE 230 notes page

Maintained by Joseph Goguen

© 2000, 2001, 2002 Joseph Goguen

Last modified: Mon Feb 25 13:47:49 PST 2002