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]


[Last Documentation]

  • Algebra
    • AbelianGroup
      • Algebra.AbelianGroup.IntLinEq
      • Algebra.AbelianGroup.UnificationMatching


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 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 (>=4.13 && <5), containers (>=0.3) [details]
License LicenseRef-GPL
Category Algebra
Source repo head: git clone git://
Uploaded by JohnRamsdell at 2019-10-17T16:45:32Z
Distributions NixOS:2.8
Reverse Dependencies 1 direct, 0 indirect [details]
Executables agum
Downloads 8387 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2019-10-17 [all 3 reports]

Readme for agum-2.8

[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