<> <> <> Asserting: CEDAR DEFINITIONS = { Error: ERROR [a: Assertion]; Warning: SIGNAL [a: Assertion]; Assertions: TYPE = LIST OF Assertion; Assertion: TYPE = LIST OF Term; Term: TYPE = REF ANY; <> Composite: TYPE = LIST OF Term; Assert: PROC [reln: Term, args: Composite, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions]; AssertionsAbout: PROC [reln: Term, from: Assertions] RETURNS [Assertions]; EnumerateAssertionsAbout: PROC [reln: Term, from: Assertions, to: AssertionConsumer]; AssertionConsumer: TYPE = PROC [assertion: Assertion]; AssertFn: PROC [fn: Term, args: Composite, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions]; AssertFn1: PROC [fn, arg: Term, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions]; FnVals: PROC [fn: Term, from: Assertions] RETURNS [vals: Composite]; FnVal: PROC [fn: Term, from: Assertions] RETURNS [val: Term]; CheckFn: PROC [fn: Term, in: Assertions]; Union: PROC [a, b: Assertions] RETURNS [c: Assertions]; Equal: PROC [a, b: Term] RETURNS [BOOL]; }.