Verifying Catamorphism-Based Contracts using Constrained Horn Clauses