equal
deleted
inserted
replaced
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*} |