Maybe it's worth considering reconciling all the relational hierarchy at each arity wrt definitions of:
because otherwise, we have a lot of redundant repetition on the one hand, but with 'gaps' on the other. There's some overlap/degeneracy at arity 0 for eg Satisfiable/Universal (the identity) and Empty (negation), but I think that is harmless...
Maybe there are good reasons to do with dependencies (eg. Relation.Nullary.Decidable.Core.recompute can't be typed with a Nullary definition of Recomputable... unless we bite the bullet and lift it out into a Relation.Nullary.Definitions etc. But maybe that's not such a bad idea, either? See also #2243 for my current approach to this particular predicate...
UPDATED: partial fix in #2259 (and largely orthogonal to #2243 )
Maybe it's worth considering reconciling all the relational hierarchy at each arity wrt definitions of:
IrrelevantRecomputableStableWeaklyDecidableDecidableSatisfiableEmptyUniversalbecause otherwise, we have a lot of redundant repetition on the one hand, but with 'gaps' on the other. There's some overlap/degeneracy at arity 0 for eg
Satisfiable/Universal(the identity) andEmpty(negation), but I think that is harmless...Maybe there are good reasons to do with dependencies (eg.
Relation.Nullary.Decidable.Core.recomputecan't be typed with aNullarydefinition ofRecomputable... unless we bite the bullet and lift it out into aRelation.Nullary.Definitionsetc. But maybe that's not such a bad idea, either? See also #2243 for my current approach to this particular predicate...UPDATED: partial fix in #2259 (and largely orthogonal to #2243 )