A tool to verify an R1CS
(verify-r1cs lifted-r1cs spec-term prime &key :bit-inputs ; default nil :tactic ; default '(:rep :rewrite :subst) :rule-lists ; default nil :global-rules ; default nil :use ; default nil :interpreted-function-alist ; default nil :no-splitp ; default t :monitor ; default nil :print ; default :brief )
A DAG representing the lifted R1CS
A term over the input and output vars (this input is not evaluated)
The prime for the R1CS
Variables for which to generate BITP assumptions
The Axe tactic to use
A sequence of Axe rule sets, each of which is a list of rule names and/or calls of 0-ary functions that return lists of rule names. These are applied one after the other.
Rules to add to every rule-list in the sequence
Axe :use hints for the proof (satisfies axe-use-hintp)
An interpreted-function-alist to evaluate ground terms
Whether to split into cases
Rules to monitor during rewriting
Axe print argument
See r1cs-verification-with-axe.