Closed
Description
Consider:
Relation.Binary.PropositionalEquality
:
isPropositional : Set a → Set a
isPropositional A = (a b : A) → a ≡ b
Relation.Nullary
:
Irrelevant : ∀ {p} → Set p → Set p
Irrelevant P = ∀ (p₁ p₂ : P) → p₁ ≡ p₂
Relation.Unary
:
Irrelevant : Pred A ℓ → Set _
Irrelevant P = ∀ {x} (a : P x) (b : P x) → a ≡ b
Relation.Binary.Definitions
:
Irrelevant : REL A B ℓ → Set _
Irrelevant _∼_ = ∀ {x y} (a b : x ∼ y) → a ≡ b
(these all fall under #2091 with the exception of the top one, which is defined but never used anywhere; nevertheless they are all 'propositional' accounts of irrelevance; UPDATED see #2259 )
and the type-theoretic/definitional account of irrelevance given by using .(_)
as a syntactic marker on types:
Data.Irrelevant
Data.Empty.Irrelevant
, which is built on top of it, likewiseData.Refinement
- the definition and use of
recompute
functions inRelation.Nullary.Decidable
(cf. Inconsistencies betweenRelation.Binary.Definitions
andRelation.Unary
andRelation.Nullary
#2091 again), which Enhancement toRelation.Nullary.Reflects
etc. #2149 would seek to push down toRelation.Nullary.Reflects
, along with a definition ofRecomputable
as a property of types. See also⊥
isRecomputable
#2199
Issue: how to reconcile all these various things in a straightforward and intelligible way?
And suitably redefine/deprecate the redundant ones...