
    O                         S r SSKrSSKJrJrJrJr  SSKJrJ	r	J
r
JrJrJrJrJrJrJr  / SQr " S S\5      r " S S	\5      r " S
 S\5      rg)z
pygments.lexers.theorem
~~~~~~~~~~~~~~~~~~~~~~~

Lexers for theorem-proving languages.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerdefaultwordsinclude)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace)CoqLexerIsabelleLexer	LeanLexerc                      \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
rSrSrSrSrSrSrSrSrS\4S\R.                  R0                  4S\S4S\4S\R6                  4S\R6                  4\" \SSS9\R6                  4\" \SSS9\4\" \SSS9\R:                  4\" \SSS9\4\" \SSS9\R0                  4\" \SSS9\R<                  4S\4SSR?                  \SSS 2   5      -  \ 4S!\< S\< S"\< 3\ 4S#\4S$\!RD                  4S%\!RF                  4S&\!RH                  4S'\!RJ                  4S(\!RL                  4S)\'RP                  4S*\'RP                  4S+\4S,\'RR                  S-4S.\4S/\R.                  R0                  4/S0\4S\S14S2\S34S4\4/S5\'RR                  4S6\'RR                  4S,\'RR                  S34/S\4S7\*4S8\R6                  4S9\RV                  S34S:\S34\," S35      /S;.r-S< r.S=r/g)>r      z4
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                      SU ;   a  SU ;   a  gg g )NrQ   rN       )texts    *lib/third_party/pygments/lexers/theorem.pyanalyse_textCoqLexer.analyse_text   s    D=W_ -=    r  )0__name__
__module____qualname____firstlineno____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   rg   r   tokensr  __static_attributes__r  r  r  r   r      s    D
 CgGIIEI$IIIIIG )IK$J TN$dll&9&9:gy)7> '"3"342G4E4EF9U597;L;LM9U597C9U597<<H9U597C9U597>>J9U597;K;KL $'sxx"..9(+yA8Lt$&..)+VZZ8!6::.,8&,,GGUV[[!7O6==(+!4(DLL''(G$
L !gw'gv&w	
 v}}%FMM"6==&)
 TNK %t~~6djj&1!40FO
c9Fvr  r   c                      \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr/ S\4PS\S4PS\R@                  S4PS \S4P\!" \5      \"4P\!" \5      \"RF                  4P\!" \
S!S!S"9\$RJ                  4P\!" \S!S!S"9\$RL                  4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\'RP                  4P\!" \S!S!S"9\'RR                  4P\!" \S!S!S"9\$RT                  4P\!" \S!S!S"9\$RT                  4P\!" \S!S!S"9\'RV                  4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$4P\!" \S!S!S"9\$RJ                  4PS#\,R@                  4PS$\-RL                  4PS%\.R^                  4PS&\.R`                  4PS'\.Rb                  4PS(\S)4PS*\Rd                  S+4PS,\-4PS-\4S\S.4S/\S04S1\4/S2\4S\R@                  S.4S \S.4S3\R@                  S04S4\S04S#\R@                  4S5\4/S6\4S#\R@                  4S7\4S8\4S(\S04/S9\Rd                  4S#\R@                  4S:\Rd                  4S8\Rd                  4S*\Rd                  S04/S;.r3S<r4g=)>r      z:
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~   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beginrz   )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fixrecru   	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alsor   	includingr}   moreovernotetxttxt_raw	unfoldingr   write)assumer   defrv   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>r?  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   r?  r  r  r  N)5r  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
   r.  r   r   Heading
Subheadingr/  Errorr   r   r   r2  r3  r4  Otherr8  r9  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.
 &+.	.
 9x(.
 ?#X]]3.
 =u=w~~N.
 <e<gllK.
 ;uU;WE.
 &uUCWM.
  ?5?Q!.
" %eEBGDVDVW#.
& &uUCWEVEVW'.
( (uEwGXGXY).
, (uEw}}U-.
0 ;uU;WE1.
2 %eEBGL3.
4 &uUCWM5.
6 %eEBGL7.
: &uUCWM;.
< $U5A7K=.
> )%FP?.
B 'eDgnnUC.
F dkk*G.
J  +K.
N ,VZZ8O.
P "6::.Q.
R  ,S.
V 68$W.
X 6<<(Y.
Z @F[.
` !gw'gv&w	
  (&--1&'*6==&1&&)fmm, 
  fmm,VFO66"
 &fmm,V\\"FLL!6<<(
MMFr  r   c                      \ rS rSrSrSrSrS/rS/rS/r	S\
4S	\R                  S
4S\S4S\R                  4\" SSSS9\4\" SSSS9\R$                  4\" SSSS9\R&                  4\" S5      \4S\4S\R.                  4S\R.                  4S\R.                  4S\R0                  S4S\R2                  4S\R4                  4S\R6                  R8                  4/\" SSSS9\R:                  4\" SSSS9\R<                  4S\R<                  S 4\" S!SS"9\4\" S#5      /S$\R<                  S%4\" S#5      /S&\R@                  4S\R@                  S'4S(\R@                  S%4S)\R@                  4/S&\R                  4S(\R                  S%4S)\R                  4/S*\R0                  4S+\RB                  4S\R0                  S%4/S,.r"S-r#g.)/r   i  z5
For the Lean theorem prover.

.. versionadded:: 2.0
Leanz"https://github.com/leanprover/leanleanz*.leanztext/x-leanr   z/--	docstringz/-r   z--.*?$)rr   ru   Pirw  r   r  r  r   r}   r~   r   r   r{   r   calcry   r   r   r   )rp  r   )Sortr   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  )importrenaminghiding	namespacelocalprivate	protectedr  r   omitr  r  exportr]  	attribute)(rY  rl  r  r  exampleaxiomaxiomsrH  	constantsuniverse	universesr  r  re  extendsr  rW  r  znoncomputable theorynoncomputablemutualmetar  	parameter
parametersvariable	variablesreserve
precedencepostfixr   r  rS  rT  rU  r  r   rz   
set_optionrun_cmdz@\[r  )z#evalz#checkz#reducez#exitz#printz#help)r   
expressionz\]r  z[^/-]r
  z-/z[/-]z[^\\"]+z9(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})))r  r  r  r   r  r  r  N)$r  r  r  r  r  r  r  r  r   r!  r   r   Docr   Singler   r
   r   r  r   r	   r   r   r1  r7  r6  r   r-  r.  r/  Declarationr   	MultilineEscaper8  r9  r  r  r  r   r     sx   
 D
.ChG
II TNVZZ-GY''   	/ 18	9
 %eEBGMMR+E%H',,W  =>BD /(V^^$6==(+Mv{{[!4==1DLL''(1
6  	 E	+ -4,=,=	?  0 E1+0 -4,?,?1A2 W((+6   &' L!S*
X G''0L!

 w(()G%%w/G%%v.g''(	
 vzz"FJJ'fjj!
 'I6==Y&--(
kZFr  r   )r  repygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__r   r   r   r  r  r  <module>r     sW    
 > >- - - 5Uz UpXJ Xvf
 fr  