# HG changeset patch # User haftmann # Date 1331933215 -3600 # Node ID 6bc213e904015a6b767a3519033ea1eabe34a329 # Parent 7ca3608146d85c7adf72a71147ba03e84276a847 tuned specifications diff -r 7ca3608146d8 -r 6bc213e90401 src/HOL/Library/Zorn.thy --- a/src/HOL/Library/Zorn.thy Fri Mar 16 22:48:38 2012 +0100 +++ b/src/HOL/Library/Zorn.thy Fri Mar 16 22:26:55 2012 +0100 @@ -12,38 +12,36 @@ begin (* Define globally? In Set.thy? *) -definition chain_subset :: "'a set set \ bool" ("chain\<^bsub>\\<^esub>") where -"chain\<^bsub>\\<^esub> C \ \A\C.\B\C. A \ B \ B \ A" +definition chain_subset :: "'a set set \ bool" ("chain\<^bsub>\\<^esub>") +where + "chain\<^bsub>\\<^esub> C \ \A\C.\B\C. A \ B \ B \ A" text{* The lemma and section numbers refer to an unpublished article \cite{Abrial-Laffitte}. *} -definition - chain :: "'a set set => 'a set set set" where - "chain S = {F. F \ S & chain\<^bsub>\\<^esub> F}" +definition chain :: "'a set set \ 'a set set set" +where + "chain S = {F. F \ S \ chain\<^bsub>\\<^esub> F}" -definition - super :: "['a set set,'a set set] => 'a set set set" where - "super S c = {d. d \ chain S & c \ d}" - -definition - maxchain :: "'a set set => 'a set set set" where - "maxchain S = {c. c \ chain S & super S c = {}}" +definition super :: "'a set set \ 'a set set \ 'a set set set" +where + "super S c = {d. d \ chain S \ c \ d}" -definition - succ :: "['a set set,'a set set] => 'a set set" where - "succ S c = - (if c \ chain S | c \ maxchain S - then c else SOME c'. c' \ super S c)" +definition maxchain :: "'a set set \ 'a set set set" +where + "maxchain S = {c. c \ chain S \ super S c = {}}" -inductive_set - TFin :: "'a set set => 'a set set set" - for S :: "'a set set" - where - succI: "x \ TFin S ==> succ S x \ TFin S" - | Pow_UnionI: "Y \ Pow(TFin S) ==> Union(Y) \ TFin S" +definition succ :: "'a set set \ 'a set set \ 'a set set" +where + "succ S c = (if c \ chain S \ c \ maxchain S then c else SOME c'. c' \ super S c)" + +inductive_set TFin :: "'a set set \ 'a set set set" +for S :: "'a set set" +where + succI: "x \ TFin S \ succ S x \ TFin S" +| Pow_UnionI: "Y \ Pow (TFin S) \ \Y \ TFin S" subsection{*Mathematical Preamble*}