The Fusemate Logic Programming System (System Description)
Peter Baumgartner

TL;DR
Fusemate is a logic programming system that supports disjunctive logic programs with possible model semantics, integrating Scala for native data types and external system interfacing, demonstrated through embedding description logic.
Contribution
It introduces a new logic programming system with a Scala-based implementation supporting complex semantics and embedding description logic.
Findings
Supports disjunctive logic programs with possible model semantics
Enables native Scala data types and external system integration
Demonstrates embedding of description logic $ ext{ALCIF}$ into Fusemate
Abstract
Fusemate is a logic programming system that implements the possible model semantics for disjunctive logic programs. Its input language is centered around a weak notion of stratification with comprehension and aggregation operators on top of it. Fusemate is implemented as a shallow embedding in the Scala programming language. This enables using Scala data types natively as terms, a tight interface with external systems, and it makes model computation available as an ordinary container data structure constructor. The paper describes the above features and demonstrates them with a non-trivial use-case, the embedding of the description logic into Fusemate's input language This version of the paper corrects an error in the published version, which used an unsuitable version of "blocking" in the embedding.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Semantic Web and Ontologies · Logic, programming, and type systems
