Equational programming in lambda-calculus via SL-systems .1.

被引:0
|
作者
Tronci, E
机构
[1] Dipto. di Matemat. Pura ed Applicata, Università dell'Aquila, Coppito, 67100 L'Aquila, Via Vetoio
关键词
systems of equations in the lambda-calculus; lambda-calculus; equational programming; functional programming; automated synthesis of programs;
D O I
10.1016/0304-3975(95)00105-0
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
A system of equations in the lambda-calculus is a set of formulas of Lambda (the equations) together with a finite set of variables of Lambda (the unknowns). A system L is said to be beta-solvable (beta eta-solvable) iff there exists a simultaneous substitution with closed lambda-terms for the unknowns that makes the equations of L theorems in the theory beta (beta eta). A system L can be viewed as a set of specifications (the equations) for a finite set of programs (the unknowns) whereas a solution for L yields executable codes for such programs. A class G of systems for which the solvability problem is effectively decidable defines an equational programming language and a system solving algorithm for G defines a compiler for such language. This leads us to consider separation-like systems (SL-systems), i.e. systems with equations having form x (M) over right arrow = z, where x is an unknown and z is a free variable which is not an unknown. We show that the beta (beta eta)-solvability problem for SL-systems is undecidable. On the other hand we are able to define a class of SL-systems (regular SL-systems) for which the beta-solvability problem is decidable in Polynomial Time. Such class yields an equational programming language in which self-application is handled, constraints on executable code to be generated by the compiler can be specified by the user and (properties of) data structures can be described in an abstract way.
引用
收藏
页码:145 / 184
页数:40
相关论文
共 2 条
  • [1] A Lambda-Calculus Foundation for Universal Probabilistic Programming
    Borgstrom, Johannes
    Dal Lago, Ugo
    Gordon, Andrew D.
    Szymczak, Marcin
    ACM SIGPLAN NOTICES, 2016, 51 (09) : 33 - 46
  • [2] ON CONSTRUCTOR REWRITE SYSTEMS AND THE LAMBDA-CALCULUS
    Dal Lago, Ugo
    Martini, Simone
    LOGICAL METHODS IN COMPUTER SCIENCE, 2012, 8 (03)