9660
|
1 |
(* Title: HOL/Induct/MultisetOrder.thy
|
8916
|
2 |
ID: $Id$
|
|
3 |
Author: Lawrence C Paulson, Cambridge University Computer Laboratory
|
|
4 |
Copyright 2000 University of Cambridge
|
|
5 |
|
9660
|
6 |
Multisets are partially ordered.
|
8916
|
7 |
*)
|
|
8 |
|
9660
|
9 |
theory MultisetOrder = Multiset:
|
8916
|
10 |
|
|
11 |
instance multiset :: (order) order
|
9660
|
12 |
apply intro_classes
|
|
13 |
apply (rule mult_le_refl)
|
|
14 |
apply (erule mult_le_trans)
|
|
15 |
apply assumption
|
|
16 |
apply (erule mult_le_antisym)
|
|
17 |
apply assumption
|
|
18 |
apply (rule mult_less_le)
|
|
19 |
done
|
8916
|
20 |
|
9660
|
21 |
instance multiset :: ("term") plus_ac0
|
|
22 |
apply intro_classes
|
|
23 |
apply (rule union_commute)
|
|
24 |
apply (rule union_assoc)
|
|
25 |
apply simp
|
|
26 |
done
|
|
27 |
|
8916
|
28 |
end
|