§
    ‹ŸjŒ!  ã                   ó’   — d Z ddlZddl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 ddgZ G d„ de¦  «        ZeZ G d„ de¦  «        ZdS )	zÓ
    pygments.lexers.lean
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Lean theorem prover.

    :copyright: Copyright 2006-present 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 Zd ZdZdZdZddgZdgZddgZd	Z	d
Z
e
dz   e
z   dz   Zdefdej        dfdedfdej        f eddd¬¦  «        ef eddd¬¦  «        ej        f eddd¬¦  «        ej        f ed¦  «        efeefdez   ej        fdej        fdej        fdej        fdej        dfdej        fd ej        fd!ej        j        fg ed"dd¬¦  «        ej         f ed#dd¬¦  «        ej!        fd$ej!        d%f ed&d¬'¦  «        ef e"d(¦  «        gd)ej!        d*f e"d(¦  «        gd+ej#        fdej#        d,fd-ej#        d*fd.ej#        fgd+ej        fd-ej        d*fd.ej        fgd/ej        fd0ej$        fdej        d*fgd1œZ%d2„ Z&d3S )4r   z(
    For the Lean 3 theorem prover.
    ÚLeanz,https://leanprover-community.github.io/lean3ÚleanÚlean3ú*.leanztext/x-leanztext/x-lean3z2.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   â€ºõ   â¦ƒõ   â¦„ú:=ú,ú``?z0x[A-Za-z0-9]+z0b[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Úabbreviationznoncomputable 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        ¦  «        rdS d S )Nz^import [a-z]çš™™™™™¹?©ÚreÚsearchÚ	MULTILINE©Útexts    úa/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/pygments/lexers/lean.pyÚanalyse_textzLean3Lexer.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Ø�&”- Ð(ð
ðiYð Y€Fðvð ð ð ð r—   c                   óò  — e Zd ZdZdZdZdgZdgZdgZdZ	dZ
e
d	z   e
z   d
z   ZdZdZdZdZdZdefdej        dfdedfdej        f eedd¬¦  «        ej        f eddd¬¦  «        ej        f ee¦  «        ej        j        f ee¦  «        efe
efdez   ej        fde fde j!        fde j"        fdej#        dfdej$        fd ej        j        fg eedd¬¦  «        ej%        f eedd¬¦  «        efd!ej&        d"f e'd#¦  «        gd$ej&        d%f e'd#¦  «        gd&ej(        fdej(        d'fd(ej(        d%fd)ej(        fgd&ej        fd(ej        d%fd)ej        fgd*ej#        fd+ej)        fdej#        d%fgd,œZ*d-„ Z+d.S )/r   z(
    For the Lean 4 theorem prover.
    ÚLean4z#https://github.com/leanprover/lean4Úlean4r   ztext/x-lean4z2.18u–   (?![Î»Î Î£])[_a-zA-ZÎ±-Ï‰Î‘-Î©ÏŠ-Ï»á¼€-á¿¾â„€-â…�ð�’œ-ð�–Ÿ](?:(?![Î»Î Î£])[_a-zA-ZÎ±-Ï‰Î‘-Î©ÏŠ-Ï»á¼€-á¿¾â„€-â…�ð�’œ-ð�–Ÿ0-9'â�¿-â‚‰â‚�-â‚œáµ¢-áµª!?])*r   r   )6rJ   Ú	unif_hintrK   ÚinlinerL   rV   rm   rW   r[   ra   rc   r_   Úaliasr�   rp   rq   r/   rs   rt   ru   rr   r|   r}   r~   r   rx   rO   ÚusingrM   rf   rQ   rP   rS   ry   rd   rT   rZ   r€   ÚopaquerX   ÚmacroÚelabÚsyntaxÚmacro_rulesr~   ÚwhereÚabbrevrh   re   rU   z#synthri   ÚscopedrN   )r   r   Úobtainr   r    r!   r"   r$   r%   r&   r'   rw   r(   r)   r*   r+   Únomatchr,   Úat)r6   r5   r4   )8z!=ú#ú&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   â�»Â¹u   â¬�u   â–¸u   â†’u   âˆƒu   â‰ˆõ   Ã—u   âŒžu   âŒŸu   â‰¡r>   r?   u   â†¦)r7   r8   r9   r:   r;   r<   r=   r@   rA   rB   rC   z]'z]?z]!r   r   r   r   r   z--.*$r-   r.   r1   rD   z
(?<=\.)\d+z(\d+\.\d*)([eE][+-]?[0-9]+)?rE   rF   rG   rH   rI   r{   rU   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   z
\\[n"\\\n]rŠ   c                 óJ   — t          j        d| t           j        ¦  «        rdS d S )Nz^import [A-Z]r�   rŽ   r’   s    r”   r•   zLean4Lexer.analyse_textï   r–   r—   N),r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   Ú	keywords1Ú	keywords2Ú	keywords3Ú	operatorsÚpunctuationr   r
   r¤   r   r¥   r   r   r6   r   r¦   r	   r¬   r­   r   r§   r   ÚFloatr¨   r©   r«   r®   r¯   r   r°   r±   r²   r•   r³   r—   r”   r   r   ‡   s†  € € € € € ðð ð €DØ
/€CØˆi€GØ�
€IØÐ €IØ€Mð	fð ð ˜FÑ" ]Ñ2°UÑ:€Eð€Ið€Ið€Ið
€Ið1€Kð
 �ZÐ Ø�V”Z Ð-Ø�G˜YÐ'Ø�w”~Ð&ØˆU�9 U°5Ð9Ñ9Ô9¸7¼<ÐHØˆUÐ%¨e¸EÐBÑBÔBÀGÄMÐRØˆU�9ÑÔ˜tœ|Ô2Ð3ØˆU�;ÑÔ Ð*Ø˜DÐ!Ø�e‰^˜Vœ]Ð+Ø˜FÐ#Ø,¨f¬lÐ;Ø�V”^Ð$Ø�6”= (Ð+Ø! 4¤=Ð1Ø�D”LÔ'Ð(ð!
ð& ˆU�9 U°5Ð9Ñ9Ô9¸7Ô;LÐMØˆU�9 U°5Ð9Ñ9Ô9¸7ÐCØ�WÔ(¨+Ð6ØˆG�LÑ!Ô!ð	
ð �GÔ'¨Ð0ØˆG�LÑ!Ô!ð
ð ˜Ô)Ð*Ø�GÔ% wÐ/Ø�GÔ% vÐ.Ø�gÔ'Ð(ð
ð ˜œ
Ð#Ø�F”J Ð'Ø�f”jÐ!ð
ð ˜œÐ'Ø˜FœMÐ*Ø�&”- Ð(ð
ðS.ð .€Fð`ð ð ð ð r—   )r›   r�   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   Ú	LeanLexerr   r³   r—   r”   ú<module>rã      s   ððð ð 
€	€	€	à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ð ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð ˜Ð
&€ðnð nð nð nð n�ñ nô nð nðb €	ðjð jð jð jð j�ñ jô jð jð jð jr—   