Introduce support for unification variables of arbitrary type, not just terms. Minor refactoring and cleanup.

This commit is contained in:
Fedor Isakov 2018-12-27 12:03:07 +01:00
parent d64f469b19
commit d74ec1d2f8
9 changed files with 4493 additions and 1737 deletions

View File

@ -25,6 +25,7 @@
<import index="psr6" ref="r:ce187d46-c94b-47d6-8d77-26aa6af239e8(jetbrains.mps.lang.coderules.macro)" />
<import index="6pyv" ref="r:e418ad23-36dc-4ed0-b837-26a7fd157da3(jetbrains.mps.lang.coderules.program)" />
<import index="7n8k" ref="r:475a2e92-d7d4-41c3-98e3-172d70b6f018(jetbrains.mps.logic.program)" />
<import index="oy3s" ref="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.unification)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -607,9 +608,9 @@
</node>
</node>
<node concept="gft3U" id="4OKkcneWb1C" role="150oIE">
<node concept="2YIFZM" id="74q$MmRB2bg" role="gfFT$">
<ref role="37wK5l" to="7n8k:7HUwyZb7chj" resolve="asVariable" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="2YIFZM" id="3gNap3fNlJg" role="gfFT$">
<ref role="37wK5l" to="oy3s:7HUwyZb7chj" resolve="asVariable" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="2ShNRf" id="7nPD14NOHH4" role="37wK5m">
<node concept="1pGfFk" id="7nPD14NOHH5" role="2ShVmc">
<ref role="37wK5l" to="bj13:~MetaLogical.&lt;init&gt;(java.lang.Class)" resolve="MetaLogical" />
@ -622,9 +623,9 @@
</node>
</node>
<node concept="gft3U" id="4OKkcneWczK" role="14YRTM">
<node concept="2YIFZM" id="74q$MmRB2bf" role="gfFT$">
<ref role="37wK5l" to="7n8k:7HUwyZb7chj" resolve="asVariable" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="2YIFZM" id="3gNap3fNlJh" role="gfFT$">
<ref role="37wK5l" to="oy3s:7HUwyZb7chj" resolve="asVariable" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="2ShNRf" id="2Dg5bSg3RdY" role="37wK5m">
<node concept="1pGfFk" id="2Dg5bSg3RdZ" role="2ShVmc">
<ref role="37wK5l" to="bj13:~MetaLogical.&lt;init&gt;(java.lang.Class)" resolve="MetaLogical" />
@ -1361,9 +1362,9 @@
</node>
</node>
<node concept="3clFbF" id="677NV56tBWA" role="3cqZAp">
<node concept="2YIFZM" id="74q$MmRB2bd" role="3clFbG">
<ref role="37wK5l" to="7n8k:7HUwyZb7b7C" resolve="asVariableArray" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="2YIFZM" id="3gNap3fNlJf" role="3clFbG">
<ref role="37wK5l" to="oy3s:7HUwyZb7b7C" resolve="asVariableArray" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="37vLTw" id="7HUwyZb7bts" role="37wK5m">
<ref role="3cqZAo" node="677NV56tBWz" resolve="mlp" />
<node concept="29HgVG" id="7HUwyZb7btt" role="lGtFl">
@ -1376,7 +1377,7 @@
</node>
</node>
</node>
<node concept="raruj" id="74q$MmSc8cm" role="lGtFl" />
<node concept="raruj" id="3gNap3fRbTn" role="lGtFl" />
</node>
</node>
</node>
@ -1412,29 +1413,6 @@
<node concept="3aamgX" id="677NV56thjs" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="tpee:fz3vP1J" resolve="Expression" />
<node concept="1Koe21" id="677NV56tAlj" role="1lVwrX">
<node concept="3clFbS" id="677NV56tAlk" role="1Koe22">
<node concept="3cpWs8" id="677NV56tAll" role="3cqZAp">
<node concept="3cpWsn" id="677NV56tAlm" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="7HUwyZb7bYW" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
</node>
</node>
<node concept="3clFbF" id="7HUwyZb7cpf" role="3cqZAp">
<node concept="2YIFZM" id="74q$MmRB2bi" role="3clFbG">
<ref role="37wK5l" to="7n8k:7HUwyZb7chj" resolve="asVariable" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="37vLTw" id="7HUwyZb7cvj" role="37wK5m">
<ref role="3cqZAo" node="677NV56tAlm" resolve="logical" />
<node concept="29HgVG" id="7HUwyZb7cBP" role="lGtFl" />
</node>
<node concept="raruj" id="74q$MmSc8gy" role="lGtFl" />
</node>
</node>
</node>
</node>
<node concept="30G5F_" id="2S_ORi36mJS" role="30HLyM">
<node concept="3clFbS" id="2S_ORi36mJT" role="2VODD2">
<node concept="3clFbF" id="2S_ORi36mS8" role="3cqZAp">
@ -1462,6 +1440,72 @@
</node>
</node>
</node>
<node concept="14YyZ8" id="3gNap3g_4_D" role="1lVwrX">
<node concept="1Koe21" id="677NV56tAlj" role="14YRTM">
<node concept="3clFbS" id="677NV56tAlk" role="1Koe22">
<node concept="3cpWs8" id="677NV56tAll" role="3cqZAp">
<node concept="3cpWsn" id="677NV56tAlm" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="7HUwyZb7bYW" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
</node>
</node>
<node concept="3clFbF" id="7HUwyZb7cpf" role="3cqZAp">
<node concept="2YIFZM" id="3gNap3fNlJi" role="3clFbG">
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<ref role="37wK5l" to="oy3s:7HUwyZb7chj" resolve="asVariable" />
<node concept="37vLTw" id="7HUwyZb7cvj" role="37wK5m">
<ref role="3cqZAo" node="677NV56tAlm" resolve="logical" />
<node concept="29HgVG" id="7HUwyZb7cBP" role="lGtFl" />
</node>
<node concept="raruj" id="3gNap3fRccd" role="lGtFl" />
</node>
</node>
</node>
</node>
<node concept="14ZrTv" id="3gNap3g_4Ee" role="14ZwWg">
<node concept="30G5F_" id="3gNap3g_4Ef" role="150hEN">
<node concept="3clFbS" id="3gNap3g_4Eg" role="2VODD2">
<node concept="3clFbF" id="3gNap3g_4N5" role="3cqZAp">
<node concept="2OqwBi" id="3gNap3g_59X" role="3clFbG">
<node concept="v3LJS" id="3gNap3g_4N4" role="2Oq$k0">
<ref role="v3LJV" node="7FFmDVALe4e" resolve="dataForm" />
</node>
<node concept="1mIQ4w" id="3gNap3g_5B7" role="2OqNvi">
<node concept="chp4Y" id="3gNap3g_6IL" role="cj9EA">
<ref role="cht4Q" to="5j4j:6$jH9oLmYJ_" resolve="Value" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1Koe21" id="3gNap3g_4Ep" role="150oIE">
<node concept="3clFbS" id="3gNap3g_4Eq" role="1Koe22">
<node concept="3cpWs8" id="3gNap3g_4Er" role="3cqZAp">
<node concept="3cpWsn" id="3gNap3g_4Es" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="3gNap3g_4Et" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
</node>
</node>
<node concept="3clFbF" id="3gNap3g_4Eu" role="3cqZAp">
<node concept="2YIFZM" id="3gNap3g_6TT" role="3clFbG">
<ref role="37wK5l" to="oy3s:3gNap3gwG50" resolve="asValue" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="37vLTw" id="3gNap3g_6TU" role="37wK5m">
<ref role="3cqZAo" node="3gNap3g_4Es" resolve="logical" />
<node concept="29HgVG" id="3gNap3g_6TV" role="lGtFl" />
</node>
<node concept="raruj" id="3gNap3g_6TW" role="lGtFl" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="514BAS_YArp" role="3aUrZf">
<property role="36QftV" value="true" />
@ -1493,25 +1537,68 @@
</node>
</node>
</node>
<node concept="1Koe21" id="514BAS_YBDs" role="1lVwrX">
<node concept="3clFbS" id="514BAS_YBDt" role="1Koe22">
<node concept="3cpWs8" id="514BAS_YBDu" role="3cqZAp">
<node concept="3cpWsn" id="514BAS_YBDv" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="3mz2_dYuqQi" role="1tU5fm">
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
<node concept="14YyZ8" id="3gNap3g_6U4" role="1lVwrX">
<node concept="1Koe21" id="514BAS_YBDs" role="14YRTM">
<node concept="3clFbS" id="514BAS_YBDt" role="1Koe22">
<node concept="3cpWs8" id="514BAS_YBDu" role="3cqZAp">
<node concept="3cpWsn" id="514BAS_YBDv" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="3mz2_dYuqQi" role="1tU5fm">
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
</node>
</node>
</node>
<node concept="3clFbF" id="514BAS_YBDx" role="3cqZAp">
<node concept="2YIFZM" id="3gNap3fNlJk" role="3clFbG">
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<ref role="37wK5l" to="oy3s:4TCblo5YI1H" resolve="asVariable" />
<node concept="37vLTw" id="514BAS_YBDz" role="37wK5m">
<ref role="3cqZAo" node="514BAS_YBDv" resolve="logical" />
<node concept="29HgVG" id="514BAS_YBD$" role="lGtFl" />
</node>
<node concept="raruj" id="3gNap3fRcv3" role="lGtFl" />
</node>
</node>
</node>
<node concept="3clFbF" id="514BAS_YBDx" role="3cqZAp">
<node concept="2YIFZM" id="74q$MmRB2bm" role="3clFbG">
<ref role="37wK5l" to="7n8k:4TCblo5YI1H" resolve="asVariable" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="37vLTw" id="514BAS_YBDz" role="37wK5m">
<ref role="3cqZAo" node="514BAS_YBDv" resolve="logical" />
<node concept="29HgVG" id="514BAS_YBD$" role="lGtFl" />
</node>
<node concept="14ZrTv" id="3gNap3g_6ZZ" role="14ZwWg">
<node concept="30G5F_" id="3gNap3g_700" role="150hEN">
<node concept="3clFbS" id="3gNap3g_701" role="2VODD2">
<node concept="3clFbF" id="3gNap3g_70v" role="3cqZAp">
<node concept="2OqwBi" id="3gNap3g_7h_" role="3clFbG">
<node concept="v3LJS" id="3gNap3g_70u" role="2Oq$k0">
<ref role="v3LJV" node="7FFmDVALe4e" resolve="dataForm" />
</node>
<node concept="1mIQ4w" id="3gNap3g_7Jc" role="2OqNvi">
<node concept="chp4Y" id="3gNap3g_7Jk" role="cj9EA">
<ref role="cht4Q" to="5j4j:6$jH9oLmYJ_" resolve="Value" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1Koe21" id="3gNap3g_70a" role="150oIE">
<node concept="3clFbS" id="3gNap3g_70b" role="1Koe22">
<node concept="3cpWs8" id="3gNap3g_70c" role="3cqZAp">
<node concept="3cpWsn" id="3gNap3g_70d" role="3cpWs9">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="3gNap3g_7Jq" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
</node>
</node>
<node concept="3clFbF" id="3gNap3g_70f" role="3cqZAp">
<node concept="2YIFZM" id="3gNap3g_bV_" role="3clFbG">
<ref role="37wK5l" to="oy3s:3gNap3fZcVn" resolve="asValue" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="37vLTw" id="3gNap3g_bVA" role="37wK5m">
<ref role="3cqZAo" node="3gNap3g_70d" resolve="logical" />
<node concept="29HgVG" id="3gNap3g_bVB" role="lGtFl" />
</node>
<node concept="raruj" id="3gNap3g_bVC" role="lGtFl" />
</node>
</node>
<node concept="raruj" id="74q$MmSc8gQ" role="lGtFl" />
</node>
</node>
</node>

View File

@ -12,6 +12,7 @@
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" />
<import index="ni5j" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.regex(JDK/)" />
<import index="bj13" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.logical(jetbrains.mps.logic.reactor/)" />
<import index="oy3s" ref="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.unification)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -658,9 +659,32 @@
<node concept="10Oyi0" id="5BGv8yzwRq6" role="3clF45" />
<node concept="3Tm1VV" id="5BGv8yzwRq7" role="1B3o_S" />
<node concept="3clFbS" id="5BGv8yzwRq9" role="3clF47">
<node concept="3clFbF" id="5BGv8yzwSdi" role="3cqZAp">
<node concept="3cmrfG" id="5BGv8yzwSdh" role="3clFbG">
<property role="3cmrfH" value="0" />
<node concept="3clFbF" id="1sIKvV30WPY" role="3cqZAp">
<node concept="3K4zz7" id="1sIKvV3118i" role="3clFbG">
<node concept="3cmrfG" id="1sIKvV3119i" role="3K4E3e">
<property role="3cmrfH" value="1" />
</node>
<node concept="3cmrfG" id="1sIKvV3119Z" role="3K4GZi">
<property role="3cmrfH" value="0" />
</node>
<node concept="22lmx$" id="1sIKvV30Xfx" role="3K4Cdx">
<node concept="2ZW3vV" id="1sIKvV30Xwa" role="3uHU7w">
<node concept="3uibUv" id="1sIKvV310X6" role="2ZW6by">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
</node>
<node concept="37vLTw" id="1sIKvV30Xh2" role="2ZW6bz">
<ref role="3cqZAo" node="1msb0mq8QXA" resolve="symbol" />
</node>
</node>
<node concept="2ZW3vV" id="1sIKvV30WXt" role="3uHU7B">
<node concept="3uibUv" id="1sIKvV30WXI" role="2ZW6by">
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
</node>
<node concept="37vLTw" id="1sIKvV30WPX" role="2ZW6bz">
<ref role="3cqZAo" node="1msb0mq8QXA" resolve="symbol" />
</node>
</node>
</node>
</node>
</node>
</node>
@ -3151,143 +3175,35 @@
</node>
<node concept="312cEu" id="uNmovXiEd4">
<property role="TrG5h" value="Variable" />
<property role="1sVAO0" value="true" />
<node concept="3Tm1VV" id="uNmovXiEd5" role="1B3o_S" />
<node concept="3uibUv" id="1bm7a6F1kuO" role="EKbjA">
<ref role="3uigEE" node="1bm7a6EXvsP" resolve="DataForm" />
</node>
<node concept="2tJIrI" id="uNmovXiELu" role="jymVt" />
<node concept="2YIFZL" id="uNmovXiPrH" role="jymVt">
<property role="TrG5h" value="create" />
<property role="od$2w" value="false" />
<property role="DiZV1" value="false" />
<node concept="3clFbS" id="uNmovXiPrK" role="3clF47">
<node concept="3clFbF" id="uNmovXiPUf" role="3cqZAp">
<node concept="2ShNRf" id="uNmovXiPUd" role="3clFbG">
<node concept="1pGfFk" id="uNmovXiQaD" role="2ShVmc">
<ref role="37wK5l" node="uNmovXiEVu" resolve="Variable" />
<node concept="37vLTw" id="uNmovXiQit" role="37wK5m">
<ref role="3cqZAo" node="uNmovXiPT0" resolve="name" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="uNmovXiQrW" role="1B3o_S" />
<node concept="3uibUv" id="uNmovXiP5a" role="3clF45">
<ref role="3uigEE" node="uNmovXiEd4" resolve="Variable" />
</node>
<node concept="37vLTG" id="uNmovXiPT0" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6SkxsMz$UXc" role="1tU5fm" />
</node>
<node concept="2AHcQZ" id="1EFtv_BGqym" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="2q_78a8VKII" role="jymVt" />
<node concept="2YIFZL" id="35Lj3Tj1avN" role="jymVt">
<property role="TrG5h" value="create" />
<property role="od$2w" value="false" />
<property role="DiZV1" value="false" />
<node concept="3clFbS" id="35Lj3Tj1avO" role="3clF47">
<node concept="3clFbF" id="35Lj3Tj1avP" role="3cqZAp">
<node concept="2ShNRf" id="35Lj3Tj1avQ" role="3clFbG">
<node concept="1pGfFk" id="35Lj3Tj1avR" role="2ShVmc">
<ref role="37wK5l" node="uNmovXiEVu" resolve="Variable" />
<node concept="2YIFZM" id="35Lj3Tj1d5V" role="37wK5m">
<ref role="37wK5l" to="wyt6:~String.valueOf(java.lang.Object):java.lang.String" resolve="valueOf" />
<ref role="1Pybhc" to="wyt6:~String" resolve="String" />
<node concept="37vLTw" id="35Lj3Tj1dqs" role="37wK5m">
<ref role="3cqZAo" node="35Lj3Tj1avV" resolve="obj" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="35Lj3Tj1avT" role="1B3o_S" />
<node concept="3uibUv" id="35Lj3Tj1avU" role="3clF45">
<ref role="3uigEE" node="uNmovXiEd4" resolve="Variable" />
</node>
<node concept="37vLTG" id="35Lj3Tj1avV" role="3clF46">
<property role="TrG5h" value="obj" />
<node concept="3uibUv" id="35Lj3Tj1cmY" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="2AHcQZ" id="1EFtv_BGqyH" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="2q_78a8VUrb" role="jymVt" />
<node concept="3clFbW" id="uNmovXiEVu" role="jymVt">
<node concept="3cqZAl" id="uNmovXiEVv" role="3clF45" />
<node concept="3clFbS" id="uNmovXiEVx" role="3clF47">
<node concept="3clFbF" id="uNmovXiF63" role="3cqZAp">
<node concept="37vLTI" id="uNmovXiF65" role="3clFbG">
<node concept="2OqwBi" id="uNmovXiF69" role="37vLTJ">
<node concept="Xjq3P" id="uNmovXiF6c" role="2Oq$k0" />
<node concept="2OwXpG" id="uNmovXiF68" role="2OqNvi">
<ref role="2Oxat5" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
<node concept="37vLTw" id="uNmovXiF6d" role="37vLTx">
<ref role="3cqZAo" node="uNmovXiF4X" resolve="symbol" />
</node>
</node>
</node>
</node>
<node concept="3clFbS" id="uNmovXiEVx" role="3clF47" />
<node concept="3Tmbuc" id="5BGv8yzwUbW" role="1B3o_S" />
<node concept="37vLTG" id="uNmovXiF4X" role="3clF46">
<property role="TrG5h" value="symbol" />
<node concept="3uibUv" id="4sSe4$ptbT1" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
<node concept="2tJIrI" id="uNmovXiFhY" role="jymVt" />
<node concept="3clFb_" id="56MMu0Ark7d" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="symbol" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3Tm1VV" id="56MMu0Ark7e" role="1B3o_S" />
<node concept="3uibUv" id="56MMu0Ark7g" role="3clF45">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3clFbS" id="56MMu0Ark7h" role="3clF47">
<node concept="3clFbF" id="56MMu0Arm4X" role="3cqZAp">
<node concept="37vLTw" id="56MMu0Arm4W" role="3clFbG">
<ref role="3cqZAo" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="56MMu0ArkU3" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2DKqMqOiUH5" role="jymVt" />
<node concept="3clFb_" id="2DKqMqOiVjz" role="jymVt">
<property role="TrG5h" value="isWildcard" />
<property role="1EzhhJ" value="true" />
<node concept="10P_77" id="2DKqMqOiVXx" role="3clF45" />
<node concept="3Tm1VV" id="2DKqMqOiVjA" role="1B3o_S" />
<node concept="3clFbS" id="2DKqMqOiVjB" role="3clF47">
<node concept="3clFbF" id="2DKqMqOiXui" role="3cqZAp">
<node concept="3clFbT" id="2DKqMqOiXuh" role="3clFbG">
<property role="3clFbU" value="false" />
</node>
</node>
</node>
<node concept="3clFbS" id="2DKqMqOiVjB" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OUp3PsUj5t" role="jymVt" />
<node concept="3clFb_" id="6Sag3Ksv6No" role="jymVt">
<property role="TrG5h" value="canRepresent" />
<property role="1EzhhJ" value="true" />
<node concept="37vLTG" id="6Sag3KsvaqO" role="3clF46">
<property role="TrG5h" value="klass" />
<node concept="3uibUv" id="6Sag3Ksvb0l" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Class" resolve="Class" />
<node concept="3qUE_q" id="6Sag3KsvboK" role="11_B2D">
<node concept="3uibUv" id="6Sag3Ksvbx5" role="3qUE_r">
<node concept="3uibUv" id="3gNap3ffNhk" role="3qUE_r">
<ref role="3uigEE" node="1bm7a6EXvsP" resolve="DataForm" />
</node>
</node>
@ -3295,13 +3211,7 @@
</node>
<node concept="10P_77" id="6Sag3Ksv8dq" role="3clF45" />
<node concept="3Tm1VV" id="6Sag3Ksv6Nr" role="1B3o_S" />
<node concept="3clFbS" id="6Sag3Ksv6Ns" role="3clF47">
<node concept="3clFbF" id="6Sag3Ksvc6h" role="3cqZAp">
<node concept="3clFbT" id="6Sag3Ksvc6g" role="3clFbG">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
<node concept="3clFbS" id="6Sag3Ksv6Ns" role="3clF47" />
<node concept="P$JXv" id="6OUp3PsUjii" role="lGtFl">
<node concept="TZ5HA" id="6OUp3PsUjij" role="TZ5H$">
<node concept="1dT_AC" id="6OUp3PsUjik" role="1dT_Ay">
@ -3310,8 +3220,8 @@
<node concept="1dT_AA" id="6OUp3PsUjSb" role="1dT_Ay">
<node concept="92FcH" id="6OUp3PsUjSh" role="qph3F">
<node concept="TZ5HA" id="6OUp3PsUjSj" role="2XjZqd" />
<node concept="VXe08" id="6OUp3PsUmmU" role="92FcQ">
<ref role="VXe09" node="5JQSuNswOXL" resolve="TermNode" />
<node concept="VXe08" id="3gNap3ffQrC" role="92FcQ">
<ref role="VXe09" node="1msb0mq9ID4" resolve="DataNode" />
</node>
</node>
</node>
@ -3349,57 +3259,6 @@
</node>
</node>
<node concept="2tJIrI" id="56MMu0Armi7" role="jymVt" />
<node concept="3clFb_" id="56MMu0Ark7v" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="get" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3Tm1VV" id="56MMu0Ark7w" role="1B3o_S" />
<node concept="3uibUv" id="573vQv1llVK" role="3clF45">
<ref role="3uigEE" to="yt73:~Term" resolve="Term" />
</node>
<node concept="3clFbS" id="56MMu0Ark7_" role="3clF47">
<node concept="3clFbF" id="56MMu0ArpIO" role="3cqZAp">
<node concept="Xjq3P" id="56MMu0ArpIN" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="56MMu0ArpbU" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="56MMu0AroSn" role="jymVt" />
<node concept="3clFb_" id="56MMu0Ark7C" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="is" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3Tm1VV" id="56MMu0Ark7D" role="1B3o_S" />
<node concept="37vLTG" id="56MMu0Ark7E" role="3clF46">
<property role="TrG5h" value="kind" />
<property role="3TUv4t" value="false" />
<node concept="3uibUv" id="573vQv1lmdE" role="1tU5fm">
<ref role="3uigEE" to="yt73:~Term$Kind" resolve="Term.Kind" />
</node>
</node>
<node concept="10P_77" id="56MMu0Ark7H" role="3clF45" />
<node concept="3clFbS" id="56MMu0Ark7K" role="3clF47">
<node concept="3clFbF" id="56MMu0ArqpV" role="3cqZAp">
<node concept="3clFbC" id="56MMu0ArqJ4" role="3clFbG">
<node concept="Rm8GO" id="18cJbc0HVY6" role="3uHU7B">
<ref role="Rm8GQ" to="yt73:~Term$Kind.VAR" resolve="VAR" />
<ref role="1Px2BO" to="yt73:~Term$Kind" resolve="Term.Kind" />
</node>
<node concept="37vLTw" id="56MMu0ArqYY" role="3uHU7w">
<ref role="3cqZAo" node="56MMu0Ark7E" resolve="kind" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="56MMu0ArrcS" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="56MMu0ArpJb" role="jymVt" />
<node concept="3clFb_" id="56MMu0Ark7N" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="compareTo" />
@ -3468,7 +3327,7 @@
<ref role="1Pybhc" to="wyt6:~String" resolve="String" />
<ref role="37wK5l" to="wyt6:~String.valueOf(java.lang.Object):java.lang.String" resolve="valueOf" />
<node concept="1rXfSq" id="56MMu0AruFB" role="37wK5m">
<ref role="37wK5l" node="56MMu0Ark7d" resolve="symbol" />
<ref role="37wK5l" to="yt73:~Term.symbol():java.lang.Object" resolve="symbol" />
</node>
</node>
<node concept="liA8E" id="56MMu0AruFC" role="2OqNvi">
@ -3605,183 +3464,10 @@
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="5s497VqILJV" role="jymVt" />
<node concept="3clFb_" id="5BGv8yzwV99" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="variablesCount" />
<node concept="10Oyi0" id="5BGv8yzwV9a" role="3clF45" />
<node concept="3Tm1VV" id="5BGv8yzwV9b" role="1B3o_S" />
<node concept="3clFbS" id="5BGv8yzwV9d" role="3clF47">
<node concept="3clFbF" id="5BGv8yzwXsr" role="3cqZAp">
<node concept="3cmrfG" id="5BGv8yzwXsq" role="3clFbG">
<property role="3cmrfH" value="1" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5BGv8yzwWoD" role="jymVt" />
<node concept="3clFb_" id="3AEuFq_PHmj" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="equals" />
<property role="DiZV1" value="false" />
<node concept="3Tm1VV" id="3AEuFq_PHmk" role="1B3o_S" />
<node concept="10P_77" id="3AEuFq_PHmm" role="3clF45" />
<node concept="37vLTG" id="3AEuFq_PHmn" role="3clF46">
<property role="TrG5h" value="that" />
<node concept="3uibUv" id="3AEuFq_PHmo" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3clFbS" id="3AEuFq_PHmt" role="3clF47">
<node concept="3clFbJ" id="3AEuFq_PNyX" role="3cqZAp">
<node concept="3clFbS" id="3AEuFq_PNyY" role="3clFbx">
<node concept="3cpWs6" id="3AEuFq_PPNN" role="3cqZAp">
<node concept="3clFbT" id="3AEuFq_PPOW" role="3cqZAk">
<property role="3clFbU" value="false" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="3AEuFq_PN_5" role="3clFbw">
<node concept="2ZW3vV" id="3AEuFq_POva" role="3fr31v">
<node concept="3uibUv" id="3AEuFq_POVj" role="2ZW6by">
<ref role="3uigEE" node="uNmovXiEd4" resolve="Variable" />
</node>
<node concept="37vLTw" id="3AEuFq_PO5t" role="2ZW6bz">
<ref role="3cqZAo" node="3AEuFq_PHmn" resolve="that" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3AEuFq_PXt9" role="3cqZAp">
<node concept="17R0WA" id="3AEuFq_PZwI" role="3clFbG">
<node concept="2OqwBi" id="3AEuFq_Q1UZ" role="3uHU7w">
<node concept="1eOMI4" id="3AEuFq_PZXT" role="2Oq$k0">
<node concept="10QFUN" id="3AEuFq_PZXQ" role="1eOMHV">
<node concept="3uibUv" id="3AEuFq_Q05E" role="10QFUM">
<ref role="3uigEE" node="uNmovXiEd4" resolve="Variable" />
</node>
<node concept="37vLTw" id="3AEuFq_Q0XG" role="10QFUP">
<ref role="3cqZAo" node="3AEuFq_PHmn" resolve="that" />
</node>
</node>
</node>
<node concept="2OwXpG" id="3AEuFq_Q2TX" role="2OqNvi">
<ref role="2Oxat5" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
<node concept="2OqwBi" id="3AEuFq_PXXj" role="3uHU7B">
<node concept="Xjq3P" id="3AEuFq_PXt7" role="2Oq$k0" />
<node concept="2OwXpG" id="3AEuFq_PYrD" role="2OqNvi">
<ref role="2Oxat5" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="3AEuFq_PHmu" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="3AEuFq_PIkj" role="jymVt" />
<node concept="3clFb_" id="3AEuFq_PJdE" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="hashCode" />
<property role="DiZV1" value="false" />
<node concept="3Tm1VV" id="3AEuFq_PJdF" role="1B3o_S" />
<node concept="10Oyi0" id="3AEuFq_PJdH" role="3clF45" />
<node concept="3clFbS" id="3AEuFq_PJdM" role="3clF47">
<node concept="3cpWs8" id="3AEuFq_QccO" role="3cqZAp">
<node concept="3cpWsn" id="3AEuFq_QccR" role="3cpWs9">
<property role="TrG5h" value="h" />
<node concept="10Oyi0" id="3AEuFq_QccN" role="1tU5fm" />
<node concept="3cmrfG" id="3AEuFq_Qcfj" role="33vP2m">
<property role="3cmrfH" value="37" />
</node>
</node>
</node>
<node concept="3clFbF" id="3AEuFq_QdLO" role="3cqZAp">
<node concept="d57v9" id="3AEuFq_Qeml" role="3clFbG">
<node concept="17qRlL" id="3AEuFq_QePd" role="37vLTx">
<node concept="1eOMI4" id="3AEuFq_QeUP" role="3uHU7w">
<node concept="3K4zz7" id="3AEuFq_QfPo" role="1eOMHV">
<node concept="2OqwBi" id="3AEuFq_QgoT" role="3K4E3e">
<node concept="37vLTw" id="3AEuFq_QgiU" role="2Oq$k0">
<ref role="3cqZAo" node="uNmovXiF5Z" resolve="symbol" />
</node>
<node concept="liA8E" id="3AEuFq_QgY1" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.hashCode():int" resolve="hashCode" />
</node>
</node>
<node concept="3cmrfG" id="3AEuFq_Qh3N" role="3K4GZi">
<property role="3cmrfH" value="43" />
</node>
<node concept="3y3z36" id="3AEuFq_Qf9k" role="3K4Cdx">
<node concept="10Nm6u" id="3AEuFq_Qfj6" role="3uHU7w" />
<node concept="37vLTw" id="3AEuFq_QeXj" role="3uHU7B">
<ref role="3cqZAo" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
</node>
</node>
<node concept="3cmrfG" id="3AEuFq_Qeqe" role="3uHU7B">
<property role="3cmrfH" value="17" />
</node>
</node>
<node concept="37vLTw" id="3AEuFq_QdLM" role="37vLTJ">
<ref role="3cqZAo" node="3AEuFq_QccR" resolve="h" />
</node>
</node>
</node>
<node concept="3clFbF" id="3AEuFq_QhJg" role="3cqZAp">
<node concept="37vLTw" id="3AEuFq_QhJe" role="3clFbG">
<ref role="3cqZAo" node="3AEuFq_QccR" resolve="h" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="3AEuFq_PJdN" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="3AEuFq_PKdY" role="jymVt" />
<node concept="3clFb_" id="uNmovXjH0O" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="toString" />
<property role="DiZV1" value="false" />
<node concept="3Tm1VV" id="uNmovXjH0P" role="1B3o_S" />
<node concept="17QB3L" id="6SkxsMz$UXb" role="3clF45" />
<node concept="3clFbS" id="uNmovXjH0V" role="3clF47">
<node concept="3clFbF" id="uNmovXjIc9" role="3cqZAp">
<node concept="3cpWs3" id="6$jH9oLmrvq" role="3clFbG">
<node concept="Xl_RD" id="6$jH9oLmrvA" role="3uHU7w">
<property role="Xl_RC" value="%" />
</node>
<node concept="3cpWs3" id="6$jH9oLmr87" role="3uHU7B">
<node concept="Xl_RD" id="6$jH9oLmr8j" role="3uHU7B">
<property role="Xl_RC" value="%" />
</node>
<node concept="37vLTw" id="uNmovXjIc8" role="3uHU7w">
<ref role="3cqZAo" node="uNmovXiF5Z" resolve="symbol" />
</node>
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="uNmovXjH0W" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="uNmovXjHy8" role="jymVt" />
<node concept="312cEg" id="uNmovXiF5Z" role="jymVt">
<property role="TrG5h" value="symbol" />
<node concept="3Tmbuc" id="104EUzFKnvc" role="1B3o_S" />
<node concept="3uibUv" id="4sSe4$pta0H" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
<node concept="3UR2Jj" id="1EFtv_BGqzg" role="lGtFl">
<node concept="TZ5HA" id="1EFtv_BGqzh" role="TZ5H$">
<node concept="1dT_AC" id="1EFtv_BGqzi" role="1dT_Ay">
<property role="1dT_AB" value="FIXME should be abstract class" />
<property role="1dT_AB" value="Represents a data form that corresponds to a unification variable." />
</node>
</node>
</node>
@ -4316,6 +4002,13 @@
<node concept="10Oyi0" id="5BGv8yzvA3a" role="3clF45" />
<node concept="3Tm1VV" id="5BGv8yzvvJ2" role="1B3o_S" />
<node concept="3clFbS" id="5BGv8yzvvJ3" role="3clF47" />
<node concept="P$JXv" id="1sIKvV30Txg" role="lGtFl">
<node concept="TZ5HA" id="1sIKvV30Txh" role="TZ5H$">
<node concept="1dT_AC" id="1sIKvV30Txi" role="1dT_Ay">
<property role="1dT_AB" value="The number of logical (unification) variables contained by this node." />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="104EUzFOEMO" role="jymVt" />
<node concept="3HP615" id="3OPtF02TdNT" role="jymVt">
@ -8932,6 +8625,11 @@
</node>
</node>
</node>
<node concept="3SKdUt" id="3gNap3frO6t" role="3cqZAp">
<node concept="3SKdUq" id="3gNap3frO6v" role="3SKWNk">
<property role="3SKdUp" value="FIXME there should be a clear contract for instances of TreeForm that wrap logicals" />
</node>
</node>
<node concept="3clFbJ" id="7XRk2O3vLOD" role="3cqZAp">
<node concept="3clFbS" id="7XRk2O3vLOF" role="3clFbx">
<node concept="3cpWs8" id="7XRk2O3vPN2" role="3cqZAp">
@ -8953,8 +8651,11 @@
<node concept="2OqwBi" id="7XRk2O3vR3X" role="10QFUP">
<node concept="1eOMI4" id="7XRk2O3vR3Y" role="2Oq$k0">
<node concept="10QFUN" id="7XRk2O3vR3Z" role="1eOMHV">
<node concept="3uibUv" id="7XRk2O3vR40" role="10QFUM">
<ref role="3uigEE" to="bj13:~LogicalOwner" resolve="LogicalOwner" />
<node concept="3uibUv" id="3gNap3fMVVJ" role="10QFUM">
<ref role="3uigEE" to="oy3s:4TCblo5MJ1m" resolve="LogicalDataForm" />
<node concept="3uibUv" id="3gNap3fMVVP" role="11_B2D">
<ref role="3uigEE" node="3OPtF03lco4" resolve="ListNode" />
</node>
</node>
<node concept="37vLTw" id="7XRk2O3vR41" role="10QFUP">
<ref role="3cqZAo" node="7XRk2O3vPGf" resolve="v" />
@ -8962,7 +8663,7 @@
</node>
</node>
<node concept="liA8E" id="7XRk2O3vR42" role="2OqNvi">
<ref role="37wK5l" to="bj13:~LogicalOwner.logical():jetbrains.mps.logic.reactor.logical.Logical" resolve="logical" />
<ref role="37wK5l" to="oy3s:4TCblo5MS1o" resolve="logical" />
</node>
</node>
</node>
@ -9002,8 +8703,8 @@
</node>
</node>
<node concept="2ZW3vV" id="7XRk2O3vMfH" role="3clFbw">
<node concept="3uibUv" id="7XRk2O3vPCm" role="2ZW6by">
<ref role="3uigEE" to="bj13:~LogicalOwner" resolve="LogicalOwner" />
<node concept="3uibUv" id="3gNap3fMVVG" role="2ZW6by">
<ref role="3uigEE" to="oy3s:4TCblo5MJ1m" resolve="LogicalDataForm" />
</node>
<node concept="37vLTw" id="7XRk2O3vPGh" role="2ZW6bz">
<ref role="3cqZAo" node="7XRk2O3vPGf" resolve="v" />
@ -11328,7 +11029,7 @@
</node>
</node>
<node concept="liA8E" id="4sSe4$pxm8F" role="2OqNvi">
<ref role="37wK5l" node="56MMu0Ark7C" resolve="is" />
<ref role="37wK5l" to="yt73:~Term.is(jetbrains.mps.unification.Term$Kind):boolean" resolve="is" />
<node concept="Rm8GO" id="4sSe4$pxm8G" role="37wK5m">
<ref role="1Px2BO" to="yt73:~Term$Kind" resolve="Term.Kind" />
<ref role="Rm8GQ" to="yt73:~Term$Kind.REF" resolve="REF" />

View File

@ -34,13 +34,6 @@
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1224500799915" name="jetbrains.mps.baseLanguage.structure.BitwiseXorExpression" flags="nn" index="pVQyQ" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1239714755177" name="jetbrains.mps.baseLanguage.structure.AbstractUnaryNumberOperation" flags="nn" index="2$Kvd9">
<child id="1239714902950" name="expression" index="2$L3a6" />
</concept>
<concept id="1173175405605" name="jetbrains.mps.baseLanguage.structure.ArrayAccessExpression" flags="nn" index="AH0OO">
<child id="1173175577737" name="index" index="AHEQo" />
<child id="1173175590490" name="array" index="AHHXb" />
</concept>
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
<reference id="1188208074048" name="annotation" index="2AI5Lk" />
</concept>
@ -77,7 +70,6 @@
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
</concept>
@ -89,7 +81,6 @@
<child id="1081256993304" name="leftExpression" index="2ZW6bz" />
</concept>
<concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
<concept id="1070534760951" name="jetbrains.mps.baseLanguage.structure.ArrayType" flags="in" index="10Q1$e">
<child id="1070534760952" name="componentType" index="10Q1$1" />
@ -104,7 +95,6 @@
</concept>
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
<property id="1075300953594" name="abstractClass" index="1sVAO0" />
<property id="1221565133444" name="isFinal" index="1EXbeo" />
<child id="1095933932569" name="implementedInterface" index="EKbjA" />
<child id="1165602531693" name="superclass" index="1zkMxy" />
</concept>
@ -112,9 +102,7 @@
<property id="1176718929932" name="isFinal" index="3TUv4t" />
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1109279763828" name="jetbrains.mps.baseLanguage.structure.TypeVariableDeclaration" flags="ng" index="16euLQ">
<child id="1214996921760" name="bound" index="3ztrMU" />
</concept>
<concept id="1109279763828" name="jetbrains.mps.baseLanguage.structure.TypeVariableDeclaration" flags="ng" index="16euLQ" />
<concept id="1109279851642" name="jetbrains.mps.baseLanguage.structure.GenericDeclaration" flags="ng" index="16eOlS">
<child id="1109279881614" name="typeVariableDeclaration" index="16eVyc" />
</concept>
@ -158,13 +146,7 @@
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580123140" name="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" flags="ig" index="3clFbW" />
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
@ -177,8 +159,6 @@
<concept id="1079359253375" name="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" flags="nn" index="1eOMI4">
<child id="1079359253376" name="expression" index="1eOMHV" />
</concept>
<concept id="1081506762703" name="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" flags="nn" index="3eOSWO" />
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</concept>
@ -193,7 +173,6 @@
<child id="1212687122400" name="typeParameter" index="1pMfVU" />
</concept>
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<property id="521412098689998745" name="nonStatic" index="2bfB8j" />
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1171903607971" name="jetbrains.mps.baseLanguage.structure.WildCardType" flags="in" index="3qTvmN" />
@ -206,15 +185,7 @@
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="1214918800624" name="jetbrains.mps.baseLanguage.structure.PostfixIncrementExpression" flags="nn" index="3uNrnE" />
<concept id="1073239437375" name="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" flags="nn" index="3y3z36" />
<concept id="1184950988562" name="jetbrains.mps.baseLanguage.structure.ArrayCreator" flags="nn" index="3$_iS1">
<child id="1184951007469" name="componentType" index="3$_nBY" />
<child id="1184952969026" name="dimensionExpression" index="3$GQph" />
</concept>
<concept id="1184952934362" name="jetbrains.mps.baseLanguage.structure.DimensionExpression" flags="nn" index="3$GHV9">
<child id="1184953288404" name="expression" index="3$I4v7" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
@ -224,10 +195,6 @@
<concept id="1144230876926" name="jetbrains.mps.baseLanguage.structure.AbstractForStatement" flags="nn" index="1DupvO">
<child id="1144230900587" name="variable" index="1Duv9x" />
</concept>
<concept id="1144231330558" name="jetbrains.mps.baseLanguage.structure.ForStatement" flags="nn" index="1Dw8fO">
<child id="1144231399730" name="condition" index="1Dwp0S" />
<child id="1144231408325" name="iteration" index="1Dwrff" />
</concept>
<concept id="1107796713796" name="jetbrains.mps.baseLanguage.structure.Interface" flags="ig" index="3HP615">
<child id="1107797138135" name="extendedInterface" index="3HQHJm" />
</concept>
@ -1149,9 +1116,9 @@
</node>
<node concept="liA8E" id="60zk4o6SxJ$" role="2OqNvi">
<ref role="37wK5l" to="33ny:~ArrayList.add(java.lang.Object):boolean" resolve="add" />
<node concept="2YIFZM" id="74q$MmRB2bs" role="37wK5m">
<ref role="37wK5l" node="4TCblo5NqWF" resolve="instantiateMetaLogicals" />
<ref role="1Pybhc" node="677NV565N1x" resolve="LogicalUtil" />
<node concept="2YIFZM" id="3gNap3fNlJv" role="37wK5m">
<ref role="37wK5l" to="oy3s:4TCblo5NqWF" resolve="instantiateMetaLogicals" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="10QFUN" id="60zk4o6SxJA" role="37wK5m">
<node concept="3uibUv" id="60zk4o6SxJB" role="10QFUM">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
@ -2390,385 +2357,6 @@
<property role="TrG5h" value="T" />
</node>
</node>
<node concept="312cEu" id="677NV565N1x">
<property role="TrG5h" value="LogicalUtil" />
<node concept="2tJIrI" id="7HUwyZb7alE" role="jymVt" />
<node concept="2YIFZL" id="7HUwyZb7b7C" role="jymVt">
<property role="TrG5h" value="asVariableArray" />
<node concept="37vLTG" id="7HUwyZb7b7D" role="3clF46">
<property role="TrG5h" value="multiMetaLogical" />
<node concept="3uibUv" id="7HUwyZb7bf2" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MultiMetaLogical" resolve="MultiMetaLogical" />
</node>
</node>
<node concept="10Q1$e" id="7HUwyZb7b7G" role="3clF45">
<node concept="3uibUv" id="kTK1BeAfdG" role="10Q1$1">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
</node>
<node concept="3Tm1VV" id="7HUwyZb7b7I" role="1B3o_S" />
<node concept="3clFbS" id="7HUwyZb7b7J" role="3clF47">
<node concept="3cpWs8" id="7HUwyZb7b7R" role="3cqZAp">
<node concept="3cpWsn" id="7HUwyZb7b7S" role="3cpWs9">
<property role="TrG5h" value="array" />
<node concept="10Q1$e" id="7HUwyZb7b7T" role="1tU5fm">
<node concept="3uibUv" id="kTK1BeAf2h" role="10Q1$1">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
</node>
<node concept="2ShNRf" id="7HUwyZb7b7V" role="33vP2m">
<node concept="3$_iS1" id="7HUwyZb7b7W" role="2ShVmc">
<node concept="3$GHV9" id="7HUwyZb7b7X" role="3$GQph">
<node concept="2OqwBi" id="7HUwyZb7b7Y" role="3$I4v7">
<node concept="37vLTw" id="7HUwyZb7b7Z" role="2Oq$k0">
<ref role="3cqZAo" node="7HUwyZb7b7D" resolve="multiMetaLogical" />
</node>
<node concept="liA8E" id="7HUwyZbdR3y" role="2OqNvi">
<ref role="37wK5l" to="bj13:~MultiMetaLogical.cardinality():int" resolve="cardinality" />
</node>
</node>
</node>
<node concept="3uibUv" id="kTK1BeAf7Z" role="3$_nBY">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
</node>
</node>
</node>
</node>
<node concept="1Dw8fO" id="7HUwyZb7b83" role="3cqZAp">
<node concept="3clFbS" id="7HUwyZb7b84" role="2LFqv$">
<node concept="3clFbF" id="7HUwyZb7b85" role="3cqZAp">
<node concept="37vLTI" id="7HUwyZb7b86" role="3clFbG">
<node concept="AH0OO" id="7HUwyZb7b8e" role="37vLTJ">
<node concept="37vLTw" id="7HUwyZb7b8f" role="AHEQo">
<ref role="3cqZAo" node="7HUwyZb7b8h" resolve="i" />
</node>
<node concept="37vLTw" id="7HUwyZb7b8g" role="AHHXb">
<ref role="3cqZAo" node="7HUwyZb7b7S" resolve="array" />
</node>
</node>
<node concept="1rXfSq" id="7HUwyZbdRag" role="37vLTx">
<ref role="37wK5l" node="7HUwyZb7chj" resolve="asVariable" />
<node concept="2OqwBi" id="7HUwyZbdRec" role="37wK5m">
<node concept="37vLTw" id="7HUwyZbdRce" role="2Oq$k0">
<ref role="3cqZAo" node="7HUwyZb7b7D" resolve="multiMetaLogical" />
</node>
<node concept="liA8E" id="7HUwyZbdRgZ" role="2OqNvi">
<ref role="37wK5l" to="bj13:~MultiMetaLogical.logicalAt(int):jetbrains.mps.logic.reactor.logical.MetaLogical" resolve="logicalAt" />
<node concept="37vLTw" id="7HUwyZbdRiC" role="37wK5m">
<ref role="3cqZAo" node="7HUwyZb7b8h" resolve="i" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="7HUwyZb7b8h" role="1Duv9x">
<property role="TrG5h" value="i" />
<node concept="10Oyi0" id="7HUwyZb7b8i" role="1tU5fm" />
<node concept="3cmrfG" id="7HUwyZb7b8j" role="33vP2m">
<property role="3cmrfH" value="0" />
</node>
</node>
<node concept="3eOVzh" id="7HUwyZb7b8k" role="1Dwp0S">
<node concept="37vLTw" id="7HUwyZb7b8l" role="3uHU7B">
<ref role="3cqZAo" node="7HUwyZb7b8h" resolve="i" />
</node>
<node concept="2OqwBi" id="7HUwyZb7b8m" role="3uHU7w">
<node concept="37vLTw" id="7HUwyZb7b8n" role="2Oq$k0">
<ref role="3cqZAo" node="7HUwyZb7b7D" resolve="multiMetaLogical" />
</node>
<node concept="liA8E" id="7HUwyZbdR6B" role="2OqNvi">
<ref role="37wK5l" to="bj13:~MultiMetaLogical.cardinality():int" resolve="cardinality" />
</node>
</node>
</node>
<node concept="3uNrnE" id="7HUwyZb7b8p" role="1Dwrff">
<node concept="37vLTw" id="7HUwyZb7b8q" role="2$L3a6">
<ref role="3cqZAo" node="7HUwyZb7b8h" resolve="i" />
</node>
</node>
</node>
<node concept="3clFbF" id="7HUwyZb7b8s" role="3cqZAp">
<node concept="37vLTw" id="7HUwyZb7b8t" role="3clFbG">
<ref role="3cqZAo" node="7HUwyZb7b7S" resolve="array" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="7HUwyZb7clq" role="jymVt" />
<node concept="2YIFZL" id="7HUwyZb7chj" role="jymVt">
<property role="TrG5h" value="asVariable" />
<node concept="37vLTG" id="7HUwyZb7chk" role="3clF46">
<property role="TrG5h" value="metaLogical" />
<node concept="3uibUv" id="7HUwyZb7chm" role="1tU5fm">
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
<node concept="3qTvmN" id="4TCblo5YIjG" role="11_B2D" />
</node>
</node>
<node concept="3uibUv" id="kTK1BeAdVX" role="3clF45">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
<node concept="3Tm1VV" id="7HUwyZb7chp" role="1B3o_S" />
<node concept="3clFbS" id="7HUwyZb7chq" role="3clF47">
<node concept="3clFbF" id="7HUwyZbdQz9" role="3cqZAp">
<node concept="2ShNRf" id="7HUwyZbdQz7" role="3clFbG">
<node concept="1pGfFk" id="7HUwyZbdQMO" role="2ShVmc">
<ref role="37wK5l" to="oy3s:7HUwyZbdNAd" resolve="MetaLogicalDataForm" />
<node concept="37vLTw" id="7HUwyZbdQO9" role="37wK5m">
<ref role="3cqZAo" node="7HUwyZb7chk" resolve="metaLogical" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4TCblo5YI1R" role="jymVt" />
<node concept="2YIFZL" id="4TCblo5YI1H" role="jymVt">
<property role="TrG5h" value="asVariable" />
<node concept="37vLTG" id="4TCblo5YI1I" role="3clF46">
<property role="TrG5h" value="logical" />
<node concept="3uibUv" id="4TCblo5YI1J" role="1tU5fm">
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
<node concept="16syzq" id="4TCblo5YIOD" role="11_B2D">
<ref role="16sUi3" node="4TCblo5YIIG" resolve="T" />
</node>
</node>
</node>
<node concept="3uibUv" id="kTK1BeAeTc" role="3clF45">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
<node concept="3Tm1VV" id="4TCblo5YI1L" role="1B3o_S" />
<node concept="3clFbS" id="4TCblo5YI1M" role="3clF47">
<node concept="3clFbF" id="4TCblo5YITN" role="3cqZAp">
<node concept="2ShNRf" id="4TCblo5YITJ" role="3clFbG">
<node concept="1pGfFk" id="4TCblo5YJa3" role="2ShVmc">
<ref role="37wK5l" to="oy3s:4TCblo5ML4I" resolve="LogicalDataForm" />
<node concept="37vLTw" id="4TCblo5YJCY" role="37wK5m">
<ref role="3cqZAo" node="4TCblo5YI1I" resolve="logical" />
</node>
<node concept="16syzq" id="4TCblo5YJyT" role="1pMfVU">
<ref role="16sUi3" node="4TCblo5YIIG" resolve="T" />
</node>
</node>
</node>
</node>
</node>
<node concept="16euLQ" id="4TCblo5YIIG" role="16eVyc">
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="4TCblo5YJ_1" role="3ztrMU">
<ref role="3uigEE" to="yt73:~Term" resolve="Term" />
</node>
</node>
</node>
<node concept="2tJIrI" id="677NV565VBQ" role="jymVt" />
<node concept="2YIFZL" id="4TCblo5NqWF" role="jymVt">
<property role="TrG5h" value="instantiateMetaLogicals" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3clFbS" id="4TCblo5NkoL" role="3clF47">
<node concept="3clFbF" id="4TCblo5NkJr" role="3cqZAp">
<node concept="2OqwBi" id="4TCblo5Nl4W" role="3clFbG">
<node concept="2YIFZM" id="4TCblo5NkK4" role="2Oq$k0">
<ref role="37wK5l" to="6exd:5s497VqteR6" resolve="mapper" />
<ref role="1Pybhc" to="6exd:3OPtF02T8yx" resolve="Mappers" />
<node concept="2ShNRf" id="4TCblo5NkKU" role="37wK5m">
<node concept="1pGfFk" id="4TCblo5Nl1t" role="2ShVmc">
<ref role="37wK5l" node="4TCblo5MHYk" resolve="LogicalUtil.InstantiateDelegate" />
<node concept="37vLTw" id="4TCblo5Nl3R" role="37wK5m">
<ref role="3cqZAo" node="4TCblo5NkwR" resolve="logicalContext" />
</node>
</node>
</node>
</node>
<node concept="liA8E" id="4TCblo5Nl7d" role="2OqNvi">
<ref role="37wK5l" to="6exd:3OPtF02TgQt" resolve="map" />
<node concept="37vLTw" id="4TCblo5Nl9o" role="37wK5m">
<ref role="3cqZAo" node="4TCblo5NkAJ" resolve="tf" />
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTG" id="4TCblo5NkAJ" role="3clF46">
<property role="TrG5h" value="tf" />
<node concept="3uibUv" id="4TCblo5NkFx" role="1tU5fm">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
</node>
<node concept="37vLTG" id="4TCblo5NkwR" role="3clF46">
<property role="TrG5h" value="logicalContext" />
<node concept="3uibUv" id="4TCblo5Nk_K" role="1tU5fm">
<ref role="3uigEE" to="bj13:~LogicalContext" resolve="LogicalContext" />
</node>
</node>
<node concept="3uibUv" id="4TCblo5Nlai" role="3clF45">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
<node concept="3Tm1VV" id="4TCblo5NkoK" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="4TCblo5Nkhd" role="jymVt" />
<node concept="312cEu" id="4TCblo5MG7R" role="jymVt">
<property role="2bfB8j" value="false" />
<property role="1sVAO0" value="false" />
<property role="1EXbeo" value="false" />
<property role="TrG5h" value="InstantiateDelegate" />
<node concept="2tJIrI" id="4TCblo5MHSq" role="jymVt" />
<node concept="3clFbW" id="4TCblo5MHYk" role="jymVt">
<node concept="3cqZAl" id="4TCblo5MHYm" role="3clF45" />
<node concept="3Tm6S6" id="4TCblo5MHYn" role="1B3o_S" />
<node concept="3clFbS" id="4TCblo5MHYo" role="3clF47">
<node concept="3clFbF" id="4TCblo5MI7v" role="3cqZAp">
<node concept="37vLTI" id="4TCblo5MI7x" role="3clFbG">
<node concept="2OqwBi" id="4TCblo5MI7_" role="37vLTJ">
<node concept="Xjq3P" id="4TCblo5MI7C" role="2Oq$k0" />
<node concept="2OwXpG" id="4TCblo5MI7$" role="2OqNvi">
<ref role="2Oxat5" node="4TCblo5MI7r" resolve="logicalContext" />
</node>
</node>
<node concept="37vLTw" id="4TCblo5MI7D" role="37vLTx">
<ref role="3cqZAo" node="4TCblo5MI32" resolve="logicalContext" />
</node>
</node>
</node>
</node>
<node concept="37vLTG" id="4TCblo5MI32" role="3clF46">
<property role="TrG5h" value="logicalContext" />
<node concept="3uibUv" id="4TCblo5MI31" role="1tU5fm">
<ref role="3uigEE" to="bj13:~LogicalContext" resolve="LogicalContext" />
</node>
</node>
</node>
<node concept="2tJIrI" id="4TCblo5MHTP" role="jymVt" />
<node concept="3Tm6S6" id="4TCblo5MG2k" role="1B3o_S" />
<node concept="3uibUv" id="4TCblo5MGIz" role="EKbjA">
<ref role="3uigEE" to="6exd:3OPtF031GQe" resolve="Mappers.MapDelegate" />
</node>
<node concept="3clFb_" id="6HT7BWBPa9I" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="canMap" />
<node concept="37vLTG" id="6HT7BWBPa9J" role="3clF46">
<property role="TrG5h" value="tf" />
<node concept="3uibUv" id="6HT7BWBPa9K" role="1tU5fm">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
</node>
<node concept="10P_77" id="6HT7BWBPa9L" role="3clF45" />
<node concept="3Tm1VV" id="6HT7BWBPa9M" role="1B3o_S" />
<node concept="3clFbS" id="6HT7BWBPa9N" role="3clF47">
<node concept="3clFbF" id="5BGv8yzxlPR" role="3cqZAp">
<node concept="3eOSWO" id="5BGv8yzxmvm" role="3clFbG">
<node concept="3cmrfG" id="5BGv8yzxmwO" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="2OqwBi" id="5BGv8yzxm1a" role="3uHU7B">
<node concept="37vLTw" id="5BGv8yzxlPP" role="2Oq$k0">
<ref role="3cqZAo" node="6HT7BWBPa9J" resolve="tf" />
</node>
<node concept="liA8E" id="5BGv8yzxmhs" role="2OqNvi">
<ref role="37wK5l" to="6exd:5BGv8yzvvIZ" resolve="variablesCount" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4TCblo5MIEy" role="jymVt" />
<node concept="3clFb_" id="6HT7BWBPa9O" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="map" />
<node concept="37vLTG" id="6HT7BWBPa9P" role="3clF46">
<property role="TrG5h" value="tf" />
<node concept="3uibUv" id="6HT7BWBPa9Q" role="1tU5fm">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
</node>
<node concept="37vLTG" id="6HT7BWBPa9R" role="3clF46">
<property role="TrG5h" value="fallback" />
<node concept="3uibUv" id="6HT7BWBPa9S" role="1tU5fm">
<ref role="3uigEE" to="6exd:3OPtF02TdNT" resolve="DataForm.Mapper" />
</node>
</node>
<node concept="3Tm1VV" id="6HT7BWBPa9T" role="1B3o_S" />
<node concept="3uibUv" id="6HT7BWBPa9U" role="3clF45">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
<node concept="3clFbS" id="6HT7BWBPa9V" role="3clF47">
<node concept="3clFbJ" id="5BGv8yzxmXQ" role="3cqZAp">
<node concept="3clFbS" id="5BGv8yzxmXS" role="3clFbx">
<node concept="3cpWs6" id="5BGv8yzxnrb" role="3cqZAp">
<node concept="2ShNRf" id="4TCblo5Pq8Z" role="3cqZAk">
<node concept="1pGfFk" id="4TCblo5PqjT" role="2ShVmc">
<ref role="37wK5l" to="oy3s:4TCblo5ML4I" resolve="LogicalDataForm" />
<node concept="2OqwBi" id="4TCblo5PabD" role="37wK5m">
<node concept="37vLTw" id="4TCblo5PabE" role="2Oq$k0">
<ref role="3cqZAo" node="4TCblo5MI7r" resolve="logicalContext" />
</node>
<node concept="liA8E" id="4TCblo5PabF" role="2OqNvi">
<ref role="37wK5l" to="bj13:~LogicalContext.variable(jetbrains.mps.logic.reactor.logical.MetaLogical):jetbrains.mps.logic.reactor.logical.Logical" resolve="variable" />
<node concept="2OqwBi" id="4TCblo5PabG" role="37wK5m">
<node concept="1eOMI4" id="4TCblo5PabH" role="2Oq$k0">
<node concept="10QFUN" id="4TCblo5PabI" role="1eOMHV">
<node concept="37vLTw" id="4TCblo5PabJ" role="10QFUP">
<ref role="3cqZAo" node="6HT7BWBPa9P" resolve="tf" />
</node>
<node concept="3uibUv" id="4TCblo5PabK" role="10QFUM">
<ref role="3uigEE" to="oy3s:7HUwyZbdMWH" resolve="MetaLogicalDataForm" />
</node>
</node>
</node>
<node concept="liA8E" id="4TCblo5PabL" role="2OqNvi">
<ref role="37wK5l" to="oy3s:514BAS_Xsp_" resolve="metaLogical" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5BGv8yzxoz$" role="3cqZAp" />
</node>
<node concept="2ZW3vV" id="4TCblo5MCk$" role="3clFbw">
<node concept="3uibUv" id="4TCblo5MCof" role="2ZW6by">
<ref role="3uigEE" to="oy3s:7HUwyZbdMWH" resolve="MetaLogicalDataForm" />
</node>
<node concept="37vLTw" id="bUIfhjJCGB" role="2ZW6bz">
<ref role="3cqZAo" node="6HT7BWBPa9P" resolve="tf" />
</node>
</node>
<node concept="9aQIb" id="5BGv8yzxoqo" role="9aQIa">
<node concept="3clFbS" id="5BGv8yzxoqp" role="9aQI4">
<node concept="3cpWs6" id="5BGv8yzxpdJ" role="3cqZAp">
<node concept="2OqwBi" id="5BGv8yzxl7m" role="3cqZAk">
<node concept="37vLTw" id="5BGv8yzxkWc" role="2Oq$k0">
<ref role="3cqZAo" node="6HT7BWBPa9P" resolve="tf" />
</node>
<node concept="liA8E" id="5BGv8yzxlnb" role="2OqNvi">
<ref role="37wK5l" to="6exd:3OPtF02Tjpr" resolve="mapRecursively" />
<node concept="37vLTw" id="5BGv8yzxlyp" role="37wK5m">
<ref role="3cqZAo" node="6HT7BWBPa9R" resolve="fallback" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4TCblo5MI$W" role="jymVt" />
<node concept="312cEg" id="4TCblo5MI7r" role="jymVt">
<property role="TrG5h" value="logicalContext" />
<node concept="3Tm6S6" id="4TCblo5MI7s" role="1B3o_S" />
<node concept="3uibUv" id="4TCblo5MI7u" role="1tU5fm">
<ref role="3uigEE" to="bj13:~LogicalContext" resolve="LogicalContext" />
</node>
</node>
</node>
<node concept="2tJIrI" id="4TCblo5NlYH" role="jymVt" />
<node concept="3Tm1VV" id="677NV565N1y" role="1B3o_S" />
</node>
<node concept="312cEu" id="70Wv0dJhKHy">
<property role="TrG5h" value="ProgramEx" />
<property role="1sVAO0" value="true" />

View File

@ -7837,13 +7837,13 @@
<node concept="3clFbS" id="19wqdqOqxsh" role="3clFbx">
<node concept="3SKdUt" id="19wqdqOqxsi" role="3cqZAp">
<node concept="3SKdUq" id="19wqdqOqxsj" role="3SKWNk">
<property role="3SKdUp" value="FIXME: there should be a clear contract for instances of TreeForm that wrap logicals" />
<property role="3SKdUp" value="FIXME: there should be a clear contract for instances of DataForm that wrap logicals" />
</node>
</node>
<node concept="3cpWs6" id="19wqdqOqxsk" role="3cqZAp">
<node concept="2ZW3vV" id="19wqdqOqxsl" role="3cqZAk">
<node concept="3uibUv" id="19wqdqOqxsm" role="2ZW6by">
<ref role="3uigEE" to="bj13:~LogicalOwner" resolve="LogicalOwner" />
<node concept="3uibUv" id="3gNap3frqGV" role="2ZW6by">
<ref role="3uigEE" to="oy3s:4TCblo5MJ1m" resolve="LogicalDataForm" />
</node>
<node concept="37vLTw" id="19wqdqOqxsn" role="2ZW6bz">
<ref role="3cqZAo" node="19wqdqOqxsb" resolve="tf" />
@ -7913,8 +7913,11 @@
<node concept="37vLTw" id="19wqdqOqxsN" role="10QFUP">
<ref role="3cqZAo" node="19wqdqOqxsw" resolve="tf" />
</node>
<node concept="3uibUv" id="19wqdqOqxsO" role="10QFUM">
<ref role="3uigEE" to="bj13:~LogicalOwner" resolve="LogicalOwner" />
<node concept="3uibUv" id="3gNap3frrmL" role="10QFUM">
<ref role="3uigEE" to="oy3s:4TCblo5MJ1m" resolve="LogicalDataForm" />
<node concept="3uibUv" id="3gNap3frrQb" role="11_B2D">
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
</node>
</node>
</node>
</node>
@ -7941,8 +7944,8 @@
<node concept="3clFbH" id="19wqdqOqxsV" role="3cqZAp" />
</node>
<node concept="2ZW3vV" id="19wqdqOqxsW" role="3clFbw">
<node concept="3uibUv" id="19wqdqOqxsX" role="2ZW6by">
<ref role="3uigEE" to="bj13:~LogicalOwner" resolve="LogicalOwner" />
<node concept="3uibUv" id="3gNap3frr1Q" role="2ZW6by">
<ref role="3uigEE" to="oy3s:4TCblo5MJ1m" resolve="LogicalDataForm" />
</node>
<node concept="37vLTw" id="19wqdqOqxsY" role="2ZW6bz">
<ref role="3cqZAo" node="19wqdqOqxsw" resolve="tf" />

View File

@ -48,7 +48,6 @@
</concept>
<concept id="1070462154015" name="jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" flags="ig" index="Wx3nA" />
<concept id="1070475354124" name="jetbrains.mps.baseLanguage.structure.ThisExpression" flags="nn" index="Xjq3P" />
<concept id="1070475587102" name="jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" flags="nn" index="XkiVB" />
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
@ -700,25 +699,6 @@
<property role="2bfB8j" value="false" />
<property role="TrG5h" value="TestingUnificationSolver" />
<node concept="2tJIrI" id="6yEjedm5WFP" role="jymVt" />
<node concept="3clFbW" id="6yEjedm5WI7" role="jymVt">
<node concept="37vLTG" id="3FIATxbQcKV" role="3clF46">
<property role="TrG5h" value="logicalUnification" />
<node concept="3uibUv" id="5cDlfXsLvq0" role="1tU5fm">
<ref role="3uigEE" to="oy3s:4xTpErjR15$" resolve="DefaultLogicalUnification" />
</node>
</node>
<node concept="3cqZAl" id="6yEjedm5WI9" role="3clF45" />
<node concept="3Tm1VV" id="6yEjedm5WIa" role="1B3o_S" />
<node concept="3clFbS" id="6yEjedm5WIb" role="3clF47">
<node concept="XkiVB" id="6yEjedm5WNa" role="3cqZAp">
<ref role="37wK5l" to="cxk7:5p8T3QHGKJ7" resolve="UnificationPredicate.UnificationSolver" />
<node concept="37vLTw" id="6yEjedm5WTt" role="37wK5m">
<ref role="3cqZAo" node="3FIATxbQcKV" resolve="logicalUnification" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6yEjedm5XCT" role="jymVt" />
<node concept="3clFb_" id="6yEjedm5XWy" role="jymVt">
<property role="TrG5h" value="askUni" />
<node concept="10P_77" id="6yEjedm5ZZz" role="3clF45" />

View File

@ -2345,13 +2345,8 @@
<ref role="3uigEE" to="mqqo:6yEjedm5WkE" resolve="TestingUnificationSolver" />
</node>
<node concept="2ShNRf" id="fHk0tWuoQm" role="33vP2m">
<node concept="1pGfFk" id="fHk0tWutdI" role="2ShVmc">
<ref role="37wK5l" to="mqqo:6yEjedm5WI7" resolve="TestingUnificationSolver" />
<node concept="2ShNRf" id="6yEjedm5KqE" role="37wK5m">
<node concept="HV5vD" id="4xTpErjR48y" role="2ShVmc">
<ref role="HV5vE" to="oy3s:4xTpErjR15$" resolve="DefaultLogicalUnification" />
</node>
</node>
<node concept="HV5vD" id="3gNap3fFj93" role="2ShVmc">
<ref role="HV5vE" to="mqqo:6yEjedm5WkE" resolve="TestingUnificationSolver" />
</node>
</node>
</node>
@ -2372,9 +2367,9 @@
<node concept="3uibUv" id="6N2bvv_ux$$" role="10QFUM">
<ref role="3uigEE" to="6exd:uNmovXiEd4" resolve="Variable" />
</node>
<node concept="2YIFZM" id="6N2bvv_ux$_" role="10QFUP">
<ref role="37wK5l" to="7n8k:4TCblo5YI1H" resolve="asVariable" />
<ref role="1Pybhc" to="7n8k:677NV565N1x" resolve="LogicalUtil" />
<node concept="2YIFZM" id="3gNap3fNlJl" role="10QFUP">
<ref role="37wK5l" to="oy3s:4TCblo5YI1H" resolve="asVariable" />
<ref role="1Pybhc" to="oy3s:677NV565N1x" resolve="LogicalUtil" />
<node concept="2ShNRf" id="6N2bvv_ux$A" role="37wK5m">
<node concept="1pGfFk" id="6N2bvv_ux$B" role="2ShVmc">
<ref role="37wK5l" to="zx3l:~LogicalImpl.&lt;init&gt;(java.lang.String)" resolve="LogicalImpl" />