
    |eA                         d Z ddl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-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)	LeanLexerCoqLexerIsabelleLexerc                      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j4                  fdej4                  f ee
dd      ej4                  f eedd      ef eedd      ej8                  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j=                  eddd         z  efd eded!eefd"efd#e jB                  fd$e jD                  fd%e jF                  fd&e jH                  fd'e jJ                  fd(e&jN                  fd)e&jN                  fd*efd+e&jP                  d,fd-efd.ej,                  j.                  fgd/efded0fd1ed2fd3efgd4e&jP                  fd5e&jP                  fd+e&jP                  d2fgdefd6e)fd7ej4                  fd8ejT                  d2fd9ed2f e+d2      gd:Z,d; Z-y)<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\{\|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'.''"stringz[~?][a-z][\w\']*:z\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yy y )NrP   rM       )texts    9/usr/lib/python3/dist-packages/pygments/lexers/theorem.pyanalyse_textzCoqLexer.analyse_text   s    D=W_ -=    ).__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   rf   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$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  c                   T   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!jD                  f e e	d d !      e#jH                  f e e
d d !      e#jJ                  f e ed d !      e#f e ed d !      e#f e ed d !      e&jN                  f e ed d !      e&jP                  f e ed d !      e#jR                  f e ed d !      e#jR                  f e ed d !      e&jT                  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#jH                  fd"e+j>                  fd#e,jJ                  fd$e-j\                  fd%e-j^                  fd&e-j`                  fd'ed(fd)ejb                  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jb                  fd"ej>                  fd9ejb                  fd7ejb                  fd)ejb                  d/fgd:Z2y;)<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}   importsrz   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beginry   )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fixrecrt   	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   defru   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>r7  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   r7  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-  r.  Otherr2  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  re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   
 
 > >- - - *
'Uz UpXJ Xr  