  Matching Logic is a framework for specifying programming language semantics
and reasoning about programs. Its formulas are called patterns and are built
with variables, symbols, connectives and quantifiers. A pattern is a
combination of structural components (term patterns), which must be matched,
and constraints (predicate patterns), which must be satisfied. Dealing with
more than one structural component in a pattern could be cumbersome because it
involves multiple matching operations. A source for getting patterns with many
structural components is the conjunction of patterns. Here, we propose a method
that uses a syntactic unification algorithm to transform conjunctions of
structural patterns into equivalent patterns having only one structural
component and some additional constraints. We prove the soundness of our
approach, we discuss why the approach is not complete and we provide sound
strategies to generate certificates for the equivalences, validated using Coq.
