equal
deleted
inserted
replaced
172 |
172 |
173 lemma sup_loc_update_index: " |
173 lemma sup_loc_update_index: " |
174 \<lbrakk> G \<turnstile> T \<preceq> T'; is_type G T'; length pns = length pTs; distinct pns; unique lvars; |
174 \<lbrakk> G \<turnstile> T \<preceq> T'; is_type G T'; length pns = length pTs; distinct pns; unique lvars; |
175 snd (local_env G C (mn, pTs) pns lvars) vname = Some T' \<rbrakk> |
175 snd (local_env G C (mn, pTs) pns lvars) vname = Some T' \<rbrakk> |
176 \<Longrightarrow> |
176 \<Longrightarrow> |
177 comp G \<turnstile> inited_LT C pTs lvars [index (pns, lvars, blk, res) vname := OK T] <=l |
177 comp G \<turnstile> (inited_LT C pTs lvars) [index (pns, lvars, blk, res) vname := OK T] <=l |
178 inited_LT C pTs lvars" |
178 inited_LT C pTs lvars" |
179 apply (subgoal_tac " index (pns, lvars, blk, res) vname < length (inited_LT C pTs lvars)") |
179 apply (subgoal_tac " index (pns, lvars, blk, res) vname < length (inited_LT C pTs lvars)") |
180 apply (frule_tac blk=blk and res=res in local_env_inited_LT, assumption+) |
180 apply (frule_tac blk=blk and res=res in local_env_inited_LT, assumption+) |
181 apply (rule sup_loc_trans) |
181 apply (rule sup_loc_trans) |
182 apply (rule_tac b="OK T'" in sup_loc_update) |
182 apply (rule_tac b="OK T'" in sup_loc_update) |