Hi Quantomatic team,
My name is Konstantin Devyatov. I'm a student at Heriot-Watt University working on my bachelor dissertation, supervised by Gudmund Grov. My project is mechanising Hume Box calculus by encoding it as Quantomatic theory. I've been using Quantomatic for over 9 months and the experience had been pleasant and inspiring. Thank you for that!
The reason I'm writing this is hope that you will help me understand my issue with Quantomatic rewriting edges with data. The issue: when applying a rule, lhs and rhs boundaries become different.
To test this out, I have created an identity rule, which matches any vertex with any two edges connecting it, and substitutes it with itself. The rule has lhs = rhs. LHS contains a vertex with data variables and two edges, also with data variables. Rewriting has no problem with vertices, just with edge substitution.
My edge substitution function is work exactly like my vertex substitution. The problem I'm suspecting, is when rewrite happens, only rhs edges is substituted, leaving lhs edges different with variable data. I have tested my code with manual matching and substitution of each edge one by one, which was successful.
Please spend 20 minutes of your time looking into this, I really believe you can help me out.
Kind regards,
Kos