The Theorema Language: Implementing Object- and Meta-Level Usage of Symbols

Abstract

Interactive software systems that are designed to offer proving and computing facilities at the same time face the problem of evaluation of formulae: In the situation of computing, a formula given to the system should be evaluated whereas in the situation of proving the formula should be kept unevaluated. Also, in the Theorema project we use the same language (Mathematica 3.0) as the working language for defining new concepts, stating properties of these concepts, proving the properties, computing values using the new knowledge, etc. and as the programming language for implementing the system's provers, evaluators, etc. For this, a similar conflict of evaluating symbols in one situation and keeping them unevaluated in another situation has to be resolved. In order to cope with these two problems, when an expression is input to the system, Theorema clearly distinguishes between the meta- and the object-level (formula level) of the language. On the formula level no evaluations ..

    Similar works

    Full text

    thumbnail-image

    Available Versions