Ltac2

What is Ltac2?

Ltac2 is a meta-programming language designed to write reliable and predictable proof script. It is the replacement for Ltac1 which had unclear semantics, lacked expressivity, and was slow and error-prone.

In particular, it features:

  • A ML language with a strict type system, and datatypes like list or array
  • A predictable call by value semantic
  • Effects to manipulate the proof state, backtracking and terms
  • A nice foreign-function interface to expose .ml code in Ltac2
  • It comes with a core library that exposes many .ml function of the kernel to manipulate goals, terms, etc., like unification

Tutorials

Introductions

Features

How-to Guides

Help Improve Our Documentation

All Rocq docs are open source. See something that's wrong or unclear? Submit a pull request.

Rocq

Interactive Theorem Prover