# cmu: Unification in a Commutative Monoid

[ 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 a commutative monoid. Substitition s is more general than s' if there is a substitition s" such that s' = s" o s.

## Modules

• Algebra
• CommutativeMonoid
• Algebra.CommutativeMonoid.LinDiophEq
• Algebra.CommutativeMonoid.Unification

#### Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

• No Candidates
Versions [RSS] 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12 ChangeLog array, base (>=4.13 && <5), containers (>=0.3) [details] LicenseRef-GPL ramsdell@mitre.org Algebra head: git clone git://github.com/ramsdell/cmu.git by JohnRamsdell at 2019-10-17T16:46:14Z NixOS:1.12 1 direct, 0 indirect [details] cmu 10331 total (19 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 cmu-1.12

[back to package description]
This package contains a library for unification in
commutative monoid and a program that exercises the library.

\$ cmu
Commutative monoid unification -- :? for help
cmu> 2x+y=3z
Problem:   2x + y = 3z
Unifier:   [x : g0 + 3g2,y : g0 + 3g1,z : g0 + g1 + 2g2]

cmu> 2x=x+y
Problem:   2x = x + y
Unifier:   [x : g0,y : g0]

cmu> 64x=41y+a
Problem:   64x = a + 41y
Unifier:   [a : 5g0 + 2g1 + 23g2 + g3 + 64g4,x : 2g0 + 9g1 + g2 + 25g3 + g4 + 41g5,y : 3g0 + 14g1 + g2 + 39g3 + 64g5]

cmu> :quit