renamed former Int.int_induct to Int.int_of_nat_induct, former Presburger.int_induct to Int.int_induct: is more conservative and more natural than the intermediate solution
authorhaftmann
Tue May 11 08:36:02 2010 +0200 (2010-05-11)
changeset 368114ab4aa5bee1c
parent 36810 d9a51339746e
child 36813 75d837441aa6
renamed former Int.int_induct to Int.int_of_nat_induct, former Presburger.int_induct to Int.int_induct: is more conservative and more natural than the intermediate solution
NEWS
src/HOL/Int.thy
src/HOL/Library/Formal_Power_Series.thy
src/HOL/ex/Summation.thy
     1.1 --- a/NEWS	Tue May 11 08:30:02 2010 +0200
     1.2 +++ b/NEWS	Tue May 11 08:36:02 2010 +0200
     1.3 @@ -140,8 +140,8 @@
     1.4  
     1.5  *** HOL ***
     1.6  
     1.7 -* Theorem Presburger.int_induct has been renamed to Int.int_bidirectional_induct;
     1.8 -theorem Int.int_induct is no longer shadowed.  INCOMPATIBILITY.
     1.9 +* Theorem Int.int_induct renamed to Int.int_of_nat_induct and is
    1.10 +no longer shadowed.  INCOMPATIBILITY.
    1.11  
    1.12  * Dropped theorem duplicate comp_arith; use semiring_norm instead.  INCOMPATIBILITY.
    1.13  
     2.1 --- a/src/HOL/Int.thy	Tue May 11 08:30:02 2010 +0200
     2.2 +++ b/src/HOL/Int.thy	Tue May 11 08:36:02 2010 +0200
     2.3 @@ -559,7 +559,7 @@
     2.4  apply (blast dest: nat_0_le [THEN sym])
     2.5  done
     2.6  
     2.7 -theorem int_induct [induct type: int, case_names nonneg neg]:
     2.8 +theorem int_of_nat_induct [induct type: int, case_names nonneg neg]:
     2.9       "[|!! n. P (of_nat n \<Colon> int);  !!n. P (- (of_nat (Suc n))) |] ==> P z"
    2.10    by (cases z rule: int_cases) auto
    2.11  
    2.12 @@ -1784,7 +1784,7 @@
    2.13  apply (rule step, simp+)
    2.14  done
    2.15  
    2.16 -theorem int_bidirectional_induct [case_names base step1 step2]:
    2.17 +theorem int_induct [case_names base step1 step2]:
    2.18    fixes k :: int
    2.19    assumes base: "P k"
    2.20      and step1: "\<And>i. k \<le> i \<Longrightarrow> P i \<Longrightarrow> P (i + 1)"
     3.1 --- a/src/HOL/Library/Formal_Power_Series.thy	Tue May 11 08:30:02 2010 +0200
     3.2 +++ b/src/HOL/Library/Formal_Power_Series.thy	Tue May 11 08:36:02 2010 +0200
     3.3 @@ -402,7 +402,7 @@
     3.4  
     3.5  lemma number_of_fps_const: "(number_of k::('a::comm_ring_1) fps) = fps_const (of_int k)"
     3.6    
     3.7 -proof(induct k rule: int_bidirectional_induct [where k=0])
     3.8 +proof(induct k rule: int_induct [where k=0])
     3.9    case base thus ?case unfolding number_of_fps_def of_int_0 by simp
    3.10  next
    3.11    case (step1 i) thus ?case unfolding number_of_fps_def 
    3.12 @@ -3214,7 +3214,7 @@
    3.13  
    3.14  lemma fps_number_of_fps_const: "number_of i = fps_const (number_of i :: 'a:: {comm_ring_1, number_ring})"
    3.15    apply (subst (2) number_of_eq)
    3.16 -apply(rule int_bidirectional_induct[of _ 0])
    3.17 +apply(rule int_induct [of _ 0])
    3.18  apply (simp_all add: number_of_fps_def)
    3.19  by (simp_all add: fps_const_add[symmetric] fps_const_minus[symmetric])
    3.20  
     4.1 --- a/src/HOL/ex/Summation.thy	Tue May 11 08:30:02 2010 +0200
     4.2 +++ b/src/HOL/ex/Summation.thy	Tue May 11 08:36:02 2010 +0200
     4.3 @@ -42,7 +42,7 @@
     4.4    proof -
     4.5      fix k
     4.6      show "f k - g k = f 0 - g 0"
     4.7 -      by (induct k rule: int_bidirectional_induct) (simp_all add: k_incr k_decr)
     4.8 +      by (induct k rule: int_induct) (simp_all add: k_incr k_decr)
     4.9    qed
    4.10    then have "\<And>k. (plus (g 0 - f 0) \<circ> f) k = g k"
    4.11      by (simp add: algebra_simps)