src/HOL/Num.thy
changeset 47211 e1b0c8236ae4
parent 47209 4893907fe872
child 47216 4d0878d54ca5
equal deleted inserted replaced
47210:b1dd32b2a505 47211:e1b0c8236ae4
   228 
   228 
   229 lemma sqr_conv_mult: "sqr x = x * x"
   229 lemma sqr_conv_mult: "sqr x = x * x"
   230   by (simp add: num_eq_iff nat_of_num_sqr nat_of_num_mult)
   230   by (simp add: num_eq_iff nat_of_num_sqr nat_of_num_mult)
   231 
   231 
   232 
   232 
   233 subsection {* Numary numerals *}
   233 subsection {* Binary numerals *}
   234 
   234 
   235 text {*
   235 text {*
   236   We embed numary representations into a generic algebraic
   236   We embed binary representations into a generic algebraic
   237   structure using @{text numeral}.
   237   structure using @{text numeral}.
   238 *}
   238 *}
   239 
   239 
   240 class numeral = one + semigroup_add
   240 class numeral = one + semigroup_add
   241 begin
   241 begin
   965 
   965 
   966 lemma inverse_numeral_1:
   966 lemma inverse_numeral_1:
   967   "inverse Numeral1 = (Numeral1::'a::division_ring)"
   967   "inverse Numeral1 = (Numeral1::'a::division_ring)"
   968   by simp
   968   by simp
   969 
   969 
   970 text{*Theorem lists for the cancellation simprocs. The use of a numary
   970 text{*Theorem lists for the cancellation simprocs. The use of a binary
   971 numeral for 1 reduces the number of special cases.*}
   971 numeral for 1 reduces the number of special cases.*}
   972 
   972 
   973 lemmas mult_1s =
   973 lemmas mult_1s =
   974   mult_numeral_1 mult_numeral_1_right 
   974   mult_numeral_1 mult_numeral_1_right 
   975   mult_minus1 mult_minus1_right
   975   mult_minus1 mult_minus1_right