src/Doc/Locales/Examples3.thy
changeset 69065 440f7a575760
parent 68224 1f7308050349
child 69505 cc2d676d5395
equal deleted inserted replaced
69064:5840724b1d71 69065:440f7a575760
   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