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

Theorem brttrcl2 9696
Description: Characterization of elements of the transitive closure of a relation. (Contributed by Scott Fenton, 24-Aug-2024.)
Assertion
Ref Expression
brttrcl2 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Distinct variable groups:   𝐴,𝑛,𝑓,𝑎   𝐵,𝑛,𝑓,𝑎   𝑅,𝑛,𝑓,𝑎

Proof of Theorem brttrcl2
Dummy variable 𝑚 is distinct from all other variables.
StepHypRef Expression
1 brttrcl 9695 . 2 (𝐴t++𝑅𝐵 ↔ ∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2 df-1o 8458 . . . . . . . . 9 1o = suc ∅
32difeq2i 4071 . . . . . . . 8 (ω ∖ 1o) = (ω ∖ suc ∅)
43eleq2i 2852 . . . . . . 7 (𝑚 ∈ (ω ∖ 1o) ↔ 𝑚 ∈ (ω ∖ suc ∅))
5 peano1 7886 . . . . . . . 8 ∅ ∈ ω
6 eldifsucnn 8655 . . . . . . . 8 (∅ ∈ ω → (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛))
75, 6ax-mp 5 . . . . . . 7 (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛)
8 dif0 4327 . . . . . . . 8 (ω ∖ ∅) = ω
98rexeqi 3318 . . . . . . 7 (∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛 ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
104, 7, 93bitri 300 . . . . . 6 (𝑚 ∈ (ω ∖ 1o) ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
1110anbi1i 636 . . . . 5 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
12 r19.41v 3192 . . . . 5 (∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1311, 12bitr4i 281 . . . 4 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1413exbii 1881 . . 3 (∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
15 df-rex 3087 . . 3 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
16 rexcom4 3289 . . 3 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1714, 15, 163bitr4i 306 . 2 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 vex 3454 . . . . 5 𝑛 ∈ V
1918sucex 7806 . . . 4 suc 𝑛 ∈ V
20 suceq 6426 . . . . . . 7 (𝑚 = suc 𝑛 → suc 𝑚 = suc suc 𝑛)
2120fneq2d 6627 . . . . . 6 (𝑚 = suc 𝑛 → (𝑓 Fn suc 𝑚𝑓 Fn suc suc 𝑛))
22 fveqeq2 6888 . . . . . . 7 (𝑚 = suc 𝑛 → ((𝑓𝑚) = 𝐵 ↔ (𝑓‘suc 𝑛) = 𝐵))
2322anbi2d 642 . . . . . 6 (𝑚 = suc 𝑛 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵)))
24 raleq 3316 . . . . . 6 (𝑚 = suc 𝑛 → (∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2521, 23, 243anbi123d 1464 . . . . 5 (𝑚 = suc 𝑛 → ((𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2625exbidv 1954 . . . 4 (𝑚 = suc 𝑛 → (∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2719, 26ceqsexv 3498 . . 3 (∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2827rexbii 3109 . 2 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
291, 17, 283bitri 300 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wb 209  wa 401  w3a 1103   = wceq 1570  wex 1812  wcel 2145  wral 3076  wrex 3086  cdif 3896  c0 4279   class class class wbr 5103  suc csuc 6359   Fn wfn 6528  cfv 6533  ωcom 7863  1oc1o 8451  t++cttrcl 9689
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 2213  ax-ext 2732  ax-sep 5251  ax-nul 5263  ax-pr 5398  ax-un 7737
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 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7864  df-2nd 7988  df-frecs 8281  df-wrecs 8312  df-recs 8361  df-rdg 8400  df-1o 8458  df-oadd 8462  df-ttrcl 9690
This theorem is used by:  ttrclss  9702  ttrclse  9709  fineqvnttrclse  35653
  Copyright terms: Public domain W3C validator