Calculemus Autumn School Approaches On Integration 10/28/02 Sabina Petride 1 MathWeb: Web-Based Math (www.mathweb.org) Goals: Integrate different mechanized reasoning systems (theorem provers, computer algebra systems, model checkers) Have math clients sending different requests in the network and being serviced by the appropiate systems, with correctness guarantee. Multiple problems! Example: the logic used by a client C is “incompatible” with the logic used by the server S. What can be used in the existing network: PVS (automated theorem prover) RDL (rewriting engine) Omega, Lambda-Clam (semiautomated theorem provers) Maple, GAP (computer algebra systems) MBase (math knowledge base) 2 The Logic Broker Architecture (Calculemus ’02, speakers: Alessandro Armando, Corrado Giromini) The Logic Broker Architecture (LBA): MathWeb Clients MathWeb Servers Client1 Broker1 Maple Broker2 Client2 MBase Broker3 Uses KQML (Knowledge Query and Manipulation Language) Language and protocol for exchanging information and knowledge ( agent “polite” communication language) Can do theorem proofs in KQML OpenMath 3 LBA Project More details: C Req: prove(,) subscribe LS matcher LB S register DB 4 Open Math (Calculemus ’02, speaker: Olga Caprotti, Linz Research Institute for Symbolic Computation) (www.openmath.org) Emerging standard for representing mathematical objects with their semantics Strong relantionship with MathML, but… MathML deals principally with the presentation of mathematical objects OpenMath solely concerned with the content of mathematical objects What can we do with OpenMath objects? Display in a browser Exchange between different systems Verify if they are mathematically sound Cut and paste and use them in different contexts 5 OpenMath Architecture Private Layer Program A Program B A representation B representation Phrasebook or A’s CDs Abstract Layer OpenMath obj. OpenMath obj. OM Encoding OM Encoding General Transport Layer Phrasebook or B’s CDs Encoded obj. Encoded obj. XML or binary CD=Content Dictionary 6 Phrasebooks and CDs CDs (Content Dictionaries): assign semantics to OMobjects Public Written in XML according to a DTD of less then 20 lines examples: arith1, calculus1, complex1, fns1, linalg1(2), trans1, logic1… Phrasebooks: interface programs that make the conversion of OMobjects to/from internal representation of math objects in a software application; the application has to declare the CDs it understands There are phrasebooks for Mathematica (developed by INRIA) Maple AXIOM 2.3 GAP 4 7 OpenMath Objects, Encodings and Libraries Basic objects: integers, symbols, variables, floating-point numbers, strings, byte arrays Application(A1, A2 ,… An) Binding(B, v1, …, vn , C) Attribution(A, S1 A1,…, Sn An) Error(S, A1,…, An) where Ai, A, B, C are OMobjects, vi variable, and Si symbol. There are two possible encodings of OMobjects: XML and binary. Available libraries providing API for writing phrasebooks C library (INRIA) Java library (INRIA) (a more detailed version under development) 8 Example A unary operator which represents the absolute value of its argument. The argument should be numerically valued. In the complex case this is often referred to as the modulus. Commented Mathematical property (CMP): for all x,y | abs(x) + abs(y) >= abs(x+y) Formal Mathematical property (FMP): <OMOBJ> <OMBIND> <OMS cd="quant1" name="forall"/> <OMBVAR> <OMV name="x"/> <OMV name="y"/> </OMBVAR> <OMA> 9 Example <OMS cd="relation1" name="geq"/> <OMA> <OMS cd="arith1" name="plus"/> <OMA> <OMS cd="arith1" name="abs"/> <OMV name="x"/> <OMV name="y"/> </OMA> <OMA> <OMS cd="arith1" name="abs"/> <OMV name="x"/> <OMV name="y"/> </OMA> </OMA> <OMA> …. 10 Possible Scenarios A multiple integrator Problem: given a function f, compute a closed form integral of f Suggestion: send the request to different systems (AXIOM, Maple) using OpenMath Why better? Tehnical conversations You don’t have to rewrite f before submitting; this is done by the specific phrasebooks Get multiple answers and compare them Should be able to cut some math object from one context and paste it in another context. Math databases 11 MBase (Calculemus ’02, speaker: Michael Kohlhase, Carnegie Mellon University) Web-based, distributed knowledge base of mathematical facts (definitions, theorems, proofs), implemented as a service provided by MathWeb Examples of queries that MBase solves: Search for a/all lemma(s)/theorem(s)/conjecture(s)/corollary(s) with the name N or matching the substring s. Search for a/all theories with the name N or matching string s. The answer consists of links to collections and theory matching the query, plus links to the XML encoding of the OM object represented by the theory; you can also generate a CD of the theory found. Search for occurences of some symbol in some specified CDs, or search for all symbols in some CDs. The demos available at http://mbase.mathweb.org:8080/mbase/ prove that response time is very good. 12 More on MBase Information is stored in the OMDoc format (a standard for Open Mathematical Documents) Nov.1 2000 OMDoc 1.0 released Queries supported: SQL-like queries based on the structure of OMDoc Queries that match formulae under a given equality theory Queries with meta variables What has been entered in the databse? Ex: if we have int f(x) dx in the knowledge base, then a query for int f(y) dy should also be found OpenMath CDs Some CDs for logics OMEGA TPS Working on: Induction Challenge Problems 13