jwiegley / category-theory

An axiom-free formalization of category theory in Coq for personal study and practical work
BSD 3-Clause "New" or "Revised" License
740 stars 67 forks source link

Allow rewrites to be performed over structure only #107

Closed jwiegley closed 1 year ago

jwiegley commented 1 year ago

This PR removes the support for cartesian structure from the solver, but exchanges it for the ability to render an expression into pure structure, meaning the context can be wiped clean as structural rewrites are being applied.

At the moment, because cartesian structures aren't recognized, this means that fork f g will be represented simply as Morph 5 (depending on the environment), which is useless for the purpose of rewriting. Somehow the solver will need to recognize and reflect many different kinds of morphisms, but without incurring so many dependencies that it's only usable in specific scenarios.