diff --git a/coderules/languages/jetbrains.mps.logic/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.logic/generator/template/main@generator.mps
index 26dcf494..f9be4481 100644
--- a/coderules/languages/jetbrains.mps.logic/generator/template/main@generator.mps
+++ b/coderules/languages/jetbrains.mps.logic/generator/template/main@generator.mps
@@ -25,6 +25,7 @@
+
@@ -607,9 +608,9 @@
-
-
-
+
+
+
@@ -622,9 +623,9 @@
-
-
-
+
+
+
@@ -1361,9 +1362,9 @@
-
-
-
+
+
+
@@ -1376,7 +1377,7 @@
-
+
@@ -1412,29 +1413,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1462,6 +1440,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1493,25 +1537,68 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.dataform.mps b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.dataform.mps
index ae5193df..acf66adb 100644
--- a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.dataform.mps
+++ b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.dataform.mps
@@ -12,6 +12,7 @@
+
@@ -658,9 +659,32 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3151,143 +3175,35 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
+
-
+
@@ -3295,13 +3211,7 @@
-
-
-
-
-
-
-
+
@@ -3310,8 +3220,8 @@
-
-
+
+
@@ -3349,57 +3259,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3468,7 +3327,7 @@
-
+
@@ -3605,183 +3464,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -4316,6 +4002,13 @@
+
+
+
+
+
+
+
@@ -8932,6 +8625,11 @@
+
+
+
+
+
@@ -8953,8 +8651,11 @@
-
-
+
+
+
+
+
@@ -8962,7 +8663,7 @@
-
+
@@ -9002,8 +8703,8 @@
-
-
+
+
@@ -11328,7 +11029,7 @@
-
+
diff --git a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.predicate.mps b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.predicate.mps
index a05cc81e..ed5e009e 100644
--- a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.predicate.mps
+++ b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.predicate.mps
@@ -15,6 +15,7 @@
+
@@ -120,6 +121,7 @@
+
@@ -176,6 +178,7 @@
+
@@ -223,6 +226,9 @@
+
+
+
@@ -234,6 +240,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -689,13 +707,8 @@
-
-
-
-
-
-
-
+
+
@@ -750,32 +763,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -850,7 +837,7 @@
-
+
@@ -893,7 +880,7 @@
-
+
@@ -940,7 +927,7 @@
-
+
@@ -987,7 +974,7 @@
-
+
@@ -1130,7 +1117,7 @@
-
+
@@ -1173,7 +1160,7 @@
-
+
@@ -1220,7 +1207,7 @@
-
+
@@ -1267,7 +1254,7 @@
-
+
@@ -1339,7 +1326,7 @@
-
+
@@ -1353,7 +1340,7 @@
-
+
@@ -1450,135 +1437,474 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1615,7 +1941,7 @@
-
+
@@ -1632,11 +1958,11 @@
-
+
-
+
@@ -1656,7 +1982,7 @@
-
+
@@ -1673,7 +1999,7 @@
-
+
@@ -1824,7 +2150,7 @@
-
+
@@ -1847,27 +2173,23 @@
-
+
-
-
-
+
-
-
-
+
-
+
@@ -1888,9 +2210,7 @@
-
-
-
+
@@ -1907,9 +2227,7 @@
-
-
-
+
@@ -1936,129 +2254,369 @@
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2068,9 +2626,9 @@
-
+
-
+
@@ -2078,7 +2636,7 @@
-
+
@@ -2092,7 +2650,7 @@
-
+
@@ -2153,11 +2711,9 @@
-
-
-
+
-
+
@@ -2179,13 +2735,12 @@
+
-
-
-
+
-
+
@@ -2196,6 +2751,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2230,7 +2981,7 @@
-
+
@@ -2247,11 +2998,11 @@
-
+
-
+
@@ -2271,7 +3022,7 @@
-
+
@@ -2288,7 +3039,7 @@
-
+
@@ -2415,11 +3166,9 @@
-
-
-
+
-
+
@@ -2443,11 +3192,9 @@
-
-
-
+
-
+
@@ -2492,27 +3239,23 @@
-
+
-
-
-
+
-
-
-
+
-
+
@@ -2537,11 +3280,7 @@
-
-
-
-
-
+
@@ -2558,11 +3297,7 @@
-
-
-
-
-
+
@@ -2574,6 +3309,7 @@
+
@@ -2600,195 +3336,361 @@
-
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -2845,7 +3747,7 @@
-
+
@@ -2858,11 +3760,9 @@
-
-
-
+
-
+
@@ -2888,7 +3788,7 @@
-
+
@@ -2901,11 +3801,9 @@
-
-
-
+
-
+
@@ -3053,14 +3951,282 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.program.mps b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.program.mps
index dd7a5c7f..3a33d8a8 100644
--- a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.program.mps
+++ b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.program.mps
@@ -34,13 +34,6 @@
-
-
-
-
-
-
-
@@ -77,7 +70,6 @@
-
@@ -89,7 +81,6 @@
-
@@ -104,7 +95,6 @@
-
@@ -112,9 +102,7 @@
-
-
-
+
@@ -158,13 +146,7 @@
-
-
-
-
-
-
@@ -177,8 +159,6 @@
-
-
@@ -193,7 +173,6 @@
-
@@ -206,15 +185,7 @@
-
-
-
-
-
-
-
-
@@ -224,10 +195,6 @@
-
-
-
-
@@ -1149,9 +1116,9 @@
-
-
-
+
+
+
@@ -2390,385 +2357,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.unification.mps b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.unification.mps
index 80237a3e..4e27a4e7 100644
--- a/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.unification.mps
+++ b/coderules/languages/jetbrains.mps.logic/runtime/models/jetbrains.mps.logic.unification.mps
@@ -4,6 +4,7 @@
+
@@ -23,12 +24,22 @@
+
+
+
+
+
+
+
+
+
+
@@ -40,8 +51,15 @@
+
+
+
+
+
+
+
@@ -49,17 +67,23 @@
+
+
+
+
+
+
@@ -99,6 +123,7 @@
+
@@ -114,10 +139,20 @@
+
+
+
+
+
+
+
+
+
+
@@ -125,7 +160,11 @@
+
+
+
+
@@ -135,6 +174,7 @@
+
@@ -143,10 +183,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -155,6 +215,9 @@
+
+
+
@@ -171,9 +234,6 @@
-
-
-
@@ -202,6 +262,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -284,6 +362,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -306,6 +452,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -348,9 +593,6 @@
-
-
-
@@ -373,6 +615,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -484,6 +833,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -500,96 +878,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -725,131 +1014,1257 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.coderules.ui/models/plugin.mps b/coderules/solutions/jetbrains.mps.coderules.ui/models/plugin.mps
index 3e92f93b..e4eecbba 100644
--- a/coderules/solutions/jetbrains.mps.coderules.ui/models/plugin.mps
+++ b/coderules/solutions/jetbrains.mps.coderules.ui/models/plugin.mps
@@ -7837,13 +7837,13 @@
-
+
-
-
+
+
@@ -7913,8 +7913,11 @@
-
-
+
+
+
+
+
@@ -7941,8 +7944,8 @@
-
-
+
+
diff --git a/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification.mps b/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification.mps
index fe73052d..177b31bc 100644
--- a/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification.mps
+++ b/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification.mps
@@ -48,7 +48,6 @@
-
@@ -700,25 +699,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification@tests.mps b/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification@tests.mps
index 94d0a999..38359693 100644
--- a/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification@tests.mps
+++ b/coderules/solutions/jetbrains.mps.logic.test/models/jetbrains/mps/logic/test/unification@tests.mps
@@ -248,8 +248,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -259,31 +295,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -301,30 +332,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -338,27 +364,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -366,6 +387,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -514,7 +570,7 @@
-
+
@@ -555,7 +611,7 @@
-
+
@@ -565,6 +621,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -585,7 +877,7 @@
-
+
@@ -618,7 +910,7 @@
-
+
@@ -663,13 +955,13 @@
-
+
-
+
@@ -730,7 +1022,7 @@
-
+
@@ -826,7 +1118,7 @@
-
+
@@ -930,7 +1222,7 @@
-
+
@@ -1258,7 +1550,7 @@
-
+
@@ -1449,7 +1741,7 @@
-
+
@@ -1589,7 +1881,7 @@
-
+
@@ -1603,7 +1895,7 @@
-
+
@@ -1705,13 +1997,8 @@
-
-
-
-
-
-
-
+
+
@@ -1785,9 +2072,45 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -1798,30 +2121,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -1839,30 +2157,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -1876,27 +2189,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -1913,22 +2221,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -1944,7 +2247,7 @@
-
+
@@ -1964,8 +2267,9 @@
-
-
+
+
+
@@ -1976,6 +2280,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1991,7 +2330,7 @@
-
+
@@ -2033,7 +2372,7 @@
-
+
@@ -2102,7 +2441,7 @@
-
+
@@ -2113,7 +2452,7 @@
-
+
@@ -2125,6 +2464,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2137,7 +2623,7 @@
-
+
@@ -2237,7 +2723,7 @@
-
+
@@ -2335,7 +2821,7 @@
-
+
@@ -2346,7 +2832,7 @@
-
+
@@ -2359,7 +2845,7 @@
-
+
@@ -2371,7 +2857,7 @@
-
+
@@ -2476,7 +2962,7 @@
-
+
@@ -2497,6 +2983,346 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2510,7 +3336,7 @@
-
+
@@ -2615,7 +3441,7 @@
-
+
@@ -2649,7 +3475,7 @@
-
+
@@ -2848,7 +3674,7 @@
-
+
@@ -2964,7 +3790,7 @@
-
+
@@ -3006,7 +3832,7 @@
-
+
@@ -3048,7 +3874,7 @@
-
+
@@ -3058,7 +3884,7 @@
-
+
@@ -3069,7 +3895,7 @@
-
+
@@ -3077,7 +3903,7 @@
-
+
@@ -3153,7 +3979,7 @@
-
+
@@ -3161,7 +3987,7 @@
-
+
@@ -3275,7 +4101,7 @@
-
+
@@ -3318,7 +4144,7 @@
-
+
@@ -3360,7 +4186,7 @@
-
+
@@ -3370,7 +4196,7 @@
-
+
@@ -3381,7 +4207,7 @@
-
+
@@ -3389,7 +4215,7 @@
-
+
@@ -3465,7 +4291,7 @@
-
+
@@ -3473,7 +4299,7 @@
-
+
@@ -3597,7 +4423,7 @@
-
+
@@ -3675,7 +4501,7 @@
-
+
@@ -3818,7 +4644,7 @@
-
+
@@ -3832,7 +4658,7 @@
-
+
@@ -3917,7 +4743,7 @@
-
+
@@ -3930,7 +4756,7 @@
-
+
@@ -4187,7 +5013,7 @@
-
+
@@ -4392,7 +5218,7 @@
-
+
@@ -4547,7 +5373,7 @@
-
+
@@ -4657,7 +5483,7 @@
-
+
@@ -4737,7 +5563,7 @@
-
+
@@ -5015,7 +5841,7 @@
-
+
@@ -5057,7 +5883,7 @@
-
+
@@ -5205,9 +6031,9 @@
-
-
-
+
+
+
@@ -6050,13 +6876,8 @@
-
-
-
-
-
-
-
+
+
@@ -6102,9 +6923,9 @@
-
-
-
+
+
+
diff --git a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
index 412d7b20..634a0b54 100644
--- a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
+++ b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
@@ -2345,13 +2345,8 @@
-
-
-
-
-
-
-
+
+
@@ -2372,9 +2367,9 @@
-
-
-
+
+
+