https://github.com/EasyCrypt/easycrypt
Revision 65eda54a29631522fa7bf37c8c68ceb3629c1d50 authored by Pierre-Yves Strub on 01 December 2015, 17:10:55 UTC, committed by Pierre-Yves Strub on 01 December 2015, 17:10:55 UTC
Add a new hint mechanism for auto-applying lemmas. Lemmas are
added to the auto base with:

  `hint exact : L1 ... Ln.`

`trivial` (and all relatives) now tries to close any goal it is presented
by applying one of the lemmas of the database --- closing any generated
subgoal recursively. The lemmas in the hint database are not used
when `trivial` tries to close the subgoals.

Lemmas are applied using a rigid unification and with the view
mechanism disabled.

The current implementation is linear in the size of the database.
A pre-selection mechanism may be necessary in case the hint
database grows too much.
1 parent e6a3241
Raw File
Tip revision: 65eda54a29631522fa7bf37c8c68ceb3629c1d50 authored by Pierre-Yves Strub on 01 December 2015, 17:10:55 UTC
Hint database for auto-exact.
Tip revision: 65eda54
Makefile.system
# -*- Makefile -*-

# --------------------------------------------------------------------
OCAML    := $(shell ocamlbuild -which ocamlc 2>/dev/null || echo false)
CC       := gcc
MACHINE  := $(shell $(OCAML) -ccopt -dumpmachine dummy.c 2>/dev/null)
UNAME    := $(shell uname -s)
EXE      :=

ifneq (,$(findstring CYGWIN,$(UNAME)))
  CC = $(MACHINE)-gcc
endif

ifneq (,$(findstring mingw,$(MACHINE)))
EXE := .exe
endif

ifneq (,$(findstring cygwin,$(MACHINE)))
EXE := .exe
endif
back to top