a
    ñ»jïE  ã                   @   s„   d Z ddlmZ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 ddlmZ ddgZG dd„ deƒZG dd„ deƒZd	S )
a  
    pygments.lexers.theorem
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for theorem-proving languages.

    See also :mod:`pygments.lexers.lean`

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚbygroupsÚdefaultÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
Whitespace)Ú	LeanLexerÚ	RocqLexerÚIsabelleLexerc                   @   s†  e Zd ZdZdZdZg d¢ZdgZd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efdejjfdedfdefdejfdeejeejƒfdejdfdejdfeeddd �ejfeeddd �efeeddd �ejfeeddd �efeeddd �ejfeeddd �ejfd!efd"  d# !ed$d$d%… ¡¡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d0efd1e)j+d2fd3efd4ejjfgdefd5ejfd1e)j+d2fd6e#j$fd7e,d8fgdefd9efd:e"fd;efd)e#j$fd*e#j%fdedfd7e,d8fgd<efded=fd>ed8fd?efgd@e)j+fdAe)j+fd1e)j+d8fgdefd7e,fdBejfdCej-d8fdDed8fe.d8ƒgdEœZ/dFdG„ Z0d$S )Hr   z
    For the Rocq Prover.
    zRocq Proverzhttps://rocq-prover.org/)ÚcoqZrocqzrocq-proverz*.vz
text/x-coqztext/x-rocqz1.5r   )cZSectionÚModuleZEndZRequireÚImportZExportÚIncludeÚVariableÚ	VariablesÚ	ParameterZ
ParametersZAxiomZAxiomsZ
HypothesisZ
HypothesesZNotationZLocalZTacticÚReservedZScopeZOpenÚCloseZBindZDeclareZDelimitZ
DefinitionZExampleZLetZLtacZLtac2ZFixpointZ
CoFixpointZMorphismZRelationZImplicitÚ	ArgumentsZTypesZ
ContextualZStrictZPrenexZ	ImplicitsZ	InductiveZCoInductiveZRecordÚ	StructureZVariantZ	CanonicalZCoercionZTheoremZLemmaZFactZRemarkZ	CorollaryZPropositionÚPropertyZGoalÚProofZRestartZSaveÚQedZDefinedZAbortZAdmittedZHintZResolveZRewriteZViewZSearchZComputeZEvalZShowZPrintZPrintingZAllZGraphZProjectionsZinsideZoutsideZCheckÚGlobalÚInstanceÚClassZExistingZUniverseZPolymorphicZMonomorphicÚContextÚSchemeÚFromZUndoZFailÚFunctionZProgramÚElpiZExtractZOpaqueZTransparentZUnshelvezNext Obligation)ÚforallÚexistsZexists2ÚfunÚfixZcofixÚstructÚmatchÚendÚinÚreturnÚletÚifÚisÚthenÚelseÚforZofZnosimplÚwithÚas)ÚTypeZPropZSPropÚSet)CZposeÚsetÚmoveÚcaseZelimÚapplyÚclearZhnfZintroZintrosZ
generalizeÚrenameÚpatternÚafterZdestructZ	inductionÚusingZrefineZ	inversionZ	injectionZrewriteZcongrÚunlockZcomputeÚringÚfieldÚreplaceÚfoldZunfoldZchangeZ
cutrewriteZsimplÚhaveÚsuffZwlogZsufficesZwithoutZlossZnat_normÚassertÚcutZtrivialÚrevertZ
bool_congrZ	nat_congrZsymmetryZtransitivityÚautoÚsplitÚleftÚrightZautorewriteÚtautoZsetoid_rewriteZ	intuitionZeautoZeapplyZeconstructorZetransitivityÚconstructorZerewriteÚredZcbvÚlazyZ
vm_computeZnative_computeÚsubst)ÚbyÚnowÚdoneÚexactZreflexivityrS   ZromegaÚomegaZliaZniaZlraZnraZpsatzZ
assumptionZsolveZcontradictionZdiscriminateZ
congruenceZadmit)ÚdoÚlastÚfirstÚtryZ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lp:\{\{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\??zM\b(Elpi)(\s+)(Program|Query|Accumulate|Command|Typecheck|Db|Export|Tactic)?\bz,\bUnset\b|\bSet(?=[ \t]+[A-Z][a-z][^\n]*?\.)úset-optionsz\b(?:String|Number)\s+Notationúsn-notationú\b©ÚprefixÚsuffixz\b([A-Z][\w\']*)z({})ú|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'.'ú'ú"Ústringz[~?][a-z][\w\']*:z\Sz[A-Z]\w*z\d+rf   ú#popz*\b(?:via|mapping|abstract|warning|after)\bz=>|[()\[\]:,]z'\b[^\W\d][\w\']*(?:\.[^\W\d][\w\']*)*\bz([^(*)]+|\*+(?!\)))+ú#pushú\*\)ú[(*)]z[^"]+z""z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z][a-z0-9_\']*)Úrootru   rv   rt   rƒ   Zdottedc                 C   s   d| v rd| v rdS d S )Nr    r   é   © )ÚtextrŠ   rŠ   ú=E:\soccer\ml_env\Lib\site-packages\pygments/lexers/theorem.pyÚanalyse_text¾   s    zRocqLexer.analyse_text)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚflagsZ	keywords1Z	keywords2Z	keywords3Z	keywords4Z	keywords5Z	keywords6ZkeyoptsÚ	operatorsZprefix_symsZ
infix_symsr   r
   ÚBuiltinÚPseudor   r	   Ú	Namespacer   r   r:   r   ÚformatÚjoinr   r   ÚIntegerÚHexÚOctÚBinÚFloatr   ÚCharÚDoubler   r#   r   Útokensr�   rŠ   rŠ   rŠ   rŒ   r      s¢   	




Û(
û÷û
ý
úºPc                    @   sÀ  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dZ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!d"�e$j%fe!ed!d!d"�e$j&fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e'j(fe!ed!d!d"�e'j)fe!ed!d!d"�e$j*fe!ed!d!d"�e$j*fe!ed!d!d"�e'j+fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$fe!ed!d!d"�e$j%fd#e,j fd$e-j&fd%e.j/fd&e.j0fd'e.j1fd(ed)fd*ej2d+fd,e-fgd-efded.fd/ed0fd1efgd2efdej d.fd ed.fd3ej d0fd4ed0fd#ej fd5efgd6efd#ej fd7efd8efd(ed0fgd9ej2fd#ej fd:ej2fd8ej2fd*ej2d0fgd;œZ3d<S )=r   z+
    For the Isabelle proof assistant.
    ÚIsabellezhttps://isabelle.in.tum.de/Úisabellez*.thyztext/x-isabellez2.0)2ÚandZassumesÚattachZavoidsZbinderZcheckingZclass_instanceZclass_relationZcode_moduleZcongsZconstantZ
constrainsZ	datatypesZdefinesÚfileÚfixesr7   Z	functionsÚhintsÚ
identifierr3   Zimportsr0   ZincludesZinfixZinfixlZinfixrr4   ÚkeywordsrV   Úmodule_nameZmonosZ	morphismsZno_discs_selsÚnotesZobtainsÚopenÚoutputZ
overloadedZ
parametricZ
permissiveZ	pervasiveZ
rep_compatZshowsZ	structureZ
type_classZtype_constructorÚ	uncheckedÚunsafeÚwhere)LZ
ML_commandZML_valZ
class_depsZ	code_depsZ	code_thmsZdisplay_draftsZfind_constsZfind_theoremsZfind_unused_assmsZfull_prfÚhelpZlocale_depsZnitpickÚprZprfZprint_abbrevsZprint_antiquotationsZprint_attributesZprint_bindsZ
print_bnfsZprint_bundlesZprint_case_translationsZprint_casesZprint_clasetZprint_classesZprint_codeprocZprint_codesetupZprint_coercionsÚprint_commandsZprint_contextZprint_defn_rulesZprint_dependenciesZprint_factsZprint_induct_rulesZprint_inductivesZprint_interpsZprint_localeZprint_localesZprint_methodsZprint_optionsZprint_ordersZprint_quot_mapsZprint_quotconstsZprint_quotientsZprint_quotientsQ3Zprint_quotmapsQ3Zprint_rulesZprint_simpsetZprint_stateZprint_statementZprint_syntaxZprint_theoremsZprint_theoryZprint_trans_rulesÚpropÚpwdZ
quickcheckZrefuteZsledgehammerZ
smt_statusZsolve_directZspark_statusÚtermZthmZthm_depsZthy_depsr`   Ztry0ÚtypZunused_thmsÚvalueÚvaluesZwelcomeZprint_ML_antiquotationsZprint_term_bindingsZvalues_prolog)ZtheoryÚbeginr/   )ÚheaderZchapter)ÚsectionZ
subsectionZsubsubsectionÚsectZsubsectZ
subsubsect)ŽZMLZML_fileZabbreviationZadhoc_overloadingZaritiesZ	atom_declZattribute_setupZaxiomatizationZbundleZcase_of_simpsÚclassÚclassesZclassrelZ
codatatypeZ
code_abortZ
code_classZ
code_constZcode_datatypeZcode_identifierZcode_includeZcode_instanceZcode_modulenameZ
code_monadZcode_printingZcode_reflectZcode_reservedZ	code_typeZcoinductiveZcoinductive_setZconstsÚcontextÚdatatypeZdatatype_newZdatatype_new_compatZdeclarationZdeclareZdefault_sortZdefer_recdefZ
definitionZdefsÚdomainZdomain_isomorphismZ	domaindefZequivarianceZexport_codeÚextractZextract_typeZfixrecr+   Z	fun_casesZ
hide_classZ
hide_constZ	hide_factZ	hide_typeZimport_const_mapZimport_fileZimport_tptpZimport_type_mapZ	inductiveZinductive_setZinstantiationZjudgmentZlemmasZlifting_forgetZlifting_updateZlocal_setupÚlocaleZmethod_setupZnitpick_paramsZno_adhoc_overloadingZno_notationZ	no_syntaxZno_translationsZno_type_notationZnominal_datatypeZnonterminalÚnotationZnotepadZoracleZoverloadingZparse_ast_translationZparse_translationZpartial_functionZ	primcorecZprimrecZprimrec_newZprint_ast_translationZprint_translationZquickcheck_generatorZquickcheck_paramsZrealizabilityZ	realizersZrecdefÚrecordZrefute_paramsÚsetupZsetup_liftingZsimproc_setupZsimps_of_caseZsledgehammer_paramsZ	spark_endZ
spark_openZspark_open_sivZspark_open_vcgZspark_proof_functionsZspark_typesZ
statespaceÚsyntaxZsyntax_declarationr‹   Ztext_rawZtheoremsZtranslationsZtype_notationZtype_synonymZtyped_print_translationZtypedeclZ
hoarestateZinstall_C_fileZinstall_C_typesZ	wpc_setupZc_defsZc_typesZmemsafeZ
SML_exportZSML_fileZ
SML_importZapproximateZbnf_axiomatizationÚ	cartoucheZdatatype_compatZfree_constructorsZfunctorZnominal_functionZnominal_terminationZpermanent_interpretationZbindsZdefiningZsmt2_statusZterm_cartoucheZboogie_fileZtext_cartouche)Zinductive_casesZinductive_simps)!Zax_specificationÚbnfZ	code_predZ	corollaryZcpodefZcrunchZcrunch_ignoreZenriched_typeÚfunctionÚinstanceZinterpretationZlemmaZlift_definitionZnominal_inductiveZnominal_inductive2Znominal_primrecZpcpodefZprimcorecursiveZquotient_definitionZquotient_typeZ	recdef_tcZrep_datatypeZschematic_corollaryZschematic_lemmaZschematic_theoremZspark_vcÚspecificationÚsubclassZ	sublocaleZterminationZtheoremZtypedefZwrap_free_constructors)rX   rZ   Zqed)ZsorryZoops)rJ   ZhenceZ	interpret)ÚnextZproof)ÚfinallyÚfromr5   Z
ultimatelyr8   )ZML_prfZalsoÚincludeZ	includingr2   ZmoreoverÚnoteÚtxtZtxt_rawZ	unfoldingrD   Úwrite)Zassumer>   Údefr,   Zpresume)ÚguessÚobtainÚshowZthus)r?   Z	apply_endZapply_traceÚbackZdeferZprefer)rh   rg   r}   ú)ú[rm   rn   rk   rd   r{   ú+re   ú!ú?)Ú{Ú}Ú.z..rr   rs   rt   z\\<open>rÏ   u   \{\*|â€¹rw   rx   z\\<(\w|\^)*>z'[^\W\d][.\w']*r~   r   r€   r‚   rƒ   ro   Úfactz/[^\s:|\[\]\-()=,+!?{}._][^\s:|\[\]\-()=,+!?{}]*z[^(*)]+r…   r†   r„   r‡   u   [^{*}\\â€¹â€º]+z	\\<close>u   \*\}|â€ºz[{*}\\]z[^"\\]+z\\"z\\z[^`\\]+z\\`)rˆ   rt   rÏ   rƒ   ré   N)4rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   Zkeyword_minorZkeyword_diagZkeyword_thyZkeyword_sectionZkeyword_subsectionZkeyword_theory_declZkeyword_theory_scriptZkeyword_theory_goalZkeyword_qedZkeyword_abandon_proofZkeyword_proof_goalZkeyword_proof_blockZkeyword_proof_chainZkeyword_proof_declZkeyword_proof_asmZkeyword_proof_asm_goalZkeyword_proof_scriptr™   Zproof_operatorsr   r   r   ÚSymbolr   r   ÚWordr	   r›   r:   r   ÚHeadingÚ
Subheadingrœ   ÚErrorr   r
   r   r    r¡   r¢   ÚOtherr¦   rŠ   rŠ   rŠ   rŒ   r   Ã   s¨   &


Ó0ü

ù
û
ûºN)r‘   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   r   Zpygments.lexers.leanr   Ú__all__r   r   rŠ   rŠ   rŠ   rŒ   Ú<module>   s   0 .