[Agda] implicit arguments weirdness

Christoph HERRMANN ch at cs.st-andrews.ac.uk
Wed Dec 16 18:08:52 CET 2009


On 16 Dec 2009, at 17:06, Christoph HERRMANN wrote:

> Hi Florent,
> 
> On 16 Dec 2009, at 17:01, Florent Balestrieri wrote:
> 
>> Hello,
>> 
>> I am puzzled by the behaviour of agda (2.2.4). Given the
>> following function:
>> 
>>> cons : forall {n} (x : a) (xs : Vec a n) -> Vec a (suc n)
>> 
>> If I write (for some `x' with a given type `A')
>> 
>>> \ k -> cons {k} x
>> 
>> then agda complains:
>> 
>>> _97 n x v !=< Set
>>> when checking that the expression k has type Set
>> 
>> Which is crazy since `k' is supposed to have type `Nat', not
>> `Set'.  
> 
> Agda probably does not know at the point. Just say  "{k : \bn}"

Sorry, I meant say "{n : Nat}" in the type signature for cons.
> 
>> Now if I write:
>> 
>>> \ k -> cons {k = k} x
>> 
>> then it's fine.
> 
> Because k=k is a set.
> 
> I'm surprised that it works with k=k though without
> specifying k.
> 
>> 
>> My conclusions are:
>> 
>> 1) There is only one implicit argument, so why can't agda
>>    figure it out in the first case?
>> 
>> 2) The error message is misleading because it says `Set'
>>  instead of `Nat'
>> 
>> Cheers
>> -- Florent
>> _______________________________________________
>> Agda mailing list
>> Agda at lists.chalmers.se
>> https://lists.chalmers.se/mailman/listinfo/agda
> 
> --
> Dr. Christoph Herrmann
> University of St Andrews, Scotland/UK
> phone: office: +44 1334 461629, home: +44 1334 478648 
> email: ch at cs.st-andrews.ac.uk,  c.herrmann at virgin.net
> URL:   http://www.cs.st-andrews.ac.uk/~ch
> 
> The University of St Andrews is a charity registered in Scotland: No SC013532
> 
> 
> 
> 
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda

--
 Dr. Christoph Herrmann
 University of St Andrews, Scotland/UK
 phone: office: +44 1334 461629, home: +44 1334 478648 
 email: ch at cs.st-andrews.ac.uk,  c.herrmann at virgin.net
 URL:   http://www.cs.st-andrews.ac.uk/~ch
 
 The University of St Andrews is a charity registered in Scotland: No SC013532






More information about the Agda mailing list