Propagation based finite domain solvers provide a general
mechanism for solving combinatorial problems. Different
propagation methods can be used in conjunction by communicating
through the domains of shared variables. The flexibility that
this entails has been an important factor in the success of
propagation based solving for solving hard combinatorial problems.
In this paper we investigate how linear integer constraints
should be represented in order that propagation can determine
strong domain information. We identify two kinds of substitution
which can improve propagation solvers, and can never weaken the domain
information. This leads us to an alternate approach to propagation
based solving where the form of constraints is modified by substitution
as computation progresses. We compare and contrast a solver using
substitution against an indexical based solver, the current method of
choice for implementing propagation based constraint solvers,
identifying the the relative advantages and disadvantages of the two
approaches.