Metamath Proof Explorer


Theorem dfttc2g

Description: A shorter expression for the transitive closure of a set. (Contributed by Matthew House, 6-Apr-2026)

Ref Expression
Assertion dfttc2g ( 𝐴𝑉 → TC+ 𝐴 = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )

Proof

Step Hyp Ref Expression
1 rdg0g ( 𝐴𝑉 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) = 𝐴 )
2 rdgfnon rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) Fn On
3 omsson ω ⊆ On
4 peano1 ∅ ∈ ω
5 fnfvima ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) Fn On ∧ ω ⊆ On ∧ ∅ ∈ ω ) → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
6 2 3 4 5 mp3an ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω )
7 1 6 eqeltrrdi ( 𝐴𝑉𝐴 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
8 elssuni ( 𝐴 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) → 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
9 7 8 syl ( 𝐴𝑉𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
10 peano2 ( 𝑧 ∈ ω → suc 𝑧 ∈ ω )
11 elunii ( ( 𝑤𝑦𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) → 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
12 nnon ( 𝑧 ∈ ω → 𝑧 ∈ On )
13 fvex ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ∈ V
14 13 uniex ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ∈ V
15 eqid rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) = rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 )
16 unieq ( 𝑦 = 𝑥 𝑦 = 𝑥 )
17 unieq ( 𝑦 = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) → 𝑦 = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
18 15 16 17 rdgsucmpt2 ( ( 𝑧 ∈ On ∧ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ∈ V ) → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
19 12 14 18 sylancl ( 𝑧 ∈ ω → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
20 19 eleq2d ( 𝑧 ∈ ω → ( 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ↔ 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) )
21 20 biimpar ( ( 𝑧 ∈ ω ∧ 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) → 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) )
22 11 21 sylan2 ( ( 𝑧 ∈ ω ∧ ( 𝑤𝑦𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) ) → 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) )
23 fveq2 ( 𝑦 = suc 𝑧 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) )
24 23 eleq2d ( 𝑦 = suc 𝑧 → ( 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ↔ 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ) )
25 24 rspcev ( ( suc 𝑧 ∈ ω ∧ 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ) → ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) )
26 10 22 25 syl2an2r ( ( 𝑧 ∈ ω ∧ ( 𝑤𝑦𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) ) → ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) )
27 26 an12s ( ( 𝑤𝑦 ∧ ( 𝑧 ∈ ω ∧ 𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) ) → ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) )
28 27 rexlimdvaa ( 𝑤𝑦 → ( ∃ 𝑧 ∈ ω 𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) → ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ) )
29 rdgfun Fun rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 )
30 eluniima ( Fun rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) → ( 𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ↔ ∃ 𝑧 ∈ ω 𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ) )
31 29 30 ax-mp ( 𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ↔ ∃ 𝑧 ∈ ω 𝑦 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
32 eluniima ( Fun rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) → ( 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ↔ ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ) )
33 29 32 ax-mp ( 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ↔ ∃ 𝑦 ∈ ω 𝑤 ∈ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) )
34 28 31 33 3imtr4g ( 𝑤𝑦 → ( 𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) → 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) )
35 34 imp ( ( 𝑤𝑦𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) → 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
36 35 gen2 𝑤𝑦 ( ( 𝑤𝑦𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) → 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
37 dftr2 ( Tr ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ↔ ∀ 𝑤𝑦 ( ( 𝑤𝑦𝑦 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) → 𝑤 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) )
38 36 37 mpbir Tr ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω )
39 ttcmin ( ( 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ∧ Tr ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ) → TC+ 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
40 9 38 39 sylancl ( 𝐴𝑉 → TC+ 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
41 funiunfv ( Fun rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) → 𝑦 ∈ ω ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )
42 29 41 ax-mp 𝑦 ∈ ω ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω )
43 fveq2 ( 𝑦 = ∅ → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) )
44 43 sseq1d ( 𝑦 = ∅ → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 ↔ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) ⊆ TC+ 𝐴 ) )
45 fveq2 ( 𝑦 = 𝑧 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) )
46 45 sseq1d ( 𝑦 = 𝑧 → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 ↔ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 ) )
47 23 sseq1d ( 𝑦 = suc 𝑧 → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 ↔ ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ⊆ TC+ 𝐴 ) )
48 ttcid 𝐴 ⊆ TC+ 𝐴
49 1 48 eqsstrdi ( 𝐴𝑉 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ ∅ ) ⊆ TC+ 𝐴 )
50 uniss ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 )
51 ttctr3 TC+ 𝐴 ⊆ TC+ 𝐴
52 50 51 sstrdi ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 )
53 19 sseq1d ( 𝑧 ∈ ω → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ⊆ TC+ 𝐴 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 ) )
54 52 53 imbitrrid ( 𝑧 ∈ ω → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ⊆ TC+ 𝐴 ) )
55 54 a1d ( 𝑧 ∈ ω → ( 𝐴𝑉 → ( ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑧 ) ⊆ TC+ 𝐴 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ suc 𝑧 ) ⊆ TC+ 𝐴 ) ) )
56 44 46 47 49 55 finds2 ( 𝑦 ∈ ω → ( 𝐴𝑉 → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 ) )
57 56 impcom ( ( 𝐴𝑉𝑦 ∈ ω ) → ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 )
58 57 iunssd ( 𝐴𝑉 𝑦 ∈ ω ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) ‘ 𝑦 ) ⊆ TC+ 𝐴 )
59 42 58 eqsstrrid ( 𝐴𝑉 ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) ⊆ TC+ 𝐴 )
60 40 59 eqssd ( 𝐴𝑉 → TC+ 𝐴 = ( rec ( ( 𝑥 ∈ V ↦ 𝑥 ) , 𝐴 ) “ ω ) )