I think splitting up ReflectiveSubuniverse.v will be beneficial for readability. At the moment we have one big file (~2000 lines) which makes it very difficult to read and find things in. I propose splitting these up into smaller files as follows:
- Core.v containing the definition of ReflectiveSubuniverses (basically up to ln 252). And Restrictions and Unions from the end.
- Functor.v containg results about the functoriality of ReflectiveSubuniveres.
- Equiv.v containg results about O-equivalences (O_inverts)
- Type.v contain results about the interaction of RSUs and various type constructors
- Decidable.v about the interaction with decidability
- Monad.v about the monad stuff
- Connected.v about O-connected types
- Map.v about O-local maps
- ConnMap.v about O-connected maps
These would all of course be indexed by a ReflectiveSubuniverse.v file which means the rest of the library would remain untouched.
I think splitting up ReflectiveSubuniverse.v will be beneficial for readability. At the moment we have one big file (~2000 lines) which makes it very difficult to read and find things in. I propose splitting these up into smaller files as follows:
These would all of course be indexed by a ReflectiveSubuniverse.v file which means the rest of the library would remain untouched.