Concepts inUsing SMT solvers to verify high-integrity programs
Satisfiability Modulo Theories
In computer science and mathematical logic, the Satisfiability Modulo Theories (SMT) problem is a decision problem for logical formulas with respect to combinations of background theories expressed in classical first-order logic with equality. Examples of theories typically used in computer science are the theory of real numbers, the theory of integers, and the theories of various data structures such as lists, arrays, bit vectors and so on.
more from Wikipedia
Altran Praxis
Altran Praxis (formerly known as Praxis High Integrity Systems and Praxis Critical Systems) is a British software house that specialises in critical systems. They are based in Manvers Street, Bath, England, close to Bath Spa railway station, and also have offices in London, Loughborough, Paris, Sophia Antipolis, and Bangalore. The company Praxis Systems Limited was founded by Martyn Thomas and David Bean in 1983. It was incorporated on June 1, 1983 and commenced business on July 1, 1983.
more from Wikipedia
Loop invariant
In computer science, a loop invariant is an invariant used to prove properties of loops. Informally, a loop invariant is a statement of the conditions that should be true on entry into a loop and that are guaranteed to remain true on every iteration of the loop. This means that on exit from the loop both the loop invariant and the loop termination condition can be guaranteed.
more from Wikipedia
Solver
A solver is a generic term indicating a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculate their solution. In a solver, the emphasis is on creating a program or library that can easily be applied to other problems of similar type.
more from Wikipedia
Formal verification
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics . Complete formal verification is the only known way to guarantee that a system is free of programming errors. ¿ ¿ From abstract of paper presented to ACM symposium
more from Wikipedia
Axiom
An axiom is a premise or starting point of reasoning. As classically conceived, an axiom is a premise so evident as to be accepted as true without controversy. The word comes from the Greek ¿¿¿¿¿¿ 'that which is thought worthy or fit,' or 'that which commends itself as evident. ' As used in modern logic, an axiom is simply a premise or starting point for reasoning, and equivalent to what Aristotle calls a definition. Axioms define and delimit the realm of analysis.
more from Wikipedia
Arithmetic
Arithmetic or arithmetics is the oldest and most elementary branch of mathematics, used by almost everyone, for tasks ranging from simple day-to-day counting to advanced science and business calculations. It involves the study of quantity, especially as the result of operations that combine numbers. In common usage, it refers to the simpler properties when using the traditional operations of addition, subtraction, multiplication and division with smaller values of numbers.
more from Wikipedia
Division (mathematics)
In mathematics, especially in elementary arithmetic, division (÷) is an arithmetic operation. Specifically, if b times c equals a, written: where b is not zero, then a divided by b equals c, written: a ÷ b = c For instance, 6 ÷ 3 = 2 since 6 = 3 * 2 In the expression a ÷ b = c, a is called the dividend, b the divisor and c the quotient. Conceptually, division describes two distinct but related settings. Partitioning involves taking a set of size a and forming b groups that are equal in size.
more from Wikipedia