src/HOL/AxClasses/Lattice/OrdInsts.thy
author nipkow
Mon, 01 Sep 2008 22:10:42 +0200
changeset 28072 a45e8c872dc1
parent 2606 27cdd600a3b1
permissions -rw-r--r--
It appears that the code generator (Stefan's) needs some laws that appear superfluous: {..n} = set ...

(*  Title:      OrdInsts.thy
    ID:         $Id$
    Author:     Markus Wenzel, TU Muenchen

Some order instantiations.
*)

OrdInsts = OrdDefs +


(* binary / general products of quasi_orders / orders *)

instance
  "*" :: (quasi_order, quasi_order) quasi_order         (le_prod_refl, le_prod_trans)

instance
  "*" :: (partial_order, partial_order) partial_order   (le_prod_antisym)
  

instance
  fun :: (term, quasi_order) quasi_order                (le_fun_refl, le_fun_trans)

instance
  fun :: (term, partial_order) partial_order            (le_fun_antisym)


(* duals of quasi orders / partial orders / linear orders *)

instance
  dual :: (quasi_order) quasi_order                     (le_dual_refl, le_dual_trans)

instance
  dual :: (partial_order) partial_order                 (le_dual_antisym)


(*FIXME: had to be moved to LatInsts.thy due to some unpleasant
  'feature' in Pure/type.ML

instance
  dual :: (linear_order) linear_order                   (le_dual_lin)
*)

end