]> matita.cs.unibo.it Git - logicplayer.git/blobdiff - mainActivity/src/com/example/furt/myapplication/RuleAndElimination.java
New version (to be tested).
[logicplayer.git] / mainActivity / src / com / example / furt / myapplication / RuleAndElimination.java
index 5b2c5d4e2e86572a81c4062fc659d881aa8dfaf6..5970a86f07528beff711d7f800cae4507bf660ec 100755 (executable)
@@ -2,13 +2,10 @@ package com.example.furt.myapplication;
 
 import java.util.ArrayList;
 import java.util.List;
+
 public class RuleAndElimination implements EliminationRule
 {
     String ruleName;
-    public String getName()
-    {
-        return ruleName;
-    }
     FormulaAnd Fn;
     RuleAndElimination(FormulaAnd F){
         Fn=F;
@@ -17,14 +14,15 @@ public class RuleAndElimination implements EliminationRule
     public Node createNodes(Formula F,askFormula ask)
     {
             Formula C;
-            if (F==null)
+            if (F==null) //applicazione Top-Down: chiamo la callback
                 C=ask.Ask();
             else
-                C=F;
+                C=F; //applicazione bottom-up: il nuovo nodo รจ la formula F passata
             Node cNode=new Node(C);
-            if ((C.toString().equals(Fn.leftF.toString())) || (C.toString().equals(Fn.rightF.toString()))) //I can return leftAnd rule or rightAnd rule
+            if ((C.toString().equals(Fn.leftF.toString())) || (C.toString().equals(Fn.rightF.toString()))) //Posso utilizzare le regole di eliminazione sinistra o destra
             {
                 cNode.addChild(new Node(Fn));
+                cNode.ruleName=ruleName;
                 return cNode;
             }
             Node elNode=new Node(Fn);