ORA Canada

ORA Canada
Contact us
What's new?
Products and services
Reports and Collections
ORA Canada
Automated Deduction


As of June 2005, ORA Canada can no longer distribute EVES.

EVES is a state-of-the-art formal methods tool, developed by ORA Canada, that incorporates a unique set of technologies:

  • a single language, called Verdi. Verdi is a formal notation, based on a version of untyped set theory, that can be used to express rigorous mathematical concepts, and thus provides an alternative to higher-order languages. Verdi supports large scale abstraction and information hiding through an Ada-like library mechanism.
  • a proof obligation generator. The proof obligation generator automatically emits the assertions that must be proven to demonstrate certain important properties, including that code is in consonance with their specifications.
  • an automated deduction system, called NEVER. NEVER is the automated deduction component of EVES. It is an interactive theorem prover that is capable of automatically performing large proof steps, yet can be finely directed by the user. Its design was initially influenced by the Bledsoe-Bruell prover, the Stanford Pascal Verifier, the Boyer-Moore theorem prover, and the Affirm theorem prover.
    NEVER is neither a fully automatic nor an entirely manual theorem prover. Although NEVER provides powerful deductive techniques for the automatic proof of theorems, it also includes simple user steps which permit its use as a system more akin to a proof checker than a theorem prover. The possible fine control of the prover allows users to closely investigate proof strategies and determine why, for example, proofs are failing. In our view, the synergism of powerful automated support and user control is a necessary precondition to a successful general purpose theorem prover.
  • an interpreter.
  • a compiler. The most recent compiler for the EVES system is the SPARC Verdi compiler. The development of this compiler was more "rigorous" than most: there are formal specifications for each pass of the compiler, and a proof that the semantics of a Verdi program (for a subset of Verdi) are "congruent" with those of the generated intermediate language.

Particular effort has been directed at the mathematical foundations of EVES. Consequently, Verdi was developed with a denotational semantics and the proof obligations were justified mathematically. In addition, the compiler was rigorously developed; that is, the machine-independent parts of the compiler have been justified mathematically. While NEVER is too complex (due to the combination of heuristics and non-axiomatic decision procedures) to be justified mathematically, a tool has been developed for checking NEVER proofs for correctness. The proof checking tool is a small program and is amenable to mathematical justification.

URL: http://www.oracanada.com/eves.html
Revised: March 28, 2009.