{-# OPTIONS --cubical-compatible #-} module Terra.Classes.Eq where open import Terra.Data.Equality open import Terra.Data.Decision open import Terra.Data.Level open import Terra.Data.Negation private variable ℓ : Level -- J'ai pas besoin que ce soit un record, je peux juste utiliser l'égalité -- décidable. J'en ai besoin, sinon les contraintes de types sont impossibles à -- recevoir par une instance (a, b -> Decision (a ≡ b)) fonctione pas. record Eq (A : Set ℓ) : Set ℓ where field _≟_ : (x y : A) -> Decision (x ≡ y) _≠_ : (x y : A) -> Decision (¬(x ≡ y)) l ≠ r with l ≟ r ... | yes x = no λ f → f x ... | no x = yes λ x₁ → x x₁ open Eq {{...}} public