Closed andrejbauer closed 9 years ago
Cyril was planning to have a look at it.
Also, we are looking at using canonical structures together with HoTT, it seems that we can learn from ssr here.
On Tue, Aug 20, 2013 at 11:33 PM, Andrej Bauer notifications@github.comwrote:
It seems to me that the ssrefelect stuff is not working, and nobody is really going to fix it. Also, I would not want ssreflect to be used in the HoTT library. Should we just get rid of ssreflect?
— Reply to this email directly or view it on GitHubhttps://github.com/HoTT/HoTT/issues/186 .
Ok, let's leave it in for a while then.
Who is "we" in we are looking at using canonical structures"?
Perhaps we should talk a bit about the philosophy of the HoTT library, especially given recent suggestions to use fancier tools, to bundle things differently, etc.
In my view the HoTT library serves two purposes:
In particular, I do not consider HoTT library to be a playground for experimenting with fancy methods of formalization, because that goes against the second point. You cannot expect a beginner to be able to get a handle on the library, if the first thing the library does is introduce some super-advanced techniques that only experts understand. A corollary of this is that the library should be structured in such a way that super-advanced techniques get introduced gradually. The user has to be able to tell where to start reading something comprehensible.
Of course, we have to strike a good balance between usability and simplicity. We use type classes to increase usability, but that sets the bar higher for a new user. Will usability really be enhanced that much further if we throw in canonical structures as well?
"we" = a student and I. I hope to be able to work more on this. Canonical structures and ssr are fairly standard in Coq. We should try to understand how to use them with HoTT/ how these techniques extend to HoTT. If we remove the dependency, the work will be lost.
I promise not the litter the entire library with Canonical Structures before I understand what I am doing. (I guess the same holds for people like Cyril and Assia).
On Wed, Aug 21, 2013 at 11:17 AM, Andrej Bauer notifications@github.comwrote:
Ok, let's leave it in for a while then.
Who is "we" in we are looking at using canonical structures"?
Perhaps we should talk a bit about the philosophy of the HoTT library, especially given recent suggestions to use fancier tools, to bundle things differently, etc.
In my view the HoTT library serves two purposes:
- It formalizes some homotopy type theory.
- It teaches people how to formalize homotopy type theory.
In particular, I do not consider HoTT library to be a playground for experimenting with fancy methods of formalization, because that goes against the second point. You cannot expect a beginner to be able to get a handle on the library, if the first thing the library does is introduce some super-advanced techniques that only experts understand. A corollary of this is that the library should be structured in such a way that super-advanced techniques get introduced gradually. The user has to be able to tell where to start reading something comprehensible.
Of course, we have to strike a good balance between usability and simplicity. We use type classes to increase usability, but that sets the bar higher for a new user. Will usability really be enhanced that much further if we throw in canonical structures as well?
— Reply to this email directly or view it on GitHubhttps://github.com/HoTT/HoTT/issues/186#issuecomment-23004694 .
It may be best to make a branch. You could take over the ssreflect branch, which is kind of dead right now.
And/or a fork.
We already have some Canonical Structures in hott, and can continue to try to use them.
We should think more about other ssr niceties. @Barbichu and I think that moving the other srr stuff in a branch would be a good solution for now.
On Wed, Aug 21, 2013 at 11:42 AM, Andrej Bauer notifications@github.comwrote:
It may be best to make a branch. You could take over the ssreflect branch, which is kind of dead right now.
— Reply to this email directly or view it on GitHubhttps://github.com/HoTT/HoTT/issues/186#issuecomment-23005953 .
Indeed, there are are two of those in HProp
and HSet
. We should get rid of them until we discuss #194, or at the very least not add any new ones.
I am going to go ahead and get rid of ssreflect. I'll put it in a branch in case anyone wants to look at it later.
This is done, now, right?
Yes, it was closed by #292, where I forgot to reference this issue.
It seems to me that the ssrefelect stuff is not working, and nobody is really going to fix it. Also, I would not want ssreflect to be used in the HoTT library. Should we just get rid of ssreflect?