public override bool Equals(Object o) { if (this == o) { return true; } if (!(o is Variable)) { return false; } Variable v = (Variable)o; return v.getValue().Equals(getValue()) && v.getIndexical() == getIndexical(); }