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 [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 (>=4.13 && <5), containers (>=0.3) [details]
License LicenseRef-GPL
Author
Maintainer ramsdell@mitre.org
Category Algebra
Source repo head: git clone git://github.com/ramsdell/agum.git
Uploaded by JohnRamsdell at Thu Oct 17 16:45:32 UTC 2019
Distributions NixOS:2.8
Executables agum
Downloads 5253 total (291 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-10-17 [all 3 reports]

Modules

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


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