Metamath Proof Explorer


Theorem ovmptss

Description: If all the values of the mapping are subsets of a class X , then so is any evaluation of the mapping. (Contributed by Mario Carneiro, 24-Dec-2016)

Ref Expression
Hypothesis ovmptss.1 𝐹 = ( 𝑥𝐴 , 𝑦𝐵𝐶 )
Assertion ovmptss ( ∀ 𝑥𝐴𝑦𝐵 𝐶𝑋 → ( 𝐸 𝐹 𝐺 ) ⊆ 𝑋 )

Proof

Step Hyp Ref Expression
1 ovmptss.1 𝐹 = ( 𝑥𝐴 , 𝑦𝐵𝐶 )
2 mpomptsx ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑧 𝑥𝐴 ( { 𝑥 } × 𝐵 ) ↦ ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 )
3 1 2 eqtri 𝐹 = ( 𝑧 𝑥𝐴 ( { 𝑥 } × 𝐵 ) ↦ ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 )
4 3 fvmptss ( ∀ 𝑧 𝑥𝐴 ( { 𝑥 } × 𝐵 ) ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 → ( 𝐹 ‘ ⟨ 𝐸 , 𝐺 ⟩ ) ⊆ 𝑋 )
5 vex 𝑢 ∈ V
6 vex 𝑣 ∈ V
7 5 6 op1std ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( 1st𝑧 ) = 𝑢 )
8 7 csbeq1d ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 = 𝑢 / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 )
9 5 6 op2ndd ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( 2nd𝑧 ) = 𝑣 )
10 9 csbeq1d ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( 2nd𝑧 ) / 𝑦 𝐶 = 𝑣 / 𝑦 𝐶 )
11 10 csbeq2dv ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → 𝑢 / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 = 𝑢 / 𝑥 𝑣 / 𝑦 𝐶 )
12 8 11 eqtrd ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶 = 𝑢 / 𝑥 𝑣 / 𝑦 𝐶 )
13 12 sseq1d ( 𝑧 = ⟨ 𝑢 , 𝑣 ⟩ → ( ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 ) )
14 13 raliunxp ( ∀ 𝑧 𝑢𝐴 ( { 𝑢 } × 𝑢 / 𝑥 𝐵 ) ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 ↔ ∀ 𝑢𝐴𝑣 𝑢 / 𝑥 𝐵 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 )
15 nfcv 𝑢 ( { 𝑥 } × 𝐵 )
16 nfcv 𝑥 { 𝑢 }
17 nfcsb1v 𝑥 𝑢 / 𝑥 𝐵
18 16 17 nfxp 𝑥 ( { 𝑢 } × 𝑢 / 𝑥 𝐵 )
19 sneq ( 𝑥 = 𝑢 → { 𝑥 } = { 𝑢 } )
20 csbeq1a ( 𝑥 = 𝑢𝐵 = 𝑢 / 𝑥 𝐵 )
21 19 20 xpeq12d ( 𝑥 = 𝑢 → ( { 𝑥 } × 𝐵 ) = ( { 𝑢 } × 𝑢 / 𝑥 𝐵 ) )
22 15 18 21 cbviun 𝑥𝐴 ( { 𝑥 } × 𝐵 ) = 𝑢𝐴 ( { 𝑢 } × 𝑢 / 𝑥 𝐵 )
23 22 raleqi ( ∀ 𝑧 𝑥𝐴 ( { 𝑥 } × 𝐵 ) ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 ↔ ∀ 𝑧 𝑢𝐴 ( { 𝑢 } × 𝑢 / 𝑥 𝐵 ) ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 )
24 nfv 𝑢𝑦𝐵 𝐶𝑋
25 nfcsb1v 𝑥 𝑢 / 𝑥 𝑣 / 𝑦 𝐶
26 nfcv 𝑥 𝑋
27 25 26 nfss 𝑥 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋
28 17 27 nfralw 𝑥𝑣 𝑢 / 𝑥 𝐵 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋
29 nfv 𝑣 𝐶𝑋
30 nfcsb1v 𝑦 𝑣 / 𝑦 𝐶
31 nfcv 𝑦 𝑋
32 30 31 nfss 𝑦 𝑣 / 𝑦 𝐶𝑋
33 csbeq1a ( 𝑦 = 𝑣𝐶 = 𝑣 / 𝑦 𝐶 )
34 33 sseq1d ( 𝑦 = 𝑣 → ( 𝐶𝑋 𝑣 / 𝑦 𝐶𝑋 ) )
35 29 32 34 cbvralw ( ∀ 𝑦𝐵 𝐶𝑋 ↔ ∀ 𝑣𝐵 𝑣 / 𝑦 𝐶𝑋 )
36 csbeq1a ( 𝑥 = 𝑢 𝑣 / 𝑦 𝐶 = 𝑢 / 𝑥 𝑣 / 𝑦 𝐶 )
37 36 sseq1d ( 𝑥 = 𝑢 → ( 𝑣 / 𝑦 𝐶𝑋 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 ) )
38 20 37 raleqbidv ( 𝑥 = 𝑢 → ( ∀ 𝑣𝐵 𝑣 / 𝑦 𝐶𝑋 ↔ ∀ 𝑣 𝑢 / 𝑥 𝐵 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 ) )
39 35 38 bitrid ( 𝑥 = 𝑢 → ( ∀ 𝑦𝐵 𝐶𝑋 ↔ ∀ 𝑣 𝑢 / 𝑥 𝐵 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 ) )
40 24 28 39 cbvralw ( ∀ 𝑥𝐴𝑦𝐵 𝐶𝑋 ↔ ∀ 𝑢𝐴𝑣 𝑢 / 𝑥 𝐵 𝑢 / 𝑥 𝑣 / 𝑦 𝐶𝑋 )
41 14 23 40 3bitr4ri ( ∀ 𝑥𝐴𝑦𝐵 𝐶𝑋 ↔ ∀ 𝑧 𝑥𝐴 ( { 𝑥 } × 𝐵 ) ( 1st𝑧 ) / 𝑥 ( 2nd𝑧 ) / 𝑦 𝐶𝑋 )
42 df-ov ( 𝐸 𝐹 𝐺 ) = ( 𝐹 ‘ ⟨ 𝐸 , 𝐺 ⟩ )
43 42 sseq1i ( ( 𝐸 𝐹 𝐺 ) ⊆ 𝑋 ↔ ( 𝐹 ‘ ⟨ 𝐸 , 𝐺 ⟩ ) ⊆ 𝑋 )
44 4 41 43 3imtr4i ( ∀ 𝑥𝐴𝑦𝐵 𝐶𝑋 → ( 𝐸 𝐹 𝐺 ) ⊆ 𝑋 )