package models.algebra; import java.util.HashMap; public abstract class Expression implements Cloneable { public abstract HashMap<Position, Variable> getVariables(); public abstract Expression getSubTerm(Position pos); public abstract Expression unify(Expression another); public abstract Expression getInverseMap(Expression outputValue, Position targetPos); public abstract boolean contains(Expression exp); public abstract Object clone(); }