1. A method of propagating values in a data-flow graph associated with a circuit design, comprising: determining the data-flow graph based on a high-level model of the circuit design; marking, by computer, a first and second node of the data-flow graph with a first and second symbolic value, respectively, from a set of symbolic values, wherein the first and second symbolic values are indicative of whether data content carried by the first node is equal to data content carried by the second node; receiving, at a set of inputs of a multiplexer, the first and second symbolic values; and determining, at an output of the multiplexer, a third symbolic value which evaluates to a symbolic value from the set of symbolic values based on a selector input of the multiplexer.