module Relation.Binary.PropositionalEquality1 where
open import Relation.Nullary
open import Relation.Binary
open import Relation.Binary.PropositionalEquality using (_≡_; refl)
infix 4 _≡₁_ _≢₁_
data _≡₁_ {a : Set₁} (x : a) : a → Set where
refl : x ≡₁ x
_≢₁_ : {a : Set₁} → a → a → Set
x ≢₁ y = ¬ x ≡₁ y
reflexive : ∀ {a} (x : a) → x ≡₁ x
reflexive _ = refl
sym : ∀ {a} {x y : a} → x ≡₁ y → y ≡₁ x
sym refl = refl
trans : ∀ {a} {x y z : a} → x ≡₁ y → y ≡₁ z → x ≡₁ z
trans refl refl = refl
subst : {a b : Set} → a ≡₁ b → a → b
subst refl x = x
cong : ∀ {a b} (f : a → b) → ∀ {x y} → x ≡₁ y → f x ≡₁ f y
cong _ refl = refl
cong₂ : ∀ {a b c} (f : a → b → c) →
∀ {x₁ x₂ y₁ y₂} → x₁ ≡₁ x₂ → y₁ ≡₁ y₂ → f x₁ y₁ ≡₁ f x₂ y₂
cong₂ _ refl refl = refl
cong₀₁ : ∀ {a b} (f : a → b) → ∀ {x y} → x ≡ y → f x ≡₁ f y
cong₀₁ _ refl = refl
cong₁₀ : ∀ {a b} (f : a → b) → ∀ {x y} → x ≡₁ y → f x ≡ f y
cong₁₀ _ refl = refl