File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/lean.cpython-311.pyc
�
�;fz! � � � d Z ddlZddlmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ ddgZ G d� de� � ZeZ G d� de� � ZdS ) z�
pygments.lexers.lean
~~~~~~~~~~~~~~~~~~~~
Lexers for the Lean theorem prover.
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�words�include)�Comment�Operator�Keyword�Name�String�Number�Generic�
Whitespace�
Lean3Lexer�
Lean4Lexerc � � e Zd ZdZdZdZddgZdgZddgZd Z d
Z
e
dz e
z dz Zd
efde
j dfdedfdej f eddd�� � ef eddd�� � ej f eddd�� � ej f ed� � efeefdez e
j fdej fdej fdej fde
j dfde
j fd ej fd!ej j fg ed"dd�� � ej f ed#dd�� � ej! fd$ej! d%f ed&d�'� � ef e"d(� � gd)ej! d*f e"d(� � gd+ej# fdej# d,fd-ej# d*fd.ej# fgd+e
j fd-e
j d*fd.e
j fgd/e
j fd0e
j$ fde
j d*fgd1�Z%d2� Z&d3S )4r z(
For the Lean 3 theorem prover.
�Leanz,https://leanprover-community.github.io/lean3�lean�lean3�*.leanztext/x-leanztext/x-lean3z2.0u� (?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟](?:(?![λΠΣ])[_a-zA-Zα-ωΑ-Ωϊ-ϻἀ-῾℀-⅏𝒜-𝖟0-9'ⁿ-₉ₐ-ₜᵢ-ᵪ])*�(\.�)*�\s+�/--� docstring�/-�commentz--.*?$)�forall�fun�Pi�from�have�show�assume�suffices�let�if�else�then�in�with�calc�match�do�\b��prefix�suffix��sorry�admit)�Sort�Prop�Type)�(�)�:�{�}�[�]� ⟨� ⟩u ‹u ›� ⦃� ⦄�:=�,�``?z0x[A-Za-z0-9]+z0b[01]+�\d+�"�stringz='(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})|.)'�[~?][a-z][\w\']*:�\S)�import�renaming�hiding� namespace�local�private� protected�sectionr �omitrQ rP �export�open� attribute)(�lemma�theorem�def�
definition�example�axiom�axioms�constant� constants�universe� universes� inductive�coinductive� structure�extends�class�instance�abbreviationznoncomputable theory�
noncomputable�mutual�metarU � parameter�
parameters�variable� variables�reserve�
precedence�postfixr/ �notation�infix�infixl�infixr�begin�by�end�
set_option�run_cmd�@\[rU )�#eval�#check�#reduce�#exit�#print�#help)r0 �
expression�\]�#pop�[^/-]+�#push�-/�[/-]�[^\\"]+z9(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4}))�r� �rootrU r r rG c �J � t j d| t j � � rdS d S )Nz
^import [a-z]皙�����?��re�search� MULTILINE��texts �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/lean.py�analyse_textzLean3Lexer.analyse_text �* � �
�9�%�t�R�\�:�:� ��3� � � N)'�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames� mimetypes�
version_added�
_name_segment�_namer
r
�Docr �Singler r r �Errorr6 r r �Symbolr �Integer�Double�Char�Variable�Builtin�Pseudo� Namespace�Declarationr � Multiline�Escape�tokensr� � r� r� r r s� � � � � � �� � �D�
8�C��w��G��
�I���/�I��M� d� �
�F�"�]�2�U�:�E� �Z� �
�V�Z��-�
�G�Y�'�
���'�
�U� � �� /� /� /� 18�
9�
�U�%�e�E�
B�
B�
B�G�M�R�
�U�+�E�%�
H�
H�
H�'�,�W�
�U� � � ��
� �D�M�
�e�^�V�]�+�
���/�
���(�
�V�^�$�
�6�=�(�+�
M�v�{�[�
!�4�=�1�
�D�L�'�(�/
�4 �U� � �E� +� +� +� -4�,=�
?� �U� �0 �E�1+� +� +�0 -4�,?�1
A�2 �W�(�+�6�
�U� � �� � � &�
'�
�G�L�!�!�S*
�X �G�'��0��G�L�!�!�
�
��)�*�
�G�%�w�/�
�G�%�v�.�
�g�'�(�
� ��
�#�
�F�J��'�
�f�j�!�
� ���'�
I�6�=�Y�
�&�-��(�
�iY� Y�F�v� � � � r� c �� � e Zd ZdZdZdZdgZdgZdgZdZ dZ
e
d z e
z d
z ZdZdZ
d
ZdZdZdefdej dfdedfdej f eedd�� � ej f eddd�� � ej f ee� � ej j f ee� � efe
efdez ej fde fde j! fde j"