Mutually Exclusive Modules in Logic Programming
Abstract
Logic programming has traditionally lacked devices for expressing mutually exclusive modules. We address this limitation by adopting choice-conjunctive modules of the form D0 \& D1 where D0, D1 are a conjunction of Horn clauses and \& is a linear logic connective. Solving a goal G using D0 \& D1 -- exec(D0 \& D1,G) -- has the following operational semantics: choose a successful one between exec(D0,G) and exec(D1,G). In other words, if D0 is chosen in the course of solving G, then D1 will be discarded and vice versa. Hence, the class of choice-conjunctive modules can capture the notion of mutually exclusive modules.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.