It is planned to develop abstract structures to represent mathematical objects for the purposes of editing, display and computation. These structures are to be modifiable through free- form editing, in the spirit of blackboard mathematics, yet easily converted to typesetting languages like TEX, and symbolic manipulation package like MACSYMA and Mathematica. The most interesting technical problems raised by the proposal derive from the tension between these two criteria: a natural interface with the mathematician, and an ability to recognize and manipulate the highly structured objects that are informally being described. The abstract structures will mediate between the informal notation that the mathematician is comfortable with and the more formal demands of computation. These structures, properly formulated, can also serve as vehicles to store and communicate mathematical content in a natural way, independent of any particular format. The goal is to provide theoretical constructs for a computer- based system for doing mathematics. This system will be able to create input to typesetting systems and to interact with symbolic computing packages; it will provide assistance in the preparation of mathematical documents from the initial ideas to the form. The constructs can be modeled by object-oriented programming language like C++.