use of org.logicng.formulas.CTrue in project ITSTools by lip6.
the class GalToLogicNG method toGal.
private BooleanExpression toGal(Formula f) {
if (f instanceof Variable) {
Variable v = (Variable) f;
return EcoreUtil.copy(map.get(v.name()));
} else if (f instanceof org.logicng.formulas.Or) {
org.logicng.formulas.Or or = (org.logicng.formulas.Or) f;
BooleanExpression res = GalFactory.eINSTANCE.createFalse();
for (Formula elt : or) {
res = GF2.or(res, toGal(elt));
}
return res;
} else if (f instanceof org.logicng.formulas.And) {
org.logicng.formulas.And and = (org.logicng.formulas.And) f;
BooleanExpression res = GalFactory.eINSTANCE.createTrue();
for (Formula elt : and) {
res = GF2.and(res, toGal(elt));
}
return res;
} else if (f instanceof Literal) {
Literal l = (Literal) f;
return GF2.not(toGal(l.variable()));
} else if (f instanceof org.logicng.formulas.Not) {
org.logicng.formulas.Not l = (org.logicng.formulas.Not) f;
return GF2.not(toGal(l.operand()));
} else if (f instanceof CFalse) {
return GalFactory.eINSTANCE.createFalse();
} else if (f instanceof CTrue) {
return GalFactory.eINSTANCE.createTrue();
} else {
System.out.println("error");
}
return null;
}
use of org.logicng.formulas.CTrue in project ITSTools by lip6.
the class ToLogicNG method toLogic.
private BooleanExpression toLogic(Formula f) {
if (f instanceof Variable) {
Variable v = (Variable) f;
return EcoreUtil.copy(map.get(v.name()));
} else if (f instanceof org.logicng.formulas.Or) {
org.logicng.formulas.Or or = (org.logicng.formulas.Or) f;
Or oc = LogicFactory.eINSTANCE.createOr();
oc.setLeft(LogicFactory.eINSTANCE.createFalse());
for (Formula elt : or) {
oc.setRight(toLogic(elt));
Or oc2 = LogicFactory.eINSTANCE.createOr();
oc2.setLeft(oc);
oc = oc2;
}
return oc.getLeft();
} else if (f instanceof org.logicng.formulas.And) {
org.logicng.formulas.And or = (org.logicng.formulas.And) f;
And oc = LogicFactory.eINSTANCE.createAnd();
oc.setLeft(LogicFactory.eINSTANCE.createTrue());
for (Formula elt : or) {
oc.setRight(toLogic(elt));
And oc2 = LogicFactory.eINSTANCE.createAnd();
oc2.setLeft(oc);
oc = oc2;
}
return oc.getLeft();
} else if (f instanceof Literal) {
Literal l = (Literal) f;
Not n = LogicFactory.eINSTANCE.createNot();
n.setValue(toLogic(l.variable()));
return n;
} else if (f instanceof org.logicng.formulas.Not) {
org.logicng.formulas.Not l = (org.logicng.formulas.Not) f;
Not n = LogicFactory.eINSTANCE.createNot();
n.setValue(toLogic(l.operand()));
return n;
} else if (f instanceof CFalse) {
return LogicFactory.eINSTANCE.createFalse();
} else if (f instanceof CTrue) {
return LogicFactory.eINSTANCE.createTrue();
} else {
System.out.println("error");
}
return null;
}
Aggregations