aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/simpleScenario/queries/logProb.vql
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/simpleScenario/queries/logProb.vql')
-rw-r--r--Domains/simpleScenario/queries/logProb.vql41
1 files changed, 41 insertions, 0 deletions
diff --git a/Domains/simpleScenario/queries/logProb.vql b/Domains/simpleScenario/queries/logProb.vql
new file mode 100644
index 00000000..e6045909
--- /dev/null
+++ b/Domains/simpleScenario/queries/logProb.vql
@@ -0,0 +1,41 @@
1package queries
2
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
4import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
5import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
6
7pattern UPMUSTPropagateConstraint0_pattern_queries_refSpec(
8 problem:LogicProblem, interpretation:PartialInterpretation,
9 var_l)
10{
11// Original Constraints
12// var_l exported
13find mustInRelationreferenceCoord_attribute_Lane(problem,interpretation,var_l,var_w);
14// Propagation for constraint
15PrimitiveElement.valueSet(var_w,setted_var_w);
16IntegerElement.value(var_w,value_var_w);
17// Matching variables
18//var_w==up_1;
19}
20
21/**
22 * Matcher for detecting tuples t where []referenceCoord attribute Lane(source,target)
23 */
24pattern mustInRelationreferenceCoord_attribute_Lane(
25 problem:LogicProblem, interpretation:PartialInterpretation,
26 source: DefinedElement, target:DefinedElement)
27{
28 find interpretation(problem,interpretation);
29 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
30 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"referenceCoord attribute Lane");
31 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
32 BinaryElementRelationLink.param1(link,source);
33 BinaryElementRelationLink.param2(link,target);
34}
35
36//////////
37// 0. Util
38//////////
39pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
40 PartialInterpretation.problem(interpretation,problem);
41} \ No newline at end of file