1. A computer-implemented method of finite state machine creation using a processor comprising: a) accessing a first expression comprising a plurality of variables for which a finite state machine is desired; b) accessing a second expression that is derived independently of a modification or a reduction of said first expression that describes a constraint with respect to a first variable of said plurality of variables of said first expression; c) eliminating at least one variable from said second expression to create a third expression with said constraint modified; d) determining an individual finite state machine for said first expression using said third expression wherein a set of rules identify said at least one variable for removal from said second expression; and e) using said processor creating said individual finite state machine by collapsing multiple states of said individual finite state machine to a single state by merging states that transition to a common state for which inputs and outputs are identical.