Open jamesmckinna opened 1 month ago
I agree that this would be a reasonable addition
So the issue is that by convention we use ∼
for non-symmetric relations and so it has no symmetric counter-part. The best approach I think would be to create new BagReasoning
and SetReasoning
modules in List.Relation.Binary.BagAndSetEquality
where we export proper (meaningfully named!) symmetric combinators...
We have
Function.Related.Propositional.EquationalReasoning.↔-syntax
forbag
equality_∼[ bag ]_
, and despite_∼[ set ]_
having formally the same properties (incl. symmetry viaSK-sym
), we don't seem to have syntax for it (and hence the symmetric combinator syntax↔⟨ ... ⟨
in order to be able to avoid explicit appeals toSK-sym
). And AFAICT, instantiatingFunction.Related.Propositional.EquationalReasoning
at{k = set}
does not permit the↔-syntax
to be reused forset
equality.And/But I don't quite understand what needs to be changed/added to be able to fix this.