Metamath Proof Explorer


Theorem imasetpreimafvbijlemfo

Description: Lemma for imasetpreimafvbij : the mapping H is a function onto the range of function F . (Contributed by AV, 22-Mar-2024)

Ref Expression
Hypotheses fundcmpsurinj.p 𝑃 = { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = ( 𝐹 “ { ( 𝐹𝑥 ) } ) }
fundcmpsurinj.h 𝐻 = ( 𝑝𝑃 ( 𝐹𝑝 ) )
Assertion imasetpreimafvbijlemfo ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → 𝐻 : 𝑃onto→ ( 𝐹𝐴 ) )

Proof

Step Hyp Ref Expression
1 fundcmpsurinj.p 𝑃 = { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = ( 𝐹 “ { ( 𝐹𝑥 ) } ) }
2 fundcmpsurinj.h 𝐻 = ( 𝑝𝑃 ( 𝐹𝑝 ) )
3 1 2 imasetpreimafvbijlemf ( 𝐹 Fn 𝐴𝐻 : 𝑃 ⟶ ( 𝐹𝐴 ) )
4 3 adantr ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → 𝐻 : 𝑃 ⟶ ( 𝐹𝐴 ) )
5 1 preimafvelsetpreimafv ( ( 𝐹 Fn 𝐴𝐴𝑉𝑎𝐴 ) → ( 𝐹 “ { ( 𝐹𝑎 ) } ) ∈ 𝑃 )
6 5 3expa ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ( 𝐹 “ { ( 𝐹𝑎 ) } ) ∈ 𝑃 )
7 imaeq2 ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ( 𝐹𝑝 ) = ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) )
8 7 unieqd ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ( 𝐹𝑝 ) = ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) )
9 8 eqeq2d ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ( ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ↔ ( 𝐹𝑎 ) = ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) ) )
10 9 adantl ( ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) ∧ 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) → ( ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ↔ ( 𝐹𝑎 ) = ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) ) )
11 uniimaprimaeqfv ( ( 𝐹 Fn 𝐴𝑎𝐴 ) → ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) = ( 𝐹𝑎 ) )
12 11 adantlr ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) = ( 𝐹𝑎 ) )
13 12 eqcomd ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ( 𝐹𝑎 ) = ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) )
14 6 10 13 rspcedvd ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ∃ 𝑝𝑃 ( 𝐹𝑎 ) = ( 𝐹𝑝 ) )
15 eqeq1 ( 𝑦 = ( 𝐹𝑎 ) → ( 𝑦 = ( 𝐹𝑝 ) ↔ ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
16 15 eqcoms ( ( 𝐹𝑎 ) = 𝑦 → ( 𝑦 = ( 𝐹𝑝 ) ↔ ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
17 16 rexbidv ( ( 𝐹𝑎 ) = 𝑦 → ( ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) ↔ ∃ 𝑝𝑃 ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
18 14 17 syl5ibrcom ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ( ( 𝐹𝑎 ) = 𝑦 → ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) ) )
19 18 rexlimdva ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 → ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) ) )
20 8 eqcomd ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ( 𝐹 “ ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) = ( 𝐹𝑝 ) )
21 13 20 sylan9eq ( ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) ∧ 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) ) → ( 𝐹𝑎 ) = ( 𝐹𝑝 ) )
22 21 ex ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑎𝐴 ) → ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
23 22 reximdva ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( ∃ 𝑎𝐴 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) → ∃ 𝑎𝐴 ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
24 1 elsetpreimafv ( 𝑝𝑃 → ∃ 𝑥𝐴 𝑝 = ( 𝐹 “ { ( 𝐹𝑥 ) } ) )
25 fveq2 ( 𝑎 = 𝑥 → ( 𝐹𝑎 ) = ( 𝐹𝑥 ) )
26 25 sneqd ( 𝑎 = 𝑥 → { ( 𝐹𝑎 ) } = { ( 𝐹𝑥 ) } )
27 26 imaeq2d ( 𝑎 = 𝑥 → ( 𝐹 “ { ( 𝐹𝑎 ) } ) = ( 𝐹 “ { ( 𝐹𝑥 ) } ) )
28 27 eqeq2d ( 𝑎 = 𝑥 → ( 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) ↔ 𝑝 = ( 𝐹 “ { ( 𝐹𝑥 ) } ) ) )
29 28 cbvrexvw ( ∃ 𝑎𝐴 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) ↔ ∃ 𝑥𝐴 𝑝 = ( 𝐹 “ { ( 𝐹𝑥 ) } ) )
30 24 29 sylibr ( 𝑝𝑃 → ∃ 𝑎𝐴 𝑝 = ( 𝐹 “ { ( 𝐹𝑎 ) } ) )
31 23 30 impel ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑝𝑃 ) → ∃ 𝑎𝐴 ( 𝐹𝑎 ) = ( 𝐹𝑝 ) )
32 eqeq2 ( 𝑦 = ( 𝐹𝑝 ) → ( ( 𝐹𝑎 ) = 𝑦 ↔ ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
33 32 rexbidv ( 𝑦 = ( 𝐹𝑝 ) → ( ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 ↔ ∃ 𝑎𝐴 ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ) )
34 31 33 syl5ibrcom ( ( ( 𝐹 Fn 𝐴𝐴𝑉 ) ∧ 𝑝𝑃 ) → ( 𝑦 = ( 𝐹𝑝 ) → ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 ) )
35 34 rexlimdva ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) → ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 ) )
36 19 35 impbid ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 ↔ ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) ) )
37 36 abbidv ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → { 𝑦 ∣ ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 } = { 𝑦 ∣ ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) } )
38 fnfun ( 𝐹 Fn 𝐴 → Fun 𝐹 )
39 fndm ( 𝐹 Fn 𝐴 → dom 𝐹 = 𝐴 )
40 eqimss2 ( dom 𝐹 = 𝐴𝐴 ⊆ dom 𝐹 )
41 39 40 syl ( 𝐹 Fn 𝐴𝐴 ⊆ dom 𝐹 )
42 38 41 jca ( 𝐹 Fn 𝐴 → ( Fun 𝐹𝐴 ⊆ dom 𝐹 ) )
43 42 adantr ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( Fun 𝐹𝐴 ⊆ dom 𝐹 ) )
44 dfimafn ( ( Fun 𝐹𝐴 ⊆ dom 𝐹 ) → ( 𝐹𝐴 ) = { 𝑦 ∣ ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 } )
45 43 44 syl ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ( 𝐹𝐴 ) = { 𝑦 ∣ ∃ 𝑎𝐴 ( 𝐹𝑎 ) = 𝑦 } )
46 2 rnmpt ran 𝐻 = { 𝑦 ∣ ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) }
47 46 a1i ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ran 𝐻 = { 𝑦 ∣ ∃ 𝑝𝑃 𝑦 = ( 𝐹𝑝 ) } )
48 37 45 47 3eqtr4rd ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → ran 𝐻 = ( 𝐹𝐴 ) )
49 dffo2 ( 𝐻 : 𝑃onto→ ( 𝐹𝐴 ) ↔ ( 𝐻 : 𝑃 ⟶ ( 𝐹𝐴 ) ∧ ran 𝐻 = ( 𝐹𝐴 ) ) )
50 4 48 49 sylanbrc ( ( 𝐹 Fn 𝐴𝐴𝑉 ) → 𝐻 : 𝑃onto→ ( 𝐹𝐴 ) )