1234567891011121314151617181920212223242526272829303132333435363738394041424344454647(************************************************************************)(* * The Coq Proof Assistant / The Coq Development Team *)(* v * Copyright INRIA, CNRS and contributors *)(* <O___,, * (see version control and CREDITS file for authors & dates) *)(* \VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(* * (see LICENSE file for the text of the license) *)(************************************************************************)openNamestyperaw_generic_tactic=Genarg.raw_generic_argumenttypeglob_generic_tactic=Genarg.glob_generic_argumentletof_raw_genargx=xletto_raw_genargx=xletof_glob_genargx=xletprint_raw=Pputils.pr_raw_genericletprint_glob=Pputils.pr_glb_genericletsubst=Gensubst.generic_substituteletintern?(strict=true)env?(ltacvars=Id.Set.empty)v=letist={(Genintern.empty_glob_sign~strictenv)withltacvars}inlet_,v=Genintern.generic_internistvinvletinterp?(lfun=Id.Map.empty)v=letopenGeninterpinletopenProofview.NotationsinProofview.tclProofInfo[@ocaml.warning"-3"]>>=fun(_name,poly)->letist={lfun;poly;extra=TacStore.empty}inletGenarg.GenArg(Glbwittag,v)=vinletv=Geninterp.interptagistvinFtactic.runv(fun_->Proofview.tclUNIT())letwit_generic_tactic=Genarg.make0"generic_tactic"let()=letmkprintfv=Genprint.PrinterBasic(funenvsigma->fenvsigmav)inGenprint.register_vernac_print0wit_generic_tactic(mkprint(print_raw?level:None));