Saturday, October 16, 2010

Navigating scope

In CSC165 I coerce students into using a highly-structured expression of proof. Just as the programming language python uses white space on the left (indentation) to indicate scope, they must indent portions of their proof that share scope.

You want to prove something about every real number, so you name a generic real number x so that you can reason about it...

Assume x is a generic real number. To tip off the reader that I'm within the world-view where x has the properties of a real number, I indent one level from the left.

Several assumptions later I may have indented the text nearly off the right-hand margin. To make things even more unnatural, any non-trivial steps in reasoning must be justified. The prose ends up being broken up, and the flow is broken.

It feels as though truth and beauty are at odds here, or at least structure and beauty. I convince myself that, down the road, there will be a payoff when I (or some of my students) will write proofs that have both an easy-flowing style and crystal-clear structure.

Until then, I coerce my students into writing structured proofs.

4 comments:

Michael Andreae said...

My roommate always points out the problems in my proofs and it is never brevity. I am always amazed at how he asks the simplest questions and I've forgotten about that angle. Your way of making us write very careful and formalized proofs is, while time consuming, probably for the better.

Udai Kapila said...

Sometimes beauty is found in the simplicity of communication. If indentation is one step closer to clarity, then whats the harm? It is true though, that in most proofs (especially ones that get very abstract), that structure is hard to keep in tact, and the break does hurt readability. But if you are trying to juxtapose beauty and structure, I'd say that perfection is boring and ambiguity pokes at our curiosity, which is a good thing :).

So I guess you can take comfort in the fact that our structured proofs have some sort of a natural broken prettiness to them....

Shi said...

For simple problems structural proof may be easy to write because there are fewer steps. But for longer questions structural proofs are just space consuming and slow. However, it is indeed a good way to start with since you must always be clear about what your assumptions are. This prevents people make non-proved assumptions and make things clear.

I also like the comments on the side. We usually don't have them when doing mathematics proofs, but they are really handy.

NAPHIE_magic said...

Danny, why do you stopped blogging? I had a great time having the CSC165 class. Really miss the whole blog posting thing. Great memories :)