{-# OPTIONS --type-in-type #-} -- Equational reasoning about relations over one specific set can be found in PreOrder.agda open import NeilPrelude open import Properties module Equational (_≈_ : {A : Set} → Rel A) (reflexivity : {A : Set} → Reflexive {A} _≈_) (transitive : {A : Set} → Transitive {A} _≈_) where infixr 1 _⟨_⟩_ infix 2 _QED _⟨_⟩_ : {A : Set} → {b c : A} → (a : A) → a ≈ b → b ≈ c → a ≈ c _⟨_⟩_ _ = transitive _QED : {A : Set} → (a : A) → a ≈ a _ QED = reflexivity