# HG changeset patch # User nipkow # Date 1089971219 -7200 # Node ID cc562a263609747562efcb545da0537a7ec1e465 # Parent 0dbbab9f77fe1a2f65c825b870ff16b1236f53b5 Added nice latex syntax. diff -r 0dbbab9f77fe -r cc562a263609 src/HOL/SetInterval.thy --- a/src/HOL/SetInterval.thy Fri Jul 16 09:36:04 2004 +0200 +++ b/src/HOL/SetInterval.thy Fri Jul 16 11:46:59 2004 +0200 @@ -53,7 +53,7 @@ text{* A note of warning when using @{term"{.. nat => 'b set => 'b set" ("(3UN _<=_./ _)" 10) @@ -537,15 +537,6 @@ subsection {* Summation indexed over intervals *} -text{* We introduce the obvious syntax @{text"\x=a..b. e"} for -@{term"\x\{a..b}. e"}, @{text"\x=a..x\{a..xx\{..x=0..x 'a \ 'a \ 'b \ 'b" ("(SUM _ = _.._./ _)" [0,0,0,10] 10) "_from_upto_setsum" :: "idt \ 'a \ 'a \ 'b \ 'b" ("(SUM _ = _..<_./ _)" [0,0,0,10] 10) @@ -558,12 +549,35 @@ "_from_to_setsum" :: "idt \ 'a \ 'a \ 'b \ 'b" ("(3\_ = _.._./ _)" [0,0,0,10] 10) "_from_upto_setsum" :: "idt \ 'a \ 'a \ 'b \ 'b" ("(3\_ = _..<_./ _)" [0,0,0,10] 10) "_upto_setsum" :: "idt \ 'a \ 'b \ 'b" ("(3\_<_./ _)" [0,0,10] 10) +syntax (latex output) + "_from_to_setsum" :: "idt \ 'a \ 'a \ 'b \ 'b" + ("(3\<^raw:$\sum_{>_ = _\<^raw:}^{>_\<^raw:}$> _)" [0,0,0,10] 10) + "_from_upto_setsum" :: "idt \ 'a \ 'a \ 'b \ 'b" + ("(3\<^raw:$\sum_{>_ = _\<^raw:}^{<>_\<^raw:}$> _)" [0,0,0,10] 10) + "_upto_setsum" :: "idt \ 'a \ 'b \ 'b" + ("(3\<^raw:$\sum_{>_ < _\<^raw:}$> _)" [0,0,10] 10) translations "\x=a..b. t" == "setsum (%x. t) {a..b}" "\x=a..ii. t) {..x\{a..b}. e"} & @{term[source]"\x=a..b. e"} & @{term"\x=a..b. e"}\\ +@{term[source]"\x\{a..x=a..x=a..x\{..xxx::nat=0..xi < Suc n. b i) = b n + (\i < n. b i)" by (simp add:lessThan_Suc)