Let us prove a weaker quantifier-free property by skolemizing and instantiating the quantifier:
(To remove the universal quantifier, we can replace the bound variable by instantiating it with an arbitrary constant. Skolemization: Variables bound by existential quantifiers which are not inside the scope of universal quantifiers can simply be replaced by constants. In this case, we use the same constant that we used earlier to instantiate for removing the universal quantifier.)

The basic idea we should retain when we are dealing with multiple models is to separate formulas according to the theory (reasoning) they belong.
One can use either Linear Arithmetic or the Congruence Closure algorithm. The Nelson-Oppen combination combines the two. For example, in the formula above, a(i) > 0 can be replaced by w > 0 & w = a(i). Then, we get two formulas:
(1) (w > 0) & (0 ⇐ i) & (i < n+1) & (v ⇐ 0) & (i ≠ n) &
(2) (w = a(i)) & (v = a(i))

For (2), we can use the congruence closure algorithm and obtain: v = w. This can then be used in (1), and (just by reasoning in linear arithmetic), we get a contradiction.
(1) and (2) share variables and equality. Hence, we use Nelson Oppen combination with disjoint signatures. They are disjoint except for equality.

When can we merge models?
If we have two formulas that are true in different models: for example: [F1]_m1 = true and [F2]_m2 = true, then what can we say about (F1 & F2) in some combination of the models?
See the decomposition in the following figure:

The models can be merged if
(1)the domains are of the same size, and
(2)[x = y]_m1 –> [f(x) = f(y)]_m2, where f is an isomorphism from one model to the other.

General case

In general, consider quantifier-free formulas with both linear arithmetic and uninterpreted functions.

disjunctive normal form

flatten

separate

check satisfiability separately

The harder part: proving that it is complete.
Using a SAT solver to enumerate disjunctive normal form disjuncts.