src/HOL/Quotient_Examples/Cset.thy
author krauss
Wed, 20 Jul 2011 13:24:49 +0200
changeset 43926 3264fbfd87d6
parent 43800 9959c8732edf
child 44293 83c4f8ba0aa3
permissions -rw-r--r--
added UNION
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
3264fbfd87d6 added UNION
krauss
parents: 43800
diff changeset
    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
3264fbfd87d6 added UNION
krauss
parents: 43800
diff changeset
    91
quotient_definition UNION where "UNION :: 'a Cset.set \<Rightarrow> ('a \<Rightarrow> 'b Cset.set) \<Rightarrow> 'b Cset.set"
3264fbfd87d6 added UNION
krauss
parents: 43800
diff changeset
    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
3264fbfd87d6 added UNION
krauss
parents: 43800
diff changeset
   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
3264fbfd87d6 added UNION
krauss
parents: 43800
diff changeset
   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