- #1

- 66

- 0

## Homework Statement

Prove that

[itex]A[/itex][itex]\times[/itex][itex]([/itex][itex]B[/itex][itex]\cap[/itex][itex]C[/itex][itex])[/itex][itex]=[/itex][itex]([/itex][itex]A[/itex][itex]\times[/itex][itex]B[/itex])[itex]\cap[/itex][itex]([/itex][itex]A[/itex][itex]\times[/itex][itex]C[/itex][itex])[/itex]

In particular what I cannot prove is

[itex]([/itex][itex]A[/itex][itex]\times[/itex][itex]B[/itex])[itex]\cap[/itex][itex]([/itex][itex]A[/itex][itex]\times[/itex][itex]C[/itex][itex])[/itex][itex]\subseteq[/itex][itex]A[/itex][itex]\times[/itex][itex]([/itex][itex]B[/itex][itex]\cap[/itex][itex]C[/itex][itex])[/itex]

## Homework Equations

## The Attempt at a Solution

In order to learn how to deal with proofs I am reading

*How to prove it: a structured approach*, and I am using

**Proof Designer**. This is the main problem I think...

First of all, I tried all possible approaches, but still I cannot figure out how to deal the problem I have, which I will explain.

I found various direct proofs of this biconditional (even on the book itself) and, given

[itex]\exists[/itex][itex]a[/itex][itex]\in[/itex][itex]A[/itex][itex]\exists[/itex][itex]b[/itex][itex]([/itex][itex]b[/itex][itex]\in[/itex][itex]B[/itex][itex]\wedge[/itex][itex]p[/itex][itex]=[/itex][itex]([/itex][itex]a[/itex][itex],[/itex][itex]b[/itex][itex])[/itex][itex])[/itex]

[itex]\exists[/itex][itex]a[/itex][itex]\in[/itex][itex]A[/itex][itex]\exists[/itex][itex]b[/itex][itex]([/itex][itex]b[/itex][itex]\in[/itex][itex]C[/itex][itex]\wedge[/itex][itex]p[/itex][itex]=[/itex][itex]([/itex][itex]a[/itex][itex],[/itex][itex]b[/itex][itex])[/itex][itex])[/itex]

all assume that this [itex]b[/itex] has to be the same for [itex]B[/itex] and [itex]C[/itex].

Indeed, if this is the case, the proof is quite straightforward, BUT...we cannot assume so - at least using

**Proof Designer**. As a matter of fact, the software, using the existential istantiation, asks you to choose a certain name (let's say [itex]a[/itex][itex]_{0}[/itex]) and that's the problem. In the first expression I can put [itex]a[/itex][itex]_{0}[/itex] and [itex]b[/itex][itex]_{0}[/itex], but in the second one, I cannot force the program to use the same variables, because they are already being used, so I have to use something like [itex]a[/itex][itex]_{1}[/itex] and [itex]b[/itex][itex]_{1}[/itex]. And that's the problem I guess, cause if I could put [itex]a[/itex][itex]_{0}[/itex] and [itex]b[/itex][itex]_{0}[/itex], the proof would be trivial.

Quite instructive, in order not to use the same object for two different things simply because it helps us to get a

*wrong*proof, but I cannot figure out how to get the

*right*proof!