QPC2: A constructive calculus with parameterized specifications

  • Authors:
  • Yukihide Takayama

  • Affiliations:
  • -

  • Venue:
  • Journal of Symbolic Computation - Special issue on automatic programming
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

A second order constructive calculus is presented in this paper. The idea is not to give a yet another system but to restrict higher order calculi such as the Calculus of Constructions (CoC) [2, 3] and Martin-Lof's Intuitionistic Type Theory (ITT) with the hierarchy of universes [10]. One of the aims of the restriction is to provide a program synthesis system which directly generates functional programs with the program constructs such as if-then-else and pairing. Unlike CoC, F [5], and F"@w [4], we do not use Prawitz coding of logical connectives [15] because, if we use the coding, the constructs such as if-then-else and pairing are not primitives but the functionals defined in higher order lambda terms. Another aim of the restriction is to find a subset of existing higher order systems which is necessary and sufficient for parameterized specifications. The obtained system, which is called QPC"2, roughly corresponds to a subset of ITT with the universes U"1 and U"2, but has a few differences. First of all, unlike ITT QPC"2 allows universal quantification over predicates which enables a flexible description of parameterized specifications. Secondly. we take type-free approach along the line of PX [8] and SST [16] in which types and formulas are clearly separated and they are linked with realizability interpretation. Thus, each universe is separated into two parts: one for types and another for formulas. This distinction of types and formulas combined with the realizability technique enables the program extraction without redundancy. A program scheme is extracted from the proof of a given parameterized specification, and it is reduced to a program when first order formulas are substituted to parameters. Because of the suitable restriction of second order formulas, most part of the instantiation procedure can be easily performed automatically. Also, QPC"2 together with the various optimization techniques for first order constructive calculus such as the extended projection method [19] can synthesize natural programs.