12345678910111213141516171819202122open import Prelude.Init module Prelude.Closures {A : Type ℓ} (_—→_ : Rel A ℓ) where private variable x y z : A -- left-biasedinfix 3 _∎infixr 2 _—→⟨_⟩_ _—↠⟨_⟩_infix 1 begin_; pattern begin_ x = xinfix -1 _—↠_ data _—↠_ : Rel A ℓ where _∎ : ∀ x → x —↠ x _—→⟨_⟩_ : ∀ x → x —→ y → y —↠ z → x —↠ z —↠-trans : Transitive _—↠_—↠-trans (x ∎) xz = xz—↠-trans (_ —→⟨ r ⟩ xy) yz = _ —→⟨ r ⟩ —↠-trans xy yz _—↠⟨_⟩_ : ∀ x → x —↠ y → y —↠ z → x —↠ z_—↠⟨_⟩_ _ = —↠-trans