src/HOL/ex/LocaleTest2.thy
changeset 69597 ff784d5a5bfb
parent 69064 5840724b1d71
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
   464     moreover note total
   464     moreover note total
   465     ultimately show ?thesis by blast
   465     ultimately show ?thesis by blast
   466   qed
   466   qed
   467 qed
   467 qed
   468 
   468 
   469 subsubsection \<open>Total order \<open><=\<close> on @{typ int}\<close>
   469 subsubsection \<open>Total order \<open><=\<close> on \<^typ>\<open>int\<close>\<close>
   470 
   470 
   471 interpretation int: dpo "(<=) :: [int, int] => bool"
   471 interpretation int: dpo "(<=) :: [int, int] => bool"
   472   rewrites "(dpo.less (<=) (x::int) y) = (x < y)"
   472   rewrites "(dpo.less (<=) (x::int) y) = (x < y)"
   473   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   473   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   474 proof -
   474 proof -
   520 thm int.meet_left text \<open>from dlat\<close>
   520 thm int.meet_left text \<open>from dlat\<close>
   521 thm int.meet_distr text \<open>from ddlat\<close>
   521 thm int.meet_distr text \<open>from ddlat\<close>
   522 thm int.less_total text \<open>from dlo\<close>
   522 thm int.less_total text \<open>from dlo\<close>
   523 
   523 
   524 
   524 
   525 subsubsection \<open>Total order \<open><=\<close> on @{typ nat}\<close>
   525 subsubsection \<open>Total order \<open><=\<close> on \<^typ>\<open>nat\<close>\<close>
   526 
   526 
   527 interpretation nat: dpo "(<=) :: [nat, nat] => bool"
   527 interpretation nat: dpo "(<=) :: [nat, nat] => bool"
   528   rewrites "dpo.less (<=) (x::nat) y = (x < y)"
   528   rewrites "dpo.less (<=) (x::nat) y = (x < y)"
   529   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   529   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   530 proof -
   530 proof -
   571 thm nat.meet_left text \<open>from dlat\<close>
   571 thm nat.meet_left text \<open>from dlat\<close>
   572 thm nat.meet_distr text \<open>from ddlat\<close>
   572 thm nat.meet_distr text \<open>from ddlat\<close>
   573 thm nat.less_total text \<open>from ldo\<close>
   573 thm nat.less_total text \<open>from ldo\<close>
   574 
   574 
   575 
   575 
   576 subsubsection \<open>Lattice \<open>dvd\<close> on @{typ nat}\<close>
   576 subsubsection \<open>Lattice \<open>dvd\<close> on \<^typ>\<open>nat\<close>\<close>
   577 
   577 
   578 interpretation nat_dvd: dpo "(dvd) :: [nat, nat] => bool"
   578 interpretation nat_dvd: dpo "(dvd) :: [nat, nat] => bool"
   579   rewrites "dpo.less (dvd) (x::nat) y = (x dvd y & x ~= y)"
   579   rewrites "dpo.less (dvd) (x::nat) y = (x dvd y & x ~= y)"
   580   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   580   txt \<open>We give interpretation for less, but not \<open>is_inf\<close> and \<open>is_sub\<close>.\<close>
   581 proof -
   581 proof -