Permítanme añadir un cálculo respuesta a esta pregunta vieja. En todo yo se supone implícitamente que $x \in X$, $y \in Y$, $A, A_1, A_2 \subseteq X$ y $B \subseteq Y$. Y estoy asumiendo que, aparte de la teoría de conjuntos y la lógica, sólo estamos autorizados a utilizar las siguientes propiedades básicas, que mantenga por cualquier $A$, $B$, $x$, y $y$:
\begin{array}\\
(0) & y \in f[A] & \equiv & \langle \exists x : x \in A : f(x) = y \rangle \\
(1) & x \in f^{-1}[B] & \equiv & f(x) \in B \\
\end{array}
Utilizando sólo estas propiedades le hacen la prueba de un poco más de tiempo, pero como verás es sobre todo muy mecánico: expandir los dos anteriores "definiciones" y hacer lo que es natural.
Mirando la forma de $$(2)\;\;\;f[A\cap f^{-1}[B]] \;\subseteq\; f[A] \cap B$$ the first thing that warrants investigation is the left hand side. Can we simplify it? Let's be bold, and look at the more general $f[A_1 \cap A_2]$: for any $s$, $A_1$ and $A_2$
\begin{align}
& y \in f[A_1 \cap A_2] \\
\equiv & \;\;\;\;\;\text{"basic property %#%#%"} \\
& \langle \exists x : x \in A_1 \cap A_2 : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"set theory: definition of %#%#%"} \\
& \langle \exists x : x \in A_1 \land x \in A_2 : f(x) = y \rangle \\
\Rightarrow & \;\;\;\;\;\text{"logic: weaken by splitting range of %#%#%"} \\
& \langle \exists x : x \in A_1 : f(x) = y \rangle \;\land\; \langle \exists x : x \in A_2 : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"basic property %#%#%, twice"} \\
& y \in f[A_1] \;\land\; y \in f[A_2] \\
\equiv & \;\;\;\;\;\text{"set theory: definition of %#%#%"} \\
& y \in f[A_1] \cap f[A_2] \\
\end{align}
Así, por la definición de $(0)$ hemos probado que $\cap$$\exists$A_1$(0)$A_2$\cap$$\;\subseteq\;$B$
\begin{align}
& f[A \cap f^{-1}[B]] \\
(*)\;\;\subseteq & \;\;\;\;\;\text{"by %#%#%"} \\
& f[A] \cap f[f^{-1}[B]] \\
\end{align}
Que directamente nos lleva a la siguiente investigación: ¿qué podemos decir acerca de $$(3)\;\;f[A_1 \cap A_2] \;\subseteq\; f[A_1] \cap f[A_2]$? Bueno, para cualquier $ for any $ $ and $
\begin{align}
& y \in f[f^{-1}[B]] \\
\equiv & \;\;\;\;\;\text{"basic property %#%#%"} \\
& \langle \exists x : x \in f^{-1}[B] : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"basic property %#%#%"} \\
& \langle \exists x : f(x) \in B : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"logic: use right hand part in left"} \\
& \langle \exists x : y \in B : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"logic: simplify: extract %#%#%, which does not use %#%#%, out of %#%#%"} \\
& y \in B \;\land\; \langle \exists x : : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"make implicit assumption explicit -- to allow us to use %#%#%"} \\
& y \in B \;\land\; \langle \exists x : x \in X : f(x) = y \rangle \\
\equiv & \;\;\;\;\;\text{"basic property %#%#%; definition of %#%#%"} \\
& y \in B \cap f[X] \\
\end{align}
Por el conjunto de extensionality, ahora hemos demostrado que $. Using this, our first main step is, for any $$ and $B$.
Por lo tanto, continuamos nuestro principal cálculo, para cualquier $(3)$$f[f^{-1}[B]]$:
\begin{align}
& f[A] \cap f[f^{-1}[B]] \\
= & \;\;\;\;\;\text{"simplify %#%#% using %#%#%"} \\
& f[A] \cap B \cap f[X] \\
(**)\;\;\subseteq & \;\;\;\;\;\text{"set theory -- working toward the right hand side of (2)"} \\
& f[A] \cap B \\
\end{align}
Esto completa la prueba.
Nota cómo el enfoque de cálculo nos ayudó a descubrir dos hechos agradables en este dominio. Finalmente, hay una tercera. Buscando en los lugares donde esta prueba tiene una desigualdad, es decir, los pasos marcados $y$$B$, cuándo vamos a tener una igualdad, es decir, cuando el más general $(0)$$(1)$(**)$y \in B$f[X] = Y$x$f$\exists$(*)$(0)$f$(0)$f$\cap$f$ es un bijection.