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

Theorem trcl 9640
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 9641 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 7829 . . . . 5 ∅ ∈ ω
2 trcl.2 . . . . . . . 8 𝐹 = (rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)
32fveq1i 6828 . . . . . . 7 (𝐹‘∅) = ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅)
4 trcl.1 . . . . . . . 8 𝐴 ∈ V
5 fr0g 8365 . . . . . . . 8 (𝐴 ∈ V → ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅) = 𝐴)
64, 5ax-mp 5 . . . . . . 7 ((rec((𝑧 ∈ V ↦ (𝑧 𝑧)), 𝐴) ↾ ω)‘∅) = 𝐴
73, 6eqtr2i 2763 . . . . . 6 𝐴 = (𝐹‘∅)
87eqimssi 3975 . . . . 5 𝐴 ⊆ (𝐹‘∅)
9 fveq2 6827 . . . . . . 7 (𝑦 = ∅ → (𝐹𝑦) = (𝐹‘∅))
109sseq2d 3947 . . . . . 6 (𝑦 = ∅ → (𝐴 ⊆ (𝐹𝑦) ↔ 𝐴 ⊆ (𝐹‘∅)))
1110rspcev 3560 . . . . 5 ((∅ ∈ ω ∧ 𝐴 ⊆ (𝐹‘∅)) → ∃𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦))
121, 8, 11mp2an 698 . . . 4 𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦)
13 ssiun 4976 . . . 4 (∃𝑦 ∈ ω 𝐴 ⊆ (𝐹𝑦) → 𝐴 𝑦 ∈ ω (𝐹𝑦))
1412, 13ax-mp 5 . . 3 𝐴 𝑦 ∈ ω (𝐹𝑦)
15 trcl.3 . . 3 𝐶 = 𝑦 ∈ ω (𝐹𝑦)
1614, 15sseqtrri 3964 . 2 𝐴𝐶
17 dftr2 5181 . . . 4 (Tr 𝑦 ∈ ω (𝐹𝑦) ↔ ∀𝑣𝑢((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦)))
18 eliun 4925 . . . . . . . . 9 (𝑢 𝑦 ∈ ω (𝐹𝑦) ↔ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦))
1918anbi2i 629 . . . . . . . 8 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) ↔ (𝑣𝑢 ∧ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦)))
20 r19.42v 3171 . . . . . . . 8 (∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)) ↔ (𝑣𝑢 ∧ ∃𝑦 ∈ ω 𝑢 ∈ (𝐹𝑦)))
2119, 20bitr4i 279 . . . . . . 7 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) ↔ ∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)))
22 elunii 4843 . . . . . . . . 9 ((𝑣𝑢𝑢 ∈ (𝐹𝑦)) → 𝑣 (𝐹𝑦))
23 ssun2 4108 . . . . . . . . . . 11 (𝐹𝑦) ⊆ ((𝐹𝑦) ∪ (𝐹𝑦))
24 fvex 6840 . . . . . . . . . . . . 13 (𝐹𝑦) ∈ V
2524uniex 7684 . . . . . . . . . . . . 13 (𝐹𝑦) ∈ V
2624, 25unex 7687 . . . . . . . . . . . 12 ((𝐹𝑦) ∪ (𝐹𝑦)) ∈ V
27 id 22 . . . . . . . . . . . . . 14 (𝑥 = 𝑧𝑥 = 𝑧)
28 unieq 4849 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 𝑥 = 𝑧)
2927, 28uneq12d 4099 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥 𝑥) = (𝑧 𝑧))
30 id 22 . . . . . . . . . . . . . 14 (𝑥 = (𝐹𝑦) → 𝑥 = (𝐹𝑦))
31 unieq 4849 . . . . . . . . . . . . . 14 (𝑥 = (𝐹𝑦) → 𝑥 = (𝐹𝑦))
3230, 31uneq12d 4099 . . . . . . . . . . . . 13 (𝑥 = (𝐹𝑦) → (𝑥 𝑥) = ((𝐹𝑦) ∪ (𝐹𝑦)))
332, 29, 32frsucmpt2 8369 . . . . . . . . . . . 12 ((𝑦 ∈ ω ∧ ((𝐹𝑦) ∪ (𝐹𝑦)) ∈ V) → (𝐹‘suc 𝑦) = ((𝐹𝑦) ∪ (𝐹𝑦)))
3426, 33mpan2 697 . . . . . . . . . . 11 (𝑦 ∈ ω → (𝐹‘suc 𝑦) = ((𝐹𝑦) ∪ (𝐹𝑦)))
3523, 34sseqtrrid 3958 . . . . . . . . . 10 (𝑦 ∈ ω → (𝐹𝑦) ⊆ (𝐹‘suc 𝑦))
3635sseld 3914 . . . . . . . . 9 (𝑦 ∈ ω → (𝑣 (𝐹𝑦) → 𝑣 ∈ (𝐹‘suc 𝑦)))
3722, 36syl5 34 . . . . . . . 8 (𝑦 ∈ ω → ((𝑣𝑢𝑢 ∈ (𝐹𝑦)) → 𝑣 ∈ (𝐹‘suc 𝑦)))
3837reximia 3074 . . . . . . 7 (∃𝑦 ∈ ω (𝑣𝑢𝑢 ∈ (𝐹𝑦)) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦))
3921, 38sylbi 218 . . . . . 6 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦))
40 peano2 7830 . . . . . . . . . 10 (𝑦 ∈ ω → suc 𝑦 ∈ ω)
41 fveq2 6827 . . . . . . . . . . . . 13 (𝑢 = suc 𝑦 → (𝐹𝑢) = (𝐹‘suc 𝑦))
4241eleq2d 2825 . . . . . . . . . . . 12 (𝑢 = suc 𝑦 → (𝑣 ∈ (𝐹𝑢) ↔ 𝑣 ∈ (𝐹‘suc 𝑦)))
4342rspcev 3560 . . . . . . . . . . 11 ((suc 𝑦 ∈ ω ∧ 𝑣 ∈ (𝐹‘suc 𝑦)) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
4443ex 413 . . . . . . . . . 10 (suc 𝑦 ∈ ω → (𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢)))
4540, 44syl 17 . . . . . . . . 9 (𝑦 ∈ ω → (𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢)))
4645rexlimiv 3133 . . . . . . . 8 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
47 fveq2 6827 . . . . . . . . . 10 (𝑦 = 𝑢 → (𝐹𝑦) = (𝐹𝑢))
4847eleq2d 2825 . . . . . . . . 9 (𝑦 = 𝑢 → (𝑣 ∈ (𝐹𝑦) ↔ 𝑣 ∈ (𝐹𝑢)))
4948cbvrexvw 3218 . . . . . . . 8 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦) ↔ ∃𝑢 ∈ ω 𝑣 ∈ (𝐹𝑢))
5046, 49sylibr 235 . . . . . . 7 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → ∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦))
51 eliun 4925 . . . . . . 7 (𝑣 𝑦 ∈ ω (𝐹𝑦) ↔ ∃𝑦 ∈ ω 𝑣 ∈ (𝐹𝑦))
5250, 51sylibr 235 . . . . . 6 (∃𝑦 ∈ ω 𝑣 ∈ (𝐹‘suc 𝑦) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5339, 52syl 17 . . . . 5 ((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5453ax-gen 1802 . . . 4 𝑢((𝑣𝑢𝑢 𝑦 ∈ ω (𝐹𝑦)) → 𝑣 𝑦 ∈ ω (𝐹𝑦))
5517, 54mpgbir 1806 . . 3 Tr 𝑦 ∈ ω (𝐹𝑦)
56 treq 5186 . . . 4 (𝐶 = 𝑦 ∈ ω (𝐹𝑦) → (Tr 𝐶 ↔ Tr 𝑦 ∈ ω (𝐹𝑦)))
5715, 56ax-mp 5 . . 3 (Tr 𝐶 ↔ Tr 𝑦 ∈ ω (𝐹𝑦))
5855, 57mpbir 232 . 2 Tr 𝐶
59 fveq2 6827 . . . . . . . 8 (𝑣 = ∅ → (𝐹𝑣) = (𝐹‘∅))
6059sseq1d 3946 . . . . . . 7 (𝑣 = ∅ → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹‘∅) ⊆ 𝑥))
61 fveq2 6827 . . . . . . . 8 (𝑣 = 𝑦 → (𝐹𝑣) = (𝐹𝑦))
6261sseq1d 3946 . . . . . . 7 (𝑣 = 𝑦 → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹𝑦) ⊆ 𝑥))
63 fveq2 6827 . . . . . . . 8 (𝑣 = suc 𝑦 → (𝐹𝑣) = (𝐹‘suc 𝑦))
6463sseq1d 3946 . . . . . . 7 (𝑣 = suc 𝑦 → ((𝐹𝑣) ⊆ 𝑥 ↔ (𝐹‘suc 𝑦) ⊆ 𝑥))
653, 6eqtri 2762 . . . . . . . . 9 (𝐹‘∅) = 𝐴
6665sseq1i 3943 . . . . . . . 8 ((𝐹‘∅) ⊆ 𝑥𝐴𝑥)
6766biranri 506 . . . . . . 7 ((𝐴𝑥 ∧ Tr 𝑥) → (𝐹‘∅) ⊆ 𝑥)
68 uniss 4846 . . . . . . . . . . . . 13 ((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥)
69 df-tr 5180 . . . . . . . . . . . . . 14 (Tr 𝑥 𝑥𝑥)
70 sstr2 3922 . . . . . . . . . . . . . 14 ( (𝐹𝑦) ⊆ 𝑥 → ( 𝑥𝑥 (𝐹𝑦) ⊆ 𝑥))
7169, 70biimtrid 243 . . . . . . . . . . . . 13 ( (𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 (𝐹𝑦) ⊆ 𝑥))
7268, 71syl 17 . . . . . . . . . . . 12 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 (𝐹𝑦) ⊆ 𝑥))
7372anc2li 560 . . . . . . . . . . 11 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → ((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥)))
74 unss 4119 . . . . . . . . . . 11 (((𝐹𝑦) ⊆ 𝑥 (𝐹𝑦) ⊆ 𝑥) ↔ ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥)
7573, 74imbitrdi 252 . . . . . . . . . 10 ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥))
7634sseq1d 3946 . . . . . . . . . . 11 (𝑦 ∈ ω → ((𝐹‘suc 𝑦) ⊆ 𝑥 ↔ ((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥))
7776biimprd 249 . . . . . . . . . 10 (𝑦 ∈ ω → (((𝐹𝑦) ∪ (𝐹𝑦)) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥))
7875, 77syl9r 78 . . . . . . . . 9 (𝑦 ∈ ω → ((𝐹𝑦) ⊆ 𝑥 → (Tr 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
7978com23 86 . . . . . . . 8 (𝑦 ∈ ω → (Tr 𝑥 → ((𝐹𝑦) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
8079adantld 491 . . . . . . 7 (𝑦 ∈ ω → ((𝐴𝑥 ∧ Tr 𝑥) → ((𝐹𝑦) ⊆ 𝑥 → (𝐹‘suc 𝑦) ⊆ 𝑥)))
8160, 62, 64, 67, 80finds2 7838 . . . . . 6 (𝑣 ∈ ω → ((𝐴𝑥 ∧ Tr 𝑥) → (𝐹𝑣) ⊆ 𝑥))
8281com12 32 . . . . 5 ((𝐴𝑥 ∧ Tr 𝑥) → (𝑣 ∈ ω → (𝐹𝑣) ⊆ 𝑥))
8382ralrimiv 3130 . . . 4 ((𝐴𝑥 ∧ Tr 𝑥) → ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
84 fveq2 6827 . . . . . . . 8 (𝑦 = 𝑣 → (𝐹𝑦) = (𝐹𝑣))
8584cbviunv 4968 . . . . . . 7 𝑦 ∈ ω (𝐹𝑦) = 𝑣 ∈ ω (𝐹𝑣)
8615, 85eqtri 2762 . . . . . 6 𝐶 = 𝑣 ∈ ω (𝐹𝑣)
8786sseq1i 3943 . . . . 5 (𝐶𝑥 𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
88 iunss 4974 . . . . 5 ( 𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥 ↔ ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
8987, 88bitri 276 . . . 4 (𝐶𝑥 ↔ ∀𝑣 ∈ ω (𝐹𝑣) ⊆ 𝑥)
9083, 89sylibr 235 . . 3 ((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥)
9190ax-gen 1802 . 2 𝑥((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥)
9216, 58, 913pm3.2i 1346 1 (𝐴𝐶 ∧ Tr 𝐶 ∧ ∀𝑥((𝐴𝑥 ∧ Tr 𝑥) → 𝐶𝑥))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  w3a 1092  wal 1545   = wceq 1547  wcel 2119  wral 3053  wrex 3063  Vcvv 3431  cun 3881  wss 3883  c0 4261   cuni 4838   ciun 4921  cmpt 5153  Tr wtr 5179  cres 5620  suc csuc 6312  cfv 6485  ωcom 7806  reccrdg 8338
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-sep 5218  ax-nul 5228  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-csb 3832  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3903  df-nul 4262  df-if 4455  df-pw 4531  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-iun 4923  df-br 5073  df-opab 5135  df-mpt 5154  df-tr 5180  df-id 5513  df-eprel 5518  df-po 5526  df-so 5527  df-fr 5571  df-we 5573  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-res 5630  df-ima 5631  df-pred 6252  df-ord 6313  df-on 6314  df-lim 6315  df-suc 6316  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-f1 6490  df-fo 6491  df-f1o 6492  df-fv 6493  df-ov 7359  df-om 7807  df-2nd 7932  df-frecs 8221  df-wrecs 8252  df-recs 8301  df-rdg 8339
This theorem is referenced by:  tz9.1  9641  tz9.1c  9642
  Copyright terms: Public domain W3C validator