Trancl.ML
changeset 184 d8a5435732cf
parent 171 16c4ea954511
equal deleted inserted replaced
183:74ce9774c923 184:d8a5435732cf
    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];