[Agda] Type Mismatch in with

Harley Eades III harley.eades at gmail.com
Fri Nov 6 13:37:19 CET 2015


Andreas, thanks for correcting my mistake. :-)

Very best,
Harley

> On Nov 6, 2015, at 2:20 AM, Andreas Abel <andreas.abel at ifi.lmu.de> wrote:
> 
> Ashish, you need
> 
>  a ≟ x   (type a \?= x)
> 
> instead of  a ≡ x  or  Dec (a ≡ x).
> 
> Cheers, Andreas
> 
> 
> On 05.11.2015 21:19, Ashish Mishra wrote:
>> Hi Harley,
>> Thanks for the swift reply, Correct me if i am wrong ,
>> The issue here is that the typechecker did not find the type of " yes _
>> " as Set which it is looking for , although i am not sure why , because
>> the type of yes _ is indeed a Set as per the definition of Dec which is
>> of type Set.
>> 
>> P.S. The parameter to *with* needs to be a proposition if I am correct
>>  so I don't see Dec ( = a x )  as the issue , moreover replacing it by
>> (a = x  ) still gives the same error.
>> 
>> Thanks
>> 
>> 
>> 
>> 
>> 
>> On Fri, Nov 6, 2015 at 1:02 AM, Harley Eades III <harley.eades at gmail.com
>> <mailto:harley.eades at gmail.com <mailto:harley.eades at gmail.com>>> wrote:
>> 
>>    Hi, Ashish.
>> 
>>    It looks like the problem is the ‘Dec(_=_ a x)’
>> 
>>    I think this should be 'a = x’ instead.  The former is the type used
>>    to show
>>    that ‘_=_’ is decidable, and so the type of yes becomes Set.
>> 
>>    Very best,
>>    Harley
>> 
>>>    On Nov 5, 2015, at 2:18 PM, Ashish Mishra
>>>    <ashish123.mishragkp at gmail.com <mailto:ashish123.mishragkp at gmail.com>
>>>    <mailto:ashish123.mishragkp at gmail.com <mailto:ashish123.mishragkp at gmail.com>>> wrote:
>>> 
>>>    Hi All,
>>> 
>>>    I am new to agda programming, please help me understanding what is
>>>    wrong here in the function to get an element from the list if present.
>>> 
>>>    /  open import Relation.Nullary.Core/
>>>    /  lookupelem : { A : Set } ( a : A ) → List' A → Maybe A /
>>>    /  lookupelem a [] = nothing/
>>>    /  lookupelem a ( x :: xs ) with Dec( _≡_ a x )/
>>>    /  lookupelem a ( x :: xs ) | yes _ = just a /
>>>    /  lookupelem a ( x :: xs ) | no _ = lookupelem a xs /
>>> 
>>>    The type checker throws an error -
>>> 
>>>    *Type mismatch*
>>>    *when checking that the pattern yes _ has type Set*
>>> 
>>>    where List' is defined same as List from the std-lib , I cant see
>>>    where the problem is
>>> 
>>>    Thanks :)
>>> 
>>>    --
>>>    Regards,
>>>    Ashish Mishra
>>>    Graduate Student,
>>>    Computer Science and Automation Department,IISc
>>>    Cell : +91-9611194714
>>>    Mailto : ashishmishra at csa.iisc.ernet.in <mailto:ashishmishra at csa.iisc.ernet.in>
>>>    <mailto:ashishmishra at csa.iisc.ernet.in <mailto:ashishmishra at csa.iisc.ernet.in>>
>>> 
>>>    _______________________________________________
>>>    Agda mailing list
>>>    Agda at lists.chalmers.se <mailto:Agda at lists.chalmers.se> <mailto:Agda at lists.chalmers.se <mailto:Agda at lists.chalmers.se>>
>>>    https://lists.chalmers.se/mailman/listinfo/agda <https://lists.chalmers.se/mailman/listinfo/agda>
>> 
>> 
>> 
>> 
>> --
>> Regards,
>> Ashish Mishra
>> Graduate Student,
>> Computer Science and Automation Department,IISc
>> Cell : +91-9611194714
>> Mailto : ashishmishra at csa.iisc.ernet.in <mailto:ashishmishra at csa.iisc.ernet.in>
>> <mailto:ashishmishra at csa.iisc.ernet.in <mailto:ashishmishra at csa.iisc.ernet.in>>
>> 
>> 
>> 
>> _______________________________________________
>> Agda mailing list
>> Agda at lists.chalmers.se <mailto:Agda at lists.chalmers.se>
>> https://lists.chalmers.se/mailman/listinfo/agda <https://lists.chalmers.se/mailman/listinfo/agda>
>> 
> 
> 
> -- 
> Andreas Abel  <><      Du bist der geliebte Mensch.
> 
> Department of Computer Science and Engineering
> Chalmers and Gothenburg University, Sweden
> 
> andreas.abel at gu.se <mailto:andreas.abel at gu.se>
> http://www2.tcs.ifi.lmu.de/~abel/ <http://www2.tcs.ifi.lmu.de/~abel/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.chalmers.se/pipermail/agda/attachments/20151106/42d7b13c/attachment.html


More information about the Agda mailing list