149 supset ("op \<supset>") and |
149 supset ("op \<supset>") and |
150 supset ("(_/ \<supset> _)" [50, 51] 50) and |
150 supset ("(_/ \<supset> _)" [50, 51] 50) and |
151 supset_eq ("op \<supseteq>") and |
151 supset_eq ("op \<supseteq>") and |
152 supset_eq ("(_/ \<supseteq> _)" [50, 51] 50) |
152 supset_eq ("(_/ \<supseteq> _)" [50, 51] 50) |
153 |
153 |
154 global |
154 definition Ball :: "'a set \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" where |
155 |
155 "Ball A P \<longleftrightarrow> (\<forall>x. x \<in> A \<longrightarrow> P x)" -- "bounded universal quantifiers" |
156 consts |
156 |
157 Ball :: "'a set => ('a => bool) => bool" -- "bounded universal quantifiers" |
157 definition Bex :: "'a set \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" where |
158 Bex :: "'a set => ('a => bool) => bool" -- "bounded existential quantifiers" |
158 "Bex A P \<longleftrightarrow> (\<exists>x. x \<in> A \<and> P x)" -- "bounded existential quantifiers" |
159 |
|
160 local |
|
161 |
|
162 defs |
|
163 Ball_def: "Ball A P == ALL x. x:A --> P(x)" |
|
164 Bex_def: "Bex A P == EX x. x:A & P(x)" |
|
165 |
159 |
166 syntax |
160 syntax |
167 "_Ball" :: "pttrn => 'a set => bool => bool" ("(3ALL _:_./ _)" [0, 0, 10] 10) |
161 "_Ball" :: "pttrn => 'a set => bool => bool" ("(3ALL _:_./ _)" [0, 0, 10] 10) |
168 "_Bex" :: "pttrn => 'a set => bool => bool" ("(3EX _:_./ _)" [0, 0, 10] 10) |
162 "_Bex" :: "pttrn => 'a set => bool => bool" ("(3EX _:_./ _)" [0, 0, 10] 10) |
169 "_Bex1" :: "pttrn => 'a set => bool => bool" ("(3EX! _:_./ _)" [0, 0, 10] 10) |
163 "_Bex1" :: "pttrn => 'a set => bool => bool" ("(3EX! _:_./ _)" [0, 0, 10] 10) |