simps attribute

This file defines the @[simps] attribute, to automatically generate simp-lemmas reducing a definition when projections are applied to it.

Tags

structures, projections, simp, simplifier, generates declarations


simps_add_projection

Add a lemma with nm stating that lhs = rhs. type is the type of both lhs and rhs, args is the list of local constants occurring, and univs is the list of universe variables. If add_simp then we make the resulting lemma a simp-lemma.

simps_add_projections

Derive lemmas specifying the projections of the declaration. If todo is non-empty, it will generate exactly the names in todo.

simps_tac

simps_tac derives simp-lemmas for all (nested) non-Prop projections of the declaration. If todo is non-empty, it will generate exactly the names in todo. If short_nm is true, the generated names will only use the last projection name.

simps_parser

The parser for simps. Pattern: 'lemmas_only'? ident*

simps_attr