Lots of changes... Fixed equation checking as contracts are currently storing the equations as indexed by node num instead of by labels. This needs to be fixed. Also added a lot of debugging to the match algo, and made it more efficient. In particular, it now will generate one match set as soon as it can. Also, rotated the link matches, as all of those inst-name matches from uml made too many match possibilities. Got around that by rotating the combinations, so that they don't all start with the same value, as that takes too long to iterate past. TLDR everything is fine now and works perfectly.
Lots of changes... Fixed equation checking as contracts are currently storing the equations as indexed by node num instead of by labels. This needs to be fixed. Also added a lot of debugging to the match algo, and made it more efficient. In particular, it now will generate one match set as soon as it can. Also, rotated the link matches, as all of those inst-name matches from uml made too many match possibilities. Got around that by rotating the combinations, so that they don't all start with the same value, as that takes too long to iterate past. TLDR everything is fine now and works perfectly.

levilucio/SyVOLT,levilucio/SyVOLT