1. A non-transitory machine readable storage medium containing executable computer program instructions which when executed by a digital processing system cause said system to perform a method to design a circuit with a plurality of portions, the method comprising: automatically generating, by a processor, at least one lemma that specifies one or more conditions across one or more boundaries of the plurality of portions of the circuit; individually transforming the plurality of portions of the circuit from a first design into a second design using the at least one lemma; and exporting the at least one lemma for use by one or more application processes.