diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/base/utils/boundary/BoundaryUtils.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/base/utils/boundary/BoundaryUtils.java
index ac02646f0e7f80225b0ee7edc3cf0c8e3f811a77..439c9edabf0024e8f8cb90417af6befec801910e 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/base/utils/boundary/BoundaryUtils.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/base/utils/boundary/BoundaryUtils.java
@@ -1,26 +1,27 @@
 package de.unikoblenz.fgbks.base.utils.boundary;
 
 import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnValue;
+import java.util.Optional;
 
 public class BoundaryUtils {
 
-  public static Boundary parseBoundary(VDmnValue dmnValue) {
-    return null;
+  public static Optional<Boundary> parseBoundary(VDmnValue dmnValue) {
+    return Optional.empty();
   }
 
-  public static Boundary combineBoundaries(Boundary b1, Boundary b2) {
-    return null;
+  public static Optional<Boundary> combineBoundaries(Boundary b1, Boundary b2) {
+    return Optional.empty();
   }
 
-  public static Boundary appendBoundaries(Boundary b1, Boundary b2) {
-    return null;
+  public static Optional<Boundary> appendBoundaries(Boundary b1, Boundary b2) {
+    return Optional.empty();
   }
 
-  public static Boundary createBoundariesBetween(Boundary b1, Boundary b2) {
-    return null;
+  public static Optional<Boundary> createBoundariesBetween(Boundary b1, Boundary b2) {
+    return Optional.empty();
   }
 
-  public static Boundary createBoundaryLower(Boundary b1, Boundary b2) {
-    return null;
+  public static Optional<Boundary> createBoundaryLower(Boundary b1, Boundary b2) {
+    return Optional.empty();
   }
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
index 529a073696dde1e7c0822c2f24f3b2b37bd6ac29..d4875c3c3643fc061debd300e9f678559dbe154c 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/VDmnValue.java
@@ -40,6 +40,6 @@ public interface VDmnValue extends VDmnElement {
   }
 
   default boolean isOutputValue() {
-    return getDmnColumn() instanceof VDmnInputColumn;
+    return getDmnColumn() instanceof VDmnOutputColumn;
   }
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/utils/DmnObjectContainer.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/utils/DmnObjectContainer.java
index 32c72d35204aaddd5fae5cfd7b52657db5658232..7c4b5ab7b3187fd5bc6cfec9065a4d76148c7cd9 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/utils/DmnObjectContainer.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/utils/DmnObjectContainer.java
@@ -4,7 +4,6 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnDefinition;
 import java.util.List;
 import org.camunda.bpm.dmn.engine.DmnDecision;
 import org.camunda.bpm.model.dmn.DmnModelInstance;
-import org.camunda.bpm.model.dmn.instance.Decision;
 
 public class DmnObjectContainer {
 
@@ -20,7 +19,7 @@ public class DmnObjectContainer {
     return dmnModel;
   }
 
-  public VDmnDefinition getvDmnDefinition() {
+  public VDmnDefinition getVDmnDefinition() {
     return vDmnDefinition;
   }
 
@@ -30,11 +29,4 @@ public class DmnObjectContainer {
     this.dmnModel = dmnModel;
     this.vDmnDefinition = vDmnDefinition;
   }
-
-  // TODO: delete!
-  public void x() {
-    dmnModel.getModelElementsByType(Decision.class).stream()
-        .map(a -> a.getId())
-        .forEach(System.out::println);
-  }
 }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/DateVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/DateVerifier.java
index 7302a9c3d2e8276e06e8c3c920e9db838ab12d16..140b9e9cff0da92bcdf1303de7f685e7fecbdf31 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/DateVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/DateVerifier.java
@@ -24,7 +24,7 @@ public class DateVerifier extends AbstractVerifier {
   @Override
   protected void doVerification() {
     List<VDmnColumn> dateColumns =
-        VDmnFunctions.getColumnsByTypeRef(dmnObjectContainer.getvDmnDefinition(), VTypeRef.DATE);
+        VDmnFunctions.getColumnsByTypeRef(dmnObjectContainer.getVDmnDefinition(), VTypeRef.DATE);
     for (VDmnColumn dateColumn : dateColumns) {
       checkDateColumn(dateColumn);
     }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EmptyOutputVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EmptyOutputVerifier.java
index 9be70de9878457a61534179a43953ed67f7c3ad4..1788fba89867d7f3145e01db4796066f3f6e3178 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EmptyOutputVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EmptyOutputVerifier.java
@@ -18,7 +18,7 @@ public class EmptyOutputVerifier extends AbstractVerifier {
   @Override
   protected void doVerification() {
     for (VDmnOutputColumn outputColumn :
-        VDmnFunctions.getOutputColumns(dmnObjectContainer.getvDmnDefinition())) {
+        VDmnFunctions.getOutputColumns(dmnObjectContainer.getVDmnDefinition())) {
       checkOutputColumn(outputColumn);
     }
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EquivalentVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EquivalentVerifier.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed62840a4d539142ddde198db2e275ff1996c8d5
--- /dev/null
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EquivalentVerifier.java
@@ -0,0 +1,83 @@
+package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl;
+
+
+import de.unikoblenz.fgbks.base.utils.boundary.impl.StringBoundary;
+import de.unikoblenz.fgbks.base.wordnet.WordnetService;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnColumn;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnInputValue;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VDmnValue;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.VTypeRef;
+import de.unikoblenz.fgbks.core.dmn.domain.vdmn.utils.VDmnFunctions;
+import de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntry.VerificationClassification;
+import de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntryElement;
+import de.unikoblenz.fgbks.core.dmn.verification.verifier.AbstractVerifier;
+import de.unikoblenz.fgbks.core.dmn.verification.verifier.DmnVerifier;
+import de.unikoblenz.fgbks.core.dmn.verification.verifier.config.DefaultConfiguration;
+import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.EquivalentStringVerification;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@DmnVerifier(
+    verifierType = EquivalentStringVerification.class,
+    verifierConfig = DefaultConfiguration.class)
+public class EquivalentVerifier extends AbstractVerifier {
+
+  WordnetService wordnetService;
+
+  @Override
+  protected void doVerification() {
+    wordnetService = WordnetService.getInstance();
+    VDmnFunctions.getColumnsByTypeRef(dmnObjectContainer.getVDmnDefinition(), VTypeRef.STRING)
+        .forEach(this::checkStringColumnForSynonyms);
+  }
+
+  private void checkStringColumnForSynonyms(VDmnColumn c) {
+    List<String> stringVals = new ArrayList<>();
+    List<String> stringValsInner = new ArrayList<>();
+    List<VDmnValue> values = c.getValues();
+    for (int i = 0; i < values.size(); i++) {
+      VDmnValue v1 = values.get(i);
+      if (!v1.getText().isEmpty()) {
+        stringVals.clear();
+        if (v1.isOutputValue()) {
+          stringVals.add(v1.getText().replace('"', '\0').trim());
+        } else {
+          stringVals.addAll(
+              Arrays.asList(((StringBoundary) ((VDmnInputValue) v1).getBoundary()).getValues()));
+        }
+        for (int u = i + 1; u < values.size(); u++) {
+          VDmnValue v2 = values.get(u);
+          if (!v2.getText().isEmpty()) {
+            stringValsInner.clear();
+            if (v2.isOutputValue()) {
+              stringValsInner.add(v2.getText().replace('"', '\0').trim());
+            } else {
+              stringValsInner.addAll(
+                  Arrays.asList(
+                      ((StringBoundary) ((VDmnInputValue) v2).getBoundary()).getValues()));
+            }
+            compareStrings(v1, v2, stringVals, stringValsInner);
+          }
+        }
+      }
+    }
+  }
+
+  private void compareStrings(
+      VDmnValue v1, VDmnValue v2, List<String> stringVals, List<String> stringValsInner) {
+    for (int i = 0; i < stringVals.size(); i++) {
+      for (int u = 0; u < stringValsInner.size(); u++) {
+        if (wordnetService.areNounsSynonyms(stringVals.get(i), stringValsInner.get(u))) {
+          vref.addElement(VerificationResultEntryElement.create(v1));
+          vref.addElement(VerificationResultEntryElement.create(v2));
+          vref.addToEntry(
+              VerificationClassification.WARNING,
+              "String values %s and %s might be equivalent.",
+              stringVals.get(i),
+              stringValsInner.get(u));
+        }
+      }
+    }
+  }
+}
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalVerifier.java
index cf27710ec8ab469846223964457ea68045df5973..0dd958fd875b2556e6047a6004440dd791d0b0b2 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalVerifier.java
@@ -28,7 +28,7 @@ public class IdenticalVerifier extends AbstractVerifier {
 
   @Override
   protected void doVerification() {
-    for (VDmnDecision decision : dmnObjectContainer.getvDmnDefinition().getDmnDecisions()) {
+    for (VDmnDecision decision : dmnObjectContainer.getVDmnDefinition().getDmnDecisions()) {
       checkDecisionTable(decision.getDmnDecisionTable());
     }
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/InputValueSyntaxVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/InputValueSyntaxVerifier.java
index fc690546cbdd848834bce6a27f88552ddafcf345..045fd7776111cd69b8fa2c0d8d6a9e59fc6b728f 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/InputValueSyntaxVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/InputValueSyntaxVerifier.java
@@ -17,7 +17,7 @@ public class InputValueSyntaxVerifier extends AbstractVerifier {
 
   @Override
   protected void doVerification() {
-    dmnObjectContainer.getvDmnDefinition().getDmnDecisions().stream()
+    dmnObjectContainer.getVDmnDefinition().getDmnDecisions().stream()
         .flatMap(
             d ->
                 d.getDmnDecisionTable().getRules().stream()
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java
new file mode 100644
index 0000000000000000000000000000000000000000..c3605e3c91e951dc40ceb275cf65b81649039058
--- /dev/null
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java
@@ -0,0 +1,25 @@
+package de.unikoblenz.fgbks.core.dmn.verification.verifier.types;
+
+import static de.unikoblenz.fgbks.core.dmn.verification.verifier.types.VerificationTypeClassification.DECISION_LOGIC_LEVEL_VERIFICATION;
+
+import de.unikoblenz.fgbks.base.domain.Description;
+import de.unikoblenz.fgbks.base.domain.Name;
+import javax.validation.constraints.NotNull;
+
+public class EquivalentStringVerification extends AbstractVerificationType {
+
+  @Override
+  public @NotNull VerificationTypeClassification getClassification() {
+    return DECISION_LOGIC_LEVEL_VERIFICATION;
+  }
+
+  @Override
+  public @NotNull Name getName() {
+    return new Name(this.getClass().getSimpleName());
+  }
+
+  @Override
+  public @NotNull Description getDescription() {
+    return new Description("test");
+  }
+}