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

Theorem brttrcl2 9725
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 9724 . 2 (𝐴t++𝑅𝐵 ↔ ∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)))
2 df-1o 8487 . . . . . . . . 9 1o = suc ∅
32difeq2i 4062 . . . . . . . 8 (ω ∖ 1o) = (ω ∖ suc ∅)
43eleq2i 2855 . . . . . . 7 (𝑚 ∈ (ω ∖ 1o) ↔ 𝑚 ∈ (ω ∖ suc ∅))
5 peano1 7907 . . . . . . . 8 ∅ ∈ ω
6 eldifsucnn 8684 . . . . . . . 8 (∅ ∈ ω → (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛))
75, 6ax-mp 5 . . . . . . 7 (𝑚 ∈ (ω ∖ suc ∅) ↔ ∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛)
8 dif0 4329 . . . . . . . 8 (ω ∖ ∅) = ω
98rexeqi 3321 . . . . . . 7 (∃𝑛 ∈ (ω ∖ ∅)𝑚 = suc 𝑛 ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
104, 7, 93bitri 300 . . . . . 6 (𝑚 ∈ (ω ∖ 1o) ↔ ∃𝑛 ∈ ω 𝑚 = suc 𝑛)
1110anbi1i 636 . . . . 5 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
12 r19.41v 3195 . . . . 5 (∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ (∃𝑛 ∈ ω 𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
1311, 12bitr4i 281 . . . 4 ((𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
1413exbii 1880 . . 3 (∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
15 df-rex 3090 . . 3 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑚(𝑚 ∈ (ω ∖ 1o) ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
16 rexcom4 3292 . . 3 (∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑚∃𝑛 ∈ ω (𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
1714, 15, 163bitr4i 306 . 2 (∃𝑚 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ ω ∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
18 vex 3457 . . . . 5 𝑛 ∈ V
1918sucex 7827 . . . 4 suc 𝑛 ∈ V
20 suceq 6437 . . . . . . 7 (𝑚 = suc 𝑛 → suc 𝑚 = suc suc 𝑛)
2120fneq2d 6641 . . . . . 6 (𝑚 = suc 𝑛 → (𝑓 Fn suc 𝑚 ↔ 𝑓 Fn suc suc 𝑛))
22 fveqeq2 6902 . . . . . . 7 (𝑚 = suc 𝑛 → ((𝑓‘𝑚) = 𝐵 ↔ (𝑓‘suc 𝑛) = 𝐵))
2322anbi2d 642 . . . . . 6 (𝑚 = suc 𝑛 → (((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵)))
24 raleq 3319 . . . . . 6 (𝑚 = suc 𝑛 → (∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎) ↔ ∀𝑎 ∈ suc 𝑛(𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)))
2521, 23, 243anbi123d 1464 . . . . 5 (𝑚 = suc 𝑛 → ((𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
2625exbidv 1955 . . . 4 (𝑚 = suc 𝑛 → (∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))))
2719, 26ceqsexv 3501 . . 3 (∃𝑚(𝑚 = suc 𝑛 ∧ ∃𝑓(𝑓 Fn suc 𝑚 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘𝑚) = 𝐵) ∧ ∀𝑎 ∈ 𝑚 (𝑓‘𝑎)𝑅(𝑓‘suc 𝑎))) ↔ ∃𝑓(𝑓 Fn suc suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓‘suc 𝑛) = 𝐵) ∧ ∀𝑎 ∈ suc 𝑛(𝑓‘𝑎)𝑅(𝑓‘suc 𝑎)))
2827rexbii 3112 . 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 1569  ∃wex 1811   ∈ wcel 2146  ∀wral 3079  ∃wrex 3089   ∖ cdif 4047  ∅c0 4280   class class class wbr 5105  suc csuc 6370   Fn wfn 6541  ‘cfv 6546  ωcom 7884  1oc1o 8480  t++cttrcl 9718
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2196  ax-12 2215  ax-ext 2735  ax-sep 5251  ax-nul 5262  ax-pr 5394  ax-un 7758
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2101  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 3369  df-rab 3416  df-v 3455  df-sbc 3742  df-csb 3851  df-ss 3900  df-pss 4016  df-dif 4049  df-in 4093  df-un 4153  df-nul 4281  df-if 4485  df-pw 4561  df-sn 4588  df-pr 4590  df-op 4838  df-uni 4870  df-int 4910  df-iun 4955  df-br 5106  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5549  df-eprel 5554  df-po 5562  df-so 5563  df-fr 5607  df-we 5609  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6310  df-ord 6371  df-on 6372  df-lim 6373  df-suc 6374  df-iota 6500  df-fun 6548  df-fn 6549  df-f 6550  df-f1 6551  df-fo 6552  df-f1o 6553  df-fv 6554  df-ov 7430  df-oprab 7431  df-mpo 7432  df-om 7885  df-2nd 8009  df-frecs 8310  df-wrecs 8341  df-recs 8390  df-rdg 8429  df-1o 8487  df-oadd 8491  df-ttrcl 9719
This theorem is used by:  ttrclss  9731  ttrclse  9738  fineqvnttrclse  35863
  Copyright terms: Public domain W3C validator