aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2018-01-13 19:33:26 +0100
committerLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2018-01-13 19:33:26 +0100
commit7e50434905cbb7f5d03636033b698e17a9075e9d (patch)
tree10e0968c20ac55dae4f5dc6077f39cf9947e3cb9 /Solvers/VIATRA-Solver
parentTest and measurement runners (diff)
downloadVIATRA-Generator-7e50434905cbb7f5d03636033b698e17a9075e9d.tar.gz
VIATRA-Generator-7e50434905cbb7f5d03636033b698e17a9075e9d.tar.zst
VIATRA-Generator-7e50434905cbb7f5d03636033b698e17a9075e9d.zip
Initial commit of the configuration language and application
Diffstat (limited to 'Solvers/VIATRA-Solver')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend17
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend21
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend36
3 files changed, 74 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/CanonisedFormulae.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend
new file mode 100644
index 00000000..e511a961
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend
@@ -0,0 +1,17 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
4import java.util.Map
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
8import org.eclipse.xtend.lib.annotations.Data
9
10@Data
11class CanonisedFormulae {
12 CharSequence viatraCode
13 Map<Assertion,String> assertion2ConstraintPattern
14 Map<ConstantDefinition,String> constant2ValuePattern
15 Map<RelationDefinition,String> relation2ValuePattern
16 Map<FunctionDefinition,String> function2ValuePattern
17} \ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend
new file mode 100644
index 00000000..0af0b36a
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend
@@ -0,0 +1,21 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
7import java.util.List
8
9/**
10 * Translates a set of assertions and definitions to viatra patterns.
11 */
12class FormulaCanoniser {
13 def canonise(
14 List<Assertion> assertions,
15 List<RelationDefinition> relations,
16 List<ConstantDefinition> constants,
17 List<FunctionDefinition> functions)
18 {
19
20 }
21} \ No newline at end of file
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 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
4import org.eclipse.emf.ecore.util.EcoreUtil
5import java.util.LinkedList
6import java.util.List
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
8import org.eclipse.xtend.lib.annotations.Data
9
10
11@Data
12class 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 */
26class 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