Tecton: A Framework for Specifying and Verifying Generic System Components

This paper presents the syntax and semantics of a small language for describing and using abstract concepts in formal software development and hardware design. The language provides deenition, abbreviation, extension, and lemma constructs, which have general mathematical descriptive power, plus a computation-speciic realization construct. The semantics, which is denotational, includes speciication of the requirements (\legality con-ditions") that must be met when using each construct. The syntax and semantics are such that a corresponding proof theory requires only rst order and inductive proof methods, rather than general higher order techniques as required in some frameworks. The language and some of the main proof issues are illustrated with an extended example of a behavioral and structural description of a carry-lookahead adder circuit, with the circuit realization given in terms of a generic parallel-preex circuit.