diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend new file mode 100644 index 00000000..af34a5a7 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend | |||
@@ -0,0 +1,36 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term | ||
4 | import org.eclipse.emf.ecore.util.EcoreUtil | ||
5 | import java.util.LinkedList | ||
6 | import java.util.List | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable | ||
8 | import org.eclipse.xtend.lib.annotations.Data | ||
9 | |||
10 | |||
11 | @Data | ||
12 | class Clause { | ||
13 | List<Term> atomicExpressions | ||
14 | } | ||
15 | |||
16 | /** | ||
17 | * Rewrites a term to a first order CNF, where F | ||
18 | * <p><table> | ||
19 | * <tr><th>Symbol</th><th>-></th><th>expression</th></tr> | ||
20 | * <tr><td>F</td><td>-></td><td>Quantified (∨ Quantified)*</td></tr> | ||
21 | * <tr><td>Quantified</td><td>-></td><td>(∃x Quantified) | Clause</td></tr> | ||
22 | * <tr><td>Clause</td><td>-></td><td> Atomic (∧ Atomic)* </td></tr> | ||
23 | * <tr><td>Atomic</td><td>-></td><td> Type(x) | Path (x,y) | x==y | x!=y | F | ¬F </td></tr> | ||
24 | * </table></p> | ||
25 | */ | ||
26 | class FormulaRewriter { | ||
27 | public def rewriteExpression(Term expression) { | ||
28 | val termToRewrite = EcoreUtil.copy(expression | ||
29 | ) | ||
30 | } | ||
31 | |||
32 | public def internalRewriteExpression(Term expression) { | ||
33 | val List<Variable> quantifiedVariables = new LinkedList | ||
34 | val List<Clause> clauses = new LinkedList | ||
35 | } | ||
36 | } \ No newline at end of file | ||