Can TerminusDB be used to model Prolog Many Worlds?

Can TerminsDB be used to model Prolog Many Worlds?

Back story.

For a recent bit of Prolog code bumped into Prolog Many Worlds, for which I have no real experience. In discussing Many Worlds recalled Retroactive data structure which lead me to thinking about graphs, which lead me to thinking about Git, which lead to thinking about TerminusDB.


TerminusDB was designed with the idea of many worlds in mind conceptually. Queries occur at a given state of the world, and updates are actually transitions to new worlds. You can also create branches, which allows you to have a tree of worlds. It is even possible to do meta-reasoning about the multiverse by looking at multiple worlds simultaneously in a query.

Currently our only merge strategy is rebasing which means that our worlds are always only accessible by a tree like branching. However in the future we will introduce proper merges, in which case the associated Kripke structure will be a DAG (directed acyclic graph).