[Agda] heterogeneous equality

Andrés Sicard-Ramírez andres.sicard.ramirez at gmail.com
Thu Sep 9 06:07:51 CEST 2010


Hi,

On Mon, Mar 3, 2008 at 9:16 AM, Nils Anders Danielsson
<nils.anders.danielsson at gmail.com> wrote:
> On Mon, Mar 3, 2008 at 10:44 AM, Ulf Norell <ulfn at cs.chalmers.se> wrote:
>>
>> The unification performed when pattern matching only handled data
>> constructors (not type constructors), so Tm G nat and Tm G' nat didn't unify
>> (with G' := G). Fixed now.
>
> I have a related issue. The following does not type check:
>
> data _≡_ {a : Set1} (x : a) : a -> Set where
>  refl : x ≡ x
>
> proj₁ : forall {a₁ b₁ a₂ b₂ : Set} ->
>        (a₁ -> b₁) ≡ (a₂ -> b₂) -> a₁ ≡ a₂
> proj₁ refl = refl
>
> Agda complains about the pattern refl (a₁ != a₂). In light of your
> recent patch, is there any reason not to allow also this function?

I couldn't find the answer for this two years and a half old question.
Was it answered anywhere?

Thanks,

-- 
Andrés


More information about the Agda mailing list