Skip to content

Algebras

cteichmann edited this page Jun 24, 2015 · 12 revisions

Algebras

The algebras are the workhorse of the IRTG framework, because they allow the formalism to express relations on all kinds of objects (e.g.: strings, trees, graphs, sets). Different algebras for the same domain can also be used in order to increase the expressive power of the IRTG formalism over that domain. If you are only interested in using the IRTG tool without making any modifications to it, then this section of the wiki is primarily of interest to you for understanding what the different algebras that are already implemented can do. If you want to extend the IRTG tool with additional capabilities, then it will be important to know how to implement your own algebra.

Implemented Algebras

In this section we will explain the main capabilities of all the algebras, for information on how objects in the algebra can be written down, please see the codec page.

String Algebra

This is an algebra over Lists of atomic words (strings). Its constants are all possible strings (there is no explicit set of constants, when the algebra sees a string in the position of a constant, it simply considers it as such). Its only operation is binary concatenation. The lists of strings that form the domain are generally rendered as plain text string i.e. ['a','b','c'] becomes "a b c" in the GUI.

The Algebra Interface and Writing your Own Algebra

Clone this wiki locally