| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-27 15:08:15 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-27 15:08:15 +0200 |
| commit | cfb0fe371838a5a7112ad73c0a33073cc209d288 (patch) | |
| tree | 8aacf4fbdaa65e6251fd11c8cfd94e56d1e3decc | |
| parent | 28c1633308fa51ebffe9d0e901821d10c13092bc (diff) | |
Fixes multiple issues with depths.
| -rw-r--r-- | ast-to-instr/src/Depths.java | 17 | ||||
| -rw-r--r-- | instr-to-kodkod/Makefile | 3 | ||||
| -rw-r--r-- | instr-to-kodkod/parser/PropertyParser.g4 | 23 |
3 files changed, 30 insertions, 13 deletions
diff --git a/ast-to-instr/src/Depths.java b/ast-to-instr/src/Depths.java index ade01c8..400ff58 100644 --- a/ast-to-instr/src/Depths.java +++ b/ast-to-instr/src/Depths.java @@ -60,13 +60,16 @@ public class Depths --current_depth ) { - Predicates.add_entry - ( - DEPTHS_OUTPUT, - "is_lower_than", - get_id_from_depth(new Integer(current_depth - 1)), - get_id_from_depth(new Integer(current_depth)) - ); + for (int i = 0; i < current_depth; ++i) + { + Predicates.add_entry + ( + DEPTHS_OUTPUT, + "is_lower_than", + get_id_from_depth(new Integer(i)), + get_id_from_depth(new Integer(current_depth)) + ); + } } } } diff --git a/instr-to-kodkod/Makefile b/instr-to-kodkod/Makefile index 705f3e2..fa91a23 100644 --- a/instr-to-kodkod/Makefile +++ b/instr-to-kodkod/Makefile @@ -11,7 +11,8 @@ LEVEL_DIR = $(wildcard ../data/level/*.lvl) #PROPERTY_FILE = ../data/property/impossible_processes.pro #PROPERTY_FILE = ../data/property/incrementer.pro #PROPERTY_FILE = ../data/property/combinational_processes.pro -PROPERTY_FILE = ../data/property/likely_a_clock.pro +#PROPERTY_FILE = ../data/property/likely_a_clock.pro +PROPERTY_FILE = ../data/property/cnes/CNE*.pro VAR_PREFIX = "_anon_" ## Executables ################################################################# diff --git a/instr-to-kodkod/parser/PropertyParser.g4 b/instr-to-kodkod/parser/PropertyParser.g4 index 5c93eac..40cb2aa 100644 --- a/instr-to-kodkod/parser/PropertyParser.g4 +++ b/instr-to-kodkod/parser/PropertyParser.g4 @@ -1047,9 +1047,10 @@ bl_depth_no_parent_operator [Variable current_node] (WS)* R_PAREN { - final Relation depth_relation; + final Relation depth_relation, lower_than_relation; depth_relation = Main.get_model().get_predicate_as_relation("depth"); + lower_than_relation = Main.get_model().get_predicate_as_relation("depth"); $result = node_of_path.join @@ -1057,13 +1058,13 @@ bl_depth_no_parent_operator [Variable current_node] depth_relation ).product ( - node_for_f.join(depth_relation) + current_node.join(depth_relation) ).in ( - Main.get_model().get_predicate_as_relation("is_lower_than") + lower_than_relation ).not ( - /* (not (is_lower_than [depth node_of_path] [depth node_for_f])) */ + /* (not (is_lower_than [depth node_of_path] [depth current_node])) */ ).forAll ( node_of_path.oneOf @@ -1078,7 +1079,19 @@ bl_depth_no_parent_operator [Variable current_node] ) ).and ( - ($bl_formula.result) + ($bl_formula.result).and + ( + current_node.join + ( + depth_relation + ).product + ( + node_for_f + ).in + ( + lower_than_relation + ).not() + ) ).forSome ( node_for_f.oneOf |


