equal
deleted
inserted
replaced
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 |