diff -r 8420a873f534 -r 70fd4a3c41ed src/HOL/Nitpick_Examples/Core_Nits.thy --- a/src/HOL/Nitpick_Examples/Core_Nits.thy Mon Sep 06 16:50:29 2010 +0200 +++ b/src/HOL/Nitpick_Examples/Core_Nits.thy Mon Sep 06 17:51:26 2010 +0200 @@ -32,44 +32,6 @@ nitpick [card = 1\12, expect = none] by auto -lemma "(split o curry) f = f" -nitpick [card = 1\12, expect = none] -by auto - -lemma "(curry o split) f = f" -nitpick [card = 1\12, expect = none] -by auto - -lemma "(split o curry) f = (\x. x) f" -nitpick [card = 1\12, expect = none] -by auto - -lemma "(curry o split) f = (\x. x) f" -nitpick [card = 1\12, expect = none] -by auto - -lemma "((split o curry) f) p = ((\x. x) f) p" -nitpick [card = 1\12, expect = none] -by auto - -lemma "((curry o split) f) x = ((\x. x) f) x" -nitpick [card = 1\12, expect = none] -by auto - -lemma "((curry o split) f) x y = ((\x. x) f) x y" -nitpick [card = 1\12, expect = none] -by auto - -lemma "split o curry = (\x. x)" -nitpick [card = 1\12, expect = none] -apply (rule ext)+ -by auto - -lemma "curry o split = (\x. x)" -nitpick [card = 1\12, expect = none] -apply (rule ext)+ -by auto - lemma "split (\x y. f (x, y)) = f" nitpick [card = 1\12, expect = none] by auto @@ -150,31 +112,31 @@ oops lemma "{a, b} = {b}" -nitpick [card = 100, expect = genuine] +nitpick [card = 50, expect = genuine] oops lemma "(a\'a\'a, a\'a\'a) \ R" nitpick [card = 1, expect = genuine] -nitpick [card = 20, expect = genuine] +nitpick [card = 10, expect = genuine] nitpick [card = 5, dont_box, expect = genuine] oops lemma "f (g\'a\'a) = x" nitpick [card = 3, expect = genuine] nitpick [card = 3, dont_box, expect = genuine] -nitpick [card = 10, expect = genuine] +nitpick [card = 8, expect = genuine] oops lemma "f (a, b) = x" -nitpick [card = 12, expect = genuine] +nitpick [card = 10, expect = genuine] oops lemma "f (a, a) = f (c, d)" -nitpick [card = 12, expect = genuine] +nitpick [card = 10, expect = genuine] oops lemma "(x\'a) = (\a. \b. \c. if c then a else b) x x True" -nitpick [card = 1\12, expect = none] +nitpick [card = 1\10, expect = none] by auto lemma "\F. F a b = G a b" @@ -187,7 +149,7 @@ oops lemma "(A\'a\'a, B\'a\'a) \ R \ (A, B) \ R" -nitpick [card = 20, expect = none] +nitpick [card = 15, expect = none] by auto lemma "(A, B) \ R \ (\C. (A, C) \ R \ (C, B) \ R) \ @@ -204,30 +166,30 @@ lemma "x = y" nitpick [card 'a = 1, expect = none] nitpick [card 'a = 2, expect = genuine] -nitpick [card 'a = 200, expect = genuine] +nitpick [card 'a = 100, expect = genuine] oops lemma "\x. x = y" nitpick [card 'a = 1, expect = none] nitpick [card 'a = 2, expect = genuine] -nitpick [card 'a = 200, expect = genuine] +nitpick [card 'a = 100, expect = genuine] oops lemma "\x\'a \ bool. x = y" nitpick [card 'a = 1, expect = genuine] -nitpick [card 'a = 200, expect = genuine] +nitpick [card 'a = 100, expect = genuine] oops lemma "\x\'a \ bool. x = y" -nitpick [card 'a = 1\20, expect = none] +nitpick [card 'a = 1\15, expect = none] by auto lemma "\x y\'a \ bool. x = y" -nitpick [card = 1\20, expect = none] +nitpick [card = 1\15, expect = none] by auto lemma "\x. \y. f x y = f x (g x)" -nitpick [card = 1\5, expect = none] +nitpick [card = 1\4, expect = none] by auto lemma "\u. \v. \w. \x. f u v w x = f u (g u) w (h u w)" @@ -241,7 +203,6 @@ lemma "\u. \v. \w. \x. \y. \z. f u v w x y z = f u (g u) w (h u w) y (k u w y)" nitpick [card = 1\2, expect = none] -nitpick [card = 3, expect = none] sorry lemma "\u. \v. \w. \x. \y. \z. @@ -288,18 +249,6 @@ nitpick [expect = none] sorry -lemma "\x\'a\'b. if (\y. x = y) then True else False" -nitpick [expect = none] -sorry - -lemma "(\ (\x. P x)) \ (\x. \ P x)" -nitpick [expect = none] -by auto - -lemma "(\ \ (\x. P x)) \ (\ (\x. \ P x))" -nitpick [expect = none] -by auto - lemma "(\x\'a. \y. P x y) \ (\x\'a \ 'a. \y. P y x)" nitpick [card 'a = 1, expect = genuine] nitpick [card 'a = 5, expect = genuine] @@ -383,10 +332,6 @@ nitpick [card = 20, expect = genuine] oops -lemma "I = (\x. x) \ (op \ x) \ (\y. (x \ I y))" -nitpick [expect = none] -by auto - lemma "P x \ P x" nitpick [card = 1\10, expect = none] by auto @@ -456,14 +401,12 @@ oops lemma "\!x. x = undefined" -nitpick [card = 30, expect = none] +nitpick [card = 15, expect = none] by auto lemma "x = All \ False" nitpick [card = 1, dont_box, expect = genuine] -nitpick [card = 2, dont_box, expect = genuine] -nitpick [card = 8, dont_box, expect = genuine] -nitpick [card = 10, dont_box, expect = unknown] +nitpick [card = 5, dont_box, expect = genuine] oops lemma "\x. f x y = f x y" @@ -482,15 +425,9 @@ nitpick [expect = genuine] oops -lemma "I = (\x. x) \ All P = All (\x. P (I x))" -nitpick [expect = none] -by auto - lemma "x = Ex \ False" nitpick [card = 1, dont_box, expect = genuine] -nitpick [card = 2, dont_box, expect = genuine] -nitpick [card = 6, dont_box, expect = genuine] -nitpick [card = 10, dont_box, expect = unknown] +nitpick [card = 5, dont_box, expect = genuine] oops lemma "\x. f x y = f x y" @@ -513,10 +450,6 @@ nitpick [expect = genuine] oops -lemma "Ex (\x. f x y = f y x) = False" -nitpick [expect = genuine] -oops - lemma "Ex (\x. f x y \ f x y) = False" nitpick [expect = none] by auto @@ -525,11 +458,6 @@ nitpick [expect = none] by auto -lemma "I = (\x. x) \ (op =) = (\x. (op= (I x)))" - "I = (\x. x) \ (op =) = (\x y. x = (I y))" -nitpick [expect = none] -by auto - lemma "x = y \ y = x" nitpick [expect = none] by auto @@ -555,35 +483,10 @@ nitpick [expect = none] by auto -lemma "\ a \ \ (a \ b)" "\ b \ \ (a \ b)" -nitpick [expect = none] -by auto - -lemma "I = (\x. x) \ (op \) = (\x. op \ (I x))" - "I = (\x. x) \ (op \) = (\x y. x \ (I y))" -nitpick [expect = none] -by auto - -lemma "a \ a \ b" "b \ a \ b" -nitpick [expect = none] -by auto - -lemma "\ (a \ b) \ \ a" "\ (a \ b) \ \ b" -nitpick [expect = none] -by auto - lemma "(op \) = (\x. op\ x)" "(op\ ) = (\x y. x \ y)" nitpick [expect = none] by auto -lemma "\a \ a \ b" "b \ a \ b" -nitpick [expect = none] -by auto - -lemma "\a; \ b\ \ \ (a \ b)" -nitpick [expect = none] -by auto - lemma "((if a then b else c) = d) = ((a \ (b = d)) \ (\ a \ (c = d)))" nitpick [expect = none] by auto @@ -592,12 +495,6 @@ nitpick [expect = none] by auto -lemma "I = (\x. x) \ If = (\x. If (I x))" - "J = (\x. x) \ If = (\x y. If x (J y))" - "K = (\x. x) \ If = (\x y z. If x y (K z))" -nitpick [expect = none] -by auto - lemma "fst (x, y) = x" nitpick [expect = none] by (simp add: fst_def) @@ -642,10 +539,6 @@ nitpick [expect = none] by auto -lemma "I = (\x. x) \ snd = (\x. snd (I x))" -nitpick [expect = none] -by auto - lemma "fst (x, y) = snd (y, x)" nitpick [expect = none] by auto @@ -662,10 +555,6 @@ nitpick [expect = none] by auto -lemma "I = (\x. x) \ curry Id = (\x y. Id (x, I y))" -nitpick [expect = none] -by (simp add: curry_def) - lemma "{} = (\x. False)" nitpick [expect = none] by (metis Collect_def empty_def) @@ -722,10 +611,6 @@ nitpick [expect = none] by (simp add: mem_def) -lemma "I = (\x. x) \ insert = (\x. insert (I x))" -nitpick [expect = none] -by simp - lemma "insert = (\x y. insert x (y \ y))" nitpick [expect = none] by simp @@ -743,10 +628,6 @@ nitpick [expect = none] by auto -lemma "I = (\x. x) \ rtrancl = (\x. rtrancl (I x))" -nitpick [card = 1\2, expect = none] -by auto - lemma "((x, x), (x, x)) \ rtrancl {}" nitpick [card = 1\5, expect = none] by auto @@ -755,42 +636,18 @@ nitpick [card = 1\5, expect = none] by auto -lemma "I = (\x. x) \ op \ = (\x y. op \ x (I y))" -nitpick [card = 1\5, expect = none] -by auto - lemma "a \ A \ a \ (A \ B)" "b \ B \ b \ (A \ B)" nitpick [expect = none] by auto -lemma "a \ (A \ B) \ a \ A \ a \ B" -nitpick [expect = none] -by auto - lemma "I = (\x. x) \ op \ = (\x. op \ (I x))" nitpick [card = 1\5, expect = none] by auto -lemma "I = (\x. x) \ op \ = (\x y. op \ x (I y))" -nitpick [card = 1\5, expect = none] -by auto - lemma "a \ A \ a \ (A \ B)" "b \ B \ b \ (A \ B)" nitpick [card = 1\5, expect = none] by auto -lemma "a \ (A \ B) \ a \ A \ a \ B" -nitpick [expect = none] -by auto - -lemma "I = (\x. x) \ op - = (\x\'a set. op - (I x))" -nitpick [card = 1\5, expect = none] -by auto - -lemma "I = (\x. x) \ op - = (\x y\'a set. op - x (I y))" -nitpick [card = 1\5, expect = none] -by auto - lemma "x \ ((A\'a set) - B) \ x \ A \ x \ B" nitpick [card = 1\5, expect = none] by auto @@ -799,22 +656,10 @@ nitpick [card = 1\5, expect = none] by auto -lemma "I = (\x. x) \ op \ = (\x y. op \ x (I y))" -nitpick [card = 1\5, expect = none] -by auto - lemma "A \ B \ (\a \ A. a \ B) \ (\b \ B. b \ A)" nitpick [card = 1\5, expect = none] by auto -lemma "I = (\x. x) \ op \ = (\x. op \ (I x))" -nitpick [card = 1\5, expect = none] -by auto - -lemma "I = (\x. x) \ op \ = (\x y. op \ x (I y))" -nitpick [card = 1\5, expect = none] -by auto - lemma "A \ B \ \a \ A. a \ B" nitpick [card = 1\5, expect = none] by auto @@ -843,10 +688,6 @@ nitpick [card 'a = 10, expect = genuine] oops -lemma "I = (\x. x) \ finite = (\x. finite (I x))" -nitpick [card = 1\7, expect = none] -oops - lemma "finite A" nitpick [expect = none] oops