src/HOLCF/IOA/meta_theory/RefMappings.ML
changeset 4681 a331c1f5a23e
parent 4559 8e604d885b54
child 4833 2e53109d4bc8
equal deleted inserted replaced
4680:c9d352428201 4681:a331c1f5a23e
    66 
    66 
    67 val prems = goal HOL.thy "(P ==> Q-->R) ==> P&Q --> R";
    67 val prems = goal HOL.thy "(P ==> Q-->R) ==> P&Q --> R";
    68   by (fast_tac (claset() addDs prems) 1);
    68   by (fast_tac (claset() addDs prems) 1);
    69 val lemma = result();
    69 val lemma = result();
    70 
    70 
    71 
    71 Delsplits [expand_if];
    72 goal thy "!!f.[| is_weak_ref_map f C A |]\
    72 goal thy "!!f.[| is_weak_ref_map f C A |]\
    73 \                      ==> (is_weak_ref_map f (rename C g) (rename A g))";
    73 \                      ==> (is_weak_ref_map f (rename C g) (rename A g))";
    74 by (asm_full_simp_tac (simpset() addsimps [is_weak_ref_map_def]) 1);
    74 by (asm_full_simp_tac (simpset() addsimps [is_weak_ref_map_def]) 1);
    75 by (rtac conjI 1);
    75 by (rtac conjI 1);
    76 (* 1: start states *)
    76 (* 1: start states *)
   109 by (rtac impI 1);
   109 by (rtac impI 1);
   110 by (etac conjE 1);
   110 by (etac conjE 1);
   111 by (forward_tac  [reachable_rename] 1);
   111 by (forward_tac  [reachable_rename] 1);
   112 by Auto_tac;
   112 by Auto_tac;
   113 qed"rename_through_pmap";
   113 qed"rename_through_pmap";
       
   114 Addsplits [expand_if];
   114 
   115 
   115 
   116