unification 0.1.14 copy "unification: ^0.1.14" to clipboard
unification: ^0.1.14 copied to clipboard

outdated

An implementation of logical first-order unification for logic programming in dart.

example/main.dart

import 'package:unification/unification.dart';

void main() {
  // 1.

  //
  Termtype<String, Id> term1 = Term(Id(1, 1), [
    Var(
      Id(1, 2),
    ),
    Var(
      Id(1, 2),
    ),
  ]);
  //
  Termtype<String, Id> term2 = Term(Id(2, 1), [
    Var(
      Id(2, 2),
    ),
    Term(Id(2, 3), [
      Var(
        Id(2, 2),
      ),
    ]),
  ]);
  print('Occurs Check: Circularity.');
  var u = UnificationR<String, Id>();
  var mgu = u.unify(term1, term2, []);
  var unifiedTerm1 = u.subsitute(mgu, term1);
  var unifiedTerm2 = u.subsitute(mgu, term2);
  print('mgu      > ' + mgu.toString());
  print('term 1   > ' + unifiedTerm1.toString());
  print('term 2   > ' + unifiedTerm2.toString());
}
1
likes
35
pub points
0%
popularity

Publisher

verified publisherwelopment.com

An implementation of logical first-order unification for logic programming in dart.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

tailcalls, unify

More

Packages that depend on unification