Skip to main content

Module unification

Module unification 

Source
Expand description

Unification module for backward chaining

This module provides variable binding and unification capabilities for pattern matching in backward chaining queries.

§Example

use rust_rule_engine::backward::unification::{Bindings, Unifier};
use rust_rule_engine::backward::expression::Expression;

let mut bindings = Bindings::new();

// Unify variable with value
let var = Expression::Variable("X".to_string());
let val = Expression::Literal(Value::Number(42.0));

Unifier::unify(&var, &val, &mut bindings)?;
assert_eq!(bindings.get("X"), Some(&Value::Number(42.0)));

Structs§

Bindings
Variable bindings during proof
Unifier
Unification algorithm for pattern matching