Calculemus Autumn School Approaches On Integration Sabina Petride 1

advertisement
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
Download