This invention comprises a series of steps which transforms one or more natural language expressions into a single, well-formed formal language representation. Each natural language expression is partially parsed into simple fragments, each of which is then associated with one or more short formal expressions. Each formal expression is constructed in such a way as to contain one or more placeholder variables, each of which is associated with one or more attributes to constrain the types of entities that each variable can potentially represent. The resulting plurality of formal expressions is then filtered for relevance within a given context, and the surviving expressions manipulated based upon a plurality of rules, which are cognizant of the attributes associated with each variable contained therein. A user is then presented with the resulting plurality of formal expressions, whereupon the user optionally selects, rejects, adds to, logically connects and otherwise manipulates each member of said plurality. When the user is satisfied that the plurality represents an intended meaning, the formal expressions are combined into a single, formal representation.