Commit 7efc06e0 authored by André Pacak's avatar André Pacak

fixup util class for computing program slice

parent 366244cf
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:6c771c8d-9cb2-4fab-8275-d58f36a74b25(TypeLang.generator.util)">
<persistence version="9" />
<languages>
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="8" />
<devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" />
</languages>
<imports>
<import index="b83y" ref="r:63340c72-1a1f-4a8d-acb4-c73b4c9c590a(TypeLang.structure)" />
<import index="pgas" ref="r:c75f6d0a-e344-4076-8a9a-431398544fab(TypeLang.behavior)" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<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="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
<child id="1154032183016" name="body" index="2LFqv$" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<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="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<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="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu" />
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123159" name="jetbrains.mps.baseLanguage.structure.IfStatement" flags="nn" index="3clFbJ">
<child id="1068580123160" name="condition" index="3clFbw" />
<child id="1068580123161" name="ifTrue" index="3clFbx" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
<property id="1068580123138" name="value" index="3clFbU" />
</concept>
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<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>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<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="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<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="5497648299878491908" name="jetbrains.mps.baseLanguage.structure.BaseVariableReference" flags="nn" index="1M0zk4">
<reference id="5497648299878491909" name="baseVariableDeclaration" index="1M0zk5" />
</concept>
<concept id="6329021646629104957" name="jetbrains.mps.baseLanguage.structure.TextCommentPart" flags="nn" index="3SKdUq">
<property id="6329021646629104958" name="text" index="3SKdUp" />
</concept>
<concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
<child id="6329021646629175155" name="commentPart" index="3SKWNk" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
<concept id="1883223317721008708" name="jetbrains.mps.lang.smodel.structure.IfInstanceOfStatement" flags="nn" index="Jncv_">
<reference id="1883223317721008712" name="nodeConcept" index="JncvD" />
<child id="1883223317721008709" name="body" index="Jncv$" />
<child id="1883223317721008711" name="variable" index="JncvA" />
<child id="1883223317721008710" name="nodeExpression" index="JncvB" />
</concept>
<concept id="1883223317721008713" name="jetbrains.mps.lang.smodel.structure.IfInstanceOfVariable" flags="ng" index="JncvC" />
<concept id="1883223317721107059" name="jetbrains.mps.lang.smodel.structure.IfInstanceOfVarReference" flags="nn" index="Jnkvi" />
<concept id="1145567426890" name="jetbrains.mps.lang.smodel.structure.SNodeListCreator" flags="nn" index="2T8Vx0">
<child id="1145567471833" name="createdType" index="2T96Bj" />
</concept>
<concept id="1144146199828" name="jetbrains.mps.lang.smodel.structure.Node_CopyOperation" flags="nn" index="1$rogu" />
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2">
<reference id="1138405853777" name="concept" index="ehGHo" />
</concept>
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
<child id="540871147943773366" name="argument" index="25WWJ7" />
</concept>
<concept id="1226511727824" name="jetbrains.mps.baseLanguage.collections.structure.SetType" flags="in" index="2hMVRd">
<child id="1226511765987" name="elementType" index="2hN53Y" />
</concept>
<concept id="1226516258405" name="jetbrains.mps.baseLanguage.collections.structure.HashSetCreator" flags="nn" index="2i4dXS" />
<concept id="1151688443754" name="jetbrains.mps.baseLanguage.collections.structure.ListType" flags="in" index="_YKpA">
<child id="1151688676805" name="elementType" index="_ZDj9" />
</concept>
<concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
<concept id="1153943597977" name="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" flags="nn" index="2Gpval">
<child id="1153944400369" name="variable" index="2Gsz3X" />
<child id="1153944424730" name="inputSequence" index="2GsD0m" />
</concept>
<concept id="1153944193378" name="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" flags="nr" index="2GrKxI" />
<concept id="1153944233411" name="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" flags="nn" index="2GrUjf">
<reference id="1153944258490" name="variable" index="2Gs0qQ" />
</concept>
<concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
<child id="1237721435807" name="elementType" index="HW$YZ" />
</concept>
<concept id="1227022159410" name="jetbrains.mps.baseLanguage.collections.structure.AddFirstElementOperation" flags="nn" index="2Ke4WJ" />
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
<concept id="1160666733551" name="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" flags="nn" index="X8dFx" />
<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="1175845471038" name="jetbrains.mps.baseLanguage.collections.structure.ReverseOperation" flags="nn" index="35Qw8J" />
</language>
</registry>
<node concept="312cEu" id="2groWwY4mAJ">
<property role="TrG5h" value="ProgramSliceGenerator" />
<node concept="3Tm1VV" id="2groWwY4mAK" role="1B3o_S" />
<node concept="2tJIrI" id="2groWwYadzl" role="jymVt" />
<node concept="2YIFZL" id="2groWwY4mJ_" role="jymVt">
<property role="TrG5h" value="computeSlice" />
<node concept="3clFbS" id="2groWwY4mJA" role="3clF47">
<node concept="3SKdUt" id="2groWwY4aHb" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4aHd" role="3SKWNk">
<property role="3SKdUp" value="Set of values that are referenced (REF)" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY4gOR" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4gOT" role="3SKWNk">
<property role="3SKdUp" value="PREMISES" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY4b_f" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4b_h" role="3SKWNk">
<property role="3SKdUp" value="Collected computations (COMP)" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY42T8" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY42Ta" role="3SKWNk">
<property role="3SKdUp" value="func: (REF,COMP, PREMISES) =&gt; (COMP, REF)" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY453o" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4eBq" role="3SKWNk">
<property role="3SKdUp" value="for each x in Ref:" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY4f4i" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4f4k" role="3SKWNk">
<property role="3SKdUp" value="search premises.head for computation that has x as output =&gt; insert computation c to COMP" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY4j2T" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4j2V" role="3SKWNk">
<property role="3SKdUp" value="insert inputs of c to REF" />
</node>
</node>
<node concept="3SKdUt" id="2groWwY4kOe" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4kOg" role="3SKWNk">
<property role="3SKdUp" value="call func(REF', COMP', PREMISES.tail)" />
</node>
</node>
<node concept="3clFbH" id="2groWwY4lh4" role="3cqZAp" />
<node concept="3SKdUt" id="2groWwY4m9K" role="3cqZAp">
<node concept="3SKdUq" id="2groWwY4m9M" role="3SKWNk">
<property role="3SKdUp" value="PRECONDITION: every input of computation in premise is output of computation of previous premise or input of conclusion" />
</node>
</node>
<node concept="Jncv_" id="2groWwYky0F" role="3cqZAp">
<ref role="JncvD" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
<node concept="37vLTw" id="2groWwYkzVt" role="JncvB">
<ref role="3cqZAo" node="2groWwY4ntU" resolve="criteria" />
</node>
<node concept="3clFbS" id="2groWwYky0J" role="Jncv$">
<node concept="3cpWs8" id="2groWwY9dhs" role="3cqZAp">
<node concept="3cpWsn" id="2groWwY9dht" role="3cpWs9">
<property role="TrG5h" value="collected" />
<node concept="2ShNRf" id="2groWwY9dhw" role="33vP2m">
<node concept="2T8Vx0" id="3DmllL5pQPa" role="2ShVmc">
<node concept="2I9FWS" id="3DmllL5pQPc" role="2T96Bj">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
</node>
<node concept="2I9FWS" id="3DmllL5pMsh" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
</node>
<node concept="3cpWs8" id="2groWwY9k_B" role="3cqZAp">
<node concept="3cpWsn" id="2groWwY9k_E" role="3cpWs9">
<property role="TrG5h" value="variables" />
<node concept="2hMVRd" id="2groWwY9k_z" role="1tU5fm">
<node concept="3Tqbb2" id="2groWwY9l8F" role="2hN53Y">
<ref role="ehGHo" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
</node>
<node concept="2ShNRf" id="2groWwY9lmT" role="33vP2m">
<node concept="2i4dXS" id="2groWwY9llx" role="2ShVmc">
<node concept="3Tqbb2" id="2groWwY9lly" role="HW$YZ">
<ref role="ehGHo" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2groWwY9Egy" role="3cqZAp">
<node concept="2OqwBi" id="2groWwY9Fjr" role="3clFbG">
<node concept="37vLTw" id="2groWwY9Egw" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9k_E" resolve="variables" />
</node>
<node concept="TSZUe" id="2groWwY9Idp" role="2OqNvi">
<node concept="Jnkvi" id="2groWwYkEOp" role="25WWJ7">
<ref role="1M0zk5" node="2groWwYky0L" resolve="criteriavar" />
</node>
</node>
</node>
</node>
<node concept="2Gpval" id="2groWwY9tre" role="3cqZAp">
<node concept="2GrKxI" id="2groWwY9trg" role="2Gsz3X">
<property role="TrG5h" value="premise" />
</node>
<node concept="2OqwBi" id="2groWwY9xo_" role="2GsD0m">
<node concept="37vLTw" id="2groWwY9uqh" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY4mJR" resolve="premises" />
</node>
<node concept="35Qw8J" id="2groWwY9zID" role="2OqNvi" />
</node>
<node concept="3clFbS" id="2groWwY9trk" role="2LFqv$">
<node concept="Jncv_" id="2groWwY9_CM" role="3cqZAp">
<ref role="JncvD" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
<node concept="2GrUjf" id="2groWwY9A6N" role="JncvB">
<ref role="2Gs0qQ" node="2groWwY9trg" resolve="premise" />
</node>
<node concept="3clFbS" id="2groWwY9_CQ" role="Jncv$">
<node concept="2Gpval" id="2groWwY9Jjg" role="3cqZAp">
<node concept="2GrKxI" id="2groWwY9Jji" role="2Gsz3X">
<property role="TrG5h" value="var" />
</node>
<node concept="37vLTw" id="2groWwY9J$g" role="2GsD0m">
<ref role="3cqZAo" node="2groWwY9k_E" resolve="variables" />
</node>
<node concept="3clFbS" id="2groWwY9Jjm" role="2LFqv$">
<node concept="3clFbJ" id="2groWwY9K3n" role="3cqZAp">
<node concept="3clFbS" id="2groWwY9K3p" role="3clFbx">
<node concept="3cpWs8" id="2groWwYa54p" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYa54q" role="3cpWs9">
<property role="TrG5h" value="inputs" />
<node concept="2I9FWS" id="2groWwYa53O" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
<node concept="1rXfSq" id="2groWwYa54r" role="33vP2m">
<ref role="37wK5l" node="2groWwY9W7P" resolve="inputMetaVarsOfComputation" />
<node concept="Jnkvi" id="2groWwYa54s" role="37wK5m">
<ref role="1M0zk5" node="2groWwY9_CS" resolve="premisewd" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2groWwYa6$4" role="3cqZAp">
<node concept="2OqwBi" id="2groWwYa7wC" role="3clFbG">
<node concept="37vLTw" id="2groWwYa6$2" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9k_E" resolve="variables" />
</node>
<node concept="X8dFx" id="2groWwYa83N" role="2OqNvi">
<node concept="37vLTw" id="2groWwYa8aU" role="25WWJ7">
<ref role="3cqZAo" node="2groWwYa54q" resolve="inputs" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="2groWwY9K72" role="3cqZAp">
<node concept="2OqwBi" id="3DmllL5pJW7" role="3clFbG">
<node concept="37vLTw" id="3DmllL5pJ8e" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9dht" resolve="collected" />
</node>
<node concept="2Ke4WJ" id="3DmllL5pXkX" role="2OqNvi">
<node concept="2OqwBi" id="3DmllL5rviQ" role="25WWJ7">
<node concept="Jnkvi" id="3DmllL5pYfw" role="2Oq$k0">
<ref role="1M0zk5" node="2groWwY9_CS" resolve="premisewd" />
</node>
<node concept="1$rogu" id="3DmllL5rxPb" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="1rXfSq" id="2groWwY9Tya" role="3clFbw">
<ref role="37wK5l" node="2groWwY9D7e" resolve="isVarInOutput" />
<node concept="2GrUjf" id="2groWwY9TGJ" role="37wK5m">
<ref role="2Gs0qQ" node="2groWwY9Jji" resolve="var" />
</node>
<node concept="Jnkvi" id="2groWwY9TY5" role="37wK5m">
<ref role="1M0zk5" node="2groWwY9_CS" resolve="premisewd" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="JncvC" id="2groWwY9_CS" role="JncvA">
<property role="TrG5h" value="premisewd" />
<node concept="2jxLKc" id="2groWwY9_CT" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="2groWwY9YVo" role="3cqZAp">
<node concept="2OqwBi" id="2groWwYa1bF" role="3cqZAk">
<node concept="37vLTw" id="2groWwYa001" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9dht" resolve="collected" />
</node>
<node concept="ANE8D" id="2groWwYa4bw" role="2OqNvi" />
</node>
</node>
</node>
<node concept="JncvC" id="2groWwYky0L" role="JncvA">
<property role="TrG5h" value="criteriavar" />
<node concept="2jxLKc" id="2groWwYky0M" role="1tU5fm" />
</node>
</node>
<node concept="3cpWs6" id="2groWwYkEbP" role="3cqZAp">
<node concept="2ShNRf" id="2groWwYkF8Z" role="3cqZAk">
<node concept="2T8Vx0" id="2groWwYkF8k" role="2ShVmc">
<node concept="2I9FWS" id="2groWwYkF8l" role="2T96Bj">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="2groWwY4mJN" role="1B3o_S" />
<node concept="2I9FWS" id="2groWwY4mNW" role="3clF45">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
<node concept="37vLTG" id="2groWwY4mJR" role="3clF46">
<property role="TrG5h" value="premises" />
<node concept="2I9FWS" id="2groWwY4mJS" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
<node concept="37vLTG" id="2groWwY4ntU" role="3clF46">
<property role="TrG5h" value="criteria" />
<node concept="3Tqbb2" id="2groWwY4nuF" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
</node>
</node>
<node concept="2tJIrI" id="2groWwY4nz6" role="jymVt" />
<node concept="2YIFZL" id="2groWwY9D7e" role="jymVt">
<property role="TrG5h" value="isVarInOutput" />
<node concept="3clFbS" id="2groWwY9D7h" role="3clF47">
<node concept="3cpWs8" id="2groWwYasVS" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYasVT" role="3cpWs9">
<property role="TrG5h" value="arguments" />
<node concept="_YKpA" id="2groWwYasVN" role="1tU5fm">
<node concept="3Tqbb2" id="2groWwYasVQ" role="_ZDj9">
<ref role="ehGHo" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
</node>
<node concept="2OqwBi" id="2groWwYasVU" role="33vP2m">
<node concept="37vLTw" id="2groWwYasVV" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9RWA" resolve="computation" />
</node>
<node concept="2qgKlT" id="2groWwYasVW" role="2OqNvi">
<ref role="37wK5l" to="pgas:5YqjVV7s$$Q" resolve="getArguments" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="2groWwYatgH" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYatgI" role="3cpWs9">
<property role="TrG5h" value="judgment" />
<node concept="3Tqbb2" id="2groWwYatgD" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
<node concept="2OqwBi" id="2groWwYatgJ" role="33vP2m">
<node concept="37vLTw" id="2groWwYatgK" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9RWA" resolve="computation" />
</node>
<node concept="2qgKlT" id="2groWwYatgL" role="2OqNvi">
<ref role="37wK5l" to="pgas:iMPJyMM1Nb" resolve="getJudgment" />
</node>
</node>
</node>
</node>
<node concept="1Dw8fO" id="2groWwYarkj" role="3cqZAp">
<node concept="3clFbS" id="2groWwYarkl" role="2LFqv$">
<node concept="3cpWs8" id="2groWwYmZeJ" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYmZeK" role="3cpWs9">
<property role="TrG5h" value="arg" />
<node concept="3Tqbb2" id="2groWwYmZeu" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="2OqwBi" id="2groWwYmZeL" role="33vP2m">
<node concept="37vLTw" id="2groWwYmZeM" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwYasVT" resolve="arguments" />
</node>
<node concept="34jXtK" id="2groWwYmZeN" role="2OqNvi">
<node concept="37vLTw" id="2groWwYmZeO" role="25WWJ7">
<ref role="3cqZAo" node="2groWwYarkm" resolve="i" />
</node>
</node>
</node>
</node>
</node>
<node concept="Jncv_" id="2groWwYqcSN" role="3cqZAp">
<ref role="JncvD" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
<node concept="37vLTw" id="2groWwYqeiL" role="JncvB">
<ref role="3cqZAo" node="2groWwYmZeK" resolve="arg" />
</node>
<node concept="3clFbS" id="2groWwYqcSR" role="Jncv$">
<node concept="3clFbJ" id="2groWwYaTRp" role="3cqZAp">
<node concept="3clFbS" id="2groWwYaTRr" role="3clFbx">
<node concept="3cpWs8" id="2groWwYmPQT" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYmPQU" role="3cpWs9">
<property role="TrG5h" value="sort" />
<node concept="3Tqbb2" id="2groWwYmPQS" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12cYwo" resolve="Sort" />
</node>
<node concept="2OqwBi" id="2groWwYmPQV" role="33vP2m">
<node concept="2OqwBi" id="2groWwYmPQW" role="2Oq$k0">
<node concept="37vLTw" id="2groWwYmPQX" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwYatgI" resolve="judgment" />
</node>
<node concept="2qgKlT" id="2groWwYmPQY" role="2OqNvi">
<ref role="37wK5l" to="pgas:4XA4NEmGQRd" resolve="getSorts" />
</node>
</node>
<node concept="34jXtK" id="2groWwYmPQZ" role="2OqNvi">
<node concept="37vLTw" id="2groWwYmPR0" role="25WWJ7">
<ref role="3cqZAo" node="2groWwYarkm" resolve="i" />
</node>
</node>
</node>
</node>
</node>
<node concept="Jncv_" id="2groWwYbrtM" role="3cqZAp">
<ref role="JncvD" to="b83y:2_58u12cYDp" resolve="SortOutputMode" />
<node concept="3clFbS" id="2groWwYbrtO" role="Jncv$">
<node concept="3cpWs6" id="2groWwYbzs$" role="3cqZAp">
<node concept="3clFbT" id="2groWwYb$Iw" role="3cqZAk">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
<node concept="JncvC" id="2groWwYbrtP" role="JncvA">
<property role="TrG5h" value="_" />
<node concept="2jxLKc" id="2groWwYbrtQ" role="1tU5fm" />
</node>
<node concept="2OqwBi" id="2groWwYo4sb" role="JncvB">
<node concept="37vLTw" id="2groWwYmS9i" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwYmPQU" resolve="sort" />
</node>
<node concept="3TrEf2" id="2groWwYo6qz" role="2OqNvi">
<ref role="3Tt5mk" to="b83y:2_58u12cYDi" resolve="mode" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="2groWwYrpNu" role="3clFbw">
<node concept="2OqwBi" id="2groWwYqtQT" role="2Oq$k0">
<node concept="Jnkvi" id="2groWwYqrOM" role="2Oq$k0">
<ref role="1M0zk5" node="2groWwYqcST" resolve="argmetavar" />
</node>
<node concept="3TrcHB" id="2groWwYqS88" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="liA8E" id="2groWwYrseS" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="2OqwBi" id="2groWwYrsCW" role="37wK5m">
<node concept="37vLTw" id="2groWwYrsgm" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9Rus" resolve="var" />
</node>
<node concept="3TrcHB" id="2groWwYrt2k" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="JncvC" id="2groWwYqcST" role="JncvA">
<property role="TrG5h" value="argmetavar" />
<node concept="2jxLKc" id="2groWwYqcSU" role="1tU5fm" />
</node>
</node>
</node>
<node concept="3cpWsn" id="2groWwYarkm" role="1Duv9x">
<property role="TrG5h" value="i" />
<node concept="10Oyi0" id="2groWwYasSZ" role="1tU5fm" />
<node concept="3cmrfG" id="2groWwYasUW" role="33vP2m">
<property role="3cmrfH" value="0" />
</node>
</node>
<node concept="3eOVzh" id="2groWwYaJ1Q" role="1Dwp0S">
<node concept="37vLTw" id="2groWwYaJoo" role="3uHU7B">
<ref role="3cqZAo" node="2groWwYarkm" resolve="i" />
</node>
<node concept="2OqwBi" id="2groWwYayN6" role="3uHU7w">
<node concept="37vLTw" id="2groWwYaxqu" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwYasVT" resolve="arguments" />
</node>
<node concept="34oBXx" id="2groWwYaB9E" role="2OqNvi" />
</node>
</node>
<node concept="3uNrnE" id="2groWwYaCb1" role="1Dwrff">
<node concept="37vLTw" id="2groWwYaCb3" role="2$L3a6">
<ref role="3cqZAo" node="2groWwYarkm" resolve="i" />
</node>
</node>
</node>
<node concept="3cpWs6" id="2groWwYb_Es" role="3cqZAp">
<node concept="3clFbT" id="2groWwYaFct" role="3cqZAk" />
</node>
</node>
<node concept="3Tm6S6" id="2groWwY9CFU" role="1B3o_S" />
<node concept="10P_77" id="2groWwY9SXx" role="3clF45" />
<node concept="37vLTG" id="2groWwY9Rus" role="3clF46">
<property role="TrG5h" value="var" />
<node concept="3Tqbb2" id="2groWwY9RHl" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
</node>
<node concept="37vLTG" id="2groWwY9RWA" role="3clF46">
<property role="TrG5h" value="computation" />
<node concept="3Tqbb2" id="2groWwY9S4v" role="1tU5fm">
<ref role="ehGHo" to="b83y:677Mj2_ELav" resolve="JudgmentInstanceWithDeclaration" />
</node>
</node>
</node>
<node concept="2tJIrI" id="2groWwY9UR3" role="jymVt" />
<node concept="2YIFZL" id="2groWwY9W7P" role="jymVt">
<property role="TrG5h" value="inputMetaVarsOfComputation" />
<node concept="3clFbS" id="2groWwY9W7S" role="3clF47">
<node concept="3cpWs8" id="2groWwYbKS3" role="3cqZAp">
<node concept="3cpWsn" id="2groWwYbKS6" role="3cpWs9">
<property role="TrG5h" value="inputvars" />
<node concept="2I9FWS" id="2groWwYbKS1" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
<node concept="2ShNRf" id="2groWwYbMuB" role="33vP2m">
<node concept="2T8Vx0" id="2groWwYbMtW" role="2ShVmc">
<node concept="2I9FWS" id="2groWwYbMtX" role="2T96Bj">
<ref role="2I9WkF" to="b83y:2_58u12eCXq" resolve="MetaVariable" />
</node>
</node>
</node>
</node>
</node>
<node concept="1Dw8fO" id="2groWwYcCka" role="3cqZAp">
<node concept="3clFbS" id="2groWwYcCkc" role="2LFqv$">
<node concept="Jncv_" id="2groWwYcTD2" role="3cqZAp">
<ref role="JncvD" to="b83y:2_58u12cYDo" resolve="SortInputMode" />
<node concept="2OqwBi" id="2groWwYd1vD" role="JncvB">
<node concept="2OqwBi" id="2groWwYcWFE" role="2Oq$k0">
<node concept="2OqwBi" id="2groWwYcUBJ" role="2Oq$k0">
<node concept="2OqwBi" id="2groWwYcTRC" role="2Oq$k0">
<node concept="37vLTw" id="2groWwYcTEX" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwY9X5_" resolve="computation" />
</node>
<node concept="2qgKlT" id="2groWwYcUo4" role="2OqNvi">
<ref role="37wK5l" to="pgas:iMPJyMM1Nb" resolve="getJudgment" />
</node>
</node>
<node concept="2qgKlT" id="2groWwYcUX6" role="2OqNvi">
<ref role="37wK5l" to="pgas:4XA4NEmGQRd" resolve="getSorts" />
</node>
</node>
<node concept="34jXtK" id="2groWwYd0xm" role="2OqNvi">
<node concept="37vLTw" id="2groWwYd1ec" role="25WWJ7">
<ref role="3cqZAo" node="2groWwYcCkd" resolve="i" />
</node>
</node>
</node>
<node concept="3TrEf2" id="2groWwYd1TM" role="2OqNvi">
<ref role="3Tt5mk" to="b83y:2_58u12cYDi" resolve="mode" />
</node>
</node>
<node concept="3clFbS" id="2groWwYcTD4" role="Jncv$">
<node concept="3clFbF" id="2groWwYbVhV" role="3cqZAp">
<node concept="2OqwBi" id="2groWwYbX44" role="3clFbG">
<node concept="37vLTw" id="2groWwYbVhU" role="2Oq$k0">
<ref role="3cqZAo" node="2groWwYbKS6" resolve="inputvars" />
</node>
<node concept="X8dFx" id="2groWwYc0eh" role="2OqNvi">
<node concept="2OqwBi" id="2groWwYdfyQ" role="25WWJ7">