src/HOL/Nat.ML
changeset 2099 c5f004bfcbab
parent 2081 c2da3ca231ab
child 2115 9709f9188549
equal deleted inserted replaced
2098:2bfc0675c92f 2099:c5f004bfcbab
   422   (fn [prem] => [rtac (prem RS arg_cong) 1]);
   422   (fn [prem] => [rtac (prem RS arg_cong) 1]);
   423 
   423 
   424 qed_goal "nat_rec_weak_cong" Nat.thy
   424 qed_goal "nat_rec_weak_cong" Nat.thy
   425   "m=n ==> nat_rec a f m = nat_rec a f n"
   425   "m=n ==> nat_rec a f m = nat_rec a f n"
   426   (fn [prem] => [rtac (prem RS arg_cong) 1]);
   426   (fn [prem] => [rtac (prem RS arg_cong) 1]);
       
   427 
       
   428 qed_goal "expand_nat_case" Nat.thy
       
   429   "P(nat_case z s n) = ((n=0 --> P z) & (!m. n = Suc m --> P(s m)))"
       
   430   (fn _ => [nat_ind_tac "n" 1, ALLGOALS Asm_simp_tac]);
   427 
   431 
   428 val prems = goalw Nat.thy [le_def] "~n<m ==> m<=(n::nat)";
   432 val prems = goalw Nat.thy [le_def] "~n<m ==> m<=(n::nat)";
   429 by (resolve_tac prems 1);
   433 by (resolve_tac prems 1);
   430 qed "leI";
   434 qed "leI";
   431 
   435