]> matita.cs.unibo.it Git - logicplayer.git/blob - mainActivity/src/com/example/furt/myapplication/RuleAndElimination.java
5b2c5d4e2e86572a81c4062fc659d881aa8dfaf6
[logicplayer.git] / mainActivity / src / com / example / furt / myapplication / RuleAndElimination.java
1 package com.example.furt.myapplication;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 public class RuleAndElimination implements EliminationRule
6 {
7     String ruleName;
8     public String getName()
9     {
10         return ruleName;
11     }
12     FormulaAnd Fn;
13     RuleAndElimination(FormulaAnd F){
14         Fn=F;
15         ruleName="∧e";
16     }
17     public Node createNodes(Formula F,askFormula ask)
18     {
19             Formula C;
20             if (F==null)
21                 C=ask.Ask();
22             else
23                 C=F;
24             Node cNode=new Node(C);
25             if ((C.toString().equals(Fn.leftF.toString())) || (C.toString().equals(Fn.rightF.toString()))) //I can return leftAnd rule or rightAnd rule
26             {
27                 cNode.addChild(new Node(Fn));
28                 return cNode;
29             }
30             Node elNode=new Node(Fn);
31             List<Formula> HP=new ArrayList<Formula>();
32             HP.add(Fn.leftF);
33             HP.add(Fn.rightF);
34             cNode.addHPFormula(HP,true);
35             Node rNode=new Node(C);
36             rNode.addChild(elNode);
37             rNode.addChild(cNode);
38             rNode.ruleName=ruleName;
39             return rNode;
40     }
41 }
42
43