Users' Mathboxes Mathbox for Matthew House < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  dfttc2g Structured version   Visualization version   GIF version

Theorem dfttc2g 37112
Description: A shorter expression for the transitive closure of a set. (Contributed by Matthew House, 6-Apr-2026.)
Assertion
Ref Expression
dfttc2g (𝐴𝑉 → TC+ 𝐴 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))

Proof of Theorem dfttc2g
Dummy variables 𝑤 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 rdg0g 8419 . . . . 5 (𝐴𝑉 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅) = 𝐴)
2 rdgfnon 8410 . . . . . 6 rec((𝑥 ∈ V ↦ 𝑥), 𝐴) Fn On
3 omsson 7869 . . . . . 6 ω ⊆ On
4 peano1 7888 . . . . . 6 ∅ ∈ ω
5 fnfvima 7235 . . . . . 6 ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴) Fn On ∧ ω ⊆ On ∧ ∅ ∈ ω) → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅) ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
62, 3, 4, 5mp3an 1490 . . . . 5 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅) ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)
71, 6eqeltrrdi 2871 . . . 4 (𝐴𝑉𝐴 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
8 elssuni 4902 . . . 4 (𝐴 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) → 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
97, 8syl 18 . . 3 (𝐴𝑉𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
10 peano2 7889 . . . . . . . . . 10 (𝑧 ∈ ω → suc 𝑧 ∈ ω)
11 elunii 4875 . . . . . . . . . . 11 ((𝑤𝑦𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧)) → 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
12 nnon 7871 . . . . . . . . . . . . . 14 (𝑧 ∈ ω → 𝑧 ∈ On)
13 fvex 6895 . . . . . . . . . . . . . . 15 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ∈ V
1413uniex 7746 . . . . . . . . . . . . . 14 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ∈ V
15 eqid 2762 . . . . . . . . . . . . . . 15 rec((𝑥 ∈ V ↦ 𝑥), 𝐴) = rec((𝑥 ∈ V ↦ 𝑥), 𝐴)
16 unieq 4881 . . . . . . . . . . . . . . 15 (𝑦 = 𝑥 𝑦 = 𝑥)
17 unieq 4881 . . . . . . . . . . . . . . 15 (𝑦 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) → 𝑦 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
1815, 16, 17rdgsucmpt2 8422 . . . . . . . . . . . . . 14 ((𝑧 ∈ On ∧ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ∈ V) → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
1912, 14, 18sylancl 598 . . . . . . . . . . . . 13 (𝑧 ∈ ω → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
2019eleq2d 2848 . . . . . . . . . . . 12 (𝑧 ∈ ω → (𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) ↔ 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧)))
2120biimpar 483 . . . . . . . . . . 11 ((𝑧 ∈ ω ∧ 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧)) → 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧))
2211, 21sylan2 605 . . . . . . . . . 10 ((𝑧 ∈ ω ∧ (𝑤𝑦𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))) → 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧))
23 fveq2 6882 . . . . . . . . . . . 12 (𝑦 = suc 𝑧 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧))
2423eleq2d 2848 . . . . . . . . . . 11 (𝑦 = suc 𝑧 → (𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ↔ 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧)))
2524rspcev 3579 . . . . . . . . . 10 ((suc 𝑧 ∈ ω ∧ 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧)) → ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦))
2610, 22, 25syl2an2r 698 . . . . . . . . 9 ((𝑧 ∈ ω ∧ (𝑤𝑦𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))) → ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦))
2726an12s 662 . . . . . . . 8 ((𝑤𝑦 ∧ (𝑧 ∈ ω ∧ 𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))) → ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦))
2827rexlimdvaa 3166 . . . . . . 7 (𝑤𝑦 → (∃𝑧 ∈ ω 𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) → ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦)))
29 rdgfun 8408 . . . . . . . 8 Fun rec((𝑥 ∈ V ↦ 𝑥), 𝐴)
30 eluniima 7250 . . . . . . . 8 (Fun rec((𝑥 ∈ V ↦ 𝑥), 𝐴) → (𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ↔ ∃𝑧 ∈ ω 𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧)))
3129, 30ax-mp 5 . . . . . . 7 (𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ↔ ∃𝑧 ∈ ω 𝑦 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
32 eluniima 7250 . . . . . . . 8 (Fun rec((𝑥 ∈ V ↦ 𝑥), 𝐴) → (𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ↔ ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦)))
3329, 32ax-mp 5 . . . . . . 7 (𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ↔ ∃𝑦 ∈ ω 𝑤 ∈ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦))
3428, 31, 333imtr4g 299 . . . . . 6 (𝑤𝑦 → (𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) → 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)))
3534imp 412 . . . . 5 ((𝑤𝑦𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)) → 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
3635gen2 1829 . . . 4 𝑤𝑦((𝑤𝑦𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)) → 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
37 dftr2 5218 . . . 4 (Tr (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ↔ ∀𝑤𝑦((𝑤𝑦𝑦 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)) → 𝑤 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)))
3836, 37mpbir 234 . . 3 Tr (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)
39 ttcmin 37102 . . 3 ((𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ∧ Tr (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)) → TC+ 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
409, 38, 39sylancl 598 . 2 (𝐴𝑉 → TC+ 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
41 funiunfv 7248 . . . 4 (Fun rec((𝑥 ∈ V ↦ 𝑥), 𝐴) → 𝑦 ∈ ω (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
4229, 41ax-mp 5 . . 3 𝑦 ∈ ω (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω)
43 fveq2 6882 . . . . . . 7 (𝑦 = ∅ → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅))
4443sseq1d 3965 . . . . . 6 (𝑦 = ∅ → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴 ↔ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅) ⊆ TC+ 𝐴))
45 fveq2 6882 . . . . . . 7 (𝑦 = 𝑧 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧))
4645sseq1d 3965 . . . . . 6 (𝑦 = 𝑧 → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴 ↔ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴))
4723sseq1d 3965 . . . . . 6 (𝑦 = suc 𝑧 → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴 ↔ (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) ⊆ TC+ 𝐴))
48 ttcid 37098 . . . . . . 7 𝐴 ⊆ TC+ 𝐴
491, 48eqsstrdi 3978 . . . . . 6 (𝐴𝑉 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘∅) ⊆ TC+ 𝐴)
50 uniss 4878 . . . . . . . . 9 ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴)
51 ttctr3 37101 . . . . . . . . 9 TC+ 𝐴 ⊆ TC+ 𝐴
5250, 51sstrdi 3946 . . . . . . . 8 ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴)
5319sseq1d 3965 . . . . . . . 8 (𝑧 ∈ ω → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) ⊆ TC+ 𝐴 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴))
5452, 53imbitrrid 249 . . . . . . 7 (𝑧 ∈ ω → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) ⊆ TC+ 𝐴))
5554a1d 26 . . . . . 6 (𝑧 ∈ ω → (𝐴𝑉 → ((rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑧) ⊆ TC+ 𝐴 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘suc 𝑧) ⊆ TC+ 𝐴)))
5644, 46, 47, 49, 55finds2 7898 . . . . 5 (𝑦 ∈ ω → (𝐴𝑉 → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴))
5756impcom 413 . . . 4 ((𝐴𝑉𝑦 ∈ ω) → (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴)
5857iunssd 5013 . . 3 (𝐴𝑉 𝑦 ∈ ω (rec((𝑥 ∈ V ↦ 𝑥), 𝐴)‘𝑦) ⊆ TC+ 𝐴)
5942, 58eqsstrrid 3973 . 2 (𝐴𝑉 (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω) ⊆ TC+ 𝐴)
6040, 59eqssd 3951 1 (𝐴𝑉 → TC+ 𝐴 = (rec((𝑥 ∈ V ↦ 𝑥), 𝐴) “ ω))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  wal 1568   = wceq 1570  wcel 2145  wrex 3088  Vcvv 3453  wss 3902  c0 4282   cuni 4870   ciun 4954  cmpt 5190  Tr wtr 5216  cima 5662  Oncon0 6361  suc csuc 6363  Fun wfun 6531   Fn wfn 6532  cfv 6537  ωcom 7865  reccrdg 8401  TC+ cttc 37092
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pr 5402  ax-un 7739
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4871  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-ov 7419  df-om 7866  df-2nd 7990  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-ttc 37093
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator