Metamath Proof Explorer


Theorem upxp

Description: Universal property of the Cartesian product considered as a categorical product in the category of sets. (Contributed by Jeff Madsen, 2-Sep-2009) (Revised by Mario Carneiro, 27-Dec-2014)

Ref Expression
Hypotheses upxp.1 ⊢ P = 1 st ↾ B × C
upxp.2 ⊢ Q = 2 nd ↾ B × C
Assertion upxp ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ∃! h h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h

Proof

Step Hyp Ref Expression
1 upxp.1 ⊢ P = 1 st ↾ B × C
2 upxp.2 ⊢ Q = 2 nd ↾ B × C
3 mptexg ⊢ A ∈ D → x ∈ A ⟼ F ⁡ x G ⁡ x ∈ V
4 eueq ⊢ x ∈ A ⟼ F ⁡ x G ⁡ x ∈ V ↔ ∃! h h = x ∈ A ⟼ F ⁡ x G ⁡ x
5 3 4 sylib ⊢ A ∈ D → ∃! h h = x ∈ A ⟼ F ⁡ x G ⁡ x
6 5 3ad2ant1 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ∃! h h = x ∈ A ⟼ F ⁡ x G ⁡ x
7 ffn ⊢ h : A ⟶ B × C → h Fn A
8 7 3ad2ant1 ⊢ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → h Fn A
9 8 adantl ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → h Fn A
10 ffvelcdm ⊢ F : A ⟶ B ∧ x ∈ A → F ⁡ x ∈ B
11 ffvelcdm ⊢ G : A ⟶ C ∧ x ∈ A → G ⁡ x ∈ C
12 opelxpi ⊢ F ⁡ x ∈ B ∧ G ⁡ x ∈ C → F ⁡ x G ⁡ x ∈ B × C
13 10 11 12 syl2an ⊢ F : A ⟶ B ∧ x ∈ A ∧ G : A ⟶ C ∧ x ∈ A → F ⁡ x G ⁡ x ∈ B × C
14 13 anandirs ⊢ F : A ⟶ B ∧ G : A ⟶ C ∧ x ∈ A → F ⁡ x G ⁡ x ∈ B × C
15 14 ralrimiva ⊢ F : A ⟶ B ∧ G : A ⟶ C → ∀ x ∈ A F ⁡ x G ⁡ x ∈ B × C
16 15 3adant1 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ∀ x ∈ A F ⁡ x G ⁡ x ∈ B × C
17 eqid ⊢ x ∈ A ⟼ F ⁡ x G ⁡ x = x ∈ A ⟼ F ⁡ x G ⁡ x
18 17 fmpt ⊢ ∀ x ∈ A F ⁡ x G ⁡ x ∈ B × C ↔ x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C
19 16 18 sylib ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C
20 19 ffnd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
21 20 adantr ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
22 xpss ⊢ B × C ⊆ V × V
23 ffvelcdm ⊢ h : A ⟶ B × C ∧ z ∈ A → h ⁡ z ∈ B × C
24 22 23 sselid ⊢ h : A ⟶ B × C ∧ z ∈ A → h ⁡ z ∈ V × V
25 24 3ad2antl1 ⊢ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z ∈ V × V
26 25 adantll ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z ∈ V × V
27 fveq1 ⊢ F = P ∘ h → F ⁡ z = P ∘ h ⁡ z
28 1 coeq1i ⊢ P ∘ h = 1 st ↾ B × C ∘ h
29 28 fveq1i ⊢ P ∘ h ⁡ z = 1 st ↾ B × C ∘ h ⁡ z
30 27 29 eqtrdi ⊢ F = P ∘ h → F ⁡ z = 1 st ↾ B × C ∘ h ⁡ z
31 30 3ad2ant2 ⊢ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → F ⁡ z = 1 st ↾ B × C ∘ h ⁡ z
32 31 ad2antlr ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → F ⁡ z = 1 st ↾ B × C ∘ h ⁡ z
33 simpr1 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → h : A ⟶ B × C
34 fvco3 ⊢ h : A ⟶ B × C ∧ z ∈ A → 1 st ↾ B × C ∘ h ⁡ z = 1 st ↾ B × C ⁡ h ⁡ z
35 33 34 sylan ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 1 st ↾ B × C ∘ h ⁡ z = 1 st ↾ B × C ⁡ h ⁡ z
36 23 3ad2antl1 ⊢ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z ∈ B × C
37 36 adantll ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z ∈ B × C
38 37 fvresd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 1 st ↾ B × C ⁡ h ⁡ z = 1 st ⁡ h ⁡ z
39 32 35 38 3eqtrrd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 1 st ⁡ h ⁡ z = F ⁡ z
40 fveq1 ⊢ G = Q ∘ h → G ⁡ z = Q ∘ h ⁡ z
41 2 coeq1i ⊢ Q ∘ h = 2 nd ↾ B × C ∘ h
42 41 fveq1i ⊢ Q ∘ h ⁡ z = 2 nd ↾ B × C ∘ h ⁡ z
43 40 42 eqtrdi ⊢ G = Q ∘ h → G ⁡ z = 2 nd ↾ B × C ∘ h ⁡ z
44 43 3ad2ant3 ⊢ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → G ⁡ z = 2 nd ↾ B × C ∘ h ⁡ z
45 44 ad2antlr ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → G ⁡ z = 2 nd ↾ B × C ∘ h ⁡ z
46 fvco3 ⊢ h : A ⟶ B × C ∧ z ∈ A → 2 nd ↾ B × C ∘ h ⁡ z = 2 nd ↾ B × C ⁡ h ⁡ z
47 33 46 sylan ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 2 nd ↾ B × C ∘ h ⁡ z = 2 nd ↾ B × C ⁡ h ⁡ z
48 37 fvresd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 2 nd ↾ B × C ⁡ h ⁡ z = 2 nd ⁡ h ⁡ z
49 45 47 48 3eqtrrd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → 2 nd ⁡ h ⁡ z = G ⁡ z
50 eqopi ⊢ h ⁡ z ∈ V × V ∧ 1 st ⁡ h ⁡ z = F ⁡ z ∧ 2 nd ⁡ h ⁡ z = G ⁡ z → h ⁡ z = F ⁡ z G ⁡ z
51 26 39 49 50 syl12anc ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z = F ⁡ z G ⁡ z
52 fveq2 ⊢ x = z → F ⁡ x = F ⁡ z
53 fveq2 ⊢ x = z → G ⁡ x = G ⁡ z
54 52 53 opeq12d ⊢ x = z → F ⁡ x G ⁡ x = F ⁡ z G ⁡ z
55 opex ⊢ F ⁡ z G ⁡ z ∈ V
56 54 17 55 fvmpt ⊢ z ∈ A → x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = F ⁡ z G ⁡ z
57 56 adantl ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = F ⁡ z G ⁡ z
58 51 57 eqtr4d ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ∧ z ∈ A → h ⁡ z = x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
59 9 21 58 eqfnfvd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → h = x ∈ A ⟼ F ⁡ x G ⁡ x
60 59 ex ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h → h = x ∈ A ⟼ F ⁡ x G ⁡ x
61 ffn ⊢ F : A ⟶ B → F Fn A
62 61 3ad2ant2 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → F Fn A
63 fo1st ⊢ 1 st : V ⟶ onto V
64 fofn ⊢ 1 st : V ⟶ onto V → 1 st Fn V
65 63 64 ax-mp ⊢ 1 st Fn V
66 ssv ⊢ B × C ⊆ V
67 fnssres ⊢ 1 st Fn V ∧ B × C ⊆ V → 1 st ↾ B × C Fn B × C
68 65 66 67 mp2an ⊢ 1 st ↾ B × C Fn B × C
69 19 frnd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ran ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⊆ B × C
70 fnco ⊢ 1 st ↾ B × C Fn B × C ∧ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A ∧ ran ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⊆ B × C → 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
71 68 20 69 70 mp3an2i ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
72 fvco3 ⊢ x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C ∧ z ∈ A → 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 1 st ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
73 19 72 sylan ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 1 st ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
74 56 adantl ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = F ⁡ z G ⁡ z
75 74 fveq2d ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 1 st ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 1 st ↾ B × C ⁡ F ⁡ z G ⁡ z
76 ffvelcdm ⊢ F : A ⟶ B ∧ z ∈ A → F ⁡ z ∈ B
77 ffvelcdm ⊢ G : A ⟶ C ∧ z ∈ A → G ⁡ z ∈ C
78 opelxpi ⊢ F ⁡ z ∈ B ∧ G ⁡ z ∈ C → F ⁡ z G ⁡ z ∈ B × C
79 76 77 78 syl2an ⊢ F : A ⟶ B ∧ z ∈ A ∧ G : A ⟶ C ∧ z ∈ A → F ⁡ z G ⁡ z ∈ B × C
80 79 anandirs ⊢ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → F ⁡ z G ⁡ z ∈ B × C
81 80 3adantl1 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → F ⁡ z G ⁡ z ∈ B × C
82 81 fvresd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 1 st ↾ B × C ⁡ F ⁡ z G ⁡ z = 1 st ⁡ F ⁡ z G ⁡ z
83 fvex ⊢ F ⁡ z ∈ V
84 fvex ⊢ G ⁡ z ∈ V
85 83 84 op1st ⊢ 1 st ⁡ F ⁡ z G ⁡ z = F ⁡ z
86 82 85 eqtrdi ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 1 st ↾ B × C ⁡ F ⁡ z G ⁡ z = F ⁡ z
87 73 75 86 3eqtrrd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → F ⁡ z = 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
88 62 71 87 eqfnfvd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → F = 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
89 1 coeq1i ⊢ P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x = 1 st ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
90 88 89 eqtr4di ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → F = P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
91 ffn ⊢ G : A ⟶ C → G Fn A
92 91 3ad2ant3 ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → G Fn A
93 fo2nd ⊢ 2 nd : V ⟶ onto V
94 fofn ⊢ 2 nd : V ⟶ onto V → 2 nd Fn V
95 93 94 ax-mp ⊢ 2 nd Fn V
96 fnssres ⊢ 2 nd Fn V ∧ B × C ⊆ V → 2 nd ↾ B × C Fn B × C
97 95 66 96 mp2an ⊢ 2 nd ↾ B × C Fn B × C
98 fnco ⊢ 2 nd ↾ B × C Fn B × C ∧ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A ∧ ran ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⊆ B × C → 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
99 97 20 69 98 mp3an2i ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x Fn A
100 fvco3 ⊢ x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C ∧ z ∈ A → 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 2 nd ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
101 19 100 sylan ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 2 nd ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
102 74 fveq2d ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 2 nd ↾ B × C ⁡ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z = 2 nd ↾ B × C ⁡ F ⁡ z G ⁡ z
103 81 fvresd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 2 nd ↾ B × C ⁡ F ⁡ z G ⁡ z = 2 nd ⁡ F ⁡ z G ⁡ z
104 83 84 op2nd ⊢ 2 nd ⁡ F ⁡ z G ⁡ z = G ⁡ z
105 103 104 eqtrdi ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → 2 nd ↾ B × C ⁡ F ⁡ z G ⁡ z = G ⁡ z
106 101 102 105 3eqtrrd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C ∧ z ∈ A → G ⁡ z = 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ⁡ z
107 92 99 106 eqfnfvd ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → G = 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
108 2 coeq1i ⊢ Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x = 2 nd ↾ B × C ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
109 107 108 eqtr4di ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → G = Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
110 19 90 109 3jca ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C ∧ F = P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ∧ G = Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
111 feq1 ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → h : A ⟶ B × C ↔ x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C
112 coeq2 ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → P ∘ h = P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
113 112 eqeq2d ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → F = P ∘ h ↔ F = P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
114 coeq2 ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → Q ∘ h = Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
115 114 eqeq2d ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → G = Q ∘ h ↔ G = Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
116 111 113 115 3anbi123d ⊢ h = x ∈ A ⟼ F ⁡ x G ⁡ x → h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ↔ x ∈ A ⟼ F ⁡ x G ⁡ x : A ⟶ B × C ∧ F = P ∘ x ∈ A ⟼ F ⁡ x G ⁡ x ∧ G = Q ∘ x ∈ A ⟼ F ⁡ x G ⁡ x
117 110 116 syl5ibrcom ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → h = x ∈ A ⟼ F ⁡ x G ⁡ x → h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h
118 60 117 impbid ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ↔ h = x ∈ A ⟼ F ⁡ x G ⁡ x
119 118 eubidv ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ∃! h h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h ↔ ∃! h h = x ∈ A ⟼ F ⁡ x G ⁡ x
120 6 119 mpbird ⊢ A ∈ D ∧ F : A ⟶ B ∧ G : A ⟶ C → ∃! h h : A ⟶ B × C ∧ F = P ∘ h ∧ G = Q ∘ h