Abstract: | We lay a foundation for using constructive type theory as a tool for combining hardware synthesis and verification. Specifically, we specialize the proofs-as-programs paradigm for the Nuprl constructive type theory to "proofs-as-circuits", whereby representations of circuits can be automatically synthesized from constructive proofs. We use a limited form of syntactic reflection to guarantee that synthesized objects correspond to circuits; the soundness of the type theory guarantees that these objects meet their stated behavioral specifications. our approach allows the modular construction of combinational and parameterized combinational circuits in parallel with their proofs of correctness.
|