Metamath Proof Explorer


Theorem fo2ndres

Description: Onto mapping of a restriction of the 2nd (second member of an ordered pair) function. (Contributed by NM, 14-Dec-2008)

Ref Expression
Assertion fo2ndres ( 𝐴 ≠ ∅ → ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) –onto𝐵 )

Proof

Step Hyp Ref Expression
1 n0 ( 𝐴 ≠ ∅ ↔ ∃ 𝑥 𝑥𝐴 )
2 opelxp ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) ↔ ( 𝑥𝐴𝑦𝐵 ) )
3 fvres ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) → ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) = ( 2nd ‘ ⟨ 𝑥 , 𝑦 ⟩ ) )
4 vex 𝑥 ∈ V
5 vex 𝑦 ∈ V
6 4 5 op2nd ( 2nd ‘ ⟨ 𝑥 , 𝑦 ⟩ ) = 𝑦
7 3 6 eqtr2di ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) → 𝑦 = ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) )
8 f2ndres ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐵
9 ffn ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐵 → ( 2nd ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 ) )
10 8 9 ax-mp ( 2nd ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 )
11 fnfvelrn ( ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 ) ∧ ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) ) → ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) )
12 10 11 mpan ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) → ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) )
13 7 12 eqeltrd ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝐴 × 𝐵 ) → 𝑦 ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) )
14 2 13 sylbir ( ( 𝑥𝐴𝑦𝐵 ) → 𝑦 ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) )
15 14 ex ( 𝑥𝐴 → ( 𝑦𝐵𝑦 ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ) )
16 15 exlimiv ( ∃ 𝑥 𝑥𝐴 → ( 𝑦𝐵𝑦 ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ) )
17 1 16 sylbi ( 𝐴 ≠ ∅ → ( 𝑦𝐵𝑦 ∈ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ) )
18 17 ssrdv ( 𝐴 ≠ ∅ → 𝐵 ⊆ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) )
19 frn ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐵 → ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐵 )
20 8 19 ax-mp ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐵
21 18 20 jctil ( 𝐴 ≠ ∅ → ( ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐵𝐵 ⊆ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ) )
22 eqss ( ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) = 𝐵 ↔ ( ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐵𝐵 ⊆ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) ) )
23 21 22 sylibr ( 𝐴 ≠ ∅ → ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) = 𝐵 )
24 23 8 jctil ( 𝐴 ≠ ∅ → ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐵 ∧ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) = 𝐵 ) )
25 dffo2 ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) –onto𝐵 ↔ ( ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐵 ∧ ran ( 2nd ↾ ( 𝐴 × 𝐵 ) ) = 𝐵 ) )
26 24 25 sylibr ( 𝐴 ≠ ∅ → ( 2nd ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) –onto𝐵 )