1 package com.example.furt.myapplication;
4 import java.util.ArrayList;
7 public class FormulaOr extends GenericFormula implements Formula
13 FormulaOr(Formula F1,Formula F2)
23 public String Draw(int p)
26 return leftF.Draw(leftPriority)+"∨"+rightF.Draw(rightPriority);
28 return("(")+leftF.Draw(leftPriority)+"∨"+rightF.Draw(rightPriority)+")";
31 public List<IntroductionRule> introductionRules(){
32 List<IntroductionRule> nodes=new ArrayList<IntroductionRule>();
33 nodes.addAll(super.introductionRules()); //eredita la R.A.A.
35 //Introduzione sinistra dell'or
36 RuleIntroduction orIntroductionLeft=new RuleIntroduction("∨i(L)",6);
37 Node orLeft=new Node(leftF);
38 Node thisNodeL=new Node(this);
39 thisNodeL.addChild(orLeft);
40 orIntroductionLeft.tempRule=thisNodeL;
41 nodes.add(orIntroductionLeft);
43 //Introduzione destra dell'or
44 RuleIntroduction orIntroductionRight=new RuleIntroduction("∨i(R)",5);
45 Node orRight=new Node(rightF);
46 Node thisNodeR=new Node(this);
47 thisNodeR.addChild(orRight);
48 orIntroductionRight.tempRule=thisNodeR;
49 nodes.add(orIntroductionRight);
54 public List<EliminationRule> EliminationRules()
56 List<EliminationRule> nodes=new ArrayList<EliminationRule>();
57 nodes.add(new RuleOrElimination(this));
62 public boolean Fill(Formula Filler) {
63 if(leftF.toString().equals("_")) {
67 else if(rightF.toString().equals("_")) {
71 return leftF.Fill(Filler) || rightF.Fill(Filler);
75 public boolean setCursor() {
76 return leftF.setCursor() || rightF.setCursor();
80 public Formula duplicate() {
81 return new FormulaOr(leftF.duplicate(),rightF.duplicate());