Ë
    !täiŒ!  ã                   ó„   — 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y)	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j0                  fdej4                  fdej4                  fdej4                  fdej6                  dfdej8                  fd ej:                  fd!ej<                  j>                  fg ed"dd¬«      ej@                  f ed#dd¬«      ejB                  fd$ejB                  d%f ed&d¬'«      ef e"d(«      gd)ejB                  d*f e"d(«      gd+ejF                  fdejF                  d,fd-ejF                  d*fd.ejF                  fgd+ej                  fd-ej                  d*fd.ej                  fgd/ej6                  fd0ejH                  fdej6                  d*fgd1œZ%d2„ Z&y3)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                 óP   — t        j                  d| t         j                  «      ryy )Nz^import [a-z]çš™™™™™¹?©ÚreÚsearchÚ	MULTILINE©Útexts    úc/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/lean.pyÚanalyse_textzLean3Lexer.analyse_text   ó   € Ü�9‰9Ð% t¬R¯\©\Ô:Øð ;ó    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‘Z Ð-Ø�G˜YÐ'Ø˜Ÿ™Ð'Ùð ð  ¨ô	/ð 18ð	9ñ
 Ð%¨e¸EÔBÀGÇMÁMÐRÙÐ+°EÀ%ÔHÈ'Ï,É,ÐWÙð ó àðð �DˆMØ�e‰^˜VŸ]™]Ð+Ø §¡Ð/Ø˜Ÿ™Ð(Ø�V—^‘^Ð$Ø�6—=‘= (Ð+ØMÈvÏ{É{Ð[Ø! 4§=¡=Ð1Ø�D—L‘L×'Ñ'Ð(ð/
ñ4 ð 	ð  Eô	+ð -4×,=Ñ,=ð	?ñ ð ð0  Eô1+ð0 -4×,?Ñ,?ð1Að2 �W×(Ñ(¨+Ð6Ùð ð ôð &ð'ñ �LÓ!ðS*
ðX �G×'Ñ'¨Ð0Ù�LÓ!ð
ð
 ˜×)Ñ)Ð*Ø�G×%Ñ% wÐ/Ø�G×%Ñ% vÐ.Ø�g×'Ñ'Ð(ð	
ð ˜Ÿ
™
Ð#Ø�F—J‘J Ð'Ø�f—j‘jÐ!ð
ð ˜Ÿ™Ð'ØIÈ6Ï=É=ÐYØ�&—-‘- Ð(ð
ñi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j0                  f eddd¬«      ej4                  f ee«      ej8                  j:                  f ee«      efe
efdez   ej>                  fde fde jB                  fde jD                  fdejF                  dfdejH                  fd ej8                  j:                  fg eedd¬«      ejJ                  f eedd¬«      efd!ejL                  d"f e'd#«      gd$ejL                  d%f e'd#«      gd&ejP                  fdejP                  d'fd(ejP                  d%fd)ejP                  fgd&ej&                  fd(ej&                  d%fd)ej&                  fgd*ejF                  fd+ejR                  fdejF                  d%fgd,œZ*d-„ Z+y.)/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                 óP   — t        j                  d| t         j                  «      ryy )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   ‡   si  „ ñð €DØ
/€CØˆi€GØ�
€IØÐ €IØ€Mð	fð ð ˜FÑ" ]Ñ2°UÑ:€Eð€Ið€Ið€Ið
€Ið1€Kð
 �ZÐ Ø�V—Z‘Z Ð-Ø�G˜YÐ'Ø�w—~‘~Ð&Ù�9 U°5Ô9¸7¿<¹<ÐHÙÐ%¨e¸EÔBÀGÇMÁMÐRÙ�9Ó˜tŸ|™|×2Ñ2Ð3Ù�;Ó Ð*Ø˜DÐ!Ø�e‰^˜VŸ]™]Ð+Ø˜FÐ#Ø,¨f¯l©lÐ;Ø�V—^‘^Ð$Ø�6—=‘= (Ð+Ø! 4§=¡=Ð1Ø�D—L‘L×'Ñ'Ð(ð!
ñ& �9 U°5Ô9¸7×;LÑ;LÐMÙ�9 U°5Ô9¸7ÐCØ�W×(Ñ(¨+Ð6Ù�LÓ!ð	
ð �G×'Ñ'¨Ð0Ù�LÓ!ð
ð ˜×)Ñ)Ð*Ø�G×%Ñ% wÐ/Ø�G×%Ñ% vÐ.Ø�g×'Ñ'Ð(ð
ð ˜Ÿ
™
Ð#Ø�F—J‘J Ð'Ø�f—j‘jÐ!ð
ð ˜Ÿ™Ð'Ø˜FŸM™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ã      sT   ðñó 
ç 5Ñ 5÷ ÷  ó  ð ˜Ð
&€ôn�ô nðb €	ôj�õ jr—   