System description: ATS: a language that combines programming with theorem proving

  • Authors:
  • Sa Cui;Kevin Donnelly;Hongwei Xi

  • Affiliations:
  • Computer Science Department, Boston University;Computer Science Department, Boston University;Computer Science Department, Boston University

  • Venue:
  • FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

ATS is a language with a highly expressive type system that supports a restricted form of dependent types in which programs are not allowed to appear in type expressions. The language is separated into two components: a proof language in which (inductive) proofs can be encoded as (total recursive) functions that are erased before execution, and a programming language for constructing programs to be evaluated. This separation enables a paradigm that combines programming with theorem proving. In this paper, we illustrate by example how this programming paradigm is supported in ATS.