Metamath Proof Explorer


Theorem dirtr

Description: A direction is transitive. (Contributed by Jeff Hankins, 25-Nov-2009) (Revised by Mario Carneiro, 22-Nov-2013)

Ref Expression
Assertion dirtr ⊢ R ∈ DirRel ∧ C ∈ V ∧ A R B ∧ B R C → A R C

Proof

Step Hyp Ref Expression
1 reldir ⊢ R ∈ DirRel → Rel ⁡ R
2 brrelex1 ⊢ Rel ⁡ R ∧ A R B → A ∈ V
3 2 ex ⊢ Rel ⁡ R → A R B → A ∈ V
4 brrelex1 ⊢ Rel ⁡ R ∧ B R C → B ∈ V
5 4 ex ⊢ Rel ⁡ R → B R C → B ∈ V
6 3 5 anim12d ⊢ Rel ⁡ R → A R B ∧ B R C → A ∈ V ∧ B ∈ V
7 1 6 syl ⊢ R ∈ DirRel → A R B ∧ B R C → A ∈ V ∧ B ∈ V
8 eqid ⊢ ⋃ ⋃ R = ⋃ ⋃ R
9 8 isdir ⊢ R ∈ DirRel → R ∈ DirRel ↔ Rel ⁡ R ∧ I ↾ ⋃ ⋃ R ⊆ R ∧ R ∘ R ⊆ R ∧ ⋃ ⋃ R × ⋃ ⋃ R ⊆ R -1 ∘ R
10 9 ibi ⊢ R ∈ DirRel → Rel ⁡ R ∧ I ↾ ⋃ ⋃ R ⊆ R ∧ R ∘ R ⊆ R ∧ ⋃ ⋃ R × ⋃ ⋃ R ⊆ R -1 ∘ R
11 10 simprld ⊢ R ∈ DirRel → R ∘ R ⊆ R
12 cotr ⊢ R ∘ R ⊆ R ↔ ∀ x ∀ y ∀ z x R y ∧ y R z → x R z
13 11 12 sylib ⊢ R ∈ DirRel → ∀ x ∀ y ∀ z x R y ∧ y R z → x R z
14 breq12 ⊢ x = A ∧ y = B → x R y ↔ A R B
15 14 3adant3 ⊢ x = A ∧ y = B ∧ z = C → x R y ↔ A R B
16 breq12 ⊢ y = B ∧ z = C → y R z ↔ B R C
17 16 3adant1 ⊢ x = A ∧ y = B ∧ z = C → y R z ↔ B R C
18 15 17 anbi12d ⊢ x = A ∧ y = B ∧ z = C → x R y ∧ y R z ↔ A R B ∧ B R C
19 breq12 ⊢ x = A ∧ z = C → x R z ↔ A R C
20 19 3adant2 ⊢ x = A ∧ y = B ∧ z = C → x R z ↔ A R C
21 18 20 imbi12d ⊢ x = A ∧ y = B ∧ z = C → x R y ∧ y R z → x R z ↔ A R B ∧ B R C → A R C
22 21 spc3gv ⊢ A ∈ V ∧ B ∈ V ∧ C ∈ V → ∀ x ∀ y ∀ z x R y ∧ y R z → x R z → A R B ∧ B R C → A R C
23 13 22 syl5 ⊢ A ∈ V ∧ B ∈ V ∧ C ∈ V → R ∈ DirRel → A R B ∧ B R C → A R C
24 23 3expia ⊢ A ∈ V ∧ B ∈ V → C ∈ V → R ∈ DirRel → A R B ∧ B R C → A R C
25 24 com4t ⊢ R ∈ DirRel → A R B ∧ B R C → A ∈ V ∧ B ∈ V → C ∈ V → A R C
26 7 25 mpdd ⊢ R ∈ DirRel → A R B ∧ B R C → C ∈ V → A R C
27 26 imp31 ⊢ R ∈ DirRel ∧ A R B ∧ B R C ∧ C ∈ V → A R C
28 27 an32s ⊢ R ∈ DirRel ∧ C ∈ V ∧ A R B ∧ B R C → A R C