hide
Free keywords:
-
Abstract:
Often, calculi for manipulating and reasoning about
programs can be recast as calculi for synthesizing programs. The
difference involves often only a slight shift of perspective:
admitting metavariables into proofs. We propose that such
calculi should be implemented in logical frameworks that support this
kind of proof construction and that such an implementation
can unify program verification and synthesis. Our proposal is
illustrated with a worked example developed in Paulson's Isabelle
system. We also give examples of existent calculi that are closely
related to the methodology we are proposing and others that can be
profitably recast using our approach.