Category-based modularisation for equational logic programming (Q1901708)

From MaRDI portal
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
    0 references
    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
    0 references
    0 references
    0 references
    0 references
    0 references
    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
    0 references