src/HOL/Library/FuncSet.thy
changeset 31727 2621a957d417
parent 30663 0b6aff7451b2
child 31731 7ffc1a901eea
equal deleted inserted replaced
31722:caa89b41dcf2 31727:2621a957d417
    49   "compose A g f = (\<lambda>x\<in>A. g (f x))"
    49   "compose A g f = (\<lambda>x\<in>A. g (f x))"
    50 
    50 
    51 
    51 
    52 subsection{*Basic Properties of @{term Pi}*}
    52 subsection{*Basic Properties of @{term Pi}*}
    53 
    53 
    54 lemma Pi_I: "(!!x. x \<in> A ==> f x \<in> B x) ==> f \<in> Pi A B"
    54 lemma Pi_I[simp]: "(!!x. x \<in> A ==> f x \<in> B x) ==> f \<in> Pi A B"
    55   by (simp add: Pi_def)
    55   by (simp add: Pi_def)
    56 
    56 
    57 lemma funcsetI: "(!!x. x \<in> A ==> f x \<in> B) ==> f \<in> A -> B"
    57 lemma funcsetI: "(!!x. x \<in> A ==> f x \<in> B) ==> f \<in> A -> B"
    58   by (simp add: Pi_def)
    58   by (simp add: Pi_def)
    59 
    59 
    77 lemma Pi_empty [simp]: "Pi {} B = UNIV"
    77 lemma Pi_empty [simp]: "Pi {} B = UNIV"
    78   by (simp add: Pi_def)
    78   by (simp add: Pi_def)
    79 
    79 
    80 lemma Pi_UNIV [simp]: "A -> UNIV = UNIV"
    80 lemma Pi_UNIV [simp]: "A -> UNIV = UNIV"
    81   by (simp add: Pi_def)
    81   by (simp add: Pi_def)
    82 
    82 (*
       
    83 lemma funcset_id [simp]: "(%x. x): A -> A"
       
    84   by (simp add: Pi_def)
       
    85 *)
    83 text{*Covariance of Pi-sets in their second argument*}
    86 text{*Covariance of Pi-sets in their second argument*}
    84 lemma Pi_mono: "(!!x. x \<in> A ==> B x <= C x) ==> Pi A B <= Pi A C"
    87 lemma Pi_mono: "(!!x. x \<in> A ==> B x <= C x) ==> Pi A B <= Pi A C"
    85   by (simp add: Pi_def, blast)
    88   by (simp add: Pi_def, blast)
    86 
    89 
    87 text{*Contravariance of Pi-sets in their first argument*}
    90 text{*Contravariance of Pi-sets in their first argument*}