1 package com.example.furt.myapplication;
3 import java.util.ArrayList;
6 public class FormulaImpl extends GenericFormula implements Formula
12 FormulaImpl(Formula F1,Formula F2)
21 public String Draw(int p)
24 return leftF.Draw(leftPriority)+"⇒"+rightF.Draw(rightPriority);
26 return("(")+leftF.Draw(leftPriority)+"⇒"+rightF.Draw(rightPriority)+")";
29 public List<IntroductionRule> introductionRules(){
30 List<IntroductionRule> nodes=new ArrayList<IntroductionRule>();
31 nodes.addAll(super.introductionRules()); //aggiunge la regola di R.A.A.
33 //Regola di introduzione dell'implicazione
35 RuleIntroduction implIntro=new RuleIntroduction("⇒i",10);
36 Node ImplN=new Node(rightF);
37 List<Formula> implHP=new ArrayList<Formula>();
39 ImplN.addHPFormula(implHP,true);
40 Node thisNode=new Node(this);
41 thisNode.addChild(ImplN);
42 implIntro.tempRule=thisNode;
47 public List<EliminationRule> EliminationRules()
49 List<EliminationRule> nodes=new ArrayList<EliminationRule>();
50 nodes.add(new RuleImplElimination(this));
54 public boolean Fill(Formula Filler) {
55 if(leftF.toString().equals("_")) {
59 else if(rightF.toString().equals("_")) {
63 return leftF.Fill(Filler) || rightF.Fill(Filler);
67 public boolean setCursor() {
68 return leftF.setCursor() || rightF.setCursor();
72 public Formula duplicate() {
73 return new FormulaImpl(leftF.duplicate(),rightF.duplicate());