src/HOL/Integ/Parity.thy
changeset 17085 5b57f995a179
parent 16775 c1b87ef4a1c3
child 17472 bcbf48d59059
equal deleted inserted replaced
17084:fb0a80aef0be 17085:5b57f995a179
   365   apply simp
   365   apply simp
   366 done
   366 done
   367 
   367 
   368 (* Simplify, when the exponent is a numeral *)
   368 (* Simplify, when the exponent is a numeral *)
   369 
   369 
   370 declare power_0_left [of "number_of w", standard, simp]
   370 lemmas power_0_left_number_of = power_0_left [of "number_of w", standard]
   371 declare zero_le_power_eq [of _ "number_of w", standard, simp]
   371 declare power_0_left_number_of [simp]
   372 declare zero_less_power_eq [of _ "number_of w", standard, simp]
   372 
   373 declare power_le_zero_eq [of _ "number_of w", standard, simp]
   373 lemmas zero_le_power_eq_number_of =
   374 declare power_less_zero_eq [of _ "number_of w", standard, simp]
   374     zero_le_power_eq [of _ "number_of w", standard]
   375 declare zero_less_power_nat_eq [of _ "number_of w", standard, simp]
   375 declare zero_le_power_eq_number_of [simp]
   376 declare power_eq_0_iff [of _ "number_of w", standard, simp]
   376 
   377 declare power_even_abs [of "number_of w" _, standard, simp]
   377 lemmas zero_less_power_eq_number_of =
       
   378     zero_less_power_eq [of _ "number_of w", standard]
       
   379 declare zero_less_power_eq_number_of [simp]
       
   380 
       
   381 lemmas power_le_zero_eq_number_of =
       
   382     power_le_zero_eq [of _ "number_of w", standard]
       
   383 declare power_le_zero_eq_number_of [simp]
       
   384 
       
   385 lemmas power_less_zero_eq_number_of =
       
   386     power_less_zero_eq [of _ "number_of w", standard]
       
   387 declare power_less_zero_eq_number_of [simp]
       
   388 
       
   389 lemmas zero_less_power_nat_eq_number_of =
       
   390     zero_less_power_nat_eq [of _ "number_of w", standard]
       
   391 declare zero_less_power_nat_eq_number_of [simp]
       
   392 
       
   393 lemmas power_eq_0_iff_number_of = power_eq_0_iff [of _ "number_of w", standard]
       
   394 declare power_eq_0_iff_number_of [simp]
       
   395 
       
   396 lemmas power_even_abs_number_of = power_even_abs [of "number_of w" _, standard]
       
   397 declare power_even_abs_number_of [simp]
       
   398 
   378 
   399 
   379 subsection {* An Equivalence for @{term "0 \<le> a^n"} *}
   400 subsection {* An Equivalence for @{term "0 \<le> a^n"} *}
   380 
   401 
   381 lemma even_power_le_0_imp_0:
   402 lemma even_power_le_0_imp_0:
   382      "a ^ (2*k) \<le> (0::'a::{ordered_idom,recpower}) ==> a=0"
   403      "a ^ (2*k) \<le> (0::'a::{ordered_idom,recpower}) ==> a=0"