Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 127

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>5.4 Truth Values</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="name.html#section.literals.names">&lt;&lt; Prev</A></TD><TD><A href="node7.html">- Up -</A></TD><TD><A href="unit.html#section.literals.unit">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="section.literals.bool"><H2><A name="section.literals.bool">5.4 Truth Values</A></H2><P> The module <A name="label157"></A><SPAN class="index"><CODE>Bool</CODE></SPAN> contains procedures operating on the truth values <A name="label158"></A><SPAN class="index"><CODE><SPAN class="keyword">true</SPAN></CODE></SPAN> and <A name="label159"></A><SPAN class="index"><CODE><SPAN class="keyword">false</SPAN></CODE></SPAN>, which denote names. </P><DL><DT><A name="label160"></A><SPAN class="index"><CODE>IsBool</CODE></SPAN> <A name="label162"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Bool<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is <CODE><SPAN class="keyword">true</SPAN></CODE> or <CODE><SPAN class="keyword">false</SPAN></CODE>. </P></DD><DT><A name="label163"></A><SPAN class="index"><CODE>Not</CODE></SPAN> <A name="label164"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Bool<SPAN class="keyword">.</SPAN><SPAN class="string">'not'</SPAN>&nbsp;</CODE><CODE>+<I>B1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the negation of truth value&nbsp;<CODE><I>B1</I></CODE>. </P></DD><DT><A name="label165"></A><SPAN class="index"><CODE>And</CODE></SPAN> <A name="label166"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Bool<SPAN class="keyword">.</SPAN>and&nbsp;</CODE><CODE>+<I>B1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>B2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B3</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the conjunction of truth values <CODE><I>B1</I></CODE> and&nbsp;<CODE><I>B2</I></CODE>. Note that <CODE>And</CODE> is different from conditional conjunction available via the keyword <A name="label167"></A><SPAN class="index"><CODE><SPAN class="keyword">andthen</SPAN></CODE></SPAN> in that it always evaluates its second argument. </P><P> For instance, <CODE><SPAN class="keyword">false</SPAN>&nbsp;<SPAN class="keyword">andthen</SPAN>&nbsp;P</CODE> reduces without reducing application of <CODE>P</CODE>, whereas reduction of <CODE>{And&nbsp;<SPAN class="keyword">false</SPAN>&nbsp;P}</CODE> always applies <CODE>P</CODE>. </P></DD><DT><A name="label168"></A><SPAN class="index"><CODE>Or</CODE></SPAN> <A name="label169"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Bool<SPAN class="keyword">.</SPAN><SPAN class="string">'or'</SPAN>&nbsp;</CODE><CODE>+<I>B1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>B2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B3</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the disjunction of truth values <CODE><I>B1</I></CODE> and&nbsp;<CODE><I>B2</I></CODE>. Note that <CODE>Or</CODE> is different from conditional disjunction available via the keyword <A name="label170"></A><SPAN class="index"><CODE><SPAN class="keyword">orelse</SPAN></CODE></SPAN> in that it always evaluates its second argument. </P><P> For instance, <CODE><SPAN class="keyword">true</SPAN>&nbsp;<SPAN class="keyword">orelse</SPAN>&nbsp;P</CODE> reduces without reducing application of <CODE>P</CODE>, whereas reduction of <CODE>{Or&nbsp;<SPAN class="keyword">true</SPAN>&nbsp;P}</CODE> always applies <CODE>P</CODE>. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="name.html#section.literals.names">&lt;&lt; Prev</A></TD><TD><A href="node7.html">- Up -</A></TD><TD><A href="unit.html#section.literals.unit">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> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>