Your IP : 216.73.216.213
B
̽�\�I � @ s� d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZ dddgZG dd� de�ZG d d� de�ZG d
d� de�ZdS )z�
pygments.lexers.theorem
~~~~~~~~~~~~~~~~~~~~~~~
Lexers for theorem-proving languages.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�default�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�CoqLexer�
IsabelleLexer� LeanLexerc @ s� e Zd ZdZdZdgZdgZdgZdZdZ dZ
d Zd
ZdZ
dZd
ZdZdZdefdejjfdedfeeddd�ejfee ddd�efee
ddd�ejfeeddd�efeeddd�ejfee
ddd�ejfdefdd�eddd� � efdeeef efdefdejfdej fdej!fd ej"fd!ej#fd"e$j%fd#e$j%fd$efd%e$j&d&fd'efgd(efded)fd*ed+fd,efgd-e$j&fd.e$j&fd%e$j&d+fgdefd/e'fd0ejfd1ej(d+fd2ed+fe)d+�gd3�Z*d4d5� Z+dS )6r zZ
For the `Coq <http://coq.inria.fr/>`_ theorem prover.
.. versionadded:: 1.5
ZCoqZcoqz*.vz
text/x-coq)MZSection�ModuleZEnd�RequireZImportZExport�Variable� Variables� ParameterZ
ParametersZAxiomZ
HypothesisZ
HypothesesZNotationZLocalZTactic�ReservedZScopeZOpen�CloseZBindZDelimitZ
DefinitionZLetZLtacZFixpointZ
CoFixpointZMorphismZRelationZImplicit� Arguments�SetZUnsetZ
ContextualZStrictZPrenexZ ImplicitsZ InductiveZCoInductiveZRecord� StructureZ CanonicalZCoercionZTheoremZLemmaZ CorollaryZPropositionZFactZRemarkZExampleZProofZGoalZSaveZQedZDefinedZHintZResolveZRewriteZViewZSearchZShowZPrintZPrintingZAllZGraphZProjectionsZinsideZoutsideZCheckZGlobalZInstance�ClassZExistingZUniverseZPolymorphicZMonomorphicZContext)�forall�existsZexists2�fun�fixZcofix�struct�match�end�in�return�let�if�is�then�else�forZofZnosimpl�with�as)�Type�Prop)CZpose�set�move�caseZelim�apply�clearZhnfZintroZintrosZ
generalize�rename�pattern�afterZdestructZ induction�usingZrefineZ inversionZ injectionZrewriteZcongrZunlockZcomputeZring�field�replace�foldZunfoldZchangeZ
cutrewriteZsimpl�haveZsuffZwlogZsufficesZwithoutZlossZnat_norm�assertZcutZtrivialZrevertZ
bool_congrZ nat_congrZsymmetryZtransitivity�auto�split�left�rightZautorewrite�tautoZsetoid_rewriteZ intuitionZeautoZeapplyZeconstructorZ
etransitivity�constructorZerewriteZredZcbv�lazyZ
vm_computeZnative_computeZsubst)�by�done�exactZreflexivityrA ZromegaZomegaZ
assumptionZsolveZ
contradictionZdiscriminateZ
congruence)Zdo�last�first�tryZidtac�repeat)1z!=�#�&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\{\|z\|\}u Πu λz[!$%&*+\./:<=>?@^|~-]z[!?~]z[=<>@^|&+\*/$%-]z\s+zfalse|true|\(\)|\[\]z\(\*�commentz\b)�prefix�suffixz\b([A-Z][\w\']*)z(%s)�|N���z
(%s|%s)?%sz
[^\W\d][\w']*z\d[\d_]*z0[xX][\da-fA-F][\da-fA-F_]*z0[oO][0-7][0-7_]*z0[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[^(*)]+z#pushz\*\)z#popz[(*)]z[^"]+z""z\.z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z][a-z0-9_\']*)�rootrX r_ Zdottedc C s | � d�rdS d S )Nz(*T)�
startswith)�text� rc �H/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/theorem.py�analyse_text� s
zCoqLexer.analyse_text),�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes� keywords1� keywords2� keywords3Z keywords4Z keywords5Z keywords6Zkeyopts� operatorsZprefix_symsZ
infix_symsr r �Builtin�Pseudor r r � Namespacer- r �joinr r �Integer�Hex�Oct�BinZFloatr
ZChar�Doubler r r �tokensre rc rc rc rd r sj
c "