public SemiRing mult(SemiRing s2) { if(s2 == zero) return zero; if(s2 == Letter.epsilon) return this; RationalExpr re = (RationalExpr)s2; return new Product(this,re); }
public SemiRing plus(SemiRing s2) { if(s2 == zero) return this; return new Plus(this,(RationalExpr)s2); }
public SemiRing mult(SemiRing s2) { if(s2 == zero) return zero; if(s2 == Letter.epsilon) return this; RationalExpr re = (RationalExpr)s2; return new Product(this,re); }
public SemiRing plus(SemiRing s2) { if(s2 == zero) return this; return new Plus(this,(RationalExpr)s2); }
@Override public SemiRing mult(SemiRing s2) { if(s2 == zero) return zero; if(s2 == RationalExpr.epsilon) return this; RationalExpr re = (RationalExpr)s2; return new Product(this,re); }
@Override public SemiRing plus(SemiRing s2) { if(s2 == zero) return this; return new Plus(this,(RationalExpr)s2); }