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

Theorem brttrcl2 9626
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 9625 . 2 (𝐴t++𝑅𝐵 ↔ ∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2 df-1o 8395 . . . . . . . . 9 1o = suc ∅
32difeq2i 4054 . . . . . . . 8 (ω ∖ 1o) = (ω ∖ suc ∅)
43eleq2i 2831 . . . . . . 7 (𝑚 ∈ (ω ∖ 1o) ↔ 𝑚 ∈ (ω ∖ suc ∅))
5 peano1 7829 . . . . . . . 8 ∅ ∈ ω
6 eldifsucnn 8590 . . . . . . . 8 (∅ ∈ ω → (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛))
75, 6ax-mp 5 . . . . . . 7 (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛)
8 dif0 4306 . . . . . . . 8 (ω ∖ ∅) = ω
98rexeqi 3296 . . . . . . 7 (∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛 ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
104, 7, 93bitri 298 . . . . . 6 (𝑚 ∈ (ω ∖ 1o) ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
1110anbi1i 630 . . . . 5 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
12 r19.41v 3169 . . . . 5 (∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1311, 12bitr4i 279 . . . 4 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1413exbii 1855 . . 3 (∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
15 df-rex 3064 . . 3 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
16 rexcom4 3266 . . 3 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1714, 15, 163bitr4i 304 . 2 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 vex 3435 . . . . 5 𝑛 ∈ V
1918sucex 7749 . . . 4 suc 𝑛 ∈ V
20 suceq 6378 . . . . . . 7 (𝑚 = suc 𝑛 → suc 𝑚 = suc suc 𝑛)
2120fneq2d 6579 . . . . . 6 (𝑚 = suc 𝑛 → (𝑓 Fn suc 𝑚𝑓 Fn suc suc 𝑛))
22 fveqeq2 6836 . . . . . . 7 (𝑚 = suc 𝑛 → ((𝑓𝑚) = 𝐵 ↔ (𝑓‘suc 𝑛) = 𝐵))
2322anbi2d 636 . . . . . 6 (𝑚 = suc 𝑛 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵)))
24 raleq 3294 . . . . . 6 (𝑚 = suc 𝑛 → (∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2521, 23, 243anbi123d 1444 . . . . 5 (𝑚 = suc 𝑛 → ((𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2625exbidv 1928 . . . 4 (𝑚 = suc 𝑛 → (∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2719, 26ceqsexv 3479 . . 3 (∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2827rexbii 3086 . 2 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
291, 17, 283bitri 298 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables: wff setvar class
Syntax hints:  wb 207  wa 396  w3a 1092   = wceq 1547  wex 1786  wcel 2119  wral 3053  wrex 3063  cdif 3880  c0 4261   class class class wbr 5072  suc csuc 6312   Fn wfn 6480  cfv 6485  ωcom 7806  1oc1o 8388  t++cttrcl 9619
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-int 4878  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-oprab 7360  df-mpo 7361  df-om 7807  df-2nd 7932  df-frecs 8221  df-wrecs 8252  df-recs 8301  df-rdg 8339  df-1o 8395  df-oadd 8399  df-ttrcl 9620
This theorem is referenced by:  ttrclss  9632  ttrclse  9639  fineqvnttrclse  35305
  Copyright terms: Public domain W3C validator