/// This function takes a target expression and a vector of ranges and creates an expression representing the ranges with the target expression as the subject
/// This function confirms that all of the input expressions are SATInts, and returns vectors for each input of their bits
/// Converts an integer decision variable to SATInt form, creating a new representation of boolean variables if