Methods and apparatus for generating a verified algorithm for transforming a program from a first form to a second form
First Claim
1. A method of synthesizing an algorithm for transforming a program from a first form to a second form, the method comprising the steps of:
- formalizing a language associated with the program to be transformed in accordance with a theorem proving system;
building a proof in accordance with the theorem proving system based on a theorem asserting a representability associated with the program, the representability being expressed as inductive predicates over semantic domains; and
extracting the algorithm based on the proof such that the algorithm is capable of transforming the program from the first form to the second form.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of synthesizing an algorithm for transforming a program from a first form to a second form includes first formalizing a language associated with the program to be transformed in accordance with a theorem proving system. Then, a proof is built in accordance with the theorem proving system based on a theorem asserting a representability associated with the program, the representability being expressed as inductive predicates over semantic domains. The method then extracts the algorithm based on the proof. The algorithm is capable of transforming the program from the first form to the second form. In one embodiment, the algorithm is a correctness verified abstraction algorithm and the theorem proving system is Nuprl.
36 Citations
17 Claims
-
1. A method of synthesizing an algorithm for transforming a program from a first form to a second form, the method comprising the steps of:
-
formalizing a language associated with the program to be transformed in accordance with a theorem proving system;
building a proof in accordance with the theorem proving system based on a theorem asserting a representability associated with the program, the representability being expressed as inductive predicates over semantic domains; and
extracting the algorithm based on the proof such that the algorithm is capable of transforming the program from the first form to the second form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. Apparatus for synthesizing an algorithm for transforming a program from a first form to a second form, the apparatus comprising:
-
at least one processor operative to formalize a language associated with the program to be transformed in accordance with a theorem proving system, to build a proof in accordance with the theorem proving system based on a theorem asserting a representability associated with the program, the representability being expressed as inductive predicates over semantic domains, and to extract the algorithm based on the proof such that the algorithm is capable of transforming the program from the first form to the second form; and
memory, coupled to the at least one processor, for storing at least a portion of results associated with formalizing, building, and extracting operations. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An article of manufacture for synthesizing an algorithm for transforming a protocol from a first form to a second form, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
-
formalizing a language associated with the program to be transformed in accordance with a theorem proving system;
building a proof in accordance with the theorem proving system based on a theorem asserting a representability associated with the program, the representability being expressed as inductive predicates over semantic domains; and
extracting the algorithm based on the proof such that the algorithm is capable of transforming the program from the first form to the second form.
-
Specification