# 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.

## Modules

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

#### Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

• No Candidates
Versions [RSS] 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8 ChangeLog base (>=4.13 && <5), containers (>=0.3) [details] LicenseRef-GPL ramsdell@mitre.org Algebra head: git clone git://github.com/ramsdell/agum.git by JohnRamsdell at 2019-10-17T16:45:32Z NixOS:2.8 1 direct, 0 indirect [details] agum 8387 total (13 in the last 30 days) (no votes yet) [estimated by Bayesian average] λ λ λ Docs not available All reported builds failed as of 2019-10-17

## 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