A Bottom-Up Efficient Algorithm Learning Substitutable Languages from Positive Examples | AMiner