System of Automated Deduction (SAD): Linguistic and ... - CiteSeerX

1 downloads 0 Views 184KB Size Report
Kanger, S. : Simpli ed proof method for elementary logic. In: Comp. Program. and Form. Sys.: Stud. in Logic. North-Holl., Publ. Co. (1963). 11. Robinson, J. : A ...
Intelligent Information Systems XI

System of Automated Deduction (SAD): Linguistic and Deductive Peculiarities Alexander Lyaletski1, Konstantine Verchinine2 , Anatoli Degtyarev3 , and Andrey Paskevich1 Cybernetics Department, Taras Shevchenko Kyiv National University, Ukraine tel.: +38 (044) 266 3108, e-mails: [email protected], [email protected]

1

2 Math-Info Department, Paris 12 University, France tel.: +33 (6) 851 291 2022, e-mail: [email protected] 3

Department of Computer Science, University of Liverpool, United Kingdom tel.: +44 151 794 6792, e-mail: [email protected]

Abstract. In this paper? a state of the art of a system of automated deduction

called SAD is described . An architecture of SAD corresponds well to a modern vision of the Evidence Algorithm programme, initiated by Academician V.Glushkov. The system is intended for accumulating mathematical knowledge and using it in a regular and ecient manner for processing a self-contained mathematical text in order to prove a given statement that always is considered as a part of the text. Two peculiarities are inherent in SAD: (a) mathematical texts under consideration are formalized with the help of a speci c formal language, which is close to a natural language used in mathematical publications; (b) proof search is based on a speci c sequent-type calculus which gives a possibility to formalize \natural reasoning style". The language may be used as a tool to write and verify mathematical papers, theorems, and formal speci cations, to perform model checking, and so on. The calculus is oriented to constructing some natural proof search techniques such as de nition and auxiliary proposition applications.

Keywords: Automated Theorem Proving, Calculus, Completeness, Deduction, First Order Logic, Formal Language, Sequent, Validity ?

Partially supported by INTAS 2000-447.

2

A.Lyaletski, K.Verchinine, A.Degtyarev, and A. Paskevich

1 Introduction

In this paper some linguistic and deductive peculiarities of System of Automated Deduction (SAD) constructing now are described. These peculiarities satisfy well to the main principles of the realization of the Evidence Algorithm, or EA. The Evidence Algorithm was advanced by Academician V.Glushkov as a programme of investigations in automated theorem proving. Its main objective was to help to working mathematicians in mathematical text processing, i.e. in computer-aided constructing and verifying long, but in some sense \evident" proofs. That is why V. Glushkov proposed to explore simultaneously: formalized languages for presenting mathematical texts in the form most appropriate for a user, a formal notion of evolutionary developing computermade proof step, EA information environment that has in uence on the evidence of a proof step, and man-assisted search for a proof. An idea underlying SAD corresponds well to the contemporary trends of computer mathematical services construction. In this connection, we must pay your attention to the following. A speci c feature of SAD is that proof search of a theorem T under consideration is done in a framework of a self-contained mathematical text Txt written in a formal language close to a natural language used in mathematical papers. The term \Txt is a self-contained text (w.r.t. T)" denotes that Txt contains all the necessary for proving T. So, such a language should have a formalized syntax and semantics. It should permit the formulation of theory axioms, lemmas, theorems and proofs along with de nitions in order to provide self-contained texts. Accordingly, the thesaurus of the language should be separated from its grammar in order to be extendible. Besides, the language should be close to the natural ones used in mathematical papers (this provides a user-friendly interface for creating a text or processing it in an interactive mode). According to EA, the core of a mathematical text processing technique is a so-called \evidence routine" that establishes the evidence of a proven (veri ed) step in terms of some deductive formalism, which should permit: to preserve a structure of an initial problem; to search for an inference in the signature of an initial theory; to reduce a \goal" under consideration to a number of new auxiliary \subgoals"; to separate a deductive process from nding solutions for "equations" (for systems of "equations"); to use a speci c equality handling technique; to build-in human-like methods of theorem proving such that, for example, de nition and auxiliary proposition applications; to organize a

exible interactive search mode. To achieve the above, various tools enforcing the \evidence routine" should be provided: search for auxiliary information, use of analytical transformations, application of a proof technique usual for a man, and so on. It is clear that rst of all, both the tools and the \evidence routine" should be able to exchange data using a certain formalized language (languages). That is why this paper re ects a current state of investigations relating to the questions of linguistic and deductive support of SAD in accordance with the EA programme.

System of Automated Deduction (SAD)

2 Linguistic Tools

3

A number of languages has been constructed for EA (see, for example, [1, 2]). By now, ForTheL (FORmal THEory Language) [3] is the last representative of this languages family. The main objective of the construction of ForTheL is to provide an initial environment for the evolutionary development of the \evidence routine" and to enforce proving tools of SAD depending on a problem to be solved and a mathematical text to be processed. Thus, ForTheL may be used as a tool to write and verify mathematical publications and formal speci cations. Also, it may be used as a universal interface of declarative mathematical knowledge bases and as a tool for the integration of computer mathematical systems. Basically, a ForTheL-text can be viewed as a collection of phrases possessed of some structure that provides certain \navigation rules" in the text. Therefore, we can distinguish two components of the language, which are, in some sense, orthogonal to each other. The rst one concerns ForTheL-phrases only, and the second one de nes the composition rules of a whole ForTheL- text { phrase grouping, section naming, etc. The component concerning ForTheL-phrases is an extension of the rst-order language by certain natural expressions. This allows to write ForTheL-phrases as phrases of a human- like language. In particular, the key features of the language are so-called concepts that represent classes of objects and are written as nouns. Phrases in the ForTheL-text are grouped in sections such as axioms, theorems, de nitions and so on. Note, that the language allows to de ne new constructions (concepts, predicates, functions)directly in a ForTheL-text under consideration. According to a current approach, the processing of a mathematical text in the EAstyle is made by the following scheme. First of all, a text to be processed, should be written as a ForTheL-text. Then, the ForTheL-text must be automatically translated into a so-called ForTheL1-text. Any ForTheL1-text consists of sentences that, on the one hand, are analogs of 1st-order logic formulas, and, on the other hand, preserve a signature of an original ForTheL-text, its syntax and structure, i.e. partitioning into sections such as de nitions, auxiliary propositions, and a theorem to be proved. After transforming a ForTheL-text into its ForTheL1representation, the construction of a ForTheL1-environment for proof search procedures must be made. In the frame of this ForTheL1-environment, a user formulates some problem to be solve: for example, to prove a selected theorem. After this, the \evidence routine" begins to work. Since the information environment preserves a signature of an initial ForTheLtext and natural-type proof methods may be used by the "routine", the user has a possibility to control a search process. At present, some units of such a \chain" of transformations already are constructed: a translator from ForTheL to ForTheL1 and a proving system for rst-order logic are implemented. Units providing a proof representation, an interactive search, and a control of the information environment are under development now. Let us give an example of a correct ForTheL-text, which deals with some elementary notions of the non-standard analysis taken from [4]. We omit de nitions which are not

4

A.Lyaletski, K.Verchinine, A.Degtyarev, and A. Paskevich

necessary for the proof of a given theorem. We just note that nst[A] represents a set A in a non-standard universe  U, and a predicate \x is close to y" arms that a point x from  U is close to a point y from the standard universe. If set _ A is a subset of the set _ B then nst[A] is a subset of nst[B]. Definition 1. A is a subset of B iff all elements of the set _ A belong to the set _ B. Definition 2. M is closed iff for all t if some element of nst [M] is close to t then t belongs to the set_M. Definition 3. M is compact iff every element of nst[M] is close to some element of the set _ M. Theorem 1. Closed subset of a compact set is compact.

(In ForTheL, the underscore symbol declares a variable following it.) For the above ForTheL-text, the translator generates the Following ForTheL1-text. Note that there are new variables in it of the form i). These variables are implicitly introduced by the quantifying words \some", \every", \all". FORALL A (set[A] THEN FORALL B (set[B] THEN (subset[A, B] THEN subset[nst[A], nst[B]]))). DEFINITION 1. FORALL A (set[A] THEN FORALL B (set[B] THEN (subset[A, B] IFF FORALL _1 (in[_1, A] THEN in[_1, B])))). DEFINITION 2. FORALL M (set[M] THEN (closed[M] IFF FORALL t (EXISTS _2 (in[_2, nst[M]] AND close[_2, t]) THEN in[t, M]))). DEFINITION 3. FORALL M (set[M] THEN (compact[M] IFF FORALL _3 (in[_3, nst[M]] THEN EXISTS _4 (in[_4, M] AND close[_3, _4])))). THEOREM 1. FORALL _6 ((set[_6] AND compact[_6]) THEN FORALL _5 ((subset[_5, _6] AND closed[_5]) THEN compact[_5])).

3 A Deductive Technique Deduction in EA-style requires a special sequent formalism using a proof environment constructed on the base of a ForTheL1-text containing de nitions, auxiliary propositions, and a theorem to be proven. Here we note that the rst paper on an EA-style heuristic procedure for theorem proof search in Group Theory appeared in 1966 [5]. In that paper an attempt was done to make allowance on a formal level for some proof search methods used in mathematical papers. Then that formal technique was extended to certain fragments of the Set Theory. Its nal completion appeared as a speci c calculus [6], which

System of Automated Deduction (SAD)

5

was meant for ascertaining the validity of 1st-order classical logic formulas. Its further development gave arise to the rst representative [7] of an EA- style family of a-sequent calculi, which later was "extended" to a number of a-sequent calculi (see, for example, [8, 9]). That is why a deductive technique of SAD is based on a subsequent modi cation of the formalism.

3.1 A Goal-Driven Calculus of E-Sequents By now, an original prover using a computer-oriented modi cation of the a-sequent formalism has been constructed and has been implemented. The prover handles ForTheL1sections, which can be treated as 1st-order logical formulas. It bases on a special calculus GD, which is the modi cation of a calculus gS from [8], has some changes in comparison with it, and re ects the main approach to the construction of the prover. Note that a basic object of GD is an e-sequent. The most important changes in the modi cation concern quanti ers rules and handling the premises of e-sequents. In comparison with gS, the initial set of premises stays the same during the whole inference search. So, new premises cannot be added to an esequent in GD, though a set of equations is changed every time, when auxiliary goal rule applications are made. As to quanti er rules, we must note that to avoid the irrelevant duplications of premises, which are observed in gS, a special technique of bound variables processing is developed. To do this modi cation self-contained enough and independent from [8], here we introduce all the necessary notions. PRELIMINARIES. We consider classical rst-order logic with the universal and exis-

tential quanti ers and with the propositional connectives of implication (), disjunction (_), conjunction (^), and negation (:). Atomic formulas are denoted below by A, B , C , or D, literals are denoted by L or M , formulas are denoted by F , G, P , or Q. All the letters can be subscripted. The expression F : denotes the result of one-step carrying of the negation into a formula F . We de ne positive (P bF + c) and negative (P bF ? c) occurences of a formula F in a formula P in an usual manner. Everywhere below W denotes a set of rst-order formulas. We assume that no two quanti ers in formulas from W contain the same variable and treat free variables in formulas from W as constants. Thus, it may be considered, without loss of generality, that all variables in W are bound. Also, we assume that the notion of the scope of a quanti er is known to a reader. A variable v is said to be unknown w.r.t. W if there exists a formula P 2 W such that P b(8vF )+ c or P b(9vF )? c holds. Correspondingly, v is said to be xed w.r.t. W if there exists P 2 W such that P b(8vF )? c or P b(9vF )+ c holds. Obviously, all variables in formulas from W are either unknown or xed (are \dummies" and \parameters" in the terminology of [10]).

6

A.Lyaletski, K.Verchinine, A.Degtyarev, and A. Paskevich

A set W of formulas induces an antisymmetric relation W on the bound variables from W by the following: u W w holds if and only if, for some formula F from W , a quanti er from F containing w occurs in the scope of a quanti er from F containing u. For every variable v from W , we introduce a countable set of new variables of the form k v, where k = 0; 1; 2; : : : These new variables will be called indexed. For every expression U , an expression k U denotes the result of substitution of k v for every unindexed variable v in U . An indexed variable k v is de ned to be unknown ( xed) w.r.t. W if and only if the corresponding variable v is unknown ( xed) w.r.t. W . Further, we extend the relation W to indexed variables and de ne that k u W k w holds if and only if u W w. We treat the notion of a substitution as in [11]. Any substitution component is considered to be of a form t=x, where x is a variable (denominator), and t is a term (numerator) of a substitution. Also, we assume that a reader is familiar with the notion of the common uni er of sets of expressions. Let  be a substitution and t=u 2 , where u is an unknown variable w.r.t. W , and let the term t contain a variable w xed w.r.t. W . In this case we de ne w W  u. Obviously, the relation W is antisymmetric.  A substitution s is said to be admissible for a set W of formulas if and only if (i) denominators of  are unknown variables w.r.t. W , and (ii) the transitive closure of W [ W is an antisymmetric relation. Remark. It may be checked that the above admissible substitution notion is equivalent to the one from [12] (also, see [8]). A pasting substitution for a set W of formulas is a substitution , which satis es the following condition: every its component has the form m v=k v , and for every variable u W v it is true that m u=k u 2 . An equation is a pair of terms s; t, written as s  t. Assume L is a literal of the form R(t1 ; : : :; tn) (:R(t1 ; : : :; tn)) and M is a literal of the form R(s1 ; : : :; sn) (:R(s1 ; : : :; sn)), where R is a predicate symbol. Then  (L; M ) denotes the set of equations ft1  s1 ; : : :; tn  sn g. In this case L and M are said to be equal modulo  (L; M ). THE CALCULUS GD. The basic object of a goal-driven calculus GD under consideration

is an e-sequent, which may be considered as a special generalization of the standard notion of sequents and is closely connected with the notion of a-sequents from [8]. An e-sequent is an expression of the form ? ! ; [] hE i, where ? and  are sequences of formulas,  is a sequence of literals, and E is a set of equations. The formulas from ? are called premises, the formulas from  are called goals, and the literals from  are called framed literals. Here we consider e-sequents containing only one goal. We assume also that all variables occuring in , , and E are indexed, and all variables occurring in ? are unindexed. Axioms of the calculus GD are e-sequents of the form ? ! #; [] hE i. Inference Rules. The calculus GD contains the following inference rules:

7

System of Automated Deduction (SAD)

Goal-Splitting Rules (GS):

? ! F  G; [] hE i ? ! G; [] hE i ? ! F _ G; [] hE i (! _)1: ? ! G; [] hE i F ^ G; [] hE i (! ^): ? ! F; ?[! ] hE i ? ! G; [] hE i

(! )1 :

(! 8):

? ! 8 k v F; [] hE i ? ! F; [] hE i

Auxiliary-Goal Rule (AG): Termination Rule 1 (T1): Termination Rule 2 (T2):

(! )2 : ? ?!!F :F;G;[[]h]EhEi i

F _ G; [] hE i (! _)2 : ? ?!! F; [] hE i (! :):

? ! :F; [] hE i ? ! F : ; [] hE i

(! 9):

? ! 9 k v F; [] hE i ? ! F; [] hE i

?1 ; F bM +c; ?2 ! L; [] hE i ?1 ; F; ?2 ! l (:F ); [L; ] hE [  (L; l M )i ?1; M; ?2 ! L; [] hE i ?1; M; ?2 ! #; [] hE [  (L; l M )i ? ! L; [1; M; 2] hE i e M )i ? ! #; [1; M; 2] hE [  (L;

In AG the formula F is not a literal. (So, T1 is necessary for completeness of GD.) In AG and T1 the literals L and l M are equal modulo  (L; l M ), where the index l is a e M ), where L e denotes a new index. In T2 the literals Le and M are equal modulo  (L; 0 0 literal L , if L is :L , and Le denotes :L otherwise. L.) Let P1 ; : : :; Pn ! G be an usual sequent, where P1; : : :; Pn; G are formulas that do not contain indexed variables. An initial e-sequent, induced by this sequent, is called the expession of the form P1 ; : : :; Pn; :G ! 0G; [ ] h i. When a proof of an initial e-sequent S is searching, an inference tree Tr w.r.t. S is constructed. At the beginning of searching Tr contains only S . The subsequent nodes are generated by means of rules of GD. Inference tree grows \from top to bottom" in accordance with the order of inference rule applications. An inference tree Tr is considered to be a proof tree w.r.t. S if and only if the following conditions are satis ed: (i) every leaf of Tr is an axiom, (ii) if E is a union of sets of equations from of all the leaves of Tr, then there exist a pasting substitution  and a substitution  such that  is a common uni er of all the equations from E, where E denotes the result of the application of  to all the terms from E , and (iii)  is admissible for the set of premises of S . Whenever the AG rule is applied to some e-sequent with a literal goal L, we x some positive occurrence of that literal (modulo equations) in some premise F and put the formula l (:F ) in the goal of the derived e-sequent, preserving this xed occurrence of L.

8

A.Lyaletski, K.Verchinine, A.Degtyarev, and A. Paskevich

I.e. we require that any subsequent application of (! ) and (! _) preserves the xed occurrence. Proposition1. Let P1; : : :; Pn be a consistent set of formulas and G be a formula. The sequent P1; : : :; Pn ! G is deducible in Gentzen's calculus LK [13] if and only if there exists a proof tree w.r.t. the initiale-sequent P1; : : :; Pn; :G ! 0 G; [ ] h i in the calculus GD.

Proof. A proof of this proposition may be obtained by extending a proof of the soundness and completeness of a calculus GD-2 [14] to the case of 1st order logic, taking into account peculiarities of admissible substitutions pointed in [12]. Proposition2. A formula G is valid if and only if there is exists a proof tree w.r.t. the initial e-sequent :G ! 0G; [ ] h i in the calculus GD. Proof. It follows from the completeness of LK and Prop. 1.

3.2 Deduction in a ForTheL1-environment We remind that after translation of a ForTheL-text to be processed into a correspondent ForThel1-text an assertion T to be proved is represented as a substantive ForTheL1section \theorem", in which conditions Txt (including assumptions, de nitions and auxiliary propositions) and a conclusion are separated, and an initial e-sequent (with respect to Txt and T ) is constructed with Txt and T in its antecedent and succedent respectively. It was noted above that any ForTheL1-sentence can be treated as an analog of some 1storder classical logic formula. It enables to construct formula patterns of such units of a ForTheL1-text as the theorem to be proved, a de nition, and an auxiliary proposition and to treat a self-contained ForTheL1-text as a set of 1st-order formulas. So, it is possible to understand unambiguously such terms as \ForTheL1-text consistency", \logical consequence of a theorem from a given ForTheL1-text", and \validity" (of the theorem to be proved) without special de ning the semantics of the ForTheL1-language. With this in mind, we state main results about GD as follows. Corollary3. A ForTheL1-theorem T is a logical consequence of a consistent ForTheL1text Txt (which does not include T ) if and only if a proof tree (with an initial sequent w.r.t. T and Txt) can be constructed in the calculus GD. Corollary4. A ForTheL1-theorem T is valid if and only if a proof tree (with an initial sequent w.r.t. T only) can be constructed in the calculus GD. We note, as a side-result, that rather rich collection of rules in GD enables to construct various proof search strategies, which re ect proofs constructions from usual mathematical texts and allow a user to in uence a proof process actively, when an interactive mode of proof search is used. If these strategies (with or without participation of a human) ensure an exhaustive search, then corollaries 1 and 2 guarantee the soundness and completeness of a strategy under consideration.

System of Automated Deduction (SAD)

4 Related Work

9

There exists a number of projects and systems now which have intersections with the EA programme or which are close to it in ideas. Below, we give only a brief remark on such projects and systems. The project MIZAR [15] is the most close to the EA programme. The objective of that project is the development of computer systems for mathematical texts processing. The collection of mathematical languages, which are convenient both for mathematicians and computer processing forms the basis of a particular MIZAR system. The foundation of a MIZAR mathematical language is the language of classical 1st-order logic. The correctness of a mathematical text can be checked by the system. The main objective of the THEOREMA project [16] is to develop an integrate environment (both logical techniques and program tools) for solving mathematical problems (including numeric computations, algebraic transformations, and theorem proving). THEOREMA is designed to o er such an environment for a mathematician which enables to pass through the whole cycle of problem solving process. The nal objective of the QED project [17] is the development of an integrate distributed computer environment containing the totality of important and valid mathematical knowledge. The system OMEGA [18] is developed in order to support theorem proving in mathematics and mathematical education. The system includes a proof planner and an integrated collection of tools for the forming of subproblems, searching for proofs for subproblems, and representing proofs. Both well-known general-purpose theorem provers and a computer algebra system are integrated into OMEGA as external units. The system ISABELLE [19] is used as a tool for creating environment for interactive theorem proving. A mathematical knowledge base that includes the library of concrete mathematics and various packages for advanced mathematical concepts is exploited. The system supports the kind of proving usual for mathematicians by reasoning in the terms of a given application domain. A number of the above and some other projects, systems, and groups (for example, the DReaM group, Mechanized Reasoning Group, CAAR group, etc.) are the members of the CALCULEMUS project [20] interested in the integration of the deductive and computational power of both deduction systems and computer algebra systems.

5 Conclusion The linguistic and deductive peculiarities of SAD show that SAD has a speci c technique of mathematical text processing, which takes into account expressive features of ForTheL as well as the "fashion" of logical inference search. The language ForTheL can be used as a tool to write and verify mathematical papers and formal speci cations, to perform model checking and so on. It also can be used both the universal interface for declarative mathematical knowledge bases and a tool for the integration of computer mathematical services.

10

A.Lyaletski, K.Verchinine, A.Degtyarev, and A. Paskevich

As for the deductive technique of SAD, the calculus GD can serve as a good base for the further development of EA-style theorem proving in the direction of the eciency improvement by means of formalizing some natural proof search methods such as, for example, de nition and auxiliary proposition applications. In this connection, the authors hope for that results obtained in the frame of investigations on SAD can be helpful in attacking the following problems : distributed automated theorem proving, checking self-contained mathematical texts for correctness, remote training in the mathematicaldisciplines, extracting knowledge from mathematical papers, and constructing knowledge bases for mathematical theories.

References

1. Glushkov, V., Kostyrko, V., Letichevski, A., Anufriyev, F., Asel'derov, Z. : On a language for description of formal theories (in Russian). In: Teoreticheskaya kibernetika 3 (1970). 2. Glushkov, V., Vershinin, K., et al. : On a formal language for description of mathematical texts (in Russian). In: Avtomatizatsiya poiska dokazatel'stv teorem v matematike. Institute of Cybernetics, Kiev (1974) 3{36. 3. Vershinin, K., Paskevich, A. : ForTheL | the language of formal theories. IJ Information Theories and Applications 7-3 (2000) 121{127. 4. Davis, M. : Applied non-standard analysis (Translated from English). Mir, Moskva (1980). 5. Anufriyev, F., Fediurko, V., Letichevski, A., Asel'derov, Z., Didukh, I. : On one algorithm of theorem proof search in Group Theory (in Russian). Kibernetika 1 (1966) 23{29. 6. Anufriyev, F. : An algorithm of theorem proof search in logical calculi (in Russian). In: Teoriya avtomatov 1. Institute of Cybernetics, Kiev (1969). 7. Degtyarev, A., Lyaletski, A. : Logical inference in SAD (in Russian). In: Matematicheskiye osnovy sistem iskusstvennogo intellekta. Institute of Cybernetics, Kiev (1981). 8. Degtyarev, A., Lyaletski, A., Morokhovets, M. : Evidence Algorithm and Sequent Logical Inference Search. In: LNAI 1705 (1999) 44{61. 9. Degtyarev, A., Lyaletski, A., Morokhovets, M. : On the EA-style integrated processing of self-contained mathematical texts. Proc. of the Intern. Workshop CALCULEMUS'2000, Great Britain (2000). 10. Kanger, S. : Simpli ed proof method for elementary logic. In: Comp. Program. and Form. Sys.: Stud. in Logic. North-Holl., Publ. Co. (1963). 11. Robinson, J. : A machine-oriented logic based on resolution principle. In: J. of the ACM (1965) 23{41. 12. Lyaletski, A. : Gentzen calculi and admissible substitutions. In: Actes preliminaries, du Simposium Franco-Sovetique "Informatika-91". Grenoble, France (1991) 99{111. 13. Gentzen, G. : Untersuchungen uber das Logische Schliessen. Math. Zeit. 39 (1934) 176{210. 14. Lyaletski, A., Paskevich, A. : Goal-Driven Inference Search in Classical Propositional Logic. In: Proc. of the Inter. Workshop STRATEGIES'2001. Siena, Italy (2001). 15. http://mizar.org/ 16. Buchberger, B., Jebelean, T., Kriftner, F., Marin, M., Tomuta, E., Vasaru, D. : A survey of the Theorema project. Proc. of ISSAC'97. Maui, Hawaii (1997) 384{391. 17. http://www.mcs.anl.gov/qed/ 18. http://www.ags.uni-sb.de/~omega/ 19. http://www.cl.cam.ac.uk/Research/HVG/Isabelle/ 20. http://www.mathweb.org/calculemus/

Suggest Documents