A sort is the term for a type in the SMT domain. This class provides a few default sorts as well as the ability to create generic sorts, such as {@link wycs.solver.smt.Sort.Set}s or {@link wycs.solver.smt.Sort.Tuple}s. In order to utilise these generic sorts, it is required that the initialisers (from {@link #generateInitialisers(Solver)} be added to the surrounding {@link wycs.solver.smt.Block} or {@link wycs.solver.smt.Smt2File}.
This design pattern is required as it is not possible to easily write custom theorems to add to SMT solvers.
@author Henry J. Wylde