Library Extraction
NB: The "" above is a hack, but produce nicer code than "(,)"
Mapping sumbool to bool and sumor to option is not always nicer,
but it helps when realizing stuff like lt_eq_lt_dec
Restore lazyness of andb, orb.
NB: without these Extract Constant, andb/orb would be inlined
by extraction in order to have lazyness, producing inelegant
(if ... then ... else false) and (if ... then true else ...).
Efficient (but uncertified) versions for usual nat functions
Extract Constant pred => "\ n -> max 0 (n-1)".
Extract Inlined Constant max => max.
Extract Inlined Constant Peano_dec.eq_nat_dec => "(==)".
Extract Inlined Constant Compare_dec.le_lt_dec => "(<=)".
Extraction "checker" Generate_and_Prune.