src/HOL/AxClasses/Lattice/OrdInsts.thy
changeset 30105 37f47ea6fed1
parent 30104 b094999e1d33
parent 30101 5c6efec476ae
child 30106 351fc2f8493d
equal deleted inserted replaced
30104:b094999e1d33 30105:37f47ea6fed1
     1 (*  Title:      OrdInsts.thy
       
     2     ID:         $Id$
       
     3     Author:     Markus Wenzel, TU Muenchen
       
     4 
       
     5 Some order instantiations.
       
     6 *)
       
     7 
       
     8 OrdInsts = OrdDefs +
       
     9 
       
    10 
       
    11 (* binary / general products of quasi_orders / orders *)
       
    12 
       
    13 instance
       
    14   "*" :: (quasi_order, quasi_order) quasi_order         (le_prod_refl, le_prod_trans)
       
    15 
       
    16 instance
       
    17   "*" :: (partial_order, partial_order) partial_order   (le_prod_antisym)
       
    18   
       
    19 
       
    20 instance
       
    21   fun :: (term, quasi_order) quasi_order                (le_fun_refl, le_fun_trans)
       
    22 
       
    23 instance
       
    24   fun :: (term, partial_order) partial_order            (le_fun_antisym)
       
    25 
       
    26 
       
    27 (* duals of quasi orders / partial orders / linear orders *)
       
    28 
       
    29 instance
       
    30   dual :: (quasi_order) quasi_order                     (le_dual_refl, le_dual_trans)
       
    31 
       
    32 instance
       
    33   dual :: (partial_order) partial_order                 (le_dual_antisym)
       
    34 
       
    35 
       
    36 (*FIXME: had to be moved to LatInsts.thy due to some unpleasant
       
    37   'feature' in Pure/type.ML
       
    38 
       
    39 instance
       
    40   dual :: (linear_order) linear_order                   (le_dual_lin)
       
    41 *)
       
    42 
       
    43 end