Ë
    !täiïE  ã                   ó�   — 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e«      Z G d„ de«      Zy	)
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                   ó$  — 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.                  j0                  fdedfdefdej6                  fd eej6                  eej6                  «      fdej6                  dfdej6                  df eedd¬ «      ej6                  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j0                  f eedd¬ «      ej>                  fd!efd"jA                  d#jC                  ed$d$d%…   «      «      e"fd&e› d#e› d'e› �e"fd(efd)e#jH                  fd*e#jJ                  fd+e#jL                  fd,e#jN                  fd-e#jP                  fd.e)jT                  fd/e)jT                  fd0efd1e)jV                  d2fd3efd4ej.                  j0                  fgdefd5ej6                  fd1e)jV                  d2fd6e#jH                  fd7e,d8fgdefd9efd:e"fd;efd)e#jH                  fd*e#jJ                  fdedfd7e,d8fgd<efded=fd>ed8fd?efgd@e)jV                  fdAe)jV                  fd1e)jV                  d8fgdefd7e,fdBej6                  fdCejZ                  d8fdDed8f e.d8«      gdEœZ/dF„ Z0y$)Gr   z
    For the Rocq Prover.
    zRocq Proverzhttps://rocq-prover.org/)ÚcoqÚrocqzrocq-proverz*.vz
text/x-coqztext/x-rocqz1.5r   )cÚSectionÚModuleÚEndÚRequireÚImportÚExportÚIncludeÚVariableÚ	VariablesÚ	ParameterÚ
ParametersÚAxiomÚAxiomsÚ
HypothesisÚ
HypothesesÚNotationÚLocalÚTacticÚReservedÚScopeÚOpenÚCloseÚBindÚDeclareÚDelimitÚ
DefinitionÚExampleÚLetÚLtacÚLtac2ÚFixpointÚ
CoFixpointÚMorphismÚRelationÚImplicitÚ	ArgumentsÚTypesÚ
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ÚProgramÚElpiÚExtractÚOpaqueÚTransparentÚUnshelvezNext Obligation)Ú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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+rñ   ú#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_\']*)Úrootr   r  rÿ   r  Údottedc                 ó   — d| v rd| v ryy y )NrR   rO   é   © )Útexts    úf/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/theorem.pyÚanalyse_textzRocqLexer.analyse_text¾   s   € Ø�D‰=˜W¨™_Øð -ˆ=ó    )1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚflagsÚ	keywords1Ú	keywords2Ú	keywords3Ú	keywords4Ú	keywords5Ú	keywords6ÚkeyoptsÚ	operatorsÚprefix_symsÚ
infix_symsr   r   ÚBuiltinÚPseudor   r
   Ú	Namespacer   r   rŽ   r)   ÚformatÚjoinr	   r   ÚIntegerÚHexÚOctÚBinÚFloatr   ÚCharÚDoubler   rh   r   Útokensr  r  r  r  r   r      s�  „ ñð €DØ
$€CÚ,€GØ�€IØ˜}Ð-€IØ€Mà€Eð€Ið&€Ið€Ið€Ið€Ið€Ið€Gð )€IØ€KØ$€Jð �TˆNØ$ d§l¡l×&9Ñ&9Ð:Ø�g˜yÐ)Ø7¸Ð>Ø  '×"3Ñ"3Ð4Ø]Ñ_gÐho×hyÑhyÐz~ð  @G÷  @Qñ  @Qó  `Rð  Sà<¸g×>OÑ>OÐQ^Ð_Ø.°×0AÑ0AÀ=ÐQÙ�9 U°5Ô9¸7×;LÑ;LÐMÙ�9 U°5Ô9¸7ÐCÙ�9 U°5Ô9¸7¿<¹<ÐHÙ�9 U°5Ô9¸7ÐCÙ�9 U°5Ô9¸7¿>¹>ÐJÙ�9 U°5Ô9¸7×;KÑ;KÐLà  $Ð'Ø�^‰^˜CŸH™H W©T¨r¨T¡]Ó3Ó4°hÐ?Ø�*�˜Q˜{˜m¨2¨i¨[Ð9¸8ÐDà˜tÐ$à˜&Ÿ.™.Ð)Ø+¨V¯Z©ZÐ8Ø! 6§:¡:Ð.Ø §¡Ð,Ø8¸&¿,¹,ÐGàGÈÏÉÐUà�V—[‘[Ð!Ø�7ˆOà�6—=‘= (Ð+à! 4Ð(Ø�D—L‘L×'Ñ'Ð(ðK&
ðP �TˆNØ˜'×+Ñ+Ð,Ø�6—=‘= (Ð+Ø�V—^‘^Ð$Ø�K Ð(ð
ð �TˆNà:¸GÐDØ˜xÐ(Ø7¸Ð>Ø˜&Ÿ.™.Ð)Ø+¨V¯Z©ZÐ8Ø�g˜yÐ)Ø�K Ð(ð

ð % gÐ.Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð
ð �v—}‘}Ð%Ø�F—M‘MÐ"Ø�6—=‘= &Ð)ð
ð �TˆNØ�KÐ Ø% t§~¡~Ð6Ø˜dŸj™j¨&Ð1Ø! 4¨Ð0Ù�F‹Oð
ñMN€Fó`r  c                   óX  — 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g def‘dedf‘dej@                  df‘d edf‘ e!e«      e"f‘ e!e«      e"jF                  f‘ e!e
d!d!¬"«      e$jJ                  f‘ e!ed!d!¬"«      e$jL                  f‘ e!ed!d!¬"«      e$f‘ e!ed!d!¬"«      e$f‘ e!ed!d!¬"«      e'jP                  f‘ e!ed!d!¬"«      e'jR                  f‘ e!ed!d!¬"«      e$jT                  f‘ e!ed!d!¬"«      e$jT                  f‘ e!ed!d!¬"«      e'jV                  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$jJ                  f‘d#e,j@                  f‘d$e-jL                  f‘d%e.j^                  f‘d&e.j`                  f‘d'e.jb                  f‘d(ed)f‘d*ejd                  d+f‘d,e-f‘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jd                  fd#ej@                  fd:ejd                  fd8ejd                  fd*ejd                  d0fgd;œZ3y<)=r   z+
    For the Isabelle proof assistant.
    ÚIsabellezhttps://isabelle.in.tum.de/Úisabellez*.thyztext/x-isabellez2.0)2ÚandÚassumesÚattachÚavoidsÚbinderÚcheckingÚclass_instanceÚclass_relationÚcode_moduleÚcongsÚconstantÚ
constrainsÚ	datatypesÚdefinesÚfileÚfixesr‰   Ú	functionsÚhintsÚ
identifierr…   Úimportsr‚   Ú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Úbeginr�   )Ú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Úfixrecr|   Ú	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•   Údefr}   Ú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>rB  u   \{\*|â€¹r  r  z\\<(\w|\^)*>z'[^\W\d][.\w']*r	  r
  r  r  r  rú   Úfactz/[^\s:|\[\]\-()=,+!?{}._][^\s:|\[\]\-()=,+!?{}]*z[^(*)]+r  r  r  r  u   [^{*}\\â€¹â€º]+z	\\<close>u   \*\}|â€ºz[{*}\\]z[^"\\]+z\\"z\\z[^`\\]+z\\`)r  rÿ   rB  r  rš  N)4r  r  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
   r2  rŽ   r   ÚHeadingÚ
Subheadingr3  ÚErrorr   r   r   r7  r8  r9  ÚOtherr=  r  r  r  r   r   Ã   s�  „ ñð €DØ
'€CØˆl€GØ�	€IØ"Ð#€IØ€Mð
€Mð€Lð, -€Kà+€OðÐð
$ÐðL CÐð
Ðð (€KØ-Ðà7Ðà+ÐðÐðÐð
 DÐà@ÐðÐð€Ið
 ,€Oð.
Ø�ZÐ ð.
à�g˜yÐ)ð.
ð ˜&Ÿ-™-¨Ð5ð.
ð ˜& +Ð.ð	.
ñ �9Ó˜xÐ(ð.
ñ �?Ó# X§]¡]Ð3ð.
ñ �=¨°uÔ=¸w¿~¹~ÐNð.
ñ �<¨°eÔ<¸g¿l¹lÐKð.
ñ �; u°UÔ;¸WÐEð.
ñ Ð&¨u¸UÔCÀWÐMð.
ñ  �?¨5¸Ô?ÀÇÁÐQð!.
ñ" Ð%¨e¸EÔBÀG×DVÑDVÐWð#.
ñ& Ð&¨u¸UÔCÀW×EVÑEVÐWð'.
ñ( Ð(°¸uÔEÀw×GXÑGXÐYð).
ñ, Ð(°¸uÔEÀwÇ}Á}ÐUð-.
ñ0 �; u°UÔ;¸WÐEð1.
ñ2 Ð%¨e¸EÔBÀGÐLð3.
ñ4 Ð&¨u¸UÔCÀWÐMð5.
ñ6 Ð%¨e¸EÔBÀGÐLð7.
ñ: Ð&¨u¸UÔCÀWÐMð;.
ñ< Ð$¨U¸5ÔAÀ7ÐKð=.
ñ> Ð)°%ÀÔFÈÐPð?.
ñB Ð'°¸eÔDÀgÇnÁnÐUðC.
ðF ˜dŸk™kÐ*ðG.
ðJ   §¡Ð+ðK.
ðN ,¨V¯Z©ZÐ8ðO.
ðP " 6§:¡:Ð.ðQ.
ðR   §¡Ð,ðS.
ðV �6˜8Ð$ðW.
ðX �6—<‘< Ð(ðY.
ðZ @ÀÐFð[.
ð` ˜Ð!Ø�g˜wÐ'Ø�g˜vÐ&Ø�wÐð	
ð   Ð(Ø˜&Ÿ-™-¨Ð1Ø˜& 'Ð*Ø˜6Ÿ=™=¨&Ð1Ø˜& &Ð)Ø˜fŸm™mÐ,Ø˜Ð ð
ð ˜Ð Ø˜fŸm™mÐ,Ø�VÐØ�FˆOØ�6˜6Ð"ð
ð ˜Ÿ™Ð&Ø˜fŸm™mÐ,Ø�V—\‘\Ð"Ø�F—L‘LÐ!Ø�6—<‘< Ð(ð
ñMM�Fr  N)r  Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Úpygments.lexers.leanr   Ú__all__r   r   r  r  r  Ú<module>r·     sN   ðñ
÷ @Ó ?÷-÷ -÷ -õ +à˜Ð
(€ôj�
ô jôZW�Jõ Wr  