Status report DKS Workshop St. Andrews

Mission statement for the workshop

Knowledge representation in LMFDB

John, Michael + some of his team

Michael:

Comments

Florian

Michael

John

John

John

Knowledge representation in Findstat

Viviane, Florian, Paul

Florian

Michael

Viviane

Paul

Viviane

Viviane

Florian

Viviane

Knowledge representation in GAP

Olexandr, Markus, Steve, …

Steve

Michael

Olexandr

Markus

Michael

Markus

Michael

Markus

Michael

Markus

Olexandr

Olexandr

Markus

Mihnea

Michael: what’s the licensing of all the stuff that you’re exporting I guess that since GAP is probably GPL, the things you’re exporting

Markus: we require GPL2+ licensing for new GAP code; there are bits of GAP like the Small groups library where the license says you’re not allowed to change them.

Michael: the other part is the documentation. Olexandr, Markus: same as GAP. Michael: that is something you want to clarify at some point. It needs to be licensed. Markus: I’ll keep a note of this and I’ll try to clarify this. John: I’ll try to get the LMFDB side settled too.

Mihnea

Dennis

Markus

Markus

Dennis

MMT and Jupyter

Tom

Paul

Tom

Michael

Florian

Markus

Markus

MMT and MathHub (Florian, Michael)

Dennis: speaking of that I just xxx

Knowledge representation in Sage

Explaining Sage categories

Nicolas gave a presentation on Categories/theories in Sage (Nicolas) backed up with a (demo). This was followed by in depth discussions with Florian and Paul toward formalizing them in MMT.

References:

Very early draft of MMT formalisation of Python / Sage category infrastructure (Paul)

Pushed python repository: TODO: add link

Sage-GAP semantic interface

The week before, during the first joint GAP-SageMath days, Nicolas worked on a prototype of generic semantic handle Sage-GAP interface, with the help of many (Markus, Olexandr, Steve, Volker, …). The idea is to generalize the existing wrappers for matrix groups or permutation groups which are monolithic and do not scale to other kind of structures.

Instead, the approach is to enrich the handle h to a GAP object O by retrieving from GAP the mathematical properties of O and exposing them to Sage, so that the handle behave as a native Sage object with those properties.

See: https://github.com/nthiery/sage-gap-semantic-interface/

During this workshop, Nicolas (with support from Paul, Florian, Tom, …), explored how to scale to intefaces between multiple systems using the ideas outlined in Michael’s talk.

See: https://github.com/nthiery/sage-gap-semantic-interface/#scaling-to-multisystem-interfaces

By the end of the workshop, a very crude proof of concept was implemented, using the latest Python bindings for MMT to fetch a tiny bit of information from the MMT specifications of Magmas, and using that to automatically generate a semantic interface with the adapter method mapping the _mul_ method in Sage to the Prod method in GAP.

At this point, we did not use a specification of Magmas in GAP, and instead hardcoded in the Sage annotation the name of the GAP method. Other than this, the infrastructure is generic, so up to debugging it should scale.

Building the Computational Semigroups community

During this workshop and the previous one, Nicolas discussed with the developpers of the GAP Semigroups package. There are good opportunities for collaborations; in fact Nicolas’s main motivation for the Sage-GAP interface is to be able to use the GAP Semigroup package from Sage as a building block for representation-theoretic calculations.

Those discussions led to the creation of a mailing list to better exchange information within the computational semigroup community, across the various computational systems.

Discussions around SCSCP and OpenMath support

Nicolas, Olexandr, Samuel, …

General discussions about the Knowledge first approach

Steve:

Python API for MMT (Tom, with feedback from Nicolas, …)

Python api for mmt: can query mmt from python, can turn the objects you get from mmt into python literals, and possibly in the future Sage objects or GAP objects

Demo (repeating Florian’s elliptic curves demo in MMT)

up here we set a uri or path

```

paths to the elliptic curves

lmfdb_elliptic_curves = path.Path.parse(“http://www.lmfdb.org/”)

TODO: add a link

Misc stuff:

Explaining SageMathCloud, Jupyter, … (Samuel)

MMT and Mathhub tutorial (Florian, Michael)

The idea for this session is to see how knowledge representation in MMT could serve as a generic knowledge backbone for integrating the various systems.

See here to browse the mentioned MMT theories

and here to browse the ODK instance of MathHub

ODK

Debriefing

Michael & all

Nicolas, Michael: let’s all thank the organisers

Michael: seeing things the past two days there seems to be more potential than we thought in the project. Let us start a visiting program. I would like to invite Markus to Bremen for a week or so. It could also be the other way around, that we send Dennis or Mihnea to St Andrews.

############################################################################## ##############################################################################

Tom

Mihnea

Dennis

Olexandr

<