(==), (<) and (<=) for FPSymbols

This commit is contained in:
kalmar 2017-05-11 18:22:37 +02:00
parent 6d8f244ee8
commit e2585b5733
1 changed files with 14 additions and 0 deletions

View File

@ -80,6 +80,20 @@ function show(io::IO, s::FPSymbol)
end
end
function (==)(s::FPSymbol, t::FPSymbol)
isone(s) && isone(t) && return true
s.str == t.str || return false
s.pow == t.pow || return false
return true
end
function (<)(s::FPSymbol, t::FPSymbol)
isone(s) && return true
return s.str == t.str && s.pow < t.pow
end
(<=)(s::FPSymbol, t::FPSymbol) = s == t || s < t
function add_rel!{T<:FPSymbol}(G::FPGroup, w::GWord{T})
if !(w in G.rels)
push!(G.rels, w)