As far as I can tell, graph isomorphism needs the following extra clause - M(tt) is the triple term ( M(s), M(p), M(o) ) for tt a triple term of the form (s, p, o) This is slightly clunky but doesn't use any concrete syntax.