Combining programming with theorem proving

被引:19
作者
Chen, CY [1 ]
Xi, HW [1 ]
机构
[1] Boston Univ, Boston, MA 02215 USA
关键词
languages; verification; ATS; Applied Type System; dependent types; proof erasure; theorem proving;
D O I
10.1145/1090189.1086375
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Applied Type System (ATS) is recently proposed as a framework for designing and formalizing (advanced) type systems in support Of practical programming. In ATS, the definition of type equality involves a constraint relation, which may or may not be algorithmically decidable. To support practical programming, we adopted a design in the past that imposes certain restrictions on the syntactic form of constraints so that some effective means can be found for solving constraints automatically. Evidently, this is a rather ad hoc design in its nature. In this paper, we rectify the situation by presenting a fundamentally different design, which we claim to be both novel and practical. Instead of imposing syntactical restrictions on constraints, we provide a means for the programmer to construct proofs that attest to the validity of constraints. In particular, we are to accommodate a programming paradigm that enables the programmer to combine programming with theorem proving. Also we present some concrete examples in support of the practicality of this design.
引用
收藏
页码:66 / 77
页数:12
相关论文
共 12 条
[1]  
[Anonymous], 1988, PLDI 88 P ACM SIGPLA
[2]   THE CALCULUS OF CONSTRUCTIONS [J].
COQUAND, T ;
HUET, G .
INFORMATION AND COMPUTATION, 1988, 76 (2-3) :95-120
[3]  
Dantzig GB., 1973, J COMBINATORIAL TH A, V14, P288, DOI [DOI 10.1016/0097-3165(73)90004-6, 10.1016/0097-3165(73)90004-6]
[4]   Guarded recursive datatype constructors [J].
Xi, HW ;
Chen, CY ;
Chen, G .
ACM SIGPLAN NOTICES, 2003, 38 (01) :224-235
[5]   The view from the left [J].
McBride, C ;
McKinna, J .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2004, 14 (01) :69-111
[6]   Faking it - Simulating dependent types in Haskell [J].
McBride, C .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2002, 12 :375-392
[7]  
Paulin-Mohring Christine, 1993, Typed Lambda Calculi and Applications, P328, DOI 10.1007/BFb0037116
[8]  
SHAO Z, 2002, P 29 ACM S PRINC PRO, P217
[9]  
Xi HW, 2003, J UNIVERS COMPUT SCI, V9, P851
[10]  
[No title captured]