aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java
diff options
context:
space:
mode:
authorRncLsn <rnc.lsn@gmail.com>2015-05-11 18:00:57 +0100
committerRncLsn <rnc.lsn@gmail.com>2015-05-11 18:00:57 +0100
commit4fe4ca32d8f45807ab881b6fb8e814842dad0ec6 (patch)
tree024d11d748efc24494a28fdfb7efda3db5231ac4 /src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java
parent870eb35e38f746ed73f233070dcf3bdaf4687e02 (diff)
downloadACQuA-4fe4ca32d8f45807ab881b6fb8e814842dad0ec6.tar.gz
ACQuA-4fe4ca32d8f45807ab881b6fb8e814842dad0ec6.zip
Adding (not completed) a new upper bound technique, namely Limited Skolemisation.
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java26
1 files changed, 4 insertions, 22 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java b/src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java
index 7e66411..2ff1673 100644
--- a/src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java
+++ b/src/uk/ac/ox/cs/pagoda/rules/OverApproxExist.java
@@ -1,30 +1,11 @@
1package uk.ac.ox.cs.pagoda.rules; 1package uk.ac.ox.cs.pagoda.rules;
2 2
3import java.util.Collection; 3import org.semanticweb.HermiT.model.*;
4import java.util.HashMap;
5import java.util.Iterator;
6import java.util.LinkedList;
7import java.util.Map;
8
9import org.semanticweb.HermiT.model.AtLeast;
10import org.semanticweb.HermiT.model.AtLeastConcept;
11import org.semanticweb.HermiT.model.AtLeastDataRange;
12import org.semanticweb.HermiT.model.Atom;
13import org.semanticweb.HermiT.model.AtomicConcept;
14import org.semanticweb.HermiT.model.AtomicNegationConcept;
15import org.semanticweb.HermiT.model.AtomicRole;
16import org.semanticweb.HermiT.model.DLClause;
17import org.semanticweb.HermiT.model.DLPredicate;
18import org.semanticweb.HermiT.model.Individual;
19import org.semanticweb.HermiT.model.Inequality;
20import org.semanticweb.HermiT.model.InverseRole;
21import org.semanticweb.HermiT.model.LiteralConcept;
22import org.semanticweb.HermiT.model.Role;
23import org.semanticweb.HermiT.model.Term;
24import org.semanticweb.HermiT.model.Variable;
25import uk.ac.ox.cs.pagoda.hermit.DLClauseHelper; 4import uk.ac.ox.cs.pagoda.hermit.DLClauseHelper;
26import uk.ac.ox.cs.pagoda.util.Namespace; 5import uk.ac.ox.cs.pagoda.util.Namespace;
27 6
7import java.util.*;
8
28public class OverApproxExist implements Approximator { 9public class OverApproxExist implements Approximator {
29 10
30 @Override 11 @Override
@@ -142,6 +123,7 @@ public class OverApproxExist implements Approximator {
142 AtomicConcept atomicConcept = null; 123 AtomicConcept atomicConcept = null;
143 124
144 if (concept instanceof AtomicNegationConcept) { 125 if (concept instanceof AtomicNegationConcept) {
126 // is this already in MultiStageUpperProgram?
145 Atom atom1 = Atom.create(atomicConcept = ((AtomicNegationConcept) concept).getNegatedAtomicConcept(), X); 127 Atom atom1 = Atom.create(atomicConcept = ((AtomicNegationConcept) concept).getNegatedAtomicConcept(), X);
146 Atom atom2 = Atom.create(atomicConcept = getNegationConcept(atomicConcept), X); 128 Atom atom2 = Atom.create(atomicConcept = getNegationConcept(atomicConcept), X);
147 ret.add(DLClause.create(new Atom[0], new Atom[] {atom1, atom2})); 129 ret.add(DLClause.create(new Atom[0], new Atom[] {atom1, atom2}));