This example also makes clear why the set Val′is allowed to differ from Val.

In this particular case, Val′has to contain all multiples of 2 of elements in Val.

The derived propagator is ϕb(p) = ϕ
− ◦ p ◦ ϕ. We say that ϕb(p**) "uses a scale**
view on" y, meaning that ϕy is the function defined as ϕy(v) = 2v**. Similarly,**
using an identity view on x amounts to ϕx being the identity function on Val.

Given the assignment a = (x 7→ 2, y 7→ 1), we first apply ϕAsn **and get**
ϕAsn (a) = (x 7→ 2, y 7→ 2). This is accepted by p **and returned unchanged,** so ϕ
− transforms it back to a**. Another assignment,** a
′ = (x 7→ 1, y 7→ **2), is**
transformed to ϕAsn (a
′) = (x 7→ 1, y 7→ 4), rejected (p({ϕAsn(a
′)}) = ∅**), and**
the empty domain is mapped to the empty domain by ϕ
−**. The propagator** ϕb(p)
implements ϕ
−(c). 

Views and derived propagators satisfy a number of essential properties:
1. A derived propagator ϕb(p**) is in fact a propagator.** 2. The associated constraint of ϕb(p**) is** ϕ
−(cp).

3. A view ϕ preserves contraction of a propagator p: If p(ϕ(d)) ⊂ ϕ(d**), then**
ϕb(p)(d) ⊂ d**. This property makes sure that if the propagator makes an**
inference, then this inference will actually be reflected in a domain change.

In the following, we will prove these properties. For the proofs, we **employ some** direct consequences of the definitions of views and derived propagators: (1) ϕ and ϕ
− **are monotone by construction; (2)** ϕ
− ◦ϕ **= id (the identity function); (3)**
|ϕ({a})| = 1, ϕ(∅) = ∅; (4) for any view ϕ and domain d, we have ϕ(d) ∈ Dom and ϕ
−(d) ∈ Dom **(as views are defined point-wise).**
Theorem 1. A derived propagator is a propagator: for all propagators p and views ϕ, ϕb(p) is a monotone and contracting function in Dom → Dom. 

Proof. The derived propagator is well-defined because both ϕ(d**) and** ϕ
−(d**) are**
domains (see (4) above). Monotonicity is obvious, as compositions of monotone functions are monotone. For contraction, we have p(ϕ(d)) ⊆ ϕ(d) as p **is contracting. By monotonicity of** ϕ
−**, we know that** ϕ
−(p(ϕ(d))) ⊆ ϕ
−(ϕ(d**)). As**
ϕ
− ◦ ϕ **= id, we have** ϕ
−(p(ϕ(d))) ⊆ d, which proves that ϕb(p**) is contracting. In**
summary, for any propagator p, ϕb(p) = ϕ
− ◦ p ◦ ϕ **is a propagator.**
Theorem 2. If p implements cp, then ϕb(p**) implements** ϕ
−(cp). 

Proof. As p implements cp, we know p({a}) = cp ∩ {a} **for all assignments** a.

With |ϕ({a})| = 1, we have p(ϕ({a})) = cp ∩ ϕ({a}**). Furthermore, we know** that cp ∩ ϕ({a}) is either ∅ or ϕ({a}). Case ∅**: We have** ϕ
−(p(ϕ({a}**))) =** ∅ =
{a} ∩ ϕ
−(cp). Case ϕ({a}**): As** ϕ
− ◦ ϕ **= id, we have** ϕ
−(p(ϕ({a}**))) =** {a}.

Furthermore:

$$\begin{array}{r l r l}{c_{p}\cap\varphi(\{a\})=\varphi(\{a\})}&{{}\Rightarrow}&{{}\exists b\in c_{p}.\ b=\varphi(a)}\\ {\Rightarrow a\in\{a^{\prime}\in A s n\ |\ \varphi(a^{\prime})\in c_{p}\}}&{{}\Rightarrow}&{{}a\in\varphi^{-}(c_{p})}\end{array}$$
this shows that $u^{\pi}\circ u\circ\omega(\{)$
Together, this shows that ϕ
− ◦ p ◦ ϕ({a}) = {a} ∩ ϕ

$\mathcal{L}^-(c_{\mathcal{P}})$. 