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());
32 RuleIntroduction implIntro=new RuleIntroduction("⇒i",10);
33 Node ImplN=new Node(rightF);
34 List<Formula> implHP=new ArrayList<Formula>();
36 ImplN.addHPFormula(implHP,true);
37 Node thisNode=new Node(this);
38 thisNode.addChild(ImplN);
39 implIntro.tempRule=thisNode;
43 public List<EliminationRule> EliminationRules()
45 List<EliminationRule> nodes=new ArrayList<EliminationRule>();
46 nodes.add(new RuleImplElimination(this));
50 public boolean Fill(Formula Filler) {
51 if(leftF.toString().equals("_")) {
55 else if(rightF.toString().equals("_")) {
59 return leftF.Fill(Filler) || rightF.Fill(Filler);
63 public boolean setCursor() {
64 return leftF.setCursor() || rightF.setCursor();
68 public Formula duplicate() {
69 return new FormulaImpl(leftF.duplicate(),rightF.duplicate());