MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  trcl Structured version   Visualization version   GIF version

Theorem trcl 9698
Description: For any set 𝐴, show the properties of its transitive closure 𝐶. Similar to Theorem 9.1 of [TakeutiZaring] p. 73 except that we show an explicit expression for the transitive closure rather than just its existence. See tz9.1 9699 for an abbreviated version showing existence. (Contributed by NM, 14-Sep-2003.) (Revised by Mario Carneiro, 11-Sep-2015.)
Hypotheses
Ref Expression
trcl.1 𝐴 ∈ V
trcl.2 𝐹 = (rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)
trcl.3 𝐶 = 𝑦 ∈ ω (𝐹𝑦)
Assertion
Ref Expression
trcl (𝐴𝐶 ∧ Tr 𝐶 ∧ ∀𝑥((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥))
Distinct variable groups:   𝑥,𝑧   𝑥,𝑦,𝐴   𝑥,𝐹,𝑦
Allowed substitution hints:   𝐴(𝑧)   𝐶(𝑥,𝑦,𝑧)   𝐹(𝑧)

Proof of Theorem trcl
Dummy variables 𝑣 𝑢 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 peano1 7886 . . . . 5 ∅ ∈ ω
2 trcl.2 . . . . . . . 8 𝐹 = (rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)
32fveq1i 6884 . . . . . . 7 (𝐹‘∅) = ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅)
4 trcl.1 . . . . . . . 8 𝐴 ∈ V
5 fr0g 8424 . . . . . . . 8 (𝐴 ∈ V → ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅) = 𝐴)
64, 5ax-mp 5 . . . . . . 7 ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅) = 𝐴
73, 6eqtr2i 2787 . . . . . 6 𝐴 = (𝐹‘∅)
87eqimssi 3998 . . . . 5 𝐴 ⊆ (𝐹‘∅)
9 fveq2 6883 . . . . . . 7 (𝑦 = ∅ → (𝐹𝑦) = (𝐹‘∅))
109sseq2d 3970 . . . . . 6 (𝑦 = ∅ → (𝐴 ⊆ (𝐹𝑦) ↔ 𝐴 ⊆ (𝐹‘∅)))
1110rspcev 3582 . . . . 5 ((∅ ∈ ω ∧ 𝐴 ⊆ (𝐹‘∅)) → ∃𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦))
121, 8, 11mp2an 704 . . . 4 𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦)
13 ssiun 5012 . . . 4 (∃𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦) → 𝐴 𝑦 ∈ ω (𝐹𝑦))
1412, 13ax-mp 5 . . 3 𝐴 𝑦 ∈ ω (𝐹𝑦)
15 trcl.3 . . 3 𝐶 = 𝑦 ∈ ω (𝐹𝑦)
1614, 15sseqtrri 3987 . 2 𝐴𝐶
17 dftr2 5221 . . . 4 (Tr 𝑦 ∈ ω (𝐹𝑦) ↔ ∀𝑣𝑢((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦)))
18 eliun 4961 . . . . . . . . 9 (𝑢 𝑦 ∈ ω (𝐹𝑦) ↔ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦))
1918anbi2i 634 . . . . . . . 8 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) ↔ (𝑣𝑢 ∧ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦)))
20 r19.42v 3197 . . . . . . . 8 (∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)) ↔ (𝑣𝑢 ∧ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦)))
2119, 20bitr4i 281 . . . . . . 7 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) ↔ ∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)))
22 elunii 4878 . . . . . . . . 9 ((𝑣𝑢𝑢 ∈ (𝐹𝑦)) → 𝑣 (𝐹𝑦))
23 ssun2 4133 . . . . . . . . . . 11 (𝐹𝑦) ⊆ ((𝐹𝑦) ∪ (𝐹𝑦))
24 fvex 6896 . . . . . . . . . . . . 13 (𝐹𝑦) ∈ V
2524uniex 7741 . . . . . . . . . . . . 13 (𝐹𝑦) ∈ V
2624, 25unex 7744 . . . . . . . . . . . 12 ((𝐹𝑦) ∪ (𝐹𝑦)) ∈ V
27 id 23 . . . . . . . . . . . . . 14 (𝑥 = 𝑧𝑥 = 𝑧)
28 unieq 4884 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 𝑥 = 𝑧)
2927, 28uneq12d 4124 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥 𝑥) = (𝑧 𝑧))
30 id 23 . . . . . . . . . . . . . 14 (𝑥 = (𝐹𝑦) → 𝑥 = (𝐹𝑦))
31 unieq 4884 . . . . . . . . . . . . . 14 (𝑥 = (𝐹𝑦) → 𝑥 = (𝐹𝑦))
3230, 31uneq12d 4124 . . . . . . . . . . . . 13 (𝑥 = (𝐹𝑦) → (𝑥 𝑥) = ((𝐹𝑦) ∪ (𝐹𝑦)))
332, 29, 32frsucmpt2 8428 . . . . . . . . . . . 12 ((𝑦 ∈ ω ∧ ((𝐹𝑦) ∪ (𝐹𝑦)) ∈ V) → (𝐹‘suc 𝑦) = ((𝐹𝑦) ∪ (𝐹𝑦)))
3426, 33mpan2 703 . . . . . . . . . . 11 (𝑦 ∈ ω → (𝐹‘suc 𝑦) = ((𝐹𝑦) ∪ (𝐹𝑦)))
3523, 34sseqtrrid 3981 . . . . . . . . . 10 (𝑦 ∈ ω → (𝐹𝑦) ⊆ (𝐹‘suc 𝑦))
3635sseld 3937 . . . . . . . . 9 (𝑦 ∈ ω → (𝑣 (𝐹𝑦) → 𝑣 ∈ (𝐹‘suc 𝑦)))
3722, 36syl5 35 . . . . . . . 8 (𝑦 ∈ ω → ((𝑣𝑢𝑢 ∈ (𝐹𝑦)) → 𝑣 ∈ (𝐹‘suc 𝑦)))
3837reximia 3100 . . . . . . 7 (∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦))
3921, 38sylbi 220 . . . . . 6 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦))
40 peano2 7887 . . . . . . . . . 10 (𝑦 ∈ ω → suc 𝑦 ∈ ω)
41 fveq2 6883 . . . . . . . . . . . . 13 (𝑢 = suc 𝑦 → (𝐹𝑢) = (𝐹‘suc 𝑦))
4241eleq2d 2849 . . . . . . . . . . . 12 (𝑢 = suc 𝑦 → (𝑣 ∈ (𝐹𝑢) ↔ 𝑣 ∈ (𝐹‘suc 𝑦)))
4342rspcev 3582 . . . . . . . . . . 11 ((suc 𝑦 ∈ ω ∧ 𝑣 ∈ (𝐹‘suc 𝑦)) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
4443ex 417 . . . . . . . . . 10 (suc 𝑦 ∈ ω → (𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢)))
4540, 44syl 18 . . . . . . . . 9 (𝑦 ∈ ω → (𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢)))
4645rexlimiv 3159 . . . . . . . 8 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
47 fveq2 6883 . . . . . . . . . 10 (𝑦 = 𝑢 → (𝐹𝑦) = (𝐹𝑢))
4847eleq2d 2849 . . . . . . . . 9 (𝑦 = 𝑢 → (𝑣 ∈ (𝐹𝑦) ↔ 𝑣 ∈ (𝐹𝑢)))
4948cbvrexvw 3244 . . . . . . . 8 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦) ↔ ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
5046, 49sylibr 237 . . . . . . 7 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦))
51 eliun 4961 . . . . . . 7 (𝑣 𝑦 ∈ ω (𝐹𝑦) ↔ ∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦))
5250, 51sylibr 237 . . . . . 6 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5339, 52syl 18 . . . . 5 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5453ax-gen 1825 . . . 4 𝑢((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5517, 54mpgbir 1829 . . 3 Tr 𝑦 ∈ ω (𝐹𝑦)
56 treq 5226 . . . 4 (𝐶 = 𝑦 ∈ ω (𝐹𝑦) → (Tr 𝐶 ↔ Tr 𝑦 ∈ ω (𝐹𝑦)))
5715, 56ax-mp 5 . . 3 (Tr 𝐶 ↔ Tr 𝑦 ∈ ω (𝐹𝑦))
5855, 57mpbir 234 . 2 Tr 𝐶
59 fveq2 6883 . . . . . . . 8 (𝑣 = ∅ → (𝐹𝑣) = (𝐹‘∅))
6059sseq1d 3969 . . . . . . 7 (𝑣 = ∅ → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹‘∅) ⊆ 𝑥))
61 fveq2 6883 . . . . . . . 8 (𝑣 = 𝑦 → (𝐹𝑣) = (𝐹𝑦))
6261sseq1d 3969 . . . . . . 7 (𝑣 = 𝑦 → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹𝑦) ⊆ 𝑥))
63 fveq2 6883 . . . . . . . 8 (𝑣 = suc 𝑦 → (𝐹𝑣) = (𝐹‘suc 𝑦))
6463sseq1d 3969 . . . . . . 7 (𝑣 = suc 𝑦 → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹‘suc 𝑦) ⊆ 𝑥))
653, 6eqtri 2786 . . . . . . . . 9 (𝐹‘∅) = 𝐴
6665sseq1i 3966 . . . . . . . 8 ((𝐹‘∅) ⊆ 𝑥𝐴𝑥)
6766biranri 510 . . . . . . 7 ((𝐴𝑥 ∧ Tr 𝑥) → (𝐹‘∅) ⊆ 𝑥)
68 uniss 4881 . . . . . . . . . . . . 13 ((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥)
69 df-tr 5220 . . . . . . . . . . . . . 14 (Tr 𝑥 𝑥𝑥)
70 sstr2 3945 . . . . . . . . . . . . . 14 ( (𝐹𝑦) ⊆ 𝑥 → ( 𝑥𝑥 (𝐹𝑦) ⊆ 𝑥))
7169, 70biimtrid 245 . . . . . . . . . . . . 13 ( (𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 (𝐹𝑦) ⊆ 𝑥))
7268, 71syl 18 . . . . . . . . . . . 12 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 (𝐹𝑦) ⊆ 𝑥))
7372anc2li 564 . . . . . . . . . . 11 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → ((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥)))
74 unss 4144 . . . . . . . . . . 11 (((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥) ↔ ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥)
7573, 74imbitrdi 254 . . . . . . . . . 10 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥))
7634sseq1d 3969 . . . . . . . . . . 11 (𝑦 ∈ ω → ((𝐹‘suc 𝑦) ⊆ 𝑥 ↔ ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥))
7776biimprd 251 . . . . . . . . . 10 (𝑦 ∈ ω → (((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥))
7875, 77syl9r 79 . . . . . . . . 9 (𝑦 ∈ ω → ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
7978com23 87 . . . . . . . 8 (𝑦 ∈ ω → (Tr 𝑥 → ((𝐹𝑦) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
8079adantld 495 . . . . . . 7 (𝑦 ∈ ω → ((𝐴𝑥 ∧ Tr 𝑥) → ((𝐹𝑦) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
8160, 62, 64, 67, 80finds2 7896 . . . . . 6 (𝑣 ∈ ω → ((𝐴𝑥 ∧ Tr 𝑥) → (𝐹𝑣) ⊆ 𝑥))
8281com12 33 . . . . 5 ((𝐴𝑥 ∧ Tr 𝑥) → (𝑣 ∈ ω → (𝐹𝑣) ⊆ 𝑥))
8382ralrimiv 3156 . . . 4 ((𝐴𝑥 ∧ Tr 𝑥) → ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
84 fveq2 6883 . . . . . . . 8 (𝑦 = 𝑣 → (𝐹𝑦) = (𝐹𝑣))
8584cbviunv 5004 . . . . . . 7 𝑦 ∈ ω (𝐹𝑦) = 𝑣 ∈ ω (𝐹𝑣)
8615, 85eqtri 2786 . . . . . 6 𝐶 = 𝑣 ∈ ω (𝐹𝑣)
8786sseq1i 3966 . . . . 5 (𝐶𝑥 𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
88 iunss 5010 . . . . 5 ( 𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥 ↔ ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
8987, 88bitri 278 . . . 4 (𝐶𝑥 ↔ ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
9083, 89sylibr 237 . . 3 ((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥)
9190ax-gen 1825 . 2 𝑥((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥)
9216, 58, 913pm3.2i 1358 1 (𝐴𝐶 ∧ Tr 𝐶 ∧ ∀𝑥((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400  w3a 1103  wal 1568   = wceq 1570  wcel 2143  wral 3079  wrex 3089  Vcvv 3455  cun 3904  wss 3906  c0 4287   cuni 4873   ciun 4957  cmpt 5193  Tr wtr 5219  cres 5665  suc csuc 6364  cfv 6538  ωcom 7863  reccrdg 8397
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5258  ax-nul 5270  ax-pr 5406  ax-un 7734
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3080  df-rex 3090  df-reu 3370  df-rab 3417  df-v 3457  df-sbc 3746  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4489  df-pw 4565  df-sn 4591  df-pr 4593  df-op 4597  df-uni 4874  df-iun 4959  df-br 5111  df-opab 5175  df-mpt 5194  df-tr 5220  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ov 7415  df-om 7864  df-2nd 7988  df-frecs 8279  df-wrecs 8310  df-recs 8359  df-rdg 8398
This theorem is referenced by:  tz9.1  9699  tz9.1c  9700
  Copyright terms: Public domain W3C validator