
    L&iN                         d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZ g dZ G d de          Z G d de          Z G d	 d
e          ZdS )z
    pygments.lexers.theorem
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for theorem-proving languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerdefaultwords)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace)CoqLexerIsabelleLexer	LeanLexerc                   >   e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdefdej        j        fdedfdefdej        fdej        f ee
dd          ej        f eedd          ef eedd          ej        f eedd          ef eedd          ej        f eedd          ej        fdefdd                    eddd                   z  efd eded!eefd"efd#e j!        fd$e j"        fd%e j#        fd&e j$        fd'e j%        fd(e&j'        fd)e&j'        fd*efd+e&j(        d,fd-efd.ej        j        fgd/efded0fd1ed2fd3efgd4e&j(        fd5e&j(        fd+e&j(        d2fgdefd6e)fd7ej        fd8ej*        d2fd9ed2f e+d2          gd:Z,d; Z-dS )<r   z@
    For the Coq theorem prover.

    .. versionadded:: 1.5
    Coqzhttp://coq.inria.fr/coqz*.vz
text/x-coqr   )ZSectionModuleEndRequireImportExportVariable	Variables	Parameter
ParametersAxiomAxioms
Hypothesis
HypothesesNotationLocalTacticReservedScopeOpenCloseBindDelimit
DefinitionExampleLetLtacFixpoint
CoFixpointMorphismRelationImplicit	ArgumentsTypesUnset
ContextualStrictPrenex	Implicits	InductiveCoInductiveRecord	StructureVariant	CanonicalCoercionTheoremLemmaFactRemark	CorollaryPropositionPropertyGoalProofRestartSaveQedDefinedAbortAdmittedHintResolveRewriteViewSearchComputeEvalShowPrintPrintingAllGraphProjectionsinsideoutsideCheckGlobalInstanceClassExistingUniversePolymorphicMonomorphicContextSchemeFromUndoFailFunction)forallexistsexists2funfixcofixstructmatchendinreturnletifisthenelseforofnosimplwithas)TypePropSPropSet)Cposesetmovecaseelimapplyclearhnfintrointros
generalizerenamepatternafterdestruct	inductionusingrefine	inversion	injectionrewritecongrunlockcomputeringfieldreplacefoldunfoldchange
cutrewritesimplhavesuffwlogsufficeswithoutlossnat_normassertcuttrivialrevert
bool_congr	nat_congrsymmetrytransitivityautosplitleftrightautorewritetautosetoid_rewrite	intuitioneautoeapplyeconstructoretransitivityconstructorerewriteredcbvlazy
vm_computenative_computesubst)bynowdoneexactreflexivityr   romegaomegalianialranrapsatz
assumptionsolvecontradictiondiscriminate
congruenceadmit)dolastfirsttryidtacrepeat):z!=#&z&&z\(z\)z\*z\+,-z-\.z->\.z\.\.::::=z:>;z;;<z<-z<->=>z>]z>\}z\?z\?\?z\[z\[<z\[>z\[\|]_`z\{z\{<z\|z\|]z\}~z=>z/\\z\\/z\{\|z\|\}u   λ   ¬u   ∧u   ∨u   ∀u   ∃u   →u   ↔u   ≠u   ≤u   ≥z[!$%&*+\./:<=>?@^|~-]z[!?~]z[=<>@^|&+\*/$%-]\s+zfalse|true|\(\)|\[\]\(\*commentz'\b(?:[^\W\d][\w\']*\.)+[^\W\d][\w\']*\bz\bEquations\b\??z"\bSet(?=[ \t]+[A-Z][a-z][^\n]*?\.)\bprefixsuffixz\b([A-Z][\w\']*)z(%s)|N(z)?z[^\W\d][\w']*z\d[\d_]*0[xX][\da-fA-F][\da-fA-F_]*0[oO][0-7][0-7_]*0[bB][01][01_]*z(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)z7'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'z'.''"string[~?][a-z][\w\']*:\S[^(*)]+#push\*\)#pop[(*)]z[^"]+z""r   z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z][a-z0-9_\']*)rootr   r  dottedc                     d| v rd| v rdS d S d S )NrO   rL       )texts    d/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/theorem.pyanalyse_textzCoqLexer.analyse_text   s#    D==W__1 =__    ).__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesflags	keywords1	keywords2	keywords3	keywords4	keywords5	keywords6keyopts	operatorsprefix_syms
infix_symsr   r
   BuiltinPseudor   r	   	Namespacer   r   r'   joinr   r   IntegerHexOctBinFloatr   CharDoubler   re   r   tokensr  r  r  r  r   r      s         D
 CgGIIEI$IIIIIG )IK$J TN$dl&9:gy)7> '"342G4EFU9U59997;LMU9U59997CU9U59997<HU9U59997CU9U59997>JU9U59997;KL $'sxx"...99(jj+++yyA8Lt$&.)+VZ8!6:.,8&,GGUV[!7O6=(+!4(DL'(G$
L !gw'gv&w	
 v}%FM"6=&)
 TNK %t~6dj&1!40GFOO
c9 9Fv    r  r   c                      e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZg defdedfdej        dfdedf e e          e!f e e          e!j"        f e e	d d !          e#j$        f e e
d d !          e#j%        f e ed d !          e#f e ed d !          e#f e ed d !          e&j'        f e ed d !          e&j(        f e ed d !          e#j)        f e ed d !          e#j)        f e ed d !          e&j*        f e ed d !          e#f e ed d !          e#f e ed d !          e#f e ed d !          e#f e ed d !          e#f e ed d !          e#f e ed d !          e#f e ed d !          e#j$        fd"e+j        fd#e,j%        fd$e-j.        fd%e-j/        fd&e-j0        fd'ed(fd)ej1        d*fd+e,fd,efded-fd.ed/fd0efgd1efdej        d-fded-fd2ej        d/fd3ed/fd"ej        fd4efgd5efd"ej        fd6efd7efd'ed/fgd8ej1        fd"ej        fd9ej1        fd7ej1        fd)ej1        d/fgd:Z2d;S )<r   zF
    For the Isabelle proof assistant.

    .. versionadded:: 2.0
    Isabellezhttps://isabelle.in.tum.de/isabellez*.thyztext/x-isabelle)2andassumesattachavoidsbindercheckingclass_instanceclass_relationcode_modulecongsconstant
constrains	datatypesdefinesfilefixesr   	functionshints
identifierr|   importsry   includesinfixinfixlinfixrr}   keywordsr   module_namemonos	morphismsno_discs_selsnotesobtainsopenoutput
overloaded
parametric
permissive	pervasive
rep_compatshows	structure
type_classtype_constructor	uncheckedunsafewhere)L
ML_commandML_val
class_deps	code_deps	code_thmsdisplay_draftsfind_constsfind_theoremsfind_unused_assmsfull_prfhelplocale_depsnitpickprprfprint_abbrevsprint_antiquotationsprint_attributesprint_binds
print_bnfsprint_bundlesprint_case_translationsprint_casesprint_clasetprint_classesprint_codeprocprint_codesetupprint_coercionsprint_commandsprint_contextprint_defn_rulesprint_dependenciesprint_factsprint_induct_rulesprint_inductivesprint_interpsprint_localeprint_localesprint_methodsprint_optionsprint_ordersprint_quot_mapsprint_quotconstsprint_quotientsprint_quotientsQ3print_quotmapsQ3print_rulesprint_simpsetprint_stateprint_statementprint_syntaxprint_theoremsprint_theoryprint_trans_rulesproppwd
quickcheckrefutesledgehammer
smt_statussolve_directspark_statustermthmthm_depsthy_depsr   try0typunused_thmsvaluevalueswelcomeprint_ML_antiquotationsprint_term_bindingsvalues_prolog)theorybeginrx   )headerchapter)section
subsectionsubsubsectionsectsubsect
subsubsect)MLML_fileabbreviationadhoc_overloadingarities	atom_declattribute_setupaxiomatizationbundlecase_of_simpsclassclassesclassrel
codatatype
code_abort
code_class
code_constcode_datatypecode_identifiercode_includecode_instancecode_modulename
code_monadcode_printingcode_reflectcode_reserved	code_typecoinductivecoinductive_setconstscontextdatatypedatatype_newdatatype_new_compatdeclarationdeclaredefault_sortdefer_recdef
definitiondefsdomaindomain_isomorphism	domaindefequivarianceexport_codeextractextract_typefixrecrs   	fun_cases
hide_class
hide_const	hide_fact	hide_typeimport_const_mapimport_fileimport_tptpimport_type_map	inductiveinductive_setinstantiationjudgmentlemmaslifting_forgetlifting_updatelocal_setuplocalemethod_setupnitpick_paramsno_adhoc_overloadingno_notation	no_syntaxno_translationsno_type_notationnominal_datatypenonterminalnotationnotepadoracleoverloadingparse_ast_translationparse_translationpartial_function	primcorecprimrecprimrec_newprint_ast_translationprint_translationquickcheck_generatorquickcheck_paramsrealizability	realizersrecdefrecordrefute_paramssetupsetup_liftingsimproc_setupsimps_of_casesledgehammer_params	spark_end
spark_openspark_open_sivspark_open_vcgspark_proof_functionsspark_types
statespacesyntaxsyntax_declarationr  text_rawtheoremstranslationstype_notationtype_synonymtyped_print_translationtypedecl
hoarestateinstall_C_fileinstall_C_types	wpc_setupc_defsc_typesmemsafe
SML_exportSML_file
SML_importapproximatebnf_axiomatization	cartouchedatatype_compatfree_constructorsfunctornominal_functionnominal_terminationpermanent_interpretationbindsdefiningsmt2_statusterm_cartoucheboogie_filetext_cartouche)inductive_casesinductive_simps)!ax_specificationbnf	code_pred	corollarycpodefcrunchcrunch_ignoreenriched_typefunctioninstanceinterpretationlemmalift_definitionnominal_inductivenominal_inductive2nominal_primrecpcpodefprimcorecursivequotient_definitionquotient_type	recdef_tcrep_datatypeschematic_corollaryschematic_lemmaschematic_theoremspark_vcspecificationsubclass	sublocaleterminationtheoremtypedefwrap_free_constructors)r   r   qed)sorryoops)r   hence	interpret)nextproof)finallyfromr~   
ultimatelyr   )ML_prfalsoinclude	includingr{   moreovernotetxttxt_raw	unfoldingr   write)assumer   defrt   presume)guessobtainshowthus)r   	apply_endapply_tracebackdeferprefer)r   r   r   )[r   r   r   r   r   +r   !?){}.z..r   r   r   z\\<open>r9  u   \{\*|‹r   r   z\\<(\w|\^)*>z'[^\W\d][.\w']*r   r   r  r  r  r   factz/[^\s:|\[\]\-()=,+!?{}._][^\s:|\[\]\-()=,+!?{}]*r  r  r	  r
  r  u   [^{*}\\‹›]+z	\\<close>u   \*\}|›z[{*}\\]z[^"\\]+z\\"z\\z[^`\\]+z\\`)r  r   r9  r  r  N)3r  r  r  r  r  r  r  r  r  keyword_minorkeyword_diagkeyword_thykeyword_sectionkeyword_subsectionkeyword_theory_declkeyword_theory_scriptkeyword_theory_goalkeyword_qedkeyword_abandon_proofkeyword_proof_goalkeyword_proof_blockkeyword_proof_chainkeyword_proof_declkeyword_proof_asmkeyword_proof_asm_goalkeyword_proof_scriptr&  proof_operatorsr   r   r   Symbolr   r   Wordr	   r*  r   r   Heading
Subheadingr+  Errorr   r
   r   r.  r/  r0  Otherr4  r  r  r  r   r      s         D
'ClG	I"#I
ML, -K+O
$L C
 (K-7+
 D@I
 ,O.
Z .
gy).
 &-5.
 &+.	.
 U9x(.
 U?##X]3.
 U=u===w~N.
 U<e<<<glK.
 U;uU;;;WE.
 U&uUCCCWM.
  U?5???Q!.
" U%eEBBBGDVW#.
& U&uUCCCWEVW'.
( U(uEEEwGXY).
, U(uEEEw}U-.
0 U;uU;;;WE1.
2 U%eEBBBGL3.
4 U&uUCCCWM5.
6 U%eEBBBGL7.
: U&uUCCCWM;.
< U$U5AAA7K=.
> U)%FFFP?.
B U'eDDDgnUC.
F dk*G.
J  +K.
N ,VZ8O.
P "6:.Q.
R  ,S.
V 68$W.
X 6<(Y.
Z @F[.
` !gw'gv&w	
  (&-1&'*6=&1&&)fm, 
  fm,VFO66"
 &fm,V\"FL!6<(
MM MFFFr  r   c                      e Zd ZdZdZdZdgZdgZdgZde	fde
j        d	fd
edfdej        f eddd          ej        f eddd          ej        fdej        f eddd          ef eddd          ej        f eddd          ej        f edd          ef ed          efdefdej        fdej        fdej        fde
j        dfde
j        fdej        fd ej        j        fgd!ej        fd
ej        d"fd#ej        d$fd%ej        fgd!e
j        fd#e
j        d$fd%e
j        fgd&e
j        fd'e
j        fde
j        d$fgd(Z d)S )*r   zA
    For the Lean theorem prover.

    .. versionadded:: 2.0
    Leanz"https://github.com/leanprover/leanleanz*.leanztext/x-leanr   z/--	docstringz/-r   z--.*?$)importrenaminghiding	namespacelocalprivate	protectedr  ru  omitr  r  exportrW  	attributer   r   )(rS  rf  r~  r  exampleaxiomaxiomsrB  	constantsuniverse	universesr  r  r_  extendsr  rQ  r  znoncomputable theorynoncomputablemutualmetar  	parameter
parametersvariable	variablesreserve
precedencepostfixr   r  rM  rN  rO  r  r   rx   
set_optionrun_cmdz@\[[^\]]*\])rp   rs   Pirq  r   r  r}  r   r{   r|   r   r~   ry   r   calcrw   r   )rj  r   )Sortr   r   )z#evalz#checkz#reducez#exitz#printz#help)r   )r   r  r   r  r  r  r   u   ⟨u   ⟩u   ‹u   ›u   ⦃u   ⦄r   r   z[A-Za-z_\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2100-\u214f][.A-Za-z_\'\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2070-\u2079\u207f-\u2089\u2090-\u209c\u2100-\u214f0-9]*z0x[A-Za-z0-9]+z0b[01]+z\d+r  r  z='(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})|.)'r  r  z[^/-]r  z-/r
  z[/-]z[^\\"]+z9(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})))r  r   r  r  N)!r  r  r  r  r  r  r  r  r  r   r   Docr   Singler   r	   r+  Declarationr   r  r   r   r
   r   r-  r3  r2  r   r)  r*  	MultilineEscaper4  r  r  r  r   r     sm        
 D
.ChG
II TNVZ-GY''U 	 E	+ 	+ 	+ -4,=	? U 0 E1+ + +0 -4,?1A2 W01U  E	+ + + -4	5
 U%eEBBBGMRU+E%HHH',WU     &' U   =>BD /(V^$6=(+Mv{[!4=1DL'(AA
F w()G%w/G%v.g'(	
 vz"FJ'fj!
 'I6=Y&-(
]S SFFFr  r   N)r  pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   r   r   r  r  r  <module>r     sX    6 5 5 5 5 5 5 5 5 5- - - - - - - - - - - - - - - - - - - - - - - - 5
4
4U U U U Uz U U UpX X X X XJ X X Xv_ _ _ _ _
 _ _ _ _ _r  