-
Notifications
You must be signed in to change notification settings - Fork 262
Open
Labels
Description
In the first case:
- the top-level module parameters bind
A : Set aandB : Set bexplicitly - and then defines
Homomorphic₂taking explicit arguments(_∼₁_ : Rel A ℓ₁)and(_∼₂_ : Rel B ℓ₂)
It seems 'obvious' that A and B could be given implicitly instead (but: breaking!), moreover that Homomorphic₂ could be given by delegation to UPDATED f Preserves _∼₁_ ⟶ _∼₂_ from Relation.Binary.CoreFunction.Definitions.Congruent.
Indeed, that the whole module-level parametrisation could be rejigged using module could be left as a stub, purely for compatibility cf. #1206 / #1213 . UPDATED: see #2922variables to streamline things more smoothly?
In the second case:
- the top-level module parameters bind
A : Set aandB : Set bexplicitly, together with(_∼₂_ : Rel B ℓ₂) - and then defines
Homomorphic₂taking explicit argument(f : A → B)(and the binary operations)
It seems 'obvious' here that B at least could be given implicitly instead (but: breaking!).
Are these 'bugs'/design decisions worth fixing?
Consequences:
- harmless within
stdlibin the deployment contexts forAlgebra.Morphism.Definitions(but: knock-ons need fixing!) - possibly more radical for
Relation.Binary.Morphism.Definitionsbut could be an improvement (avoid supplying 'bogus' explicit argumentsA,Banywhere on qualified instantiated import...?)
Reactions are currently unavailable