src/HOL/Complete_Lattices.thy
changeset 56212 3253aaf73a01
parent 56166 9a241bc276cd
child 56218 1c3f1f2431f9
equal deleted inserted replaced
56211:3250d70c8d0b 56212:3253aaf73a01
   291   from `A \<noteq> {}` obtain v where "v \<in> A" by blast
   291   from `A \<noteq> {}` obtain v where "v \<in> A" by blast
   292   moreover from `v \<in> A` assms(1) have "u \<sqsubseteq> v" by blast
   292   moreover from `v \<in> A` assms(1) have "u \<sqsubseteq> v" by blast
   293   ultimately show ?thesis by (rule Sup_upper2)
   293   ultimately show ?thesis by (rule Sup_upper2)
   294 qed
   294 qed
   295 
   295 
   296 lemma SUPR_eq:
   296 lemma SUP_eq:
   297   assumes "\<And>i. i \<in> A \<Longrightarrow> \<exists>j\<in>B. f i \<le> g j"
   297   assumes "\<And>i. i \<in> A \<Longrightarrow> \<exists>j\<in>B. f i \<le> g j"
   298   assumes "\<And>j. j \<in> B \<Longrightarrow> \<exists>i\<in>A. g j \<le> f i"
   298   assumes "\<And>j. j \<in> B \<Longrightarrow> \<exists>i\<in>A. g j \<le> f i"
   299   shows "(\<Squnion>i\<in>A. f i) = (\<Squnion>j\<in>B. g j)"
   299   shows "(\<Squnion>i\<in>A. f i) = (\<Squnion>j\<in>B. g j)"
   300   by (intro antisym SUP_least) (blast intro: SUP_upper2 dest: assms)+
   300   by (intro antisym SUP_least) (blast intro: SUP_upper2 dest: assms)+
   301 
   301 
   302 lemma INFI_eq:
   302 lemma INF_eq:
   303   assumes "\<And>i. i \<in> A \<Longrightarrow> \<exists>j\<in>B. f i \<ge> g j"
   303   assumes "\<And>i. i \<in> A \<Longrightarrow> \<exists>j\<in>B. f i \<ge> g j"
   304   assumes "\<And>j. j \<in> B \<Longrightarrow> \<exists>i\<in>A. g j \<ge> f i"
   304   assumes "\<And>j. j \<in> B \<Longrightarrow> \<exists>i\<in>A. g j \<ge> f i"
   305   shows "(\<Sqinter>i\<in>A. f i) = (\<Sqinter>j\<in>B. g j)"
   305   shows "(\<Sqinter>i\<in>A. f i) = (\<Sqinter>j\<in>B. g j)"
   306   by (intro antisym INF_greatest) (blast intro: INF_lower2 dest: assms)+
   306   by (intro antisym INF_greatest) (blast intro: INF_lower2 dest: assms)+
   307 
   307