author | haftmann |

Tue May 11 08:36:02 2010 +0200 (2010-05-11) | |

changeset 36811 | 4ab4aa5bee1c |

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

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)