# HG changeset patch # User wenzelm # Date 1364071683 -3600 # Node ID 01fe31f05aa8d6cd17d7bc110b95a95da40ffa8e # Parent e7f80c4f8238b87e9ab660a48291d7028d2ec5fa prefer plain \<^sub> for better rendering (both in Isabelle/jEdit and LaTeX); tuned proofs; diff -r e7f80c4f8238 -r 01fe31f05aa8 src/HOL/Library/Zorn.thy --- a/src/HOL/Library/Zorn.thy Sat Mar 23 21:19:10 2013 +0100 +++ b/src/HOL/Library/Zorn.thy Sat Mar 23 21:48:03 2013 +0100 @@ -12,9 +12,9 @@ begin (* Define globally? In Set.thy? *) -definition chain_subset :: "'a set set \ bool" ("chain\<^bsub>\\<^esub>") +definition chain_subset :: "'a set set \ bool" ("chain\<^sub>\") where - "chain\<^bsub>\\<^esub> C \ \A\C.\B\C. A \ B \ B \ A" + "chain\<^sub>\ C \ \A\C.\B\C. A \ B \ B \ A" text{* The lemma and section numbers refer to an unpublished article @@ -23,7 +23,7 @@ definition chain :: "'a set set \ 'a set set set" where - "chain S = {F. F \ S \ chain\<^bsub>\\<^esub> F}" + "chain S = {F. F \ S \ chain\<^sub>\ F}" definition super :: "'a set set \ 'a set set \ 'a set set set" where @@ -203,13 +203,13 @@ lemma chain_extend: "[| c \ chain S; z \ S; \x \ c. x \ (z:: 'a set) |] ==> {z} Un c \ chain S" -by (unfold chain_def chain_subset_def) blast + by (unfold chain_def chain_subset_def) blast lemma chain_Union_upper: "[| c \ chain S; x \ c |] ==> x \ Union(c)" -by auto + by auto lemma chain_ball_Union_upper: "c \ chain S ==> \x \ c. x \ Union(c)" -by auto + by auto lemma maxchain_Zorn: "[| c \ maxchain S; u \ S; Union(c) \ u |] ==> Union(c) = u" @@ -337,21 +337,21 @@ by(simp add: init_seg_of_def Chain_def Ball_def) blast lemma chain_subset_trans_Union: - "chain\<^bsub>\\<^esub> R \ \r\R. trans r \ trans(\R)" + "chain\<^sub>\ R \ \r\R. trans r \ trans(\R)" apply(simp add:chain_subset_def) apply(simp (no_asm_use) add:trans_def) by (metis subsetD) lemma chain_subset_antisym_Union: - "chain\<^bsub>\\<^esub> R \ \r\R. antisym r \ antisym(\R)" + "chain\<^sub>\ R \ \r\R. antisym r \ antisym(\R)" by (simp add:chain_subset_def antisym_def) (metis subsetD) lemma chain_subset_Total_Union: -assumes "chain\<^bsub>\\<^esub> R" "\r\R. Total r" +assumes "chain\<^sub>\ R" "\r\R. Total r" shows "Total (\R)" proof (simp add: total_on_def Ball_def, auto del:disjCI) fix r s a b assume A: "r:R" "s:R" "a:Field r" "b:Field s" "a\b" - from `chain\<^bsub>\\<^esub> R` `r:R` `s:R` have "r\s \ s\r" + from `chain\<^sub>\ R` `r:R` `s:R` have "r\s \ s\r" by(simp add:chain_subset_def) thus "(\r\R. (a,b) \ r) \ (\r\R. (b,a) \ r)" proof @@ -400,7 +400,7 @@ let ?WO = "{r::('a*'a)set. Well_order r}" def I \ "init_seg_of \ ?WO \ ?WO" have I_init: "I \ init_seg_of" by(simp add: I_def) - hence subch: "!!R. R : Chain I \ chain\<^bsub>\\<^esub> R" + hence subch: "!!R. R : Chain I \ chain\<^sub>\ R" by(auto simp:init_seg_of_def chain_subset_def Chain_def) have Chain_wo: "!!R r. R \ Chain I \ r \ R \ Well_order r" by(simp add:Chain_def I_def) blast @@ -410,7 +410,7 @@ -- {*I-chains have upper bounds in ?WO wrt I: their Union*} { fix R assume "R \ Chain I" hence Ris: "R \ Chain init_seg_of" using mono_Chain[OF I_init] by blast - have subch: "chain\<^bsub>\\<^esub> R" using `R : Chain I` I_init + have subch: "chain\<^sub>\ R" using `R : Chain I` I_init by(auto simp:init_seg_of_def chain_subset_def Chain_def) have "\r\R. Refl r" "\r\R. trans r" "\r\R. antisym r" "\r\R. Total r" "\r\R. wf(r-Id)" @@ -457,7 +457,6 @@ --{*The extension of m by x:*} let ?s = "{(a,x)|a. a : Field m}" let ?m = "insert (x,x) m Un ?s" have Fm: "Field ?m = insert x (Field m)" - apply(simp add:Field_insert Field_Un) unfolding Field_def by auto have "Refl m" "trans m" "antisym m" "Total m" "wf(m-Id)" using `Well_order m` by(simp_all add:order_on_defs)