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

Theorem brttrcl 9670
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 9669 . . 3 Rel t++𝑅
21brrelex12i 5704 . 2 (𝐴t++𝑅𝐵 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3 fvex 6882 . . . . . . 7 (𝑓‘∅) ∈ V
4 eleq1 2852 . . . . . . 7 ((𝑓‘∅) = 𝐴 → ((𝑓‘∅) ∈ V ↔ 𝐴 ∈ V))
53, 4mpbii 235 . . . . . 6 ((𝑓‘∅) = 𝐴𝐴 ∈ V)
6 fvex 6882 . . . . . . 7 (𝑓𝑛) ∈ V
7 eleq1 2852 . . . . . . 7 ((𝑓𝑛) = 𝐵 → ((𝑓𝑛) ∈ V ↔ 𝐵 ∈ V))
86, 7mpbii 235 . . . . . 6 ((𝑓𝑛) = 𝐵𝐵 ∈ V)
95, 8anim12i 622 . . . . 5 (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1093ad2ant2 1148 . . . 4 ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1110exlimiv 1952 . . 3 (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
1211rexlimivw 3161 . 2 (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
13 eqeq2 2776 . . . . . . 7 (𝑥 = 𝐴 → ((𝑓‘∅) = 𝑥 ↔ (𝑓‘∅) = 𝐴))
1413anbi1d 640 . . . . . 6 (𝑥 = 𝐴 → (((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦)))
15143anbi2d 1464 . . . . 5 (𝑥 = 𝐴 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1615exbidv 1943 . . . 4 (𝑥 = 𝐴 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
1716rexbidv 3188 . . 3 (𝑥 = 𝐴 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
18 eqeq2 2776 . . . . . . 7 (𝑦 = 𝐵 → ((𝑓𝑛) = 𝑦 ↔ (𝑓𝑛) = 𝐵))
1918anbi2d 639 . . . . . 6 (𝑦 = 𝐵 → (((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ↔ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵)))
20193anbi2d 1464 . . . . 5 (𝑦 = 𝐵 → ((𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ (𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2120exbidv 1943 . . . 4 (𝑦 = 𝐵 → (∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
2221rexbidv 3188 . . 3 (𝑦 = 𝐵 → (∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)) ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
23 df-ttrcl 9665 . . 3 t++𝑅 = {⟨𝑥, 𝑦⟩ ∣ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝑥 ∧ (𝑓𝑛) = 𝑦) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))}
2417, 22, 23brabg 5512 . 2 ((𝐴 ∈ V ∧ 𝐵 ∈ V) → (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎))))
252, 12, 24pm5.21nii 380 1 (𝐴t++𝑅𝐵 ↔ ∃𝑛 ∈ (ω ∖ 1o)∃𝑓(𝑓 Fn suc 𝑛 ∧ ((𝑓‘∅) = 𝐴 ∧ (𝑓𝑛) = 𝐵) ∧ ∀𝑎𝑛 (𝑓𝑎)𝑅(𝑓‘suc 𝑎)))
Colors of variables: wff setvar class
Syntax hints:  wb 208  wa 399  w3a 1099   = wceq 1562  wex 1801  wcel 2144  wral 3078  wrex 3088  Vcvv 3456  cdif 3903  c0 4287   class class class wbr 5102  suc csuc 6350   Fn wfn 6518  cfv 6523  ωcom 7848  1oc1o 8432  t++cttrcl 9664
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1817  ax-4 1831  ax-5 1932  ax-6 1989  ax-7 2030  ax-8 2146  ax-9 2154  ax-11 2193  ax-12 2214  ax-ext 2736  ax-sep 5248  ax-nul 5258  ax-pr 5392
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3an 1101  df-tru 1565  df-fal 1575  df-ex 1802  df-sb 2093  df-clab 2743  df-cleq 2756  df-clel 2839  df-ne 2960  df-ral 3079  df-rex 3089  df-rab 3417  df-v 3458  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-nul 4288  df-if 4483  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5103  df-opab 5165  df-xp 5655  df-rel 5656  df-iota 6479  df-fv 6531  df-ttrcl 9665
This theorem is referenced by:  brttrcl2  9671  ssttrcl  9672  ttrcltr  9673
  Copyright terms: Public domain W3C validator