agum: Unification and Matching in an Abelian Group

[ algebra, library, program ] [ Propose Tags ]

The unification problem is given the problem statement t =? t', find a most general substitution s such that s(t) = s(t') modulo the axioms of an Abelian group. The matching problem is to find a most general substitution s such that s(t) = t' modulo the axioms. Substitition s is more general than s' if there is a substitition s" such that s' = s" o s.

[Skip to Readme]
Versions [RSS] [faq] 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8
Change log ChangeLog
Dependencies base (>=3 && <5), containers [details]
License LicenseRef-GPL
Category Algebra
Uploaded by JohnRamsdell at 2010-06-21T15:47:38Z
Distributions NixOS:2.8
Executables agum
Downloads 7928 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees


Readme for agum-2.3

[back to package description]
This package contains a library for unification and matching in
an Abelian group and a program that exercises the library.

$ agum
Abelian group unification and matching -- :? for help
agum> 2x+y=3z
Problem:   2x + y = 3z
Unifier:   [x : g0,y : -2g0 + 3g2,z : g2]
Matcher:   [x : g0,y : -2g0 + 3z]

agum> 2x=x+y
Problem:   2x = x + y
Unifier:   [x : g1,y : g1]
Matcher:   no solution

agum> 64x-41y=a
Problem:   64x - 41y = a
Unifier:   [a : 64g1 - 41g2,x : g1,y : g2]
Matcher:   [x : -16a - 41g6,y : -25a - 64g6]

agum> :quit