�
|�eA � � � d Z ddlZddlmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZmZ ddlmZ ddgZ G d� de� Z G d � de� Zy)
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 Zd ZdZdZdZdgZdgZdgZdZ dZ
d Zd
ZdZ
dZd
ZdZdZdZdZdefdej, j. fdedfdefdej4 fdej4 f ee
dd�� ej4 f eedd�� ef eedd�� ej8 f ee
dd�� ef eedd�� ej. f eedd�� ej: fdefddj= eddd� � z efd e�de�d!e��efd"efd#e jB fd$e jD fd%e jF fd&e jH fd'e jJ fd(e&jN fd)e&jN fd*efd+e&jP d,fd-efd.ej, j. fgd/efded0fd1ed2fd3efgd4e&jP fd5e&jP fd+e&jP d2fgdefd6e)fd7ej4 fd8ejT d2fd9ed2f e+d2� gd:�Z,d;� Z-y)<r z@
For the Coq theorem prover.
.. versionadded:: 1.5
�Coqzhttp://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+zfalse|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 rd| v ryy y )NrP rM � � )�texts �9/usr/lib/python3/dist-packages/pygments/lexers/theorem.py�analyse_textzCoqLexer.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��g�G���I���I�
�E��I�$�I��I�
�I��I��I��G� )�I��K�$�J� �T�N�
$�d�l�l�&9�&9�:�
�g�y�)�
7��>�
�'�"3�"3�4�
2�G�4E�4E�F�
�9�U�5�
9�7�;L�;L�M�
�9�U�5�
9�7�C�
�9�U�5�
9�7�<�<�H�
�9�U�5�
9�7�C�
�9�U�5�
9�7�>�>�J�
�9�U�5�
9�7�;K�;K�L�
�$�'�
�s�x�x���"��
�.�
.��9�(�+�y�
A�8�L�
�t�$�
�&�.�.�)�
+�V�Z�Z�8�
!�6�:�:�.�
����,�
8�&�,�,�G�
G����U�
�V�[�[�!�
�7�O�
�6�=�=�(�+�
!�4�(�
�D�L�L�'�'�(�G$
�L ��!�
�g�w�'�
�g�v�&�
�w��
� �v�}�}�%�
�F�M�M�"�
�6�=�=�&�)�
� �T�N�
�K� �
%�t�~�~�6�
�d�j�j�&�1�
!�4��0��F�O�
�c9�F�vr c �T � e Zd ZdZdZdZdgZdgZdgZdZ dZ
d Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZg def�dedf�dej> |