| 
								
							 | 
							
								<?xml version="1.0" encoding="UTF-8"?>
							 | 
						
						
						
							| 
								
							 | 
							
								<!-- Kate syntax highlighting for Objective Caml version 4.02 in the standard and revised syntaxes, with Ocamldoc comments. -->
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<!DOCTYPE language SYSTEM "language.dtd"
							 | 
						
						
						
							| 
								
							 | 
							
								[
							 | 
						
						
						
							| 
								
							 | 
							
								<!-- Regular expresion constants: -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY LOWER  "a-z\300-\326\330-\337">         <!-- Lowercase Latin-1 letters. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY UPPER  "A-Z\340-\366\370-\377">         <!-- Uppercase Latin-1 letters. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY LETTER "&LOWER;&UPPER;">                <!-- All Latin-1 letters. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY LIDENT "[&LOWER;_][&LETTER;0-9_']*">    <!-- Lowercase OCaml identifiers. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY UIDENT "`?[&UPPER;][&LETTER;0-9_']*">   <!-- Uppercase OCaml identifiers. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY IDENT  "`?[&LETTER;][&LETTER;0-9_']*">  <!-- All OCaml identifiers. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY ESC    "(\\[ntbr'"\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY DEC    "[0-9][0-9_]*">                                     <!-- Decimal digits with underscores. -->
							 | 
						
						
						
							| 
								
							 | 
							
								<!ENTITY INFIX  "[:!#$%&*+\\/<=>?@^|-~][:!#$%&*+\\/<=>?@^|-~\.]*">
							 | 
						
						
						
							| 
								
							 | 
							
								]>
							 | 
						
						
						
							| 
								
							 | 
							
								<language name="amc-prove"
							 | 
						
						
						
							| 
								
							 | 
							
								          extensions="*.ml;*.mli"
							 | 
						
						
						
							| 
								
							 | 
							
								          mimetype="text/x-amc-prove"
							 | 
						
						
						
							| 
								
							 | 
							
								          section="Sources"
							 | 
						
						
						
							| 
								
							 | 
							
								          version="6"
							 | 
						
						
						
							| 
								
							 | 
							
								          priority="10"
							 | 
						
						
						
							| 
								
							 | 
							
								          kateversion="2.4"
							 | 
						
						
						
							| 
								
							 | 
							
								          author="Abigail Magalhães ([email protected])"
							 | 
						
						
						
							| 
								
							 | 
							
								          license="LGPL" >
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  <highlighting>
							 | 
						
						
						
							| 
								
							 | 
							
								    <list name="Keywords">
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>forall</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>fun</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>function</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>lazy</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>match</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>not</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>yes</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>probably</item>
							 | 
						
						
						
							| 
								
							 | 
							
								    </list>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <list name="Boolean Literals">
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>tt</item>
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>ff</item>
							 | 
						
						
						
							| 
								
							 | 
							
								    </list>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <list name="Pervasive Functions">
							 | 
						
						
						
							| 
								
							 | 
							
								    </list>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <list name="Pervasive Types">
							 | 
						
						
						
							| 
								
							 | 
							
								    </list>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <list name="Standard Library Modules">
							 | 
						
						
						
							| 
								
							 | 
							
								      <item>Amc</item>
							 | 
						
						
						
							| 
								
							 | 
							
								    </list>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <contexts>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="Code" lineEndContext="#stay" attribute="Normal">
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- ] and ]} close code samples in Ocamldoc, so -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- nested [ ] and { } brackets have to be allowed for: -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char="[" context="Nested Code 1" attribute="Normal" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char="{" context="Nested Code 2" attribute="Normal" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Comments. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- A (** begins a special comment with Ocamldoc documentation markup. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="(" char1="*" context="Comment"  attribute="Comment" beginRegion="comment" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Interpreter directives. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- (These are lines where the first symbol is a '#' followed by an identifier. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Such lines could also be part of a method call split over two lines but     -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- it's unlikey anyone would code like that.)                                  -->
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- String, character and Camlp4 "quotation" constants.              -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Note: If you must modify the pattern for characters be precise:  -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- single quotes have several meanings in Ocaml.                    -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char=""" context="String" attribute="String" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="'(&ESC;|[^'])'" context="#stay" attribute="Character" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Identifiers and keywords. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <keyword String="Keywords"                 context="#stay" attribute="Keyword" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <keyword String="Pervasive Functions"      context="#stay" attribute="Pervasive Functions" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <keyword String="Pervasive Types"          context="#stay" attribute="Pervasive Types" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <keyword String="Standard Library Modules" context="#stay" attribute="Standard Library Modules" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <keyword String="Boolean Literals"         context="#stay" attribute="Boolean Literals" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="&LIDENT;"                 context="#stay" attribute="Lowercase Identifier" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="&UIDENT;"                 context="#stay" attribute="Uppercase Identifier" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="'&LIDENT;"                context="#stay" attribute="Type Variable" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="[\-!#\$%&\*\+/<=>\?\@\^\|~\.:]+"
							 | 
						
						
						
							| 
								
							 | 
							
								          context="#stay" attribute="Infix Operator" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Numeric constants. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Note that they may contain underscores. -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="-?0[xX][0-9A-Fa-f_]+" context="#stay" attribute="Hexadecimal" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="-?0[oO][0-7_]+" context="#stay" attribute="Octal" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="-?0[bB][01_]+" context="#stay" attribute="Binary" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="-?&DEC;(\.&DEC;([eE][-+]?&DEC;)?|[eE][-+]?&DEC;)" context="#stay" attribute="Float" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="-?&DEC;" context="#stay" attribute="Decimal" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        <IncludeRules context="Unmatched Closing Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="Nested Code 1" lineEndContext="#stay" attribute="Normal">
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char="]" context="#pop" attribute="Normal" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <IncludeRules context="Code" includeAttrib="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="Nested Code 2" lineEndContext="#stay" attribute="Normal">
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char="}" context="#pop" attribute="Normal" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <IncludeRules context="Code" includeAttrib="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="String" lineEndContext="#stay" attribute="String">
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char=""" context="#pop" attribute="String" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="&ESC;" context="#stay" attribute="Escaped Characters" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- A backslash at the end of a line in a string indicates  -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- that the string will continue on the next line:         -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <RegExpr String="\\$" context="#stay" attribute="Escaped Characters" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="Comment" lineEndContext="#stay" attribute="Comment">
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment"  />
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Support for nested comments: -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <!-- Strings in Ocaml comments must be well-formed: -->
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char=""" context="String in Comment" attribute="String in Comment" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="String in Comment" lineEndContext="#stay" attribute="String in Comment">
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar char=""" context="#pop" attribute="String in Comment" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <IncludeRules context="String" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <!-- Unmatched closing brackets- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <context name="Unmatched Closing Brackets"  lineEndContext="#stay" attribute="Normal">
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="*" char1=")" context="#pop"  attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="v" char1="}" context="#stay" attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="]" char1="}" context="#stay" attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <Detect2Chars char="%" char1="}" context="#stay" attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar   char="]"           context="#stay" attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								        <DetectChar   char="}"           context="#stay" attribute="Mismatched Brackets" />
							 | 
						
						
						
							| 
								
							 | 
							
								      </context>
							 | 
						
						
						
							| 
								
							 | 
							
								    </contexts>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    <itemDatas>
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Keyword"                 defStyleNum="dsKeyword"  />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Normal"                  defStyleNum="dsNormal"   />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Infix Operator"          defStyleNum="dsOperator"  />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Uppercase Identifier"    defStyleNum="dsDataType" italic="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Lowercase Identifier"    defStyleNum="dsVariable"   />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <!-- Lowercase pervasive identifiers: -->
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Pervasive Functions"      defStyleNum="dsFunction" />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Pervasive Types"          defStyleNum="dsDataType" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <!-- Type variables -->
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Type Variable"           defStyleNum="dsSpecialString"  />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <!-- Uppercase pervasive identifiers: -->
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Standard Library Modules" defStyleNum="dsDataType" italic="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Boolean Literals"        defStyleNum="dsConstant"   />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Decimal"                 defStyleNum="dsDecVal"   />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Hexadecimal"             defStyleNum="dsBaseN"    />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Octal"                   defStyleNum="dsBaseN"    />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Binary"                  defStyleNum="dsBaseN"    />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Float"                   defStyleNum="dsFloat"    />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Character"               defStyleNum="dsChar"     />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="String"                  defStyleNum="dsString"   />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Escaped Characters"      defStyleNum="dsChar"     />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Comment"                 defStyleNum="dsComment"  />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="String in Comment"       defStyleNum="dsComment"  bold="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								      <itemData name="Mismatched Brackets"     defStyleNum="dsError"    />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								    </itemDatas>
							 | 
						
						
						
							| 
								
							 | 
							
								  </highlighting>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  <general>
							 | 
						
						
						
							| 
								
							 | 
							
								    <keywords casesensitive="true" />
							 | 
						
						
						
							| 
								
							 | 
							
								    <comments>
							 | 
						
						
						
							| 
								
							 | 
							
								      <comment name="multiLine" start="(*" end="*)" region ="comment" />
							 | 
						
						
						
							| 
								
							 | 
							
								    </comments>
							 | 
						
						
						
							| 
								
							 | 
							
								  </general>
							 | 
						
						
						
							| 
								
							 | 
							
								</language>
							 | 
						
						
						
							| 
								
							 | 
							
								<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
							 |