text: abstractions that combine spatial reasoning in the tabular structure with relational reasoning. spatial
  reasoning allows the dsl programs to follow structured paths in the 2-dimensional table whereas relational
  reasoning allows them to constrain those paths with predicates over cell values.
  as shown schematically in fig. 2, the high-level structure of our synthesis algorithm is similar to prior
  techniques that combine partitioning with unification (alur et al. 2015; gulwani 2011; yaghmazadeh et al. 2016) .
  specifically, partitioning is used to classify the input-output examples into a small number of groups, each of
  which can be represented using a conditional-free program in the dsl. in contrast, the goal of unification is
  1 http://stackoverflow.com/questions/30952426/substract-last-cell-in-row-from-first-cell-with-number