equal
deleted
inserted
replaced
414 sublocale non_negative \<subseteq> |
414 sublocale non_negative \<subseteq> |
415 order_preserving "(\<le>)" "(\<le>)" "\<lambda>i. n * i" |
415 order_preserving "(\<le>)" "(\<le>)" "\<lambda>i. n * i" |
416 using non_neg by unfold_locales (rule mult_left_mono) |
416 using non_neg by unfold_locales (rule mult_left_mono) |
417 |
417 |
418 text \<open>While the proof of the previous interpretation |
418 text \<open>While the proof of the previous interpretation |
419 is straightforward from monotonicity lemmas for~@{term "( * )"}, the |
419 is straightforward from monotonicity lemmas for~@{term "(*)"}, the |
420 second proof follows a useful pattern.\<close> |
420 second proof follows a useful pattern.\<close> |
421 |
421 |
422 sublocale %visible non_negative \<subseteq> lattice_end "(\<le>)" "\<lambda>i. n * i" |
422 sublocale %visible non_negative \<subseteq> lattice_end "(\<le>)" "\<lambda>i. n * i" |
423 proof (unfold_locales, unfold int_min_eq int_max_eq) |
423 proof (unfold_locales, unfold int_min_eq int_max_eq) |
424 txt \<open>\normalsize Unfolding the locale predicates \emph{and} the |
424 txt \<open>\normalsize Unfolding the locale predicates \emph{and} the |