325 declare mult_le_cancel_right_number_of [simp,noatp] |
325 declare mult_le_cancel_right_number_of [simp,noatp] |
326 |
326 |
327 |
327 |
328 text {*Multiplying out constant divisors in comparisons (@{text "<"}, @{text "\<le>"} and @{text "="}) *} |
328 text {*Multiplying out constant divisors in comparisons (@{text "<"}, @{text "\<le>"} and @{text "="}) *} |
329 |
329 |
330 lemmas le_divide_eq_number_of = le_divide_eq [of _ _ "number_of w", standard] |
330 lemmas le_divide_eq_number_of1 [simp] = le_divide_eq [of _ _ "number_of w", standard] |
331 declare le_divide_eq_number_of [simp] |
331 lemmas divide_le_eq_number_of1 [simp] = divide_le_eq [of _ "number_of w", standard] |
332 |
332 lemmas less_divide_eq_number_of1 [simp] = less_divide_eq [of _ _ "number_of w", standard] |
333 lemmas divide_le_eq_number_of = divide_le_eq [of _ "number_of w", standard] |
333 lemmas divide_less_eq_number_of1 [simp] = divide_less_eq [of _ "number_of w", standard] |
334 declare divide_le_eq_number_of [simp] |
334 lemmas eq_divide_eq_number_of1 [simp] = eq_divide_eq [of _ _ "number_of w", standard] |
335 |
335 lemmas divide_eq_eq_number_of1 [simp] = divide_eq_eq [of _ "number_of w", standard] |
336 lemmas less_divide_eq_number_of = less_divide_eq [of _ _ "number_of w", standard] |
|
337 declare less_divide_eq_number_of [simp] |
|
338 |
|
339 lemmas divide_less_eq_number_of = divide_less_eq [of _ "number_of w", standard] |
|
340 declare divide_less_eq_number_of [simp] |
|
341 |
|
342 lemmas eq_divide_eq_number_of = eq_divide_eq [of _ _ "number_of w", standard] |
|
343 declare eq_divide_eq_number_of [simp] |
|
344 |
|
345 lemmas divide_eq_eq_number_of = divide_eq_eq [of _ "number_of w", standard] |
|
346 declare divide_eq_eq_number_of [simp] |
|
347 |
|
348 |
336 |
349 |
337 |
350 subsubsection{*Optional Simplification Rules Involving Constants*} |
338 subsubsection{*Optional Simplification Rules Involving Constants*} |
351 |
339 |
352 text{*Simplify quotients that are compared with a literal constant.*} |
340 text{*Simplify quotients that are compared with a literal constant.*} |
598 end |
586 end |
599 |
587 |
600 in |
588 in |
601 val field_comp_conv = comp_conv; |
589 val field_comp_conv = comp_conv; |
602 val fieldgb_declaration = |
590 val fieldgb_declaration = |
603 NormalizerData.funs @{thm class_fieldgb.axioms} |
591 NormalizerData.funs @{thm class_fieldgb.fieldgb_axioms} |
604 {is_const = K numeral_is_const, |
592 {is_const = K numeral_is_const, |
605 dest_const = K dest_const, |
593 dest_const = K dest_const, |
606 mk_const = mk_const, |
594 mk_const = mk_const, |
607 conv = K (K comp_conv)} |
595 conv = K (K comp_conv)} |
608 end; |
596 end; |