This file is indexed.

/usr/share/mozart/doc/system/node37.html is in mozart-doc 1.4.0-8ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>7.4 Finite Set Interval Variables</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node36.html#section.fs.standard">&lt;&lt; Prev</A></TD><TD><A href="node33.html">- Up -</A></TD><TD><A href="node38.html#section.fs.consts">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="section.fs.vars"><H2><A name="section.fs.vars">7.4 Finite Set Interval Variables</A></H2><P></P><DL><DT><A name="label363"></A> <CODE>var<SPAN class="keyword">.</SPAN>is</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>is&nbsp;<SPAN class="keyword">+</SPAN>M&nbsp;?B}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>Tests whether <CODE>M</CODE> is a finite set variable.</P></DD></DL><P></P><H3><A name="label364">7.4.1 Declaring a Single Variable</A></H3><P></P><DL><DT><A name="label366"></A> <CODE>var<SPAN class="keyword">.</SPAN>decl</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>decl&nbsp;?M}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P><IMG alt="\emptyset \subseteq {\tt M} \subseteq \uniset" src="latex134.png"> </P></DD><DT><A name="label368"></A> <CODE>var<SPAN class="keyword">.</SPAN>upperBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>upperBound&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?M}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P><IMG alt="\emptyset \subseteq \codeinline{oz}{M} \subseteq \conv(\codeinline{oz}{Spec})" src="latex135.png"> </P></DD><DT><A name="label370"></A> <CODE>var<SPAN class="keyword">.</SPAN>lowerBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>lowerBound&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?M}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P><IMG alt="\conv({\tt Spec}) \subseteq \codeinline{oz}{M} \subseteq \uniset" src="latex136.png"> </P></DD><DT><A name="label372"></A> <CODE>var<SPAN class="keyword">.</SPAN>bounds</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>bounds&nbsp;<SPAN class="keyword">+</SPAN>Spec1&nbsp;<SPAN class="keyword">+</SPAN>Spec2&nbsp;?M}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P><IMG alt="\conv({\tt Spec1}) \subseteq {\tt M} \subseteq \conv({\tt Spec2})" src="latex137.png"></P></DD></DL><P></P><H3><A name="label373">7.4.2 Declaring a List of Variables</A></H3><P>The following functions return a list <CODE>Ms</CODE> of length <CODE>I</CODE> and all its elements are constrained to finite set interval variables according to the following specifications. </P><DL><DT><A name="label375"></A> <CODE>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>decl</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>decl&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;?Ms}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Ms</CODE>: <IMG alt="\emptyset \subseteq \codeinline{oz}{M} \subseteq \uniset" src="latex138.png"> </P></DD><DT><A name="label377"></A> <CODE>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>upperBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>upperBound&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Ms}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Ms</CODE>: <IMG alt="\emptyset \subseteq \codeinline{oz}{M} \subseteq
\conv({\tt Spec})" src="latex139.png"> </P></DD><DT><A name="label379"></A> <CODE>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>lowerBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>lowerBound&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Ms}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Ms</CODE>: <IMG alt="\conv(\codeinline{oz}{Spec}) \subseteq \codeinline{oz}{M}\subseteq \uniset" src="latex140.png"> </P></DD><DT><A name="label381"></A> <CODE>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>bounds</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>list<SPAN class="keyword">.</SPAN>bounds&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;<SPAN class="keyword">+</SPAN>Spec1&nbsp;<SPAN class="keyword">+</SPAN>Spec2&nbsp;?Ms}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Ms</CODE>: <IMG alt="\conv({\tt Spec1})\subseteq
{\tt M}\subseteq \conv({\tt Spec2})" src="latex141.png"></P></DD></DL><P></P><H3><A name="label382">7.4.3 Declaring a Tuple of Variables</A></H3><P>The following functions return a tuple <CODE>Mt</CODE> with label <CODE>L</CODE> and width <CODE>I</CODE> and all its elements are constrained to finite set interval variables according to the following specifications. </P><DL><DT><A name="label384"></A> <CODE>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>decl</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>decl&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;?Mt}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mt</CODE>: <IMG alt="\emptyset \subseteq {\tt M} \subseteq
\uniset" src="latex142.png"> </P></DD><DT><A name="label386"></A> <CODE>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>upperBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>upperBound&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Mt}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mt</CODE>: <IMG alt="\emptyset \subseteq \codeinline{oz}{M} \subseteq
\conv({\tt Spec})" src="latex139.png"> </P></DD><DT><A name="label388"></A> <CODE>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>lowerBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>lowerBound&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>I&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Mt}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mt</CODE>: <IMG alt="\conv(\codeinline{oz}{Spec}) \subseteq
\codeinline{oz}{M}\subseteq \uniset" src="latex143.png"> </P></DD><DT><A name="label390"></A> <CODE>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>bounds</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>tuple<SPAN class="keyword">.</SPAN>bounds&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>M&nbsp;<SPAN class="keyword">+</SPAN>Spec1&nbsp;<SPAN class="keyword">+</SPAN>Spec2&nbsp;?Mt}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mt</CODE>: <IMG alt="\conv({\tt Spec1})\subseteq
{\tt M}\subseteq \conv({\tt Spec2})" src="latex141.png"></P></DD></DL><P></P><H3><A name="label391">7.4.4 Declaring a Record of Variables</A></H3><P>The following functions return a record <CODE>Mr</CODE> with label <CODE>L</CODE> and the fields <CODE>Ls</CODE> and all its fields are constrained to finite set interval variables according to the following specifications. </P><DL><DT><A name="label393"></A> <CODE>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>decl</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>decl&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>Ls&nbsp;?Mr}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mr</CODE>: <IMG alt="\emptyset \subseteq {\tt M} \subseteq
\uniset" src="latex142.png"> </P></DD><DT><A name="label395"></A> <CODE>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>upperBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>upperBound&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>Ls&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Mr}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mr</CODE>: <IMG alt="\emptyset \subseteq \codeinline{oz}{M} \subseteq
\conv({\tt Spec})" src="latex139.png"> </P></DD><DT><A name="label397"></A> <CODE>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>lowerBound</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>lowerBound&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>Ls&nbsp;<SPAN class="keyword">+</SPAN>Spec&nbsp;?Mr}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mr</CODE>: <IMG alt="\conv(\codeinline{oz}{Spec}) \subseteq
\codeinline{oz}{M}\subseteq \uniset" src="latex143.png"> </P></DD><DT><A name="label399"></A> <CODE>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>bounds</CODE></DT><DD><BLOCKQUOTE class="synopsis"><P></P><BLOCKQUOTE class="code"><CODE>{FS<SPAN class="keyword">.</SPAN>var<SPAN class="keyword">.</SPAN>record<SPAN class="keyword">.</SPAN>bounds&nbsp;<SPAN class="keyword">+</SPAN>L&nbsp;<SPAN class="keyword">+</SPAN>Ls&nbsp;<SPAN class="keyword">+</SPAN>Spec1&nbsp;<SPAN class="keyword">+</SPAN>Spec2&nbsp;?Mr}</CODE></BLOCKQUOTE><P></P></BLOCKQUOTE></DD><DD><P>For all elements <CODE>M</CODE> of <CODE>Mr</CODE>: <IMG alt="{\tt M} \in
\sic{\conv({\tt Spec1})}{\conv({\tt Spec2})}" src="latex144.png"></P></DD></DL><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node36.html#section.fs.standard">&lt;&lt; Prev</A></TD><TD><A href="node33.html">- Up -</A></TD><TD><A href="node38.html#section.fs.consts">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A>, <A href="http://www.ps.uni-sb.de/~homik/">Martin&nbsp;Homik</A>, <A href="http://www.ps.uni-sb.de/~tmueller/">Tobias&nbsp;Müller</A>, <A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A> and&nbsp;<A href="http://www.info.ucl.ac.be/~pvr">Peter&nbsp;Van Roy</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>