OsfV3.grm

// FILE. . . . . /home/hak/hlt/src/hlt/osf/apps/v3/sources/OsfV3.grm
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . Hak-Laptop
// STARTED ON. . Sun Mar 29 16:06:50 2015



This is "OSF Version 3" defining a simple OSF constraint language. It follows the main lines of the basic specification (see also the source files).

Previous versions (up to V2) consisted of a bare-bone syntax and operational semantics for order-sorted feature (OSF) terms—also known as ψ-terms—and basic operations for them. It first focuses on defining a multiple-inheritance concept hierarchy of sort symbols. It implements the machinary for compiling these sorts into binary codes to optimize lattice operations on them.

In this expanded version, we add several fixes, and we clean up and comment the code. We also add more reasoning functionality, implementing ψ-terms unification (for deductive querying) and generalization (for inductive learning), as well as all the necessary inferential normalizations. Also supported in this version:

  • Built-in constants (paired with their types);
  • Set types and object;
  • "Strict/Permissive" feature mode;
  • More consistent RDF XML serialization.
This V3 is basic HOOT. The next version (V4) will, in addition to V3's goodies, also provide:
  • More consistent syntax for TBox, ABox, and QBox processing;
  • Modular URI-based TBox, ABox, and QBox processing;
  • Classification, normalization, and SPARQL interface;
  • Horn and functional rules, residuation, lazy inheritance, DataLog/SPARQL interface etc.

Thus, OSF V3 is meant to be the last verstion of the initial prototype for declaring a sort lattice, implementing binary encoding of sort ordering using bit vectors, evaluation of sort expressions, OSF unification and generalization with featured sorts, values, and sets, and reading and pretty-printing ψ-terms. It also offers interactive pragmas for exploring a sort hierarchy. While the initial versions did not support OSF term unification (up to OSF V1) or generalisation (up to OSF V2), term disjunction nor negation yet (other than on sort symbols), no residuation, no OSF theories, and no monoidal aggregation. Neither did they provide rules (whether logic programming or functional rewriting). We offer some, but not all, of this list in OSF V3. All further emendments and extensions to this version will be implemented in coming HOOT prototypes.

Copyright:  © by the author
Author:  Hassan Aït-Kaci
Version:  Last modified on Fri Jan 18 08:03:20 2019 by hak



/* ************************************************************************ */



Import the grammar file OsfV3Grammar.grm



%include OsfV3Grammar.grm

/* ************************************************************************ */


This file was generated on Fri Aug 16 04:59:19 PDT 2019 from file OsfV3.grm
by the hlt.language.tools.Hilite Java tool written by Hassan Aït-Kaci