o
aL @ s d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZ g dZG dd deZG dd d eZG d
d deZdS )z
pygments.lexers.theorem
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for theorem-proving languages.
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)
RegexLexerdefaultwords) TextCommentOperatorKeywordNameStringNumberPunctuationGeneric)CoqLexer
IsabelleLexer LeanLexerc @ s e Zd ZdZdZdgZdgZdgZej Z
dZdZdZ
d Zd
ZdZdZd
ZdZdZdefdejjfdedfeedddejfeedddefee
dddejfeedddefeedddejfeedddejfdefddeddd e fdeeef e fdefde!j"fde!j#fde!j$fd e!j%fd!e!j&fd"e'j(fd#e'j(fd$efd%e'j)d&fd'efd(ejjfgd)efded*fd+ed,fd-efgd.e'j)fd/e'j)fd%e'j)d,fgdefd0e*fd1ejfd2ej+d,fd3ed,fe,d,gd4Z-d5d6 Z.dS )7r zZ
For the `Coq `_ theorem prover.
.. versionadded:: 1.5
Coqcoqz*.vz
text/x-coq)TSectionModuleEndRequireImportExportVariable Variables Parameter
ParametersAxiomAxioms
Hypothesis
HypothesesNotationLocalTacticReservedScopeOpenCloseBindDelimit
DefinitionExampleLetLtacFixpoint
CoFixpointMorphismRelationImplicit ArgumentsTypesSetUnset
ContextualStrictPrenex Implicits InductiveCoInductiveRecord StructureVariant CanonicalCoercionTheoremLemmaFactRemark CorollaryPropositionPropertyGoalProofRestartSaveQedDefinedAbortAdmittedHintResolveRewriteViewSearchShowPrintPrintingAllGraphProjectionsinsideoutsideCheckGlobalInstanceClassExistingUniversePolymorphicMonomorphicContext)forallexistsexists2funfixcofixstructmatchendinreturnletifisthenelseforofnosimplwithas)TypePropSProp)Cposesetmovecaseelimapplyclearhnfintrointros
generalizerenamepatternafterdestruct inductionusingrefine inversion injectionrewritecongrunlockcomputeringfieldreplacefoldunfoldchange
cutrewritesimplhavesuffwlogsufficeswithoutlossnat_normassertcuttrivialrevert
bool_congr nat_congrsymmetrytransitivityautosplitleftrightautorewritetautosetoid_rewrite intuitioneautoeapplyeconstructor
etransitivityconstructorerewriteredcbvlazy
vm_computenative_computesubst)bynowdoneexactreflexivityr romegaomegalianialranrapsatz
assumptionsolve
contradictiondiscriminate
congruence)dolastfirsttryidtacrepeat):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+zfalse|true|\(\)|\[\]\(\*comment\bprefixsuffixz\b([A-Z][\w\']*)z(%s)|Nz
(%s|%s)?%sz
[^\W\d][\w']*\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 C s d| v r
d| v rdS d S d S )NrM rJ )textr r 9/usr/lib/python3/dist-packages/pygments/lexers/theorem.pyanalyse_text s zCoqLexer.analyse_text)/__name__
__module____qualname____doc__namealiases filenames mimetypesreUNICODEflags keywords1 keywords2 keywords3 keywords4 keywords5 keywords6keyopts operatorsprefix_syms
infix_symsr r BuiltinPseudor r r Namespacer| r$ joinr r IntegerHexOctBinFloatr
CharDoubler ra r tokensr r r r r r sx
"
7r c @ s e Zd ZdZdZdgZdgZdgZdZdZ dZ
d Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZg defdedfdedfeeefeeejfeeddde j!fee ddde j"fee
ddde fee
ddde feeddde#j$feeddde#j%feeddde j&feeddde j&feeddde#j'feeddde feeddde feeddde feeddde feeddde feeddde feeddde feeddde j!fd ej(fd!e)fd"e)fd#e)j"fd$e)fd%e*j+fd&e*j,fd'e*j-fd(e.d)fd*e.j/d+fd,efded-fd.ed/fd0efgd1efd2ed/fd3efd4efgd5e.fd e.j(fd6e.fd7e.fd(e.d/fgd8e.j/fd e.j(fd9e.j/fd7e.j/fd*e.j/d/fgd:Z0d;S )