src/HOL/NumberTheory/EvenOdd.thy
changeset 14348 744c868ee0b7
parent 13871 26e5f5e624f6
child 14434 5f14c1207499
equal deleted inserted replaced
14347:1fff56703e29 14348:744c868ee0b7
   171       also have "... = ((-1::int)^2)^ (nat a)";
   171       also have "... = ((-1::int)^2)^ (nat a)";
   172         by (auto simp add: zpower_zpower [THEN sym])
   172         by (auto simp add: zpower_zpower [THEN sym])
   173       also have "(-1::int)^2 = 1";
   173       also have "(-1::int)^2 = 1";
   174         by auto
   174         by auto
   175       finally; show ?thesis;
   175       finally; show ?thesis;
   176         by (auto simp add: zpower_1)
   176         by auto
   177     qed;
   177     qed;
   178 qed;
   178 qed;
   179 
   179 
   180 lemma neg_one_odd_power: "[| x \<in> zOdd; 0 \<le> x |] ==> (-1::int)^(nat x) = -1";
   180 lemma neg_one_odd_power: "[| x \<in> zOdd; 0 \<le> x |] ==> (-1::int)^(nat x) = -1";
   181 proof -;
   181 proof -;
   197       also have "... = ((-1::int)^2)^ (nat a) * (-1)^1";
   197       also have "... = ((-1::int)^2)^ (nat a) * (-1)^1";
   198         by (auto simp add: zpower_zpower [THEN sym] zpower_zadd_distrib)
   198         by (auto simp add: zpower_zpower [THEN sym] zpower_zadd_distrib)
   199       also have "(-1::int)^2 = 1";
   199       also have "(-1::int)^2 = 1";
   200         by auto
   200         by auto
   201       finally; show ?thesis;
   201       finally; show ?thesis;
   202         by (auto simp add: zpower_1)
   202         by auto
   203     qed;
   203     qed;
   204 qed;
   204 qed;
   205 
   205 
   206 lemma neg_one_power_parity: "[| 0 \<le> x; 0 \<le> y; (x \<in> zEven) = (y \<in> zEven) |] ==> 
   206 lemma neg_one_power_parity: "[| 0 \<le> x; 0 \<le> y; (x \<in> zEven) = (y \<in> zEven) |] ==> 
   207   (-1::int)^(nat x) = (-1::int)^(nat y)";
   207   (-1::int)^(nat x) = (-1::int)^(nat y)";