Multinomial identities arising from free probability theory
Piotr \'Sniady
We prove a family of new identities fulfilled by multinomial coefficients, which were conjectured by Dykema and Haagerup. Our method bases on a study of the, so--called, triangular operator $T$ by the means of the free probability theory.
kombi04.tex
% kombi04 powstaje w lipcu 2002 po uwagach PT Recenzent�w.
% kombi04 zostala zaakceptowana.

\documentclass[12pt]{amsart}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{eucal}
\usepackage{times}
\usepackage{euler}
\usepackage{amssymb}
\usepackage{pst-node}

\author{Piotr \'Sniady}
\thanks{Research supported by State Committee for Scientific Research (KBN)
grant \mbox{2 P03A 007 23}}
\address{Institute of Mathematics,
University of Wroclaw, pl.\ Grunwaldzki 2/4, 50-384 Wroclaw, Poland}
\email{Piotr.Sniady@math.uni.wroc.pl}

\title{Multinomial identities arising from free probability theory}

\sloppy

% \renewcommand{\baselinestretch}{2}

\theoremstyle{plain}
\newtheorem{lemma}{Lemma}
\newtheorem{theorem}[lemma]{Theorem}
\newtheorem{proposition}[lemma]{Proposition}
\newtheorem{corollary}[lemma]{Corollary}
\newtheorem{conjecture}[lemma]{Conjecture}

\theoremstyle{definition}
\newtheorem{definition}{Definition}

\theoremstyle{remark}
\newtheorem*{remark}{Remark}
\newtheorem*{example}{Example}

\newcommand{\A}{{\mathcal{A}}}
\newcommand{\E}{{\mathbb{E}}}
\newcommand{\El}{{\mathcal{L}}}
\newcommand{\Ha}{{\mathcal{H}}}
\newcommand{\Ka}{{\mathcal{K}}}
\newcommand{\C}{{\mathbb{C}}}
\newcommand{\R}{{\mathbb{R}}}
\newcommand{\Z}{{\mathbb{Z}}}
\newcommand{\M}{{\mathcal{M}}}
\newcommand{\Mierz}{\mathfrak{M}}
\newcommand{\N}{{\mathbb{N}}}
\newcommand{\gwia}{^{\star}}
\newcommand{\random}{\M_N\big(\El^{\infty-}(\Omega) \big)}
\newcommand{\x}{{\mathbf{x}}}
\newcommand{\D}{{\mathcal{B}}}
\newcommand{\dd}{{\ \mathrm{d}}}
\newcommand{\kk}{{\kappa}}

\newcommand{\discup}{{\stackrel{\centerdot}{\cup}}}

\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\Tr}{Tr}
\DeclareMathOperator{\Alg}{Alg}
\DeclareMathOperator{\vol}{vol}
\DeclareMathOperator{\NC}{NC}

\begin{document}

\bibliographystyle{alpha}

\begin{abstract}
We prove a family of new identities fulfilled by multinomial coefficients,
which were conjectured by Dykema and Haagerup. Our method bases on a study of
the, so--called, triangular operator $T$ by the means of the free probability
theory.
\end{abstract}

\maketitle

\section{Introduction}
\label{sec:intro}
%\subsection{The main result}
\subsection{Overview}
In order to answer some questions in the theory of operator algebras Dykema and
Haagerup started investigation of the, so--called, triangular operator $T$
\cite{DykemaHaagerup2001}. Currently there are many different descriptions
of this operator: in terms of random matrices, in terms of free probability
theory and a purely combinatorial one (and we will recall them in the following).

Dykema and Haagerup conjectured that the moments of this operator fulfill
\begin{equation}
\phi\big[ \big(T^k
(T\gwia)^k\big)^n\big]=\frac{n^{nk}}{(nk+1)!}
\label{eq:hipoteza}
\end{equation}
for any $k,n\in\N$.
By using the combinatorial description of $T$ Dykema and Yan \cite{DykemaYan}
showed that this
conjecture would imply an infinite family of identities for multinomial
coefficients. For example, for $n=2$ the conjecture is equivalent to a
well--known identity (in the following we will be taking sums over nonnegative
integers):
%\begin{align*}
%2^{2k}& =\sum_{\substack{p,q\geq 0 \\ p+q=k}} \binom{2p}{p}
%\binom{2q}{q}, \\
%\intertext{while for $n=3$ a new identity}
%3^{3k}& =\sum_{\substack{p,q\geq 0 \\ p+q=k}} \binom{3p}{p,p,p}
%\binom{3q}{q,q,q} + \\
%& + 3 \sum_{\substack{p,q,r\geq 0 \\ p+q+r=k-1}} \sum_{\substack{p',q'\geq 0
%\\ p'+q'=p+q+1}} \sum_{\substack{p'',r''\geq 0 \\p''+r''=p+r+1}}
%\binom{2p+p''}{p,p,p''} \binom{2q+q'}{q,q,q'} \binom{r+r'+r''}{r,r',r''}.
%\end{align*}
%\begin{align}
\begin{equation}
2^{2k}=\sum_{p+q=k} \binom{2p}{p} \binom{2q}{q},
\label{eq:tozsamosc2}
\end{equation}
%\intertext{
while for $n=3$ is equivalent to the following one, not known before:
\begin{multline}
\label{eq:tozsamosc3}
3^{3k} =\sum_{p+q=k} \binom{3p}{p,p,p} \binom{3q}{q,q,q} + \\
 + 3 \sum_{\substack{p+q+r=k-1\\ r'+q'=r+q+1 \\ p''+r''=p+r+1}}
\binom{2p+p''}{p,p,p''} \binom{2q+q'}{q,q,q'} \binom{r+r'+r''}{r,r',r''}.
\end{multline}
%\intertext{
The complication of the formula grows superexponentially with $n$ and already for $n=4$
it becomes very complicated:
\begin{multline}
\label{eq:tozsamosc4}
4^{4k} =\sum_{p+q=k} \binom{4p}{p,p,p,p} \binom{4q}{q,q,q,q} + \\
 \shoveleft{+8 \!\!
 \sum_{\substack{p+q+r=k-1 \\  p'+q'=p+q+1 \\ p''+q''=p+q+1
\\ q'''+r'''=q+r+1}}
\!\! \binom{2p+p'+p''}{p,p,p',p''}
\binom{q+q'+q''+q'''}{q,q',q'',q'''} \binom{3r+r'''}{r,r,r,r'''}+} \\
\shoveleft{ + 4 \!\!
\sum_{\substack{p+q'+r'=k-1 \\ p+q''+r''=k-1 \\
p'''+q'''=p+q'+1 \\ p''''+q''''=p+q''+1}}
\!\!
\binom{2p+p'''+p''''}{p,p,p''',p''''}
\binom{q'+q'''}{q',q'''} \binom{q''+q''''}{q'',q''''} \times} \\
\shoveright{ \times \binom{2r''}{r'',r''}  \binom{2r'}{r',r'}
\binom{q'+q''+q'''+q''''+2r'+2r''+2}{q'+q'''+2r'+1,q''+q''''+2r''+1}+}\\
\shoveleft{+8 \!\!
\sum_{\substack{p+q+r+s=k-2 \\ q'+r'=q+r+s+2 \\ p''+r''=p+q+r+2}}
\!\! \binom{2p}{p,p} \binom{q+q'}{q,q'} \binom{r+r''}{r,r''} \binom{2s}{s,s}
\times}\\
\shoveright{ \times \binom{3p+p''+2q+q'+2}{2p+q+q'+1,p+q+1,p''}
\binom{2r+r'+r''+3s+2}{r+r''+2s+1,r+s+1,r'}.}
\end{multline}

The main result of this article is the proof of the conjecture
(\ref{eq:hipoteza}). Since this conjecture was originally formulated in the
language of the free probability theory, it should not be a great surprise
that also its proof is formulated in this language. However, in order to make
this article as comprehensible as possible for the wide audience, we will use
only combinatorial methods of free probability and include all necessary
notions.

This article is organized as follows.
In the remaining part of Sect.\ \ref{sec:intro} we present briefly the operator
$T$ from the random matrix and operator theoretic point of view. In Sect.\
\ref{sec:free} we present some rudimentary concepts from the probability
theory, in particular the notion of the generalized circular element. In Sect.\
\ref{sec:main} we define the triangular operator $T$ as a certain
generalized circular elements and we prove the conjecture \eqref{eq:hipoteza}.
In Sect.\ \ref{sec:kombinatoryczna} we 
%recall briefly results of Dykema and Haagerup in order to 
show how to express moments of $T$ in
terms of multinomial coefficients and hence to get Eq.\ 
\eqref{eq:tozsamosc2}--\eqref{eq:tozsamosc4} (and an infinite number of other identities).
Finally, Sect.\ \ref{sec:techniczne} is devoted to some technical proofs.


\subsection{Triangular operator $T$---motivations}
This section is independent of the rest of this article and can be
skipped by a reader interested only in the combinatorics. We hope, however,
that a broader view presented here might be interesting even for mathematicians
not involved in operator theory.

Von Neumann algebras are algebras of bounded operators on a Hilbert space
$\Ha$, containing identity operator and $A\gwia$ when they contain $A$ and
closed in strong--operator topology \cite{KadisonRingrose1,KadisonRingrose2}.
Especially interesting are type $II_1$ factors $\A$, i.e.\ von Neumann algebras
equipped with a unique normalized faithful tracial state
$\phi:\A\rightarrow\C$.

There are many important open questions concerning type $II_1$ factors, for
example the famous invariant subspace conjecture asking if for every
$x\in\A$ (which is not a multiple of identity operator) there exists a
closed invariant subspace $\Ka\subset\Ha$ which is nontrivial ($\Ka\neq\{0\}$
and $\Ka\neq\Ha$) and such that the orthogonal projection
$\pi_\Ka:\Ha\rightarrow\Ka$ fulfills $\pi_\Ka\in\A$. There are many partial
results concerning this question and the most recent one is due to Haagerup
\cite{Haagerup2001}; he shows that such an invariant subspace exists if
the operator $x$ can be appoximated in a certain way by finite--dimensional
matrices (or, strictly speaking, if $\A$ is embeddable into $R^\omega$, the
ultrapower of the hyperfinite factor) and if the eigenvalues of $x$ are not all
equal (or, strictly speaking, if the Brown measure of $x$ is not supported in a
single point). This result restricts strongly the class of possible
counterexamples for the invariant subspace conjecture and suggests us to study
quasinilpotent operators, for which the assumptions of Haagerup's theorem are
not fulfilled.

The triangular operator $T$ of Dykema and Haagerup arose as a natural
candidate for such a counterexample. The distribution of $T$ was defined
originally \cite{DykemaHaagerup2001} as the limit of distribution of random
matrices $T_N$:
\begin{equation}
\phi(T^{s_1} \cdots T^{s_n})=\lim_{N\rightarrow\infty}
\frac{1}{N} \E \Tr T_N^{s_1} \cdots T_N^{s_n}
\label{eq:oryginalnadefinicja}
\end{equation}
for any $n\in\N$ and $s_1,\dots,s_n\in\{1,\star\}$, where
$$T_N = \left[ \begin{array}{ccccc} t_{1,1} &
t_{1,2} &   \cdots & t_{1,n-1} & t_{1,n} \\ 0 & t_{2,2} & \cdots & t_{2,n-1} &
t_{2,n} \\ \vdots&                 & \ddots & \vdots   & \vdots        \\ & & &
t_{n-1,n-1} & t_{n-1,n} \\ 0&       & \cdots &             0               &
t_{n,n} \end{array} \right]$$
and $(t_{i,j})_{1\leq i\leq j\leq N}$ are independent centered
Gaussian random variables with variance $\frac{1}{N}$. 

When this article was nearly finished Dykema and Haagerup announced that they had proved 
existence of nontrivial hyperinvariant subspaces of the operator $T$. Their proof 
uses Theorem \ref{theo:formulanapochodna} from this article.


%When this article was nearly finished the question if the
%operator $T$ has any nontrivial invariant subspaces was answered positively by the author.
%Nevertheless, we still believe that it is an interesting object.

%Roughly speaking, since
%eigenvalues of $T_N$ converge to zero as $N$ goes to infinity, therefore the
%spectrum of the limit operator $T$ is supported in $\{0\}$.
%Dykema and Haagerup asked if the triangular operator $T$ has nontrivial
%hyperinvariant subspaces.
%Precisely, let $\A$ be a free $\star$--algebra generated by element $T$ and
%let a linear functional $\phi:\A\rightarrow\C$ be given by
%$$\phi( T^{s_1} T^{s_2} \cdots T^{s_n}) =
%\lim_{N\rightarrow\infty} \frac{1}{N} \E[ \Tr T_N^{s_1} T_N^{s_2} \cdots
%T_N^{s_n}]$$
%for any $n\geq 0$ and $s_1,\dots,s_n\in\{1,\star\}$, where
%$\Tr$ denotes the trace of a matrix and $\E$ the expected value.
%This concrete description of $T$ makes it a perfect laboratory animal for
%testing various operator--theoretic conjectures.

\section{Operator--valued free probability theory}
\label{sec:free}
\subsection{Free probability}
Free probability theory was initiated by Voiculescu in order to answer some old
questions in the theory of operator algebras
\cite{VoiculescuDykemaNica,VoiculescuPlenar,VoiculescuLectures}, but it soon
evolved into an exciting self--standing theory with many links to other fields,
to mention only the theory of random matrices \cite{Voiculescu1991}, theory of
representations of groups of permutations $S_n$ \cite{Biane1998} and theoretical
physics \cite{SpeicherNeu}. Free probability has also its combinatorial aspect
connected with the so--called noncrossing partitions \cite{Speicher1997}.

Many questions concerning large random matrices can be easily
reformulated and answered in the framework of operator--valued free
probability; this is also the case of the triangular operator $T$. One can show
that the original definition \eqref{eq:oryginalnadefinicja} is equivalent to
our favourite definition of $T$ as a generalized circular operator which will
be presented in Section \ref{sec:main} \cite{Shlyakhtenko1996,Shlyakhtenko1997}. However,
since in this article we do not need this equivalence, we skip the proof.


In this section we recall briefly some combinatorial aspects the
operator--valued free probability. More information can be found in
papers \cite{Speicher1997,Speicher1998}.

\subsection{Operator--valued probability space}
A triple $(\D\subseteq\A,\E)$ is called an operator--valued probability space
if $\A$ is a unital $\star$--algebra,
$\D\subseteq\A$ is a unital $\star$--subalgebra, and $\E:\A\rightarrow\D$ is a
conditional expectation, i.e.\ $\E$ is linear, satisfies $\E(1)=1$ and
$\E(b_1 x b_2)=b_1 \E(x) b_2$ for every $b_1,b_2\in\D$ and $x\in\A$.

%An element $a\in\A$ will be referred to as a noncommutative random
%variable; $\E(a)$ will be called the expectation of $a$.



\subsection {Noncrossing pair partitions}
If $X$ is a finite, ordered set, we denote by $\NC_2(X)$ the set of all
noncrossing pair partitions of $X$
\cite{Speicher1998, Kreweras}. A noncrossing pair partition
$\pi=\{Y_1,\dots,Y_n\}$ of $X$ is a decomposition of $X$ into disjoint
two--element sets: $$X=Y_1\cup\cdots\cup Y_n, \qquad Y_i\cap Y_j=
\emptyset \quad \mbox{ if }i\neq j,$$
which has the additional property that for $Y_i=\{a,c\}$ and $Y_j=\{b,d\}$ it
cannot happen that $a<b<c<d$.

We say that the sets $Y_1,\dots,Y_n$ are the lines of the pair partition
$\pi=\{Y_1,\dots,Y_n\}$.
It is useful to describe pair partitions graphically by connecting elements of
the same line by an arc.

\begin{example} There are exactly two noncrossing pair
partitions of the set $\{1,2,3,4\}$ and these are $\big\{ \{1,4\},\{2,3\}
\big\}$ represented by
%\begin{center}
\begin{pspicture}[](0,-16pt)(0,0)
$\rnode{p1}{1}\ \rnode{p2}{2}\ \rnode{p3}{3}\
\rnode{p4}{4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{p2}{p3}$ 
\end{pspicture} and
%\end{center}
%
%
%\begin{center}
%\begin{pspicture}(0,-20pt)(0,20pt)
%$
$\big\{ \{1,2\},\{3,4\} \big\}$ represented by
\begin{pspicture}[](0,-10pt)(0,0) $\rnode{q1}{1}\ \rnode{q2}{2}\ \rnode{q3}{3}\
\rnode{q4}{4}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4}
%\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q2}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q4}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
$
\end{pspicture}.
%\end{center}
On the other hand the pair partition $\big\{\{1,3\},\{2,4\} \big\}$ is
crossing as it can be seen on its graphical representation
\begin{pspicture}(0,0)(0,0)
$\rnode{q1}{1}\ \rnode{q2}{2}\ \rnode{q3}{3}\
\rnode{q4}{4}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4}
%\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q3}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q4}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
$
\end{pspicture}.
\end{example}


\subsection{Nested evaluation}
%Since $\A$ can be regarded as a $\D$--bimodule, we can consider a class
%of $D$--bimodule maps $f:\A\times\A\rightarrow\A$
For the purpose of this section we shall forget that $\A$ is an algebra and
that $\D\subseteq\A$. We will assume only that $\D$ is an algebra and that $\A$
is a $\D$--bimodule.

Let there be given a bilinear map $\kk:\A\times\A\rightarrow\D$. We will denote
$$a_1 \bullet_\kk a_2=\kk(a_1,a_2)$$
and assume that $\kk$ is such that
\begin{align}
(b a_1) \bullet_\kk a_2 &=b (a_1 \bullet_\kk a_2), \label{eq:bimodul1} \\
(a_1 b) \bullet_\kk a_2 &=a_1 \bullet_\kk (b a_2), \\
a_1 \bullet_\kk (a_2 b) &=(a_1 \bullet_\kk a_2) b \label{eq:bimodul3}
\end{align}
for any $b\in\D$ and $a_1,a_2\in\A$.

%^In the following we shall try to define somehow the product
%\begin{equation} a_1 \times a_2 \times \cdots \times a_{2n}
%\label{eq:christmas}
%\end{equation}
%for $a_1,\dots,a_{2n}\in\A$, where the meaning
%of $\times$ is not clear at this moment (recall that we have forgotten the
%algebra structure in $\A$).

Noncrossing pair partitions of the set $\{1,2,\dots,2n\}$
(or, equivalently, of the set $\{a_1,\dots,a_{2n}\}$) can be identified with
ways of writing brackets in the product $a_1 a_2 \dots a_{2n}$ in such a way
that inside each pair of brackets there are exactly two factors $a_i$ and $a_j$
(and possibly some other nested brackets). To be more explicit: each line
$Y=\{a_i,a_j\}$ of a pair partition corresponds to a certain pair of brackets:
the opening bracket and its closing counterpart. The two factors contained in
between this pair of brackets are exactly $a_i$ and $a_j$.

\begin{example}
$$\begin{pspicture}[](0,-15pt)(0,0) \rnode{q1}{$a_1$}\ \rnode{q2}{$a_2$}\
\rnode{q3}{$a_3$}\ \rnode{q4}{$a_4$}\ \rnode{q5}{$a_5$}\ \rnode{q6}{$a_6$}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4} %\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q2}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q5}{q6}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
\end{pspicture} \text{ corresponds to } (a_1 a_2) (a_3 a_4) (a_5 a_6),$$
$$\begin{pspicture}[](0,-30pt)(0,0)
\rnode{q1}{$a_1$}\ \rnode{q2}{$a_2$}\ \rnode{q3}{$a_3$}\
\rnode{q4}{$a_4$}\ \rnode{q5}{$a_5$}\ \rnode{q6}{$a_6$}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4}
%\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q2}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
\end{pspicture} \text{ corresponds to } (a_1 a_2) \big( a_3 (a_4 a_5) a_6
\big), $$
$$\begin{pspicture}[](0,-35pt)(0,0)
\rnode{q1}{$a_1$}\ \rnode{q2}{$a_2$}\ \rnode{q3}{$a_3$}\
\rnode{q4}{$a_4$}\ \rnode{q5}{$a_5$}\ \rnode{q6}{$a_6$}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4}
%\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q3}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
\end{pspicture} \text{ corresponds to } \big(a_1 (a_2 a_3) (a_4 a_5) a_6
\big),$$
$$\begin{pspicture}[](0,-35pt)(0,0)
\rnode{q1}{$a_1$}\ \rnode{q2}{$a_2$}\ \rnode{q3}{$a_3$}\
\rnode{q4}{$a_4$}\ \rnode{q5}{$a_5$}\ \rnode{q6}{$a_6$}
%\ncbar[nodesep=3pt,arm=20pt,angle=-90]{p1}{p4}
%\ncarc[arcangle=-90]{p1}{p4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q5}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q4}
%\ncbar[nodesep=3pt,arm=10pt,angle=-90]{p2}{p3}
\end{pspicture} \text{ corresponds to } \Big(a_1 \big(a_2 (a_3 a_4) a_5\big)
a_6 \Big).$$
\end{example}

In order to evaluate such a product with brackets we will use the following
rule: in order to multiply two elements of $\A$ we use the product $\bullet_\kk$;
in order to multiply two elements of $\D$ or an element of $\D$ and an element
of $\A$ we use the standard multiplication. In this way for any noncrossing
pair partition $\pi\in\NC_2(\{1,\dots,2n\})$ we have defined a multilinear map
$\kk_\pi:\A^{2n}\rightarrow\D$.

\begin{example}
\begin{multline*} \begin{pspicture}[](0,0)(0,0)
$\kk(\rnode{q1}{a_1},\rnode{q2}{a_2},
\rnode{q3}{a_3},\rnode{q4}{a_4},\rnode{q5}{a_5},\rnode{q6}{a_6})=$
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q2}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q4}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q5}{q6}
\end{pspicture}
(a_1 \bullet_\kk a_2) (a_3 \bullet_\kk a_4) (a_5 \bullet_\kk a_6)= \\
\kk(a_1,a_2) \kk(a_3,a_4) \kk(a_5,a_6),
\end{multline*}
\begin{multline*}
\begin{pspicture}[](0,0)(0,0)
$\kk(\rnode{q1}{a_1},\rnode{q2}{a_2},\rnode{q3}{a_3},
\rnode{q4}{a_4},\rnode{q5}{a_5},\rnode{q6}{a_6})=$
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q2}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
\end{pspicture}
(a_1 \bullet_\kk a_2) \big(a_3 \bullet_\kk (a_4 \bullet_\kk a_5) a_6\big)=\\
\kk(a_1,a_2) \kk\big( a_3, \kk(a_4,a_5) a_6 \big),
\end{multline*}
\begin{multline*}
\begin{pspicture}[](0,0)(0,0)
$\kk(\rnode{q1}{a_1},\rnode{q2}{a_2},\rnode{q3}{a_3},
\rnode{q4}{a_4},\rnode{q5}{a_5},\rnode{q6}{a_6})=$
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q3}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
\end{pspicture}
a_1 \bullet_\kk (a_2 \bullet_\kk a_3) (a_4 \bullet_\kk a_5) a_6 =\\
\kk\big(a_1, \kk(a_2,a_3)\kk(a_4,a_5) a_6 \big),
\end{multline*}
\begin{multline*}
\begin{pspicture}[](0,0)(0,0)
$\kk(\rnode{q1}{a_1},\rnode{q2}{a_2},\rnode{q3}{a_3},
\rnode{q4}{a_4},\rnode{q5}{a_5},\rnode{q6}{a_6})=$
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q1}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q5}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q3}{q4}
\end{pspicture}
a_1 \bullet_\kk \big( a_2 \bullet_\kk (a_3 \bullet_\kk a_4) a_5 \big) a_6 = \\
\kk\Big(a_1, \kk\big(a_2, \kk(a_3,a_4) a_5\big) a_6 \Big).
\end{multline*}
\end{example}
\vspace{3ex}

\subsection{Generalized circular elements}
Let an operator--valued probability space $(\D\subseteq\A,\E)$ by given.
We say that $T\in\A$ is a generalized circular element if there exists a
bilinear function $\kk:\A\times\A\rightarrow\D$ (called variance of $T$) which
fulfills \eqref{eq:bimodul1}--\eqref{eq:bimodul3} and such that
\begin{equation}
\E(b_1 T^{s_1} b_2 T^{s_2} \cdots
b_{2n} T^{s_{2n}})=\sum_{\pi\in\NC_2(\{1,\dots,2n\})}
\kk_\pi(b_1 T^{s_1},b_2 T^{s_2},\dots,b_{2n} T^{s_{2n}}),
\label{eq:definicjacyrkularnego}
\end{equation}
\begin{equation}
\E(b_1 T^{s_1} b_2 T^{s_2} \cdots
b_{2n+1} T^{s_{2n+1}})=0
\label{eq:cyrkularnesiezeruja}
\end{equation}
for every $b_1,\dots,b_{2n+1}\in\D$ and $s_1,\dots,s_{2n+1}\in\{1,\star\}$.


\section{The main result}
\label{sec:main}
\subsection{Triangular operator $T$}
Let $\D=\C[x]$ be the $\star$--algebra of polynomials of one variable with
multiplication defined to be the usual multiplication of polynomials and
let $(\D\subset\A,\E)$ be an operator--valued probability space.

% and
%let $\A$ be the free algebra generated by $T$, $T\gwia$ and $\D$. This means
%imply that every element of $\A$ is a linear combination of the words of the
%form $$d_0 T^{s_1} d_1 T^{s_2} d_2 \cdots d_{n-1} T^{s_n} d_{n},$$
%where $n\geq 0$, $d_0,\dots,d_n\in\D$ and $s_1,\dots,s_n\in\{1,\star\}$; the
%multiplication is given by concatenation of words:
%\begin{multline*} (d_0 T^{s_1} \cdots d_{n-1} T^{s_n} d_{n}) \cdot
%(d'_0 T^{s'_1} \cdots d'_{m-1} T^{s'_m} d'_{m})= \\
%d_0 T^{s_1} \cdots d_{n-1} T^{s_n} (d_{n}
%d'_0) T^{s'_1} \cdots d'_{m-1} T^{s'_m} d'_{m}.
%\end{multline*}

The Dykema--Haagerup triangular operator $T\in\A$ is defined to be the generalized
circular element with the variance $\kk$ given by
\begin{equation}
\left\{
\begin{aligned}{}
[\kk(T, b T\gwia)](x)& =\int_x^1 b(t) \dd t, \\ % \label{eq:deft1} \\
[\kk(T\gwia, b T)](x)& =\int_0^x b(t) \dd t, \\ %\label{eq:deft2} \\
[\kk(T, b T)](x)& =0, \\ %\label{eq:deft3} \\
[\kk(T\gwia, b T\gwia)](x)& =0 %\label{eq:deft4}
\end{aligned}
\right.
\label{eq:deft}
\end{equation}
for any $b\in\D$.

From the following on we shall assume that the algebra $\A$ is generated by the 
algebra $\D$ and operators $T$ and $T\gwia$.

\subsection{Automorphism $\alpha$}
Let us consider a linear automorphism of the algebra $\A$ defined on generators by
$$\alpha(T)=T\gwia, \qquad \alpha(T\gwia)=T,$$
$$[\alpha(b)](x)=b(1-x) \qquad\text{for any } b\in\D.$$
\begin{proposition}
\label{prop:automorfizm}
For any $a\in\A$ we have 
$$\E[\alpha(a)]=\alpha[\E(a)].$$
\end{proposition}
\begin{proof}
It is easy to see that the defining relations
\eqref{eq:deft} give
$$\kk\big( \alpha(T^{s_1}),\alpha(b)
\alpha(T^{s_2})\big)=\alpha\big( \kk(T^{s_1},b T^{s_2}) \big)$$
for any $s_1,s_2\in\{1,\star\}$ and $b\in\D$ and, by induction, that
$$\kk_{\pi}\big( \alpha(b_1 T^{s_1} ),\dots,
\alpha(b_n T^{s_n})\big)=\alpha\big( \kk(b_1 T^{s_1},\dots,b_n T^{s_n}) \big)$$
for any $s_1,\dots,s_n\in\{1,\star\}$, $b_1,\dots,b_n\in\D$ and $\pi\in\NC_2(\{1,\dots,n\})$. 
Finally, we use the definition 
\eqref{eq:definicjacyrkularnego}.
\end{proof}

\subsection{Scalar--valued distribution of $T$}
We define a state $\phi:\A\rightarrow\C$ as follows: for $b\in\D$ we put
$$\phi(b)=\int_0^1 b(x) \dd x,$$
while for a general $a\in\A$ we put
$$\phi(a)=\phi\big( \E(a) \big).$$


\begin{remark} Alternative defintions of the state $\phi$ on the $\star$--algebra 
generated by $T$ 
can be found in articles by Dykema and Haagerup \cite{DykemaHaagerup2001} and 
by Dykema and Yan \cite{DykemaYan}, as well as the proof that $\phi$ is indeed a tracial state. 
\end{remark}

\subsection{Proof of Dykema--Haagerup conjecture}
The following theorem will be our main tool in the proof of Dykema--Haagerup
conjecture. However, since its proof is a bit technical, we postpone it to
Sect. \ref{sec:techniczne}. 
We will use the convention that $T^1=T$ while $T^{-1}=T\gwia$.

\begin{theorem}
\label{theo:formulanapochodna}
Let $s_1,\dots,s_{2m}\in\{1,\star\}$. Then
$\E(T^{s_1} \cdots T^{s_{2m}})$ is a polynomial of degree $m$ and hence
$\frac{d^m}{dx^m} \E(T^{s_1} \cdots T^{s_{2m}})$ can be identified with a 
real number.

Secondly, for any $n\in\N$ we have
\begin{multline}
\label{eq:formulanapochodna}
\frac{d^n}{dx^n} \E(T^{s_1} \cdots T^{s_{2m}})
=\!\!\!\sum_{\substack{0=j_0<j_1<\cdots\\ \cdots<j_{2n}<j_{2n+1}=2m+1}} \\
\left( \frac{d^n}{dx^n} \E(T^{s_{j_1}} T^{s_{j_2}} \cdots T^{s_{j_{2n}}})
\right) \prod_{0\leq r\leq 2m} \E(T^{s_{j_r+1}} T^{s_{j_r+2}} \cdots
T^{s_{j_{r+1}-1}}).
\end{multline}
In the above sum the nonvanishing terms are obtained only for sequences 
$(j_k)$ such that $s_{j_r+1}+s_{j_r+2}+\cdots+s_{j_{r+1}-1}=0$ for every $0\leq r\leq 2m$.

\end{theorem}
\begin{example}
Due to \eqref{eq:cyrkularnesiezeruja} the only nonvanishing terms for $m=3$ and $n=1$ are
\begin{multline*}
\frac{d}{dx} \E (T^{s_1} \cdots T^{s_6})=
\left( \frac{d}{dx} \E (T^{s_1} T^{s_2}) \right)
 \E(T^{s_3} \cdots T^{s_6})+ \\
\left( \frac{d}{dx} \E (T^{s_1} T^{s_4}) \right) \E(T^{s_2} T^{s_3})
\E(T^{s_5} T^{s_6})+
\left( \frac{d}{dx} \E(T^{s_1} T^{s_6}) \right)
\E(T^{s_2} \cdots T^{s_5})+ \\
\left( \frac{d}{dx} \E(T^{s_3} T^{s_4}) \right) \E(T^{s_1} T^{s_2})
\E(T^{s_5} T^{s_6})+
\left( \frac{d}{dx} \E(T^{s_3} T^{s_6}) \right) \E(T^{s_1} T^{s_2})
 \E(T^{s_4} T^{s_5})+\\
\left( \frac{d}{dx} \E(T^{s_5} T^{s_6}) \right) \E(T^{s_1} \cdots T^{s_4}).
\end{multline*}
\end{example}

\begin{theorem}
\label{theo:niezwyklejedynki}
Let $s_1,\dots,s_{2m}\in\{1,-1\}$ be such that
$s_1,s_1+s_2,\dots,s_1+\cdots+s_{2m-1}\leq 0$ and $s_1+\cdots+s_{2m}=0$.
Then
$$\frac{d^m}{dx^m} \E(T^{s_1} \cdots T^{s_{2m}})=1.$$

Let $s_1,\dots,s_{2m}\in\{1,-1\}$ be such that
$s_1,s_1+s_2,\dots,s_1+\cdots+s_{2m-1}\geq 0$ and $s_1+\cdots+s_{2m}=0$.
Then
$$\frac{d^m}{dx^m} \E(T^{s_1} \cdots T^{s_{2m}})=(-1)^m.$$
\end{theorem}
\begin{proof}
We shall prove the first part of the theorem by induction (the proof of the
second part is analogous and we skip it).

Let us compute $\frac{d^{m-1}}{dx^{m-1}} \E(T^{s_1} \cdots T^{s_{2m}})$
from Theorem \ref{theo:formulanapochodna}.
%Notice that there is bijection between sequences
%$0=i_0<i_1<\cdots<i_{2(m-1)}<i_{2(m-1)+1}=2m+1$ and numbers
%$k\in\{1,2,\dots,2m}$ which is given by
It is easy to observe that it yields that
\begin{multline*}
\frac{d^{m-1}}{dx^{m-1}} \E(T^{s_1} \cdots T^{s_{2m}})= \\
\sum_{1\leq k\leq 2m-1}
\left( \frac{d^{m-1}}{dx^{m-1}} \E(T^{s_1} T^{s_2}
\cdots T^{s_{k-1}} T^{s_{k+2}} T^{s_{k+3}} \cdots T^{s_{2m}}) \right)
\E(T^{s_k} T^{s_{k+1}}).
\end{multline*}
For nonzero summands the inductive hypothesis can be applied and hence
$$\frac{d^{m-1}}{dx^{m-1}} \E(T^{s_1} \cdots T^{s_{2m}})= \\
\sum_{1\leq k\leq 2m-1}
\E(T^{s_k} T^{s_{k+1}}).$$

From \eqref{eq:deft} follows that if $s_k=s_{k+1}$ then $\E(T^{s_k}
T^{s_{k+1}})=0$. Since the sequence $s_1,\dots,s_{2m}$ must begin with $-1$ and end with
$1$, hence for some $l\geq 0$ there are exactly $l$ values of the index $1\leq k<2m$
such that $(s_{k},s_{k+1})=(1,-1)$ and exactly $l+1$ values of the index $1\leq k<2m$
such that $(s_{k},s_{k+1})=(-1,1)$. Therefore
$$\frac{d^{m}}{dx^{m}} \E(T^{s_1} \cdots T^{s_{2m}})=
l \frac{d}{dx} \E(T^{1} T^{-1})+(l+1) \frac{d}{dx} \E(T^{-1} T^{1})=1.$$

\end{proof}
\begin{remark}
We leave to the reader the proof of the following: suppose that for $m\in\N$ we
have $s_1,\dots,s_{2m},s_1',\dots,s_{2m}'\in\{1,-1\}$ such that
$s_1+\cdots+s_{2m}=s_1'+\cdots+s_{2m}'=0$ and that for every $1\leq k\leq 2m$
the sums $s_1+\cdots+s_k$ and $s'_1+\cdots+s'_k$ have the same sign (to be precise:
$(s_1+\cdots+s_k)(s'_1+\cdots+s'_k)\geq 0$). Then
$$\frac{d^m}{dx^m} \E(T^{s_1} \cdots T^{s_{2m}})=
\frac{d^m}{dx^m} \E(T^{s_1'} \cdots T^{s_{2m}'}).$$
 \end{remark}

\begin{proposition}
\label{prop:nihilizm}
Let $s_1,\dots,s_{2m}\in\{1,\star\}$. If $s_1=1$ or $s_{2m}=\star$ then
$$\E(T^{s_1} \cdots T^{s_{2m}})\big|_{x=1}=0.$$
\end{proposition}
\begin{proof}
From defining relations \eqref{eq:deft} we obtain that for any $b\in\D$
and $s\in\{1,\star\}$ we have $\E(T b T^{s})|_{x=1}=\E(T^{s} 
T\gwia)|_{x=1}=0$. Now observe that in the evaluation of a nested product
$\kk_{\pi}(T^{s_1},\dots,T^{s_{2m}})$ one of the above expressions must appear
(if observations are not successful we refer to
Eq.\ \eqref{eq:rekursjanacyrkularne}).
\end{proof}


\begin{theorem}
For every $k,n\in\N$, $x\in\R$ and $0\leq m\leq k-1$
\label{theo:indukcja}
\begin{align}
\label{eq:poczatkowe}
\frac{d^m}{dx^m} \E\big[ \big(T^k (T\gwia)^k \big)^n \big]
\bigg|_{x=1}& =0, \\ %\qquad \text{for every } 0 \leq m\leq k-1, $$
\label{eq:rekurencja}
\frac{d^k}{dx^k} \E\big[ \big(T^k (T\gwia)^k \big)^n \big](x) & =(-1)^k
\E\big[ \big( T^k (T\gwia)^k\big)^{n-1} \big] (x-1).
\end{align}
%\qquad \text{for every } x\in\R,$$
\end{theorem}
\begin{remark}
Equations \eqref{eq:poczatkowe} and \eqref{eq:rekurencja} allow us to
find $\E\big[ \big(T^k (T\gwia)^k \big)^n \big]$ uniquely if
$\E\big[ \big(T^k (T\gwia)^k \big)^{n-1} \big]$ is known.
In particular, for $k=1$ equation \eqref{eq:rekurencja} coincides with the 
defining relation of Abel polynomials (up to normalisation), hence
$$ \E\big[ (T \ T\gwia)^n \big](1-x) = \E\big[ (T\gwia T)^n \big](x)=
\\ \frac{1}{n!} A_n(x) = \frac{x (x-n)^{n-1}}{n!}. $$ 
\end{remark}
\begin{proof}
We use Theorem \ref{theo:formulanapochodna} in order to compute
$\frac{d^m}{dx^m}\E\big[ \big(T^k (T\gwia)^k \big)^n \big] \big|_{x=1}$.
Proposition \ref{prop:nihilizm} implies that nonzero terms will be obtained
only for sequences
\begin{multline*}
j_1=1, j_2=2, \dots, j_k=k< j_{k+1} < j_{k+2} < \cdots <
j_{2m-k}< \\
<j_{2m-k+1}=2kn-k+1,j_{2m-k+2}=2kn-k+2,\dots,
%i_{2m-1}=2kn-1,
j_{2m}=2kn.
\end{multline*}
It has twofold implications. Firstly, since the above condition cannot be
fulfilled for $m<k$, the first part of the theorem follows.

Secondly, for every $m\geq 0$
$$\frac{d^{m+k}}{dx^{m+k}}\E\big[ \big(T^k (T\gwia)^k \big)^n \big]
\bigg|_{x=1}=
(-1)^{k+m} \frac{d^m}{dx^m}\E\big[ \big((T\gwia)^k T^k\big)^{n-1} \big]
\bigg|_{x=1}$$
by applying Eq. \eqref{eq:formulanapochodna} and 
Theorem \ref{theo:niezwyklejedynki} to both sides of the equation (we leave it as
an exercise to the reader to verify that assumptions of Theorem \ref{theo:niezwyklejedynki}
are fulfilled for nonvanishing summands). 
It follows that
$$\frac{d^{k}}{dx^{k}}\E\big[ \big(T^k (T\gwia)^k \big)^n \big](1+x)=
(-1)^k \E\big[ \big((T\gwia)^k T^k\big)^{n-1} \big](1-x)$$
since both sides of the above equation are polynomials, all derivatives of
which coincide in $x=0$.

Now observe that
\begin{multline*}
(-1)^k \E\big[ \big((T\gwia)^k T^k\big)^{n-1} \big](1-x) =
(-1)^k \E\Big[\alpha\Big( \big((T\gwia)^k T^k\big)^{n-1} \Big)\Bigg](x)=\\
(-1)^k \E\big[ \big(T^k (T\gwia)^k\big)^{n-1} \big](x)
\end{multline*}
which finishes the proof.
\end{proof}
\begin{remark}
Let $k_1\geq k_2 \geq \cdots \geq k_n\geq 1$. By
$T^{k_1} (T\gwia)^{k_2} T^{k_3} \cdots$ we denote the alternating product of powers of
$T$ and $T\gwia$ the last factor of which is equal to $T^{k_n}$ (for $n$ odd) or equal to
$(T\gwia)^{k_n}$ (for $n$ even). We leave to the reader the proof of the following:
if $0\leq m\leq k_1-1$ then
$$\frac{d^m}{dx^m} \E\big[\big( T^{k_1} (T\gwia)^{k_2} T^{k_3} \cdots \big) \big( \cdots
(T\gwia)^{k_3} T^{k_2} (T\gwia)^{k_1} \big)
\big]\bigg|_{x=1} =0, $$
\begin{multline*}
\frac{d^{k_1}}{dx^{k_1}} 
\E\big[ \big(T^{k_1} (T\gwia)^{k_2} T^{k_3} \cdots\big) 
\big(\cdots (T\gwia)^{k_3} T^{k_2} (T\gwia)^{k_1}
\big) \big](x)= \\
(-1)^{k_1} \E\big[\big(T^{k_2} (T\gwia)^{k_3} T^{k_4} \cdots\big)
\big(\cdots (T\gwia)^{k_4} T^{k_3} (T\gwia)^{k_2} \big)\big](x-1).
\end{multline*}

\end{remark}

%\section{The computation of $\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]$}
\begin{corollary}
\label{coro:objetosc}
Let $k,n\in\N$. For every $x<1$ we have
\begin{multline}
\label{eq:objetosc1}
\E\big[ \big(T^k (T\gwia)^k\big)^n \big](x)=\vol \Big\{
(x_1,\dots,x_{nk})\in\R^{nk}: \\ x<x_1<x_2<\cdots<x_{kn} \text{ and }
x_{k}<1 \text{ and } x_{2k}<2,\cdots,\text{ and } x_{nk}<n \Big\}.
\end{multline}
Furthermore
$$\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]=\vol V_{k,n},$$
where
\begin{multline*} V_{k,n}=\Big\{
(x_0,x_1,\dots,x_{nk})\in\R^{nk+1}:  0<x_0<x_1<\cdots<x_{kn} \text{ and }\\
x_{k}<1 \text{ and } x_{2k}<2,\cdots,\text{ and } x_{nk}<n \Big\}.
\end{multline*}
\end{corollary}
\begin{proof}
From Theorem \ref{theo:indukcja} it follows that
\begin{multline*}
\E\big[ \big(T^k (T\gwia)^k\big)^n \big](x)=    \\
\int_x^1 \int_{x_1}^1 \cdots \int_{x_{k-1}}^1
\E\big[ \big( T^k (T\gwia)^k\big)^{n-1} \big](x_k-1) \dd x_1 \dd x_2
\cdots \mathrm{d} x_k
\end{multline*}
and since the volume in (\ref{eq:objetosc1}) can be written as an iterated
integral, the first part of the Lemma follows by induction.

The second part of the Corollary is a direct consequence of the first one.
\end{proof}


\begin{theorem}[Conjecture of Dykema and Haagerup]
For any $k,n\in\N$ we have
$$\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]=\frac{n^{nk}}{(nk+1)!}.$$
\end{theorem}
\begin{proof}
We denote
\begin{multline*}
S_{k,n}=\big\{ \x=(x_0,\dots,x_{nk})\in\R^{nk+1}:  \\
0<x_0<\cdots<x_{nk}<n, \qquad x_0,\dots,x_{nk}\not\in\Z \big\}
\end{multline*}
and for $l\in\{0,1,\dots,n-1\}$ and $\x\in S_{k,n}$ we define
$s_l(\x)+\frac{nk+1}{n}$ to be the number of elements of the tuple $\x$ which
are also elements of the interval $(l,l+1)$:
$$s_l(\x)=\overline{\overline{\{x_0,\dots,x_{nk}\}\cap [l,l+1]
}}-\frac{nk+1}{n}.$$
So defined numbers fulfill
$$s_0(\x)+\cdots+s_{n-1}(\x)=0.$$
For $\x\in S_{k,n}$ it is easy to see that $\x\in V_{k,n}$ if and only
if
$$s_0(\x),s_0(\x)+s_1(\x),\dots,s_0(\x)+\cdots+s_{n-2}(\x)>0.$$

For any integer number $m$ and $\x\in S_{k,n}$ we define $m+\x\in S_{k,n}$ to
be the increasing sequence such that the set of values of $m+\x$ is equal to
$$\{m+x_0 \bmod n, m+x_1 \bmod n,\dots,m+x_{nk} \bmod n\}.$$
We recall that if $y\in\R$ then $y \bmod n$ is defined to be the $y'$ such
that $y'-y$ is a multiple of $n$ and $0\leq y'<n$.

Note that $s_l(m+\x)=s_{(l-m) \bmod n}(\x)$ and hence the sequences
$$\big(s_0(m+\x),\dots,s_{n-1}(m+\x)\big)_{m=0,1,2,\dots,n-1}$$
are cyclic rotations of each other.

From Raney lemma \cite{Raney1960} it
follows that for every $\x\in S_{k,n}$ there exists exactly one
$m\in\{0,1,\dots,n-1\}$ such that $m+\x\in V_{k,n}$; in order to be self--contained
we indicate the proof. Indeed, it is the $m$ for
which the sum $s_1(\x)+\cdots+s_{m}(\x)$ takes its minimal value.
Such index $m$ is unique, since if
$m_1\neq m_2$ then
$$\big(s_1(\x)+\cdots+s_{m_1}(\x)\big)-\big(s_1(\x)+\cdots+s_{m_2}(\x)\big)$$
cannot be integer and hence
$$s_1(\x)+\cdots+s_{m_1}(\x)\neq s_1(\x)+\cdots+s_{m_2}(\x).$$
%A similar argument for counting paths which
% give rise to Catalan numbers can be found in \cite{GrahamKnuthPatashnik}, Sect.\ 7.5.

We have proved that $S_{k,n}$ is a disjoint sum of the sets 
$(m+V_{k,n})_{m=0,1,\dots,n-1}$. Since all these sets have the same volume, we have
$$n \vol V_{k,n}=\frac{n^{nk+1}}{(nk+1)!}$$ which finishes the proof after application of
Corollary \ref{coro:objetosc}.
\end{proof}

\begin{remark}
In this article we define $\D$ to be an algebra of polynomials on the whole real line.
From the viewpoint of the theory of large random matrices developed by
Shlyakhtenko \cite{Shlyakhtenko1996,Shlyakhtenko1997} it does not have much sense, since
only the values of functions on the interval $[0,1]$ have a nice interpretation. Nevertheless,
our proof of Dykema--Haagerup conjecture uses extensively such senseless objects. It
is a small mystery that we still do not understand. 
\end{remark}

\begin{remark}
By refining the above proof one can show the following: for every sequence 
$l_1\geq l_2 \geq \cdots \geq l_n$ it is possible to find a close formula for a
family of moments
$$\phi\big[ \big(T^{k+l_1} (T\gwia)^{k+l_2} T^{k+l_3} \cdots\big) 
\big(\cdots (T\gwia)^{k+l_3} T^{k+l_2} (T\gwia)^{k+l_1}
\big) \big].$$

For example,
$$\phi\big( T^{n+1} (T\gwia)^n T^n (T\gwia)^{n+1} \big)=\frac{1}{2} \left( 
\frac{2^{2n+2}}{(2n+2)!} - \frac{1}{[(n+1)!]^2} \right), $$
$$\phi\big( T^{n+1} (T\gwia)^n T^n (T\gwia)^n T^n (T\gwia)^{n+1} \big)=
\frac{3^{3n+1}}{(3n+2)!}- \frac{1}{n! [(n+1)!]^2 }, $$
\begin{multline*}
\phi\big( T^{n+2} (T\gwia)^n T^n (T\gwia)^n T^n (T\gwia)^{n+2} \big)= \\
\frac{3^{3n+2}}{(3n+3)!}- 
\frac{2^{2n}}{(n+2)! (2n+1)!} - \frac{2^{2n+3}}{3 (n+1)! (2n+2)!}
+\frac{1}{3 [(n+1)!]^3}.
\end{multline*}
We leave to the reader to apply methods from Sect.\ \ref{sec:kombinatoryczna}
to the left hand sides of the above equations
and obtain even more multlinomial identities 
similar to \eqref{eq:tozsamosc2}--\eqref{eq:tozsamosc4}.
\end{remark}


\section{Formulas for $\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]$ involving multinomial 
coefficients}
\label{sec:kombinatoryczna}

For any fixed $n$ it is possible to write a (possibly very complicated) formula for
$\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]$ which involves multinomial coefficients. 
The first step is to enumerate all noncrossing pair partitions of the tuple 
\begin{equation}
\underbrace{\underbrace{T,\dots,T}_{k \text{ times}},\underbrace{T\gwia,\dots,T\gwia}_{k 
\text{ times}},
\dots,\underbrace{T,\dots,T}_{k \text{ times}},
\underbrace{T\gwia,\dots,T\gwia}_{k \text{ times}}}_{2n \text{ times}}
\label{eq:mazursniady}
\end{equation}
with a property that each line connects either $T$ with $T\gwia$ or $T\gwia$ with $T$ 
(see the example below).

Secondly, for $\alpha,\beta\geq 0$ we define a function $f_{\alpha,\beta}\in\D$ by
$$f_{\alpha,\beta}(x)=\frac{x^\alpha (1-x)^\beta}{\alpha! \beta!}.$$
It is not difficult to show the following lemma.
\begin{lemma}
\label{lem:rachownictwo}
For every $\alpha,\beta,\alpha',\beta',p\geq 0$ we have
$$f_{\alpha,\beta} f_{\alpha',\beta'}=\binom{\alpha+\alpha'}{\alpha}
 \binom{\beta+\beta'}{\beta} f_{\alpha+\alpha',\beta+\beta'},$$
$$\begin{pspicture}[](0,-20pt)(0,20pt) 
$\kk(\overbrace{ \rnode{r1}{T}}^{p \text{ lines}},f_{\alpha,\beta} 
\rnode{s1}{T\gwia})=$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{s1}
\end{pspicture}
\sum_{0\leq k\leq \alpha} \binom{k+p}{p} f_{\alpha-k,\beta+k+p},$$
$$\begin{pspicture}[](0,-20pt)(0,0) 
$\kk(\overbrace{ \rnode{r1}{T\gwia}}^{p \text{ lines}},f_{\alpha,\beta} 
\rnode{s1}{T})=$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{s1}
\end{pspicture}
\sum_{0\leq k\leq \alpha} \binom{k+p}{p} f_{\alpha+k+p,\beta-k},$$
$$\begin{pspicture}[](0,-20pt)(0,20pt) 
$\phi\big(\kk(\overbrace{ \rnode{t1}{T}}^{p \text{ lines}},f_{\alpha,\beta} 
\rnode{u1}{T\gwia})\big)
=\frac{\binom{p+\alpha}{\alpha}}{(\alpha+\beta+p+1)!},$ 
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{s1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{t1}{u1}
\end{pspicture} $$
$$\begin{pspicture}[](0,-20pt)(0,20pt) 
$\phi\big(\kk(\overbrace{ \rnode{t1}{T\gwia}}^{p \text{ lines}},f_{\alpha,\beta} 
\rnode{u1}{T})\big)
=\frac{\binom{p+\beta}{\beta}}{(\alpha+\beta+p+1)!},$ 
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{s1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{t1}{u1}
\end{pspicture} $$
where in order to save space and keep the notation simple, instead of
$$\begin{pspicture}[](0,-20pt)(0,20pt) 
$\overbrace{ \rnode{a1}{T},\dots,\rnode{a3}{T}}^{p \text{ lines}},$ \hspace{2cm} $
\rnode{x3}{T\gwia},\dots,\rnode{x1}{T\gwia}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=15pt,nodesep=1pt,linearc=15pt]{a1}{x1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt]{a3}{x3}
\text{ we write }
\overbrace{ \rnode{r1}{T}}^{p \text{ lines}},$ \hspace{2cm}
$\rnode{s1}{T\gwia}.$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{s1}
\end{pspicture}$$
\end{lemma}

The third and last step to find the formula for $\phi\big[ \big(T^k (T\gwia)^k\big)^n \big]$ 
is a direct application of Lemma \ref{lem:rachownictwo} to compute the nested product 
$\kk_\pi \big[ \big(T^k (T\gwia)^k\big)^n \big]$.

The last two steps can also be replaced by a more combinatorial procedure of counting 
orderings on certain graphs \cite{DykemaHaagerup2001}.

\begin{example}
We have that for $n=3$ every noncrossing pair partition (with the additional property 
mentioned above) of the tuple \eqref{eq:mazursniady} is in the form 
\begin{equation}
\label{eq:postac0}
\begin{pspicture}[](0,-25pt)(0,25pt)
$
\overbrace{ \rnode{a1}{T}}^{p \text{ lines}},
\overbrace{ \rnode{q1}{T}}^{q \text{ lines}},\rnode{r1}{T\gwia},
\overbrace{\rnode{c1}{T\gwia}}^{p \text{ lines}},
\rnode{d1}{T},
\overbrace{ \rnode{j1}{T}}^{q \text{ lines}},
\rnode{k1}{T\gwia},
\overbrace{\rnode{h1}{T\gwia}}^{p \text{ lines}},
\rnode{i1}{T},
\overbrace{\rnode{e1}{T}}^{q \text{ lines}},
\rnode{f1}{T\gwia},\rnode{b1}{T\gwia},$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=20pt,nodesep=1pt,linearc=20pt,doubleline=true]{a1}{b1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{q1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{c1}{d1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{h1}{i1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{j1}{k1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{e1}{f1} 
\end{pspicture}
\end{equation}
with $p+q=k$ or in one of the forms
\begin{equation}
\begin{pspicture}[](0,-40pt)(0,25pt)
$
\overbrace{ \rnode{a1}{T}}^{p \text{ lines}},
\overbrace{ \rnode{x1}{T}}^{q+1 \text{ lines}},
\overbrace{ \rnode{q1}{T}}^{r \text{ lines}},
\rnode{r1}{T\gwia},\!\!\!\!
\overbrace{\rnode{c1}{T\gwia}}^{p+q+1 \text{ lines}}\!\!\!\!\,
\rnode{d1}{T},\overbrace{ \rnode{j1}{T}}^{r \text{ lines}},
\rnode{k1}{T\gwia},\rnode{y1}{T\gwia},
\overbrace{\rnode{h1}{T\gwia}}^{p \text{ lines}},
\rnode{i1}{T},\!\!\!\!\overbrace{ \rnode{e1}{T}}^{q+r+1 \text{ lines}}\!\!\!\!,
\rnode{f1}{T\gwia},\rnode{b1}{T\gwia},$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=30pt,nodesep=1pt,linearc=30pt,doubleline=true]{a1}{b1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=20pt,nodesep=1pt,linearc=20pt,doubleline=true]{x1}{y1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{q1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{c1}{d1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{h1}{i1}
 \ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{j1}{k1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{e1}{f1}
\end{pspicture}
\end{equation}
\begin{equation}
\begin{pspicture}[](0,-40pt)(0,25pt)
$
\!\!\!\!\overbrace{ \rnode{a1}{T}}^{p+q+1 \text{ lines}},
\overbrace{ \rnode{q1}{T}}^{r \text{ lines}},
\rnode{r1}{T\gwia},
\overbrace{ \rnode{x1}{T\gwia}}^{q \text{ lines}},
\overbrace{\rnode{c1}{T\gwia}}^{p \text{ lines}},
\rnode{d1}{T},
\!\!\!\!\overbrace{ \rnode{j1}{T}}^{q+r+1 \text{ lines}}\!\!\!\!,
\rnode{k1}{T\gwia},
\overbrace{ \rnode{h1}{T\gwia}
}^{p \text{ lines}},
\rnode{i1}{T},\rnode{y1}{T},
\overbrace{ \rnode{e1}{T}}^{r \text{ lines}},
\rnode{f1}{T\gwia},\rnode{b1}{T\gwia},$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=30pt,nodesep=1pt,linearc=30pt,doubleline=true]{a1}{b1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{q1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=20pt,nodesep=1pt,linearc=20pt,doubleline=true]{x1}{y1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{c1}{d1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{h1}{i1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{j1}{k1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{e1}{f1}
\end{pspicture}
\end{equation}
\begin{equation}
\label{eq:postac3}
\begin{pspicture}[](0,-40pt)(0,25pt)
$
\overbrace{ \rnode{a1}{T}}^{p \text{ lines}},
\overbrace{ \rnode{q1}{T}}^{q+r+1 \text{ lines}}\!\!\!\!,
\rnode{r1}{T\gwia},
\overbrace{ \rnode{c1}{T\gwia}}^{p \text{ lines}},
\rnode{d1}{T},\overbrace{ \rnode{x1}{T}}^{q \text{ lines}},
\overbrace{ \rnode{j1}{T}}^{r \text{ lines}},
\rnode{k1}{T\gwia},
\!\!\!\!\overbrace{ \rnode{h1}{T\gwia}}^{p+q+1 \text{ lines}}\!\!\!\!,
\rnode{i1}{T},\overbrace{ \rnode{e1}{T}}^{r \text{ lines}},
\rnode{f1}{T\gwia},\rnode{y1}{T\gwia},\rnode{b1}{T\gwia}$
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=30pt,nodesep=1pt,linearc=30pt,doubleline=true]{a1}{b1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{r1}{q1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{c1}{d1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=20pt,nodesep=1pt,linearc=20pt,doubleline=true]{x1}{y1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{h1}{i1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{j1}{k1}
\ncangle[angleA=-90,angleB=-90,ncurv=1,arm=10pt,nodesep=1pt,linearc=10pt,doubleline=true]{e1}{f1}
\end{pspicture}
\end{equation}
with $p+q+r=k-1$.

We leave it as an exercise to the reader to apply Lemma \ref{lem:rachownictwo} and
check that $\phi\big[ \big(T^k (T\gwia)^k\big)^3 \big]$ is indeed equal to the 
right hand side of \eqref{eq:tozsamosc3}. 
\end{example}




\section{Technical results}
\label{sec:techniczne}

The main result of this Section is the proof of Theorem
\ref{theo:formulanapochodna}. 
%The proof we present is not difficult (in our
%opinion), however it involves intense and rapid hand--waving. Unfortunatelly,
%in the process of converting this audio--visual part into a written text, this
%proof became quite long and complicated. Therefore we encourage the reader to
%find his/hers own proof of Theorem \ref{theo:formulanapochodna} and consult the
%text below only if difficulties arise.

\begin{proposition}
\label{prop:innadefinicja}
If $T$ is a generalized circular element, $m\geq 0$ and
$s_1,\dots,s_{2m}\in\{1,\star\}$ then
\begin{multline}
\E(T^{s_1} \cdots T^{s_{2m}})=
\sum_{k\geq 1}
\sum_{\substack{1=i_1<i_2<\cdots\\ \cdots<i_{k+1}=2m+1}}
\prod_{1\leq r\leq k}
\label{eq:rekursjanacyrkularne}  \\
\kk\big( T^{s_{i_r}}, \E(T^{s_{i_r+1}} T^{s_{i_r+2}} \cdots
T^{s_{i_{r+1}-3}} T^{s_{i_{r+1}-2}}) T^{s_{i_{r+1}-1}} \big).
\end{multline}
\end{proposition}
\begin{remark}
We can treat Proposition \ref{prop:innadefinicja} as an alternative recursive
definition of the generalized circular elements.
\end{remark}
\begin{example}
If $T$ is a generalized circular element then for any
$s_1,\dots,s_6\in\{1,\star\}$ we have
\begin{multline*}
\E(T^{s_1} T^{s_2} T^{s_3} T^{s_4} T^{s_5} T^{s_6})= \\
\kk\big(T^{s_1}, \E(T^{s_2} T^{s_3} T^{s_4} T^{s_5}) T^{s_6}\big)+
\kk\big(T^{s_1}, T^{s_2}) \kk \big(T^{s_3},
                            \E( T^{s_4} T^{s_5}) T^{s_6}\big)+\\
\kk\big(T^{s_1}, \E(T^{s_2} T^{s_3}) T^{s_4}\big) \kk(T^{s_5},T^{s_6})+
\kk(T^{s_1}, T^{s_2}) \kk(T^{s_3}, T^{s_4}) \kk(T^{s_5},T^{s_6}).
\end{multline*}
\end{example}
\begin{proof}
%Since the set with an odd number of elements has no pair partitions at all,
%hence for $n=2m+1$ the right--hand side of \eqref{eq:definicjacyrkularnego} is
%equal to zero and the first part of the proposition follows.
%
Observe that for $\pi\in\NC_2(\{1,\dots,2m\})$ we can distinguish certain lines
in $\pi$ which will be called outer lines. This name can be easily justified by
the example below, where the outer lines were plotted with a bold line.
To be precise: we define $i_1=1$ and we inductively define $i_{n}$ by the
requirement that the index $i_{n}-1$ is joined by a line in $\pi$ with
the index $i_{n-1}$.
In this way we have defined a tuple $1=i_1<i_2<\cdots<i_{k+1}=2m+1$ and the
outer lines in $\pi$ are exacly $\{i_1,i_2-1\}, \{i_2,i_3-1\}, \dots,
\{i_{k},i_{k+1}-1\}$.

Furthermore, for $1\leq r\leq k$ we define
$\pi_r\in\NC_2(\{i_{r}+1,i_{r}+2,\dots,i_{r+1}-2\})$ by $\pi_r=\big\{
\{a,b\}\in\pi: i_{r}+1\leq a,b \leq i_{r+1}-2 \big\}$. Lines of noncrossing
pair partitions $\pi_1,\dots,\pi_k$ have a nice graphical interpretation as
inner lines of the partition $\pi$ \cite{BozejkoLeinertSpeicher}.


\begin{example}
%$$
%\begin{pspicture}[](0,-20pt)(0,0)
%$\rnode{q1}{\hspace{1ex}}\ \rnode{q2}{\hspace{1ex}}\ \rnode{q3}{\ }\
%\rnode{q4}{\ }\ \rnode{q5}{\ }\ \rnode{q6}{\ }\ \rnode{q7}{\ }\ \rnode{q8}{\ }
%\ \rnode{q9}{\ }\ \rnode{q10}{\ }\ \rnode{q11}{\ }\ \rnode{q12}{\ }.$
%\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,
%ncurv=1,nodesep=3pt]{q1}{q6}
%\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q3}
%\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
%\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,ncurv=1,
% nodesep=3pt]{q7}{q8}
%\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,ncurv=1,
% nodesep=3pt]{q9}{q12}
%\nccurve[angleA=-90,angleB=-90,ncurv=1,
% nodesep=3pt]{q10}{q11}
%\end{pspicture}
%$$
For a noncrossing pair partition $\pi$ given by
$$
\begin{pspicture}[](0,-20pt)(0,0)
$\rnode{q1}{1}\ \rnode{q2}{2}\ \rnode{q3}{3}\
\rnode{q4}{4}\ \rnode{q5}{5}\ \rnode{q6}{6}\ \rnode{q7}{7}\ \rnode{q8}{8}
\ \rnode{q9}{9}\ \rnode{q10}{10}\ \rnode{q11}{11}\ \rnode{q12}{12}$
\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,
ncurv=1,nodesep=3pt]{q1}{q6}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q2}{q3}
\nccurve[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt]{q4}{q5}
\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,ncurv=1,
 nodesep=3pt]{q7}{q8}
\nccurve[linewidth=1.5pt,angleA=-90,angleB=-90,ncurv=1,
 nodesep=3pt]{q9}{q12}
\nccurve[angleA=-90,angleB=-90,ncurv=1,
 nodesep=3pt]{q10}{q11}
\end{pspicture}
$$
we have $i_1=1$, $i_2=7$, $i_3=9$, $i_4=13$. The outer lines are: $\{1,6\}$,
$\{7,8\}$, $\{9,12\}$ and are drawn with a bold line. We have
$\pi_1=\big\{ \{2,3\},\{4,5\} \big\}$, $\pi_2=\emptyset$,
$\pi_3=\big\{ \{10,11\} \big\}$.
\end{example}

Now we see that the sum over $\pi$ in \eqref{eq:definicjacyrkularnego} can be
replaced by the sum over $k\geq 1$ (i.e.\ the number of outer lines of $\pi$),
over  indices $1=i_1<i_2<\cdots<i_{k+1}=2m+1$ (i.e.\ the positions of the outer
lines of $\pi$) and over $\pi_1,\dots,\pi_k$ such that
$\pi_r\in\NC_2(\{i_{r}+1,i_{r}+2,\dots,i_{r+1}-2\})$ (i.e.\ the inner
lines of $\pi$):

\begin{multline*}
\E(T^{s_1}\dots T^{s_{2m}})=\\ \shoveleft{\sum_{k\geq 1}
\sum_{i_1<\cdots<i_{k+1}}
\begin{pspicture}[](0,0)(0,-15pt) $
\kk\Big(\rnode{p1}{T^{s_{i_1}}}, \sum_{\pi_1}
\kk_{\pi_1}(T^{s_{i_1+1}},\dots,T^{s_{i_2
-2}}) \rnode{p2}{T^{s_{i_2-1}}},
\ncangle[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt,linearc=.30]{p1}{p2}
%\sum_{\substack{\pi_1\in\NC_2(\{i_0+1,i_0+2,\dots,i_1-2\}),\\ \vdots \\
%\pi_k\in\NC_2(\{i_{k-1}+1,i_{k-1}+2,\dots,i_k-2\})}}
$ \end{pspicture}} \\
\dots, \begin{pspicture}[](0,0)(0,0) $
\rnode{p3}{T^{s_{i_{k}}}}, \sum_{\pi_k}
\kk_{\pi_k}(T^{s_{i_{k}+1}},\dots,T^{s_{i_{k+1}
-2}})\rnode{p4}{T^{s_{i_{k+1}-1}}}\Big).
\ncangle[angleA=-90,angleB=-90,ncurv=1,nodesep=3pt,linearc=.30]{p3}{p4}
%\sum_{\substack{\pi_1\in\NC_2(\{i_0+1,i_0+2,\dots,i_1-2\}),\\ \vdots \\
%\pi_k\in\NC_2(\{i_{k-1}+1,i_{k-1}+2,\dots,i_k-2\})}}
$ \end{pspicture}
\end{multline*}
Since by definition
$$\sum_{\pi_r} \kk_{\pi_r}(T^{s_{i_r+1}}, \dots,
T^{s_{i_{r+1}-2}})=\E (T^{s_{i_r+1}}\cdots T^{s_{i_{r+1}-2}})$$ for any
$1\leq r\leq k$, the second part of the proposition follows. \end{proof}



\begin{proof}[Proof of Theorem \ref{theo:formulanapochodna}]
%The Proposition follows by induction from Eq.\ (\ref{eq:rekursjanacyrkularne})
%and defining relations \eqref{eq:deft}.
%
Let us consider the case $n=1$. We apply the Leibnitz rule to the
right--hand side of Eq.\ (\ref{eq:rekursjanacyrkularne}):
\begin{multline*}
\frac{d}{dx} \E(T^{s_1} \cdots T^{s_{2m}}) =
\sum_{k\geq 1}
\sum_{\substack{1=i_1<i_2<\cdots\\ \cdots<i_{k+1}=2m+1}}
 \sum_{1\leq r'\leq k} \\
\shoveleft{
\left( \frac{d}{dx} \kk\big( T^{s_{i_{r'}}}, \E(T^{s_{i_{r'}+1}}
T^{s_{i_{r'}+2}} \cdots  T^{s_{i_{r'+1}-2}}) T^{s_{i_{r'+1}-1}} \big) \right)
\times} \\ \times
\prod_{r\neq r'}
\kk\big( T^{s_{i_{r}}}, \E(T^{s_{i_{r}+1}} T^{s_{i_{r}+2}} \cdots
 T^{s_{i_{r+1}-2}}) T^{s_{i_{r+1}-1}} \big).
 \end{multline*}


We denote $j_1=i_{r'}$, $j_2=i_{r'+1}-1$, $k'=r'-1$, $k''=k-r'$, $i'_s=i_s$ for
$1\leq s\leq k'+1$ and $i''_s=i_{s+r'}$ for $1\leq s\leq k''+1$.
Hence
\begin{multline}
\label{eq:wackywacky}
\frac{d}{dx} \E(T^{s_1} \cdots T^{s_{2m}}) =
\sum_{1\leq j_1<j_2\leq 2m} \\
\bigg(  \sum_{k'\geq 1}
\sum_{\substack{1=i'_1<\cdots\\ \cdots<i'_{k'+1}=j_1+1}}
 \prod_{1\leq r \leq k'}
\kk\big( T^{s_{i'_{r}}}, \E(T^{s_{i'_{r}+1}} \cdots
 T^{s_{i'_{r+1}-2}}) T^{s_{i'_{r+1}-1}} \big) \bigg) \times \\
\times \bigg( \frac{d}{dx} \kk\big( T^{s_{j_1}}, \E(T^{s_{j_1+1}}
T^{s_{j_2+2}} \cdots  T^{s_{j_2-1}}) T^{s_{j_2}} \big) \bigg) \times \\
\times \bigg(  \sum_{k''\geq 1}
\sum_{\substack{j_2+1=i''_1<\cdots\\ \cdots<i''_{k''+1}=2m+1}}
 \prod_{1\leq r \leq k''}
 \kk\big( T^{s_{i''_{r}}}, \E(T^{s_{i''_{r}+1}} \cdots
 T^{s_{i''_{r+1}-2}}) T^{s_{i''_{r+1}-1}} \big) \bigg).
\end{multline}
Observe that the first and the third factor on the right--hand side of
\eqref{eq:wackywacky} correspond to the right--hand side of
\eqref{eq:rekursjanacyrkularne}. The second factor can be simplified
by an observation that \eqref{eq:deft} imply $\frac{d}{dx}
\kk(T^{s_{j_1}}, b T^{s_{j_2}})=
b \frac{d}{dx}\kk(T^{s_{j_1}},T^{s_{j_2}})$ for any $b\in\D$. Hence
\begin{multline*}
\frac{d}{dx} \E(T^{s_1} \cdots T^{s_{2m}}) =
\sum_{1\leq j_1<j_2\leq 2m}
\left(\frac{d}{dx} \E(T^{s_{j_1}} T^{s_{j_2}}) \right) \times \\
\times \E(T^{s_1} \cdots T^{s_{j_1-1}})
\E(T^{s_{j_1+1}} \cdots T^{s_{j_2-1}})
\E(T^{s_{j_2+1}} \cdots T^{s_{2m}})
\end{multline*}
which finishes the proof of the case $n=1$.

For the general case we can use recursively \eqref{eq:formulanapochodna} for
$n=1$ and Leibnitz rule in order to compute
$\frac{d^n}{dx^n} \E(T^{s_1} \cdots T^{s_{2m}})$. For example, for
$n=2$ we obtain three summands; for brevity we present below only one of
them:
\begin{multline*}
\frac{d^2}{dx^2} \E(T^{s_1} \cdots T^{s_{2m}})=
\sum_{1\leq j'_1<j'_2\leq 2m}
\left(\frac{d}{dx} \E(T^{s_{j'_1}} T^{s_{j'_2}}) \right) \times \\
\times
\bigg( \sum_{1\leq j''_1<j''_2<j_1'}
\left(\frac{d}{dx} \E(T^{s_{j''_1}} T^{s_{j''_2}}) \right)
\E(T^{s_1} \cdots T^{s_{j''_1-1}})
\E(T^{s_{j''_1+1}} \cdots T^{s_{j''_2-1}}) \times \\ \times
\E(T^{s_{j''_2+1}} \cdots T^{s_{j'_1-1}}) \bigg)
\E(T^{s_{j'_1+1}} \cdots T^{s_{j'_2-1}})
\E(T^{s_{j'_2+1}} \cdots T^{s_{2m}})+ \dots
%+\sum_{1\leq j'_1<j'_2\leq 2m}
%\left(\frac{d}{dx} \E(T^{s_{j'_1}} T^{s_{j'_2}}) \right)
%\E(T^{s_1} \cdots T^{s_{j'_1-1}}) \times \\ \times
%\bigg( \sum_{j_1'<j''_1<j''_2<j'_2}
%\left(\frac{d}{dx} \E(T^{s_{j''_1}} T^{s_{j''_2}}) \right)
%\E(T^{s_{j'_1+1}} \cdots T^{s_{j''_1-1}})
%\E(T^{s_{j''_1+1}} \cdots T^{s_{j''_2-1}}) \times \\ \times
%\E(T^{s_{j''_2+1}} \cdots T^{s_{j'_2-1}}) \bigg)
%\E(T^{s_{j'_2+1}} \cdots T^{s_{2m}})+
\end{multline*}
and by renaming the indices we get
\begin{multline*}
\frac{d^2}{dx^2} \E(T^{s_1} \cdots T^{s_{2m}})=
\sum_{0=j_0<\cdots<j_5=2m+1} \\
\shoveleft{
\left( 2 \frac{d}{dx} \E(T^{s_{j_1}} T^{s_{j_2}})
\frac{d}{dx} \E(T^{s_{j_3}} T^{s_{j_4}})+
\frac{d}{dx} \E(T^{s_{j_1}} T^{s_{j_4}})
\frac{d}{dx} \E(T^{s_{j_2}} T^{s_{j_3}}) \right) \times} \\
\times
\prod_{0\leq r\leq 4} \E(T^{s_{j_r+1}} T^{s_{j_r+2}} \cdots
T^{s_{j_{r+1}-1}}).
\end{multline*}
In the general case we get
\begin{multline}
\label{eq:szczegolny}
\frac{d^n}{dx^n} \E(T^{s_1} \cdots T^{s_{2m}})=\\
\sum_{0=j_0<\cdots<j_{2n+1}=2m+1}
c_{s_{j_1},s_{j_2},\dots,s_{j_{2n}}}
\prod_{0\leq r\leq 2n} \E(T^{s_{j_r+1}} T^{s_{j_r+2}} \cdots
T^{s_{j_{r+1}-1}})
\end{multline}
for some constant $c_{s_{j_1},s_{j_2},\dots,s_{j_{2n}}}$ which does not depend
on $m$. This constant can be easily evaluated by the observation that
\eqref{eq:szczegolny} gives in particular
$$\frac{d^n}{dx^n} \E(T^{s_{j_1}} T^{s_{j_2}} \cdots T^{s_{j_{2n}}})=
c_{s_{j_1},s_{j_2},\dots,s_{j_{2n}}}$$
which finishes the proof.

The final remark about nonvanishing summands follows easily from the observation that
if $s_1,\dots,s_{n}\in\{1,-1\}$ and $s_1+\dots+s_n\neq 0$ then every pair partition
of the tuple $(T^{s_1},\dots,T^{s_n})$ must connect $T$ with $T$ or $T\gwia$ with $T\gwia$.
The defining relation  \eqref{eq:deft} implies that $\E(T^{s_1}\cdots T^{s_n})=0$.

\end{proof}


\section{Acknowledgements}
I thank Ken Dykema for many fruitful discussions and for
introducing me into the subject.
Research supported by State Committee for Scientific Research (KBN)
grant No.\ 2 P03A 007 23.
The research was conducted at Texas A\&{}M University on a
scholarship funded by Polish--US Fulbright Commission.
The author is a holder of a scholarship funded by
Fundacja na rzecz Nauki Polskiej.


\bibliography{biblio}


\end{document}



pst-node.tex
%% BEGIN pst-node.tex
%%
%% Nodes with PSTricks 97.
%% See the betadoc documentation for usage. 
%% This uses the header file `pst-node.pro'.
%%
\def\fileversion{97 patch 9}
\def\filedate{1999/04/14}
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
%%
\message{ v\fileversion, \filedate}
\csname PSTnodesLoaded\endcsname
\let\PSTnodesLoaded\endinput
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi\relax
\edef\TheAtCode{\the\catcode`\@}
\catcode`\@=11
\pstheader{pst-node.pro}
\def\pst@nodedict{tx@NodeDict begin }
\def\pst@zapspace#1 #2{%
#1%
\ifx#2\@empty\else\expandafter\pst@zapspace\fi
#2}
\def\pst@getnode#1#2{%
\pst@expandafter\pst@@getnode{#1},,\@nil#2}
\def\pst@@getnode#1,#2,#3\@nil#4{%
\ifx\@empty#3\@empty
\edef#4{/N@\pst@zapspace#1 \@empty\space}%
\else
\pst@cntg=#1\relax
\pst@cnth=#2\relax
\edef#4{/N@M-\ifnum\psmatrixcnt=\z@ 1\else\the\psmatrixcnt\fi
-\the\pst@cntg-\the\pst@cnth\space}%
\fi}
\def\tx@NewNode{NewNode }
\def\pst@newnode#1#2#3#4{%
\leavevmode
\pst@getnode{#1}\pst@thenode
\pst@Verb{%
\pst@nodedict
{#3}
\ifx\psk@name\relax false \else \psk@name true \fi
\pst@thenode
#2
{#4}
\tx@NewNode
end}%
\global\let\psk@name\relax
\pstree@nodehook
\global\let\pstree@nodehook\relax}
\let\pstree@nodehook\relax
\newif\ifnodealign
\def\psset@nodealign#1{\@nameuse{nodealign#1}}
\psset@nodealign{false}
\def\pst@nodealign{%
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg-\dp\pst@hbox
\divide\pst@dimg2
\lower\pst@dimg}
\def\tx@InitPnode{InitPnode }
\def\pnode{\@ifnextchar({\pnode@}{\pnode@(0,0)}}
\def\pnode@(#1)#2{%
\pst@@getcoor{#1}%
\pst@newnode{#2}{10}{\pst@coor}{\tx@InitPnode}%
\ignorespaces}
\def\tx@InitCnode{InitCnode }
\def\cnode{\pst@object{cnode}}
\def\cnode@i{\@ifnextchar({\cnode@ii}{\cnode@ii(0,0)}}
\def\cnode@ii(#1)#2#3{%
\leavevmode
\hbox{%
\use@par
\pst@@getcoor{#1}%
\pssetlength\pst@dimc{#2}%
\pst@dimg=\psk@dimen\pslinewidth
\advance\pst@dimc-\pst@dimg
\advance\pst@dimc.5\pslinewidth
\ifnodealign
\kern\pst@dimc
\vrule width\z@ height \pst@dimc depth \pst@dimc
\fi
\pscircle@do(#1){#2}%
\pst@newnode{#3}{11}{\pst@coor \pst@number\pst@dimc}{\tx@InitCnode}%
% DG/SR modification begin - Jul. 30, 1997 - Patch 2
%\ifnodealign \kern\pst@dimc\egroup \fi}%
\ifnodealign\kern\pst@dimc\fi}%
% DG/SR modification end
\ignorespaces}
\def\Cnode{\pst@object{Cnode}}
\def\Cnode@i{\@ifnextchar({\Cnode@ii}{\Cnode@ii(0,0)}}
\def\Cnode@ii(#1)#2{\cnode@ii(#1){\psk@radius}{#2}}%
\def\cnodeput{\pst@object{cnodeput}}
\def\cnodeput@i{\@ifnextchar({\cnodeput@iii}{\cnodeput@ii}}
\def\cnodeput@ii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\cnodeput@iii}{\cnodeput@iii(\z@,\z@)}}
\def\cnodeput@iii(#1)#2{%
\pst@killglue
\@fixedradiusfalse
\def\pst@nodehook{\cnodeput@iv{#2}}%
\pst@makebox{\cput@v{#1}}}
\def\cnodeput@iv#1{%
\pst@newnode{#1}{11}{\pscirclebox@iv \pst@number\pslinewidth add}%
{\tx@InitCnode}%
\global\let\pst@nodehook\relax}
\def\Cnodeput{\pst@object{Cnodeput}}
\def\Cnodeput@i{\@ifnextchar({\Cnodeput@iii}{\Cnodeput@ii}}
\def\Cnodeput@ii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\Cnodeput@iii}{\Cnodeput@iii(\z@,\z@)}}
\def\Cnodeput@iii(#1)#2{%
\pst@killglue
\@fixedradiustrue
\def\pst@nodehook{\Cnodeput@iv{#2}}%
\pst@makebox{\cput@iv{#1}}}
\def\Cnodeput@iv#1{%
\pst@newnode{#1}{11}{%
\pst@number{\wd\pst@hbox} 2 div \pst@number\pst@dima % x y
\pst@number\pst@dimb \pst@number\pslinewidth \psk@dimen .5 sub mul sub }% r
{\tx@InitCnode}%
\global\let\pst@nodehook\relax}
\def\circlenode{\pst@object{circlenode}}
\def\circlenode@i#1{\pst@makebox{\circlenode@ii{#1}}}
\def\circlenode@ii#1{%
\begingroup
\pst@useboxpar
\setbox\pst@hbox=\hbox{%
\cnodeput@iv{#1}%
\pscirclebox@iii
\box\pst@hbox}%
\ifnodealign \psboxseptrue \fi
\ifpsboxsep \pscirclebox@sep \fi
\leavevmode
\ifnodealign\pst@nodealign\fi
\box\pst@hbox
\endgroup}
\def\Circlenode{\pst@object{Circlenode}}
\def\Circlenode@i#1{\pst@makebox{\Circlenode@ii{#1}}}
\def\Circlenode@ii#1{%
\begingroup
\pst@useboxpar
\pst@dima=\ht\pst@hbox
\advance\pst@dima\dp\pst@hbox
\divide\pst@dima\tw@
\pssetlength\pst@dimb\psk@radius
\setbox\pst@hbox=\hbox{%
\Cnodeput@iv{#1}%
\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}%
\box\pst@hbox}%
\ifnodealign \psboxseptrue \fi
\ifpsboxsep \psCirclebox@sep \fi
\leavevmode
\ifnodealign\pst@nodealign\fi
\box\pst@hbox
\endgroup}
\def\tx@GetRnodePos{GetRnodePos }
\def\tx@InitRnode{InitRnode }
\def\rnode{\@ifnextchar[{\rnode@i}{\def\pst@par{}\rnode@ii}}
\def\rnode@i[#1]{\def\pst@par{ref=#1}\rnode@ii}
\def\rnode@ii#1{\pst@makebox{\rnode@iii\rnode@iv{#1}}}
\def\rnode@iii#1#2{%
% DG modification begin - Jan. 1997
\leavevmode
% DG modification end
\begingroup
% DG/SR modification begin - Apr. 28, 1998 - Patch 6
\pst@useboxpar
% DG/SR modification end
#1%
\if@star\pst@starbox\fi
\ifnodealign\lower\pst@dimb\fi
\hbox{%
\pst@newnode{#2}{16}{%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\pst@number{\wd\pst@hbox}%
\pst@number\pst@dima
\pst@number\pst@dimb}%
{\tx@InitRnode}%
\box\pst@hbox}%
\endgroup}
\def\rnode@iv{%
\pst@dima=\psk@xref\wd\pst@hbox
\ifx\psk@yref\relax
\pst@dimb=\z@
\else
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\dp\pst@hbox
\pst@dimb=\psk@yref\pst@dimb
\advance\pst@dimb-\dp\pst@hbox
\fi}
\def\psset@href#1{\pst@checknum{#1}\psk@href}
\psset@href{0}
\def\psset@vref#1{\def\psk@vref{#1}}
\psset@vref{.7ex}
\def\Rnode{\pst@object{Rnode}}
\def\Rnode@i#1{\pst@makebox{\rnode@iii\Rnode@ii{#1}}}
\def\Rnode@ii{%
% DG modification begin - Jan. 1997
%   - \begingroup removed  as it seems to doesn't work any more
%   - \Rnode doesn't process the optional parameter changes
%\begingroup
\use@par
% DG modification end
\pst@dima=\psk@href\wd\pst@hbox
\advance\pst@dima\wd\pst@hbox
\divide\pst@dima 2
\pssetlength\pst@dimb{\psk@vref}}
\def\tx@DiaNodePos{DiaNodePos }
\def\dianode{\pst@object{dianode}}
\def\dianode@i#1{\pst@makebox{\dianode@ii{#1}}}
\def\dianode@ii#1{%
\begingroup
\pst@useboxpar
\psdiabox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
/X \pst@number\pst@dima def
/Y \pst@number\pst@dimb def
/w \pst@number\pst@dimc 2 mul def
/h \pst@number\pst@dimd 2 mul def
/NodePos { \tx@DiaNodePos } def}%
\box\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\psdiabox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@dimb\fi
\box\pst@hbox
\endgroup}
\def\tx@TriNodePos{TriNodePos }
\def\tx@InitTriNode{InitTriNode }
\def\trinode{\pst@object{trinode}}
\def\trinode@i#1{\pst@makebox{\trinode@ii{#1}}}
\def\trinode@ii#1{%
\begingroup
\pst@useboxpar
\pstribox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
\pst@number\pst@dimc
\pst@number\pst@dimd
\ifodd\psk@trimode
exch
\pst@number\pst@dima
\else
\pst@number\pst@dimb
\fi
\psk@trimode
\pst@number{\wd\pst@hbox}%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\tx@InitTriNode}%
\box\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\pstribox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@tempa\fi
\box\pst@hbox
\endgroup}
\def\tx@OvalNodePos{OvalNodePos }
\def\ovalnode{\pst@object{ovalnode}}
\def\ovalnode@i#1{\pst@makebox{\ovalnode@ii{#1}}}
\def\ovalnode@ii#1{%
\begingroup
\pst@useboxpar
\psovalbox@iii
\setbox\pst@hbox=\hbox{%
\pst@newnode{#1}{14}{}{%
/X \pst@number\pst@dima def
/Y \pst@number\pst@dimb def
/w \pst@number\pst@dimc def
/h \pst@number\pst@dimd def
/NodePos { \tx@OvalNodePos } def}%
\unhbox\pst@hbox}%
\ifnodealign\psboxseptrue\fi
\ifpsboxsep\psovalbox@sep\fi
% DG/SR modification begin - Sep. 2, 1997 - Patch 3
\leavevmode
% DG/SR modification end
\ifnodealign\lower\pst@dimb\fi
\box\pst@hbox
\endgroup}
\def\dotnode{\pst@object{dotnode}}
\def\dotnode@i{\@ifnextchar({\dotnode@ii}{\dotnode@ii(\z@,\z@)}}
\def\dotnode@ii(#1)#2{%
\leavevmode
\hbox{%
\use@par
\pst@@getcoor{#1}%
\pst@getdotsize
\pstree@nodehook
\ifnodealign
\pst@dima=\pst@dimg
\kern\pst@dima
\vrule width\z@ height \pst@dimh depth \pst@dimh
\fi
\pst@newnode{#2}{14}{}{%
\pst@coor
/Y ED /X ED
/w \pst@number\pst@dimg def
/h \pst@number\pst@dimh def
/NodePos { \tx@OvalNodePos } def}%
\psdot@ii(#1)%
\ifnodealign\kern\pst@dima\fi}%
\ignorespaces}
\def\psset@framesize#1{\pst@expandafter\psset@@framesize{#1} \@nil}
\def\psset@@framesize#1 #2\@nil{%
\pssetlength\pst@dimg{#1}%
\divide\pst@dimg2
\edef\psk@framewidth{\pst@number\pst@dimg}%
\ifx\@empty#2\@empty
\let\psk@frameheight\psk@framewidth
\else
\pssetlength\pst@dimg{#2}%
\divide\pst@dimg2
\edef\psk@frameheight{\pst@number\pst@dimg}%
\fi}
\psset@framesize{10pt}
\def\fnode{\pst@object{fnode}}
\def\fnode@i{\@ifnextchar({\fnode@ii}{\fnode@ii(\z@,\z@)}}
\def\fnode@ii(#1)#2{%
\leavevmode
\pst@killglue
\hbox{%
\use@par
\begin@ClosedObj
\ifnodealign
\kern\psk@framewidth\p@
\vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@
\edef\pst@coor{0 0 }%
\else
\pst@@getcoor{#1}%
\fi
\pst@newnode{#2}{14}{}{%
\pst@coor
/Y ED /X ED
/d \psk@dimen .5 sub CLW mul neg def
/r \psk@framewidth d add def
/l r neg def
/u \psk@frameheight d add def
/d u neg def
/NodePos { \tx@GetRnodePos } def}%
\addto@pscode{%
/x2 \psk@framewidth CLW \psk@dimen mul sub def
/y2 \psk@frameheight CLW \psk@dimen mul sub def
\pst@coor 2 copy
y2 sub /y1 ED
x2 sub /x1 ED
y2 add /y2 ED
x2 add /x2 ED
\psk@cornersize
1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj
\ifnodealign\kern\psk@framewidth\p@\fi}%
\ignorespaces}
\def\psset@nodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{0 }}
\def\psset@nodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{0 }}
\def\psset@nodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{0 }%
\def\psk@nodeseptypeB{0 }}
\psset@nodesep{0pt}
\def\psset@XnodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{1 }}
\def\psset@XnodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{1 }}
\def\psset@Xnodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{1 }%
\def\psk@nodeseptypeB{1 }}
\def\psset@YnodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{2 }}
\def\psset@YnodesepB#1{%
\pst@getlength{#1}\psk@nodesepB
\def\psk@nodeseptypeB{2 }}
\def\psset@Ynodesep#1{%
\pst@getlength{#1}\psk@nodesepA
\let\psk@nodesepB\psk@nodesepA
\def\psk@nodeseptypeA{2 }%
\def\psk@nodeseptypeB{2 }}
\def\psset@armA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{0 }}
\def\psset@armB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{0 }}
\def\psset@arm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{0 }%
\def\psk@armtypeB{0 }}
\psset@arm{10pt}
\def\psset@XarmA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{1 }}
\def\psset@XarmB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{1 }}
\def\psset@Xarm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{1 }%
\def\psk@armtypeB{1 }}
\def\psset@YarmA#1{%
\pst@getlength{#1}\psk@armA
\def\psk@armtypeA{2 }}
\def\psset@YarmB#1{%
\pst@getlength{#1}\psk@armB
\def\psk@armtypeB{2 }}
\def\psset@Yarm#1{%
\pst@getlength{#1}\psk@armA
\let\psk@armB\psk@armA
\def\psk@armtypeA{2 }%
\def\psk@armtypeB{2 }}
\def\psset@offsetA#1{\pst@getlength{#1}\psk@offsetA}
\def\psset@offsetB#1{\pst@getlength{#1}\psk@offsetB}
\def\psset@offset#1{\psset@offsetA{#1}\let\psk@offsetB\psk@offsetA}
\psset@offset{0pt}
\def\psset@angleA#1{\pst@getangle{#1}\psk@angleA}
\def\psset@angleB#1{\pst@getangle{#1}\psk@angleB}%
\def\psset@angle#1{%
\pst@getangle{#1}\psk@angleA
\let\psk@angleB\psk@angleA}
\psset@angle{0}
\def\psset@arcangleA#1{\pst@getangle{#1}\psk@arcangleA}
\def\psset@arcangleB#1{\pst@getangle{#1}\psk@arcangleB}%
\def\psset@arcangle#1{%
\pst@getangle{#1}\psk@arcangleA
\let\psk@arcangleB\psk@arcangleA}
\psset@arcangle{8}
\def\psset@ncurvA#1{\pst@checknum{#1}\psk@ncurvA}
\def\psset@ncurvB#1{\pst@checknum{#1}\psk@ncurvB}%
\def\psset@ncurv#1{\psset@ncurvA{#1}\let\psk@ncurvB\psk@ncurvA}
\psset@ncurv{.67}
\def\tx@GetCenter{GetCenter }
\def\tx@XYPos{XYPos }
\def\tx@GetEdge{GetEdge }
\def\tx@AddOffset{AddOffset }
\def\tx@GetEdgeA{GetEdgeA }
\def\tx@GetEdgeB{GetEdgeB }
\def\tx@GetArmA{GetArmA }
\def\tx@GetArmB{GetArmB }
\def\check@arrow#1#2{%
\check@@arrow#2-\@nil
\if@pst
\addto@par{arrows=#2}%
\def\next{#1}%
\else
\def\next{#1{#2}}%
\fi
\next}
\def\check@@arrow#1-#2\@nil{%
\ifx\@nil#2\@nil\@pstfalse\else\@psttrue\fi}
\def\tx@InitNC{InitNC }
\def\nc@object#1#2#3#4#5{%
\csname begin@#1Obj\endcsname
\showpointsfalse
\pst@getnode{#2}\pst@tempa
\pst@getnode{#3}\pst@tempb
\gdef\npos@default{#4 }%
\addto@pscode{%
/NCLW CLW def
\pst@nodedict
\psk@offsetA
\psk@offsetB neg
\psk@nodesepA
\psk@nodesepB
\psk@nodeseptypeA
\psk@nodeseptypeB
\pst@tempa
\pst@tempb
\tx@InitNC { #5 } if
end}%
\def\use@pscode{%
\pst@Verb{gsave \tx@STV newpath \pst@code\space grestore}%
\gdef\pst@code{}}%
\csname end@#1Obj\endcsname
\pst@shortput}
\def\npos@default{.5 }
\def\pc@object#1{%
\@ifnextchar({\pc@@object#1}{\pst@getarrows{\pc@@object#1}}}
\def\pc@@object#1(#2)(#3){%
\pnode(#2){@@A}\pnode(#3){@@B}%
#1{@@A}{@@B}}
\def\tx@LPutLine{LPutLine }
\def\tx@LPutLines{LPutLines }
\def\tx@BezierMidpoint{BezierMidpoint }
\def\tx@HPosBegin{HPosBegin }
\def\tx@HPosEnd{HPosEnd }
\def\tx@HPutLine{HPutLine }
\def\tx@HPutLines{HPutLines }
\def\tx@VPosBegin{VPosBegin }
\def\tx@VPosEnd{VPosEnd }
\def\tx@VPutLine{VPutLine }
\def\tx@VPutLines{VPutLines }
\def\tx@HPutCurve{HPutCurve }
\def\tx@NCCoor{NCCoor }
\def\tx@NCLine{NCLine }
\def\ncline{\pst@object{ncline}}
\def\ncline@i{\check@arrow{\ncline@ii}}
\def\ncline@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{\tx@NCLine}}
\def\pcline{\pst@object{pcline}}
\def\pcline@i{\pc@object\ncline@ii}
\def\ncLine{\pst@object{ncLine}}
\def\ncLine@i{\check@arrow{\ncLine@ii}}
\def\ncLine@ii#1#2{\nc@object{Open}{#1}{#2}{.5}%
% DG/SR modification begin - Apr. 14, 1999 - Patch 9
%{\tx@NCLine /LPutPos { xB xA yB yA \tx@LPutLine } def}}
{\tx@NCLine /LPutPos { xB yB xA yA \tx@LPutLine } def}}
% DG/SR modification end
\def\tx@NCLines{NCLines }
\def\nclines{\pst@object{nclines}}
\def\nclines@i{\check@arrow\nclines@ii}
\def\nclines@ii#1#2{%
\begingroup
\use@par
\def\pst@aftercoors{\nclines@iii{#1}{#2}}%
\def\pst@coors{}%
\pst@@getcoors}
\def\nclines@iii#1#2{%
\nc@object{Open}{#1}{#2}{.5}{%
tx@Dict begin \psline@iii pop end
mark \pst@coors \tx@NCLines}%
\endgroup
\ignorespaces}
\def\tx@NCCurve{NCCurve }
\def\nccurve{\pst@object{nccurve}}
\def\nccurve@i{\check@arrow{\nccurve@ii}}
\def\nccurve@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
/AngleA \psk@angleA\space def /AngleB \psk@angleB\space def
\psk@ncurvB\space \psk@ncurvA\space
\tx@NCCurve}}
\def\pccurve{\pst@object{pccurve}}
\def\pccurve@i{\pc@object\nccurve@ii}
\def\ncarc{\pst@object{ncarc}}
\def\ncarc@i{\check@arrow{\ncarc@ii}}
\def\ncarc@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
yB yA sub xB xA sub \tx@Atan dup
\psk@arcangleA\space add /AngleA ED
\psk@arcangleB\space sub 180 add /AngleB ED
\psk@ncurvB\space \psk@ncurvA\space
\tx@NCCurve}}
\def\pcarc{\pst@object{pcarc}}
\def\pcarc@i{\pc@object\ncarc@ii}
\def\tx@NCAngles{NCAngles }
\def\ncangles{\pst@object{ncangles}}
\def\ncangles@i{\check@arrow{\ncangles@ii}}
\def\ncangles@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngles}}
\def\ncangles@iii{%
tx@Dict begin \psline@iii pop end
/AngleA \psk@angleA def
/AngleB \psk@angleB def
/ArmA \psk@armA def
/ArmB \psk@armB def
/ArmTypeA \psk@armtypeA def
/ArmTypeB \psk@armtypeB def }
\def\pcangles{\pst@object{pcangles}}
\def\pcangles@i{\pc@object\ncangles@ii}
\def\tx@NCAngle{NCAngle }
\def\ncangle{\pst@object{ncangle}}
\def\ncangle@i{\check@arrow{\ncangle@ii}}
\def\ncangle@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCAngle}}
\def\pcangle{\pst@object{pcangle}}
\def\pcangle@i{\pc@object\ncangle@ii}
\def\tx@NCBar{NCBar }
\def\ncbar{\pst@object{ncbar}}
\def\ncbar@i{\check@arrow{\ncbar@ii}}
\def\ncbar@ii#1#2{\nc@object{Open}{#1}{#2}{1.5}{%
\ncangles@iii /AngleB \psk@angleA def \tx@NCBar}}
\def\pcbar{\pst@object{pcbar}}
\def\pcbar@i{\pc@object\ncbar@ii}
\def\tx@NCDiag{NCDiag }
\def\ncdiag{\pst@object{ncdiag}}
\def\ncdiag@i{\check@arrow{\ncdiag@ii}}
\def\ncdiag@ii#1#2{%
\nc@object{Open}{#1}{#2}{1.5}{\ncangles@iii \tx@NCDiag}}
\def\pcdiag{\pst@object{pcdiag}}
\def\pcdiag@i{\pc@object\ncdiag@ii}
\def\tx@NCDiagg{NCDiagg }
\def\ncdiagg{\pst@object{ncdiagg}}
\def\ncdiagg@i{\check@arrow{\ncdiagg@ii}}
\def\ncdiagg@ii#1#2{%
\nc@object{Open}{#1}{#2}{.5}{\ncangles@iii \tx@NCDiagg}}
\def\pcdiagg{\pst@object{pcdiagg}}
\def\pcdiagg@i{\pc@object\ncdiagg@ii}
\def\tx@NCLoop{NCLoop }
\def\psset@loopsize#1{\pst@getlength{#1}\psk@loopsize}
\psset@loopsize{1cm}
\def\ncloop{\pst@object{ncloop}}
\def\ncloop@i{\check@arrow{\ncloop@ii}}
\def\ncloop@ii#1#2{%
\nc@object{Open}{#1}{#2}{2.5}%
{\ncangles@iii /loopsize \psk@loopsize def \tx@NCLoop}}
\def\pcloop{\pst@object{pcloop}}
\def\pcloop@i{\pc@object\ncloop@ii}
\def\tx@NCCircle{NCCircle }
\def\nccircle{\pst@object{nccircle}}
\def\nccircle@i{\check@arrow{\nccircle@ii}}
\def\nccircle@ii#1#2{%
\pssetlength\pst@dima{#2}%
\nc@object{Open}{#1}{#1}{.5}{%
/AngleA \psk@angleA def
/r \pst@number\pst@dima def
\tx@NCCircle \psarc@v end}}
\def\tx@NCBox{NCBox }
\def\ncbox{\pst@object{ncbox}}
\def\ncbox@i{\check@arrow{\ncbox@ii}}
\def\ncbox@ii#1#2{%
\def\pst@linetype{2}%
\nc@object{Closed}{#1}{#2}{.5}{%
tx@Dict begin \psline@iii pop end
\psk@boxheight \psk@boxdepth
\tx@NCBox}}
\def\pcbox{\pst@object{pcbox}}
\def\pcbox@i{\pc@object\ncbox@ii}
\def\tx@NCArcBox{NCArcBox }
\def\psset@boxheight#1{\pst@getlength{#1}\psk@boxheight}
\def\psset@boxdepth#1{\pst@getlength{#1}\psk@boxdepth}
\def\psset@boxsize#1{%
\psset@boxheight{#1}%
\let\psk@boxdepth\psk@boxheight}
\psset@boxsize{.4cm}
\def\ncarcbox{\pst@object{ncarcbox}}
\def\ncarcbox@i{\check@arrow{\ncarcbox@ii}}
\def\ncarcbox@ii#1#2{%
\def\pst@linetype{1}%
\nc@object{Closed}{#1}{#2}{.5}{%
\psk@arcangleA \psk@boxheight \psk@boxdepth \pst@number\pslinearc
\tx@NCArcBox}}
\def\pcarcbox{\pst@object{pcarcbox}}
\def\pcarcbox@i{\pc@object\ncarcbox@ii}
\def\tx@Tfan{Tfan }
% Changed according pst-beta.bug December 3, 1993
% nrot=:<angle> does not work when : is active.
\begingroup
\catcode`\:=13
\gdef\pst@activerot{\def:{\string:}}
\endgroup
\def\psset@nrot#1{%
\begingroup
\pst@activerot
\pst@expandafter{\@ifnextchar:{\psset@@nrot}{\psset@@rot}}{#1}\@nil
\global\let\pst@tempg\psk@rot
\endgroup
\let\psk@nrot\pst@tempg}
\def\psset@@nrot:#1\@nil{%
\psset@@rot#1\@nil
\edef\psk@rot{NAngle \ifx\psk@rot\@empty\else\psk@rot add \fi}}
\psset@nrot{0}
\def\tx@LPutCoor{LPutCoor }
\def\tx@LPut{LPut }
\def\psset@npos#1{%
\def\pst@tempa{#1}%
\ifx\pst@tempa\@empty
\def\psk@npos{\npos@default}%
\else
\pst@checknum{#1}\psk@npos
\fi}
\psset@npos{}
\def\ncput{\pst@object{ncput}}
\def\ncput@i{\pst@killglue\pst@makebox{\ncput@ii}}
\def\ncput@ii{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@nrot\pst@hbox
\ncput@iii
\endgroup
\pst@shortput}
\def\ncput@iii{%
\leavevmode
\hbox{%
\pst@Verb{%
\pst@nodedict
/t \psk@npos def
\tx@LPut
end
\tx@PutBegin}%
\box\pst@hbox
\pst@Verb{\tx@PutEnd}}}
\def\naput{\pst@object{naput}}
\def\naput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 add}}}
\def\naput@ii#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\def\psk@refangle{#1 }%
\let\psk@rot\psk@nrot
\uput@vii
{exch pop add a \tx@PtoC h1 add exch w1 add exch }%
{tx@Dict /NCLW known { NCLW add } if }%
\ncput@iii
\endgroup
\pst@shortput}
\def\nbput{\pst@object{nbput}}
\def\nbput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 sub}}}
\def\psset@tpos#1{%
\pst@checknum{#1}\psk@tpos
\ifdim\psk@tpos \p@<\z@
\def\psk@tpos{.5}%
% DG/SR modification begin - Sep. 23, 1998 - Patch 7
%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa
% DG/SR modification end
\else
\ifdim\psk@tpos \p@>\p@
\def\psk@tpos{.5}%
% DG/SR modification begin - Sep. 23, 1998 - Patch 7
%\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@epha
\@pstrickserr{Bad `tpos' value: `#1'. Must be 0<tpos<1}\@ehpa
% DG/SR modification end
\fi
\fi}
\psset@tpos{.5}
\def\tvput{\pst@object{tvput}}
\def\tvput@i{\pst@makebox{\psput@tput{H}{1}}}
\def\tlput{\pst@object{tlput}}
\def\tlput@i{\pst@makebox{\psput@tput{H}{true}}}
\def\trput{\pst@object{trput}}
\def\trput@i{\pst@makebox{\psput@tput{H}{false}}}
\def\thput{\pst@object{thput}}
\def\thput@i{\pst@makebox{\psput@tput{V}{1}}}
\def\taput{\pst@object{taput}}
\def\taput@i{\pst@makebox{\psput@tput{V}{true}}}
\def\tbput{\pst@object{tbput}}
\def\tbput@i{\pst@makebox{\psput@tput{V}{false}}}
\def\tx@HPutAdjust{HPutAdjust }
\def\tx@VPutAdjust{VPutAdjust }
\def\psput@tput#1#2{%
\begingroup
\use@par
\pst@tputmakesmall
\leavevmode
\hbox{%
\pst@Verb{%
\pst@nodedict
/t \psk@tpos \pst@tposflip def
tx@NodeDict /HPutPos known
{ #1PutPos }
{ CP /Y ED /X ED /NAngle 0 def /NCLW 0 def }
ifelse
/Sin NAngle sin def
/Cos NAngle cos def
/s \pst@number\pslabelsep NCLW add def
/l \pst@number\pst@dima def
/r \pst@number\pst@dimb def
/h \pst@number\pst@dimc def
/d \pst@number\pst@dimd def
% DG/SR modification begin - Sep. 26, 1997 - Patch 4
%\ifnum1=0#2\else
\ifnum1=0#2 \else
% DG/SR modification end
/flag #2 def
\csname tx@#1PutAdjust\endcsname
\fi
\tx@LPutCoor
end
\tx@PutBegin}%
\box\pst@hbox
\pst@Verb{\tx@PutEnd}}%
\endgroup
\pst@shortput}
\def\pst@tposflip{}
\def\pst@tputmakesmall{%
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\pst@dimg=\psk@href\pst@dimg
\pst@dimb\pst@dima
\advance\pst@dima\pst@dimg % leftsize
\advance\pst@dimb-\pst@dimg % rightsize
\pst@dimd=\psk@vref\relax
\pst@dimc=\ht\pst@hbox
\advance\pst@dimc-\pst@dimd % height
\advance\pst@dimd\dp\pst@hbox % depth
\setbox\pst@hbox=\hbox to\z@{%
\kern-\pst@dima\vbox to\z@{\vss\box\pst@hbox\vskip-\pst@dimd}\hss}}
\def\MakeShortNab#1#2{%
  \def\pst@shortput@nab{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \let\pst@tempg\naput
    \else
      \ifx#2\next
        \let\pst@tempg\nbput
      \else
        \ifx\@sptoken\next
          \let\pst@tempg\pst@shortput
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortNab{^}{_}
\def\MakeShortTablr#1#2#3#4{%
  \def\pst@shortput@tablr{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \let\pst@tempg\taput
    \else
      \ifx#2\next
        \let\pst@tempg\tbput
      \else
        \ifx#3\next
          \let\pst@tempg\tlput
        \else
          \ifx#4\next
            \let\pst@tempg\trput
          \else
            \ifx\@sptoken\next
              \let\pst@tempg\pst@shortput
            \fi
          \fi
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortTablr{^}{_}{<}{>}
\def\MakeShortTab#1#2{%
  \def\pst@shortput@tab{%
    \def\pst@tempg{\next}%
    \ifx#1\next
      \def\pst@tempg{%
        \@nameuse{%
          t\ifodd\psk@treemode\ifpstreeflip b\else a\fi
          \else\ifpstreeflip r\else l\fi\fi put}}%
    \else
      \ifx#2\next
        \def\pst@tempg{%
          \@nameuse{%
            t\ifodd\psk@treemode\ifpstreeflip a\else b\fi
            \else\ifpstreeflip l\else r\fi\fi put}}%
      \else
        \ifx\@sptoken\next
          \let\pst@tempg\pst@shortput
        \fi
      \fi
    \fi
    \pst@tempg}}
\MakeShortTab{^}{_}
\def\psset@shortput#1{%
\def\pst@tempg{#1}%
\ifx\pst@tempg\@none
\let\pst@shortput\ignorespaces
\else
\@ifundefined{pst@shortput@#1}%
{\@pstrickserr{Bad short put: `#1'}\@ehpa}%
{\edef\pst@shortput{\noexpand\afterassignment\expandafter\noexpand
\csname pst@shortput@#1\endcsname\noexpand\let\noexpand\next}}%
\fi}
\psset@shortput{none}
\def\lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\lput@i}{\lput@ii}}}
\def\lput@i[#1]{\addto@par{ref=#1}\lput@ii}
\def\lput@ii{\@ifnextchar({\lput@iv}{\lput@iii}}
\def\lput@iii#1{\addto@par{nrot=#1}\@ifnextchar({\lput@iv}{\ncput@i}}
\def\lput@iv(#1){\addto@par{npos=#1}\ncput@i}
\def\mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\mput@i}{\ncput@i}}}
\def\mput@i[#1]{\addto@par{ref=#1}\ncput@i}
\def\Lput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Lput@ii}{\Lput@i}}}
\def\Lput@i#1{\addto@par{labelsep=#1}\Lput@ii}
\def\Lput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Lput@iv}{\Lput@iii}}
\def\Lput@iii#1{\addto@par{nrot={#1}}\@ifnextchar({\Lput@iv}{\Lput@v}}
\def\Lput@iv(#1){\addto@par{npos=#1}\Lput@v}
\def\Lput@v{\pst@killglue\pst@makebox{\Lput@vi}}
\def\Lput@vi{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\Rput@vi
\pst@makesmall\pst@hbox
\pst@rotate\psk@nrot\pst@hbox
\ncput@iii
\endgroup
\pst@shortput}
\def\Mput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Mput@ii}{\Mput@i}}}
\def\Mput@i#1{\addto@par{labelsep=#1}\Mput@ii}
\def\Mput@ii[#1]{\addto@par{ref={#1}}\Lput@v}
\def\aput@#1{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\aput@i#1}{\aput@ii#1}}}
\def\aput@i#1[#2]{\addto@par{labelsep=#2}\aput@ii#1}
\def\aput@ii#1{\@ifnextchar({\aput@iv#1}{\aput@iii#1}}
\def\aput@iii#1#2{\addto@par{nrot=#2}\@ifnextchar({\aput@iv#1}{#1}}
\def\aput@iv#1(#2){\addto@par{npos=#2}#1}
\def\aput{\aput@\naput@i}
\def\bput{\aput@\nbput@i}
\def\Aput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Aput@i}{\naput@i}}}
\def\Aput@i[#1]{\addto@par{labelsep=#1}\naput@i}
\def\Bput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Bput@i}{\nbput@i}}}
\def\Bput@i[#1]{\addto@par{labelsep=#1}\nbput@i}
\def\node@coor#1;#2\@nil{%
\pst@getnode{#1}\pst@tempg
\edef\pst@coor{%
\pst@nodedict
tx@NodeDict \pst@tempg known
{ \pst@tempg load \tx@GetCenter }
{ 0 0 }
ifelse
end }}
\def\Node@coor[#1]#2;#3\@nil{%
\begingroup
\psset{#1}%
\@ifnextchar\bgroup{\Node@@@coor}{\Node@@coor}#2\@nil
\endgroup
\let\pst@coor\pst@tempg}
\def\Node@@coor#1\@nil{%
\pst@getnode{#1}\pst@tempg
\xdef\pst@tempg{%
\pst@nodedict
tx@NodeDict \pst@tempg known
{ \psk@nodesepA \psk@angleA
\pst@tempg load \psk@nodeseptypeA \tx@GetEdge
\psk@offsetA \psk@angleA \tx@AddOffset
\pst@tempg load \tx@GetCenter
3 -1 roll add 3 1 roll add exch }
{ CP }
ifelse
end }}%
\def\Node@@@coor#1{%
\pst@@getcoor{#1}%
\def\psk@angleA{%
\pst@tempg load \tx@GetCenter \pst@coor
3 -1 roll sub 3 1 roll sub neg \tx@Atan}%
\Node@@coor}
\def\nput{\pst@object{nput}}
\def\nput@i#1#2{\pst@killglue\pst@makebox{\nput@ii{#1}{#2}}}
\def\nput@ii#1#2{%
\begingroup
\use@par
\psset@refangle{#1}%
\let\psk@angleA\psk@refangle
\edef\psk@nodesepA{\pst@number\pslabelsep}%
\def\psk@nodeseptypeA{0 }%
\pslabelsep\z@
\uput@vi
\Node@@coor#2\@nil
\let\pst@coor\pst@tempg
\leavevmode
\psput@special\pst@hbox
\endgroup
\ignorespaces}
\newcount\psrow
\newcount\pscol
\newcount\psmatrixcnt
\newskip\psrowsep
\newskip\pscolsep
\def\psset@colsep#1{\pssetlength\pscolsep{#1}}
\def\psset@rowsep#1{\pssetlength\psrowsep{#1}}
\psset@colsep{1.5cm}
\psset@rowsep{1.5cm}
\newif\ifpsmatrix
% DG/SR modification begin - Nov. 27, 1998 - Patch 8
%\let\mscount\@multicnt
\ifx\mscount\@undefined\let\mscount\@multicnt\fi
% DG/SR modification end
\def\psmatrix{%
  \begingroup
{\ifnum0=`}\fi % Don't want to expand any &.
\@ifnextchar[{\psmatrix@i}{\ifnum0=`{\fi}{}\psmatrix@ii}}
\def\psmatrix@i[#1]{%
\ifnum0=`{\fi}{}%
\psset{#1}%
\psmatrix@ii}
\def\psmatrix@ii{%
\KillGlue
\edef\psm@beginmath{%
\ifmmode$\m@th\ifinner\textstyle\else\displaystyle\fi\fi}%
\edef\psm@endmath{\ifmmode$\fi}%
\let\\\psm@cr
\advance\psmatrixcnt 1
\def\psm@thenode{M-\the\psmatrixcnt-\the\psrow-\the\pscol}%
\tabskip\z@
\psrow1
\pscol\z@
\psset@shortput{tablr}%
\leavevmode
\vbox\bgroup\halign\bgroup&%
\begingroup
\global\advance\pscol 1
\csname psrowhook\romannumeral\psrow\endcsname
\csname pscolhook\romannumeral\pscol\endcsname
\psm@beginnode##\psm@endnode\endgroup
\cr}
\def\endpsmatrix{%
\crcr\egroup\unskip\egroup
\endgroup}
\def\psm@cr{{\ifnum0=`}\fi\@ifnextchar[{\psm@@cr}{\psm@@@cr{}}}
\def\psm@@cr[#1]{\psm@@@cr{\vskip#1\relax}}
\def\psm@@@cr#1{%
\ifnum0=`{\fi}{}\cr
\noalign{%
\global\advance\psrow 1
\global\pscol\z@
\vskip\psrowsep
#1}}
\def\psm@beginnode{%
\@ifnextchar\psm@endnode
{\let\psm@endnode@i\relax\setbox\pst@hbox=\hbox{}}%
{\pst@object{psm@beginnode}}}
\def\psm@beginnode@i{%
\setbox\pst@hbox=\hbox\bgroup
\psm@beginmath
\begingroup
\ignorespaces}
\def\psm@endnode@i{%
\unskip
\endgroup
\psm@endmath
\egroup
\use@par
\@psttrue}
\def\psm@endnode{%
\@pstfalse
\psm@endnode@i
\ifnum\pscol>1 \hskip\pscolsep \fi
\psk@mnodesize
\hfil
\nodealigntrue
\if@pst
\csname mnode@\psk@mnode\endcsname
\else
\csname mnode@\psk@emnode\endcsname
\fi
\psk@mcol
\psk@@mnodesize}
\def\psspan#1{\mscount#1\relax\loop\ifnum\mscount>\@ne \sp@n\repeat}
\def\psset@name#1{\pst@getnode{#1}\psk@name}
\let\psk@name\relax
\def\psset@mcol#1{%
\ifx r#1\relax
\let\psk@mcol\relax
\else
\ifx l#1\relax
\let\psk@mcol\hfill
\else
\let\psk@mcol\hfil
\fi
\fi}
\psset@mcol{c}
\def\psset@mnodesize#1{%
\pssetlength\pst@dimg{#1}%
\ifdim\pst@dimg<\z@
\let\psk@mnodesize\relax
\let\psk@@mnodesize\relax
\else
\edef\psk@mnodesize{\noexpand\hbox to\number\pst@dimg sp\noexpand\bgroup}%
\let\psk@@mnodesize\egroup
\fi}
\psset@mnodesize{-1pt}
\def\mnode@R{\rnode@iii\Rnode@ii{\psm@thenode}}
\def\mnode@r{\rnode@iii\rnode@iv{\psm@thenode}}
\def\mnode@oval{\ovalnode@ii{\psm@thenode}}
\def\mnode@tri{\trinode@ii{\psm@thenode}}
\def\mnode@dia{\dianode@ii{\psm@thenode}}
\def\mnode@C{{\nodealigntrue\cnode@ii(\z@,\z@){\psk@radius}{\psm@thenode}}}
\def\mnode@f{{\nodealigntrue\fnode@ii(\z@,\z@){\psm@thenode}}}
\def\mnode@circle{\circlenode@ii{\psm@thenode}}
\def\mnode@p{\pnode(\z@,\z@){\psm@thenode}}
% DG/SR modification begin - Jul. 22, 1997 - Patch 1
\def\mnode@dot{\dotnode@ii(\z@,\z@){\psm@thenode}}
% DG/SR modification end
\def\mnode@none{\box\pst@hbox}
\def\psset@mnode#1{%
\@ifundefined{mnode@#1}%
{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
{\edef\psk@mnode{#1}}}
\def\psset@emnode#1{%
\@ifundefined{mnode@#1}%
{\@pstrickserr{\string\psmatrix\space node `#1' not defined.}\@ehpa}%
{\edef\psk@emnode{#1}}}
\psset@mnode{R}
\psset@emnode{none}
%%%% FROM pst-coil.tex
\def\nccoil{\pst@object{nccoil}}
\def\nccoil@i{\check@arrow{\nccoil@ii}}
\def\nccoil@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
\tx@NCCoor
tx@Dict begin
% DG/SR modification begin - Mar. 19, 1998 - Patch 5
4 2 roll
% DG/SR modification end
\psk@coilwidth \pscoilheight
\psk@coilarmA \psk@coilarmB
\psk@coilaspect \psk@coilinc
\pst@coildict \tx@Coil end
end}}
\def\nczigzag{\pst@object{nczigzag}}
\def\nczigzag@i{\check@arrow{\nczigzag@ii}}
\def\nczigzag@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{%
\tx@NCCoor
tx@Dict begin
% DG/SR modification begin - Mar. 19, 1998 - Patch 5
4 2 roll
% DG/SR modification end
\pscoilheight
\psk@coilwidth
\psk@coilarmA
\psk@coilarmB
\pst@coildict \tx@ZigZag end
\psline@iii
\tx@Line
end}}
\catcode`\@=\TheAtCode\relax
\endinput
%%
%% END pst-node.tex

pstricks.tex
%% BEGIN: pstricks.tex
%%
%% PostScript macros for Generic TeX: main input file for PSTricks 97.
%% See the PSTricks User's Guide for description.
%% This uses the header file `pstricks.pro'.
%%
\def\fileversion{97 patch 10}
\def\filedate{1999/03/24}
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
%%
\csname PSTricksLoaded\endcsname
\let\PSTricksLoaded\endinput
\edef\PstAtCode{\the\catcode`\@}
\catcode`\@=11\relax
\expandafter\ifx\csname @latexerr\endcsname\relax
\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname
#1\endcsname\relax#2\else#3\fi}
\def\@namedef#1{\expandafter\def\csname #1\endcsname}
\def\@nameuse#1{\csname #1\endcsname}
\def\@eha{%
Your command was ignored.^^J
Type \space I <command> <return> \space to replace
it with another command,^^J
or \space <return> \space to continue without it.}
\def\@spaces{\space\space\space\space}
\def\typeout#1{\immediate\write\@unused{#1}}
\alloc@7\write\chardef\sixt@@n\@unused
\def\@empty{}
\def\@gobble#1{}
\def\@nnil{\@nil}
\def\@ifnextchar#1#2#3{%
\let\@tempe#1\def\@tempa{#2}\def\@tempb{#3}\futurelet\@tempc\@ifnch}
\def\@ifnch{%
\ifx\@tempc\@sptoken
\let\@tempd\@xifnch
\else
\ifx\@tempc\@tempe \let\@tempd\@tempa \else \let\@tempd\@tempb \fi
\fi
\@tempd}
\begingroup
\def\:{\global\let\@sptoken= } \:
\def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@tempc\@ifnch}
\endgroup
\fi
\typeout{`PSTricks' v\fileversion\space\space <\filedate> (tvz)}
\def\@pstrickserr#1#2{%
\begingroup
\newlinechar`\^^J
\edef\pst@tempc{#2}%
\expandafter\errhelp\expandafter{\pst@tempc}%
\typeout{%
PSTricks error. \space See User's Guide for further information.^^J
\@spaces\@spaces\@spaces\@spaces
Type \space H <return> \space for immediate help.}%
\errmessage{#1}%
\endgroup}
\def\@ehpa{%
Your command was ignored. Default value substituted.^^J
Type \space <return> \space to procede.}
\def\@ehpb{%
Your command was ignored. Will recover best I can.^^J
Type \space <return> \space to procede.}
\def\@ehpc{%
You better fix this before proceding.^^J
See the PSTricks User's Guide or ask your system administrator for help.^^J
Type \space X <return> \space to quit.}
\def\pst@misplaced#1{\@pstrickserr{Misplaced \string#1 command}\@ehpb}
\newdimen\pst@dima
\newdimen\pst@dimb
\newdimen\pst@dimc
\newdimen\pst@dimd
\newdimen\pst@dimg
\newdimen\pst@dimh
\newbox\pst@hbox
\newbox\pst@boxg
\newcount\pst@cnta
\newcount\pst@cntb
\newcount\pst@cntc
\newcount\pst@cntd
\newcount\pst@cntg
\newcount\pst@cnth
\newif\if@pst
\newtoks\pst@toks
\newif\if@star
\def\pst@ifstar#1{%
\@ifnextchar*{\@startrue\def\next*{#1}\next}{\@starfalse#1}}
\def\pst@expandafter#1#2{%
\def\next{#1}%
\edef\@tempa{#2}%
\ifx\@tempa\@empty
\@pstrickserr{Unexpected empty argument!}\@ehpb
\def\@tempa{\@empty}%
\fi
\expandafter\next\@tempa}
\def\pst@dimtonum#1#2{\edef#2{\pst@@dimtonum#1}}
\def\pst@@dimtonum#1{\expandafter\pst@@@dimtonum\the#1}
{\catcode`\p=12 \catcode`\t=12 \global\@namedef{pst@@@dimtonum}#1pt{#1}}
\def\pst@pyth#1#2#3{%
\ifdim#1>#2\pst@@pyth#1#2#3\else\pst@@pyth#2#1#3\fi}
\def\pst@@pyth#1#2#3{%
\ifdim4#1>9#2%
#3=#1\advance#3 .2122#2%
\else
#3=.8384#1\advance#3 .5758#2%
\fi}
\def\pst@divide#1#2#3{%
\pst@@divide{#1}{#2}%
\pst@dimtonum\pst@dimg{#3}}
\def\pst@@divide#1#2{%
\pst@dimg=#1\relax
\pst@dimh=#2\relax
\pst@cntg=\pst@dimh
\pst@cnth=67108863
\pst@@@divide\pst@@@divide\pst@@@divide\pst@@@divide
\divide\pst@dimg\pst@cntg}
\def\pst@@@divide{%
\ifnum
\ifnum\pst@dimg<\z@-\fi\pst@dimg<\pst@cnth
\multiply\pst@dimg\sixt@@n
\else
\divide\pst@cntg\sixt@@n
\fi}
\def\pst@configerr#1{%
\@pstrickserr{\string#1 not defined in pstricks.con}\@ehpc}
% % \begin{macrocode}
\def\pstVerb#1{\pst@configerr\pstVerb}
\def\pstverb#1{\pst@configerr\pstverb}
\def\pstverbscale{\pst@configerr\pstverbscale}
\def\pstrotate{\pst@configerr\pstrotate}
\def\pstheader#1{\pst@configerr\pstheader}
\def\pstdriver{\pst@configerr\pstdriver}
\@ifundefined{pstcustomize}%
{\def\pstcustomize{\endinput\let\pstcustomize\relax}}{}
\input pstricks.con
\newif\ifPSTricks
\PSTrickstrue
\def\PSTricksOff{%
\def\pstheader##1{}%
\def\pstverb##1{}%
\def\pstVerb##1{}%
\PSTricksfalse}
\@ifundefined{pst@def}{\def\pst@def#1<#2>{\@namedef{tx@#1}{#2 }}}{}
\@ifundefined{pst@ATH}{\def\pst@ATH<#1>{}}{}
\pstheader{pstricks.pro}
\def\pst@dict{tx@Dict begin }
\def\pst@theheaders{pstricks.pro}
\def\pst@Verb#1{\pstVerb{\pst@dict #1 end}}
\def\tx@Atan{Atan }
\def\tx@Div{Div }
\def\tx@NET{NET }
\def\tx@Pyth{Pyth }
\def\tx@PtoC{PtoC }
\def\tx@PathLength@{PathLength@ }
\def\tx@PathLength{PathLength }
\pst@dimg=\pstunit\relax
\ifdim\pst@dimg=1bp
\def\pst@stp{.996264 dup scale}
\else
\edef\pst@stp{1 \pst@@dimtonum\pst@dimg\space div dup scale}
\fi
\def\tx@STP{STP }
\def\tx@STV{STV }
\def\pst@number#1{\pst@@dimtonum#1\space}
\def\pst@checknum#1#2{%
\edef\next{#1}%
\ifx\next\@empty
\let\pst@num\z@
\else
\expandafter\pst@@checknum\next..\@nil
\fi
\ifnum\pst@num=\z@
\@pstrickserr{Bad number: `#1'. 0 substituted.}\@ehpa
\def#2{0 }%
\else
\edef#2{\ifnum\pst@num=\tw@-\fi\the\pst@cntg.%
\expandafter\@gobble\the\pst@cnth\space}%
\fi}
\def\pst@@checknum{%
\@ifnextchar-%
{\let\pst@num\tw@\expandafter\pst@@@checknum\@gobble}%
{\let\pst@num\@ne\pst@@@checknum}}
\def\pst@@@checknum#1.#2.#3\@nil{%
\afterassignment\pst@@@@checknum\pst@cntg=0#1\relax\@nil
\afterassignment\pst@@@@checknum\pst@cnth=1#2\relax\@nil}
\def\pst@@@@checknum#1\relax\@nil{%
\ifx\@nil#1\@nil\else\let\pst@num\z@\fi}
\def\pst@getnumii#1 #2 #3\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph}
\def\pst@getnumiii#1 #2 #3 #4\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi}
\def\pst@getnumiv#1 #2 #3 #4 #5\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi
\pst@checknum{#4}\pst@tempj}
\def\pst@getdimnum#1 #2 #3\@nil{%
\pssetlength\pst@dimg{#1}%
\pst@checknum{#2}\pst@tempg}
% DG/SR modification begin - Jan. 7, 1998 - Patch 9
% Missing from pstricks.bug 0.93
%\def\pst@getscale#1#2{%
%\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil
%\@psttrue
%\ifdim\pst@tempg\p@=\z@
%\@pstrickserr{Bad scaling argument `#1'}\@ehpa
%\def\pst@tempg{1 }%
%\@pstfalse
%\fi
%\ifdim\pst@temph\p@=\z@
%\if@pst\@pstrickserr{Bad scaling argument `#1'}\@ehpa\fi
%\def\pst@temph{1 }%
%\fi
%\edef#2{\pst@tempg\space \pst@temph\space scale }%
%\ifdim\pst@tempg\p@=\p@ \ifdim\pst@temph\p@=\p@
%\def#2{}%
%\fi\fi}
\def\pst@getscale#1#2{%
\edef\pst@tempg{#1}%
\ifx\pst@tempg\@none
\def#2{}%
\else
\pst@expandafter\pst@getnumii{#1 #1} {} {} {}\@nil
\ifdim\pst@tempg\p@=\z@
\@pstrickserr{Bad scaling argument `#1'}\@ehpa
\def#2{}%
\else
\ifdim\pst@temph\p@=\z@
\@pstrickserr{Bad scaling argument `#1'}\@ehpa
\def#2{}%
\else
\edef#2{\pst@tempg\space \pst@temph\space scale }%
\fi
\fi
\fi}
% DG/SR modification end
\def\pst@getint#1#2{%
\pst@cntg=#1\relax
\edef#2{\the\pst@cntg\space}}
\begingroup
\catcode`\{=12
\catcode`\}=12
\catcode`\[=1
\catcode`\]=2
\gdef\pslbrace[{ ]
\gdef\psrbrace[} ]
\endgroup
\def\@newcolor#1#2{%
\expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}%
\expandafter\edef\csname color@#1\endcsname{#2}%
\ignorespaces}
\def\pst@color#1{%
\def\pst@currentcolor{#1}\pstVerb{#1}\aftergroup\pst@endcolor}
\def\pst@endcolor{\pstVerb{\pst@currentcolor}}
\def\pst@currentcolor{0 setgray}
\def\altcolormode{%
\def\pst@color##1{%
\pstVerb{gsave ##1}\aftergroup\pst@endcolor}%
\def\pst@endcolor{\pstVerb{\pst@grestore}}}
\def\pst@grestore{%
currentpoint
matrix currentmatrix
currentfont
grestore
setfont
setmatrix
moveto}
\def\pst@usecolor#1{\csname color@#1\endcsname\space}
\def\newgray#1#2{%
\pst@checknum{#2}\pst@tempg
\@newcolor{#1}{\pst@tempg setgray}}
\def\newrgbcolor#1#2{%
\pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}}
\def\newhsbcolor#1#2{%
\pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}}
\def\newcmykcolor#1#2{%
\pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil
\@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}}
\newgray{black}{0}
\newgray{darkgray}{.25}
\newgray{gray}{.5}
\newgray{lightgray}{.75}
\newgray{white}{1}
\newrgbcolor{red}{1 0 0}
\newrgbcolor{green}{0 1 0}
\newrgbcolor{blue}{0 0 1}
\newrgbcolor{yellow}{1 1 0}
\newrgbcolor{cyan}{0 1 1}
\newrgbcolor{magenta}{1 0 1}
\def\psset#1{\@psset#1,\@nil\ignorespaces}
\def\@psset#1,{%
\@@psset#1==\@nil
\@ifnextchar\@nil{\@gobble}{\@psset}}
\def\@@psset#1=#2=#3\@nil{%
\@ifundefined{psset@#1}%
{\@pstrickserr{Graphics parameter `#1' not defined.}\@ehpa}%
{\@nameuse{psset@#1}{#2}}}%
\def\psset@style#1{%
\@ifundefined{pscs@#1}%
{\@pstrickserr{Custom style `#1' undefined}\@ehpa}%
{\@nameuse{pscs@#1}}}
\def\newpsstyle#1#2{\@namedef{pscs@#1}{\psset{#2}}}
\def\@none{none}
\def\pst@getcolor#1#2{%
\@ifundefined{color@#1}%
{\@pstrickserr{Color `#1' not defined}\@eha}%
{\edef#2{#1}}}
\newdimen\psunit \psunit 1cm
\newdimen\psxunit \psxunit 1cm
\newdimen\psyunit \psyunit 1cm
\let\psrunit\psunit
\def\pstunit@off{\let\@psunit\ignorespaces\ignorespaces}
\def\pssetlength#1#2{%
\let\@psunit\psunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\psaddtolength#1#2{%
\let\@psunit\psunit
\afterassignment\pstunit@off
\advance#1 #2\@psunit}
\def\pssetxlength#1#2{%
\let\@psunit\psxunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\pssetylength#1#2{%
\let\@psunit\psyunit
\afterassignment\pstunit@off
#1 #2\@psunit}
\def\psset@unit#1{%
\pssetlength\psunit{#1}%
\psxunit=\psunit
\psyunit=\psunit}
\def\psset@runit#1{\pssetlength\psrunit{#1}}
\def\psset@xunit#1{\pssetxlength\psxunit{#1}}
\def\psset@yunit#1{\pssetylength\psyunit{#1}}
\def\pst@getlength#1#2{%
\pssetlength\pst@dimg{#1}%
\edef#2{\pst@number\pst@dimg}}
\def\pst@@getlength#1#2{%
\pssetlength\pst@dimg{#1}%
\edef#2{\number\pst@dimg sp}}
\def\pst@getcoor#1#2{\pst@@getcoor{#1}\let#2\pst@coor}
\def\pst@coor{0 0 }
\def\pst@getcoors#1#2{%
\def\pst@aftercoors{\addto@pscode{#1 \pst@coors }#2}%
\def\pst@coors{}%
\pst@@getcoors}
\def\pst@@getcoors(#1){%
\pst@@getcoor{#1}%
\edef\pst@coors{\pst@coor\pst@coors}%
\@ifnextchar({\pst@@getcoors}{\pst@aftercoors}}
\def\pst@getangle#1#2{\pst@@getangle{#1}\let#2\pst@angle}
\def\pst@angle{0 }
\def\cartesian@coor#1,#2,#3\@nil{%
\pssetxlength\pst@dimg{#1}%
\pssetylength\pst@dimh{#2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@number\pst@dimh}}
\def\NormalCoor{%
\def\pst@@getcoor##1{\pst@expandafter\cartesian@coor{##1},\relax,\@nil}%
\def\pst@@getangle##1{%
\pst@checknum{##1}\pst@angle
\edef\pst@angle{\pst@angle \pst@angleunit}}%
\def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}}
\NormalCoor
\def\degrees{\@ifnextchar[{\@degrees}{\def\pst@angleunit{}}}
\def\@degrees[#1]{%
\pst@checknum{#1}\pst@tempg
\edef\pst@angleunit{360 \pst@tempg div mul }%
\ignorespaces}
\def\radians{\def\pst@angleunit{57.2956 mul }}
\def\pst@angleunit{}
\def\SpecialCoor{%
\def\pst@@getcoor##1{%
\begingroup
\pst@activecoor
\xdef\pst@tempg{##1}%
\endgroup
\expandafter\special@coor\pst@tempg||\@nil}%
\def\pst@@getangle##1{%
\begingroup
\pst@activecoor
\xdef\pst@tempg{##1}%
\endgroup
\expandafter\special@angle\pst@tempg\@empty)\@nil}%
\def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@special}}
\begingroup
\catcode`\|=13
\catcode`\;=13
\catcode`\!=13
\gdef\pst@activecoor{%
\def|{\string|}%
\def;{\string;}%
\def!{\string!}}
\endgroup
\def\special@coor#1|#2|#3\@nil{%
\ifx#3|\relax
\mixed@coor{#1}{#2}%
\else
\special@@coor#1;;\@nil
\fi}
\def\special@@coor#1{%
\ifcat#1a\relax
\def\next{\node@coor#1}%
\else
\ifx#1[\relax
\def\next{\Node@coor[}%
\else
\ifx#1!\relax
\def\next{\raw@coor}%
\else
\def\next{\special@@@coor#1}%
\fi
\fi
\fi
\next}
\def\special@@@coor#1;#2;#3\@nil{%
\ifx#3;\relax
\polar@coor{#1}{#2}%
\else
\cartesian@coor#1,\relax,\@nil
\fi}
\def\mixed@coor#1#2{%
\begingroup
% DG/SR modification begin - Oct. 27, 1997 - Patch 6
%\specialcoor@ii#1;;\@nil
%\let\pst@tempa\pst@coor
%\specialcoor@ii#2;;\@nil
\special@@coor#1;;\@nil
\let\pst@tempa\pst@coor
\special@@coor#2;;\@nil
% DG/SR modification end
\xdef\pst@tempg{\pst@tempa pop \pst@coor exch pop }%
\endgroup
\let\pst@coor\pst@tempg}
\def\polar@coor#1#2{%
\pssetlength\pst@dimg{#1}%
\pst@@getangle{#2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@angle \tx@PtoC}}
\def\raw@coor#1;#2\@nil{%
\edef\pst@coor{%
#1 \pst@number\psyunit mul exch \pst@number\psxunit mul exch }}
\def\node@coor#1\@nil{%
\@pstrickserr{You must load `pst-node.tex' to use node coordinates.}\@ehps
\def\pst@coor{0 0 }}
\def\Node@coor{\node@coor}
\def\special@angle#1#2)#3\@nil{%
\ifx!#1\relax
\edef\pst@angle{#2 \pst@angleunit}%
\else
\ifx(#1\relax
\pst@@getcoor{#2}%
\edef\pst@angle{\pst@coor exch \tx@Atan}%
\else
\pst@checknum{#1#2}\pst@angle
\edef\pst@angle{\pst@angle \pst@angleunit}%
\fi
\fi}
\def\Cartesian{%
\def\cartesian@coor##1,##2,##3\@nil{%
\pssetxlength\pst@dimg{##1}%
\pssetylength\pst@dimh{##2}%
\edef\pst@coor{\pst@number\pst@dimg \pst@number\pst@dimh}}%
\@ifnextchar({\Cartesian@}{}}
\def\Cartesian@(#1,#2){%
\pssetxlength\psxunit{#1}%
\pssetylength\psyunit{#2}%
\ignorespaces}
\def\Polar{%
\def\psput@cartesian{\psput@special}%
\def\cartesian@coor##1,##2,##3\@nil{\polar@coor{##1}{##2}}}%
\def\psset@origin#1{%
\pst@@getcoor{#1}%
\edef\psk@origin{\pst@coor \tx@NET }}
\def\psk@origin{}
\newif\ifswapaxes
\def\psset@swapaxes#1{%
\@nameuse{@pst#1}%
\if@pst
\def\psk@swapaxes{-90 rotate -1 1 scale }%
\else
\def\psk@swapaxes{}%
\fi}
\psset@swapaxes{false}
\newif\ifshowpoints
\def\psset@showpoints#1{\@nameuse{showpoints#1}}
\psset@showpoints{false}
\let\pst@setrepeatarrowsflag\relax
\def\psset@border#1{%
\pst@getlength{#1}\psk@border
\pst@setrepeatarrowsflag}
\psset@border{0pt}
\def\psset@bordercolor#1{\pst@getcolor{#1}\psbordercolor}
\psset@bordercolor{white}
\newif\ifpsdoubleline
\def\psset@doubleline#1{%
\@nameuse{psdoubleline#1}%
\pst@setrepeatarrowsflag}
\psset@doubleline{false}
\def\psset@doublesep#1{\def\psdoublesep{#1}}
\psset@doublesep{1.25\pslinewidth}
\def\psset@doublecolor#1{\pst@getcolor{#1}\psdoublecolor}
\psset@doublecolor{white}
\newif\ifpsshadow
\def\psset@shadow#1{%
\@nameuse{psshadow#1}%
\pst@setrepeatarrowsflag}
\psset@shadow{false}
\def\psset@shadowsize#1{\pst@getlength{#1}\psk@shadowsize}
\psset@shadowsize{3pt}
\def\psset@shadowangle#1{\pst@getangle{#1}\psk@shadowangle}
\psset@shadowangle{-45}
\def\psset@shadowcolor#1{\pst@getcolor{#1}\psshadowcolor}
\psset@shadowcolor{darkgray}
\def\pst@repeatarrowsflag{\z@}
\def\pst@setrepeatarrowsflag{%
\edef\pst@repeatarrowsflag{%
\ifdim\psk@border\p@>\z@ 1\else\ifpsdoubleline 1\else
\ifpsshadow 1\else \z@\fi\fi\fi}}
\def\psls@none{}
\newdimen\pslinewidth
\def\psset@linewidth#1{\pssetlength\pslinewidth{#1}}
\psset@linewidth{.8pt}
\def\psset@linecolor#1{\pst@getcolor{#1}\pslinecolor}
\psset@linecolor{black}
\def\psls@solid{0 setlinecap stroke }
\def\pst@missing{%
\z@
\@pstrickserr{Missing number or dimension. 0 substituted}\@ehpa}
\def\psset@dash#1{%
\pst@expandafter\psset@@dash{#1} {\pst@missing} {\pst@missing} {}\@nil
\edef\psk@dash{\pst@number\pst@dimg \pst@number\pst@dimh}}
\def\psset@@dash#1 #2 #3\@nil{%
\pssetlength\pst@dimg{#1}%
\pssetlength\pst@dimh{#2}}
\psset@dash{5pt 3pt}
\newif\ifpsdashadjust
\def\psset@dashadjust#1{\@nameuse{psdashadjust#1}}
\psset@dashadjust{true}
\def\psls@dashed{%
\ifpsdashadjust
\psk@dash \pst@linetype\space \tx@DashLine
\else
[ \psk@dash ] 0 setdash stroke
\fi}
\def\tx@DashLine{DashLine }
\def\psset@dotsep#1{\pst@getlength{#1}\psk@dotsep}
\psset@dotsep{3pt}
\def\psls@dotted{%
\ifpsdashadjust
\psk@dotsep \pst@linetype\space \tx@DotLine
\else
[ 0 \psk@dotsep CLW add ] 0 setdash 1 setlinecap stroke
\fi}
\def\tx@DotLine{DotLine }
\def\psset@linestyle#1{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\edef\pslinestyle{#1}}}
\psset@linestyle{solid}
\def\psfs@none{}
\def\psset@fillcolor#1{\pst@getcolor{#1}\psfillcolor}
\psset@fillcolor{white}
\def\psfs@solid{\pst@fill{\pst@usecolor\psfillcolor fill}}
\def\psset@hatchwidth#1{\pst@getlength{#1}\psk@hatchwidth}
\psset@hatchwidth{.8pt}
\def\psset@hatchsep#1{\pst@getlength{#1}\psk@hatchsep}
\psset@hatchsep{4pt}
\def\psset@hatchcolor#1{\pst@getcolor{#1}\pshatchcolor}
\psset@hatchcolor{black}
\def\psset@hatchangle#1{\pst@getangle{#1}\psk@hatchangle}
\psset@hatchangle{45}
\def\pst@linefill{%
\psk@hatchangle rotate
\psk@hatchwidth SLW
\pst@usecolor\pshatchcolor
\psk@hatchsep \tx@LineFill}
\def\psfs@vlines{\pst@fill\pst@linefill}
\@namedef{psfs@vlines*}{\psfs@solid \psfs@vlines}
\def\psfs@hlines{\pst@fill{90 rotate \pst@linefill}}
\@namedef{psfs@hlines*}{\psfs@solid \psfs@hlines}
\def\psfs@crosshatch{\psfs@vlines \psfs@hlines}
\@namedef{psfs@crosshatch*}{\psfs@solid \psfs@vlines \psfs@hlines}
\def\tx@LineFill{LineFill }
\def\psset@fillstyle#1{%
\edef\pst@tempg{#1}\def\pst@temph{none}%
\ifx\pst@tempg\pst@temph
\let\psk@fillstyle\relax
\else
\@ifundefined{psfs@#1}%
{\@pstrickserr{Undefined fill style: `#1'}\@eha}%
{\edef\psk@fillstyle{\expandafter\noexpand\csname psfs@#1\endcsname}}%
\fi}
\def\psset@addfillstyle#1{%
\@ifundefined{psfs@#1}%
{\@pstrickserr{Undefined fill style: `#1'}\@eha}%
{\edef\psk@fillstyle{%
\expandafter\noexpand\psk@fillstyle
\expandafter\noexpand\csname psfs@#1\endcsname}}}
\psset@fillstyle{none}
\def\psset@arrows#1{%
\begingroup
\pst@activearrows
\xdef\pst@tempg{#1}%
\endgroup
\expandafter\psset@@arrows\pst@tempg\@empty-\@empty\@nil
\if@pst\else
\@pstrickserr{Bad arrows specification: #1}\@ehpa
\fi}
\def\psset@@arrows#1-#2\@empty#3\@nil{%
\@psttrue
\def\next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
\expandafter\next\pst@arrowtable,#1-#1,\@nil
\@ifundefined{psas@\pst@tempg}%
{\@pstfalse\def\psk@arrowA{}}%
{\let\psk@arrowA\pst@tempg}%
\@ifundefined{psas@#2}%
{\@pstfalse\def\psk@arrowB{}}%
{\def\psk@arrowB{#2}}}
\def\psk@arrowA{}
\def\psk@arrowB{}
\def\pst@arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-]}
\begingroup
\catcode`\<=13
\catcode`\>=13
\catcode`\|=13
\gdef\pst@activearrows{\def<{\string<}\def>{\string>}\def|{\string|}}
\endgroup
\def\tx@BeginArrow{BeginArrow }
\def\tx@EndArrow{EndArrow }
\def\psset@arrowscale#1{\pst@getscale{#1}\psk@arrowscale}
\psset@arrowscale{1}
\def\psset@arrowsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@arrowsize{\pst@number\pst@dimg \pst@tempg}}
\psset@arrowsize{1.5pt 2}
\def\psset@arrowlength#1{\pst@checknum{#1}\psk@arrowlength}
\psset@arrowlength{1.4}
\def\psset@arrowinset#1{\pst@checknum{#1}\psk@arrowinset}%
\psset@arrowinset{.4}
\def\tx@Arrow{Arrow }
\@namedef{psas@>}{%
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@>>}{%
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
0 h T
gsave
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
CP
grestore
CP newpath moveto
2 copy
L
stroke
moveto}
\@namedef{psas@<}{%
true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@<<}{%
true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow
CP newpath moveto 0 a neg L stroke 0 h neg T
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\def\psset@tbarsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@tbarsize{\pst@number\pst@dimg \pst@tempg}}
\psset@tbarsize{2pt 5}
\def\tx@Tbar{Tbar }
\@namedef{psas@|}{\psk@tbarsize \tx@Tbar}
\@namedef{psas@|*}{0 CLW -2 div T \psk@tbarsize \tx@Tbar}
\@namedef{psas@>|}{%
\psk@tbarsize \tx@Tbar
0 CLW 2 div T
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\@namedef{psas@>|*}{%
0 CLW -2 div T
\psk@tbarsize \tx@Tbar
0 CLW 2 div T
newpath
false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow}
\edef\pst@arrowtable{\pst@arrowtable,|<*->|*,|<->|}
\def\psset@bracketlength#1{\pst@checknum{#1}\psk@bracketlength}
\psset@bracketlength{.15}
\def\tx@Bracket{Bracket }
\@namedef{psas@]}{\psk@bracketlength \psk@tbarsize \tx@Bracket}
\def\psset@rbracketlength#1{\pst@checknum{#1}\psk@rbracketlength}
\psset@rbracketlength{.15}
\def\tx@RoundBracket{RoundBracket }
\@namedef{psas@)}{\psk@rbracketlength \psk@tbarsize \tx@RoundBracket}
\def\psas@c{1 \psas@@c}
\def\psas@cc{0 CLW 2 div T 1 \psas@@c}
\def\psas@C{2 \psas@@c}
\def\psas@@c{%
setlinecap
0 0 moveto
0 CLW 2 div L
stroke
0 0 moveto}
\def\psas@{}
\psset@arrows{-}
\def\tx@SD{SD }
\def\tx@EndDot{EndDot }
\def\psas@oo{{\pst@usecolor\psfillcolor true} true \psk@dotsize \tx@EndDot}
\def\psas@o{{\pst@usecolor\psfillcolor true} false \psk@dotsize \tx@EndDot}
\@namedef{psas@**}{{false} true \psk@dotsize \tx@EndDot}
\@namedef{psas@*}{{false} false \psk@dotsize \tx@EndDot}
\def\pst@par{}
\def\addto@par#1{%
\ifx\pst@par\@empty
\def\pst@par{#1}%
\else
\expandafter\def\expandafter\pst@par\expandafter{\pst@par,#1}%
\fi}
\def\addbefore@par#1{%
\ifx\pst@par\@empty
\def\pst@par{#1}%
\else
\toks@{#1}%
\pst@toks\expandafter{\pst@par}%
\edef\pst@par{\the\toks@,\the\pst@toks}%
\fi}
\def\use@par{%
\ifx\pst@par\@empty\else
\expandafter\@psset\pst@par,\@nil
\def\pst@par{}%
\fi}
\def\pst@object#1{%
\pst@ifstar{%
\@ifnextchar[%
{\pst@@object{#1}}%
{\def\pst@par{}\@nameuse{#1@i}}}}
\def\pst@@object#1[#2]{%
\def\pst@par{#2}%
\@ifnextchar+{\@nameuse{#1@i}}{\@nameuse{#1@i}}}
\def\newpsobject#1#2#3{%
\@ifundefined{#2@i}%
{\@pstrickserr{Graphics object `#2' not defined}\@eha}{%
\@namedef{#1}{\pst@object{#1}}%
\@namedef{#1@i}{\addbefore@par{#3}\@nameuse{#2@i}}}%
\ignorespaces}
\def\pst@getarrows#1{\@ifnextchar({#1}{\pst@@getarrows{#1}}}
\def\pst@@getarrows#1#2{\addto@par{arrows=#2}#1}
\def\begin@ClosedObj{%
\leavevmode
\pst@killglue
\begingroup
\use@par
\solid@star
\ifpsdoubleline \pst@setdoublesep \fi
\init@pscode}
\def\end@ClosedObj{%
\ifpsshadow \pst@closedshadow \fi
\ifdim\psk@border\p@>\z@ \pst@addborder \fi
\psk@fillstyle
\pst@stroke
\ifpsdoubleline \pst@doublestroke \fi
\ifshowpoints
% DG modification begin - Mar. 4, 1995
%\addto@pscode{Points aload length 2 div cvi /N ED \psdots@iii}%
\pst@OpenShowPoints
% DG modification end
\fi
\use@pscode
\endgroup
\ignorespaces}
\def\begin@OpenObj{%
\begin@ClosedObj
\let\pst@linetype\pst@arrowtype
\pst@addarrowdef}
\def\begin@AltOpenObj{%
\begin@ClosedObj
\def\pst@repeatarrowsflag{\z@}%
\def\pst@linetype{0}}
\def\end@OpenObj{%
\ifpsshadow \pst@openshadow \fi
\ifdim\psk@border\p@>\z@ \pst@addborder \fi
\psk@fillstyle
\pst@stroke
\ifpsdoubleline \pst@doublestroke \fi
\ifnum\pst@repeatarrowsflag>\z@ \pst@repeatarrows \fi
\ifshowpoints \pst@OpenShowPoints \fi
\use@pscode
\endgroup
\ignorespaces}
\def\begin@SpecialObj{%
\leavevmode
\pst@killglue
\begingroup
\use@par
\init@pscode}
\def\end@SpecialObj{%
\use@pscode
\endgroup
\ignorespaces}
\def\pst@code{}%
\def\init@pscode{%
\addto@pscode{%
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}
\def\addto@pscode#1{\xdef\pst@code{\pst@code#1\space}}
\def\use@pscode{%
\pstverb{%
\pst@dict
\tx@STP
\pst@newpath
\psk@origin
\psk@swapaxes
\pst@code
end}%
\gdef\pst@code{}}
\def\pst@newpath{newpath }
\def\pst@@killglue{\unskip\ifdim\lastskip>\z@\expandafter\pst@@killglue\fi}
\def\KillGlue{\let\pst@killglue\pst@@killglue}
\def\DontKillGlue{\let\pst@killglue\relax}
\DontKillGlue
\def\solid@star{%
\if@star
\pslinewidth=\z@
\psdoublelinefalse
\def\pslinestyle{none}%
\def\psk@fillstyle{\psfs@solid}%
\let\psfillcolor\pslinecolor
\fi}
\def\pst@setdoublesep{%
\pst@getlength\psdoublesep\psdoublesep
\pslinewidth=2\pslinewidth
\advance\pslinewidth\psdoublesep\p@
\let\pst@setdoublesep\relax}
\def\tx@Shadow{Shadow }
\def\pst@closedshadow{%
\addto@pscode{%
gsave
\psk@shadowsize \psk@shadowangle \tx@PtoC
\tx@Shadow
\pst@usecolor\psshadowcolor
gsave fill grestore
stroke
grestore
gsave
\pst@usecolor\psfillcolor
gsave fill grestore
stroke
grestore}}
\def\pst@openshadow{%
\addto@pscode{%
gsave
\psk@shadowsize \psk@shadowangle \tx@PtoC
\tx@Shadow
\pst@usecolor\psshadowcolor
\ifx\psk@fillstyle\relax\else
gsave fill grestore
\fi
stroke}%
\pst@repeatarrows
\addto@pscode{grestore}
\ifx\psk@fillstyle\relax\else
\addto@pscode{%
gsave
\pst@usecolor\psfillcolor
gsave fill grestore
stroke
grestore}
\fi}
\def\pst@addborder{%
\addto@pscode{%
gsave
\psk@border 2 mul
CLW add SLW
\pst@usecolor\psbordercolor
stroke
grestore}}
\def\pst@stroke{%
\ifx\pslinestyle\@none\else
\addto@pscode{%
gsave
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor
\@nameuse{psls@\pslinestyle}
grestore}%
\fi}
\def\pst@fill#1{\addto@pscode{gsave #1 grestore}}%
\def\pst@doublestroke{%
\addto@pscode{%
gsave
\psdoublesep SLW
\pst@usecolor\psdoublecolor
stroke
grestore}}
\def\pst@arrowtype{%
\ifx\psk@arrowB\@empty 0 \else -2 \fi
\ifx\psk@arrowA\@empty 0 \else -1 \fi
add}
\def\pst@addarrowdef{%
\addto@pscode{%
/ArrowA {
\ifx\psk@arrowA\@empty
\pst@oplineto
\else
\pst@arrowdef{A}
moveto
\fi
} def
/ArrowB {
\ifx\psk@arrowB\@empty \else \pst@arrowdef{B} \fi
} def}}
\def\pst@arrowdef#1{%
\ifnum\pst@repeatarrowsflag>\z@
/Arrow#1c [ 6 2 roll ] cvx def Arrow#1c
\fi
\tx@BeginArrow
\psk@arrowscale
\@nameuse{psas@\@nameuse{psk@arrow#1}}
\tx@EndArrow}
\def\pst@repeatarrows{%
\addto@pscode{%
gsave
\ifx\psk@arrowA\@empty\else
ArrowAc ArrowA pop pop
\fi
\ifx\psk@arrowB\@empty\else
ArrowBc ArrowB pop pop pop pop
\fi
grestore}}
\def\pst@OpenShowPoints{%
\addto@pscode{%
gsave
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
newpath
Points aload length 2 div 2 sub cvi /N ED
N 0 ge
{ \ifx\psk@arrowA\@empty
Dot
\else
pop pop
\fi
N { Dot } repeat
\ifx\psk@arrowB\@empty
Dot
\else
pop pop
\fi }
{ N 2 mul { pop } repeat }
ifelse
grestore}}
\def\pscustom{\pst@object{pscustom}}
\long\def\pscustom@i#1{%
\begin@SpecialObj
\solid@star
\let\pst@ifcustom\iftrue
\let\begin@ClosedObj\begin@CustomObj
\let\end@ClosedObj\endgroup
\def\begin@OpenObj{\begin@CustomObj\pst@addarrowdef}%
\let\end@OpenObj\endgroup
\let\begin@AltOpenObj\begin@CustomObj
\def\begin@SpecialObj{%
\begingroup
\pst@misplaced{special graphics object}%
\def\addto@pscode####1{}
\let\end@SpecialObj\endgroup}%
\def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
\def\psclip##1{\pst@misplaced\psclip}%
\def\pst@repeatarrowsflag{\z@}%
\let\pst@setrepeatarrowsflag\relax
\showpointsfalse
\let\showpointstrue\relax
\def\pst@linetype{\pslinetype}%
\let\psset@liftpen\psset@@liftpen
\psset@liftpen{\z@}%
\def\pst@cp{/currentpoint load stopped pop }%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\def\pst@optcp##1##2{%
\ifnum##1=\z@\def##2{/currentpoint load stopped { 0 0 } if }\fi}%
\let\caddto@pscode\addto@pscode
\def\cuse@par##1{{\use@par##1}}%
\the\pst@customdefs
\setbox\pst@hbox=\hbox{#1}%
\psk@fillstyle
\pst@stroke
\end@SpecialObj}
\def\begin@CustomObj{%
\begingroup
\use@par
\addto@pscode{%
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}
\def\pst@oplineto{moveto }
\def\pst@cp{}
\def\pst@optcp#1#2{}
\def\psset@liftpen#1{}
\def\psset@@liftpen#1{%
\ifcase#1\relax
\def\psk@liftpen{\z@}%
\def\pst@cp{/currentpoint load stopped pop }%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\or
\def\psk@liftpen{1}%
\def\pst@cp{}%
\def\pst@oplineto{/lineto load stopped { moveto } if }%
\or
\def\psk@liftpen{2}%
\def\pst@cp{}%
\def\pst@oplineto{moveto }%
\fi}
\psset@liftpen{0}
\def\psk@liftpen{-1}
\def\psset@linetype#1{%
\pst@getint{#1}\pslinetype
\ifnum\pst@dimg<-3
\@pstrickserr{linetype must be greater than -3}\@ehpa
\def\pslinetype{0}%
\fi}
\psset@linetype{0}
\def\caddto@pscode#1{%
\@pstrickserr{Command can only be used in \string\pscustom}\@ehpa}
\let\cuse@par\caddto@pscode
\def\tx@MSave{%
/msavemtrx
[ tx@Dict /msavemtrx known { msavemtrx aload pop } if CM ]
def }
\def\tx@MRestore{%
tx@Dict /msavemtrx known { length 0 gt } { false } ifelse
{ /msavematrx [ msavematrx aload pop setmatrix ] def }
if }
\newtoks\pst@customdefs
\pst@customdefs{%
\def\newpath{\addto@pscode{newpath}}%
\def\moveto(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
\def\closepath{\addto@pscode{closepath}}%
\def\gsave{\begingroup\addto@pscode{gsave}}%
\def\grestore{\endgroup\addto@pscode{grestore}}%
% DG/SR modification begin - May 12, 1997 - Patch 2
%\def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
\def\translate(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor translate}}%
% DG/SR modification end
\def\rotate#1{\pst@@getangle{#1}\addto@pscode{\pst@angle rotate}}%
\def\scale#1{\pst@getscale{#1}\pst@tempg\addto@pscode{\pst@tempg}}%
\def\msave{\addto@pscode{\tx@MSave}}%
\def\mrestore{\addto@pscode{\tx@MRestore}}%
\def\swapaxes{\addto@pscode{-90 rotate -1 1 scale}}%
\def\stroke{\pst@object{stroke}}%
\def\fill{\pst@object{fill}}%
\def\openshadow{\pst@object{openshadow}}%
\def\closedshadow{\pst@object{closedshadow}}%
% DG/SR modification begin - Jan. 7, 1998 - Patch 8
%\def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor tx@Shadow}}%
\def\movepath(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor \tx@Shadow}}%
% DG/SR modification end
\def\lineto{\pst@onecoor{lineto}}%
\def\rlineto{\pst@onecoor{rlineto}}%
\def\curveto{\pst@threecoor{curveto}}%
\def\rcurveto{\pst@threecoor{rcurveto}}%
\def\code#1{\addto@pscode{#1}}%
\def\coor(#1){\pst@@getcoor{#1}\addto@pscode\pst@coor\@ifnextchar({\coor}{}}%
\def\rcoor{\pst@getcoors{}{}}%
\def\dim#1{\pssetlength\pst@dimg{#1}\addto@pscode{\pst@number\pst@dimg}}%
\def\setcolor#1{%
\@ifundefined{color@#1}{}{\addto@pscode{\use@color{#1}}}}%
\def\arrows#1{{\psset@arrows{#1}\pst@addarrowdef}}%
\let\file\pst@rawfile
} % END \pst@customdefs
\def\closedshadow@i{\cuse@par\pst@closedshadow}
\def\openshadow@i{\cuse@par\pst@openshadow}
\def\stroke@i{\cuse@par\pst@stroke}%
\def\fill@i{\cuse@par\psk@fillstyle}%
\def\pst@onecoor#1(#2){%
\pst@@getcoor{#2}%
\addto@pscode{\pst@coor #1}}
\def\pst@threecoor#1(#2)#3(#4)#5(#6){%
\begingroup
\pst@getcoor{#2}\pst@tempa
\pst@getcoor{#4}\pst@tempb
\pst@getcoor{#6}\pst@tembc
\addto@pscode{\pst@tempa \pst@tempb \pst@tempc #1}%
\endgroup}
\def\pst@rawfile#1{%
\begingroup
\def\do##1{\catcode`##1=12\relax}"
\dospecials
\catcode`\%=14
\pst@@rawfile{#1}%
\endgroup}
\def\pst@@rawfile#1{%
\immediate\openin1 #1
\ifeof1
\@pstrickserr{File `#1' not found}\@ehpa
\else
\immediate\read1 to \pst@tempg
\loop
\ifeof1 \@pstfalse\else\@psttrue\fi
\if@pst
\addto@pscode\pst@tempg
\immediate\read1 to \pst@tempg
\repeat
\fi
\immediate\closein1\relax}
\def\tx@NArray{NArray }
\def\tx@NArray{NArray }
\def\tx@Line{Line }
\def\tx@Arcto{Arcto }
\def\tx@CheckClosed{CheckClosed }
\def\tx@Polygon{Polygon }
\def\psset@gangle#1{\pst@getangle{#1}\psk@gangle}
\psset@gangle{0}
\def\tx@Diamond{Diamond }
\def\psdiamond{\pst@object{psdiamond}}
\def\psdiamond@i(#1){%
\@ifnextchar({\psdiamond@ii(#1)}{\psdiamond@ii(0,0)(#1)}}
\def\psdiamond@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\addto@pscode{%
\psline@iii
pop
\psk@dimen
\pst@tempb
\psk@gangle
\pst@tempa
\tx@Diamond}%
\def\pst@linetype{4}%
\end@ClosedObj}
\def\tx@Triangle{Triangle }
\def\pstriangle{\pst@object{pstriangle}}
\def\pstriangle@i(#1){%
\@ifnextchar({\pstriangle@ii(#1)}{\pstriangle@ii(0,0)(#1)}}
\def\pstriangle@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\addto@pscode{%
\psline@iii
pop
\psk@dimen
\pst@tempb
\psk@gangle
\pst@tempa
\tx@Triangle}%
\def\pst@linetype{2}%
\end@ClosedObj}
\def\tx@CCA{CCA }
\def\tx@CCA{CCA }
\def\tx@CC{CC }
\def\tx@IC{IC }
\def\tx@BOC{BOC }
\def\tx@NC{NC }
\def\tx@EOC{EOC }
\def\tx@BAC{BAC }
\def\tx@NAC{NAC }
\def\tx@EAC{EAC }
\def\tx@OpenCurve{OpenCurve }
\def\tx@AltCurve{AltCurve }
\def\tx@ClosedCurve{ClosedCurve }
\def\psset@curvature#1{%
\edef\pst@tempg{#1 }%
\expandafter\psset@@curvature\pst@tempg * * * \@nil}
\def\psset@@curvature#1 #2 #3 #4\@nil{%
\pst@checknum{#1}\pst@tempg
\pst@checknum{#2}\pst@temph
\pst@checknum{#3}\pst@tempi
\edef\psk@curvature{\pst@tempg \pst@temph \pst@tempi}}
\psset@curvature{1 .1 0}
\def\pscurve{\pst@object{pscurve}}
\def\pscurve@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\pscurve@ii}}
\def\pscurve@ii{%
\addto@pscode{%
\pst@cp
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@OpenCurve}%
\end@OpenObj}
\def\psecurve{\pst@object{psecurve}}
\def\psecurve@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psecurve@ii}}
\def\psecurve@ii{%
\addto@pscode{%
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@AltCurve}%
\end@OpenObj}
\def\psccurve{\pst@object{psccurve}}
\def\psccurve@i{%
\begin@ClosedObj
\pst@getcoors[\psccurve@ii}
\def\psccurve@ii{%
\addto@pscode{%
\psk@curvature\space /c ED /b ED /a ED
\ifshowpoints true \else false \fi
\tx@ClosedCurve}%
\def\pst@linetype{1}%
\end@ClosedObj}
\def\psset@dotsize#1{%
\pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil
\edef\psk@@dotsize{\pst@number\pst@dimg}%
\let\psk@@@dotsize\pst@tempg
\edef\psk@dotsize{%
/DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
\psset@dotsize{2pt 2}
\def\psset@dotscale#1{%
\pst@getscale{#1}\psk@dotscale
\ifx\psk@dotscale\@empty
\def\psk@xdotscale{1 }%
\def\psk@ydotscale{1 }%
\else
\let\psk@xdotscale\pst@tempg
\let\psk@ydotscale\pst@temph
% DG/SR modification begin - Oct. 17, 1997 - Patch 5
%\fi}
\fi
\pst@getdotsize%
\psset@dotsize{\pst@dimg\space\pst@@dimtonum\pst@dimh}}
%\psset@dotscale{1}
% DG/SR modification end
\def\pst@Getangle#1#2{%
\pst@getangle{#1}\pst@tempg
\def\pst@temph{0. }%
\ifx\pst@tempg\pst@temph
\def#2{}%
\else
\edef#2{\pst@tempg\space rotate }%
\fi}
\def\psset@dotangle#1{%
\pst@getangle{#1}\psk@@dotangle
\ifdim\psk@@dotangle\p@=\z@
\let\psk@dotangle\@empty
\else
% DG/SR modification begin - Aug. 8, 1997 - Patch 4
%\edef\psk@dotangle{\psk@@dotangle rotate }
\edef\psk@dotangle{\psk@@dotangle rotate }%
% DG/SR modification end
\fi}
\psset@dotangle{0}
\def\pst@getdotsize{%
\pst@dimg=\psk@@@dotsize\pslinewidth
\advance\pst@dimg\psk@@dotsize\p@
\pst@dimh=\psk@ydotscale\pst@dimg
\pst@dimg=\psk@xdotscale\pst@dimg
\divide\pst@dimh 2
\divide\pst@dimg 2\relax}
% DG/SR modification begin - Oct. 17, 1997 - Patch 5
\psset@dotscale{1}
% DG/SR modification end
\def\psdot{\pst@object{psdot}}
\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
\def\psdot@ii(#1){%
\begin@SpecialObj
\pst@@getcoor{#1}%
\addto@pscode{%
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}%
\pst@coor Dot}%
\end@SpecialObj}
\def\psdots{\pst@object{psdots}}
\def\psdots@i{%
\begin@SpecialObj
\pst@getcoors[\psdots@ii}
\def\psdots@ii{%
\addto@pscode{false \tx@NArray \psdots@iii}%
\end@SpecialObj}
\def\psdots@iii{%
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
newpath
n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat}
% DG: dead code (to suppress until \psset@dotstyle) ? - Aug. 4, 1997
\def\tx@SQ{SQ }
\def\tx@ST{ST }
\def\tx@SP{SP }
\def\pst@gdot#1{/Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def }
\@namedef{psds@*}{\pst@gdot{0 0 DS \tx@SD}}
\@namedef{psds@o}{%
/r2 DS CLW sub def
\pst@gdot{0 0 DS \tx@SD \pst@usecolor\psfillcolor 0 0 r2 \tx@SD}}
\@namedef{psds@square*}{%
/r1 DS .886 mul def
\pst@gdot{r1 \tx@SQ}}
\@namedef{psds@square}{%
/r1 DS .886 mul def /r2 r1 CLW sub def
\pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}}
\@namedef{psds@triangle*}{%
/y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
\pst@gdot{x1 y1 \tx@ST}}
\@namedef{psds@triangle}{%
/y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
/y2 y1 CLW add def /x2 y2 1.732 mul neg def
\pst@gdot{x1 y1 \tx@ST \pst@usecolor\psfillcolor x2 y2 \tx@ST}}
\@namedef{psds@pentagon*}{%
/r1 DS 1.149 mul def
\pst@gdot{r1 \tx@SP}}
\@namedef{psds@pentagon}{%
DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
\pst@gdot{r1 \tx@SP \pst@usecolor\psfillcolor r2 \tx@SP}}
\@namedef{psds@+}{%
/DS DS 1.253 mul def
\pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
\@namedef{psds@|}{%
\psk@tbarsize CLW mul add 2 div /DS ED
\pst@gdot{0 DS moveto 0 DS neg L stroke}}
% DG: end dead code?
\def\psset@dotstyle#1{%
\@ifundefined{psds@#1}%
{\@pstrickserr{Dot style `#1' not defined}\@eha}%
{\edef\psk@dotstyle{#1}}}
\psset@dotstyle{*}
\def\tx@FontDot{FontDot }
\def\newpsfontdot#1[#2]#3#4{%
\@namedef{psds@#1}{%
/#3 \psk@@dotangle [#2] \tx@FontDot
/Dot { moveto #4 show } bind def }}
\def\newpsfontdotH#1[#2]#3#4#5{%
\@namedef{psds@#1}{%
/#3 \psk@@dotangle [#2] \tx@FontDot
/Dot {
moveto
\iftrue
gsave \pst@usecolor\psfillcolor #5 show grestore
\fi
#4 show
} bind def }}
\pstheader{pst-dots.pro}
\newpsfontdot{*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
\newpsfontdotH{o}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
\newpsfontdotH{Bo}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
\newpsfontdotH{triangle}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
\newpsfontdotH{Btriangle}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
\newpsfontdot{triangle*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
\newpsfontdotH{square}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
\newpsfontdotH{Bsquare}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
\newpsfontdot{square*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
\newpsfontdotH{pentagon}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
\newpsfontdotH{Bpentagon}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
\newpsfontdot{pentagon*}%
[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
% DG/SR modification begin - Mar. 18, 1997
%\newpsfontdot{diamond*}%
%[1.9 0.0 0.0 1.9 -0.4598 -0.70775]{Symbol}{<E0>}
%\newpsfontdot{diamond}%
%[2.3 0.0 0.0 2.3 -0.8533 -0.5336]{Symbol}{<A8>}
\newpsfontdot{diamond}%
[1.9 0.0 0.0 1.9 -0.4598 -0.70775]{Symbol}{<E0>}
\newpsfontdot{diamond*}%
[2.3 0.0 0.0 2.3 -0.8533 -0.5336]{Symbol}{<A8>}
% DG/SR modification end
\newpsfontdot{oplus}%
[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{Symbol}{<C5>}
\newpsfontdot{otimes}%
[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{Symbol}{<C4>}
\newpsfontdot{x}%
[1.8 0.0 0.0 1.8 -0.495 -0.4788]{Symbol}{<B4>}
\newpsfontdot{+}%
[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{Times-Roman}{<2B>}
\newpsfontdot{asterisk}%
[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{Times-Roman}{<2A>}
\newpsfontdot{B+}%
[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{Times-Bold}{<2B>}
\newpsfontdot{Basterisk}%
[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{Times-Bold}{<2A>}
\newpsfontdot{|}%
% DG/SR modification begin - Oct. 27, 1997 - Patch 7
%[1.98413 0.0 0.0 1.98413 -0.258929 -0.712302]{Helvetica}{(|)}
[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{Helvetica}{(|)}
% DG/SR modification end
\newpsfontdot{B|}%
% DG/SR modification begin - Oct. 27, 1997 - Patch 7
%[1.98413 0.0 0.0 1.98413 -0.277778 -0.78302]{Helvetica-Bold}{(|)}
[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{Helvetica-Bold}{(|)}
% DG/SR modification end
\iffalse
\newpsfontdot{*}%
[2.77778 0.0 0.0 2.77778 -0.638889 -0.813889]{Symbol}{<B7>}
\newpsfontdot{o}%
[3.33333 0.0 0.0 3.33333 -0.666667 -1.78167]{Symbol}{<B0>}
\newpsfontdot{Bo}%
[4.69484 0.0 0.0 4.69484 -0.78169 -2.97418]{Times-Bold}{<CA>}
\fi
\newdimen\pslinearc
\def\psset@linearc#1{\pssetlength\pslinearc{#1}}
\psset@linearc{0pt}
\def\psline{\pst@object{psline}}
\def\psline@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psline@ii}}
\def\psline@ii{%
\addto@pscode{\pst@cp \psline@iii \tx@Line}%
\end@OpenObj}
\def\psline@iii{%
\ifdim\pslinearc>\z@
/r \pst@number\pslinearc def
/Lineto { \tx@Arcto } def
\else
/Lineto /lineto load def
\fi
\ifshowpoints true \else false \fi}
\def\qline(#1)(#2){%
\def\pst@par{}%
\begin@SpecialObj
\def\pst@linetype{0}%
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{%
\pst@tempa moveto \pst@coor L
\@nameuse{psls@\pslinestyle}}%
\end@SpecialObj}
\def\pspolygon{\pst@object{pspolygon}}
\def\pspolygon@i{%
\begin@ClosedObj
\def\pst@cp{}%
\pst@getcoors[\pspolygon@ii}
\def\pspolygon@ii{%
\addto@pscode{\psline@iii \tx@Polygon}%
\def\pst@linetype{1}%
\end@ClosedObj}
\def\psset@framearc#1{\pst@checknum{#1}\psk@framearc}
\psset@framearc{0}
\def\psset@cornersize#1{%
\pst@expandafter\psset@@cornersize{#1}\@nil}
\def\psset@@cornersize#1#2\@nil{%
\if #1a\relax
\def\psk@cornersize{\pst@number\pslinearc false }%
\else
\def\psk@cornersize{\psk@framearc true }%
\fi}
\psset@cornersize{relative}
\def\tx@Rect{Rect }
\def\tx@OvalFrame{OvalFrame }
\def\tx@Frame{Frame }
\def\psset@dimen#1{%
\pst@expandafter\psset@@dimen{#1}\@nil}
\def\psset@@dimen#1#2\@nil{%
\if #1o\relax
\def\psk@dimen{.5 }%
\else
\if #1m\relax
\def\psk@dimen{0 }%
\else
\if #1i\relax
\def\psk@dimen{-.5 }%
\fi
\fi
\fi}
\psset@dimen{outer}
\def\psframe{\pst@object{psframe}}
\def\psframe@i(#1){%
\@ifnextchar({\psframe@ii(#1)}{\psframe@ii(0,0)(#1)}}
\def\psframe@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{\psk@cornersize \pst@tempa \pst@coor \psk@dimen \tx@Frame}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj}
\def\tx@BezierNArray{BezierNArray }
\def\tx@OpenBezier{OpenBezier }
\def\tx@ClosedBezier{ClosedBezier }
\def\tx@BezierShowPoints{BezierShowPoints }
\def\psbezier{\pst@object{psbezier}}
\def\psbezier@i{%
\pst@getarrows{%
\begin@OpenObj
\pst@getcoors[\psbezier@ii}}
\def\psbezier@ii{%
\addto@pscode{%
% DG/SR modification begin - Apr. 28, 1997 - Patch 1
% \psbezier doesn't work inside \pscustom
%\pst@cp
% DG/SR modification end
\ifshowpoints true \else false \fi
\tx@OpenBezier
\ifshowpoints \tx@BezierShowPoints \fi}%
\end@OpenObj}
\def\pscbezier{\pst@object{pscbezier}}
\def\pscbezier@i{%
\begin@ClosedObj
\pst@getcoors[\pscbezier@ii}
\def\pscbezier@ii{%
\addto@pscode{%
\ifshowpoints true \else false \fi
\tx@ClosedBezier
\ifshowpoints \tx@BezierShowPoints \fi}%
\chardef\pst@linetype=1
\end@ClosedObj}
\def\tx@Parab{Parab }
\def\parabola{\pst@object{parabola}}
\def\parabola@i{\pst@getarrows\parabola@ii}
\def\parabola@ii#1(#2)#3(#4){%
\begin@OpenObj
\pst@getcoor{#2}\pst@tempa
\pst@@getcoor{#4}%
\addto@pscode{\pst@tempa \pst@coor \tx@Parab}%
\end@OpenObj}
\def\psset@gridwidth#1{\pst@getlength{#1}\psk@gridwidth}
\psset@gridwidth{.8pt}
\def\psset@griddots#1{%
\pst@cntg=#1\relax
\edef\psk@griddots{\the\pst@cntg}}
\psset@griddots{0}
\def\psset@gridcolor#1{\pst@getcolor{#1}\psgridcolor}
\psset@gridcolor{black}
\def\psset@subgridwidth#1{\pst@getlength{#1}\psk@subgridwidth}
\psset@subgridwidth{.4pt}
\def\psset@subgridcolor#1{\pst@getcolor{#1}\pssubgridcolor}
\psset@subgridcolor{gray}
\def\psset@subgriddots#1{%
\pst@cntg=#1\relax\edef\psk@subgriddots{\the\pst@cntg}}
\psset@subgriddots{0}
\def\psset@subgriddiv#1{%
\pst@cntg=#1\relax\edef\psk@subgriddiv{\the\pst@cntg}}
\psset@subgriddiv{5}
\def\psset@gridlabels#1{\pst@getlength{#1}\psk@gridlabels}
\psset@gridlabels{10pt}
\def\psset@gridlabelcolor#1{\pst@getcolor{#1}\psgridlabelcolor}
\psset@gridlabelcolor{black}
\def\tx@Grid{Grid }
\def\psgrid{\pst@object{psgrid}}
\def\psgrid@i{\@ifnextchar(%
{\psgrid@ii}{\expandafter\psgrid@iv\pic@coor}}
\def\psgrid@ii(#1){\@ifnextchar(%
{\psgrid@iii(#1)}{\psgrid@iv(0,0)(0,0)(#1)}}
\def\psgrid@iii(#1)(#2){\@ifnextchar(%
{\psgrid@iv(#1)(#2)}{\psgrid@iv(#1)(#1)(#2)}}
\def\psgrid@iv(#1)(#2)(#3){%
\begin@SpecialObj
\pst@getcoor{#1}\pst@tempa
\pst@getcoor{#2}\pst@tempb
\pst@@getcoor{#3}%
\ifnum\psk@subgriddiv>1
\addto@pscode{gsave
\psk@subgridwidth SLW \pst@usecolor\pssubgridcolor
\pst@tempb \pst@coor \pst@tempa
\pst@number\psxunit \pst@number\psyunit
\psk@subgriddiv\space \psk@subgriddots\space
{} 0 \tx@Grid grestore}%
\fi
\addto@pscode{gsave
\psk@gridwidth SLW \pst@usecolor\psgridcolor
\pst@tempb \pst@coor \pst@tempa
\pst@number\psxunit \pst@number\psyunit
1 \psk@griddots\space { \pst@usecolor\psgridlabelcolor }
\psk@gridlabels \tx@Grid grestore}%
\end@SpecialObj}
\newif\ifpsmathbox
\psmathboxtrue
\def\pst@mathflag{\z@}
\newtoks\everypsbox
\let\pst@thisbox\relax
\long\def\pst@makenotverbbox#1#2{%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\setbox\pst@hbox=\hbox{%
\ifcase\pst@mathflag\or$\m@th\textstyle\or$\m@th\displaystyle\fi
{\pst@thisbox\the\everypsbox#2}%
\ifnum\pst@mathflag>\z@$\fi}%
#1}
\def\pst@makeverbbox#1{%
\def\pst@afterbox{#1}%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\afterassignment\pst@beginbox
\setbox\pst@hbox\hbox}
\def\pst@beginbox{%
\ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi
\bgroup\aftergroup\pst@endbox
\pst@thisbox
\the\everypsbox}
\def\pst@endbox{%
\ifnum\pst@mathflag>\z@$\fi
\egroup
\pst@afterbox}
\def\pst@makebox{\pst@@makebox}
\def\psverbboxtrue{\def\pst@@makebox{\pst@makeverbbox}}
\def\psverbboxfalse{\def\pst@@makebox{\pst@makenotverbbox}}
\psverbboxfalse
\def\pst@longbox{%
\def\pst@makebox{%
\gdef\pst@makebox{\pst@@makebox}%
\pst@makelongbox}}
\def\pst@makelongbox#1{%
\def\pst@afterbox{#1}%
\edef\pst@mathflag{%
\ifpsmathbox\ifmmode\ifinner 1\else 2\fi\else \z@\fi\else \z@\fi}%
\setbox\pst@hbox\hbox\bgroup
\aftergroup\pst@afterbox
\ifcase\pst@mathflag\or$\m@th\or$\m@th\displaystyle\fi
\begingroup
\pst@thisbox
\the\everypsbox}
\def\pst@endlongbox{%
\endgroup
\ifnum\pst@mathflag>\z@$\fi
\egroup}
\def\pslongbox#1#2{%
\@namedef{#1}{\pst@longbox#2}%
\@namedef{end#1}{\pst@endlongbox}}
\newdimen\psframesep
\def\psset@framesep#1{\pssetlength\psframesep{#1}}
\psset@framesep{3pt}
\newif\ifpsboxsep
\def\psset@boxsep#1{\@nameuse{psboxsep#1}}
\psset@boxsep{true}
\def\pst@useboxpar{%
\use@par
\if@star
\let\pslinecolor\psfillcolor
\solid@star
\let\solid@star\relax
\fi
\ifpsdoubleline \pst@setdoublesep \fi}
\def\psframebox{\pst@object{psframebox}}
\def\psframebox@i{\pst@makebox\psframebox@ii}
\def\psframebox@ii{%
\begingroup
\pst@useboxpar
\pst@dima=\pslinewidth
\advance\pst@dima by \psframesep
\pst@dimc=\wd\pst@hbox\advance\pst@dimc by \pst@dima
\pst@dimb=\dp\pst@hbox\advance\pst@dimb by \pst@dima
\pst@dimd=\ht\pst@hbox\advance\pst@dimd by \pst@dima
\setbox\pst@hbox=\hbox{%
\ifpsboxsep\kern\pst@dima\fi
\begin@ClosedObj
\addto@pscode{%
\psk@cornersize
\pst@number\pst@dima neg
\pst@number\pst@dimb neg
\pst@number\pst@dimc
\pst@number\pst@dimd
.5
\tx@Frame}%
\def\pst@linetype{2}%
\showpointsfalse
\end@ClosedObj
\box\pst@hbox
\ifpsboxsep\kern\pst@dima\fi}%
\ifpsboxsep\dp\pst@hbox=\pst@dimb\ht\pst@hbox=\pst@dimd\fi
\leavevmode\box\pst@hbox
\endgroup}
\def\psdblframebox{\pst@object{psdblframebox}}
\def\psdblframebox@i{\addto@par{doubleline=true}\psframebox@i}
\def\psclip#1{%
\leavevmode
\begingroup
\begin@psclip
\begingroup
\def\use@pscode{%
\pstVerb{%
\pst@dict
/mtrxc CM def
CP CP T
\tx@STV
\psk@origin
\psk@swapaxes
newpath
\pst@code
clip
newpath
mtrxc setmatrix
moveto
0 setgray
end}%
\gdef\pst@code{}}%
\def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
\def\nc@object##1##2##3##4{\pst@misplaced{node connection}}%
\hbox to\z@{#1}%
\endgroup
\def\endpsclip{%
\end@psclip
\endgroup}%
\ignorespaces}
\def\endpsclip{\pst@misplaced\endpsclip}
\let\begin@psclip\relax
\def\end@psclip{\pstVerb{currentpoint initclip moveto}}
\def\AltClipMode{%
\def\end@psclip{\pstVerb{\pst@grestore}}%
\def\begin@psclip{\pstVerb{gsave}}}
\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}}
% DG modification begin - Apr. 3, 1997
% From paulus@immd5.informatik.uni-erlangen.de (Dietrich Paulus)
%\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}}
\def\clipbox@[#1]{\pst@makebox{\clipbox@@{#1}}}
% DG modification end
\def\clipbox@@#1{%
\pssetlength\pst@dimg{#1}%
\leavevmode\hbox{%
\begin@psclip
\pst@Verb{%
CM \tx@STV CP T newpath
/a \pst@number\pst@dimg def
/w \pst@number{\wd\pst@hbox}a add def
/d \pst@number{\dp\pst@hbox}a add neg def
/h \pst@number{\ht\pst@hbox}a add def
a neg d moveto
a neg h L
w h L
w d L
closepath
clip
newpath
0 0 moveto
setmatrix}%
\unhbox\pst@hbox
\end@psclip}}
\def\psshadowbox{\pst@object{psshadowbox}}
\def\psshadowbox@i{\pst@makebox\psshadowbox@ii}
\def\psshadowbox@ii{%
\begingroup
\pst@useboxpar
\psshadowtrue
\psboxseptrue
\def\psk@shadowangle{-45 }%
\setbox\pst@hbox=\hbox{\psframebox@ii}%
\pst@dimh=\psk@shadowsize\p@
\pst@dimh=.7071\pst@dimh
\pst@dimg=\dp\pst@hbox
\advance\pst@dimg\pst@dimh
\dp\pst@hbox=\pst@dimg
\pst@dimg=\wd\pst@hbox
\advance\pst@dimg\pst@dimh
\wd\pst@hbox=\pst@dimg
\leavevmode
\box\pst@hbox
\endgroup}
\def\pscirclebox{\pst@object{pscirclebox}}
\def\pscirclebox@i{\pst@makebox\pscirclebox@ii}
\def\pscirclebox@ii{%
\begingroup
\pst@useboxpar
\setbox\pst@hbox=\hbox{%
\pst@nodehook
\pscirclebox@iii
\box\pst@hbox}%
\ifpsboxsep \pscirclebox@sep \fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\pscirclebox@iii{%
\if@star
\pslinewidth\z@
\pstverb{\pst@dict \tx@STP \pst@usecolor\psfillcolor
newpath \pscirclebox@iv \tx@SD end}%
\else
\begin@ClosedObj
\def\pst@linetype{4}\showpointsfalse
\addto@pscode{%
\pscirclebox@iv CLW 2 div add 0 360 arc closepath}%
\end@ClosedObj
\fi}
\def\pscirclebox@iv{%
\pst@number{\wd\pst@hbox}2 div
\pst@number{\ht\pst@hbox}\pst@number{\dp\pst@hbox}add 2 div
2 copy \pst@number{\dp\pst@hbox}sub 4 2 roll
\tx@Pyth \pst@number\psframesep add }
\def\pscirclebox@sep{%
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\dp\pst@hbox
\divide\pst@dimb 2
\pst@dima=.5\wd\pst@hbox
\pst@pyth\pst@dima\pst@dimb\pst@dimc
\advance\pst@dimc\pslinewidth
\advance\pst@dimc\psframesep
\advance\pst@dimb-\pst@dimc
\setbox\pst@hbox=\hbox to2\pst@dimc{%
\hss
\vbox{\kern-\pst@dimb\box\pst@hbox}%
\hss}%
\advance\pst@dimb-\dp\pst@hbox
\dp\pst@hbox=-\pst@dimb}
\let\pst@nodehook\relax
\def\psCirclebox{\pst@object{psCirclebox}}
\def\psCirclebox@i{\pst@makebox\psCirclebox@ii}
\def\psCirclebox@ii{%
\begingroup
\pst@useboxpar
\pst@dima=\ht\pst@hbox
\advance\pst@dima\dp\pst@hbox
\divide\pst@dima\tw@
\pssetlength\pst@dimb\psk@radius
\setbox\pst@hbox=\hbox{%
\pst@nodehook
\pscircle(.5\wd\pst@hbox,\pst@dima){\pst@dimb}%
\box\pst@hbox}%
\ifpsboxsep \psCirclebox@sep \fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psCirclebox@sep{%
\pst@dimc=\pst@dimb
\advance\pst@dimb-\pst@dima
\advance\pst@dima\pst@dimc
\setbox\pst@hbox=\hbox to\tw@\pst@dimc{%
\hss
\vrule width \z@ depth \pst@dimb height \pst@dima
\box\pst@hbox
\hss}}%
\def\psovalbox{\pst@object{psovalbox}}
\def\psovalbox@i{\pst@makebox{\psovalbox@ii}}
\def\psovalbox@ii{%
\begingroup
\pst@useboxpar
\psovalbox@iii
\ifpsboxsep\psovalbox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psovalbox@iii{%
\psovalbox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
0 360
\pst@number\pst@dimc CLW 2 div sub
\pst@number\pst@dimd CLW 2 div sub
\pst@number\pst@dima
\pst@number\pst@dimb
\tx@Ellipse
closepath}%
\def\pst@linetype{2}%
\end@ClosedObj
\unhbox\pst@hbox}}
\def\psovalbox@iv{%
\pst@dimc=\pslinewidth\advance\pst@dimc\psframesep
\pst@dimd=\ht\pst@hbox\advance\pst@dimd\dp\pst@hbox
\pst@dima=.5\wd\pst@hbox
\pst@dimb=.5\pst@dimd\advance\pst@dimb-\dp\pst@hbox
\pst@dimd=.707\pst@dimd
\advance\pst@dimd\pst@dimc
\advance\pst@dimc.707\wd\pst@hbox}
\def\psovalbox@sep{%
\setbox\pst@hbox\hbox to 2\pst@dimc{\hss\unhbox\pst@hbox\hss}%
\pst@dimg=\pst@dimd
\advance\pst@dimg-\pst@dimb
\dp\pst@hbox=\pst@dimg
\advance\pst@dimd\pst@dimb
\ht\pst@hbox=\pst@dimd}
\def\psdiabox{\pst@object{psdiabox}}
\def\psdiabox@i{\pst@makebox{\psdiabox@ii}}
\def\psdiabox@ii{%
\begingroup
\pst@useboxpar
\psdiabox@iii
\ifpsboxsep\psdiabox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\psdiabox@iv{%
\pst@dimg=.707\pslinewidth
\advance\pst@dimg.707\psframesep
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\pst@dimc=\pst@dima
\advance\pst@dimc\pst@dimg
\pst@dimd=\ht\pst@hbox
\advance\pst@dimd\dp\pst@hbox
\divide\pst@dimd 2
\pst@dimb=\pst@dimd
\advance\pst@dimb-\dp\pst@hbox
\advance\pst@dimd\pst@dimg}
\def\psdiabox@iii{%
\psdiabox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
\psline@iii
pop
.5
\pst@number\pst@dimc 2 mul \pst@number\pst@dimd 2 mul
0
\pst@number\pst@dima \pst@number\pst@dimb
\tx@Diamond}%
\def\pst@linetype{4}%
\end@ClosedObj
\box\pst@hbox}}
\def\psdiabox@sep{%
\setbox\pst@hbox\hbox to 4\pst@dimc{\hss\unhbox\pst@hbox\hss}%
\multiply\pst@dimd 2
\advance\pst@dimd\pst@dimb
\ht\pst@hbox\pst@dimd
\advance\pst@dimd-2\pst@dimb
\dp\pst@hbox\pst@dimd}
\def\psset@trimode#1{\pst@expandafter\psset@@trimode{#1}\@empty\@empty\@nil}
\def\psset@@trimode#1#2#3\@nil{%
\let\pst@tempg#1\relax
\ifx\pst@tempg*%
\let\psk@@trimode\@empty
\let\pst@tempg#2\relax
\else
\let\psk@@trimode\relax
\fi
\edef\psk@trimode{%
\ifx R\pst@tempg 1 \else\ifx D\pst@tempg 2
\else\ifx L\pst@tempg 3 \else 0 \fi\fi\fi}}
\psset@trimode{U}
\def\pstribox{\pst@object{pstribox}}
\def\pstribox@i{\pst@makebox{\pstribox@ii}}
\def\pstribox@ii{%
\begingroup
\pst@useboxpar
\pstribox@iii
\ifpsboxsep\pstribox@sep\fi
\leavevmode
\box\pst@hbox
\endgroup}
\def\pstribox@iii{%
\pstribox@iv
\setbox\pst@hbox=\hbox{%
\begin@ClosedObj
\addto@pscode{%
\psline@iii
pop
.5
\pst@number\pst@dimc \pst@number\pst@dimd
\ifodd\psk@trimode exch \fi
\psk@trimode -90 mul
\pst@number\pst@dima \pst@number\pst@dimb
\tx@Triangle}%
\def\pst@linetype{2}%
\end@ClosedObj
\box\pst@hbox}}
\def\pstribox@iv{%
\pst@dimh=\pslinewidth
\advance\pst@dimh\psframesep
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg-\dp\pst@hbox
\divide\pst@dimg 2
\edef\pst@tempa{\number\pst@dimg sp}% For use by nodes.
\ifodd\psk@trimode
\pst@dimb\pst@dimg
\else
\pst@dima=\wd\pst@hbox
\divide\pst@dima 2
\fi
\ifcase\psk@trimode
\pst@dimb=-\dp\pst@hbox
\advance\pst@dimb-\pst@dimh
\or
\pst@dima=-\pst@dimh
\or
\pst@dimb=\ht\pst@hbox
\advance\pst@dimb\pst@dimh
\or
\pst@dima=\wd\pst@hbox
\advance\pst@dima\pst@dimh
\fi
\pst@dimd=\dp\pst@hbox
\advance\pst@dimd\ht\pst@hbox
\ifx\psk@@trimode\relax
\pst@dimc=\wd\pst@hbox
\advance\pst@dimc\ifodd\psk@trimode 1.447\else 1.789\fi\pst@dimh
\multiply\pst@dimc 2
\advance\pst@dimd\ifodd\psk@trimode 1.789\else 1.447\fi\pst@dimh
\multiply\pst@dimd 2
\else
\ifodd\psk@trimode
\advance\pst@dimd 1.1547\wd\pst@hbox
\advance\pst@dimd 3.4641\pst@dimh
\pst@dimc=.866\pst@dimd
\else
\advance\pst@dimd .866\wd\pst@hbox %.866=(sqrt(3)/2)
\advance\pst@dimd 3\pst@dimh
\pst@dimc=1.1547\pst@dimd % 1.1547=(2/sqrt(3))
\fi
\fi}
\def\pstribox@sep{%
\ifodd\psk@trimode
\advance\pst@dimb.5\pst@dimd
\ht\pst@hbox=\pst@dimb
\advance\pst@dimd-\pst@dimb
\dp\pst@hbox=\pst@dimd
\else
\setbox\pst@hbox\hbox to \pst@dimc{\hss\unhbox\pst@hbox\hss}%
\global\pst@dimg=.5\pst@dimc
\fi
\ifcase\psk@trimode
\dp\pst@hbox-\pst@dimb
\advance\pst@dimd\pst@dimb
\ht\pst@hbox\pst@dimd
\or
\pst@dimg=.5\wd\pst@hbox
\global\advance\pst@dimg-\pst@dima
\setbox\pst@hbox\hbox to \pst@dimc{\kern-\pst@dima\box\pst@hbox\hss}%
\or
\ht\pst@hbox\pst@dimb
\advance\pst@dimd-\pst@dimb
\dp\pst@hbox\pst@dimd
\or
\pst@dimg=\pst@dimc
\advance\pst@dimg-\pst@dima
\global\advance\pst@dimg.5\wd\pst@hbox
\setbox\pst@hbox\hbox to \pst@dimc{%
\hss\box\pst@hbox\kern\psframesep\kern\pslinewidth}%
\fi}
\def\psset@arcsepA#1{\pst@getlength{#1}\psk@arcsepA}
\def\psset@arcsepB#1{\pst@getlength{#1}\psk@arcsepB}
\def\psset@arcsep#1{%
\psset@arcsepA{#1}\let\psk@arcsepB\psk@arcsepA}
\psset@arcsep{0}
\def\tx@ArcArrow{ArcArrow }
\def\psarc{\pst@object{psarc}}
\def\psarc@i{%
\@ifnextchar({\psarc@iii}{\psarc@ii}}
\def\psarc@ii#1{\addto@par{arrows=#1}%
\@ifnextchar({\psarc@iii}{\psarc@iii(0,0)}}
\def\psarc@iii(#1)#2#3#4{%
\begin@OpenObj
\pst@getangle{#3}\pst@tempa
\pst@getangle{#4}\pst@tempb
\pst@@getcoor{#1}%
\pssetlength\pst@dima{#2}%
\addto@pscode{\psarc@iv \psarc@v}%
\gdef\psarc@type{0}%
\showpointsfalse
\end@OpenObj}
\def\psarc@iv{%
\pst@coor /y ED /x ED
/r \pst@number\pst@dima def
/c 57.2957 r \tx@Div def
/angleA
\pst@tempa
\psk@arcsepA c mul 2 div
\ifcase \psarc@type add \or sub \fi
def
/angleB
\pst@tempb
\psk@arcsepB c mul 2 div
\ifcase \psarc@type sub \or add \fi
def
\ifshowpoints\psarc@showpoints\fi
\ifx\psk@arrowA\@empty
\ifnum\psk@liftpen=2
r angleA \tx@PtoC
y add exch x add exch
moveto
\fi
\fi}
\def\psarc@v{%
x y r
angleA
\ifx\psk@arrowA\@empty\else
{ ArrowA CP }
{ \ifcase\psarc@type add \or sub \fi }
\tx@ArcArrow
\fi
angleB
\ifx\psk@arrowB\@empty\else
{ ArrowB }
{ \ifcase\psarc@type sub \or add \fi }
\tx@ArcArrow
\fi
\ifcase\psarc@type arc \or arcn \fi}
\def\psarc@type{0}
\def\psarc@showpoints{%
gsave
newpath
x y moveto
x y r \pst@tempa \pst@tempb
\ifcase\psarc@type arc \or arcn \fi
closepath
CLW 2 div SLW
[ \psk@dash\space ] 0 setdash stroke
grestore }
\def\psarcn{\pst@object{psarcn}}
\def\psarcn@i{\def\psarc@type{1}\psarc@i}
\def\pscircle{\pst@object{pscircle}}
\def\pscircle@i{\@ifnextchar({\pscircle@do}{\pscircle@do(0,0)}}
\def\pscircle@do(#1)#2{%
\if@star
{\use@par\qdisk(#1){#2}}%
\else
\begin@ClosedObj
\pst@@getcoor{#1}%
\pssetlength\pst@dimc{#2}%
\def\pst@linetype{4}%
\addto@pscode{%
\pst@coor
\pst@number\pst@dimc
\psk@dimen CLW mul sub
0 360 arc
closepath}%
\showpointsfalse
\end@ClosedObj
\fi
\ignorespaces}
\def\qdisk(#1)#2{%
\def\pst@par{}%
\begin@SpecialObj
\pst@@getcoor{#1}%
\pssetlength\pst@dimg{#2}%
\addto@pscode{\pst@coor \pst@number\pst@dimg \tx@SD}%
\end@SpecialObj}
\def\psset@radius#1{\pst@@getlength{#1}\psk@radius}
\psset@radius{.25cm}
\def\psCircle{\pst@object{psCircle}}
\def\psCircle@i{\@ifnextchar({\psCircle@ii}{\psCircle@ii(0,0)}}
\def\psCircle@ii(#1){\pscircle@do(#1){\psk@radius}}
\def\pswedge{\pst@object{pswedge}}
\def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}}
\def\pswedge@ii(#1)#2#3#4{%
\begin@ClosedObj
\pssetlength\pst@dimc{#2}
\pst@getangle{#3}\pst@tempa
\pst@getangle{#4}\pst@tempb
\pst@@getcoor{#1}%
\def\pst@linetype{1}%
\addto@pscode{%
\pst@coor
2 copy
moveto
\pst@number\pst@dimc \psk@dimen CLW mul sub % Adjusted radius
\pst@tempa \pst@tempb
arc
closepath}%
\showpointsfalse
\end@ClosedObj}
\def\tx@Ellipse{Ellipse }
\def\psellipse{\pst@object{psellipse}}
\def\psellipse@i(#1){\@ifnextchar(%
{\psellipse@ii(#1)}{\psellipse@ii(0,0)(#1)}}
\def\psellipse@ii(#1)(#2){%
\begin@ClosedObj
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\addto@pscode{%
0 360
\pst@coor
\ifdim\psk@dimen\p@=\z@\else
\psk@dimen CLW mul
dup 4 -1 roll sub neg 3 1 roll sub
\fi
\pst@tempa
\tx@Ellipse
closepath}%
\def\pst@linetype{2}%
\end@ClosedObj}
\def\multips{\@ifnextchar({\def\pst@par{}\multips@ii}{\multips@i}}
\def\multips@i#1{\def\pst@par{rot=#1}\multips@ii}
\def\multips@ii(#1){\@ifnextchar({\multips@iii(#1)}{\multips@iii(\z@,\z@)(#1)}}
\long\def\multips@iii(#1)(#2)#3#4{%
\begingroup
\use@par
\pst@getcoor{#1}\pst@tempa
\pst@@getcoor{#2}%
\pst@cnta=#3\relax
\init@pscode
\addto@pscode{%
\pst@tempa T \the\pst@cnta\space \pslbrace
gsave \ifx\psk@rot\@empty\else\psk@rot rotate \fi}%
\hbox to\z@{%
\def\init@pscode{%
\addto@pscode{%
gsave
\pst@number\pslinewidth SLW
\pst@usecolor\pslinecolor}}%
\def\use@pscode{\addto@pscode{grestore}}%
\def\psclip##1{\pst@misplaced\psclip}%
\def\nc@object##1##2##3##4{\pst@misplaced{node connection}}%
#4}%
\addto@pscode{grestore \pst@coor T \psrbrace repeat}%
\leavevmode
\use@pscode
\endgroup
\ignorespaces}
\def\scalebox#1{\pst@makebox{\@scalebox{#1}}}
\def\@scalebox#1{%
\begingroup
\pst@getscale{#1}\pst@tempa
\let\pst@tempc\pst@tempg
\let\pst@tempd\pst@temph
\@@scalebox
\endgroup}
\def\@@scalebox{%
\leavevmode
\hbox{%
\ifdim\pst@tempd\p@<\z@
\pst@dimg=\pst@tempd\ht\pst@hbox
\pst@dimh=\pst@tempd\dp\pst@hbox
\dp\pst@hbox=-\pst@dimg
\ht\pst@hbox=-\pst@dimh
\else
\ht\pst@hbox=\pst@tempd\ht\pst@hbox
\dp\pst@hbox=\pst@tempd\dp\pst@hbox
\fi
\pst@dima=\pst@tempc\wd\pst@hbox
\ifdim\pst@dima<\z@\kern-\pst@dima\fi
\pst@Verb{CP CP translate \pst@tempa \tx@NET}%
\hbox to \z@{\box\pst@hbox\hss}%
\pst@Verb{%
CP CP translate
1 \pst@tempc div 1 \pst@tempd div scale
\tx@NET}%
\ifdim\pst@dima>\z@\kern\pst@dima\fi}}
\pslongbox{Scalebox}{\scalebox}
\def\scaleboxto(#1,#2){\pst@makebox{\@scaleboxto(#1,#2)}}
\def\@scaleboxto(#1,#2){%
\begingroup
\pssetlength\pst@dima{#1}%
\pssetlength\pst@dimb{#2}%
\ifdim\pst@dima=\z@\else
\pst@divide{\pst@dima}{\wd\pst@hbox}\pst@tempc
\edef\pst@tempc{\pst@tempc\space}%
\fi
\ifdim\pst@dimb=\z@
\ifdim\pst@dima=\z@
\@pstrickserr{%
\string\scaleboxto\space dimensions cannot both be zero}\@ehpa
\def\pst@tempa{}%
\def\pst@tempc{1 }%
\def\pst@tempd{1 }%
\else
\let\pst@tempd\pst@tempc
\fi
\else
\pst@dimc=\ht\pst@hbox
\advance\pst@dimc\dp\pst@hbox
\pst@divide{\pst@dimb}{\pst@dimc}\pst@tempd
\edef\pst@tempd{\pst@tempd\space}%
\ifdim\pst@dima=\z@ \let\pst@tempc\pst@tempd \fi
\fi
\edef\pst@tempa{\pst@tempc \pst@tempd scale }%
\@@scalebox
\endgroup}
\pslongbox{Scaleboxto}{\scaleboxto}
\def\tx@Rot{Rot }
\def\rotateleft{\pst@makebox{\@rotateleft\pst@hbox}}
\def\@rotateleft#1{%
\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
\pst@Verb{90 \tx@Rot}
\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
\pst@Verb{-90 \tx@Rot}}}}
\def\rotateright{\pst@makebox{\@rotateright\pst@hbox}}
\def\@rotateright#1{%
\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
\pst@Verb{-90 \tx@Rot}
\vbox to \z@{\hbox to \z@{\hss\box#1}\vss}%
\pst@Verb{90 \tx@Rot}}}}
\def\rotatedown{\pst@makebox{\@rotatedown\pst@hbox}}
\def\@rotatedown#1{%
\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1%
\pst@Verb{180 \tx@Rot}%
\vbox to \z@{\hbox to \z@{\box#1\hss}\vss}%
\pst@Verb{-180 \tx@Rot}}}}
\pslongbox{Rotateleft}{\rotateleft}
\pslongbox{Rotateright}{\rotateright}
\pslongbox{Rotatedown}{\rotatedown}
\def\pst@starbox{%
\setbox\pst@hbox\hbox{\psframebox*[boxsep=false]{\unhbox\pst@hbox}}}
\def\pst@@makesmall#1{%
\setbox#1=\hbox to\z@{\hss\vbox to \z@{\vss\box#1\vss}\hss}}
\def\pst@@@makesmall#1{%
\pst@dimh=\psk@xref\wd#1%
\ifx\psk@yref\relax
\pst@dimg=\dp#1%
\else
\pst@dimg=\psk@yref\ht#1%
\advance\pst@dimg\psk@yref\dp#1%
\fi
\setbox#1=\hbox to\z@{%
\kern-\pst@dimh\vbox to\z@{\vss\box#1\kern-\pst@dimg}\hss}}
\def\psset@ref#1{\pst@expandafter\psset@@ref{#1}\@empty,,\@nil}
\def\psset@@ref#1#2,#3,#4\@nil{%
\def\psk@xref{.5}%
\def\psk@yref{.5}%
\let\pst@makesmall\pst@@@makesmall
\ifx\@empty#3\@empty
\@nameuse{getref@#1}%
\@nameuse{getref@#2}%
\else
\pst@checknum{#1#2}\psk@xref
\pst@checknum{#3}\psk@yref
\fi}
\def\getref@c{\let\pst@makesmall\pst@@makesmall}
\def\getref@t{\def\psk@yref{1}}
\def\getref@b{\def\psk@yref{0}}
\def\getref@B{\let\psk@yref\relax}
\def\getref@l{\def\psk@xref{0}}
\def\getref@r{\def\psk@xref{1}}
\psset@ref{c}
\def\psset@rot#1{%
\pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil}
\def\psset@@rot#1\@nil{%
\def\next##1@#1=##2@##3\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@rot
\else
\def\psk@rot{##2}%
\fi}%
\expandafter\next\pst@rottable @#1=\relax @\@nil}
\def\psset@@@rot#1#2\@nil{%
\psset@@rot#2\@nil
\edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}}
\def\pst@rotlist{mark RAngle /a ED cleartomark a neg }
\def\pst@rottable{%
@0=%
@U=%
@L=90 %
@D=180 %
@R=-90 %
@N=\pst@rotlist
@W=\pst@rotlist 90 add %
@S=\pst@rotlist 180 add %
@E=\pst@rotlist 90 sub }
\psset@rot{0}
\def\tx@RotBegin{RotBegin }
\def\tx@RotEnd{RotEnd }
\def\pst@rotate#1#2{%
\ifx#1\@empty\else
\setbox#2=\hbox{\pst@Verb{#1 \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
\fi}
\def\psput@cartesian#1{%
\hbox to \z@{\kern\pst@dimg{\vbox to \z@{\vss\box#1\vskip\pst@dimh}\hss}}}
\def\psput@special#1{%
\hbox{%
\pst@Verb{{ \pst@coor } \tx@PutCoor \tx@PutBegin}%
\box#1%
\pst@Verb{\tx@PutEnd}}}
\def\tx@PutCoor{PutCoor }
\def\tx@PutBegin{PutBegin }
\def\tx@PutEnd{PutEnd }
\def\rput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\rput@i}{\rput@ii}}}
\def\rput@i[#1]{\addto@par{ref={#1}}\rput@ii}
\def\rput@ii{\@ifnextchar({\rput@iv}{\rput@iii}}
\def\rput@iii#1{\addto@par{rot={#1}}\@ifnextchar({\rput@iv}{\rput@iv(\z@,\z@)}}
\def\rput@iv(#1){\pst@killglue\pst@makebox{\rput@v{#1}}}
\def\rput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\multirput{%
\def\pst@par{}%
\pst@ifstar{\@ifnextchar[{\multirput@i}{\multirput@ii}}}
\def\multirput@i[#1]{\addto@par{ref={#1}}\multirput@ii}
\def\multirput@ii{\@ifnextchar({\multirput@iv}{\multirput@iii}}
\def\multirput@iii#1{\addto@par{rot={#1}}\multirput@iv}
\def\multirput@iv(#1){%
\@ifnextchar({\multirput@v(#1)}{\multirput@v(\z@,\z@)(#1)}}
\def\multirput@v(#1,#2)(#3,#4)#5{%
\pst@makebox{\multirput@vi(#1,#2)(#3,#4){#5}}}
\def\multirput@vi(#1,#2)(#3,#4)#5{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\pssetxlength\pst@dima{#1}%
\pssetylength\pst@dimb{#2}%
\pssetxlength\pst@dimc{#3}%
\pssetylength\pst@dimd{#4}%
\pst@cntg=#5\relax
\pst@cnth=\@ne
\leavevmode
\loop
\vbox to \z@{%
\vss
\hbox to \z@{\kern\pst@dima\copy\pst@hbox\hss}%
\vskip\pst@dimb}%
\ifnum\pst@cntg>\pst@cnth
\advance\pst@dima\pst@dimc
\advance\pst@dimb\pst@dimd
\advance\pst@cnth\@ne
\repeat
\endgroup
\ignorespaces}
\newif\if@fixedradius
\def\cput{\pst@object{cput}}
\def\cput@i{\@fixedradiusfalse\cput@ii}
\def\cput@ii{\pst@killglue\@ifnextchar({\cput@iv}{\cput@iii}}
\def\cput@iii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\cput@iv}{\cput@iv(\z@,\z@)}}
\def\cput@iv(#1){\pst@makebox{\cput@v{#1}}}
\def\cput@v#1{%
\begingroup
\use@par
\setbox\pst@hbox=\hbox{%
\psboxsepfalse
\if@fixedradius\psCirclebox@ii\else\pscirclebox@ii\fi}%
\pst@@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\Cput{\pst@object{Cput}}
\def\Cput@i{\@fixedradiustrue\cput@ii}
\newdimen\pslabelsep
\def\psset@labelsep#1{\pssetlength\pslabelsep{#1}}
\psset@labelsep{5pt}
\def\psset@refangle#1{\pst@expandafter\psset@@refangle{#1}\@nil}
\def\psset@@refangle#1\@nil{%
\def\next##1@#1=##2"##3@##4\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@refangle
\def\psk@uputref{}%
\else
\def\psk@refangle{##2 }%
\def\psk@uputref{##3}%
\fi}%
\expandafter\next\pst@refangletable @#1=\relax"@\@nil}
\def\pst@refangletable{%
@r=0"20%
@u=90"02%
@l=180"10%
@d=-90"01%
@ur=45"22%
@ul=135"12%
@dr=-135"21%
@dl=-45"11}
\psset@refangle{0}
% DG/SR modification begin - Mar. 24, 1999 - Patch 10
%\def\uput{\def\pst@par{}\@ifnextchar[{\uput@ii}{\uput@i}}
\def\uput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\uput@ii}{\uput@i}}} 
% DG/SR modification end
\def\uput@i#1{\addto@par{labelsep=#1}\uput@ii}
\def\uput@ii[#1]{%
\addto@par{refangle={#1}}%
\@ifnextchar({\uput@iv}{\uput@iii}}
\def\uput@iii#1{%
\addto@par{rot={#1}}%
\@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}}
\def\uput@iv(#1){\pst@killglue\pst@makebox{\uput@v{#1}}}
\def\uput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\uput@vi
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\uput@vi{%
\ifx\psk@uputref\@empty
\uput@vii\tx@UUput{}%
\else
\ifx\psk@rot\@empty
\expandafter\uput@viii\psk@uputref
\else
\uput@vii\tx@UUput{}%
\fi
\fi}
\def\uput@vii#1#2{%
\edef\pst@coor{%
\pst@number\pslabelsep
#2%
\pst@number{\wd\pst@hbox}%
\pst@number{\ht\pst@hbox}%
\pst@number{\dp\pst@hbox}%
\psk@refangle\space \ifx\psk@rot\@empty\else\psk@rot\space sub \fi
\tx@Uput #1}%
\setbox\pst@hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst@hbox\vss}\hss}%
\setbox\pst@hbox=\psput@special\pst@hbox
\ifx\psk@rot\@empty\else\pst@rotate\psk@rot\pst@hbox\fi}
\def\uput@viii#1#2{%
\ifnum#1>\z@\ifnum#2>\z@\pslabelsep=.707\pslabelsep\fi\fi
\setbox\pst@hbox=\vbox to\z@{%
\ifnum#2=1 \vskip\pslabelsep\else\vss\fi
\hbox to\z@{%
\ifnum#1=2 \hskip\pslabelsep\else\hss\fi
\box\pst@hbox
\ifnum#1=1 \hskip\pslabelsep\else\hss\fi}%
\ifnum#2=2 \vskip\pslabelsep\else\vss\fi}}
\def\tx@Uput{Uput }
\def\tx@UUput{UUput }
\def\Rput{\def\pst@par{}\pst@ifstar{\@ifnextchar[{\Rput@ii}{\Rput@i}}}
\def\Rput@i#1{\addto@par{labelsep=#1}\Rput@ii}
\def\Rput@ii[#1]{\addto@par{ref={#1}}\@ifnextchar({\Rput@iv}{\Rput@iii}}
\def\Rput@iii#1{\addto@par{rot={#1}}\@ifnextchar({\Rput@iv}{\Rput@iv(\z@,\z@)}}
\def\Rput@iv(#1){\pst@killglue\pst@makebox{\Rput@v{#1}}}
\def\Rput@v#1{%
\begingroup
\use@par
\if@star\pst@starbox\fi
\Rput@vi
\pst@makesmall\pst@hbox
\pst@rotate\psk@rot\pst@hbox
\psput@{#1}\pst@hbox
\endgroup
\ignorespaces}
\def\Rput@vi{%
\pst@dimg=\dp\pst@hbox
\advance\pst@dimg\pslabelsep
\dp\pst@hbox=\pst@dimg
\pst@dimg=\ht\pst@hbox
\advance\pst@dimg\pslabelsep
\ht\pst@hbox=\pst@dimg
\setbox\pst@hbox\hbox{\kern\pslabelsep\box\pst@hbox\kern\pslabelsep}}%
\def\oldpsput{%
\def\pst@par{}\pst@ifstar{\@ifnextchar[{\oldpsput@i}{\oldpsput@ii}}}
\def\oldpsput@i[#1]{\addto@par{ref={#1}}\oldpsput@ii}
\def\oldpsput@ii{\@ifnextchar<{\oldpsput@iii}{\oldpsput@iv}}
\def\oldpsput@iii<#1>{\rput@iii{#1}}
\def\OldPsput{\let\psput\oldpsput}
\def\NewPsput{\let\psput\rput}
\def\pspicture{\begingroup\pst@ifstar\pst@picture}
\def\pst@picture{%
\@ifnextchar[{\pst@@picture}{\pst@@picture[0]}}
\def\pst@@picture[#1]#2(#3,#4){%
\@ifnextchar({\pst@@@picture[#1](#3,#4)}%
{\pst@@@picture[#1](0,0)(#3,#4)}}
\def\pst@@@picture[#1](#2,#3)(#4,#5){%
\pssetxlength\pst@dima{#2}%
\pssetylength\pst@dimb{#3}%
\pssetxlength\pst@dimc{#4}%
\pssetylength\pst@dimd{#5}%
\ifdim\pst@dima>\pst@dimc
\pst@dimg=\pst@dima
\pst@dima=\pst@dimc
\pst@dimc=\pst@dimg
\fi
\ifdim\pst@dimb>\pst@dimd
\pst@dimg=\pst@dimb
\pst@dimb=\pst@dimd
\pst@dimd=\pst@dimg
\fi
\def\pst@tempa{#1}%
\setbox\pst@hbox=\hbox\bgroup
\begingroup\KillGlue
\@ifundefined{@latexerr}{}{\let\unitlength\psunit}%
\edef\pic@coor{(#2,#3)(#2,#3)(#4,#5)}\ignorespaces}
\def\pic@coor{(0,0)(0,0)(10,10)}
\def\endpspicture{%
\pst@killglue
\endgroup
\egroup
\ifdim\wd\pst@hbox=\z@\else
%\@pstrickserr{Extraneous space in the pspicture environment}%
%{Type \space <return> \space to procede.}%
\fi
\ht\pst@hbox=\pst@dimd
\dp\pst@hbox=-\pst@dimb
\setbox\pst@hbox=\hbox{%
\kern-\pst@dima
\ifx\pst@tempa\@empty\else
\advance\pst@dimd-\pst@dimb
\pst@dimd=\pst@tempa\pst@dimd
\advance\pst@dimd\pst@dimb
\lower\pst@dimd
\fi
\box\pst@hbox
\kern\pst@dimc}%
\if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi
\leavevmode\box\pst@hbox
\endgroup}
\@namedef{pspicture*}{\pspicture*}
\@namedef{endpspicture*}{\endpspicture}
\def\tx@BeginOL{BeginOL }
\def\tx@InitOL{InitOL }
\def\pst@initoverlay#1{\pst@Verb{\tx@InitOL /TheOL (#1) def}}
\def\AltOverlayMode{%
\def\pst@initoverlay##1{%
\pst@Verb{%
\tx@InitOL
/Visible { initclip } def
/Invisible {
CP newpath OLUnit itransform moveto clip newpath moveto
} def
/TheOL (##1) def}}}
\def\pst@overlay#1{%
\edef\curr@overlay{#1}%
\pst@Verb{(#1) BOL}%
\aftergroup\pst@endoverlay}
\def\pst@endoverlay{%
\pst@Verb{(\curr@overlay) BOL}}
\def\curr@overlay{all}
\newbox\theoverlaybox
\def\overlaybox{%
\global\setbox\theoverlaybox=\hbox\bgroup
\begingroup
\let\psoverlay\pst@overlay
\def\overlaybox{%
\@pstrickserr{Overlays cannot be nested}\@eha}%
\def\putoverlaybox{%
\@pstrickserr{You must end the overlay box
before using \string\putoverlaybox}}%
\psoverlay{main}%
\ignorespaces}
\def\endoverlaybox{\endgroup\egroup}
\def\putoverlaybox#1{%
\hbox{\pst@initoverlay{#1}\copy\theoverlaybox}}
\def\psoverlay{\@pstrickserr{\string\psoverlay\space
can only be used after \string\overlaybox}}
\ifx\pstcustomize\relax \input pstricks.con \fi
\catcode`\@=\PstAtCode\relax
%
\endinput
%%
%% END: pstricks.tex

kombi04.bbl
\def\lfhook#1{\setbox0=\hbox{#1}{\ooalign{\hidewidth
  \lower1.5ex\hbox{'}\hidewidth\crcr\unhbox0}}}
\begin{thebibliography}{VDN92}

\bibitem[Bia98]{Biane1998}
Philippe Biane.
\newblock Representations of symmetric groups and free probability.
\newblock {\em Adv. Math.}, 138(1):126--181, 1998.

\bibitem[BLS96]{BozejkoLeinertSpeicher}
Marek Bo{\.z}ejko, Michael Leinert, and Roland Speicher.
\newblock Convolution and limit theorems for conditionally free random
  variables.
\newblock {\em Pacific J. Math.}, 175(2):357--388, 1996.

\bibitem[DH01]{DykemaHaagerup2001}
Kenneth Dykema and Uffe Haagerup.
\newblock Decomposability of {V}oiculescu's circular operator and
  {$DT$}--operators.
\newblock {\em preprint}, 2001.

\bibitem[DY01]{DykemaYan}
Kenneth Dykema and Catherine Yan.
\newblock Generating functions for moments of the quasi--nilpotent {$DT$}
  operator.
\newblock preprint, 2001.

\bibitem[Haa01]{Haagerup2001}
Uffe Haagerup.
\newblock Spectral decomposition of all operators in a {$II_1$} factor, which
  is embedable in {$R^\omega$}.
\newblock preprint, 2001.

\bibitem[KR97a]{KadisonRingrose1}
Richard~V. Kadison and John~R. Ringrose.
\newblock {\em Fundamentals of the theory of operator algebras. {V}ol. {I},
  Reprint of the 1983 original}.
\newblock American Mathematical Society, Providence, RI, 1997.

\bibitem[KR97b]{KadisonRingrose2}
Richard~V. Kadison and John~R. Ringrose.
\newblock {\em Fundamentals of the theory of operator algebras. {V}ol. {I}{I}}.
\newblock American Mathematical Society, Providence, RI, 1997.
\newblock Advanced theory, Corrected reprint of the 1986 original.

\bibitem[Kre72]{Kreweras}
G.~Kreweras.
\newblock Sur les partitions non crois\'ees d'un cycle.
\newblock {\em Discrete Math.}, 1(4):333--350, 1972.

\bibitem[Ran60]{Raney1960}
George~N. Raney.
\newblock Functional composition patterns and power series reversion.
\newblock {\em Trans. Amer. Math. Soc.}, 94:441--451, 1960.

\bibitem[Shl96]{Shlyakhtenko1996}
Dimitri Shlyakhtenko.
\newblock Random {G}aussian band matrices and freeness with amalgamation.
\newblock {\em Internat. Math. Res. Notices}, (20):1013--1025, 1996.

\bibitem[Shl98]{Shlyakhtenko1997}
Dimitri Shlyakhtenko.
\newblock Gaussian random band matrices and operator-valued free probability
  theory.
\newblock In {\em Quantum probability (Gda\'nsk, 1997)}, pages 359--368. Polish
  Acad. Sci., Warsaw, 1998.

\bibitem[SN99]{SpeicherNeu}
Roland Speicher and Peter Neu.
\newblock Physical applications of freeness.
\newblock In {\em XIIth International Congress of Mathematical Physics (ICMP
  '97) (Brisbane)}, pages 261--266. Internat. Press, Cambridge, MA, 1999.

\bibitem[Spe97]{Speicher1997}
Roland Speicher.
\newblock Free probability theory and non-crossing partitions.
\newblock {\em S\'em. Lothar. Combin.}, 39:Art.\ B39c, 38 pp.\ (electronic),
  1997.

\bibitem[Spe98]{Speicher1998}
Roland Speicher.
\newblock Combinatorial theory of the free product with amalgamation and
  operator-valued free probability theory.
\newblock {\em Mem. Amer. Math. Soc.}, 132(627):x+88, 1998.

\bibitem[VDN92]{VoiculescuDykemaNica}
D.~V. Voiculescu, K.~J. Dykema, and A.~Nica.
\newblock {\em Free random variables}.
\newblock American Mathematical Society, Providence, RI, 1992.
\newblock A noncommutative probability approach to free products with
  applications to random matrices, operator algebras and harmonic analysis on
  free groups.

\bibitem[Voi91]{Voiculescu1991}
Dan Voiculescu.
\newblock Limit laws for random matrices and free products.
\newblock {\em Invent. Math.}, 104(1):201--220, 1991.

\bibitem[Voi95]{VoiculescuPlenar}
Dan Voiculescu.
\newblock Free probability theory: random matrices and von {N}eumann algebras.
\newblock In {\em Proceedings of the International Congress of Mathematicians,
  Vol.\ 1, 2 (Z\"urich, 1994)}, pages 227--241, Basel, 1995. Birkh\"auser.

\bibitem[Voi00]{VoiculescuLectures}
Dan Voiculescu.
\newblock Lectures on free probability theory.
\newblock In {\em Lectures on probability theory and statistics (Saint-Flour,
  1998)}, pages 279--349. Springer, Berlin, 2000.

\end{thebibliography}
