The Larch Project develops aids for formal specifications. Each Larch specification has two components: an interface containing predicates written in the LIL ({Larch Interface Language}) designed for the target language and a ' trait' containing assertions about the predicates written in LSL, the Larch Shared Language common to all. ["The Larch FamilY of Specification Languages", J. Guttag et al, IEEE Trans Soft Eng 2(5):24-365 (Sep 1985)].