To produce a program guaranteed to satisfy a given specification one can synthesize it from a formal constructive proof that a computation satisfying that specification exists. This process is particularly effective if the specifications are written in a high-level language that makes it easy for designers to specify their goals. We consider a high-level specification language that results from adding
to a fragment of Nuprl specifically tailored for specifying distributed protocols, called
. We then show how high-level
can be synthesized from the knowledge-based specifications using a proof development system such as Nuprl. Methods of Halpern and Zuck  then apply to convert these knowledge-based protocols to ordinary protocols. These methods can be expressed as heuristic transformation tactics in Nuprl.
Bitte loggen Sie sich ein, um Zugang zu diesem Inhalt zu erhalten