equal
deleted
inserted
replaced
4 New proofs/tactics by Brian Huffman |
4 New proofs/tactics by Brian Huffman |
5 |
5 |
6 Proof generator for domain command. |
6 Proof generator for domain command. |
7 *) |
7 *) |
8 |
8 |
9 val HOLCF_ss = simpset(); |
9 val HOLCF_ss = @{simpset}; |
10 |
10 |
11 structure Domain_Theorems = struct |
11 structure Domain_Theorems = struct |
12 |
12 |
13 local |
13 local |
14 |
14 |
111 cut_facts_tac prems 1, |
111 cut_facts_tac prems 1, |
112 fast_tac HOL_cs 1]); |
112 fast_tac HOL_cs 1]); |
113 |
113 |
114 val dist_eqI = prove_goal (the_context ()) "!!x::'a::po. ~ x << y ==> x ~= y" |
114 val dist_eqI = prove_goal (the_context ()) "!!x::'a::po. ~ x << y ==> x ~= y" |
115 (fn prems => |
115 (fn prems => |
116 [blast_tac (claset () addDs [antisym_less_inverse]) 1]); |
116 [blast_tac (@{claset} addDs [antisym_less_inverse]) 1]); |
117 |
117 |
118 in |
118 in |
119 |
119 |
120 fun theorems (((dname, _), cons) : eq, eqs : eq list) thy = |
120 fun theorems (((dname, _), cons) : eq, eqs : eq list) thy = |
121 let |
121 let |
636 val n_eqs = length eqs; |
636 val n_eqs = length eqs; |
637 |
637 |
638 (* ----- theorems concerning finite approximation and finite induction ------ *) |
638 (* ----- theorems concerning finite approximation and finite induction ------ *) |
639 |
639 |
640 local |
640 local |
641 val iterate_Cprod_ss = simpset_of (theory "Fix"); |
641 val iterate_Cprod_ss = simpset_of @{theory Fix}; |
642 val copy_con_rews = copy_rews @ con_rews; |
642 val copy_con_rews = copy_rews @ con_rews; |
643 val copy_take_defs = |
643 val copy_take_defs = |
644 (if n_eqs = 1 then [] else [ax_copy2_def]) @ axs_take_def; |
644 (if n_eqs = 1 then [] else [ax_copy2_def]) @ axs_take_def; |
645 val take_stricts = |
645 val take_stricts = |
646 let |
646 let |