1. A method for optimizing an application specific integrated circuit, the method comprising: translating a first representation of a digital design for the application specific integrated circuit to a second representation of the digital design, the second representation comprising a plurality of syntactic expressions that admit a representation of a higher-order function of base Boolean values; and manipulating the plurality of syntactic expressions to form a third representation of the digital design.