public void addEdge(String x, String y, String r){ int e = parseString(r); // System.out.println("AdjMatrix.addEdge r = " + // transTable.toString(e) + "| " + transTable.getIndex(e)); addNode(x); addNode(y); int i = symbolTable.getIndex(x); int j = symbolTable.getIndex(y); Relation relation = new Relation(); relation.i = i; relation.j = j; relation.r = e; // System.out.println("AdjMatrix.addEdge: Relation i = " + i + " j = " + j + // " r = " + e); int s = transTable.intersection(relation.r, matrix[i][j]); if (isProperSubset(s, matrix[i][j])){ relation.r = s; toAdd(relation); } Relation inverseRelation = new Relation(); inverseRelation.i = j; inverseRelation.j = i; inverseRelation.r = getInverseConstraints(e); int t = transTable.intersection(inverseRelation.r, matrix[j][i]); if (isProperSubset(t, matrix[j][i])){ inverseRelation.r = t; toAdd(inverseRelation); } } public void addEdge(String x, String y, String r){ int e = parseString(r); // System.out.println("AdjMatrix.addEdge r = " + // transTable.toString(e) + "| " + transTable.getIndex(e)); addNode(x); addNode(y); int i = symbolTable.getIndex(x); int j = symbolTable.getIndex(y); Relation relation = new Relation(); relation.i = i; relation.j = j; relation.r = e; // System.out.println("AdjMatrix.addEdge: Relation i = " + i + " j = " + j + // " r = " + e); int s = transTable.intersection(relation.r, matrix[i][j]); if (isProperSubset(s, matrix[i][j])){ relation.r = s; toAdd(relation); Relation inverseRelation = new Relation(); inverseRelation.i = j; inverseRelation.j = i; inverseRelation.r = getInverseConstraints(s); /*int t = transTable.intersection(inverseRelation.r, matrix[j][i]); if (isProperSubset(t, matrix[j][i])){ inverseRelation.r = t;*/ toAdd(inverseRelation); } }