Metamath Proof Explorer


Theorem cnmpt2t

Description: The composition of continuous functions is continuous. (Contributed by Mario Carneiro, 5-May-2014) (Revised by Mario Carneiro, 22-Aug-2015)

Ref Expression
Hypotheses cnmpt21.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
cnmpt21.k ( 𝜑𝐾 ∈ ( TopOn ‘ 𝑌 ) )
cnmpt21.a ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝐿 ) )
cnmpt2t.b ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝑀 ) )
Assertion cnmpt2t ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ 𝐴 , 𝐵 ⟩ ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn ( 𝐿 ×t 𝑀 ) ) )

Proof

Step Hyp Ref Expression
1 cnmpt21.j ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
2 cnmpt21.k ( 𝜑𝐾 ∈ ( TopOn ‘ 𝑌 ) )
3 cnmpt21.a ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝐿 ) )
4 cnmpt2t.b ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝑀 ) )
5 fveq2 ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) = ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ ⟨ 𝑢 , 𝑣 ⟩ ) )
6 df-ov ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) = ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ ⟨ 𝑢 , 𝑣 ⟩ )
7 5 6 eqtr4di ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) = ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) )
8 fveq2 ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) = ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ ⟨ 𝑢 , 𝑣 ⟩ ) )
9 df-ov ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) = ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ ⟨ 𝑢 , 𝑣 ⟩ )
10 8 9 eqtr4di ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) = ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) )
11 7 10 opeq12d ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ = ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩ )
12 11 mpompt ( 𝑧 ∈ ( 𝑋 × 𝑌 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑢𝑋 , 𝑣𝑌 ↦ ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩ )
13 nfcv 𝑥 𝑢
14 nfmpo1 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 )
15 nfcv 𝑥 𝑣
16 13 14 15 nfov 𝑥 ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 )
17 nfmpo1 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 )
18 13 17 15 nfov 𝑥 ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 )
19 16 18 nfop 𝑥 ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩
20 nfcv 𝑦 𝑢
21 nfmpo2 𝑦 ( 𝑥𝑋 , 𝑦𝑌𝐴 )
22 nfcv 𝑦 𝑣
23 20 21 22 nfov 𝑦 ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 )
24 nfmpo2 𝑦 ( 𝑥𝑋 , 𝑦𝑌𝐵 )
25 20 24 22 nfov 𝑦 ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 )
26 23 25 nfop 𝑦 ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩
27 nfcv 𝑢 ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩
28 nfcv 𝑣 ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩
29 oveq12 ( ( 𝑢 = 𝑥𝑣 = 𝑦 ) → ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) = ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) )
30 oveq12 ( ( 𝑢 = 𝑥𝑣 = 𝑦 ) → ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) = ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) )
31 29 30 opeq12d ( ( 𝑢 = 𝑥𝑣 = 𝑦 ) → ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩ = ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩ )
32 19 26 27 28 31 cbvmpo ( 𝑢𝑋 , 𝑣𝑌 ↦ ⟨ ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑣 ) , ( 𝑢 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑣 ) ⟩ ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩ )
33 12 32 eqtri ( 𝑧 ∈ ( 𝑋 × 𝑌 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩ )
34 txtopon ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐾 ∈ ( TopOn ‘ 𝑌 ) ) → ( 𝐽 ×t 𝐾 ) ∈ ( TopOn ‘ ( 𝑋 × 𝑌 ) ) )
35 1 2 34 syl2anc ( 𝜑 → ( 𝐽 ×t 𝐾 ) ∈ ( TopOn ‘ ( 𝑋 × 𝑌 ) ) )
36 toponuni ( ( 𝐽 ×t 𝐾 ) ∈ ( TopOn ‘ ( 𝑋 × 𝑌 ) ) → ( 𝑋 × 𝑌 ) = ( 𝐽 ×t 𝐾 ) )
37 mpteq1 ( ( 𝑋 × 𝑌 ) = ( 𝐽 ×t 𝐾 ) → ( 𝑧 ∈ ( 𝑋 × 𝑌 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) )
38 35 36 37 3syl ( 𝜑 → ( 𝑧 ∈ ( 𝑋 × 𝑌 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) )
39 simp2 ( ( 𝜑𝑥𝑋𝑦𝑌 ) → 𝑥𝑋 )
40 simp3 ( ( 𝜑𝑥𝑋𝑦𝑌 ) → 𝑦𝑌 )
41 cntop2 ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝐿 ) → 𝐿 ∈ Top )
42 3 41 syl ( 𝜑𝐿 ∈ Top )
43 toptopon2 ( 𝐿 ∈ Top ↔ 𝐿 ∈ ( TopOn ‘ 𝐿 ) )
44 42 43 sylib ( 𝜑𝐿 ∈ ( TopOn ‘ 𝐿 ) )
45 cnf2 ( ( ( 𝐽 ×t 𝐾 ) ∈ ( TopOn ‘ ( 𝑋 × 𝑌 ) ) ∧ 𝐿 ∈ ( TopOn ‘ 𝐿 ) ∧ ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝐿 ) ) → ( 𝑥𝑋 , 𝑦𝑌𝐴 ) : ( 𝑋 × 𝑌 ) ⟶ 𝐿 )
46 35 44 3 45 syl3anc ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐴 ) : ( 𝑋 × 𝑌 ) ⟶ 𝐿 )
47 eqid ( 𝑥𝑋 , 𝑦𝑌𝐴 ) = ( 𝑥𝑋 , 𝑦𝑌𝐴 )
48 47 fmpo ( ∀ 𝑥𝑋𝑦𝑌 𝐴 𝐿 ↔ ( 𝑥𝑋 , 𝑦𝑌𝐴 ) : ( 𝑋 × 𝑌 ) ⟶ 𝐿 )
49 46 48 sylibr ( 𝜑 → ∀ 𝑥𝑋𝑦𝑌 𝐴 𝐿 )
50 rsp2 ( ∀ 𝑥𝑋𝑦𝑌 𝐴 𝐿 → ( ( 𝑥𝑋𝑦𝑌 ) → 𝐴 𝐿 ) )
51 49 50 syl ( 𝜑 → ( ( 𝑥𝑋𝑦𝑌 ) → 𝐴 𝐿 ) )
52 51 3impib ( ( 𝜑𝑥𝑋𝑦𝑌 ) → 𝐴 𝐿 )
53 47 ovmpt4g ( ( 𝑥𝑋𝑦𝑌𝐴 𝐿 ) → ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) = 𝐴 )
54 39 40 52 53 syl3anc ( ( 𝜑𝑥𝑋𝑦𝑌 ) → ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) = 𝐴 )
55 cntop2 ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝑀 ) → 𝑀 ∈ Top )
56 4 55 syl ( 𝜑𝑀 ∈ Top )
57 toptopon2 ( 𝑀 ∈ Top ↔ 𝑀 ∈ ( TopOn ‘ 𝑀 ) )
58 56 57 sylib ( 𝜑𝑀 ∈ ( TopOn ‘ 𝑀 ) )
59 cnf2 ( ( ( 𝐽 ×t 𝐾 ) ∈ ( TopOn ‘ ( 𝑋 × 𝑌 ) ) ∧ 𝑀 ∈ ( TopOn ‘ 𝑀 ) ∧ ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝑀 ) ) → ( 𝑥𝑋 , 𝑦𝑌𝐵 ) : ( 𝑋 × 𝑌 ) ⟶ 𝑀 )
60 35 58 4 59 syl3anc ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌𝐵 ) : ( 𝑋 × 𝑌 ) ⟶ 𝑀 )
61 eqid ( 𝑥𝑋 , 𝑦𝑌𝐵 ) = ( 𝑥𝑋 , 𝑦𝑌𝐵 )
62 61 fmpo ( ∀ 𝑥𝑋𝑦𝑌 𝐵 𝑀 ↔ ( 𝑥𝑋 , 𝑦𝑌𝐵 ) : ( 𝑋 × 𝑌 ) ⟶ 𝑀 )
63 60 62 sylibr ( 𝜑 → ∀ 𝑥𝑋𝑦𝑌 𝐵 𝑀 )
64 rsp2 ( ∀ 𝑥𝑋𝑦𝑌 𝐵 𝑀 → ( ( 𝑥𝑋𝑦𝑌 ) → 𝐵 𝑀 ) )
65 63 64 syl ( 𝜑 → ( ( 𝑥𝑋𝑦𝑌 ) → 𝐵 𝑀 ) )
66 65 3impib ( ( 𝜑𝑥𝑋𝑦𝑌 ) → 𝐵 𝑀 )
67 61 ovmpt4g ( ( 𝑥𝑋𝑦𝑌𝐵 𝑀 ) → ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) = 𝐵 )
68 39 40 66 67 syl3anc ( ( 𝜑𝑥𝑋𝑦𝑌 ) → ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) = 𝐵 )
69 54 68 opeq12d ( ( 𝜑𝑥𝑋𝑦𝑌 ) → ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩ = ⟨ 𝐴 , 𝐵 ⟩ )
70 69 mpoeq3dva ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐴 ) 𝑦 ) , ( 𝑥 ( 𝑥𝑋 , 𝑦𝑌𝐵 ) 𝑦 ) ⟩ ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ 𝐴 , 𝐵 ⟩ ) )
71 33 38 70 3eqtr3a ( 𝜑 → ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ 𝐴 , 𝐵 ⟩ ) )
72 eqid ( 𝐽 ×t 𝐾 ) = ( 𝐽 ×t 𝐾 )
73 eqid ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) = ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ )
74 72 73 txcnmpt ( ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝐿 ) ∧ ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn 𝑀 ) ) → ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn ( 𝐿 ×t 𝑀 ) ) )
75 3 4 74 syl2anc ( 𝜑 → ( 𝑧 ( 𝐽 ×t 𝐾 ) ↦ ⟨ ( ( 𝑥𝑋 , 𝑦𝑌𝐴 ) ‘ 𝑧 ) , ( ( 𝑥𝑋 , 𝑦𝑌𝐵 ) ‘ 𝑧 ) ⟩ ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn ( 𝐿 ×t 𝑀 ) ) )
76 71 75 eqeltrrd ( 𝜑 → ( 𝑥𝑋 , 𝑦𝑌 ↦ ⟨ 𝐴 , 𝐵 ⟩ ) ∈ ( ( 𝐽 ×t 𝐾 ) Cn ( 𝐿 ×t 𝑀 ) ) )