Metamath Proof Explorer


Theorem unirnmapsn

Description: Equality theorem for a subset of a set exponentiation, where the exponent is a singleton. (Contributed by Glauco Siliprandi, 3-Mar-2021)

Ref Expression
Hypotheses unirnmapsn.A ( 𝜑𝐴𝑉 )
unirnmapsn.b ( 𝜑𝐵𝑊 )
unirnmapsn.C 𝐶 = { 𝐴 }
unirnmapsn.x ( 𝜑𝑋 ⊆ ( 𝐵m 𝐶 ) )
Assertion unirnmapsn ( 𝜑𝑋 = ( ran 𝑋m 𝐶 ) )

Proof

Step Hyp Ref Expression
1 unirnmapsn.A ( 𝜑𝐴𝑉 )
2 unirnmapsn.b ( 𝜑𝐵𝑊 )
3 unirnmapsn.C 𝐶 = { 𝐴 }
4 unirnmapsn.x ( 𝜑𝑋 ⊆ ( 𝐵m 𝐶 ) )
5 snex { 𝐴 } ∈ V
6 3 5 eqeltri 𝐶 ∈ V
7 6 a1i ( 𝜑𝐶 ∈ V )
8 7 4 unirnmap ( 𝜑𝑋 ⊆ ( ran 𝑋m 𝐶 ) )
9 simpl ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → 𝜑 )
10 equid 𝑔 = 𝑔
11 rnuni ran 𝑋 = 𝑓𝑋 ran 𝑓
12 11 oveq1i ( ran 𝑋m 𝐶 ) = ( 𝑓𝑋 ran 𝑓m 𝐶 )
13 10 12 eleq12i ( 𝑔 ∈ ( ran 𝑋m 𝐶 ) ↔ 𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) )
14 13 bilani ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → 𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) )
15 ovexd ( 𝜑 → ( 𝐵m 𝐶 ) ∈ V )
16 15 4 ssexd ( 𝜑𝑋 ∈ V )
17 rnexg ( 𝑓𝑋 → ran 𝑓 ∈ V )
18 17 rgen 𝑓𝑋 ran 𝑓 ∈ V
19 18 a1i ( 𝜑 → ∀ 𝑓𝑋 ran 𝑓 ∈ V )
20 iunexg ( ( 𝑋 ∈ V ∧ ∀ 𝑓𝑋 ran 𝑓 ∈ V ) → 𝑓𝑋 ran 𝑓 ∈ V )
21 16 19 20 syl2anc ( 𝜑 𝑓𝑋 ran 𝑓 ∈ V )
22 21 7 elmapd ( 𝜑 → ( 𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) ↔ 𝑔 : 𝐶 𝑓𝑋 ran 𝑓 ) )
23 22 biimpa ( ( 𝜑𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) ) → 𝑔 : 𝐶 𝑓𝑋 ran 𝑓 )
24 snidg ( 𝐴𝑉𝐴 ∈ { 𝐴 } )
25 1 24 syl ( 𝜑𝐴 ∈ { 𝐴 } )
26 25 3 eleqtrrdi ( 𝜑𝐴𝐶 )
27 26 adantr ( ( 𝜑𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) ) → 𝐴𝐶 )
28 23 27 ffvelcdmd ( ( 𝜑𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) ) → ( 𝑔𝐴 ) ∈ 𝑓𝑋 ran 𝑓 )
29 eliun ( ( 𝑔𝐴 ) ∈ 𝑓𝑋 ran 𝑓 ↔ ∃ 𝑓𝑋 ( 𝑔𝐴 ) ∈ ran 𝑓 )
30 28 29 sylib ( ( 𝜑𝑔 ∈ ( 𝑓𝑋 ran 𝑓m 𝐶 ) ) → ∃ 𝑓𝑋 ( 𝑔𝐴 ) ∈ ran 𝑓 )
31 9 14 30 syl2anc ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → ∃ 𝑓𝑋 ( 𝑔𝐴 ) ∈ ran 𝑓 )
32 elmapfn ( 𝑔 ∈ ( ran 𝑋m 𝐶 ) → 𝑔 Fn 𝐶 )
33 32 adantl ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → 𝑔 Fn 𝐶 )
34 simp3 ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ( 𝑔𝐴 ) ∈ ran 𝑓 )
35 1 3ad2ant1 ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝐴𝑉 )
36 3 oveq2i ( 𝐵m 𝐶 ) = ( 𝐵m { 𝐴 } )
37 4 36 sseqtrdi ( 𝜑𝑋 ⊆ ( 𝐵m { 𝐴 } ) )
38 37 adantr ( ( 𝜑𝑓𝑋 ) → 𝑋 ⊆ ( 𝐵m { 𝐴 } ) )
39 simpr ( ( 𝜑𝑓𝑋 ) → 𝑓𝑋 )
40 38 39 sseldd ( ( 𝜑𝑓𝑋 ) → 𝑓 ∈ ( 𝐵m { 𝐴 } ) )
41 2 adantr ( ( 𝜑𝑓𝑋 ) → 𝐵𝑊 )
42 5 a1i ( ( 𝜑𝑓𝑋 ) → { 𝐴 } ∈ V )
43 41 42 elmapd ( ( 𝜑𝑓𝑋 ) → ( 𝑓 ∈ ( 𝐵m { 𝐴 } ) ↔ 𝑓 : { 𝐴 } ⟶ 𝐵 ) )
44 40 43 mpbid ( ( 𝜑𝑓𝑋 ) → 𝑓 : { 𝐴 } ⟶ 𝐵 )
45 44 3adant3 ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑓 : { 𝐴 } ⟶ 𝐵 )
46 35 45 rnsnf ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ran 𝑓 = { ( 𝑓𝐴 ) } )
47 34 46 eleqtrd ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ( 𝑔𝐴 ) ∈ { ( 𝑓𝐴 ) } )
48 fvex ( 𝑔𝐴 ) ∈ V
49 48 elsn ( ( 𝑔𝐴 ) ∈ { ( 𝑓𝐴 ) } ↔ ( 𝑔𝐴 ) = ( 𝑓𝐴 ) )
50 47 49 sylib ( ( 𝜑𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ( 𝑔𝐴 ) = ( 𝑓𝐴 ) )
51 50 3adant1r ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ( 𝑔𝐴 ) = ( 𝑓𝐴 ) )
52 1 adantr ( ( 𝜑𝑔 Fn 𝐶 ) → 𝐴𝑉 )
53 52 3ad2ant1 ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝐴𝑉 )
54 simp1r ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑔 Fn 𝐶 )
55 40 36 eleqtrrdi ( ( 𝜑𝑓𝑋 ) → 𝑓 ∈ ( 𝐵m 𝐶 ) )
56 elmapfn ( 𝑓 ∈ ( 𝐵m 𝐶 ) → 𝑓 Fn 𝐶 )
57 55 56 syl ( ( 𝜑𝑓𝑋 ) → 𝑓 Fn 𝐶 )
58 57 adantlr ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ) → 𝑓 Fn 𝐶 )
59 58 3adant3 ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑓 Fn 𝐶 )
60 53 3 54 59 fsneq ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → ( 𝑔 = 𝑓 ↔ ( 𝑔𝐴 ) = ( 𝑓𝐴 ) ) )
61 51 60 mpbird ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑔 = 𝑓 )
62 simp2 ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑓𝑋 )
63 61 62 eqeltrd ( ( ( 𝜑𝑔 Fn 𝐶 ) ∧ 𝑓𝑋 ∧ ( 𝑔𝐴 ) ∈ ran 𝑓 ) → 𝑔𝑋 )
64 63 3exp ( ( 𝜑𝑔 Fn 𝐶 ) → ( 𝑓𝑋 → ( ( 𝑔𝐴 ) ∈ ran 𝑓𝑔𝑋 ) ) )
65 9 33 64 syl2anc ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → ( 𝑓𝑋 → ( ( 𝑔𝐴 ) ∈ ran 𝑓𝑔𝑋 ) ) )
66 65 rexlimdv ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → ( ∃ 𝑓𝑋 ( 𝑔𝐴 ) ∈ ran 𝑓𝑔𝑋 ) )
67 31 66 mpd ( ( 𝜑𝑔 ∈ ( ran 𝑋m 𝐶 ) ) → 𝑔𝑋 )
68 8 67 eqelssd ( 𝜑𝑋 = ( ran 𝑋m 𝐶 ) )