Some relevant discussion in #910
Right now, we have a lot of code in cava/Cava/Util that is not specific to our project. That means our dependency structure is a little strange; a lot of things that are defined in cava2 have dependencies on cava/ anyway because they use the Util files. Restructuring our directories so that Util is a separate library that cava and cava2 both depend on will simplify this and speed up our CI.
Additionally, some of the stuff in Util might be useful for other Coq projects, especially the list/vector lemmas and some of the tactics. If we want to be good open-source citizens, we could upstream some of those things to coqutil (it would be good to address #896 first, because the list/vector infrastructure makes heavy use of autorewrite).
Some relevant discussion in #910
Right now, we have a lot of code in
cava/Cava/Utilthat is not specific to our project. That means our dependency structure is a little strange; a lot of things that are defined in cava2 have dependencies oncava/anyway because they use the Util files. Restructuring our directories so thatUtilis a separate library thatcavaandcava2both depend on will simplify this and speed up our CI.Additionally, some of the stuff in Util might be useful for other Coq projects, especially the list/vector lemmas and some of the tactics. If we want to be good open-source citizens, we could upstream some of those things to coqutil (it would be good to address #896 first, because the list/vector infrastructure makes heavy use of
autorewrite).