So we got a sense of how to write these things, but I want to take a more formal look, because one of the things I'm trying to teach you is how to give precise understanding to what constructs in a programming language mean. 