HiLog
From Wikipedia, the free encyclopedia
HiLog is a programming logic with higher-order syntax, which allows arbitrary terms to appear in predicate and function positions.[1] However, the model theory of HiLog is first-order. Although syntactically HiLog strictly extends first order logic, HiLog can be embedded into this logic.
HiLog was first described in 1989.[2] It was later extended in the direction of many-sorted logic.[3]
The XSB system parses HiLog syntax, but the integration of HiLog into XSB is only partial. In particular, HiLog is not integrated with the XSB module system. A full implementation of HiLog is available in the Flora-2 system.
It has been shown that HiLog can be embedded into first-order logic through a fairly simple transformation.[1] For instance, p(X)(Y,Z(V)(W)) gets embedded as the following first-order term: apply(p(X),Y,apply(apply(Z,V),W)).[1]
The Framework for Logic-Based Dialects (RIF-FLD) of the Rule Interchange Format (RIF) is largely based on the ideas underlying HiLog and F-logic.[4]