diff --git a/AlgebraicDataflowArchitectureModel/src/models/algebra/Term.java b/AlgebraicDataflowArchitectureModel/src/models/algebra/Term.java index 2a22051..d259620 100644 --- a/AlgebraicDataflowArchitectureModel/src/models/algebra/Term.java +++ b/AlgebraicDataflowArchitectureModel/src/models/algebra/Term.java @@ -106,6 +106,7 @@ pos = (Position) pos.clone(); int i = pos.removeHeadOrder(); if (i >= children.size()) return null; + if (children.get(i) == null) return null; return children.get(i).getSubTerm(pos); } @@ -143,7 +144,11 @@ if (children.size() != anotherTerm.children.size()) return null; Term unifiedTerm = new Term(symbol); for (int i = 0; i < children.size(); i++) { - unifiedTerm.addChild(children.get(i).unify(anotherTerm.children.get(i))); + if (children.get(i) != null) { + unifiedTerm.addChild(children.get(i).unify(anotherTerm.children.get(i))); + } else { + unifiedTerm.addChild(anotherTerm.children.get(i)); + } } return unifiedTerm; } else {