Hoot.grm

//  FILE. . . . . d:/hak/hlt/src/hlt/osf/hoot/sources/Hoot.grm
//  EDIT BY . . . Hassan Ait-Kaci
//  ON MACHINE. . Hak-Laptop
//  STARTED ON. . Mon May  6 07:29:55 2019



Copyright:  © by the author
Author:  Hassan Aït-Kaci
Version:  Last modified on Wed Aug 07 15:31:11 2019 by hak





This is HOOT, a language defining a simple OSF constraint language. See the source files, which follow the main lines of the basic specification.

It adapts previous versions consisting of a bare-bone syntax and adds a syntactic operational semantics consisting of keeping order-sorted feature (OSF) terms in a well-defined normal form — also known as ψ-terms — implementing 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 for the inheritance ordering on ψ-terms.

The latter provide basic KR reasoning functionality with ψ-term unification (returning the greatest lower bound of two terms) implementing conjunction for deductive querying, and generalization (least upper bound of two terms) implementing non-modular (and therefore non-distributive) disjunction for inductive learning, as well as all the necessary inferential normalizations. Supported in this version:

  • built-in constants (paired with their types);
  • object and set types;
  • "Strict/Permissive" feature mode;
  • classification by transitive closure, feature propagation and consistency checking, and feature-aware normalization;
  • RDF XML serialization consistent with the one described in the basic specification.
This is still basic HOOT. Features that are not yet supported:
  • consistent syntax for TBox, ABox, and QBox processing;
  • modular URI-based TBox, ABox, and QBox processing;
  • a SPARQL interface;
  • Horn and functional rules, residuation, lazy inheritance, DataLog interface etc.

Thus, this version of HOOT is meant to be the last 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. We hope to build on this basis to add all these further emendments and extensions in coming HOOT versions.




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



Import the grammar file HootGrammar.grm



%include HootGrammar.grm

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


This file was generated on Wed Oct 09 17:17:20 PDT 2019 from file Hoot.grm
by the hlt.language.tools.Hilite Java tool written by Hassan Aït-Kaci