Exposition: Synthesis via Functional Interpretation
نویسنده
چکیده
The aim of this short paper is to give a practical introduction to functional interpretation of proofs in arithmetic for computer scientists interested in synthesis. Towards this, we will define our own notion of functional interpretation which differs (sometimes only inessentially) from those used in the literature, but has the advantage (in the opinion of the author) of being very natural. Note that we only show functional interpretation by definition and example — it is quite possible that proving the correctness of this formalism is cumbersome (or even impossible). Still, as can be witnessed below, our formalism allows extraction of a correct program from a non-trivial proof in a systematic way, hopefully elucidating a few central ideas common to all notions of functional interpretation. With this disclaimer in mind, we can start setting up our machinery for functional interpretation. Towards extracting a program from a proof, we have to fix (1) a programming language, (2) a proof system, and (3) a translation from (2) to (1). The programming language. Choosing a suitable programming language for functional extraction involves some design decisions. Usually, one takes a functional programming language, since this often induces a simple and natural translation from proofs to programs. Some other decisions are more inessential, e.g. how to represent boolean values in the programming language (e.g. by constants K,J, or by numerals 0, 1). For simplicity, we choose the untyped λ-calculus extended with some constants for arithmetic, pairs, and program control. More precisely, we assume existence of a countable set of variables V , and a fixed set of constant symbols t0, 1,`, ́,pair, left, right, isZero, IfThenElse,Ru. Variables and constants are λ-terms, and if s, t are λ-terms and x a variable then st and λx.t are λ-terms. We use infix notation for `, ́ and write IfThenElset1t2t3 as If t1 Then t2 Else t3 and pairt1t2 as pt1, t2q). The intended semantics of the symbols are clear except maybe for R, which will be the recursion operator. Variable-free terms consisting only of 0, 1,` may denote numbers (i.e. 1` p1` 1q and p1` 1q` 1 both denote 3 P N, while ``` does not denote a number). Such terms are called arithmetical, and we will often not distinguish between a number α P N and the arithmetical terms that denote it. In particular, if α P N and t is a λ-term, then by tα we denote the λ-term which applies t to the numeral representing α.
منابع مشابه
Bioinformatics Study and Investigation of the Expression Pattern of Several Important Genes Involved in Glycyrrhizin Synthesis of Glycyrrhiza glabra L. in Autumn and Spring Seasons
Glycyrrhiza is one of the important medicinal plants that is in danger of extinction. Search for finding accessions that have a higher glycyrrhizic acid is very important in breeding programs. Functional genomics methods such as EST sequencing prepare the ability to identify consensus gene families among studied species and interpretation of the genome. In this research, 55960 EST sequences of ...
متن کاملNew Method for Synthesis of Zinc Metaborate Zn4B6O13 Crystals via Sol-Gel Process and Investigation of DFT Calculations
In this work facile sol-gel (pechni) method has been successfully established to synthesize Zn4B6O13 nanocrystals which have cubic crystals with lattice parameter: a =7.48 A. The structure and morphology of the obtained material were studied by X-ray diffraction (XRD), Infrared spectra (IR), scanning electron microscopy (SEM) and photoluminescence analysis. The experimental results show a band ...
متن کاملAn Environmentally Route for Synthesis of Triarylmethanes Catalyzed by Heteropolyphosphotungstic Acid in Water
An efficient and environmentally benign procedure for synthesis of triarylmethanes is developed via condensation of aromatic aldehydes and N,N-dimethylaniline using small quantity of heteropolyphosphotungstic acid (HPW) as catalyst in water. Good functional group tolerance, simple green experimental procedure, and good to excellent yields of products are the most advantages of this work.
متن کاملProgram Synthesis Using Dual Interpretation
We present an approach to component-based program synthesis that uses two distinct interpretations for the symbols in the program. The first interpretation defines the semantics of the program. It is used to specify functional requirements. The second interpretation is used to capture nonfunctional requirements that may vary by application. We present a language for program synthesis from compo...
متن کاملNew Method for Synthesis of Zinc Metaborate Zn4B6O13 Crystals via Sol-Gel Process and Investigation of DFT Calculations
In this work facile sol-gel (pechni) method has been successfully established to synthesize Zn4B6O13 nanocrystals which have cubic crystals with lattice parameter: a =7.48 A. The structure and morphology of the obtained material were studied by X-ray diffraction (XRD), Infrared spectra (IR), scanning electron microscopy (SEM) and photoluminescence analysis. The experimental results show a band ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1403.7353 شماره
صفحات -
تاریخ انتشار 2014