diff options
| author | Arnaud Spiwack | 2013-11-25 19:05:48 +0100 |
|---|---|---|
| committer | Arnaud Spiwack | 2013-12-04 14:14:33 +0100 |
| commit | 078efbe2dfff0b783cd35b0b3ab2354f554e95a6 (patch) | |
| tree | e79c02a053d44a79f841a2e1ba013b12a08bd014 /Makefile.common | |
| parent | 3c199b86ddf919d79ad79eb7d69f4b6f81bb73ab (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.common | 9 |
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) |
