[Agda] universe with extensional propositional equality?

James Chapman james at cs.ioc.ee
Wed Apr 8 08:58:11 CEST 2009


Hi Dan,

On Apr 8, 2009, at 3:48 AM, Dan Licata wrote:

> Hi everyone,
>
> Suppose I define a little universe as follows:
>
>  data Tp : Set where
>    bool : Tp
>    _⊃_  : Tp -> Tp -> Tp
>
>  <_> : Tp -> Set
>  < bool >  = Bool
>  < A ⊃ B > = < A > -> < B >
>
> I'd like to define a notion of propositional equality that treats
> functions extensionally, like this:
>
>  Eq : {A : Tp} -> < A > -> < A > -> Set
>  Eq {bool} True  True  = Unit
>  Eq {bool} False False = Unit
>  Eq {bool} True  False = Void
>  Eq {bool} False True  = Void
>  Eq {A ⊃ B} f g = (x y : < A >) -> Eq x y -> Eq (f x) (g y)
> 	
> However, I can't seem to prove that this notion of equality is
> reflexive:
>
>  refl : {A : Tp} -> (e : < A >) -> Eq e e

It isn't reflexive. Eq is a partial equivalence relation. It's also a  
logical relation (<_> is a logical predicate). Is it a PER model?

> For functions, you need to show
>
>  refl {A ⊃ B} f =
>   (? : (x : < A >) (y : < A >) -> Eq x y -> Eq (f x) (f y))
>
> i.e. that functions take equals to equals.

I think it doesn't hold for all functions, it only holds for functions  
that are in the equality relation. This is as you would expect for a  
PER. In general reflexivity only holds for elements that are in the  
PER: Eq x y implies Eq x x.

>
> My hunch is that all Agda functions in this little universe do take
> equals to equals (e.g., OTT has reflexivity and substitutivity as
> axioms---they're at least consistent).

I'm not an OTT expert (I'm not sure if I'm even an amateur). However,  
I think that in OTT when reflexivity is added as an axiom it is  
something new (to turn equality into a proper equivalence relation),  
it is just something that is axiomatized as it hasn't been proven yet  
and will be removed later.

Regards,

James


More information about the Agda mailing list