<div dir="ltr">It&#39;s the same principle in play here. Agda refuses to proceed with the instance search since there is an unsolved and unconstrained level meta.<div><br></div><div>/ Ulf</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 20, 2016 at 7:01 AM, David Darais <span dir="ltr">&lt;<a href="mailto:darais@cs.umd.edu" target="_blank">darais@cs.umd.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello again,<br>
<br>
Sorry to keep pestering about typeclasses, but here is another example from my<br>
codebase which doesn&#39;t typecheck in both 2.5.0.20160213 and master, and used to<br>
typecheck in 2.4.2.5.<br>
<br>
&gt; open import Agda.Primitive<br>
&gt;<br>
&gt; record Order {ℓ} ℓ&#39; (A : Set ℓ) : Set (ℓ ⊔ lsuc ℓ&#39;) where<br>
&gt;   field<br>
&gt;     _≤_ : A → A → Set ℓ&#39;<br>
&gt; open Order {{...}} public<br>
&gt;<br>
&gt; data ℕ : Set where<br>
&gt;   Zero : ℕ<br>
&gt;   Succ : ℕ → ℕ<br>
&gt;<br>
&gt; data _≤ⁿ_ : ℕ → ℕ → Set where<br>
&gt;   Zero : ∀ {n} → Zero ≤ⁿ n<br>
&gt;   Succ : ∀ {n₁ n₂} → n₁ ≤ⁿ n₂ → Succ n₁ ≤ⁿ Succ n₂<br>
&gt;<br>
&gt; instance<br>
&gt;   Order[ℕ] : Order lzero ℕ<br>
&gt;   Order[ℕ] = record { _≤_ = _≤ⁿ_ }<br>
&gt;<br>
&gt; subtract : ∀ (n₁ n₂ : ℕ) → n₂ ≤ n₁ → ℕ<br>
&gt; subtract n₁ n P = {!!}<br>
<br>
The issues is that Agda is not able to resolve the use of `≤` in `subtract`,<br>
leaving `n₂ ≤ n₁` highlighted in yellow (unresolved metas). Shouldn&#39;t this be a<br>
clear case where Agda picks the `Order[ℕ]` instance?<br>
<br>
Thanks,<br>
David<br>
_______________________________________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" rel="noreferrer" target="_blank">https://lists.chalmers.se/mailman/listinfo/agda</a><br>
</blockquote></div><br></div>