Commit c0da15ec authored by André Pacak's avatar André Pacak

start generating rules for xRequired

parent 93e08cdd
......@@ -31,6 +31,9 @@
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
......@@ -120,6 +123,9 @@
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
</concept>
<concept id="5455284157993911077" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitProperty" flags="ng" index="2pJxcG">
<reference id="5455284157993911078" name="property" index="2pJxcJ" />
</concept>
......@@ -133,6 +139,9 @@
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="8182547171709752110" name="jetbrains.mps.lang.quotation.structure.NodeBuilderExpression" flags="nn" index="36biLy">
<child id="8182547171709752112" name="expression" index="36biLW" />
</concept>
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
......@@ -146,9 +155,15 @@
<concept id="1143224066846" name="jetbrains.mps.lang.smodel.structure.Node_InsertNextSiblingOperation" flags="nn" index="HtI8k">
<child id="1143224066849" name="insertedNode" index="HtI8F" />
</concept>
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
<concept id="1171323947159" name="jetbrains.mps.lang.smodel.structure.Model_NodesOperation" flags="nn" index="2SmgA7">
<child id="1758937410080001570" name="conceptArgument" index="1dBWTz" />
</concept>
<concept id="1145567426890" name="jetbrains.mps.lang.smodel.structure.SNodeListCreator" flags="nn" index="2T8Vx0">
<child id="1145567471833" name="createdType" index="2T96Bj" />
</concept>
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
......@@ -189,9 +204,12 @@
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
<concept id="1235566554328" name="jetbrains.mps.baseLanguage.collections.structure.AnyOperation" flags="nn" index="2HwmR7" />
<concept id="1227022159410" name="jetbrains.mps.baseLanguage.collections.structure.AddFirstElementOperation" flags="nn" index="2Ke4WJ" />
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
<concept id="1171391069720" name="jetbrains.mps.baseLanguage.collections.structure.GetIndexOfOperation" flags="nn" index="2WmjW8" />
<concept id="1162934736510" name="jetbrains.mps.baseLanguage.collections.structure.GetElementOperation" flags="nn" index="34jXtK" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1225727723840" name="jetbrains.mps.baseLanguage.collections.structure.FindFirstOperation" flags="nn" index="1z4cxt" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
......@@ -586,7 +604,7 @@
</node>
<node concept="3cpWs8" id="5YqjVV7pITj" role="3cqZAp">
<node concept="3cpWsn" id="5YqjVV7pITk" role="3cpWs9">
<property role="TrG5h" value="rules" />
<property role="TrG5h" value="rulesToInsertRequired" />
<node concept="A3Dl8" id="5YqjVV7pISV" role="1tU5fm">
<node concept="3Tqbb2" id="5YqjVV7pISY" role="A3Ik2">
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
......@@ -669,7 +687,7 @@
</node>
</node>
<node concept="37vLTw" id="5bZNdPkafF3" role="37vLTJ">
<ref role="3cqZAo" node="5YqjVV7pITk" resolve="rules" />
<ref role="3cqZAo" node="5YqjVV7pITk" resolve="rulesToInsertRequired" />
</node>
</node>
</node>
......@@ -706,7 +724,7 @@
</node>
<node concept="3cpWs8" id="5YqjVV7qpsI" role="3cqZAp">
<node concept="3cpWsn" id="5YqjVV7qpsJ" role="3cpWs9">
<property role="TrG5h" value="constructInstance" />
<property role="TrG5h" value="conclusion" />
<node concept="3Tqbb2" id="5YqjVV7qps_" role="1tU5fm">
<ref role="ehGHo" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
......@@ -735,7 +753,7 @@
</node>
<node concept="2Ke4WJ" id="5YqjVV7pV1m" role="2OqNvi">
<node concept="37vLTw" id="5YqjVV7qv0o" role="25WWJ7">
<ref role="3cqZAo" node="5YqjVV7qpsJ" resolve="constructInstance" />
<ref role="3cqZAo" node="5YqjVV7qpsJ" resolve="conclusion" />
</node>
</node>
</node>
......@@ -747,12 +765,564 @@
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
<node concept="37vLTw" id="5YqjVV7pS0e" role="1DdaDG">
<ref role="3cqZAo" node="5YqjVV7pITk" resolve="rules" />
<node concept="37vLTw" id="5bZNdPkhe7t" role="1DdaDG">
<ref role="3cqZAo" node="5YqjVV7pITk" resolve="rulesToInsertRequired" />
</node>
</node>
<node concept="3clFbH" id="5bZNdPkruk1" role="3cqZAp" />
<node concept="3SKdUt" id="5bZNdPkryi0" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkryi2" role="3SKWNk">
<property role="3SKdUp" value="create rules for xRequired" />
</node>
</node>
<node concept="3clFbH" id="5bZNdPkcZ2u" role="3cqZAp" />
<node concept="3cpWs8" id="5bZNdPkgmkx" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkgmky" role="3cpWs9">
<property role="TrG5h" value="rulesWithDeclInPremise" />
<node concept="2I9FWS" id="5bZNdPkgMcC" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
</node>
<node concept="3clFbF" id="5bZNdPkgmk_" role="3cqZAp">
<node concept="37vLTI" id="5bZNdPkgmkA" role="3clFbG">
<node concept="2OqwBi" id="5bZNdPkgOA3" role="37vLTx">
<node concept="2OqwBi" id="5bZNdPkgmkB" role="2Oq$k0">
<node concept="2OqwBi" id="5bZNdPkgmkC" role="2Oq$k0">
<node concept="1Q6Npb" id="5bZNdPkgmkD" role="2Oq$k0" />
<node concept="2SmgA7" id="5bZNdPkgmkE" role="2OqNvi">
<node concept="chp4Y" id="5bZNdPkgmkF" role="1dBWTz">
<ref role="cht4Q" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
</node>
<node concept="3zZkjj" id="5bZNdPkgmkG" role="2OqNvi">
<node concept="1bVj0M" id="5bZNdPkgmkH" role="23t8la">
<node concept="3clFbS" id="5bZNdPkgmkI" role="1bW5cS">
<node concept="3clFbF" id="5bZNdPkgtZT" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkgxNf" role="3clFbG">
<node concept="2OqwBi" id="5bZNdPkgucw" role="2Oq$k0">
<node concept="37vLTw" id="5bZNdPkgtZR" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgml6" resolve="it" />
</node>
<node concept="3Tsc0h" id="5bZNdPkguG2" role="2OqNvi">
<ref role="3TtcxE" to="b83y:2_58u12eCWO" resolve="premises" />
</node>
</node>
<node concept="2HwmR7" id="5bZNdPkgz7Q" role="2OqNvi">
<node concept="1bVj0M" id="5bZNdPkgz7S" role="23t8la">
<node concept="3clFbS" id="5bZNdPkgz7T" role="1bW5cS">
<node concept="3clFbJ" id="5bZNdPkgmkJ" role="3cqZAp">
<node concept="3clFbS" id="5bZNdPkgmkK" role="3clFbx">
<node concept="3cpWs6" id="5bZNdPkgmkL" role="3cqZAp">
<node concept="3clFbC" id="5bZNdPkgmkM" role="3cqZAk">
<node concept="2OqwBi" id="5bZNdPkgmkN" role="3uHU7B">
<node concept="1PxgMI" id="5bZNdPkgmkO" role="2Oq$k0">
<node concept="chp4Y" id="5bZNdPkgmkP" role="3oSUPX">
<ref role="cht4Q" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
<node concept="37vLTw" id="5bZNdPkgmkR" role="1m5AlR">
<ref role="3cqZAo" node="5bZNdPkgz7U" resolve="it" />
</node>
</node>
<node concept="2qgKlT" id="5bZNdPkgmkT" role="2OqNvi">
<ref role="37wK5l" to="pgas:iMPJyMM1Nb" resolve="getJudgment" />
</node>
</node>
<node concept="37vLTw" id="5bZNdPkgmkU" role="3uHU7w">
<ref role="3cqZAo" node="4XA4NEmHp$S" resolve="decl" />
</node>
</node>
</node>
</node>
<node concept="9aQIb" id="5bZNdPkgml1" role="9aQIa">
<node concept="3clFbS" id="5bZNdPkgml2" role="9aQI4">
<node concept="3cpWs6" id="5bZNdPkgml3" role="3cqZAp">
<node concept="3clFbT" id="5bZNdPkgml4" role="3cqZAk" />
</node>
</node>
</node>
<node concept="2OqwBi" id="5bZNdPkgA$1" role="3clFbw">
<node concept="37vLTw" id="5bZNdPkgAmi" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgz7U" resolve="it" />
</node>
<node concept="1mIQ4w" id="5bZNdPkgAZk" role="2OqNvi">
<node concept="chp4Y" id="5bZNdPkgBh_" role="cj9EA">
<ref role="cht4Q" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5bZNdPkgz7U" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5bZNdPkgz7V" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5bZNdPkgml6" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5bZNdPkgml7" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="ANE8D" id="5bZNdPkgPev" role="2OqNvi" />
</node>
<node concept="37vLTw" id="5bZNdPkgml8" role="37vLTJ">
<ref role="3cqZAo" node="5bZNdPkgmky" resolve="rulesWithDeclInPremise" />
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPkgG6K" role="3cqZAp" />
<node concept="1DcWWT" id="5bZNdPkgJSd" role="3cqZAp">
<node concept="3clFbS" id="5bZNdPkgJSf" role="2LFqv$">
<node concept="3clFbH" id="5bZNdPkhtjx" role="3cqZAp" />
<node concept="3cpWs8" id="5bZNdPkhZUx" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkhZUy" role="3cpWs9">
<property role="TrG5h" value="declInstances" />
<node concept="A3Dl8" id="5bZNdPkhZTZ" role="1tU5fm">
<node concept="3Tqbb2" id="5bZNdPkhZU2" role="A3Ik2">
<ref role="ehGHo" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
<node concept="2OqwBi" id="5bZNdPkhZUz" role="33vP2m">
<node concept="2OqwBi" id="5bZNdPkhZU$" role="2Oq$k0">
<node concept="37vLTw" id="5bZNdPkhZU_" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgJSg" resolve="rule" />
</node>
<node concept="3Tsc0h" id="5bZNdPkhZUA" role="2OqNvi">
<ref role="3TtcxE" to="b83y:2_58u12eCWO" resolve="premises" />
</node>
</node>
<node concept="3zZkjj" id="5bZNdPkhZUB" role="2OqNvi">
<node concept="1bVj0M" id="5bZNdPkhZUC" role="23t8la">
<node concept="3clFbS" id="5bZNdPkhZUD" role="1bW5cS">
<node concept="3clFbJ" id="5bZNdPkhZUE" role="3cqZAp">
<node concept="3clFbS" id="5bZNdPkhZUF" role="3clFbx">
<node concept="3cpWs6" id="5bZNdPkhZUG" role="3cqZAp">
<node concept="3clFbC" id="5bZNdPkhZUH" role="3cqZAk">
<node concept="2OqwBi" id="5bZNdPkhZUI" role="3uHU7B">
<node concept="1PxgMI" id="5bZNdPkhZUJ" role="2Oq$k0">
<node concept="chp4Y" id="5bZNdPkhZUK" role="3oSUPX">
<ref role="cht4Q" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
<node concept="37vLTw" id="5bZNdPkhZUL" role="1m5AlR">
<ref role="3cqZAo" node="5bZNdPkhZUW" resolve="it" />
</node>
</node>
<node concept="2qgKlT" id="5bZNdPkhZUM" role="2OqNvi">
<ref role="37wK5l" to="pgas:iMPJyMM1Nb" resolve="getJudgment" />
</node>
</node>
<node concept="37vLTw" id="5bZNdPkhZUN" role="3uHU7w">
<ref role="3cqZAo" node="4XA4NEmHp$S" resolve="decl" />
</node>
</node>
</node>
</node>
<node concept="9aQIb" id="5bZNdPkhZUO" role="9aQIa">
<node concept="3clFbS" id="5bZNdPkhZUP" role="9aQI4">
<node concept="3cpWs6" id="5bZNdPkhZUQ" role="3cqZAp">
<node concept="3clFbT" id="5bZNdPkhZUR" role="3cqZAk" />
</node>
</node>
</node>
<node concept="2OqwBi" id="5bZNdPkhZUS" role="3clFbw">
<node concept="37vLTw" id="5bZNdPkhZUT" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkhZUW" resolve="it" />
</node>
<node concept="1mIQ4w" id="5bZNdPkhZUU" role="2OqNvi">
<node concept="chp4Y" id="5bZNdPkhZUV" role="cj9EA">
<ref role="cht4Q" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="5bZNdPkhZUW" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="5bZNdPkhZUX" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPki0I8" role="3cqZAp" />
<node concept="1DcWWT" id="5bZNdPki20U" role="3cqZAp">
<node concept="3clFbS" id="5bZNdPki20W" role="2LFqv$">
<node concept="3SKdUt" id="5bZNdPki6Up" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPki6Ur" role="3SKWNk">
<property role="3SKdUp" value="create conclusion, output is input that is getting eliminated" />
</node>
</node>
<node concept="3SKdUt" id="5bZNdPkr3Xt" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkr3Xv" role="3SKWNk">
<property role="3SKdUp" value="TODO generate fresh names for term to avoid name collision with premises of corresponding rule" />
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkim0o" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkim0r" role="3cpWs9">
<property role="TrG5h" value="arguments" />
<node concept="2I9FWS" id="5bZNdPkim0m" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="2ShNRf" id="5bZNdPkimb$" role="33vP2m">
<node concept="2T8Vx0" id="5bZNdPkimby" role="2ShVmc">
<node concept="2I9FWS" id="5bZNdPkimbz" role="2T96Bj">
<ref role="2I9WkF" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkod13" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkod14" role="3cpWs9">
<property role="TrG5h" value="context" />
<node concept="3Tqbb2" id="5bZNdPkod12" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
<node concept="2pJPEk" id="5bZNdPkod15" role="33vP2m">
<node concept="2pJPED" id="5bZNdPkod16" role="2pJPEn">
<ref role="2pJxaS" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
<node concept="2pJxcG" id="5bZNdPkod17" role="2pJxcM">
<ref role="2pJxcJ" to="tpck:h0TrG11" resolve="name" />
<node concept="Xl_RD" id="5bZNdPkod18" role="2pJxcZ">
<property role="Xl_RC" value="C" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkoeD4" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkoeD5" role="3cpWs9">
<property role="TrG5h" value="term" />
<node concept="3Tqbb2" id="5bZNdPkoeD3" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
<node concept="2pJPEk" id="5bZNdPkoeD6" role="33vP2m">
<node concept="2pJPED" id="5bZNdPkoeD7" role="2pJPEn">
<ref role="2pJxaS" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
<node concept="2pJxcG" id="5bZNdPkoeD8" role="2pJxcM">
<ref role="2pJxcJ" to="tpck:h0TrG11" resolve="name" />
<node concept="Xl_RD" id="5bZNdPkoeD9" role="2pJxcZ">
<property role="Xl_RC" value="t" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPkobLD" role="3cqZAp" />
<node concept="3clFbF" id="5bZNdPkimmO" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkinuy" role="3clFbG">
<node concept="37vLTw" id="5bZNdPkimmM" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkim0r" resolve="arguments" />
</node>
<node concept="TSZUe" id="5bZNdPkioEU" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPkotuW" role="25WWJ7">
<ref role="3cqZAo" node="5bZNdPkod14" resolve="context" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5bZNdPkipoo" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkipop" role="3clFbG">
<node concept="37vLTw" id="5bZNdPkipoq" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkim0r" resolve="arguments" />
</node>
<node concept="TSZUe" id="5bZNdPkipor" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPkotEU" role="25WWJ7">
<ref role="3cqZAo" node="5bZNdPkoeD5" resolve="term" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPki6bR" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPki6bS" role="3cpWs9">
<property role="TrG5h" value="typeSortInstance" />
<node concept="3Tqbb2" id="5bZNdPki6bQ" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="2OqwBi" id="5bZNdPki6bT" role="33vP2m">
<node concept="2OqwBi" id="5bZNdPki6bU" role="2Oq$k0">
<node concept="37vLTw" id="5bZNdPki6bV" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPki20X" resolve="in" />
</node>
<node concept="2qgKlT" id="5bZNdPki6bW" role="2OqNvi">
<ref role="37wK5l" to="pgas:5YqjVV7s$$Q" resolve="getArguments" />
</node>
</node>
<node concept="34jXtK" id="5bZNdPki6bX" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPki6bY" role="25WWJ7">
<ref role="3cqZAo" node="4XA4NEmJsdr" resolve="index" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5bZNdPkipIi" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkiqZa" role="3clFbG">
<node concept="37vLTw" id="5bZNdPkipIg" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkim0r" resolve="arguments" />
</node>
<node concept="TSZUe" id="5bZNdPkiwbn" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPkiwln" role="25WWJ7">
<ref role="3cqZAo" node="5bZNdPki6bS" resolve="typeSortInstance" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkiyHb" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkiyHc" role="3cpWs9">
<property role="TrG5h" value="conclusion" />
<node concept="3Tqbb2" id="5bZNdPkiyGB" role="1tU5fm">
<ref role="ehGHo" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
<node concept="2OqwBi" id="5bZNdPkiyHd" role="33vP2m">
<node concept="37vLTw" id="5bZNdPkmY_a" role="2Oq$k0">
<ref role="3cqZAo" node="677Mj2_JFEN" resolve="xRequiredDeclWithSort" />
</node>
<node concept="2qgKlT" id="5bZNdPkiyHf" role="2OqNvi">
<ref role="37wK5l" to="pgas:5YqjVV7pW7l" resolve="constructInstance" />
<node concept="37vLTw" id="5bZNdPkiyHg" role="37wK5m">
<ref role="3cqZAo" node="5bZNdPkim0r" resolve="arguments" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPkiwT0" role="3cqZAp" />
<node concept="3SKdUt" id="5bZNdPkmWNv" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkmWNx" role="3SKWNk">
<property role="3SKdUp" value="create premises" />
</node>
</node>
<node concept="3cpWs8" id="5bZNdPko4Nm" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPko4Nn" role="3cpWs9">
<property role="TrG5h" value="premises" />
<node concept="2I9FWS" id="5bZNdPko4Nl" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
<node concept="2ShNRf" id="5bZNdPko4No" role="33vP2m">
<node concept="2T8Vx0" id="5bZNdPko4Np" role="2ShVmc">
<node concept="2I9FWS" id="5bZNdPko4Nq" role="2T96Bj">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPko6FV" role="3cqZAp" />
<node concept="3SKdUt" id="5bZNdPkmXSw" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkmXSy" role="3SKWNk">
<property role="3SKdUp" value="first match parent to be term of conclusion of check" />
</node>
</node>
<node concept="3SKdUt" id="5bZNdPkpCpL" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkpCpN" role="3SKWNk">
<property role="3SKdUp" value="TODO how to figure out what to match against (conclusion instance but what argument? user mode?)" />
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkpUhl" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkpUhm" role="3cpWs9">
<property role="TrG5h" value="parentTerm" />
<node concept="2OqwBi" id="5bZNdPkpWni" role="33vP2m">
<node concept="2OqwBi" id="5bZNdPkpUhn" role="2Oq$k0">
<node concept="2OqwBi" id="5bZNdPkpUho" role="2Oq$k0">
<node concept="37vLTw" id="5bZNdPkpUhp" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgJSg" resolve="rule" />
</node>
<node concept="3TrEf2" id="5bZNdPkpUhq" role="2OqNvi">
<ref role="3Tt5mk" to="b83y:2_58u12eCXl" resolve="conclusion" />
</node>
</node>
<node concept="2qgKlT" id="5bZNdPkpUhr" role="2OqNvi">
<ref role="37wK5l" to="pgas:5YqjVV7s$$Q" resolve="getArguments" />
</node>
</node>
<node concept="34jXtK" id="5bZNdPkq04P" role="2OqNvi">
<node concept="3cmrfG" id="5bZNdPkq0d7" role="25WWJ7">
<property role="3cmrfH" value="1" />
</node>
</node>
</node>
<node concept="3Tqbb2" id="5bZNdPkq0YR" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkouGV" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkouGW" role="3cpWs9">
<property role="TrG5h" value="parentCall" />
<node concept="3Tqbb2" id="5bZNdPkouGT" role="1tU5fm">
<ref role="ehGHo" to="b83y:4XA4NEmF81A" resolve="ParentMetaTerm" />
</node>
<node concept="2pJPEk" id="5bZNdPkouGX" role="33vP2m">
<node concept="2pJPED" id="5bZNdPkouGY" role="2pJPEn">
<ref role="2pJxaS" to="b83y:4XA4NEmF81A" resolve="ParentMetaTerm" />
<node concept="2pIpSj" id="5bZNdPkouGZ" role="2pJxcM">
<ref role="2pIpSl" to="b83y:4XA4NEmF81E" resolve="term" />
<node concept="36biLy" id="5bZNdPkouH0" role="2pJxcZ">
<node concept="37vLTw" id="5bZNdPkouH1" role="36biLW">
<ref role="3cqZAo" node="5bZNdPkoeD5" resolve="term" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="5bZNdPkoa8J" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPkoa8K" role="3cpWs9">
<property role="TrG5h" value="matchParentPremise" />
<node concept="3Tqbb2" id="5bZNdPkoa8I" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12t6cc" resolve="JudgmentInstanceEq" />
</node>
<node concept="2pJPEk" id="5bZNdPkoa8L" role="33vP2m">
<node concept="2pJPED" id="5bZNdPkoa8M" role="2pJPEn">
<ref role="2pJxaS" to="b83y:2_58u12t6cc" resolve="JudgmentInstanceEq" />
<node concept="2pIpSj" id="5bZNdPkob6T" role="2pJxcM">
<ref role="2pIpSl" to="b83y:2_58u12uP1Y" resolve="arg1" />
<node concept="36biLy" id="5bZNdPkobdW" role="2pJxcZ">
<node concept="37vLTw" id="5bZNdPkovIB" role="36biLW">
<ref role="3cqZAo" node="5bZNdPkouGW" resolve="parentCall" />
</node>
</node>
</node>
<node concept="2pIpSj" id="5bZNdPkovKx" role="2pJxcM">
<ref role="2pIpSl" to="b83y:2_58u12uP1Z" resolve="arg2" />
<node concept="36biLy" id="5bZNdPko$Uh" role="2pJxcZ">
<node concept="37vLTw" id="5bZNdPkq19X" role="36biLW">
<ref role="3cqZAo" node="5bZNdPkpUhm" resolve="parentTerm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPko94M" role="3cqZAp" />
<node concept="3clFbF" id="5bZNdPkowum" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkoxRE" role="3clFbG">
<node concept="37vLTw" id="5bZNdPkowuk" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPko4Nn" resolve="premises" />
</node>
<node concept="TSZUe" id="5bZNdPko$Be" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPko$Ka" role="25WWJ7">
<ref role="3cqZAo" node="5bZNdPkoa8K" resolve="matchParentPremise" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5bZNdPkr8Qy" role="3cqZAp" />
<node concept="3SKdUt" id="5bZNdPkrarD" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkrarF" role="3SKWNk">
<property role="3SKdUp" value="TODO create program slices that computes output of conclusion" />
</node>
</node>
<node concept="3clFbH" id="5bZNdPkr9oz" role="3cqZAp" />
<node concept="3cpWs8" id="5bZNdPki_lh" role="3cqZAp">
<node concept="3cpWsn" id="5bZNdPki_lk" role="3cpWs9">
<property role="TrG5h" value="xRequiredRule" />
<node concept="3Tqbb2" id="5bZNdPki_lf" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
<node concept="2pJPEk" id="5bZNdPkhtjY" role="33vP2m">
<node concept="2pJPED" id="5bZNdPkhtnC" role="2pJPEn">
<ref role="2pJxaS" to="b83y:2_58u12eCWN" resolve="Rule" />
<node concept="2pJxcG" id="5bZNdPkhtp8" role="2pJxcM">
<ref role="2pJxcJ" to="tpck:h0TrG11" resolve="name" />
<node concept="3cpWs3" id="5bZNdPkhMEp" role="2pJxcZ">
<node concept="3cpWs3" id="5bZNdPkhLPi" role="3uHU7B">
<node concept="2OqwBi" id="5bZNdPkhtOs" role="3uHU7B">
<node concept="37vLTw" id="5bZNdPkhtCZ" role="2Oq$k0">
<ref role="3cqZAo" node="677Mj2_GHJy" resolve="xRequiredDecl" />
</node>
<node concept="3TrcHB" id="5bZNdPkhAy5" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="Xl_RD" id="5bZNdPkhLSi" role="3uHU7w">
<property role="Xl_RC" value=" " />
</node>
</node>
<node concept="2OqwBi" id="5bZNdPkjIgb" role="3uHU7w">
<node concept="37vLTw" id="5bZNdPkjI2o" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgJSg" resolve="rule" />
</node>
<node concept="3TrcHB" id="5bZNdPkjIOT" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="2pIpSj" id="5bZNdPkhPWa" role="2pJxcM">
<ref role="2pIpSl" to="b83y:2_58u12eCWO" resolve="premises" />
<node concept="36biLy" id="5bZNdPkizUx" role="2pJxcZ">
<node concept="37vLTw" id="5bZNdPko5KF" role="36biLW">
<ref role="3cqZAo" node="5bZNdPko4Nn" resolve="premises" />
</node>
</node>
</node>
<node concept="2pIpSj" id="5bZNdPkhQPe" role="2pJxcM">
<ref role="2pIpSl" to="b83y:2_58u12eCXl" resolve="conclusion" />
<node concept="36biLy" id="5bZNdPkizSL" role="2pJxcZ">
<node concept="37vLTw" id="5bZNdPklUMC" role="36biLW">
<ref role="3cqZAo" node="5bZNdPkiyHc" resolve="conclusion" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5bZNdPkiEuc" role="3cqZAp">
<node concept="2OqwBi" id="5bZNdPkiETy" role="3clFbG">
<node concept="37vLTw" id="5bZNdPkiEua" role="2Oq$k0">
<ref role="3cqZAo" node="5bZNdPkgJSg" resolve="rule" />
</node>
<node concept="HtI8k" id="5bZNdPkiFve" role="2OqNvi">
<node concept="37vLTw" id="5bZNdPkiFvU" role="HtI8F">
<ref role="3cqZAo" node="5bZNdPki_lk" resolve="xRequiredRule" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWsn" id="5bZNdPki20X" role="1Duv9x">
<property role="TrG5h" value="in" />
<node concept="3Tqbb2" id="5bZNdPki2pN" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
<node concept="37vLTw" id="5bZNdPki2LU" role="1DdaDG">
<ref role="3cqZAo" node="5bZNdPkhZUy" resolve="declInstances" />
</node>
</node>
</node>
<node concept="3cpWsn" id="5bZNdPkgJSg" role="1Duv9x">
<property role="TrG5h" value="rule" />
<node concept="3Tqbb2" id="5bZNdPkhfgR" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
<node concept="37vLTw" id="5bZNdPkhgCd" role="1DdaDG">
<ref role="3cqZAo" node="5bZNdPkgmky" resolve="rulesWithDeclInPremise" />
</node>
</node>
<node concept="3clFbH" id="5bZNdPkhkch" role="3cqZAp" />
<node concept="3clFbH" id="5bZNdPkg6At" role="3cqZAp" />
<node concept="3SKdUt" id="5bZNdPkrAOZ" role="3cqZAp">
<node concept="3SKdUq" id="5bZNdPkrAP1" role="3SKWNk">
<property role="3SKdUp" value="at last replace declaration and instances of declaration" />
</node>
</node>
<node concept="3clFbF" id="2BsPEhwiZoo" role="3cqZAp"></