| J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149--167, 1990. |
....deduction style [11] Informally, if T is a term obtained for the function append and t 1 , t 2 are terms that respectively model terms u 1 of type Ln and u 2 of type Ln, then the term ( T t 1 ) t 2 ) reduces to a normal form V that represents the value of append(u 1 ; u 2 ) of type Ln. See [6,7,14,15] for details of the theory that allows to derive terms from termination proofs of the speci cation in natural deduction style. 2.1 The typing rules of AF2 (which are also part of TTR) We assume a set F of function symbols and a countable set X of individual variables. The logical terms are ....
.... t : B E x:t : A B ( i ) E u : A E t : A B E (t u) B ( e ) E t : A[ y] E t : A[T=Y ] Table 1 Rules of the Second Order Functional Arithmetic (AF2) Types and formal data types play an important role in AF2 and TTR in relation to a notion of realizability [7] that ensures the extracted terms compute the de ned functions (cf. 6,7] If for an n ary function f we have: E t : 8x 1 : 8x n (D 1 (x 1 ) D n (x n ) D(f(x 1 ; x n ) 4 for some term t where D 1 ; D n ; D denote formal data types, then the ....
[Article contains additional citation context not shown here]
J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149-167, 1990.
....this approach programs are coded by terms extracted from proofs of termination of functions de ned by a set of equations. The extraction is obtained by syntactical termination proofs in a formal deduction style exploiting the Curry Howard correspondence. The theory can be found for instance in [16, 18, 17, 25]. In this system, the user can specify data types and functions in an ML like syntax, but when compiling, a fully automated proof search strategy is used. The input of that search strategy is a speci cation of a function and the output is either a termination proof providing a term that compute ....
J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149-167, 1990.
....function still remains wlid for [ 6.1. 2 The System AF2 Another recent work following the spirit of the impredicative codification is Cristophe Rafalli s extension of the proof system AF2 [79] AF2 is a natural deduction proof system for working with 165 functional second order arithmetic [46]. Its rules enable to prove judgements of the form I t: A, where A is a proposition in second order logic, and t a pure lambda term describing (part of) the natural deduction proof of A. Since only the computational parts of the proof are traced into t, this term may be considered as a ....
J. Krivine and M. Parigor. Programming with proofs. Inf. Process. Cybern., 26(3):149 167, 1990.
....doing both proof and extraction of programs. Keywords: lambda calcul, type, subtype MSC codes: 03B15, 03B40, 68N18 1 Introduction. The Curry Howard [7] isomorphism establishes a relation between proofs and programs. It has been extensively used to develop type systems (for instance COQ [2] AF2 [10]) where it is possible to extract a program from a proof of the existence of the function computed by the program. However, they are programs that can not be extracted from a proof even when we can prove that these programs are correct [8] System ST is an attempt to enlarge the set of programs ....
J.-L. Krivine and Michel Parigot. Programming with proofs. Inf. Process. Cybern., EIK 26(3):149-167, 1990.
.... slightly more complex) The storage operator theorem is valid for a type D, if any term of type :D :D is a storage operator for the elements of D (D being the Godel translation of D) In [4] Krivine proves the storage operator theorem for the type of Church integer in the AF 2 type system [5,8,9]. This result has been 1 I shall thank Jean Louis Krivine for his comments and the fruitful discussions we had. Preprint submitted to Elsevier Preprint 9 July 1997 extended to any 8 positive type D (a type with only positive 8 quantifiers) by Krivine [6] using a semantical proof) and Nour ....
J.-L. Krivine and Michel Parigot. Programming with proofs. Inf. Process. Cybern., EIK 26(3):149--167, 1990.
....still remains valid for CC [3] 6.1. 2 The System AF2 Another recent work following the spirit of the impredicative codification is Cristophe Rafalli s extension of the proof system AF2 [79] AF2 is a natural deduction proof system for working with 165 functional second order arithmetic [46]. Its rules enable to prove judgements of the form Gamma t : A, where A is a proposition in second order logic, and t a pure lambda term describing (part of) the natural deduction proof of A. Since only the computational parts of the proof are traced into t, this term may be considered as a ....
J. Krivine and M. Parigot. Programming with proofs. Inf. Process. Cybern., 26(3):149--167, 1990.
....and Backus [1] which is a 20 years old call for functional programming. Girard s Proofs and Types [10] is a proof theoretic approach to typed calculi, based on a short post graduate course. The Curry Howard correspondence for intuitionistic second order predicative logic is well explained in [20]. For the classical case see [18] For the expressiveness of intuitionistic 2nd order typed calculi, for their interest from mathematical, computational and metamathematical points of view, and for the connections with existing programming languages (at that moment) see [6] For a clear exposition ....
J.L. Krivine and M. Parigot, Programming with proofs, J. Inf. Process. Cybern. EIK 26 , 3, p. 149-167, 1990.
....in the system) constructing its proof and then extracting executable code systematically from this proof with notions like formulae as types or realizability interpretation. Some mathematical results give important properties such as correctness and termination of programs obtained in this way [10]. It appears necessary to consider formal systems adapted for developing proofs but it is not sufficient simply to have a good logical framework in which to derive programs as proofs. Some problems are yet to be solved, such as those concerned with efficiency and the corresponding relationships ....
....This system can be considered as a programming language allowing us to write exact specifications and correct programs, and calculus is considered as object code into which proofs are compiled. For more details about the semantic notion of type and justification of the programming method see [10]. 3 Programming in the logical framework The study of relationships between intuitionistic logic and computer science is at the center of some theoretical work and some systems have been implemented following the paradigm programs as proofs in these different logical formulations [2, 8, 12] We ....
Krivine, J.L., Parigot, M., Programming with proofs, In 6th Symposium on Computation Theory, 1987. Wendisch-Rietz. 410 D. Galmiche
.... The method we present is powerful: since it allows us to recover as fragments formalisms as seemingly different as Girard s LC and Parigot s , FD ( 10, 12, 29, 33] delineates other viable systems as well, and gives means to extend the Krivine Leivant paradigm of programming with proofs ([24, 25]) to classical logic; it is painless: since we reduce strong normalization and confluence to the same properties for linear logic (for non additive proof nets, to be precise) using appropriate embeddings (so called decorations) it is unifying: it organizes known solutions in a simple pattern that ....
.... Curry Howard correspondence ( 16] between proofs in intuitionistic logic and terms (providing, on the theoretical side, a mathematical foundation for functional programming languages, and, from a more practical point of view, a method of programming which ensures correctness of programs, cf. [24, 25]) Classical logic , it was said, is nonconstructive , also in this, highly specific, sense. This, however, turned out to be no more than a, somewhat longstanding, prejudice (as witnessed by our programming theorem in the last section) nurtured by the fact that nothing better than a mere ....
[Article contains additional citation context not shown here]
Krivine, J.-L. and Parigot, M. (1990) Programming with proofs. Journal of Information Processing and Cybernetics EIK, 26(4):149--167.
....function projecting a pair on its first component. Thus, there is no need to extend the language with a new operator because the choice operator can be defined in the language [22] Having a choice operator taking a proof in argument is needed to program computers in the language of mathematics [21, 19, 24]. In this case, we want to have, as usual, the possibility to define a function using the choice operator. For instance, as we know that there exists a function f such that (f 0 m) m (f (S n) m) S (f n m) we want to express it by the term = C(ff 2 N N N j 8m 2 N (f 0 m) m 8n 2 N ....
.... an alternative notation for A ) the proposition A , B for (A ) B) B ) A) and the proposition for ) This interpretation has been used in proof theory to express proofs of various logical systems in typed lambda calculi (Curry [9] Tait [26] Howard [17] Girard [14] Krivine and Parigot [19], etc. It has also been used to formalize mathematics with proofs as objects (de Bruijn [4] Martin Lof [22] Coquand and Huet [8] Paulin [23] etc. In proof theory, proofs are encoded in a language of functions independent of the logical formalism (even if this formalism provides a language ....
J.L. Krivine, M. Parigot, Programming with proofs, J. Inf. Process. Cybern. EIK 26 (1990) pp. 149-167.
....uni cation [6, 11] Similarly, the conversion rule of type theories [13, 2, 14] a.o. identi es propositions w.r.t. generalized fi reduction: the RR n Sigma3542 4 Gilles Dowek and Benjamin Werner propositions 1 1 = 2 and 2 = 2 are logically identical. In Second order functional arithmetic [12] it is possible to use an equational axiom without recording this step in the proof. This separation between computations and deductions deserves to be studied for itself, independently of a particular application or a particular formalization of mathematics, i.e. in the most general framework: ....
J.L. Krivine and M. Parigot, Programming with proofs, J. Inf. Process. Cybern. EIK 26 (1990), pp. 149-167.
....cannot be directly conform to those used in programming activity. Here, we deal with constructive type theory [18] and want to show how to use it to derive programs (through some necessary extensions to obtain interesting programs) We can mention other theories to program with proofs [14] [15] confronted to similar problems (perhaps under another form but) with the same essential constraint to have extensions or reformulations that preserve properties like correctness or termination of the extracted programs. From a logical point of view, a constraint will be to have extensions ....
....fi[a=x] The equality rules are typed fi and j conversions and correspond to (x:b)a = b[a=x] fi[a=x] if a : ff and b : fi with x : ff and c = x:cx : x : ff)fi if c : x : ff)fi. We can include a notion of polymorphism (which plays the role of second order quanti cation in other theories [4] [15]) and we give polymorphic rules for objects and types. The rule of p type formation is : ff : U (x:ff) fi : U (x : ff)fi : U The rules of object formation are (x:ff) b : fi b : x : ff)fi with b not depending on x. b : x : ff)fi a : ff b : fi[a=x] In such a framework, a theory consists ....
[Article contains additional citation context not shown here]
J.L. Krivine and M. Parigot. Programming with proofs. In 6th Symposium on Computation Theory, 1987. Wendisch-Rietz.
....1 Introduction SKIL (Synthesizing Knowledge in Intuitionistic Logic) is an interactive theorem prover dedicated to program synthesis and implemented in Quintus Prolog. The object level logic is a second order constructive logic denoted AF2 which includes induction through the data type de nitions [3]. Since the object level is constructive, terms of calculus are constructed during the proof search. These extracted terms are programs following the programming with proofs paradigm, having the two properties of correctness and termination [3] That is, the system is in fact a program synthesis ....
....includes induction through the data type de nitions [3] Since the object level is constructive, terms of calculus are constructed during the proof search. These extracted terms are programs following the programming with proofs paradigm, having the two properties of correctness and termination [3]. That is, the system is in fact a program synthesis environment, since a speci cation can be regarded as a proposition and its extracted term as a program which meets this speci cation. 2 Programming in AF2 In this framework, the program construction is broken down in three main steps: 1) The ....
J.L. Krivine and M. Parigot. Programming with proofs. J. Inform. Process. Cybernet., 3:149167, 1990.
....which is the second order # calculus (also called system F ) of Girard [2] rediscovered by Reynolds [16] in a computer science frame. We shall extend it in two ways: Types will be formulas of second order predicate calculus, and not only, as in system F, second order propositional calculus [5, 6]. In a certain sense, this is a harmless extension, since the # terms which are typable are the same. This kind of extension has already been considered by D. Leivant [11] A much more serious extension is the following: the underlying logic will be classical logic, and not only, as in system ....
....is su#cient to prove # #x (Int [x] # Int [fx] For example, a proof of # #x (Int [x] # Int [sx] gives a program for the successor (such as #n#f#x f. nfx) a proof of # #x (Int [x] # Int [px] from the equations p0 = 0; psx = x; gives a # term for the predecessor in Church integers [5, 6]. 3 Storage operators and the strategy of reduction for # terms The strategy of head reduction (call by name) has the following advantages: Its good mathematical properties, given by the standardization theorem: if a # term is solvable, then we obtain a head normal form by head reduction. ....
J.L. Krivine, M. Parigot. Programming with proofs. J. Inf. Process. Cybern. EIK 26,3 p. 149-167 (1990).
....the # term begins by a #. Thus, the rule for call by name reduction is: #x u)tt 1 . t k # u[t x]t 1 . t k . We consider a second order type assignment system for this # calculus, in which types are formulas of second order predicate logic. Such a type system has already been used in [9, 4, 8]. It allows to get # terms from proofs in second order intuitionistic logic, by means of the well known Curry Howard isomorphism. The notion of storage operator defined in [5, 6] appears as an important tool in the study of this second order call by name # calculus. They are closed # terms which ....
....typed terms i.e. expressions of the following form: x 1 : A 1 , x k : A k # E # : A, where A 1 , A k , A are formulas of L, x 1 , x k are # variables, # is a # term, and E a system of equations for integers. The rules of construction of typed terms are as follows ([4, 8, 9]) 1. x 1 : A 1 , x k : A k # E x i : A i . 2. If x 1 : A 1 , x k : A k , x : A # E # : B, then x 1 : A 1 , x k : A k # E #x # : A # B. 3. If x 1 : A 1 , x k : A k # E # : A # B, # # : A then x 1 : A 1 , x k : A k # E ## # : B. 4. If x 1 : A ....
J.L. Krivine, M. Parigot. Programming with proofs. J. Inf. Process. Cybern. EIK 26,3 p. 149-167 (1990).
No context found.
J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149--167, 1990.
No context found.
J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149-167, 1990.
No context found.
J.L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern., EIK 26(3):149-167, 1990.
No context found.
J. L. Krivine and M. Parigot. Programming with proofs. J. Inf. Process Cybern, 26(3):149-167, 1990.
No context found.
J.-L. Krivine and Michel Parigot. Programming with proofs. Inf. Process. Cybern., EIK 26(3):149167, 1990.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC