revisions e.g. images, transitive closure...
(* Title : Series.thy
Author : Jacques D. Fleuriot
Copyright : 1998 University of Cambridge
Description : Finite summation and infinite series
*)
Series = SEQ + Lim +
consts sumr :: "[nat,nat,(nat=>real)] => real"
primrec
sumr_0 "sumr m 0 f = #0"
sumr_Suc "sumr m (Suc n) f = (if n < m then #0
else sumr m n f + f(n))"
constdefs
sums :: [nat=>real,real] => bool (infixr 80)
"f sums s == (%n. sumr 0 n f) ----> s"
summable :: (nat=>real) => bool
"summable f == (EX s. f sums s)"
suminf :: (nat=>real) => real
"suminf f == (@s. f sums s)"
end