1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 11 "plugins/derive/g_derive.mlg"
open Stdarg
let __coq_plugin_name = "derive_plugin"
let _ = Mltop.add_known_module __coq_plugin_name
# 19 "plugins/derive/g_derive.mlg"
let classify_derive_command _ = Vernacextend.(VtStartProof (Doesn'tGuaranteeOpacity,[]))
let () = Vernacextend.vernac_extend ~command:"Derive" ~classifier:( classify_derive_command ) ?entry:None
[(Vernacextend.TyML (false, Vernacextend.TyTerminal ("Derive",
Vernacextend.TyNonTerminal (Extend.TUentry (Genarg.get_arg_tag wit_ident),
Vernacextend.TyTerminal ("SuchThat",
Vernacextend.TyNonTerminal (Extend.TUentry (Genarg.get_arg_tag wit_constr),
Vernacextend.TyTerminal ("As", Vernacextend.TyNonTerminal (
Extend.TUentry (Genarg.get_arg_tag wit_ident),
Vernacextend.TyNil)))))),
(let coqpp_body f suchthat lemma
() = Vernacextend.VtOpenProof (fun () ->
# 27 "plugins/derive/g_derive.mlg"
Derive.start_deriving f suchthat lemma
) in fun f
suchthat lemma ?loc ~atts () -> coqpp_body f suchthat lemma
(Attributes.unsupported_attributes atts)), None))]