src/HOL/Nitpick_Examples/Special_Nits.thy
changeset 53015 a1119cf551e8
parent 45035 60d2c03d5c70
child 54633 86e0b402994c
equal deleted inserted replaced
53009:bb18eed53ed6 53015:a1119cf551e8
   129 nitpick [expect = potential]
   129 nitpick [expect = potential]
   130 nitpick [dont_specialize, expect = potential]
   130 nitpick [dont_specialize, expect = potential]
   131 sorry
   131 sorry
   132 
   132 
   133 lemma "\<forall>a. g a = a
   133 lemma "\<forall>a. g a = a
   134        \<Longrightarrow> \<exists>b\<^isub>1 b\<^isub>2 b\<^isub>3 b\<^isub>4 b\<^isub>5 b\<^isub>6 b\<^isub>7 b\<^isub>8 b\<^isub>9 b\<^isub>10 (b\<^isub>11\<Colon>nat).
   134        \<Longrightarrow> \<exists>b\<^sub>1 b\<^sub>2 b\<^sub>3 b\<^sub>4 b\<^sub>5 b\<^sub>6 b\<^sub>7 b\<^sub>8 b\<^sub>9 b\<^sub>10 (b\<^sub>11\<Colon>nat).
   135            b\<^isub>1 < b\<^isub>11 \<and> f5 g x = f5 (\<lambda>a. if b\<^isub>1 < b\<^isub>11 then a else h b\<^isub>2) x"
   135            b\<^sub>1 < b\<^sub>11 \<and> f5 g x = f5 (\<lambda>a. if b\<^sub>1 < b\<^sub>11 then a else h b\<^sub>2) x"
   136 nitpick [expect = potential]
   136 nitpick [expect = potential]
   137 nitpick [dont_specialize, expect = none]
   137 nitpick [dont_specialize, expect = none]
   138 nitpick [dont_box, expect = none]
   138 nitpick [dont_box, expect = none]
   139 nitpick [dont_box, dont_specialize, expect = none]
   139 nitpick [dont_box, dont_specialize, expect = none]
   140 sorry
   140 sorry
   141 
   141 
   142 lemma "\<forall>a. g a = a
   142 lemma "\<forall>a. g a = a
   143        \<Longrightarrow> \<exists>b\<^isub>1 b\<^isub>2 b\<^isub>3 b\<^isub>4 b\<^isub>5 b\<^isub>6 b\<^isub>7 b\<^isub>8 b\<^isub>9 b\<^isub>10 (b\<^isub>11\<Colon>nat).
   143        \<Longrightarrow> \<exists>b\<^sub>1 b\<^sub>2 b\<^sub>3 b\<^sub>4 b\<^sub>5 b\<^sub>6 b\<^sub>7 b\<^sub>8 b\<^sub>9 b\<^sub>10 (b\<^sub>11\<Colon>nat).
   144            b\<^isub>1 < b\<^isub>11
   144            b\<^sub>1 < b\<^sub>11
   145            \<and> f5 g x = f5 (\<lambda>a. if b\<^isub>1 < b\<^isub>11 then
   145            \<and> f5 g x = f5 (\<lambda>a. if b\<^sub>1 < b\<^sub>11 then
   146                                 a
   146                                 a
   147                               else
   147                               else
   148                                 h b\<^isub>2 + h b\<^isub>3 + h b\<^isub>4 + h b\<^isub>5 + h b\<^isub>6 + h b\<^isub>7 + h b\<^isub>8
   148                                 h b\<^sub>2 + h b\<^sub>3 + h b\<^sub>4 + h b\<^sub>5 + h b\<^sub>6 + h b\<^sub>7 + h b\<^sub>8
   149                                 + h b\<^isub>9 + h b\<^isub>10) x"
   149                                 + h b\<^sub>9 + h b\<^sub>10) x"
   150 nitpick [card nat = 2, card 'a = 1, expect = none]
   150 nitpick [card nat = 2, card 'a = 1, expect = none]
   151 nitpick [card nat = 2, card 'a = 1, dont_box, expect = none]
   151 nitpick [card nat = 2, card 'a = 1, dont_box, expect = none]
   152 nitpick [card nat = 2, card 'a = 1, dont_specialize, expect = none]
   152 nitpick [card nat = 2, card 'a = 1, dont_specialize, expect = none]
   153 nitpick [card nat = 2, card 'a = 1, dont_box, dont_specialize, expect = none]
   153 nitpick [card nat = 2, card 'a = 1, dont_box, dont_specialize, expect = none]
   154 sorry
   154 sorry
   155 
   155 
   156 lemma "\<forall>a. g a = a
   156 lemma "\<forall>a. g a = a
   157        \<Longrightarrow> \<exists>b\<^isub>1 b\<^isub>2 b\<^isub>3 b\<^isub>4 b\<^isub>5 b\<^isub>6 b\<^isub>7 b\<^isub>8 b\<^isub>9 b\<^isub>10 (b\<^isub>11\<Colon>nat).
   157        \<Longrightarrow> \<exists>b\<^sub>1 b\<^sub>2 b\<^sub>3 b\<^sub>4 b\<^sub>5 b\<^sub>6 b\<^sub>7 b\<^sub>8 b\<^sub>9 b\<^sub>10 (b\<^sub>11\<Colon>nat).
   158            b\<^isub>1 < b\<^isub>11
   158            b\<^sub>1 < b\<^sub>11
   159            \<and> f5 g x = f5 (\<lambda>a. if b\<^isub>1 \<ge> b\<^isub>11 then
   159            \<and> f5 g x = f5 (\<lambda>a. if b\<^sub>1 \<ge> b\<^sub>11 then
   160                                 a
   160                                 a
   161                               else
   161                               else
   162                                 h b\<^isub>2 + h b\<^isub>3 + h b\<^isub>4 + h b\<^isub>5 + h b\<^isub>6 + h b\<^isub>7 + h b\<^isub>8
   162                                 h b\<^sub>2 + h b\<^sub>3 + h b\<^sub>4 + h b\<^sub>5 + h b\<^sub>6 + h b\<^sub>7 + h b\<^sub>8
   163                                 + h b\<^isub>9 + h b\<^isub>10) x"
   163                                 + h b\<^sub>9 + h b\<^sub>10) x"
   164 nitpick [card nat = 2, card 'a = 1, expect = potential]
   164 nitpick [card nat = 2, card 'a = 1, expect = potential]
   165 nitpick [card nat = 2, card 'a = 1, dont_box, expect = potential]
   165 nitpick [card nat = 2, card 'a = 1, dont_box, expect = potential]
   166 nitpick [card nat = 2, card 'a = 1, dont_specialize, expect = potential]
   166 nitpick [card nat = 2, card 'a = 1, dont_specialize, expect = potential]
   167 nitpick [card nat = 2, card 'a = 1, dont_box, dont_specialize,
   167 nitpick [card nat = 2, card 'a = 1, dont_box, dont_specialize,
   168          expect = potential]
   168          expect = potential]