Library Coq.Logic.Eqdep_dec
We prove that there is only one proof of
x=x, i.e
eq_refl x.
This holds if the equality upon the set of
x is decidable.
A corollary of this theorem is the equality of the right projections
of two equal dependent pairs.
Author: Thomas Kleymann |<tms@dcs.ed.ac.uk>| in Lego
adapted to Coq by B. Barras
Credit: Proofs up to
K_dec follow an outline by Michael Hedberg
Table of contents:
1. Streicher's K and injectivity of dependent pair hold on decidable types
1.1. Definition of the functor that builds properties of dependent equalities
from a proof of decidability of equality for a set in Type
1.2. Definition of the functor that builds properties of dependent equalities
from a proof of decidability of equality for a set in Set
Streicher's K and injectivity of dependent pair hold on decidable types
The corollary
We deduce axiom K for (decidable) types
We deduce the eq_rect_eq axiom for (decidable) types
We deduce the injectivity of dependent equality for decidable types
Definition of the functor that builds properties of dependent equalities on decidable sets in Type
The signature of decidable sets in
Type
The module DecidableEqDep collects equality properties for decidable
set in Type
Invariance by Substitution of Reflexive Equality Proofs
Injectivity of Dependent Equality
Uniqueness of Identity Proofs (UIP)
Uniqueness of Reflexive Identity Proofs
Streicher's axiom K
Injectivity of equality on dependent pairs in Type
Proof-irrelevance on subsets of decidable sets
Definition of the functor that builds properties of dependent equalities on decidable sets in Set
The signature of decidable sets in
Set
The module DecidableEqDepSet collects equality properties for decidable
set in Set
Invariance by Substitution of Reflexive Equality Proofs
Injectivity of Dependent Equality
Uniqueness of Identity Proofs (UIP)
Uniqueness of Reflexive Identity Proofs
Streicher's axiom K
Proof-irrelevance on subsets of decidable sets
Injectivity of equality on dependent pairs in Type
Injectivity of equality on dependent pairs with second component
in Type
From decidability to inj_pair2