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

Theorem brttrcl 9649
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 9648 . . 3 Rel t++𝑅
21brrelex12i 5687 . 2 (𝐴t++𝑅𝐵 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3 fvex 6855 . . . . . . 7 (𝑓‘∅) ∈ V
4 eleq1 2825 . . . . . . 7 ((𝑓‘∅) = 𝐴 → ((𝑓‘∅) ∈ V ↔ 𝐴 ∈ V))
53, 4mpbii 232 . . . . . 6 ((𝑓‘∅) = 𝐴𝐴 ∈ V)
6 fvex 6855 . . . . . . 7 (𝑓𝑛) ∈ V
7 eleq1 2825 . . . . . . 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 3148 . 2 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
13 eqeq2 2748 . . . . . . 7 (𝑥 = 𝐴 → ((𝑓‘∅) = 𝑥 ↔ (𝑓‘∅) = 𝐴))
1413anbi1d 630 . . . . . 6 (𝑥 = 𝐴 → (((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦)))
15143anbi2d 1441 . . . . 5 (𝑥 = 𝐴 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1615exbidv 1924 . . . 4 (𝑥 = 𝐴 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1716rexbidv 3175 . . 3 (𝑥 = 𝐴 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 eqeq2 2748 . . . . . . 7 (𝑦 = 𝐵 → ((𝑓𝑛) = 𝑦 ↔ (𝑓𝑛) = 𝐵))
1918anbi2d 629 . . . . . 6 (𝑦 = 𝐵 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵)))
20193anbi2d 1441 . . . . 5 (𝑦 = 𝐵 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2120exbidv 1924 . . . 4 (𝑦 = 𝐵 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2221rexbidv 3175 . . 3 (𝑦 = 𝐵 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
23 df-ttrcl 9644 . . 3 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
2417, 22, 23brabg 5496 . 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 3064  wrex 3073  Vcvv 3445  cdif 3907  c0 4282   class class class wbr 5105  suc csuc 6319   Fn wfn 6491  cfv 6496  ωcom 7802  1oc1o 8405  t++cttrcl 9643
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 2707  ax-sep 5256  ax-nul 5263  ax-pr 5384
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 2714  df-cleq 2728  df-clel 2814  df-ne 2944  df-ral 3065  df-rex 3074  df-rab 3408  df-v 3447  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-nul 4283  df-if 4487  df-sn 4587  df-pr 4589  df-op 4593  df-uni 4866  df-br 5106  df-opab 5168  df-xp 5639  df-rel 5640  df-iota 6448  df-fv 6504  df-ttrcl 9644
This theorem is referenced by:  brttrcl2  9650  ssttrcl  9651  ttrcltr  9652
  Copyright terms: Public domain W3C validator