Commit 2023-03-30 18:52 ce11c3c2
View on Github →refactor(linear_algebra/{multilinear,pi_tensor_product}): remove the decidable_eq argument (#10140)
There is no need to include this argument in the type of multilinear_map
, as it is only used to state the propositions.
Instead, we move it into a binder in the map_add
and map_smul
fields.
The same trick is done for the relation for pi_tensor_product
.
The benefit here is pretty marginal; the main one is that mutlilinear_map.mk_pi_algebra
no longer requires a decidable_eq I
instance. However, it still requires fintype I
, and in practice all computably finite types are also computably decidable.
This does at least mean that 0 : multilinear_map ...
rightfully no longer requires decidable equality!
The downside of this PR is that the map_add'
and map_smul'
fields are often more annoying to prove as there are sometimes duplicate decidable instances to eliminate.
Zulip thread