equal
deleted
inserted
replaced
82 txt{*\noindent |
82 txt{*\noindent |
83 The proof is canonical: |
83 The proof is canonical: |
84 *} |
84 *} |
85 |
85 |
86 apply(induct_tac b); |
86 apply(induct_tac b); |
87 apply(auto).; |
87 by(auto); |
88 |
88 |
89 text{*\noindent |
89 text{*\noindent |
90 In fact, all proofs in this case study look exactly like this. Hence we do |
90 In fact, all proofs in this case study look exactly like this. Hence we do |
91 not show them below. |
91 not show them below. |
92 |
92 |
125 |
125 |
126 lemma [simp]: |
126 lemma [simp]: |
127 "\\<forall>t e. valif (normif b t e) env = valif (IF b t e) env"; |
127 "\\<forall>t e. valif (normif b t e) env = valif (IF b t e) env"; |
128 (*<*) |
128 (*<*) |
129 apply(induct_tac b); |
129 apply(induct_tac b); |
130 apply(auto).; |
130 by(auto); |
131 |
131 |
132 theorem "valif (norm b) env = valif b env"; |
132 theorem "valif (norm b) env = valif b env"; |
133 apply(induct_tac b); |
133 apply(induct_tac b); |
134 apply(auto).; |
134 by(auto); |
135 (*>*) |
135 (*>*) |
136 text{*\noindent |
136 text{*\noindent |
137 Note that the lemma does not have a name, but is implicitly used in the proof |
137 Note that the lemma does not have a name, but is implicitly used in the proof |
138 of the theorem shown above because of the \isa{[simp]} attribute. |
138 of the theorem shown above because of the \isa{[simp]} attribute. |
139 |
139 |
151 text{*\noindent |
151 text{*\noindent |
152 and prove \isa{normal(norm b)}. Of course, this requires a lemma about |
152 and prove \isa{normal(norm b)}. Of course, this requires a lemma about |
153 normality of \isa{normif}: |
153 normality of \isa{normif}: |
154 *} |
154 *} |
155 |
155 |
156 lemma [simp]: "\\<forall>t e. normal(normif b t e) = (normal t \\<and> normal e)"; |
156 lemma[simp]: "\\<forall>t e. normal(normif b t e) = (normal t \\<and> normal e)"; |
157 (*<*) |
157 (*<*) |
158 apply(induct_tac b); |
158 apply(induct_tac b); |
159 apply(auto).; |
159 by(auto); |
160 |
160 |
161 theorem "normal(norm b)"; |
161 theorem "normal(norm b)"; |
162 apply(induct_tac b); |
162 apply(induct_tac b); |
163 apply(auto).; |
163 by(auto); |
164 |
164 |
165 end |
165 end |
166 (*>*) |
166 (*>*) |