CFML consists of two parts: a generator that parses Caml code and produces characteristic formulae expressed as Coq axioms (the generator itself is implemented in Caml), and a Coq library that provides tactics for manipulating characteristic formulae interactively.
A collection of algorithms and data structures, some purely functional and other using imperative code, have been verified using CFML.