sig2type.put(Sig.UNIV, AlloyType.UNIV);
sig2type.put(Sig.SIGINT, AlloyType.INT);
sig2type.put(Sig.SEQIDX, AlloyType.SEQINT);
sig2type.put(Sig.STRING, AlloyType.STRING);
ts.put(AlloyType.SEQINT, AlloyType.INT);
for(int i=sol.min(), max=sol.max(), maxseq=sol.getMaxSeq(); i<=max; i++) {
AlloyAtom at = new AlloyAtom(i>=0 && i<maxseq ? AlloyType.SEQINT : AlloyType.INT, i, ""+i);
atom2sets.put(at, new LinkedHashSet<AlloySet>());
string2atom.put(""+i, at);
}
for(Sig s:sol.getAllReachableSigs()) if (!s.builtin && s instanceof PrimSig) sig((PrimSig)s);