MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  upxp Structured version   Visualization version   GIF version

Theorem upxp 23922
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.)
Hypotheses
Ref Expression
upxp.1 𝑃 = (1st ↾ (𝐵 × 𝐶))
upxp.2 𝑄 = (2nd ↾ (𝐵 × 𝐶))
Assertion
Ref Expression
upxp ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∃!ℎ(ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)))
Distinct variable groups:   𝐴,ℎ   𝐵,ℎ   𝐶,ℎ   ℎ,𝐹   ℎ,𝐺   𝐷,ℎ
Allowed substitution hints:   𝑃(ℎ)   𝑄(ℎ)

Proof of Theorem upxp
Dummy variables 𝑥 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 mptexg 7219 . . . 4 (𝐴 ∈ 𝐷 → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ∈ V)
2 eueq 3666 . . . 4 ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ∈ V ↔ ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
31, 2sylib 221 . . 3 (𝐴 ∈ 𝐷 → ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
433ad2ant1 1151 . 2 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
5 ffn 6701 . . . . . . . 8 (ℎ:𝐴⟶(𝐵 × 𝐶) → ℎ Fn 𝐴)
653ad2ant1 1151 . . . . . . 7 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → ℎ Fn 𝐴)
76adantl 487 . . . . . 6 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ Fn 𝐴)
8 ffvelcdm 7073 . . . . . . . . . . . . 13 ((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ 𝐵)
9 ffvelcdm 7073 . . . . . . . . . . . . 13 ((𝐺:𝐴⟶𝐶 ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ 𝐶)
10 opelxpi 5688 . . . . . . . . . . . . 13 (((𝐹‘𝑥) ∈ 𝐵 ∧ (𝐺‘𝑥) ∈ 𝐶) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
118, 9, 10syl2an 608 . . . . . . . . . . . 12 (((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) ∧ (𝐺:𝐴⟶𝐶 ∧ 𝑥 ∈ 𝐴)) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
1211anandirs 692 . . . . . . . . . . 11 (((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑥 ∈ 𝐴) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
1312ralrimiva 3155 . . . . . . . . . 10 ((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
14133adant1 1148 . . . . . . . . 9 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
15 eqid 2761 . . . . . . . . . 10 (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)
1615fmpt 7102 . . . . . . . . 9 (∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶) ↔ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶))
1714, 16sylib 221 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶))
1817ffnd 6702 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴)
1918adantr 486 . . . . . 6 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴)
20 xpss 5667 . . . . . . . . . . 11 (𝐵 × 𝐶) ⊆ (V × V)
21 ffvelcdm 7073 . . . . . . . . . . 11 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
2220, 21sselid 3929 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
23223ad2antl1 1204 . . . . . . . . 9 (((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
2423adantll 727 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
25 fveq1 6876 . . . . . . . . . . . 12 (𝐹 = (𝑃 ∘ ℎ) → (𝐹‘𝑧) = ((𝑃 ∘ ℎ)‘𝑧))
26 upxp.1 . . . . . . . . . . . . . 14 𝑃 = (1st ↾ (𝐵 × 𝐶))
2726coeq1i 5837 . . . . . . . . . . . . 13 (𝑃 ∘ ℎ) = ((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)
2827fveq1i 6878 . . . . . . . . . . . 12 ((𝑃 ∘ ℎ)‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧)
2925, 28eqtrdi 2812 . . . . . . . . . . 11 (𝐹 = (𝑃 ∘ ℎ) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
30293ad2ant2 1152 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
3130ad2antlr 740 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
32 simpr1 1213 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ:𝐴⟶(𝐵 × 𝐶))
33 fvco3 6977 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
3432, 33sylan 592 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
35213ad2antl1 1204 . . . . . . . . . . 11 (((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
3635adantll 727 . . . . . . . . . 10 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
3736fvresd 6897 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)) = (1st ‘(ℎ‘𝑧)))
3831, 34, 373eqtrrd 2801 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (1st ‘(ℎ‘𝑧)) = (𝐹‘𝑧))
39 fveq1 6876 . . . . . . . . . . . 12 (𝐺 = (𝑄 ∘ ℎ) → (𝐺‘𝑧) = ((𝑄 ∘ ℎ)‘𝑧))
40 upxp.2 . . . . . . . . . . . . . 14 𝑄 = (2nd ↾ (𝐵 × 𝐶))
4140coeq1i 5837 . . . . . . . . . . . . 13 (𝑄 ∘ ℎ) = ((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)
4241fveq1i 6878 . . . . . . . . . . . 12 ((𝑄 ∘ ℎ)‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧)
4339, 42eqtrdi 2812 . . . . . . . . . . 11 (𝐺 = (𝑄 ∘ ℎ) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
44433ad2ant3 1153 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
4544ad2antlr 740 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
46 fvco3 6977 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
4732, 46sylan 592 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
4836fvresd 6897 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)) = (2nd ‘(ℎ‘𝑧)))
4945, 47, 483eqtrrd 2801 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (2nd ‘(ℎ‘𝑧)) = (𝐺‘𝑧))
50 eqopi 8026 . . . . . . . 8 (((ℎ‘𝑧) ∈ (V × V) ∧ ((1st ‘(ℎ‘𝑧)) = (𝐹‘𝑧) ∧ (2nd ‘(ℎ‘𝑧)) = (𝐺‘𝑧))) → (ℎ‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5124, 38, 49, 50syl12anc 850 . . . . . . 7 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
52 fveq2 6877 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐹‘𝑥) = (𝐹‘𝑧))
53 fveq2 6877 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐺‘𝑥) = (𝐺‘𝑧))
5452, 53opeq12d 4841 . . . . . . . . 9 (𝑥 = 𝑧 → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
55 opex 5432 . . . . . . . . 9 ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ V
5654, 15, 55fvmpt 6985 . . . . . . . 8 (𝑧 ∈ 𝐴 → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5756adantl 487 . . . . . . 7 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5851, 57eqtr4d 2799 . . . . . 6 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) = ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧))
597, 19, 58eqfnfvd 7024 . . . . 5 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
6059ex 418 . . . 4 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
61 ffn 6701 . . . . . . . . 9 (𝐹:𝐴⟶𝐵 → 𝐹 Fn 𝐴)
62613ad2ant2 1152 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 Fn 𝐴)
63 fo1st 8010 . . . . . . . . . . 11 1st :V–onto→V
64 fofn 6790 . . . . . . . . . . 11 (1st :V–onto→V → 1st Fn V)
6563, 64ax-mp 5 . . . . . . . . . 10 1st Fn V
66 ssv 3955 . . . . . . . . . 10 (𝐵 × 𝐶) ⊆ V
67 fnssres 6654 . . . . . . . . . 10 ((1st Fn V ∧ (𝐵 × 𝐶) ⊆ V) → (1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶))
6865, 66, 67mp2an 705 . . . . . . . . 9 (1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶)
6917frnd 6710 . . . . . . . . 9 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶))
70 fnco 6649 . . . . . . . . 9 (((1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶) ∧ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴 ∧ ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶)) → ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
7168, 18, 69, 70mp3an2i 1495 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
72 fvco3 6977 . . . . . . . . . 10 (((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
7317, 72sylan 592 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
7456adantl 487 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
7574fveq2d 6881 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)) = ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
76 ffvelcdm 7073 . . . . . . . . . . . . . 14 ((𝐹:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) ∈ 𝐵)
77 ffvelcdm 7073 . . . . . . . . . . . . . 14 ((𝐺:𝐴⟶𝐶 ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) ∈ 𝐶)
78 opelxpi 5688 . . . . . . . . . . . . . 14 (((𝐹‘𝑧) ∈ 𝐵 ∧ (𝐺‘𝑧) ∈ 𝐶) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
7976, 77, 78syl2an 608 . . . . . . . . . . . . 13 (((𝐹:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) ∧ (𝐺:𝐴⟶𝐶 ∧ 𝑧 ∈ 𝐴)) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
8079anandirs 692 . . . . . . . . . . . 12 (((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
81803adantl1 1185 . . . . . . . . . . 11 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
8281fvresd 6897 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (1st ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
83 fvex 6890 . . . . . . . . . . 11 (𝐹‘𝑧) ∈ V
84 fvex 6890 . . . . . . . . . . 11 (𝐺‘𝑧) ∈ V
8583, 84op1st 7998 . . . . . . . . . 10 (1st ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐹‘𝑧)
8682, 85eqtrdi 2812 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐹‘𝑧))
8773, 75, 863eqtrrd 2801 . . . . . . . 8 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧))
8862, 71, 87eqfnfvd 7024 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 = ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
8926coeq1i 5837 . . . . . . 7 (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) = ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
9088, 89eqtr4di 2814 . . . . . 6 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
91 ffn 6701 . . . . . . . . 9 (𝐺:𝐴⟶𝐶 → 𝐺 Fn 𝐴)
92913ad2ant3 1153 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 Fn 𝐴)
93 fo2nd 8011 . . . . . . . . . . 11 2nd :V–onto→V
94 fofn 6790 . . . . . . . . . . 11 (2nd :V–onto→V → 2nd Fn V)
9593, 94ax-mp 5 . . . . . . . . . 10 2nd Fn V
96 fnssres 6654 . . . . . . . . . 10 ((2nd Fn V ∧ (𝐵 × 𝐶) ⊆ V) → (2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶))
9795, 66, 96mp2an 705 . . . . . . . . 9 (2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶)
98 fnco 6649 . . . . . . . . 9 (((2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶) ∧ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴 ∧ ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶)) → ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
9997, 18, 69, 98mp3an2i 1495 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
100 fvco3 6977 . . . . . . . . . 10 (((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
10117, 100sylan 592 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
10274fveq2d 6881 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)) = ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
10381fvresd 6897 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (2nd ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
10483, 84op2nd 7999 . . . . . . . . . 10 (2nd ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐺‘𝑧)
105103, 104eqtrdi 2812 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐺‘𝑧))
106101, 102, 1053eqtrrd 2801 . . . . . . . 8 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧))
10792, 99, 106eqfnfvd 7024 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 = ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
10840coeq1i 5837 . . . . . . 7 (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) = ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
109107, 108eqtr4di 2814 . . . . . 6 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
11017, 90, 1093jca 1146 . . . . 5 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) ∧ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
111 feq1 6679 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (ℎ:𝐴⟶(𝐵 × 𝐶) ↔ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶)))
112 coeq2 5836 . . . . . . 7 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝑃 ∘ ℎ) = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
113112eqeq2d 2772 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝐹 = (𝑃 ∘ ℎ) ↔ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
114 coeq2 5836 . . . . . . 7 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝑄 ∘ ℎ) = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
115114eqeq2d 2772 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝐺 = (𝑄 ∘ ℎ) ↔ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
116111, 113, 1153anbi123d 1464 . . . . 5 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ↔ ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) ∧ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))))
117110, 116syl5ibrcom 250 . . . 4 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))))
11860, 117impbid 215 . . 3 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ↔ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
119118eubidv 2612 . 2 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (∃!ℎ(ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ↔ ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
1204, 119mpbird 260 1 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∃!ℎ(ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145  ∃!weu 2594  ∀wral 3077  Vcvv 3451   ⊆ wss 3899  ⟨cop 4590   ↦ cmpt 5186   × cxp 5649  ran crn 5652   ↾ cres 5653   ∘ ccom 5655   Fn wfn 6526  ⟶wf 6527  –onto→wfo 6529  ‘cfv 6531  1st c1st 7988  2nd c2nd 7989
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pr 5391  ax-un 7740
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-1st 7990  df-2nd 7991
This theorem is used by:  uptx  23924  txcn  23925
  Copyright terms: Public domain W3C validator