prover9-rewriter man page

rewriter — demodulate terms


rewriter <demodulators-file> < <terms-file> > <rewritten-terms-file>


This manual page documents briefly the rewriter command.

Rewrite a stream of terms with a list of demodulators. The demodulators are used left-to-right as given, and they are not checked for termination.


The file of demodulators contains optional commands then a list of demodulators.  The commands can be used to declare infix operations and associativity/commutativity. Example file of demodulators:

    op(400, infix, ^).
    op(400, infix, v).
    x ^ x = x.
    x ^ (x v y) = x.
    x v x = x.
    x v (x ^ y) = x.

See Also

prover9(1), mace4(1).
Full documentation for rewriter is found in the prover9 manual, available on Debian systems in the prover9-doc package at /usr/share/doc/prover9-doc/manual/index.html.


rewriter was written by William McCune <>

This manual page was written by Peter Collingbourne <>, for the Debian project (but may be used by others).


January 20, 2007