src/HOL/Cardinals/Order_Relation_More.thy
changeset 60585 48fdff264eb2
parent 58889 5b7a9633cfa8
child 63167 0909deb8059b
equal deleted inserted replaced
60583:a645a0e6d790 60585:48fdff264eb2
   131 lemma Above_Field: "Above r A \<le> Field r"
   131 lemma Above_Field: "Above r A \<le> Field r"
   132 by(unfold Above_def Field_def, auto)
   132 by(unfold Above_def Field_def, auto)
   133 
   133 
   134 lemma Refl_under_Under:
   134 lemma Refl_under_Under:
   135 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   135 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   136 shows "Under r A = (\<Inter> a \<in> A. under r a)"
   136 shows "Under r A = (\<Inter>a \<in> A. under r a)"
   137 proof
   137 proof
   138   show "Under r A \<subseteq> (\<Inter> a \<in> A. under r a)"
   138   show "Under r A \<subseteq> (\<Inter>a \<in> A. under r a)"
   139   by(unfold Under_def under_def, auto)
   139   by(unfold Under_def under_def, auto)
   140 next
   140 next
   141   show "(\<Inter> a \<in> A. under r a) \<subseteq> Under r A"
   141   show "(\<Inter>a \<in> A. under r a) \<subseteq> Under r A"
   142   proof(auto)
   142   proof(auto)
   143     fix x
   143     fix x
   144     assume *: "\<forall>xa \<in> A. x \<in> under r xa"
   144     assume *: "\<forall>xa \<in> A. x \<in> under r xa"
   145     hence "\<forall>xa \<in> A. (x,xa) \<in> r"
   145     hence "\<forall>xa \<in> A. (x,xa) \<in> r"
   146     by (simp add: under_def)
   146     by (simp add: under_def)
   155   qed
   155   qed
   156 qed
   156 qed
   157 
   157 
   158 lemma Refl_underS_UnderS:
   158 lemma Refl_underS_UnderS:
   159 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   159 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   160 shows "UnderS r A = (\<Inter> a \<in> A. underS r a)"
   160 shows "UnderS r A = (\<Inter>a \<in> A. underS r a)"
   161 proof
   161 proof
   162   show "UnderS r A \<subseteq> (\<Inter> a \<in> A. underS r a)"
   162   show "UnderS r A \<subseteq> (\<Inter>a \<in> A. underS r a)"
   163   by(unfold UnderS_def underS_def, auto)
   163   by(unfold UnderS_def underS_def, auto)
   164 next
   164 next
   165   show "(\<Inter> a \<in> A. underS r a) \<subseteq> UnderS r A"
   165   show "(\<Inter>a \<in> A. underS r a) \<subseteq> UnderS r A"
   166   proof(auto)
   166   proof(auto)
   167     fix x
   167     fix x
   168     assume *: "\<forall>xa \<in> A. x \<in> underS r xa"
   168     assume *: "\<forall>xa \<in> A. x \<in> underS r xa"
   169     hence "\<forall>xa \<in> A. x \<noteq> xa \<and> (x,xa) \<in> r"
   169     hence "\<forall>xa \<in> A. x \<noteq> xa \<and> (x,xa) \<in> r"
   170     by (auto simp add: underS_def)
   170     by (auto simp add: underS_def)
   179   qed
   179   qed
   180 qed
   180 qed
   181 
   181 
   182 lemma Refl_above_Above:
   182 lemma Refl_above_Above:
   183 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   183 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   184 shows "Above r A = (\<Inter> a \<in> A. above r a)"
   184 shows "Above r A = (\<Inter>a \<in> A. above r a)"
   185 proof
   185 proof
   186   show "Above r A \<subseteq> (\<Inter> a \<in> A. above r a)"
   186   show "Above r A \<subseteq> (\<Inter>a \<in> A. above r a)"
   187   by(unfold Above_def above_def, auto)
   187   by(unfold Above_def above_def, auto)
   188 next
   188 next
   189   show "(\<Inter> a \<in> A. above r a) \<subseteq> Above r A"
   189   show "(\<Inter>a \<in> A. above r a) \<subseteq> Above r A"
   190   proof(auto)
   190   proof(auto)
   191     fix x
   191     fix x
   192     assume *: "\<forall>xa \<in> A. x \<in> above r xa"
   192     assume *: "\<forall>xa \<in> A. x \<in> above r xa"
   193     hence "\<forall>xa \<in> A. (xa,x) \<in> r"
   193     hence "\<forall>xa \<in> A. (xa,x) \<in> r"
   194     by (simp add: above_def)
   194     by (simp add: above_def)
   203   qed
   203   qed
   204 qed
   204 qed
   205 
   205 
   206 lemma Refl_aboveS_AboveS:
   206 lemma Refl_aboveS_AboveS:
   207 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   207 assumes REFL: "Refl r" and NE: "A \<noteq> {}"
   208 shows "AboveS r A = (\<Inter> a \<in> A. aboveS r a)"
   208 shows "AboveS r A = (\<Inter>a \<in> A. aboveS r a)"
   209 proof
   209 proof
   210   show "AboveS r A \<subseteq> (\<Inter> a \<in> A. aboveS r a)"
   210   show "AboveS r A \<subseteq> (\<Inter>a \<in> A. aboveS r a)"
   211   by(unfold AboveS_def aboveS_def, auto)
   211   by(unfold AboveS_def aboveS_def, auto)
   212 next
   212 next
   213   show "(\<Inter> a \<in> A. aboveS r a) \<subseteq> AboveS r A"
   213   show "(\<Inter>a \<in> A. aboveS r a) \<subseteq> AboveS r A"
   214   proof(auto)
   214   proof(auto)
   215     fix x
   215     fix x
   216     assume *: "\<forall>xa \<in> A. x \<in> aboveS r xa"
   216     assume *: "\<forall>xa \<in> A. x \<in> aboveS r xa"
   217     hence "\<forall>xa \<in> A. xa \<noteq> x \<and> (xa,x) \<in> r"
   217     hence "\<forall>xa \<in> A. xa \<noteq> x \<and> (xa,x) \<in> r"
   218     by (auto simp add: aboveS_def)
   218     by (auto simp add: aboveS_def)