-
Notifications
You must be signed in to change notification settings - Fork 161
Closed
Labels
Description
I.e. instead of
inductive SortGasCell : Type where
| mk (val : SortGas) : SortGasCellgenerate
structure SortGasCell : Type where
val : SortGasDue to circular dependencies between sorts, this is not straightforward. What can be attempted:
- Find the SCCs in the dependency graph of sorts (where sorts that map to an
abbrevare represented by their parameter sorts (see step 3). - Topologically sort the SCCs.
- Generate a
mutualfor each SCC, in topological order. For each sort that depends on a sort that maps to anabbrev, inline theabbrev's definition. This is necessary because anabbrevcannot be defined in the samemutualasinductive-s /structure-s.
Reactions are currently unavailable