[Agda] Agda's coinduction incompatible with initial algebras
Thorsten Altenkirch
txa at Cs.Nott.AC.UK
Thu Oct 6 15:10:08 CEST 2011
On 6 Oct 2011, at 11:46, Nils Anders Danielsson wrote:
> On 2011-10-05 18:13, Andreas Abel wrote:
>> These two systems have not been integrated, since there is a history
>> of dispute stretching several years what we should go for. [With a
>> current cease-fire, but no peace treaty. Maybe I should not have
>> touched this issue.]
>
> This sounds a little dramatic. :)
>
> I agree that Agda's current mechanism for termination/productivity
> (especially the latter) is not good enough. The compositionality
> provided by sized types is very nice. There may also be other approaches
> that can give us compositionality, but so far sized types seem to be
> ahead in the game.
>
> However, sized types are quite /complicated/. The design in MiniAgda
> involves extra data type indices, irrelevance, subtyping for sizes,
> continuity conditions, positivity/negativity annotations, and perhaps
> more.
Exactly.
I have the impression that we are putting too much into the Type System.
There is a certain beauty in the simplicity of Type Theory.
> Despite all this complexity I'm still interested in sized types, because
> they seem to make some programs much easier to write. Perhaps we can
> find a decent compromise. I would like to see a design with the
> following properties:
>
> * Newcomers to the language can write simple structural recursion
> without knowing anything about sized types.
>
> * When they decide to start using sized types they shouldn't have to
> change a large fraction of their existing code (adding size indices
> etc.).
>
> We have discussed such a design in the past, but I don't think we ever
> came up with anything good.
I completely agree.
On a theoretical level I'd like to see a translation from sized types into
using eliminators. Is it clear that this is possible at least in principle.
How do sized types interact with induction recursion?
wiith induction-induction?
And mixed induction/coinduction ?
Cheers,
Thorsten
>
> --
> /NAD
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
More information about the Agda
mailing list