private Predicate createPredicate(ISCContextRoot root, FormulaFactory ff) throws CoreException { ITypeEnvironmentBuilder te = ff.makeTypeEnvironment(); List<Predicate> selected = new ArrayList<Predicate>(); for (ISCAxiom iscAxiom : root.getSCAxioms()) { if (iscAxiom.hasAttribute(ContradictionAttribute.ATTRIBUTE)) { if (iscAxiom.getAttributeValue(ContradictionAttribute.ATTRIBUTE)) { selected.add(iscAxiom.getPredicate(te)); } } } Predicate conjunctionOfAxioms; if (selected.size() == 1) { conjunctionOfAxioms = selected.get(0); } else { conjunctionOfAxioms = ff.makeAssociativePredicate(Predicate.LAND, selected, null); } List<BoundIdentDecl> theBoundOnes = new ArrayList<BoundIdentDecl>(); conjunctionOfAxioms = conjunctionOfAxioms.bindAllFreeIdents(theBoundOnes); Predicate full = ff.makeQuantifiedPredicate(Predicate.EXISTS, theBoundOnes, conjunctionOfAxioms, null); return full; }
private boolean mustGeneratePO(ISCContextRoot root) { try { for (ISCAxiom iscAxiom : root.getSCAxioms()) { if (iscAxiom.hasAttribute(ContradictionAttribute.ATTRIBUTE)) { if (iscAxiom.getAttributeValue(ContradictionAttribute.ATTRIBUTE)) { return true; } } } } catch (RodinDBException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; }
private IPOGSource[] createSources(ISCContextRoot root) { List<IPOGSource> sources = new ArrayList<IPOGSource>(); try { for (ISCAxiom iscAxiom : root.getSCAxioms()) { if (iscAxiom.hasAttribute(ContradictionAttribute.ATTRIBUTE)) { if (iscAxiom.getAttributeValue(ContradictionAttribute.ATTRIBUTE)) { sources.add(makeSource(IPOSource.DEFAULT_ROLE, iscAxiom)); } } } } catch (RodinDBException e) { // TODO Auto-generated catch block e.printStackTrace(); } IPOGSource[] arr = new IPOGSource[sources.size()]; arr = sources.toArray(arr); return arr; }