map(f: [T -> T1])(a: message[T]): message[T1] = CASES a OF garbled: garbled, valid(valid1_var): valid(f(valid1_var)) ENDCASES;
map(f: [T -> T1], a: message[T]): message[T1] = CASES a OF garbled: garbled, valid(valid1_var): valid(f(valid1_var)) ENDCASES;
every(R: [[T, T1] -> boolean])(x: message[T], y: message[T1]): boolean =
garbled?(x) AND garbled?(y) OR
valid?(x) AND valid?(y) AND R(value(x), value(y)); END message_adt_map
message_adt_reduce[T: TYPE+, range: TYPE]: THEORY BEGIN ASSUMING
T_TCC1: ASSUMPTIONEXISTS (x: T): TRUE; ENDASSUMING
IMPORTING message_adt[T]
reduce(garbled?_fun: range, valid?_fun: [T -> range]):
[message[T] -> range] = LAMBDA (message_adtvar: message[T]): LET red: [message[T] -> range] = reduce(garbled?_fun, valid?_fun) IN CASES message_adtvar OF garbled: garbled?_fun,
valid(valid1_var): valid?_fun(valid1_var) ENDCASES;
REDUCE(garbled?_fun: [message[T] -> range],
valid?_fun: [[T, message[T]] -> range]):
[message[T] -> range] = LAMBDA (message_adtvar: message[T]): LET red: [message[T] -> range] = REDUCE(garbled?_fun, valid?_fun) IN CASES message_adtvar OF garbled: garbled?_fun(message_adtvar),
valid(valid1_var): valid?_fun(valid1_var, message_adtvar) ENDCASES; END message_adt_reduce
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
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.