equal
deleted
inserted
replaced
167 ^ quote tname ^ ")) \""^tname^"0\" 1,\n\ |
167 ^ quote tname ^ ")) \""^tname^"0\" 1,\n\ |
168 \ ALLGOALS Asm_simp_tac]);\n\ |
168 \ ALLGOALS Asm_simp_tac]);\n\ |
169 \val split_"^tname^"_case_asm = prove_goal thy (#2(split_"^tname^"_eqns))\n\ |
169 \val split_"^tname^"_case_asm = prove_goal thy (#2(split_"^tname^"_eqns))\n\ |
170 \ (fn _ => [#exhaust_tac (datatype_info thy (Sign.intern_tycon (sign_of thy) " |
170 \ (fn _ => [#exhaust_tac (datatype_info thy (Sign.intern_tycon (sign_of thy) " |
171 ^ quote tname ^ ")) \""^tname^"0\" 1,\n\ |
171 ^ quote tname ^ ")) \""^tname^"0\" 1,\n\ |
172 \ ALLGOALS Asm_simp_tac]);\n\ |
172 \ ALLGOALS (asm_simp_tac (simpset() delsimps [split_paired_Ex]))]);\n\ |
173 \val thy = thy\n"; |
173 \val thy = thy\n"; |
174 |
174 |
175 (* |
175 (* |
176 The #exhaust_tac(snd(hd(!datatypes))) in the proof of split_"^tname^"_case |
176 The #exhaust_tac(snd(hd(!datatypes))) in the proof of split_"^tname^"_case |
177 is a hack. Ideally I would just write exhaust_tac, but the latter extracts the |
177 is a hack. Ideally I would just write exhaust_tac, but the latter extracts the |