src/HOL/ex/Tarski.thy
changeset 19316 c04b75d482c4
parent 18750 91a328803c6a
child 19736 d8d0f8f51d69
equal deleted inserted replaced
19315:b218cc3d1bb4 19316:c04b75d482c4
   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)