132 apply (simp add: PartialOrder_def A_def r_def) |
132 apply (simp add: PartialOrder_def A_def r_def) |
133 done |
133 done |
134 |
134 |
135 lemma (in PO) PO_imp_sym: "antisym r" |
135 lemma (in PO) PO_imp_sym: "antisym r" |
136 apply (insert cl_po) |
136 apply (insert cl_po) |
137 apply (simp add: PartialOrder_def A_def r_def) |
137 apply (simp add: PartialOrder_def r_def) |
138 done |
138 done |
139 |
139 |
140 lemma (in PO) PO_imp_trans: "trans r" |
140 lemma (in PO) PO_imp_trans: "trans r" |
141 apply (insert cl_po) |
141 apply (insert cl_po) |
142 apply (simp add: PartialOrder_def A_def r_def) |
142 apply (simp add: PartialOrder_def r_def) |
143 done |
143 done |
144 |
144 |
145 lemma (in PO) reflE: "x \<in> A ==> (x, x) \<in> r" |
145 lemma (in PO) reflE: "x \<in> A ==> (x, x) \<in> r" |
146 apply (insert cl_po) |
146 apply (insert cl_po) |
147 apply (simp add: PartialOrder_def refl_def A_def r_def) |
147 apply (simp add: PartialOrder_def refl_def A_def r_def) |
148 done |
148 done |
149 |
149 |
150 lemma (in PO) antisymE: "[| (a, b) \<in> r; (b, a) \<in> r |] ==> a = b" |
150 lemma (in PO) antisymE: "[| (a, b) \<in> r; (b, a) \<in> r |] ==> a = b" |
151 apply (insert cl_po) |
151 apply (insert cl_po) |
152 apply (simp add: PartialOrder_def antisym_def A_def r_def) |
152 apply (simp add: PartialOrder_def antisym_def r_def) |
153 done |
153 done |
154 |
154 |
155 lemma (in PO) transE: "[| (a, b) \<in> r; (b, c) \<in> r|] ==> (a,c) \<in> r" |
155 lemma (in PO) transE: "[| (a, b) \<in> r; (b, c) \<in> r|] ==> (a,c) \<in> r" |
156 apply (insert cl_po) |
156 apply (insert cl_po) |
157 apply (simp add: PartialOrder_def A_def r_def) |
157 apply (simp add: PartialOrder_def r_def) |
158 apply (unfold trans_def, fast) |
158 apply (unfold trans_def, fast) |
159 done |
159 done |
160 |
160 |
161 lemma (in PO) monotoneE: |
161 lemma (in PO) monotoneE: |
162 "[| monotone f A r; x \<in> A; y \<in> A; (x, y) \<in> r |] ==> (f x, f y) \<in> r" |
162 "[| monotone f A r; x \<in> A; y \<in> A; (x, y) \<in> r |] ==> (f x, f y) \<in> r" |
302 |
302 |
303 subsection {* sublattice *} |
303 subsection {* sublattice *} |
304 |
304 |
305 lemma (in PO) sublattice_imp_CL: |
305 lemma (in PO) sublattice_imp_CL: |
306 "S <<= cl ==> (| pset = S, order = induced S r |) \<in> CompleteLattice" |
306 "S <<= cl ==> (| pset = S, order = induced S r |) \<in> CompleteLattice" |
307 by (simp add: sublattice_def CompleteLattice_def A_def r_def) |
307 by (simp add: sublattice_def CompleteLattice_def r_def) |
308 |
308 |
309 lemma (in CL) sublatticeI: |
309 lemma (in CL) sublatticeI: |
310 "[| S \<subseteq> A; (| pset = S, order = induced S r |) \<in> CompleteLattice |] |
310 "[| S \<subseteq> A; (| pset = S, order = induced S r |) \<in> CompleteLattice |] |
311 ==> S <<= cl" |
311 ==> S <<= cl" |
312 by (simp add: sublattice_def A_def r_def) |
312 by (simp add: sublattice_def A_def r_def) |