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

Theorem brttrcl2 9643
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 9642 . 2 (𝐴t++𝑅𝐵 ↔ ∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2 df-1o 8411 . . . . . . . . 9 1o = suc ∅
32difeq2i 4082 . . . . . . . 8 (ω ∖ 1o) = (ω ∖ suc ∅)
43eleq2i 2820 . . . . . . 7 (𝑚 ∈ (ω ∖ 1o) ↔ 𝑚 ∈ (ω ∖ suc ∅))
5 peano1 7845 . . . . . . . 8 ∅ ∈ ω
6 eldifsucnn 8605 . . . . . . . 8 (∅ ∈ ω → (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛))
75, 6ax-mp 5 . . . . . . 7 (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛)
8 dif0 4337 . . . . . . . 8 (ω ∖ ∅) = ω
98rexeqi 3295 . . . . . . 7 (∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛 ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
104, 7, 93bitri 297 . . . . . 6 (𝑚 ∈ (ω ∖ 1o) ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
1110anbi1i 624 . . . . 5 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
12 r19.41v 3165 . . . . 5 (∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1311, 12bitr4i 278 . . . 4 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1413exbii 1848 . . 3 (∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
15 df-rex 3054 . . 3 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
16 rexcom4 3262 . . 3 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1714, 15, 163bitr4i 303 . 2 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 vex 3448 . . . . 5 𝑛 ∈ V
1918sucex 7762 . . . 4 suc 𝑛 ∈ V
20 suceq 6388 . . . . . . 7 (𝑚 = suc 𝑛 → suc 𝑚 = suc suc 𝑛)
2120fneq2d 6594 . . . . . 6 (𝑚 = suc 𝑛 → (𝑓 Fn suc 𝑚𝑓 Fn suc suc 𝑛))
22 fveqeq2 6849 . . . . . . 7 (𝑚 = suc 𝑛 → ((𝑓𝑚) = 𝐵 ↔ (𝑓‘suc 𝑛) = 𝐵))
2322anbi2d 630 . . . . . 6 (𝑚 = suc 𝑛 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵)))
24 raleq 3293 . . . . . 6 (𝑚 = suc 𝑛 → (∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎) ↔ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2521, 23, 243anbi123d 1438 . . . . 5 (𝑚 = suc 𝑛 → ((𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2625exbidv 1921 . . . 4 (𝑚 = suc 𝑛 → (∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2719, 26ceqsexv 3495 . . 3 (∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
2827rexbii 3076 . 2 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑚) = 𝐵) ∧ ∀𝑎𝑚 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
291, 17, 283bitri 297 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ ω ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  w3a 1086   = wceq 1540  wex 1779  wcel 2109  wral 3044  wrex 3053  cdif 3908  c0 4292   class class class wbr 5102  suc csuc 6322   Fn wfn 6494  cfv 6499  ωcom 7822  1oc1o 8404  t++cttrcl 9636
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-sep 5246  ax-nul 5256  ax-pr 5382  ax-un 7691
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3352  df-rab 3403  df-v 3446  df-sbc 3751  df-csb 3860  df-dif 3914  df-un 3916  df-in 3918  df-ss 3928  df-pss 3931  df-nul 4293  df-if 4485  df-pw 4561  df-sn 4586  df-pr 4588  df-op 4592  df-uni 4868  df-int 4907  df-iun 4953  df-br 5103  df-opab 5165  df-mpt 5184  df-tr 5210  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6262  df-ord 6323  df-on 6324  df-lim 6325  df-suc 6326  df-iota 6452  df-fun 6501  df-fn 6502  df-f 6503  df-f1 6504  df-fo 6505  df-f1o 6506  df-fv 6507  df-ov 7372  df-oprab 7373  df-mpo 7374  df-om 7823  df-2nd 7948  df-frecs 8237  df-wrecs 8268  df-recs 8317  df-rdg 8355  df-1o 8411  df-oadd 8415  df-ttrcl 9637
This theorem is referenced by:  ttrclss  9649  ttrclse  9656
  Copyright terms: Public domain W3C validator