Metamath Proof Explorer


Theorem iunmapsn

Description: The indexed union of set exponentiations to a singleton is equal to the set exponentiation of the indexed union. (Contributed by Glauco Siliprandi, 3-Mar-2021)

Ref Expression
Hypotheses iunmapsn.x 𝑥 𝜑
iunmapsn.a ( 𝜑𝐴𝑉 )
iunmapsn.b ( ( 𝜑𝑥𝐴 ) → 𝐵𝑊 )
iunmapsn.c ( 𝜑𝐶𝑍 )
Assertion iunmapsn ( 𝜑 𝑥𝐴 ( 𝐵m { 𝐶 } ) = ( 𝑥𝐴 𝐵m { 𝐶 } ) )

Proof

Step Hyp Ref Expression
1 iunmapsn.x 𝑥 𝜑
2 iunmapsn.a ( 𝜑𝐴𝑉 )
3 iunmapsn.b ( ( 𝜑𝑥𝐴 ) → 𝐵𝑊 )
4 iunmapsn.c ( 𝜑𝐶𝑍 )
5 1 2 3 iunmapss ( 𝜑 𝑥𝐴 ( 𝐵m { 𝐶 } ) ⊆ ( 𝑥𝐴 𝐵m { 𝐶 } ) )
6 simpr ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → 𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) )
7 3 ex ( 𝜑 → ( 𝑥𝐴𝐵𝑊 ) )
8 1 7 ralrimi ( 𝜑 → ∀ 𝑥𝐴 𝐵𝑊 )
9 iunexg ( ( 𝐴𝑉 ∧ ∀ 𝑥𝐴 𝐵𝑊 ) → 𝑥𝐴 𝐵 ∈ V )
10 2 8 9 syl2anc ( 𝜑 𝑥𝐴 𝐵 ∈ V )
11 10 4 mapsnd ( 𝜑 → ( 𝑥𝐴 𝐵m { 𝐶 } ) = { 𝑓 ∣ ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
12 11 adantr ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → ( 𝑥𝐴 𝐵m { 𝐶 } ) = { 𝑓 ∣ ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
13 6 12 eleqtrd ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
14 abid ( 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } ↔ ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
15 13 14 sylib ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
16 eliun ( 𝑦 𝑥𝐴 𝐵 ↔ ∃ 𝑥𝐴 𝑦𝐵 )
17 16 biimpi ( 𝑦 𝑥𝐴 𝐵 → ∃ 𝑥𝐴 𝑦𝐵 )
18 17 3ad2ant2 ( ( 𝜑𝑦 𝑥𝐴 𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ∃ 𝑥𝐴 𝑦𝐵 )
19 nfcv 𝑥 𝑦
20 nfiu1 𝑥 𝑥𝐴 𝐵
21 19 20 nfel 𝑥 𝑦 𝑥𝐴 𝐵
22 nfv 𝑥 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ }
23 1 21 22 nf3an 𝑥 ( 𝜑𝑦 𝑥𝐴 𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
24 rspe ( ( 𝑦𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
25 24 ancoms ( ( 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ∧ 𝑦𝐵 ) → ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
26 abid ( 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } ↔ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } )
27 25 26 sylibr ( ( 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ∧ 𝑦𝐵 ) → 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
28 27 adantll ( ( ( 𝜑𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) ∧ 𝑦𝐵 ) → 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
29 28 3adant2 ( ( ( 𝜑𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) ∧ 𝑥𝐴𝑦𝐵 ) → 𝑓 ∈ { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
30 4 adantr ( ( 𝜑𝑥𝐴 ) → 𝐶𝑍 )
31 3 30 mapsnd ( ( 𝜑𝑥𝐴 ) → ( 𝐵m { 𝐶 } ) = { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } )
32 31 eqcomd ( ( 𝜑𝑥𝐴 ) → { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } = ( 𝐵m { 𝐶 } ) )
33 32 3adant3 ( ( 𝜑𝑥𝐴𝑦𝐵 ) → { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } = ( 𝐵m { 𝐶 } ) )
34 33 3adant1r ( ( ( 𝜑𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) ∧ 𝑥𝐴𝑦𝐵 ) → { 𝑓 ∣ ∃ 𝑦𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } } = ( 𝐵m { 𝐶 } ) )
35 29 34 eleqtrd ( ( ( 𝜑𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) ∧ 𝑥𝐴𝑦𝐵 ) → 𝑓 ∈ ( 𝐵m { 𝐶 } ) )
36 35 3exp ( ( 𝜑𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ( 𝑥𝐴 → ( 𝑦𝐵𝑓 ∈ ( 𝐵m { 𝐶 } ) ) ) )
37 36 3adant2 ( ( 𝜑𝑦 𝑥𝐴 𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ( 𝑥𝐴 → ( 𝑦𝐵𝑓 ∈ ( 𝐵m { 𝐶 } ) ) ) )
38 23 37 reximdai ( ( 𝜑𝑦 𝑥𝐴 𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ( ∃ 𝑥𝐴 𝑦𝐵 → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) ) )
39 18 38 mpd ( ( 𝜑𝑦 𝑥𝐴 𝐵𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } ) → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) )
40 39 3exp ( 𝜑 → ( 𝑦 𝑥𝐴 𝐵 → ( 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) ) ) )
41 40 rexlimdv ( 𝜑 → ( ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) ) )
42 41 adantr ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → ( ∃ 𝑦 𝑥𝐴 𝐵 𝑓 = { ⟨ 𝐶 , 𝑦 ⟩ } → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) ) )
43 15 42 mpd ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) )
44 eliun ( 𝑓 𝑥𝐴 ( 𝐵m { 𝐶 } ) ↔ ∃ 𝑥𝐴 𝑓 ∈ ( 𝐵m { 𝐶 } ) )
45 43 44 sylibr ( ( 𝜑𝑓 ∈ ( 𝑥𝐴 𝐵m { 𝐶 } ) ) → 𝑓 𝑥𝐴 ( 𝐵m { 𝐶 } ) )
46 5 45 eqelssd ( 𝜑 𝑥𝐴 ( 𝐵m { 𝐶 } ) = ( 𝑥𝐴 𝐵m { 𝐶 } ) )