archives

Albatross has grown two mighty wings: Induction and Recursion

The version 0.2 of the Albatross programming language / proof assistant has been released.

It has some new features. The most important ones are induction and recursion which come together with inductive data types. With these two features Albatross approaches the expressiveness of Coq. It is possible to declare lists, trees, define recursive functions on them and prove properties of these functions.

The documentation contains examples of lists, binary trees and a verified insertion sort algorithm. All the examples a fully verifiable with the version 0.2 of the Albatross compiler (download here).

Some of the key features of Albatross:

  • No special proof language: All proofs are expressed via boolean expressions. Like a mathematician you make assumptions a draw step by step conclusions
  • Defined and understandable proof automation: There are no tactics. Everybody who understands the language and its proof engine can understand proofs without executing them. Proofs communicate to the human reader and to the compiler
  • Albatross' logic is classical predicate logic which is easier to understand for those not familiar with dependant type theory.
  • Albatross has been designed from the beginning as a programming language. I.e. once the backend is available, Albatross programs can be compiled to executable code without any intermediate code extraction.