diff -r fae6233c5f37 -r 8ffc4d0e652d src/HOL/HOLCF/Up.thy --- a/src/HOL/HOLCF/Up.thy Wed Jan 13 23:02:28 2016 +0100 +++ b/src/HOL/HOLCF/Up.thy Wed Jan 13 23:07:06 2016 +0100 @@ -3,7 +3,7 @@ Author: Brian Huffman *) -section {* The type of lifted values *} +section \The type of lifted values\ theory Up imports Cfun @@ -11,7 +11,7 @@ default_sort cpo -subsection {* Definition of new type for lifting *} +subsection \Definition of new type for lifting\ datatype 'a u ("(_\<^sub>\)" [1000] 999) = Ibottom | Iup 'a @@ -19,7 +19,7 @@ "Ifup f Ibottom = \" | "Ifup f (Iup x) = f\x" -subsection {* Ordering on lifted cpo *} +subsection \Ordering on lifted cpo\ instantiation u :: (cpo) below begin @@ -41,7 +41,7 @@ lemma Iup_below [iff]: "(Iup x \ Iup y) = (x \ y)" by (simp add: below_up_def) -subsection {* Lifted cpo is a partial order *} +subsection \Lifted cpo is a partial order\ instance u :: (cpo) po proof @@ -60,7 +60,7 @@ by (auto split: u.split_asm intro: below_trans) qed -subsection {* Lifted cpo is a cpo *} +subsection \Lifted cpo is a cpo\ lemma is_lub_Iup: "range S <<| x \ range (\i. Iup (S i)) <<| Iup x" @@ -117,18 +117,18 @@ qed qed -subsection {* Lifted cpo is pointed *} +subsection \Lifted cpo is pointed\ instance u :: (cpo) pcpo by intro_classes fast -text {* for compatibility with old HOLCF-Version *} +text \for compatibility with old HOLCF-Version\ lemma inst_up_pcpo: "\ = Ibottom" by (rule minimal_up [THEN bottomI, symmetric]) -subsection {* Continuity of \emph{Iup} and \emph{Ifup} *} +subsection \Continuity of \emph{Iup} and \emph{Ifup}\ -text {* continuity for @{term Iup} *} +text \continuity for @{term Iup}\ lemma cont_Iup: "cont Iup" apply (rule contI) @@ -136,7 +136,7 @@ apply (erule cpo_lubI) done -text {* continuity for @{term Ifup} *} +text \continuity for @{term Ifup}\ lemma cont_Ifup1: "cont (\f. Ifup f x)" by (induct x, simp_all) @@ -166,7 +166,7 @@ qed simp qed (rule monofun_Ifup2) -subsection {* Continuous versions of constants *} +subsection \Continuous versions of constants\ definition up :: "'a \ 'a u" where @@ -181,7 +181,7 @@ "case l of (XCONST up :: 'a)\x \ t" => "CONST fup\(\ x. t)\l" "\(XCONST up\x). t" == "CONST fup\(\ x. t)" -text {* continuous versions of lemmas for @{typ "('a)u"} *} +text \continuous versions of lemmas for @{typ "('a)u"}\ lemma Exh_Up: "z = \ \ (\x. z = up\x)" apply (induct z) @@ -215,7 +215,7 @@ "\P \; \x. P (up\x)\ \ P x" by (cases x, simp_all) -text {* lifting preserves chain-finiteness *} +text \lifting preserves chain-finiteness\ lemma up_chain_cases: assumes Y: "chain Y" obtains "\i. Y i = \" @@ -247,7 +247,7 @@ apply (rule_tac p="\i. Y i" in upE, simp_all) done -text {* properties of fup *} +text \properties of fup\ lemma fup1 [simp]: "fup\f\\ = \" by (simp add: fup_def cont_Ifup1 cont_Ifup2 inst_up_pcpo cont2cont_LAM)