Category-based modularisation for equational logic programming (Q1901708): Difference between revisions
From MaRDI portal
Latest revision as of 17:05, 23 May 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Category-based modularisation for equational logic programming |
scientific article |
Statements
Category-based modularisation for equational logic programming (English)
0 references
19 November 1995
0 references
Although modularisation is basic to modern computing, it has been little studied for logic-based programming. We treat modularisation for equational logic programming using the institution of category-based equational logic in three different ways: (1) to provide a generic satisfaction condition for equational logics; (2) to give a category-based semantics for queries and their solutions; and (3) as an abstract definition of compilation from one (equational) logic programming language to another. Regarding (2), we study soundness and completeness for equational logic programming queries and their solutions. This can be understood as ordinary soundness and completeness in a suitable ``non-logical'' institution. Soundness holds for all module imports, but completeness only holds for conservative module imports. Category-based equational signatures are seen as modules, and morphisms of such signatures as module imports. Regarding (3), completeness corresponds to compiler correctness. The results of this research applies to languages based on wide class of equational logic systems, including Horn clause logic, with or without equality; all variant of order and many sorted equational logic, including working modulo a set of axioms; constraint logic programming over arbitrary user-defined data types; and any combination of the above. Most importantly, due to the abstraction level, this research gives the possibility to have semantics and to study modularisation for equational logic programming developed over non-conventional structures.
0 references
modularisation
0 references
logic-based programming
0 references
category-based equational logic
0 references
category-based semantics
0 references
soundness
0 references
completeness
0 references
compiler correctness
0 references