Agda in Agda [Was: [Agda] Pie in the sky]

Benja Fallenstein benja.fallenstein at gmail.com
Sun Sep 26 04:22:07 CEST 2010


Hi Nils,

On Sat, Sep 25, 2010 at 9:53 PM, Nils Anders Danielsson
<nad at cs.nott.ac.uk> wrote:
>> p : Bool
>> p with termination-checks? (quote p)
>> p | (no _) = ff  -- never reached
>> p | (yes t) with eval p t
>> p | (yes t) | r with syntactically-equal? r (quote tt)
>> p | (yes t) | r | (yes _) = ff
>> p | (yes t) | r | (no _) = tt
>>
>>
>> Since termination-checks?, eval and syntactically-equal? are all
>> assumed to pass the termination checker, the current Agda termination
>> checker would also accept p as terminating.
>
> No, the uses of p on the right-hand side are neither guarded nor applied
> to structurally smaller arguments.

But Samuel said (quote p) should be "an informal notation for the
Program representing p," not an Agda function -- I take this to mean
(quote p) is informal notation for "an expression whose value is the
source of p," using quining. And the "eval p t" is surely a typo and
should be "eval (quote p) t".

- Benja


More information about the Agda mailing list