equal
deleted
inserted
replaced
153 qed_goalw "beta_cfun_cprod" Cprod3.thy [cpair_def] |
153 qed_goalw "beta_cfun_cprod" Cprod3.thy [cpair_def] |
154 "(LAM x y.(x,y))`a`b = (a,b)" |
154 "(LAM x y.(x,y))`a`b = (a,b)" |
155 (fn prems => |
155 (fn prems => |
156 [ |
156 [ |
157 (stac beta_cfun 1), |
157 (stac beta_cfun 1), |
158 (simp_tac (!simpset addsimps [cont_pair1,cont_pair2,cont2cont_CF1L]) 1), |
158 (simp_tac (simpset() addsimps [cont_pair1,cont_pair2,cont2cont_CF1L]) 1), |
159 (stac beta_cfun 1), |
159 (stac beta_cfun 1), |
160 (rtac cont_pair2 1), |
160 (rtac cont_pair2 1), |
161 (rtac refl 1) |
161 (rtac refl 1) |
162 ]); |
162 ]); |
163 |
163 |
285 "csplit`f`<x,y> = f`x`y" |
285 "csplit`f`<x,y> = f`x`y" |
286 (fn prems => |
286 (fn prems => |
287 [ |
287 [ |
288 (stac beta_cfun 1), |
288 (stac beta_cfun 1), |
289 (Simp_tac 1), |
289 (Simp_tac 1), |
290 (simp_tac (!simpset addsimps [cfst2,csnd2]) 1) |
290 (simp_tac (simpset() addsimps [cfst2,csnd2]) 1) |
291 ]); |
291 ]); |
292 |
292 |
293 qed_goalw "csplit3" Cprod3.thy [csplit_def] |
293 qed_goalw "csplit3" Cprod3.thy [csplit_def] |
294 "csplit`cpair`z=z" |
294 "csplit`cpair`z=z" |
295 (fn prems => |
295 (fn prems => |
296 [ |
296 [ |
297 (stac beta_cfun 1), |
297 (stac beta_cfun 1), |
298 (Simp_tac 1), |
298 (Simp_tac 1), |
299 (simp_tac (!simpset addsimps [surjective_pairing_Cprod2]) 1) |
299 (simp_tac (simpset() addsimps [surjective_pairing_Cprod2]) 1) |
300 ]); |
300 ]); |
301 |
301 |
302 (* ------------------------------------------------------------------------ *) |
302 (* ------------------------------------------------------------------------ *) |
303 (* install simplifier for Cprod *) |
303 (* install simplifier for Cprod *) |
304 (* ------------------------------------------------------------------------ *) |
304 (* ------------------------------------------------------------------------ *) |