Library Nijn.Prelude.Relations.TransitiveClosure
Inductive transitiveClosure {A : Type} (R : A → A → Type) : A → A → Type :=
| TStep : ∀ (a1 a2 : A),
R a1 a2
→ transitiveClosure R a1 a2
| Trans : ∀ {a1 a2 a3 : A},
transitiveClosure R a1 a2
→ transitiveClosure R a2 a3
→ transitiveClosure R a1 a3.
Arguments TStep {_ _ _ _} _.
Arguments Trans {_ _ _ _ _} _ _.
| TStep : ∀ (a1 a2 : A),
R a1 a2
→ transitiveClosure R a1 a2
| Trans : ∀ {a1 a2 a3 : A},
transitiveClosure R a1 a2
→ transitiveClosure R a2 a3
→ transitiveClosure R a1 a3.
Arguments TStep {_ _ _ _} _.
Arguments Trans {_ _ _ _ _} _ _.