aboutsummaryrefslogtreecommitdiff
path: root/Makefile.common
diff options
context:
space:
mode:
authorArnaud Spiwack2013-11-25 19:05:48 +0100
committerArnaud Spiwack2013-12-04 14:14:33 +0100
commit078efbe2dfff0b783cd35b0b3ab2354f554e95a6 (patch)
treee79c02a053d44a79f841a2e1ba013b12a08bd014 /Makefile.common
parent3c199b86ddf919d79ad79eb7d69f4b6f81bb73ab (diff)
Derive plugin.
A small plugin to support program deriving (à la Richard Bird) in Coq. It's fairly simple: Require Coq.Derive.Derive. Derive f From g Upto eq As h. Produces a goal (actually two, but the first one is automatically shelved): |- eq g ?42 And closing the proof produces two definitions: f is instantiated with the value of ?42 (it's always transparent). And h is instantiated with the content of the proof (it is transparent or opaque depending on whether the proof was closed with Defined or Qed).
Diffstat (limited to 'Makefile.common')
-rw-r--r--Makefile.common9
1 files changed, 6 insertions, 3 deletions
diff --git a/Makefile.common b/Makefile.common
index d967f3f6e9..d74f143bd1 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -67,7 +67,7 @@ CORESRCDIRS:=\
PLUGINS:=\
omega romega micromega quote \
setoid_ring xml extraction fourier \
- cc funind firstorder \
+ cc funind firstorder Derive \
rtauto nsatz syntax decl_mode btauto
SRCDIRS:=\
@@ -183,12 +183,14 @@ OTHERSYNTAXCMA:=$(addprefix plugins/syntax/, \
ascii_syntax_plugin.cma \
string_syntax_plugin.cma )
DECLMODECMA:=plugins/decl_mode/decl_mode_plugin.cma
+DERIVECMA:=plugins/Derive/derive_plugin.cma
PLUGINSCMA:=$(OMEGACMA) $(ROMEGACMA) $(MICROMEGACMA) $(DECLMODECMA) \
$(QUOTECMA) $(RINGCMA) \
$(FOURIERCMA) $(EXTRACTIONCMA) $(XMLCMA) \
$(CCCMA) $(FOCMA) $(RTAUTOCMA) $(BTAUTOCMA) \
- $(FUNINDCMA) $(NSATZCMA) $(NATSYNTAXCMA) $(OTHERSYNTAXCMA)
+ $(FUNINDCMA) $(NSATZCMA) $(NATSYNTAXCMA) $(OTHERSYNTAXCMA) \
+ $(DERIVECMA)
ifneq ($(HASNATDYNLINK),false)
STATICPLUGINS:=
@@ -305,11 +307,12 @@ RTAUTOVO:=$(call cat_vo_itarget, plugins/rtauto)
EXTRACTIONVO:=$(call cat_vo_itarget, plugins/extraction)
XMLVO:=
CCVO:=
+DERIVEVO:=$(call cat_vo_itarget, plugins/Derive)
PLUGINSVO:= $(OMEGAVO) $(ROMEGAVO) $(MICROMEGAVO) \
$(XMLVO) $(FOURIERVO) $(CCVO) $(FUNINDVO) \
$(RTAUTOVO) $(BTAUTOVO) $(RINGVO) $(QUOTEVO) \
- $(NSATZVO) $(EXTRACTIONVO)
+ $(NSATZVO) $(EXTRACTIONVO) $(DERIVEVO)
ALLVO:= $(THEORIESVO) $(PLUGINSVO)
VFILES:= $(ALLVO:.vo=.v)