src/HOLCF/Cprod3.ML
changeset 15353 b53b89d3bf03
parent 14981 e73f8140af78
equal deleted inserted replaced
15352:cba05842bd7a 15353:b53b89d3bf03
   131 by (rtac cont_pair2 1);
   131 by (rtac cont_pair2 1);
   132 by (rtac refl 1);
   132 by (rtac refl 1);
   133 qed "beta_cfun_cprod";
   133 qed "beta_cfun_cprod";
   134 
   134 
   135 Goalw [cpair_def]
   135 Goalw [cpair_def]
   136         " <a,b>=<aa,ba>  ==> a=aa & b=ba";
   136         " <a,b> = <aa,ba>  ==> a=aa & b=ba";
   137 by (dtac (beta_cfun_cprod RS subst) 1);
   137 by (dtac (beta_cfun_cprod RS subst) 1);
   138 by (dtac (beta_cfun_cprod RS subst) 1);
   138 by (dtac (beta_cfun_cprod RS subst) 1);
   139 by (etac Pair_inject 1);
   139 by (etac Pair_inject 1);
   140 by (fast_tac HOL_cs 1);
   140 by (fast_tac HOL_cs 1);
   141 qed "inject_cpair";
   141 qed "inject_cpair";
   167 by (resolve_tac prems 1);
   167 by (resolve_tac prems 1);
   168 by (etac (beta_cfun_cprod RS ssubst) 1);
   168 by (etac (beta_cfun_cprod RS ssubst) 1);
   169 qed "cprodE";
   169 qed "cprodE";
   170 
   170 
   171 Goalw [cfst_def,cpair_def] 
   171 Goalw [cfst_def,cpair_def] 
   172         "cfst$<x,y>=x";
   172         "cfst$<x,y> = x";
   173 by (stac beta_cfun_cprod 1);
   173 by (stac beta_cfun_cprod 1);
   174 by (stac beta_cfun 1);
   174 by (stac beta_cfun 1);
   175 by (rtac cont_fst 1);
   175 by (rtac cont_fst 1);
   176 by (Simp_tac  1);
   176 by (Simp_tac  1);
   177 qed "cfst2";
   177 qed "cfst2";
   178 
   178 
   179 Goalw [csnd_def,cpair_def] 
   179 Goalw [csnd_def,cpair_def] 
   180         "csnd$<x,y>=y";
   180         "csnd$<x,y> = y";
   181 by (stac beta_cfun_cprod 1);
   181 by (stac beta_cfun_cprod 1);
   182 by (stac beta_cfun 1);
   182 by (stac beta_cfun 1);
   183 by (rtac cont_snd 1);
   183 by (rtac cont_snd 1);
   184 by (Simp_tac  1);
   184 by (Simp_tac  1);
   185 qed "csnd2";
   185 qed "csnd2";