Metamath Proof Explorer


Theorem itunitc

Description: The union of all union iterates creates the transitive closure; compare trcl . (Contributed by Stefan O'Rear, 11-Feb-2015)

Ref Expression
Hypothesis ituni.u 𝑈 = ( 𝑥 ∈ V ↦ ( rec ( ( 𝑦 ∈ V ↦ 𝑦 ) , 𝑥 ) ↾ ω ) )
Assertion itunitc ( TC ‘ 𝐴 ) = ran ( 𝑈𝐴 )

Proof

Step Hyp Ref Expression
1 ituni.u 𝑈 = ( 𝑥 ∈ V ↦ ( rec ( ( 𝑦 ∈ V ↦ 𝑦 ) , 𝑥 ) ↾ ω ) )
2 fveq2 ( 𝑎 = 𝐴 → ( TC ‘ 𝑎 ) = ( TC ‘ 𝐴 ) )
3 fveq2 ( 𝑎 = 𝐴 → ( 𝑈𝑎 ) = ( 𝑈𝐴 ) )
4 3 rneqd ( 𝑎 = 𝐴 → ran ( 𝑈𝑎 ) = ran ( 𝑈𝐴 ) )
5 4 unieqd ( 𝑎 = 𝐴 ran ( 𝑈𝑎 ) = ran ( 𝑈𝐴 ) )
6 2 5 eqeq12d ( 𝑎 = 𝐴 → ( ( TC ‘ 𝑎 ) = ran ( 𝑈𝑎 ) ↔ ( TC ‘ 𝐴 ) = ran ( 𝑈𝐴 ) ) )
7 1 ituni0 ( 𝑎 ∈ V → ( ( 𝑈𝑎 ) ‘ ∅ ) = 𝑎 )
8 7 elv ( ( 𝑈𝑎 ) ‘ ∅ ) = 𝑎
9 fvssunirn ( ( 𝑈𝑎 ) ‘ ∅ ) ⊆ ran ( 𝑈𝑎 )
10 8 9 eqsstrri 𝑎 ran ( 𝑈𝑎 )
11 dftr3 ( Tr ran ( 𝑈𝑎 ) ↔ ∀ 𝑏 ran ( 𝑈𝑎 ) 𝑏 ran ( 𝑈𝑎 ) )
12 vex 𝑎 ∈ V
13 1 itunifn ( 𝑎 ∈ V → ( 𝑈𝑎 ) Fn ω )
14 fnunirn ( ( 𝑈𝑎 ) Fn ω → ( 𝑏 ran ( 𝑈𝑎 ) ↔ ∃ 𝑐 ∈ ω 𝑏 ∈ ( ( 𝑈𝑎 ) ‘ 𝑐 ) ) )
15 12 13 14 mp2b ( 𝑏 ran ( 𝑈𝑎 ) ↔ ∃ 𝑐 ∈ ω 𝑏 ∈ ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
16 elssuni ( 𝑏 ∈ ( ( 𝑈𝑎 ) ‘ 𝑐 ) → 𝑏 ( ( 𝑈𝑎 ) ‘ 𝑐 ) )
17 1 itunisuc ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) = ( ( 𝑈𝑎 ) ‘ 𝑐 )
18 fvssunirn ( ( 𝑈𝑎 ) ‘ suc 𝑐 ) ⊆ ran ( 𝑈𝑎 )
19 17 18 eqsstrri ( ( 𝑈𝑎 ) ‘ 𝑐 ) ⊆ ran ( 𝑈𝑎 )
20 16 19 sstrdi ( 𝑏 ∈ ( ( 𝑈𝑎 ) ‘ 𝑐 ) → 𝑏 ran ( 𝑈𝑎 ) )
21 20 rexlimivw ( ∃ 𝑐 ∈ ω 𝑏 ∈ ( ( 𝑈𝑎 ) ‘ 𝑐 ) → 𝑏 ran ( 𝑈𝑎 ) )
22 15 21 sylbi ( 𝑏 ran ( 𝑈𝑎 ) → 𝑏 ran ( 𝑈𝑎 ) )
23 11 22 mprgbir Tr ran ( 𝑈𝑎 )
24 tcmin ( 𝑎 ∈ V → ( ( 𝑎 ran ( 𝑈𝑎 ) ∧ Tr ran ( 𝑈𝑎 ) ) → ( TC ‘ 𝑎 ) ⊆ ran ( 𝑈𝑎 ) ) )
25 24 elv ( ( 𝑎 ran ( 𝑈𝑎 ) ∧ Tr ran ( 𝑈𝑎 ) ) → ( TC ‘ 𝑎 ) ⊆ ran ( 𝑈𝑎 ) )
26 10 23 25 mp2an ( TC ‘ 𝑎 ) ⊆ ran ( 𝑈𝑎 )
27 unissb ( ran ( 𝑈𝑎 ) ⊆ ( TC ‘ 𝑎 ) ↔ ∀ 𝑏 ∈ ran ( 𝑈𝑎 ) 𝑏 ⊆ ( TC ‘ 𝑎 ) )
28 fvelrnb ( ( 𝑈𝑎 ) Fn ω → ( 𝑏 ∈ ran ( 𝑈𝑎 ) ↔ ∃ 𝑐 ∈ ω ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑏 ) )
29 12 13 28 mp2b ( 𝑏 ∈ ran ( 𝑈𝑎 ) ↔ ∃ 𝑐 ∈ ω ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑏 )
30 1 itunitc1 ( ( 𝑈𝑎 ) ‘ 𝑐 ) ⊆ ( TC ‘ 𝑎 )
31 30 a1i ( 𝑐 ∈ ω → ( ( 𝑈𝑎 ) ‘ 𝑐 ) ⊆ ( TC ‘ 𝑎 ) )
32 sseq1 ( ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑏 → ( ( ( 𝑈𝑎 ) ‘ 𝑐 ) ⊆ ( TC ‘ 𝑎 ) ↔ 𝑏 ⊆ ( TC ‘ 𝑎 ) ) )
33 31 32 syl5ibcom ( 𝑐 ∈ ω → ( ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑏𝑏 ⊆ ( TC ‘ 𝑎 ) ) )
34 33 rexlimiv ( ∃ 𝑐 ∈ ω ( ( 𝑈𝑎 ) ‘ 𝑐 ) = 𝑏𝑏 ⊆ ( TC ‘ 𝑎 ) )
35 29 34 sylbi ( 𝑏 ∈ ran ( 𝑈𝑎 ) → 𝑏 ⊆ ( TC ‘ 𝑎 ) )
36 27 35 mprgbir ran ( 𝑈𝑎 ) ⊆ ( TC ‘ 𝑎 )
37 26 36 eqssi ( TC ‘ 𝑎 ) = ran ( 𝑈𝑎 )
38 6 37 vtoclg ( 𝐴 ∈ V → ( TC ‘ 𝐴 ) = ran ( 𝑈𝐴 ) )
39 rn0 ran ∅ = ∅
40 39 unieqi ran ∅ =
41 uni0 ∅ = ∅
42 40 41 eqtr2i ∅ = ran ∅
43 fvprc ( ¬ 𝐴 ∈ V → ( TC ‘ 𝐴 ) = ∅ )
44 fvprc ( ¬ 𝐴 ∈ V → ( 𝑈𝐴 ) = ∅ )
45 44 rneqd ( ¬ 𝐴 ∈ V → ran ( 𝑈𝐴 ) = ran ∅ )
46 45 unieqd ( ¬ 𝐴 ∈ V → ran ( 𝑈𝐴 ) = ran ∅ )
47 42 43 46 3eqtr4a ( ¬ 𝐴 ∈ V → ( TC ‘ 𝐴 ) = ran ( 𝑈𝐴 ) )
48 38 47 pm2.61i ( TC ‘ 𝐴 ) = ran ( 𝑈𝐴 )