Metamath Proof Explorer


Theorem ituniiun

Description: Unwrap an iterated union from the "other end". (Contributed by Stefan O'Rear, 11-Feb-2015)

Ref Expression
Hypothesis ituni.u 𝑈 = ( 𝑥 ∈ V ↦ ( rec ( ( 𝑦 ∈ V ↦ 𝑦 ) , 𝑥 ) ↾ ω ) )
Assertion ituniiun ( 𝐴𝑉 → ( ( 𝑈𝐴 ) ‘ suc 𝐵 ) = 𝑎𝐴 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )

Proof

Step Hyp Ref Expression
1 ituni.u 𝑈 = ( 𝑥 ∈ V ↦ ( rec ( ( 𝑦 ∈ V ↦ 𝑦 ) , 𝑥 ) ↾ ω ) )
2 fveq2 ( 𝑏 = 𝐴 → ( 𝑈𝑏 ) = ( 𝑈𝐴 ) )
3 2 fveq1d ( 𝑏 = 𝐴 → ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = ( ( 𝑈𝐴 ) ‘ suc 𝐵 ) )
4 iuneq1 ( 𝑏 = 𝐴 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) = 𝑎𝐴 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )
5 3 4 eqeq12d ( 𝑏 = 𝐴 → ( ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) ↔ ( ( 𝑈𝐴 ) ‘ suc 𝐵 ) = 𝑎𝐴 ( ( 𝑈𝑎 ) ‘ 𝐵 ) ) )
6 suceq ( 𝑑 = ∅ → suc 𝑑 = suc ∅ )
7 6 fveq2d ( 𝑑 = ∅ → ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = ( ( 𝑈𝑏 ) ‘ suc ∅ ) )
8 fveq2 ( 𝑑 = ∅ → ( ( 𝑈𝑎 ) ‘ 𝑑 ) = ( ( 𝑈𝑎 ) ‘ ∅ ) )
9 8 iuneq2d ( 𝑑 = ∅ → 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ ∅ ) )
10 7 9 eqeq12d ( 𝑑 = ∅ → ( ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) ↔ ( ( 𝑈𝑏 ) ‘ suc ∅ ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ ∅ ) ) )
11 suceq ( 𝑑 = 𝑐 → suc 𝑑 = suc 𝑐 )
12 11 fveq2d ( 𝑑 = 𝑐 → ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) )
13 fveq2 ( 𝑑 = 𝑐 → ( ( 𝑈𝑎 ) ‘ 𝑑 ) = ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
14 13 iuneq2d ( 𝑑 = 𝑐 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
15 12 14 eqeq12d ( 𝑑 = 𝑐 → ( ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) ↔ ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) ) )
16 suceq ( 𝑑 = suc 𝑐 → suc 𝑑 = suc suc 𝑐 )
17 16 fveq2d ( 𝑑 = suc 𝑐 → ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = ( ( 𝑈𝑏 ) ‘ suc suc 𝑐 ) )
18 fveq2 ( 𝑑 = suc 𝑐 → ( ( 𝑈𝑎 ) ‘ 𝑑 ) = ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) )
19 18 iuneq2d ( 𝑑 = suc 𝑐 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) )
20 17 19 eqeq12d ( 𝑑 = suc 𝑐 → ( ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) ↔ ( ( 𝑈𝑏 ) ‘ suc suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) ) )
21 suceq ( 𝑑 = 𝐵 → suc 𝑑 = suc 𝐵 )
22 21 fveq2d ( 𝑑 = 𝐵 → ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) )
23 fveq2 ( 𝑑 = 𝐵 → ( ( 𝑈𝑎 ) ‘ 𝑑 ) = ( ( 𝑈𝑎 ) ‘ 𝐵 ) )
24 23 iuneq2d ( 𝑑 = 𝐵 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )
25 22 24 eqeq12d ( 𝑑 = 𝐵 → ( ( ( 𝑈𝑏 ) ‘ suc 𝑑 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑑 ) ↔ ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) ) )
26 uniiun 𝑏 = 𝑎𝑏 𝑎
27 1 itunisuc ( ( 𝑈𝑏 ) ‘ suc ∅ ) = ( ( 𝑈𝑏 ) ‘ ∅ )
28 1 ituni0 ( 𝑏 ∈ V → ( ( 𝑈𝑏 ) ‘ ∅ ) = 𝑏 )
29 28 elv ( ( 𝑈𝑏 ) ‘ ∅ ) = 𝑏
30 29 unieqi ( ( 𝑈𝑏 ) ‘ ∅ ) = 𝑏
31 27 30 eqtri ( ( 𝑈𝑏 ) ‘ suc ∅ ) = 𝑏
32 1 ituni0 ( 𝑎𝑏 → ( ( 𝑈𝑎 ) ‘ ∅ ) = 𝑎 )
33 32 iuneq2i 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ ∅ ) = 𝑎𝑏 𝑎
34 26 31 33 3eqtr4i ( ( 𝑈𝑏 ) ‘ suc ∅ ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ ∅ )
35 1 itunisuc ( ( 𝑈𝑏 ) ‘ suc suc 𝑐 ) = ( ( 𝑈𝑏 ) ‘ suc 𝑐 )
36 unieq ( ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) → ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
37 1 itunisuc ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) = ( ( 𝑈𝑎 ) ‘ 𝑐 )
38 37 a1i ( 𝑎𝑏 → ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) = ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
39 38 iuneq2i 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 )
40 iuncom4 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 )
41 39 40 eqtr2i 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 )
42 36 41 eqtrdi ( ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) → ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) )
43 35 42 eqtrid ( ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) → ( ( 𝑈𝑏 ) ‘ suc suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) )
44 43 a1i ( 𝑐 ∈ ω → ( ( ( 𝑈𝑏 ) ‘ suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) → ( ( 𝑈𝑏 ) ‘ suc suc 𝑐 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) ) )
45 10 15 20 25 34 44 finds ( 𝐵 ∈ ω → ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )
46 iun0 𝑎𝑏 ∅ = ∅
47 46 eqcomi ∅ = 𝑎𝑏
48 peano2b ( 𝐵 ∈ ω ↔ suc 𝐵 ∈ ω )
49 vex 𝑏 ∈ V
50 1 itunifn ( 𝑏 ∈ V → ( 𝑈𝑏 ) Fn ω )
51 fndm ( ( 𝑈𝑏 ) Fn ω → dom ( 𝑈𝑏 ) = ω )
52 49 50 51 mp2b dom ( 𝑈𝑏 ) = ω
53 52 eleq2i ( suc 𝐵 ∈ dom ( 𝑈𝑏 ) ↔ suc 𝐵 ∈ ω )
54 48 53 bitr4i ( 𝐵 ∈ ω ↔ suc 𝐵 ∈ dom ( 𝑈𝑏 ) )
55 ndmfv ( ¬ suc 𝐵 ∈ dom ( 𝑈𝑏 ) → ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = ∅ )
56 54 55 sylnbi ( ¬ 𝐵 ∈ ω → ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = ∅ )
57 vex 𝑎 ∈ V
58 1 itunifn ( 𝑎 ∈ V → ( 𝑈𝑎 ) Fn ω )
59 fndm ( ( 𝑈𝑎 ) Fn ω → dom ( 𝑈𝑎 ) = ω )
60 57 58 59 mp2b dom ( 𝑈𝑎 ) = ω
61 60 eleq2i ( 𝐵 ∈ dom ( 𝑈𝑎 ) ↔ 𝐵 ∈ ω )
62 ndmfv ( ¬ 𝐵 ∈ dom ( 𝑈𝑎 ) → ( ( 𝑈𝑎 ) ‘ 𝐵 ) = ∅ )
63 61 62 sylnbir ( ¬ 𝐵 ∈ ω → ( ( 𝑈𝑎 ) ‘ 𝐵 ) = ∅ )
64 63 iuneq2d ( ¬ 𝐵 ∈ ω → 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) = 𝑎𝑏 ∅ )
65 47 56 64 3eqtr4a ( ¬ 𝐵 ∈ ω → ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )
66 45 65 pm2.61i ( ( 𝑈𝑏 ) ‘ suc 𝐵 ) = 𝑎𝑏 ( ( 𝑈𝑎 ) ‘ 𝐵 )
67 5 66 vtoclg ( 𝐴𝑉 → ( ( 𝑈𝐴 ) ‘ suc 𝐵 ) = 𝑎𝐴 ( ( 𝑈𝑎 ) ‘ 𝐵 ) )