equal
deleted
inserted
replaced
34 \ |] ==> P"; |
34 \ |] ==> P"; |
35 by (rtac (major RS CollectE) 1); |
35 by (rtac (major RS CollectE) 1); |
36 by (etac exE 1); |
36 by (etac exE 1); |
37 by (eresolve_tac prems 1); |
37 by (eresolve_tac prems 1); |
38 qed "idE"; |
38 qed "idE"; |
|
39 |
|
40 goalw Trancl.thy [id_def] "<a,b>:id = (a=b)"; |
|
41 by(fast_tac prod_cs 1); |
|
42 qed "pair_in_id_conv"; |
39 |
43 |
40 (** Composition of two relations **) |
44 (** Composition of two relations **) |
41 |
45 |
42 val prems = goalw Trancl.thy [comp_def] |
46 val prems = goalw Trancl.thy [comp_def] |
43 "[| <a,b>:s; <b,c>:r |] ==> <a,c> : r O s"; |
47 "[| <a,b>:s; <b,c>:r |] ==> <a,c> : r O s"; |
228 goalw Trancl.thy [trancl_def] |
232 goalw Trancl.thy [trancl_def] |
229 "!!r. r <= Sigma(A,%x.A) ==> trancl(r) <= Sigma(A,%x.A)"; |
233 "!!r. r <= Sigma(A,%x.A) ==> trancl(r) <= Sigma(A,%x.A)"; |
230 by (fast_tac (comp_cs addSDs [trancl_subset_Sigma_lemma]) 1); |
234 by (fast_tac (comp_cs addSDs [trancl_subset_Sigma_lemma]) 1); |
231 qed "trancl_subset_Sigma"; |
235 qed "trancl_subset_Sigma"; |
232 |
236 |
|
237 val prod_ss = prod_ss addsimps [pair_in_id_conv]; |