168,850 research outputs found
The MMT API: A Generic MKM System
The MMT language has been developed as a scalable representation and
interchange language for formal mathematical knowledge. It permits natural
representations of the syntax and semantics of virtually all declarative
languages while making MMT-based MKM services easy to implement. It is
foundationally unconstrained and can be instantiated with specific formal
languages.
The MMT API implements the MMT language along with multiple backends for
persistent storage and frontends for machine and user access. Moreover, it
implements a wide variety of MMT-based knowledge management services. The API
and all services are generic and can be applied to any language represented in
MMT. A plugin interface permits injecting syntactic and semantic idiosyncrasies
of individual formal languages.Comment: Conferences on Intelligent Computer Mathematics (CICM) 2013 The final
publication is available at http://link.springer.com
A Universal Machine for Biform Theory Graphs
Broadly speaking, there are two kinds of semantics-aware assistant systems
for mathematics: proof assistants express the semantic in logic and emphasize
deduction, and computer algebra systems express the semantics in programming
languages and emphasize computation. Combining the complementary strengths of
both approaches while mending their complementary weaknesses has been an
important goal of the mechanized mathematics community for some time. We pick
up on the idea of biform theories and interpret it in the MMTt/OMDoc framework
which introduced the foundations-as-theories approach, and can thus represent
both logics and programming languages as theories. This yields a formal,
modular framework of biform theory graphs which mixes specifications and
implementations sharing the module system and typing information. We present
automated knowledge management work flows that interface to existing
specification/programming tools and enable an OpenMath Machine, that
operationalizes biform theories, evaluating expressions by exhaustively
applying the implementations of the respective operators. We evaluate the new
biform framework by adding implementations to the OpenMath standard content
dictionaries.Comment: Conferences on Intelligent Computer Mathematics, CICM 2013 The final
publication is available at http://link.springer.com
Preface to the volume Languages: Bionspired Approaches
Languages, whether they be natural or artificial, are particular cases of a symbol system. And the manipulation of symbols is the stem of formal language theory. The theory of formal languages mainly originated from mathematics and generative linguistics. It was born in the middle of the 20th century as a tool for modelling and investigating the syntax of natural languages. After 1964, it developed as a separate branch with specific problems, techniques and results and since then it has had an important role in the field of computer science. Formal language theory, due to its abstract and formal properties, has been applied to a wide range of fields (besides initial linguistic motivation): economic modelling, developmental biology, cryptography, sociology... Therefore, natural languages, computer science and formal languages had a mutual influence over the years
System Design as a Creative Mathematical Activity
This paper contributes to the understanding of rational systems design and verification. We give evidence that the rôle of mathematics in development and verification is not limited to useful calculations: Ideally, designing is a creative mathematical activity, which comprises finding a theorem, if necessary strengthening its assumptions until it can be proven. A canonical form of this ‘verification theorem’ is introduced and illustrated with informal and formal examples. Although for good reasons most systems are designed without use of formal methods it may be a source of useful insight to understand all design as an ‘approximation’ of such a mathematical activity. This leads amongst others to a taxonomy of design decisions, and it may help to relate paradigms, theories, methods, languages, and tools from different areas of computer science to each other to make optimal use of them
- …