Metamath Proof Explorer


Theorem xpco

Description: Composition of two Cartesian products. (Contributed by Thierry Arnoux, 17-Nov-2017)

Ref Expression
Assertion xpco ⊢ B ≠ ∅ → B × C ∘ A × B = A × C

Proof

Step Hyp Ref Expression
1 n0 ⊢ B ≠ ∅ ↔ ∃ y y ∈ B
2 1 biimpi ⊢ B ≠ ∅ → ∃ y y ∈ B
3 2 biantrurd ⊢ B ≠ ∅ → x ∈ A ∧ z ∈ C ↔ ∃ y y ∈ B ∧ x ∈ A ∧ z ∈ C
4 ancom ⊢ x ∈ A ∧ y ∈ B ↔ y ∈ B ∧ x ∈ A
5 4 anbi1i ⊢ x ∈ A ∧ y ∈ B ∧ y ∈ B ∧ z ∈ C ↔ y ∈ B ∧ x ∈ A ∧ y ∈ B ∧ z ∈ C
6 brxp ⊢ x A × B y ↔ x ∈ A ∧ y ∈ B
7 brxp ⊢ y B × C z ↔ y ∈ B ∧ z ∈ C
8 6 7 anbi12i ⊢ x A × B y ∧ y B × C z ↔ x ∈ A ∧ y ∈ B ∧ y ∈ B ∧ z ∈ C
9 anandi ⊢ y ∈ B ∧ x ∈ A ∧ z ∈ C ↔ y ∈ B ∧ x ∈ A ∧ y ∈ B ∧ z ∈ C
10 5 8 9 3bitr4i ⊢ x A × B y ∧ y B × C z ↔ y ∈ B ∧ x ∈ A ∧ z ∈ C
11 10 exbii ⊢ ∃ y x A × B y ∧ y B × C z ↔ ∃ y y ∈ B ∧ x ∈ A ∧ z ∈ C
12 19.41v ⊢ ∃ y y ∈ B ∧ x ∈ A ∧ z ∈ C ↔ ∃ y y ∈ B ∧ x ∈ A ∧ z ∈ C
13 11 12 bitr2i ⊢ ∃ y y ∈ B ∧ x ∈ A ∧ z ∈ C ↔ ∃ y x A × B y ∧ y B × C z
14 3 13 bitr2di ⊢ B ≠ ∅ → ∃ y x A × B y ∧ y B × C z ↔ x ∈ A ∧ z ∈ C
15 14 opabbidv ⊢ B ≠ ∅ → x z | ∃ y x A × B y ∧ y B × C z = x z | x ∈ A ∧ z ∈ C
16 df-co ⊢ B × C ∘ A × B = x z | ∃ y x A × B y ∧ y B × C z
17 df-xp ⊢ A × C = x z | x ∈ A ∧ z ∈ C
18 15 16 17 3eqtr4g ⊢ B ≠ ∅ → B × C ∘ A × B = A × C