Theorema is a project that aims at supporting the entire process of mathematical theory exploration within one coherent logic and software system. This survey paper illustrates the style of Theoremasupported mathematical theory exploration by a case study (the automated synthesis of an algorithm for the construction of Gröbner Bases) and gives an overview on some reasoners and organizational tools for theory exploration developed in the Theorema project.
The Theorems project aims at extending current computer algebra systems by facilities jor supporting mathematical proving. The present early-prototype version of the Theorems software system is implemented in Mathetnatica 3.0. The system consists of a general higher-order predicate logic prover and a collection of special provers that call each other depending on the particular proof situations. The individual provers imitate the proof style of human mathematicians and aim at producing human-readable proofs in natuml language presented in nested cells that facilitate studying the computer-generated proofs at various levels of detail. The special provers are intimately connected with the junctors that build up the various mathematical domains.1 The Objectives of the Theorems ProjectThe Tlaeorema project aims at providing a uniform (logic and software) frame for computing, solving, and proving. In a simplified view, given a "knowledge base" K of formulae (and a logical / computational derivation mechanism L), q q q a " comput e~' for K (in an abstract sense) enables the user to provide an expression (term, formula, program) T with a free variable z and a value v (from an appropriate domain) and "evaluates" Tr+. (T with rJsubstituted for x) w.r.t. K (within the calculus L), a " solve~' for K enables the user to provide an expression T with a free variable z and produces (all) values v for which Tz+" holds (in L) w.r. t. K, and a "prover" for K enables the user to provide an expression T with a free variable z and decides whether, for all values v, Tz+v holds (in L) w.r.t. K. qThis paper was preparedduring a stay of the first author as a visiting researchfellow at the Universityof Tsukuba, Japan, Chair of ProfessorTetsuo Ida, and was supportedby TARA (Tsukuba Advanced Research Alliance), IPA-AITP (Advanced Information Technology Program of the Information-TechnologyPromotion Agency,
We present an algorithm that generates automatically (algebraic) invariant properties of a loop with conditionals. In the proposed algorithm program analysis is performed in order to transform the code into a form for which algebraic and combinatorial techniques can be applied to obtain invariant properties. These invariants are then used for verifying partial correctness of imperative programs in the Theorema system (www.theorema.org). The application of the method is demonstrated in few examples.
Abstract-We study and implement concrete methods for the verification of both imperative as well as functional programs in the frame of the Theorema system. The distinctive features of our approach consist in the automatic generation of loop invariants (by using combinatorial and algebraic techniques), and the generation of verification conditions as first-order logical formulae which do not refer to a specific model of computation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.