equal
deleted
inserted
replaced
642 fix s |
642 fix s |
643 assume sup: "least L s (Upper L {x, y, z})" |
643 assume sup: "least L s (Upper L {x, y, z})" |
644 show "x \<squnion> (y \<squnion> z) .= s" |
644 show "x \<squnion> (y \<squnion> z) .= s" |
645 proof (rule weak_le_antisym) |
645 proof (rule weak_le_antisym) |
646 from sup L show "x \<squnion> (y \<squnion> z) \<sqsubseteq> s" |
646 from sup L show "x \<squnion> (y \<squnion> z) \<sqsubseteq> s" |
647 by (fastsimp intro!: join_le elim: least_Upper_above) |
647 by (fastforce intro!: join_le elim: least_Upper_above) |
648 next |
648 next |
649 from sup L show "s \<sqsubseteq> x \<squnion> (y \<squnion> z)" |
649 from sup L show "s \<sqsubseteq> x \<squnion> (y \<squnion> z)" |
650 by (erule_tac least_le) |
650 by (erule_tac least_le) |
651 (blast intro!: Upper_memI intro: le_trans join_left join_right join_closed) |
651 (blast intro!: Upper_memI intro: le_trans join_left join_right join_closed) |
652 qed (simp_all add: L least_closed [OF sup]) |
652 qed (simp_all add: L least_closed [OF sup]) |
883 fix i |
883 fix i |
884 assume inf: "greatest L i (Lower L {x, y, z})" |
884 assume inf: "greatest L i (Lower L {x, y, z})" |
885 show "x \<sqinter> (y \<sqinter> z) .= i" |
885 show "x \<sqinter> (y \<sqinter> z) .= i" |
886 proof (rule weak_le_antisym) |
886 proof (rule weak_le_antisym) |
887 from inf L show "i \<sqsubseteq> x \<sqinter> (y \<sqinter> z)" |
887 from inf L show "i \<sqsubseteq> x \<sqinter> (y \<sqinter> z)" |
888 by (fastsimp intro!: meet_le elim: greatest_Lower_below) |
888 by (fastforce intro!: meet_le elim: greatest_Lower_below) |
889 next |
889 next |
890 from inf L show "x \<sqinter> (y \<sqinter> z) \<sqsubseteq> i" |
890 from inf L show "x \<sqinter> (y \<sqinter> z) \<sqsubseteq> i" |
891 by (erule_tac greatest_le) |
891 by (erule_tac greatest_le) |
892 (blast intro!: Lower_memI intro: le_trans meet_left meet_right meet_closed) |
892 (blast intro!: Lower_memI intro: le_trans meet_left meet_right meet_closed) |
893 qed (simp_all add: L greatest_closed [OF inf]) |
893 qed (simp_all add: L greatest_closed [OF inf]) |
1287 fix B |
1287 fix B |
1288 assume B: "B \<subseteq> carrier ?L" |
1288 assume B: "B \<subseteq> carrier ?L" |
1289 show "EX s. least ?L s (Upper ?L B)" |
1289 show "EX s. least ?L s (Upper ?L B)" |
1290 proof |
1290 proof |
1291 from B show "least ?L (\<Union> B) (Upper ?L B)" |
1291 from B show "least ?L (\<Union> B) (Upper ?L B)" |
1292 by (fastsimp intro!: least_UpperI simp: Upper_def) |
1292 by (fastforce intro!: least_UpperI simp: Upper_def) |
1293 qed |
1293 qed |
1294 next |
1294 next |
1295 fix B |
1295 fix B |
1296 assume B: "B \<subseteq> carrier ?L" |
1296 assume B: "B \<subseteq> carrier ?L" |
1297 show "EX i. greatest ?L i (Lower ?L B)" |
1297 show "EX i. greatest ?L i (Lower ?L B)" |
1298 proof |
1298 proof |
1299 from B show "greatest ?L (\<Inter> B \<inter> A) (Lower ?L B)" |
1299 from B show "greatest ?L (\<Inter> B \<inter> A) (Lower ?L B)" |
1300 txt {* @{term "\<Inter> B"} is not the infimum of @{term B}: |
1300 txt {* @{term "\<Inter> B"} is not the infimum of @{term B}: |
1301 @{term "\<Inter> {} = UNIV"} which is in general bigger than @{term "A"}! *} |
1301 @{term "\<Inter> {} = UNIV"} which is in general bigger than @{term "A"}! *} |
1302 by (fastsimp intro!: greatest_LowerI simp: Lower_def) |
1302 by (fastforce intro!: greatest_LowerI simp: Lower_def) |
1303 qed |
1303 qed |
1304 qed |
1304 qed |
1305 |
1305 |
1306 text {* An other example, that of the lattice of subgroups of a group, |
1306 text {* An other example, that of the lattice of subgroups of a group, |
1307 can be found in Group theory (Section~\ref{sec:subgroup-lattice}). *} |
1307 can be found in Group theory (Section~\ref{sec:subgroup-lattice}). *} |