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

Theorem upxp 23975
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 7253 . . . 4 (𝐴 ∈ 𝐷 → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ∈ V)
2 eueq 3669 . . . 4 ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ∈ V ↔ ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
31, 2sylib 221 . . 3 (𝐴 ∈ 𝐷 → ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
433ad2ant1 1151 . 2 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∃!ℎ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
5 ffn 6734 . . . . . . . 8 (ℎ:𝐴⟶(𝐵 × 𝐶) → ℎ Fn 𝐴)
653ad2ant1 1151 . . . . . . 7 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → ℎ Fn 𝐴)
76adantl 487 . . . . . 6 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ Fn 𝐴)
8 ffvelcdm 7108 . . . . . . . . . . . . 13 ((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ 𝐵)
9 ffvelcdm 7108 . . . . . . . . . . . . 13 ((𝐺:𝐴⟶𝐶 ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ 𝐶)
10 opelxpi 5693 . . . . . . . . . . . . 13 (((𝐹‘𝑥) ∈ 𝐵 ∧ (𝐺‘𝑥) ∈ 𝐶) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
118, 9, 10syl2an 608 . . . . . . . . . . . 12 (((𝐹:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) ∧ (𝐺:𝐴⟶𝐶 ∧ 𝑥 ∈ 𝐴)) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
1211anandirs 692 . . . . . . . . . . 11 (((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑥 ∈ 𝐴) → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
1312ralrimiva 3158 . . . . . . . . . 10 ((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
14133adant1 1148 . . . . . . . . 9 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶))
15 eqid 2763 . . . . . . . . . 10 (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)
1615fmpt 7137 . . . . . . . . 9 (∀𝑥 ∈ 𝐴 ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ ∈ (𝐵 × 𝐶) ↔ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶))
1714, 16sylib 221 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶))
1817ffnd 6735 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴)
1918adantr 486 . . . . . 6 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴)
20 xpss 5672 . . . . . . . . . . 11 (𝐵 × 𝐶) ⊆ (V × V)
21 ffvelcdm 7108 . . . . . . . . . . 11 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
2220, 21sselid 3911 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
23223ad2antl1 1204 . . . . . . . . 9 (((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
2423adantll 727 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (V × V))
25 fveq1 6910 . . . . . . . . . . . 12 (𝐹 = (𝑃 ∘ ℎ) → (𝐹‘𝑧) = ((𝑃 ∘ ℎ)‘𝑧))
26 upxp.1 . . . . . . . . . . . . . 14 𝑃 = (1st ↾ (𝐵 × 𝐶))
2726coeq1i 5844 . . . . . . . . . . . . 13 (𝑃 ∘ ℎ) = ((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)
2827fveq1i 6912 . . . . . . . . . . . 12 ((𝑃 ∘ ℎ)‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧)
2925, 28eqtrdi 2814 . . . . . . . . . . 11 (𝐹 = (𝑃 ∘ ℎ) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
30293ad2ant2 1152 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
3130ad2antlr 740 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
32 simpr1 1213 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ:𝐴⟶(𝐵 × 𝐶))
33 fvco3 7011 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
3432, 33sylan 592 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
35213ad2antl1 1204 . . . . . . . . . . 11 (((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
3635adantll 727 . . . . . . . . . 10 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) ∈ (𝐵 × 𝐶))
3736fvresd 6931 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)) = (1st ‘(ℎ‘𝑧)))
3831, 34, 373eqtrrd 2803 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (1st ‘(ℎ‘𝑧)) = (𝐹‘𝑧))
39 fveq1 6910 . . . . . . . . . . . 12 (𝐺 = (𝑄 ∘ ℎ) → (𝐺‘𝑧) = ((𝑄 ∘ ℎ)‘𝑧))
40 upxp.2 . . . . . . . . . . . . . 14 𝑄 = (2nd ↾ (𝐵 × 𝐶))
4140coeq1i 5844 . . . . . . . . . . . . 13 (𝑄 ∘ ℎ) = ((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)
4241fveq1i 6912 . . . . . . . . . . . 12 ((𝑄 ∘ ℎ)‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧)
4339, 42eqtrdi 2814 . . . . . . . . . . 11 (𝐺 = (𝑄 ∘ ℎ) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
44433ad2ant3 1153 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
4544ad2antlr 740 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧))
46 fvco3 7011 . . . . . . . . . 10 ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
4732, 46sylan 592 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ ℎ)‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)))
4836fvresd 6931 . . . . . . . . 9 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘(ℎ‘𝑧)) = (2nd ‘(ℎ‘𝑧)))
4945, 47, 483eqtrrd 2803 . . . . . . . 8 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (2nd ‘(ℎ‘𝑧)) = (𝐺‘𝑧))
50 eqopi 8064 . . . . . . . 8 (((ℎ‘𝑧) ∈ (V × V) ∧ ((1st ‘(ℎ‘𝑧)) = (𝐹‘𝑧) ∧ (2nd ‘(ℎ‘𝑧)) = (𝐺‘𝑧))) → (ℎ‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5124, 38, 49, 50syl12anc 850 . . . . . . 7 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
52 fveq2 6911 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐹‘𝑥) = (𝐹‘𝑧))
53 fveq2 6911 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝐺‘𝑥) = (𝐺‘𝑧))
5452, 53opeq12d 4851 . . . . . . . . 9 (𝑥 = 𝑧 → ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩ = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
55 opex 5437 . . . . . . . . 9 ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ V
5654, 15, 55fvmpt 7019 . . . . . . . 8 (𝑧 ∈ 𝐴 → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5756adantl 487 . . . . . . 7 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
5851, 57eqtr4d 2801 . . . . . 6 ((((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) ∧ 𝑧 ∈ 𝐴) → (ℎ‘𝑧) = ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧))
597, 19, 58eqfnfvd 7058 . . . . 5 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))) → ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
6059ex 418 . . . 4 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) → ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
61 ffn 6734 . . . . . . . . 9 (𝐹:𝐴⟶𝐵 → 𝐹 Fn 𝐴)
62613ad2ant2 1152 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 Fn 𝐴)
63 fo1st 8048 . . . . . . . . . . 11 1st :V⟶ontoV
64 fofn 6823 . . . . . . . . . . 11 (1st :V⟶ontoV → 1st Fn V)
6563, 64ax-mp 5 . . . . . . . . . 10 1st Fn V
66 ssv 3937 . . . . . . . . . 10 (𝐵 × 𝐶) ⊆ V
67 fnssres 6687 . . . . . . . . . 10 ((1st Fn V ∧ (𝐵 × 𝐶) ⊆ V) → (1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶))
6865, 66, 67mp2an 705 . . . . . . . . 9 (1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶)
6917frnd 6743 . . . . . . . . 9 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶))
70 fnco 6682 . . . . . . . . 9 (((1st ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶) ∧ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴 ∧ ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶)) → ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
7168, 18, 69, 70mp3an2i 1496 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
72 fvco3 7011 . . . . . . . . . 10 (((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
7317, 72sylan 592 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
7456adantl 487 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧) = ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩)
7574fveq2d 6915 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)) = ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
76 ffvelcdm 7108 . . . . . . . . . . . . . 14 ((𝐹:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) ∈ 𝐵)
77 ffvelcdm 7108 . . . . . . . . . . . . . 14 ((𝐺:𝐴⟶𝐶 ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) ∈ 𝐶)
78 opelxpi 5693 . . . . . . . . . . . . . 14 (((𝐹‘𝑧) ∈ 𝐵 ∧ (𝐺‘𝑧) ∈ 𝐶) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
7976, 77, 78syl2an 608 . . . . . . . . . . . . 13 (((𝐹:𝐴⟶𝐵 ∧ 𝑧 ∈ 𝐴) ∧ (𝐺:𝐴⟶𝐶 ∧ 𝑧 ∈ 𝐴)) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
8079anandirs 692 . . . . . . . . . . . 12 (((𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
81803adantl1 1185 . . . . . . . . . . 11 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩ ∈ (𝐵 × 𝐶))
8281fvresd 6931 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (1st ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
83 fvex 6924 . . . . . . . . . . 11 (𝐹‘𝑧) ∈ V
84 fvex 6924 . . . . . . . . . . 11 (𝐺‘𝑧) ∈ V
8583, 84op1st 8036 . . . . . . . . . 10 (1st ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐹‘𝑧)
8682, 85eqtrdi 2814 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((1st ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐹‘𝑧))
8773, 75, 863eqtrrd 2803 . . . . . . . 8 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (𝐹‘𝑧) = (((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧))
8862, 71, 87eqfnfvd 7058 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 = ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
8926coeq1i 5844 . . . . . . 7 (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) = ((1st ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
9088, 89eqtr4di 2816 . . . . . 6 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
91 ffn 6734 . . . . . . . . 9 (𝐺:𝐴⟶𝐶 → 𝐺 Fn 𝐴)
92913ad2ant3 1153 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 Fn 𝐴)
93 fo2nd 8049 . . . . . . . . . . 11 2nd :V⟶ontoV
94 fofn 6823 . . . . . . . . . . 11 (2nd :V⟶ontoV → 2nd Fn V)
9593, 94ax-mp 5 . . . . . . . . . 10 2nd Fn V
96 fnssres 6687 . . . . . . . . . 10 ((2nd Fn V ∧ (𝐵 × 𝐶) ⊆ V) → (2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶))
9795, 66, 96mp2an 705 . . . . . . . . 9 (2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶)
98 fnco 6682 . . . . . . . . 9 (((2nd ↾ (𝐵 × 𝐶)) Fn (𝐵 × 𝐶) ∧ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) Fn 𝐴 ∧ ran (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) ⊆ (𝐵 × 𝐶)) → ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
9997, 18, 69, 98mp3an2i 1496 . . . . . . . 8 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) Fn 𝐴)
100 fvco3 7011 . . . . . . . . . 10 (((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
10117, 100sylan 592 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧) = ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)))
10274fveq2d 6915 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)‘𝑧)) = ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
10381fvresd 6931 . . . . . . . . . 10 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (2nd ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩))
10483, 84op2nd 8037 . . . . . . . . . 10 (2nd ‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐺‘𝑧)
105103, 104eqtrdi 2814 . . . . . . . . 9 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → ((2nd ↾ (𝐵 × 𝐶))‘⟨(𝐹‘𝑧), (𝐺‘𝑧)⟩) = (𝐺‘𝑧))
106101, 102, 1053eqtrrd 2803 . . . . . . . 8 (((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) ∧ 𝑧 ∈ 𝐴) → (𝐺‘𝑧) = (((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))‘𝑧))
10792, 99, 106eqfnfvd 7058 . . . . . . 7 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 = ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
10840coeq1i 5844 . . . . . . 7 (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) = ((2nd ↾ (𝐵 × 𝐶)) ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))
109107, 108eqtr4di 2816 . . . . . 6 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
11017, 90, 1093jca 1146 . . . . 5 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) ∧ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
111 feq1 6712 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (ℎ:𝐴⟶(𝐵 × 𝐶) ↔ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶)))
112 coeq2 5843 . . . . . . 7 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝑃 ∘ ℎ) = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
113112eqeq2d 2774 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝐹 = (𝑃 ∘ ℎ) ↔ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
114 coeq2 5843 . . . . . . 7 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝑄 ∘ ℎ) = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
115114eqeq2d 2774 . . . . . 6 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (𝐺 = (𝑄 ∘ ℎ) ↔ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩))))
116111, 113, 1153anbi123d 1465 . . . . 5 (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ↔ ((𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩):𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)) ∧ 𝐺 = (𝑄 ∘ (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))))
117110, 116syl5ibrcom 250 . . . 4 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → (ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩) → (ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ))))
11860, 117impbid 215 . . 3 ((𝐴 ∈ 𝐷 ∧ 𝐹:𝐴⟶𝐵 ∧ 𝐺:𝐴⟶𝐶) → ((ℎ:𝐴⟶(𝐵 × 𝐶) ∧ 𝐹 = (𝑃 ∘ ℎ) ∧ 𝐺 = (𝑄 ∘ ℎ)) ↔ ℎ = (𝑥 ∈ 𝐴 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑥)⟩)))
119118eubidv 2614 . 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 2147  ∃!weu 2596  ∀wral 3080  Vcvv 3454   ⊆ wss 3900  ⟨cop 4838   ↦ cmpt 5190   × cxp 5654  ran crn 5657   ↾ cres 5658   ∘ ccom 5660   Fn wfn 6556  ⟶wf 6557  ⟶ontowfo 6559  ‘cfv 6561  1st c1st 8026  2nd c2nd 8027
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5236  ax-sep 5253  ax-nul 5264  ax-pr 5396  ax-un 7778
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5172  df-mpt 5191  df-id 5551  df-xp 5662  df-rel 5663  df-cnv 5664  df-co 5665  df-dm 5666  df-rn 5667  df-res 5668  df-ima 5669  df-iota 6515  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-1st 8028  df-2nd 8029
This theorem is used by:  uptx  23977  txcn  23978
  Copyright terms: Public domain W3C validator