src/HOL/Set.thy
changeset 37387 3581483cca6c
parent 36009 9cdbc5ffc15c
child 37677 c5a8b612e571
equal deleted inserted replaced
37385:f076ca61dc00 37387:3581483cca6c
   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)