Skip to main content

Module prolog

Module prolog 

Source
Expand description

Prolog Syntax Parser

Parses logic expressions from Prolog-like syntax into TensorLogic IR.

§Supported Syntax

  • Facts: mortal(socrates).
  • Rules: mortal(X) :- human(X).
  • Conjunctions: human(X), mortal(X)
  • Disjunctions: human(X) ; mortal(X)
  • Negation: \+ mortal(X) or not(mortal(X))
  • Quantifiers: Implicit universal quantification over variables

§Examples

use tensorlogic_compiler::import::prolog::parse_prolog;

// Simple fact
let expr = parse_prolog("knows(alice, bob).").unwrap();

// Rule with implication
let expr = parse_prolog("mortal(X) :- human(X).").unwrap();

// Conjunction
let expr = parse_prolog("human(X), greek(X).").unwrap();

Functions§

parse_prolog
Parse Prolog syntax into TLExpr