Combinatorics and Reasoning: Representing, Justifying and Building Isomorphisms