sigma_3D[T: TYPEFROM int]: THEORY %------------------------------------------------------------------------------ % % Summation over Vector-valued Functions % % The summations theory introduces and defines properties of the sigma % function that sums an arbitrary function F: [T -> vector] over a range % from low to high % % high % ---- % sigma(low, high, F) = \ F(j) % / % ---- % j = low % % AUTHORS: % % Rick Butler NASA Langley Research Center % Paul Miner NASA Langley Research Center % %------------------------------------------------------------------------------
BEGIN
ASSUMING
connected_domain: ASSUMPTION (FORALL (x, y: T), (z: integer):
x <= z AND z <= y IMPLIES T_pred(z))
ENDASSUMING
IMPORTING vectors_3D
T_low?: MACRO set[int] = {i:int | EXISTS (j:T): j <= i}
T_low : TYPE = {i:int | T_pred(i) OR T_low?(i)}
T_high?: MACRO set[int] = {i:int | EXISTS (j:T): i <= j}
T_high : TYPE = {i:int | T_pred(i) OR T_high?(i)}
low : VAR T_low
high : VAR T_high
l,h,n,m,i : VAR T
rng, nn : VAR nat
pn : VAR posnat
z : VAR int
a,x,B : VAR real
v : VAR Vector
T_pred_lem : LEMMA low <= z AND z <= high IMPLIES T_pred(z)
sigma(low, high, F): RECURSIVE Vector
= IF low > high THEN zero ELSE F(high) + sigma(low, high-1, F) ENDIF MEASURE (LAMBDA low, high, F: abs(high+1-low))
% provides one unfolding analogous to old definition -- useful for upgrade
sigma_rew : LEMMA sigma(low, high, F) = IF low > high THEN zero ELSIF high = low THEN F(low) ELSE F(high) + sigma(low, high-1, F) ENDIF
sigma_shift_T2 : THEOREM T_pred(low+z) AND T_pred(high+z) IMPLIES
sigma(low+z,high+z,F) =
sigma(low,high, (LAMBDA (i:T): IF T_pred(i+z) THEN F(i+z) ELSE zero ENDIF))
% ------------------ Summation Involving Two Functions ------------------
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.