Metamath Proof Explorer


Theorem slotresfo

Description: The condition of a structure component extractor restricted to a class being a surjection. This combined with fonex can be used to prove a class being proper. (Contributed by Zhi Wang, 20-Oct-2025)

Ref Expression
Hypotheses slotresfo.e 𝐸 Fn V
slotresfo.v ( 𝑘𝐴 → ( 𝐸𝑘 ) ∈ 𝑉 )
slotresfo.k ( 𝑏𝑉𝐾𝐴 )
slotresfo.b ( 𝑏𝑉𝑏 = ( 𝐸𝐾 ) )
Assertion slotresfo ( 𝐸𝐴 ) : 𝐴onto𝑉

Proof

Step Hyp Ref Expression
1 slotresfo.e 𝐸 Fn V
2 slotresfo.v ( 𝑘𝐴 → ( 𝐸𝑘 ) ∈ 𝑉 )
3 slotresfo.k ( 𝑏𝑉𝐾𝐴 )
4 slotresfo.b ( 𝑏𝑉𝑏 = ( 𝐸𝐾 ) )
5 ssv 𝐴 ⊆ V
6 fnssres ( ( 𝐸 Fn V ∧ 𝐴 ⊆ V ) → ( 𝐸𝐴 ) Fn 𝐴 )
7 1 5 6 mp2an ( 𝐸𝐴 ) Fn 𝐴
8 fvres ( 𝑘𝐴 → ( ( 𝐸𝐴 ) ‘ 𝑘 ) = ( 𝐸𝑘 ) )
9 8 2 eqeltrd ( 𝑘𝐴 → ( ( 𝐸𝐴 ) ‘ 𝑘 ) ∈ 𝑉 )
10 9 rgen 𝑘𝐴 ( ( 𝐸𝐴 ) ‘ 𝑘 ) ∈ 𝑉
11 fnfvrnss ( ( ( 𝐸𝐴 ) Fn 𝐴 ∧ ∀ 𝑘𝐴 ( ( 𝐸𝐴 ) ‘ 𝑘 ) ∈ 𝑉 ) → ran ( 𝐸𝐴 ) ⊆ 𝑉 )
12 7 10 11 mp2an ran ( 𝐸𝐴 ) ⊆ 𝑉
13 df-f ( ( 𝐸𝐴 ) : 𝐴𝑉 ↔ ( ( 𝐸𝐴 ) Fn 𝐴 ∧ ran ( 𝐸𝐴 ) ⊆ 𝑉 ) )
14 7 12 13 mpbir2an ( 𝐸𝐴 ) : 𝐴𝑉
15 fveq2 ( 𝑘 = 𝐾 → ( 𝐸𝑘 ) = ( 𝐸𝐾 ) )
16 15 eqeq2d ( 𝑘 = 𝐾 → ( 𝑏 = ( 𝐸𝑘 ) ↔ 𝑏 = ( 𝐸𝐾 ) ) )
17 16 3 4 rspcedvdw ( 𝑏𝑉 → ∃ 𝑘𝐴 𝑏 = ( 𝐸𝑘 ) )
18 8 eqeq2d ( 𝑘𝐴 → ( 𝑏 = ( ( 𝐸𝐴 ) ‘ 𝑘 ) ↔ 𝑏 = ( 𝐸𝑘 ) ) )
19 18 rexbiia ( ∃ 𝑘𝐴 𝑏 = ( ( 𝐸𝐴 ) ‘ 𝑘 ) ↔ ∃ 𝑘𝐴 𝑏 = ( 𝐸𝑘 ) )
20 17 19 sylibr ( 𝑏𝑉 → ∃ 𝑘𝐴 𝑏 = ( ( 𝐸𝐴 ) ‘ 𝑘 ) )
21 20 rgen 𝑏𝑉𝑘𝐴 𝑏 = ( ( 𝐸𝐴 ) ‘ 𝑘 )
22 dffo3 ( ( 𝐸𝐴 ) : 𝐴onto𝑉 ↔ ( ( 𝐸𝐴 ) : 𝐴𝑉 ∧ ∀ 𝑏𝑉𝑘𝐴 𝑏 = ( ( 𝐸𝐴 ) ‘ 𝑘 ) ) )
23 14 21 22 mpbir2an ( 𝐸𝐴 ) : 𝐴onto𝑉