[Agda] heterogeneous equality

Nils Anders Danielsson nils.anders.danielsson at gmail.com
Mon Mar 3 15:16:49 CET 2008


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?

-- 
/NAD


More information about the Agda mailing list