/// <summary>
        /// Propose to map ivtx1 from the first graph to ivtx2 in the second for
        /// the isomorphism being formed
        /// </summary>
        /// <param name="ivtx1">Vertex index in the first graph</param>
        /// <param name="ivtx2">Vertex index in the second graph</param>
        /// <param name="vfs">State determining the isomorphism</param>
        internal void SetMatch(int ivtx1, int ivtx2, VfState <TVAttr, TEAttr> vfs)
        {
            // Add both vertices to the "In Mapping" group
            MoveToGroup(1, ivtx1, Group.ContainedInMapping, vfs);
            MoveToGroup(2, ivtx2, Group.ContainedInMapping, vfs);

            // Actually set the vertices to correspond in the isomorphism
            vfs.SetIsomorphic(ivtx1, ivtx2);

            // Add actions to undo this act...
            AddAction(new BacktrackAction(Action.DeleteMatch, 1, ivtx1));
            AddAction(new BacktrackAction(Action.DeleteMatch, 2, ivtx2));
        }