diff -r e8736c1cdd7f -r 0424e7a7e99f Tutorial/Tutorial3.thy --- a/Tutorial/Tutorial3.thy Sat Jan 22 16:04:40 2011 -0600 +++ b/Tutorial/Tutorial3.thy Sat Jan 22 16:36:21 2011 -0600 @@ -5,16 +5,20 @@ section {* Formalising Barendregt's Proof of the Substitution Lemma *} text {* - Barendregt's proof needs in the variable case a case distinction. - One way to do this in Isar is to use blocks. A block consist of some - assumptions and reasoning steps enclosed in curly braces, like + The substitution lemma is another theorem where the variable + convention plays a crucial role. + + Barendregt's proof of this lemma needs in the variable case a + case distinction. One way to do this in Isar is to use blocks. + A block consist of some assumptions and reasoning steps + enclosed in curly braces, like { \ have "statement" have "last_statement_in_the_block" } - Such a block can contain local assumptions like + Such a block may contain local assumptions like { assume "A" assume "B" @@ -74,7 +78,7 @@ -section {* EXERCISE 7 *} +section {* EXERCISE 10 *} text {* Fill in the cases 1.2 and 1.3 and the equational reasoning @@ -143,5 +147,11 @@ by (nominal_induct M avoiding: x y N L rule: lam.strong_induct) (auto simp add: fresh_fact forget) +subsection {* MINI EXERCISE *} + +text {* + Compare and contrast Barendregt's reasoning and the + formalised proofs. +*} end