A Universal Machine for Biform Theory Graphs
Michael Kohlhase Felix Mance Florian Rabe
Computer Science, Jacobs University Bremen
Calculemus, CICM, July 2013
1
A Universal Machine for Biform Theory Graphs Michael Kohlhase Felix - - PowerPoint PPT Presentation
A Universal Machine for Biform Theory Graphs Michael Kohlhase Felix Mance Florian Rabe Computer Science, Jacobs University Bremen Calculemus, CICM, July 2013 1 Mathematical Knowledge Representation Three aspects of mechanized
1
2
◮ declarative representation languages ◮ deduction systems ◮ computer algebra systems
3
4
5
6
7
8
◮ have few primitives ◮ permit rich structure of conservative extensions
◮ be as weak as possible ◮ avoid commitment
9
10
11
◮ declarative representations of interrelated languages ◮ explicit modular meta-theories
◮ choose meta-theory flexible ◮ move representations across meta-theories
◮ logical frameworks like LF, Isabelle
◮ OMDoc/OpenMath
12
13
14
◮ maintains set of computation rules ◮ provides service for exhaustive rule application
◮ takes any OMA(OMS(s), arg1, . . . , argn) ◮ returns some other object
◮ OMA(OMS(plus), OMI(2), OMI(3), OMV (x)))
◮ OMA(OMS(integral), f )
◮ OMA(OMS(◦), OMV (x), OMS(e))
15
◮ hand-written
◮ normalization rules of type checker
◮ generated from declarative specification
◮ exported from deductive system
◮ wrapper for external computational system
◮ maintains sources of rules ◮ determines applicable rules 16
◮ meta-theory: OpenMath ◮ specifications: OpenMath standard CDs
◮ meta-theory: Scala ◮ refinements: implementations of the CDs
17
◮ refer to previously defined functions ◮ use intuitive constructors+pattern matchers
◮ theories (i.e., CDs) become abstract classes ◮ theory inclusion becomes class extension ◮ theory morphisms between CDs become functors
20
◮ programming language
◮ primitive concepts of
21
◮ for operations: just pushout ◮ for axioms: generate unit tests
22
23