o
    3IhE                     @   s   d Z ddlmZ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mZmZ ddlmZ ddgZG dd deZG dd deZd	S )
a  
    pygments.lexers.theorem
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for theorem-proving languages.

    See also :mod:`pygments.lexers.lean`

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsdefaultwords)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace)	LeanLexerCoqLexerIsabelleLexerc                   @   s  e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdefdejjfdedfdefdejfdeejeejfdejdfdejdfeedddejfeedddefeedddejfeedddefeedddejfeedddejfd efd! d"!ed#d#d$ e"fd%e d"e d&e e"fd'efd(e#j$fd)e#j%fd*e#j&fd+e#j'fd,e#j(fd-e)j*fd.e)j*fd/efd0e)j+d1fd2efd3ejjfgdefd4ejfd0e)j+d1fd5e#j$fd6e,d7fgdefd8efd9e"fd:efd(e#j$fd)e#j%fdedfd6e,d7fgd;efded<fd=ed7fd>efgd?e)j+fd@e)j+fd0e)j+d7fgdefd6e,fdAejfdBej-d7fdCed7fe.d7gdDZ/dEdF Z0d#S )Gr   z%
    For the Coq theorem prover.
    Coqzhttp://coq.inria.fr/coqz*.vz
text/x-coqz1.5r   )cSectionModuleEndRequireImportExportIncludeVariable	Variables	Parameter
ParametersAxiomAxioms
Hypothesis
HypothesesNotationLocalTacticReservedScopeOpenCloseBindDeclareDelimit
DefinitionExampleLetLtacLtac2Fixpoint
CoFixpointMorphismRelationImplicit	ArgumentsTypes
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ProgramElpiExtractOpaqueTransparentUnshelvezNext Obligation)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lp:\{\{z\|z\|]z\}~z=>z/\\z\\/z\{\|z\|\}u   λ   ¬u   ∧u   ∨u   ∀u   ∃u   →u   ↔u   ≠u   ≤u   ≥z[!$%&*+\./:<=>?@^|~-]z[!?~]z[=<>@^|&+\*/$%-]\s+zfalse|true|\(\)|\[\]\(\*commentz'\b(?:[^\W\d][\w\']*\.)+[^\W\d][\w\']*\bz\bEquations\b\??zM\b(Elpi)(\s+)(Program|Query|Accumulate|Command|Typecheck|Db|Export|Tactic)?\bz,\bUnset\b|\bSet(?=[ \t]+[A-Z][a-z][^\n]*?\.)set-optionsz\b(?:String|Number)\s+Notationsn-notation\bprefixsuffixz\b([A-Z][\w\']*)z({})|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\Sz[A-Z]\w*z\d+r   #popz*\b(?:via|mapping|abstract|warning|after)\bz=>|[()\[\]:,]z'\b[^\W\d][\w\']*(?:\.[^\W\d][\w\']*)*\bz([^(*)]+|\*+(?!\)))+#push\*\)[(*)]z[^"]+z""z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z[a-z][a-z0-9_\']*)rootr   r   r   r  dottedc                 C   s   d| v r
d| v rdS d S d S )NrP   rM       )textr  r  W/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/pygments/lexers/theorem.pyanalyse_text   s   zCoqLexer.analyse_text)1__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedflags	keywords1	keywords2	keywords3	keywords4	keywords5	keywords6keyopts	operatorsprefix_syms
infix_symsr   r
   BuiltinPseudor   r	   	Namespacer   r   r   r'   formatjoinr   r   IntegerHexOctBinFloatr   CharDoubler   rf   r   tokensr  r  r  r  r  r      s    	




(


Pc                   @   s  e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZg defdedfdej dfd edfe!ee"fe!ee"j#fe!e
d!d!d"e$j%fe!ed!d!d"e$j&fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e'j(fe!ed!d!d"e'j)fe!ed!d!d"e$j*fe!ed!d!d"e$j*fe!ed!d!d"e'j+fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$fe!ed!d!d"e$j%fd#e,j fd$e-j&fd%e.j/fd&e.j0fd'e.j1fd(ed)fd*ej2d+fd,e-fd-efded.fd/ed0fd1efgd2efdej d.fd ed.fd3ej d0fd4ed0fd#ej fd5efgd6efd#ej fd7efd8efd(ed0fgd9ej2fd#ej fd:ej2fd8ej2fd*ej2d0fgd;Z3d<S )=r   z+
    For the Isabelle proof assistant.
    Isabellezhttps://isabelle.in.tum.de/isabellez*.thyztext/x-isabellez2.0)2andassumesattachavoidsbindercheckingclass_instanceclass_relationcode_modulecongsconstant
constrains	datatypesdefinesfilefixesr   	functionshints
identifierr   importsr   includesinfixinfixlinfixrr   keywordsr   module_namemonos	morphismsno_discs_selsnotesobtainsopenoutput
overloaded
parametric
permissive	pervasive
rep_compatshows	structure
type_classtype_constructor	uncheckedunsafewhere)L
ML_commandML_val
class_deps	code_deps	code_thmsdisplay_draftsfind_constsfind_theoremsfind_unused_assmsfull_prfhelplocale_depsnitpickprprfprint_abbrevsprint_antiquotationsprint_attributesprint_binds
print_bnfsprint_bundlesprint_case_translationsprint_casesprint_clasetprint_classesprint_codeprocprint_codesetupprint_coercionsprint_commandsprint_contextprint_defn_rulesprint_dependenciesprint_factsprint_induct_rulesprint_inductivesprint_interpsprint_localeprint_localesprint_methodsprint_optionsprint_ordersprint_quot_mapsprint_quotconstsprint_quotientsprint_quotientsQ3print_quotmapsQ3print_rulesprint_simpsetprint_stateprint_statementprint_syntaxprint_theoremsprint_theoryprint_trans_rulesproppwd
quickcheckrefutesledgehammer
smt_statussolve_directspark_statustermthmthm_depsthy_depsr   try0typunused_thmsvaluevalueswelcomeprint_ML_antiquotationsprint_term_bindingsvalues_prolog)theorybeginr   )headerchapter)section
subsectionsubsubsectionsectsubsect
subsubsect)MLML_fileabbreviationadhoc_overloadingarities	atom_declattribute_setupaxiomatizationbundlecase_of_simpsclassclassesclassrel
codatatype
code_abort
code_class
code_constcode_datatypecode_identifiercode_includecode_instancecode_modulename
code_monadcode_printingcode_reflectcode_reserved	code_typecoinductivecoinductive_setconstscontextdatatypedatatype_newdatatype_new_compatdeclarationdeclaredefault_sortdefer_recdef
definitiondefsdomaindomain_isomorphism	domaindefequivarianceexport_codeextractextract_typefixrecrz   	fun_cases
hide_class
hide_const	hide_fact	hide_typeimport_const_mapimport_fileimport_tptpimport_type_map	inductiveinductive_setinstantiationjudgmentlemmaslifting_forgetlifting_updatelocal_setuplocalemethod_setupnitpick_paramsno_adhoc_overloadingno_notation	no_syntaxno_translationsno_type_notationnominal_datatypenonterminalnotationnotepadoracleoverloadingparse_ast_translationparse_translationpartial_function	primcorecprimrecprimrec_newprint_ast_translationprint_translationquickcheck_generatorquickcheck_paramsrealizability	realizersrecdefrecordrefute_paramssetupsetup_liftingsimproc_setupsimps_of_casesledgehammer_params	spark_end
spark_openspark_open_sivspark_open_vcgspark_proof_functionsspark_types
statespacesyntaxsyntax_declarationr  text_rawtheoremstranslationstype_notationtype_synonymtyped_print_translationtypedecl
hoarestateinstall_C_fileinstall_C_types	wpc_setupc_defsc_typesmemsafe
SML_exportSML_file
SML_importapproximatebnf_axiomatization	cartouchedatatype_compatfree_constructorsfunctornominal_functionnominal_terminationpermanent_interpretationbindsdefiningsmt2_statusterm_cartoucheboogie_filetext_cartouche)inductive_casesinductive_simps)!ax_specificationbnf	code_pred	corollarycpodefcrunchcrunch_ignoreenriched_typefunctioninstanceinterpretationlemmalift_definitionnominal_inductivenominal_inductive2nominal_primrecpcpodefprimcorecursivequotient_definitionquotient_type	recdef_tcrep_datatypeschematic_corollaryschematic_lemmaschematic_theoremspark_vcspecificationsubclass	sublocaleterminationtheoremtypedefwrap_free_constructors)r   r   qed)sorryoops)r   hence	interpret)nextproof)finallyfromr   
ultimatelyr   )ML_prfalsoinclude	includingr   moreovernotetxttxt_raw	unfoldingr   write)assumer   defr{   presume)guessobtainshowthus)r   	apply_endapply_tracebackdeferprefer)r   r   r  )[r   r   r   r   r  +r   !?){}.z..r   r   r   z\\<open>r=  u   \{\*|‹r   r  z\\<(\w|\^)*>z'[^\W\d][.\w']*r  r  r	  r  r  r   factz/[^\s:|\[\]\-()=,+!?{}._][^\s:|\[\]\-()=,+!?{}]*z[^(*)]+r  r  r  r  u   [^{*}\\‹›]+z	\\<close>u   \*\}|›z[{*}\\]z[^"\\]+z\\"z\\z[^`\\]+z\\`)r  r   r=  r  r  N)4r  r  r  r  r  r  r  r  r   r!  keyword_minorkeyword_diagkeyword_thykeyword_sectionkeyword_subsectionkeyword_theory_declkeyword_theory_scriptkeyword_theory_goalkeyword_qedkeyword_abandon_proofkeyword_proof_goalkeyword_proof_blockkeyword_proof_chainkeyword_proof_declkeyword_proof_asmkeyword_proof_asm_goalkeyword_proof_scriptr*  proof_operatorsr   r   r   Symbolr   r   Wordr	   r.  r   r   Heading
Subheadingr/  Errorr   r
   r   r3  r4  r5  Otherr9  r  r  r  r  r      s    &

	!#%'()+
,-0




N)r  pygments.lexerr   r   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   r   pygments.lexers.leanr   __all__r   r   r  r  r  r  <module>   s    0 .