95 |
95 |
96 instantiation set :: (type) boolean_algebra |
96 instantiation set :: (type) boolean_algebra |
97 begin |
97 begin |
98 |
98 |
99 definition less_eq_set where |
99 definition less_eq_set where |
100 "less_eq_set A B = less_eq (\<lambda>x. member x A) (\<lambda>x. member x B)" |
100 "A \<le> B \<longleftrightarrow> (\<lambda>x. member x A) \<le> (\<lambda>x. member x B)" |
101 |
101 |
102 definition less_set where |
102 definition less_set where |
103 "less_set A B = less (\<lambda>x. member x A) (\<lambda>x. member x B)" |
103 "A < B \<longleftrightarrow> (\<lambda>x. member x A) < (\<lambda>x. member x B)" |
104 |
104 |
105 definition inf_set where |
105 definition inf_set where |
106 "inf_set A B = Collect (inf (\<lambda>x. member x A) (\<lambda>x. member x B))" |
106 "A \<sqinter> B = Collect ((\<lambda>x. member x A) \<sqinter> (\<lambda>x. member x B))" |
107 |
107 |
108 definition sup_set where |
108 definition sup_set where |
109 "sup_set A B = Collect (sup (\<lambda>x. member x A) (\<lambda>x. member x B))" |
109 "A \<squnion> B = Collect ((\<lambda>x. member x A) \<squnion> (\<lambda>x. member x B))" |
110 |
110 |
111 definition bot_set where |
111 definition bot_set where |
112 "bot = Collect bot" |
112 "\<bottom> = Collect \<bottom>" |
113 |
113 |
114 definition top_set where |
114 definition top_set where |
115 "top = Collect top" |
115 "\<top> = Collect \<top>" |
116 |
116 |
117 definition uminus_set where |
117 definition uminus_set where |
118 "uminus A = Collect (uminus (\<lambda>x. member x A))" |
118 "- A = Collect (- (\<lambda>x. member x A))" |
119 |
119 |
120 definition minus_set where |
120 definition minus_set where |
121 "minus_set A B = Collect (minus (\<lambda>x. member x A) (\<lambda>x. member x B))" |
121 "A - B = Collect ((\<lambda>x. member x A) - (\<lambda>x. member x B))" |
122 |
122 |
123 instance proof |
123 instance proof |
124 qed (simp_all add: less_eq_set_def less_set_def inf_set_def sup_set_def |
124 qed (simp_all add: less_eq_set_def less_set_def inf_set_def sup_set_def |
125 bot_set_def top_set_def uminus_set_def minus_set_def |
125 bot_set_def top_set_def uminus_set_def minus_set_def |
126 less_le_not_le inf_compl_bot sup_compl_top sup_inf_distrib1 diff_eq |
126 less_le_not_le inf_compl_bot sup_compl_top sup_inf_distrib1 diff_eq |