Предположим, у меня есть значи А в моем модуле, который связан с сиг В.экспресс-эквивалентность между несколькими экземплярами
Представьте теперь, что у нас есть несколько примеров:
A$1 -> B$1 , A$2 -> B$2
и
A$1 -> B$2 , A$2 -> B$1
Я хотел бы выразить, что B $ 1 и B $ 2 эквивалентны (при определенных условиях), что только этот экземпляр будет генерироваться A$1 -> B , A$2 -> B.
Одним из решений может быть использование ключевого слова «один» при объявлении sig B, но в моем случае это не сработает, потому что B имеет несколько полей, что делает атомы B не обязательно эквивалентными. Короче говоря, 2 атома эквивалентны, только если у них есть поля одинаковых значений.
В идеале я хотел бы удалить нумерацию для B., но все же иметь возможность иметь несколько атомов B.