185 nitpick [binary_ints, expect = genuine] |
185 nitpick [binary_ints, expect = genuine] |
186 oops |
186 oops |
187 |
187 |
188 lemma "y \<noteq> 0 \<Longrightarrow> x * y div y = (x::int)" |
188 lemma "y \<noteq> 0 \<Longrightarrow> x * y div y = (x::int)" |
189 nitpick [unary_ints, expect = none] |
189 nitpick [unary_ints, expect = none] |
190 nitpick [binary_ints, expect = none, card = 1\<midarrow>5, bits = 1\<midarrow>5] |
190 nitpick [binary_ints, card = 1\<midarrow>4, bits = 1\<midarrow>4, expect = none] |
191 sorry |
191 sorry |
192 |
192 |
193 lemma "(x * y < 0) \<longleftrightarrow> (x > 0 \<and> y < 0) \<or> (x < 0 \<and> y > (0::int))" |
193 lemma "(x * y < 0) \<longleftrightarrow> (x > 0 \<and> y < 0) \<or> (x < 0 \<and> y > (0::int))" |
194 nitpick [unary_ints, expect = none] |
194 nitpick [unary_ints, expect = none] |
195 nitpick [binary_ints, expect = none] |
195 nitpick [binary_ints, expect = none] |
211 primrec labels where |
211 primrec labels where |
212 "labels Null = {}" | |
212 "labels Null = {}" | |
213 "labels (Node x t u) = {x} \<union> labels t \<union> labels u" |
213 "labels (Node x t u) = {x} \<union> labels t \<union> labels u" |
214 |
214 |
215 lemma "labels (Node x t u) \<noteq> labels (Node y v w)" |
215 lemma "labels (Node x t u) \<noteq> labels (Node y v w)" |
216 nitpick [expect = genuine] |
216 nitpick [expect = potential] (* unfortunate *) |
217 nitpick [dont_finitize, expect = potential] |
217 nitpick [dont_finitize, expect = potential] |
218 oops |
218 oops |
219 |
219 |
220 lemma "labels (Node x t u) \<noteq> {}" |
220 lemma "labels (Node x t u) \<noteq> {}" |
221 nitpick [expect = none] |
221 nitpick [expect = none] |
222 oops |
222 oops |
223 |
223 |
224 lemma "card (labels t) > 0" |
224 lemma "card (labels t) > 0" |
225 nitpick [expect = genuine] |
225 nitpick [expect = potential] (* unfortunate *) |
226 nitpick [dont_finitize, expect = potential] |
226 nitpick [dont_finitize, expect = potential] |
227 oops |
227 oops |
228 |
228 |
229 lemma "(\<Sum>n \<in> labels t. n + 2) \<ge> 2" |
229 lemma "(\<Sum>n \<in> labels t. n + 2) \<ge> 2" |
230 nitpick [expect = genuine] |
230 nitpick [expect = potential] (* unfortunate *) |
231 nitpick [dont_finitize, expect = potential] |
231 nitpick [dont_finitize, expect = potential] |
232 oops |
232 oops |
233 |
233 |
234 lemma "t \<noteq> Null \<Longrightarrow> (\<Sum>n \<in> labels t. n + 2) \<ge> 2" |
234 lemma "t \<noteq> Null \<Longrightarrow> (\<Sum>n \<in> labels t. n + 2) \<ge> 2" |
235 nitpick [expect = none] |
235 nitpick [expect = none] |
236 nitpick [dont_finitize, expect = none] |
236 nitpick [dont_finitize, expect = none] |
237 sorry |
237 sorry |
238 |
238 |
239 lemma "(\<Sum>i \<in> labels (Node x t u). f i\<Colon>nat) = f x + (\<Sum>i \<in> labels t. f i) + (\<Sum>i \<in> labels u. f i)" |
239 lemma "(\<Sum>i \<in> labels (Node x t u). f i\<Colon>nat) = f x + (\<Sum>i \<in> labels t. f i) + (\<Sum>i \<in> labels u. f i)" |
240 nitpick [expect = genuine] |
240 nitpick [expect = none] (* unfortunate *) |
241 nitpick [dont_finitize, expect = none] |
241 nitpick [dont_finitize, expect = none] |
242 oops |
242 oops |
243 |
243 |
244 end |
244 end |