equal
deleted
inserted
replaced
164 from list |
164 from list |
165 have "check_types G mxs ?mxr phi" |
165 have "check_types G mxs ?mxr phi" |
166 by (simp add: check_types_def) |
166 by (simp add: check_types_def) |
167 also from step |
167 also from step |
168 have [symmetric]: "map OK (map ok_val phi) = phi" |
168 have [symmetric]: "map OK (map ok_val phi) = phi" |
169 by (auto intro!: map_id simp add: wt_step_def) |
169 by (auto intro!: nth_equalityI simp add: wt_step_def) |
170 finally have "check_types G mxs ?mxr (map OK (map ok_val phi))" . |
170 finally have "check_types G mxs ?mxr (map OK (map ok_val phi))" . |
171 } |
171 } |
172 moreover { |
172 moreover { |
173 let ?app = "\<lambda>pc. app (ins!pc) G mxs rT pc et" |
173 let ?app = "\<lambda>pc. app (ins!pc) G mxs rT pc et" |
174 let ?eff = "\<lambda>pc. eff (ins!pc) G pc et" |
174 let ?eff = "\<lambda>pc. eff (ins!pc) G pc et" |