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

Theorem brttrcl 9636
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 9635 . . 3 Rel t++𝑅
21brrelex12i 5689 . 2 (𝐴t++𝑅𝐵 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3 fvex 6857 . . . . . . 7 (𝑓‘∅) ∈ V
4 eleq1 2825 . . . . . . 7 ((𝑓‘∅) = 𝐴 → ((𝑓‘∅) ∈ V ↔ 𝐴 ∈ V))
53, 4mpbii 233 . . . . . 6 ((𝑓‘∅) = 𝐴𝐴 ∈ V)
6 fvex 6857 . . . . . . 7 (𝑓𝑛) ∈ V
7 eleq1 2825 . . . . . . 7 ((𝑓𝑛) = 𝐵 → ((𝑓𝑛) ∈ V ↔ 𝐵 ∈ V))
86, 7mpbii 233 . . . . . 6 ((𝑓𝑛) = 𝐵𝐵 ∈ V)
95, 8anim12i 614 . . . . 5 (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1093ad2ant2 1135 . . . 4 ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1110exlimiv 1932 . . 3 (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1211rexlimivw 3135 . 2 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
13 eqeq2 2749 . . . . . . 7 (𝑥 = 𝐴 → ((𝑓‘∅) = 𝑥 ↔ (𝑓‘∅) = 𝐴))
1413anbi1d 632 . . . . . 6 (𝑥 = 𝐴 → (((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦)))
15143anbi2d 1444 . . . . 5 (𝑥 = 𝐴 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1615exbidv 1923 . . . 4 (𝑥 = 𝐴 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1716rexbidv 3162 . . 3 (𝑥 = 𝐴 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 eqeq2 2749 . . . . . . 7 (𝑦 = 𝐵 → ((𝑓𝑛) = 𝑦 ↔ (𝑓𝑛) = 𝐵))
1918anbi2d 631 . . . . . 6 (𝑦 = 𝐵 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵)))
20193anbi2d 1444 . . . . 5 (𝑦 = 𝐵 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2120exbidv 1923 . . . 4 (𝑦 = 𝐵 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2221rexbidv 3162 . . 3 (𝑦 = 𝐵 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
23 df-ttrcl 9631 . . 3 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
2417, 22, 23brabg 5497 . 2 ((𝐴 ∈ V ∧ 𝐵 ∈ V) → (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
252, 12, 24pm5.21nii 378 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  w3a 1087   = wceq 1542  wex 1781  wcel 2114  wral 3052  wrex 3062  Vcvv 3442  cdif 3900  c0 4287   class class class wbr 5100  suc csuc 6329   Fn wfn 6497  cfv 6502  ωcom 7820  1oc1o 8402  t++cttrcl 9630
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 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5245  ax-nul 5255  ax-pr 5381
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-sb 2069  df-clab 2716  df-cleq 2729  df-clel 2812  df-ne 2934  df-ral 3053  df-rex 3063  df-rab 3402  df-v 3444  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-br 5101  df-opab 5163  df-xp 5640  df-rel 5641  df-iota 6458  df-fv 6510  df-ttrcl 9631
This theorem is referenced by:  brttrcl2  9637  ssttrcl  9638  ttrcltr  9639
  Copyright terms: Public domain W3C validator