The agum package

[Tags:gpl, library, program]

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 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
Change log ChangeLog
Dependencies base (>=3 && <5), containers (>=0.3) [details]
License GPL
Category Algebra
Source repository head: git clone git://
Uploaded Mon Apr 27 23:17:28 UTC 2015 by JohnRamsdell
Distributions NixOS:2.6
Downloads 2074 total (71 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2015-04-27 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for agum

Readme for agum-2.6

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