author | krauss |
Wed, 20 Jul 2011 13:24:49 +0200 | |
changeset 43926 | 3264fbfd87d6 |
parent 43800 | 9959c8732edf |
child 44293 | 83c4f8ba0aa3 |
permissions | -rw-r--r-- |
43800
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
1 |
(* Title: HOL/Quotient_Examples/Cset.thy |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
2 |
Author: Florian Haftmann, Alexander Krauss, TU Muenchen |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
3 |
*) |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
4 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
5 |
header {* A variant of theory Cset from Library, defined as a quotient *} |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
6 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
7 |
theory Cset |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
8 |
imports "~~/src/HOL/Library/More_Set" "~~/src/HOL/Library/More_List" "~~/src/HOL/Library/Quotient_Syntax" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
9 |
begin |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
10 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
11 |
subsection {* Lifting *} |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
12 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
13 |
(*FIXME: quotient package requires a dedicated constant*) |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
14 |
definition set_eq :: "'a set \<Rightarrow> 'a set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
15 |
where [simp]: "set_eq \<equiv> op =" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
16 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
17 |
quotient_type 'a set = "'a Set.set" / "set_eq" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
18 |
by (simp add: identity_equivp) |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
19 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
20 |
hide_type (open) set |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
21 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
22 |
subsection {* Operations *} |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
23 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
24 |
lemma [quot_respect]: |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
25 |
"(op = ===> set_eq ===> op =) (op \<in>) (op \<in>)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
26 |
"(op = ===> set_eq) Collect Collect" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
27 |
"(set_eq ===> op =) More_Set.is_empty More_Set.is_empty" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
28 |
"(op = ===> set_eq ===> set_eq) Set.insert Set.insert" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
29 |
"(op = ===> set_eq ===> set_eq) More_Set.remove More_Set.remove" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
30 |
"(op = ===> set_eq ===> set_eq) image image" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
31 |
"(op = ===> set_eq ===> set_eq) More_Set.project More_Set.project" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
32 |
"(set_eq ===> op =) Ball Ball" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
33 |
"(set_eq ===> op =) Bex Bex" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
34 |
"(set_eq ===> op =) Finite_Set.card Finite_Set.card" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
35 |
"(set_eq ===> set_eq ===> op =) (op \<subseteq>) (op \<subseteq>)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
36 |
"(set_eq ===> set_eq ===> op =) (op \<subset>) (op \<subset>)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
37 |
"(set_eq ===> set_eq ===> set_eq) (op \<inter>) (op \<inter>)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
38 |
"(set_eq ===> set_eq ===> set_eq) (op \<union>) (op \<union>)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
39 |
"set_eq {} {}" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
40 |
"set_eq UNIV UNIV" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
41 |
"(set_eq ===> set_eq) uminus uminus" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
42 |
"(set_eq ===> set_eq ===> set_eq) minus minus" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
43 |
"((set_eq ===> op =) ===> set_eq) Inf Inf" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
44 |
"((set_eq ===> op =) ===> set_eq) Sup Sup" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
45 |
"(op = ===> set_eq) List.set List.set" |
43926 | 46 |
"(set_eq ===> (op = ===> set_eq) ===> set_eq) UNION UNION" |
43800
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
47 |
by (auto simp: fun_rel_eq) |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
48 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
49 |
quotient_definition "member :: 'a => 'a Cset.set => bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
50 |
is "op \<in>" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
51 |
quotient_definition "Set :: ('a => bool) => 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
52 |
is Collect |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
53 |
quotient_definition is_empty where "is_empty :: 'a Cset.set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
54 |
is More_Set.is_empty |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
55 |
quotient_definition insert where "insert :: 'a \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
56 |
is Set.insert |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
57 |
quotient_definition remove where "remove :: 'a \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
58 |
is More_Set.remove |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
59 |
quotient_definition map where "map :: ('a \<Rightarrow> 'b) \<Rightarrow> 'a Cset.set \<Rightarrow> 'b Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
60 |
is image |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
61 |
quotient_definition filter where "filter :: ('a \<Rightarrow> bool) \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
62 |
is More_Set.project |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
63 |
quotient_definition "forall :: 'a Cset.set \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
64 |
is Ball |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
65 |
quotient_definition "exists :: 'a Cset.set \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
66 |
is Bex |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
67 |
quotient_definition card where "card :: 'a Cset.set \<Rightarrow> nat" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
68 |
is Finite_Set.card |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
69 |
quotient_definition set where "set :: 'a list => 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
70 |
is List.set |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
71 |
quotient_definition subset where "subset :: 'a Cset.set \<Rightarrow> 'a Cset.set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
72 |
is "op \<subseteq> :: 'a set \<Rightarrow> 'a set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
73 |
quotient_definition psubset where "psubset :: 'a Cset.set \<Rightarrow> 'a Cset.set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
74 |
is "op \<subset> :: 'a set \<Rightarrow> 'a set \<Rightarrow> bool" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
75 |
quotient_definition inter where "inter :: 'a Cset.set \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
76 |
is "op \<inter> :: 'a set \<Rightarrow> 'a set \<Rightarrow> 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
77 |
quotient_definition union where "union :: 'a Cset.set \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
78 |
is "op \<union> :: 'a set \<Rightarrow> 'a set \<Rightarrow> 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
79 |
quotient_definition empty where "empty :: 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
80 |
is "{} :: 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
81 |
quotient_definition UNIV where "UNIV :: 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
82 |
is "Set.UNIV :: 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
83 |
quotient_definition uminus where "uminus :: 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
84 |
is "uminus_class.uminus :: 'a set \<Rightarrow> 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
85 |
quotient_definition minus where "minus :: 'a Cset.set \<Rightarrow> 'a Cset.set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
86 |
is "(op -) :: 'a set \<Rightarrow> 'a set \<Rightarrow> 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
87 |
quotient_definition Inf where "Inf :: 'a Cset.set set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
88 |
is "Inf_class.Inf :: 'a set set \<Rightarrow> 'a set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
89 |
quotient_definition Sup where "Sup :: 'a Cset.set set \<Rightarrow> 'a Cset.set" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
90 |
is "Sup_class.Sup :: 'a set set \<Rightarrow> 'a set" |
43926 | 91 |
quotient_definition UNION where "UNION :: 'a Cset.set \<Rightarrow> ('a \<Rightarrow> 'b Cset.set) \<Rightarrow> 'b Cset.set" |
92 |
is "Complete_Lattice.UNION :: 'a set \<Rightarrow> ('a \<Rightarrow> 'b set) \<Rightarrow> 'b set" |
|
43800
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
93 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
94 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
95 |
context complete_lattice |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
96 |
begin |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
97 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
98 |
(* FIXME: Would like to use |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
99 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
100 |
quotient_definition "Infimum :: 'a Cset.set \<Rightarrow> 'a" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
101 |
is "Inf" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
102 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
103 |
but it fails, presumably because @{term "Inf"} is a Free. |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
104 |
*) |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
105 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
106 |
definition Infimum :: "'a Cset.set \<Rightarrow> 'a" where |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
107 |
[simp]: "Infimum A = Inf (\<lambda>x. member x A)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
108 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
109 |
definition Supremum :: "'a Cset.set \<Rightarrow> 'a" where |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
110 |
[simp]: "Supremum A = Sup (\<lambda>x. member x A)" |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
111 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
112 |
end |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
113 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
114 |
hide_const (open) is_empty insert remove map filter forall exists card |
43926 | 115 |
set subset psubset inter union empty UNIV uminus minus Inf Sup UNION |
43800
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
116 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
117 |
hide_fact (open) is_empty_def insert_def remove_def map_def filter_def |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
118 |
forall_def exists_def card_def set_def subset_def psubset_def |
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
119 |
inter_def union_def empty_def UNIV_def uminus_def minus_def Inf_def Sup_def |
43926 | 120 |
UNION_def |
43800
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
121 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
122 |
|
9959c8732edf
experimental variants of Library/Cset.thy and Library/Dlist_Cset.thy defined via quotient package
krauss
parents:
diff
changeset
|
123 |
end |