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

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

Proof of Theorem brttrcl
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 relttrcl 9657 . . 3 Rel t++𝑅
21brrelex12i 5692 . 2 (𝐴t++𝑅𝐵 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3 fvex 6860 . . . . . . 7 (𝑓‘∅) ∈ V
4 eleq1 2820 . . . . . . 7 ((𝑓‘∅) = 𝐴 → ((𝑓‘∅) ∈ V ↔ 𝐴 ∈ V))
53, 4mpbii 232 . . . . . 6 ((𝑓‘∅) = 𝐴𝐴 ∈ V)
6 fvex 6860 . . . . . . 7 (𝑓𝑛) ∈ V
7 eleq1 2820 . . . . . . 7 ((𝑓𝑛) = 𝐵 → ((𝑓𝑛) ∈ V ↔ 𝐵 ∈ V))
86, 7mpbii 232 . . . . . 6 ((𝑓𝑛) = 𝐵𝐵 ∈ V)
95, 8anim12i 613 . . . . 5 (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1093ad2ant2 1134 . . . 4 ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1110exlimiv 1933 . . 3 (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1211rexlimivw 3144 . 2 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
13 eqeq2 2743 . . . . . . 7 (𝑥 = 𝐴 → ((𝑓‘∅) = 𝑥 ↔ (𝑓‘∅) = 𝐴))
1413anbi1d 630 . . . . . 6 (𝑥 = 𝐴 → (((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦)))
15143anbi2d 1441 . . . . 5 (𝑥 = 𝐴 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1615exbidv 1924 . . . 4 (𝑥 = 𝐴 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1716rexbidv 3171 . . 3 (𝑥 = 𝐴 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 eqeq2 2743 . . . . . . 7 (𝑦 = 𝐵 → ((𝑓𝑛) = 𝑦 ↔ (𝑓𝑛) = 𝐵))
1918anbi2d 629 . . . . . 6 (𝑦 = 𝐵 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵)))
20193anbi2d 1441 . . . . 5 (𝑦 = 𝐵 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2120exbidv 1924 . . . 4 (𝑦 = 𝐵 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2221rexbidv 3171 . . 3 (𝑦 = 𝐵 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
23 df-ttrcl 9653 . . 3 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
2417, 22, 23brabg 5501 . 2 ((𝐴 ∈ V ∧ 𝐵 ∈ V) → (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
252, 12, 24pm5.21nii 379 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables: wff setvar class
Syntax hints:  wb 205  wa 396  w3a 1087   = wceq 1541  wex 1781  wcel 2106  wral 3060  wrex 3069  Vcvv 3446  cdif 3910  c0 4287   class class class wbr 5110  suc csuc 6324   Fn wfn 6496  cfv 6501  ωcom 7807  1oc1o 8410  t++cttrcl 9652
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-11 2154  ax-12 2171  ax-ext 2702  ax-sep 5261  ax-nul 5268  ax-pr 5389
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-sb 2068  df-clab 2709  df-cleq 2723  df-clel 2809  df-ne 2940  df-ral 3061  df-rex 3070  df-rab 3406  df-v 3448  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-nul 4288  df-if 4492  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4871  df-br 5111  df-opab 5173  df-xp 5644  df-rel 5645  df-iota 6453  df-fv 6509  df-ttrcl 9653
This theorem is referenced by:  brttrcl2  9659  ssttrcl  9660  ttrcltr  9661
  Copyright terms: Public domain W3C validator