login  home  contents  what's new  discussion  bug reports help  links  subscribe  changes  refresh  edit

# Edit detail for SandBoxSEXPM revision 1 of 2

 1 2 Editor: pagani Time: 2018/07/16 20:56:26 GMT+0 Note:

changed:
-
)abbrev package SEXPM SExprPatternMatch
++ Author: Kurt Pagani
++ Date Created: Mon Feb 06 18:56:20 CET 2017
++ References:
++ Description:
++
SExprPatternMatch(X) : Exports == Implementation where

X: Join(ConvertibleTo InputForm, ExpressionSpace)
IF ==> InputForm
SEXP ==> SExpression

Exports ==  with

sexpr : X -> IF
++ Convert to InputForm
occursIn : (IF,IF) -> Boolean
++ Return true if ELT occurs in EXP at any level
cons : (IF,IF) -> IF
++ Cons
subst1 : (IF,IF,IF) -> IF
++ Substitute A for each occurrence of B in LST.
doSubst : (IF,IF) -> IF
++ Perform all substitutions in L on EXP in reverse order.
unify : (IF,IF) -> IF

notuf:String := "not-unifiable"

sexpr(x:X):IF == convert(x)@IF

occursIn(elt,exp) ==
elt=exp => true
atom? exp => false
occursIn(elt,car exp) or occursIn(elt,cdr exp)

cons(a:IF,b:IF):IF ==
s:SExpression:=CONS(a,b)$Lisp convert(s)$IF

subst1(a:IF,b:IF,lst:IF):IF ==
null? lst => lst
lst=b => a
atom? lst => lst
b=car lst => cons(a,subst1(a,b,cdr lst))
atom? car lst => cons(car lst, subst1(a,b,cdr lst))
cons(subst1(a,b,car lst),subst1(a,b,cdr lst))

doSubst(exp:IF,l:IF):IF ==
null? l => exp
a:=car l
subst1(car a, car cdr a, doSubst(exp,cdr l))

variable?(x:IF):Boolean ==
not atom? x => false
symbol? x => true
false

occursIn(variable,term) => error notuf
cons(convert [term,variable],subst1(term,variable,u))

unify1(termlist1:IF,termlist2:IF,u:IF):IF ==
termlist1=termlist2 => u
null? termlist1 or null? termlist2 => error notuf
atom? termlist1 or atom? termlist2 => error notuf
u:=unify1(doSubst(car termlist1,u),doSubst(car termlist2,u),u)
unify1(cdr termlist1,cdr termlist2,u)

unify(literal1:IF,literal2:IF):IF ==
u:=convert([])$IF if car literal1 = car literal2 then unify1(cdr literal1,cdr literal2,u) else error notuf -- s:=convert(s)$InputForm
-- t:=convert(t)$InputForm -- st:=cons(s,t)$SEXPM(EXPR INT)

Test flavours

\begin{axiom}
--)co sexpm
)set break resume

X ==> Expression Integer
IF ==> InputForm
SPM ==> SEXPM(X)

p:=convert(p)$InputForm x:=x::IF f:=f::IF g:=g::IF h:=h::IF a:=a::IF b:=b::IF y:=y::IF z:=z::IF l1:=convert([p,x,convert [f,a]])$IF
l2:=convert([p,b,y])$IF l3:=convert([p,convert [f,x],convert [g,a,y]])$IF
l4:=convert([p,convert [f,convert [h,b]],convert [g,x,y]])$IF l5:=convert([p,x])$IF
l6:=convert([p,convert [f,x]])$IF l7:=convert([p,x,convert [f,y],x])$IF
l8:=convert([p,z,convert [f,z],a])$IF r1:=unify(l1,l2)$SPM  -- (((f a) y) (b x))
r2:=unify(l3,l4)$SPM -- (((h b) a) ((h b) x)) , only if variable? a r3:=unify(l5,l6)$SPM  -- not-unifiable
r4:=unify(l7,l8)$SPM -- ((a z) (a y) (a x)) s11:=doSubst(l1,r1)$SPM
s21:=doSubst(l2,r1)$SPM s74:=doSubst(l7,r4)$SPM
s84:=doSubst(l8,r4)$SPM L1:=exp(-r^2+s)::IF L2:=exp(-r^2+q)::IF unify(L1,L2)$SPM  -- oweeh

unify(x+y,y+x)$SPM \end{axiom} What's the matter with TeX for InputForm ???  spad)abbrev package SEXPM SExprPatternMatch ++ Author: Kurt Pagani ++ Date Created: Mon Feb 06 18:56:20 CET 2017 ++ License: BSD ++ References: ++ Description: ++ SExprPatternMatch(X) : Exports == Implementation where X: Join(ConvertibleTo InputForm, ExpressionSpace) IF ==> InputForm SEXP ==> SExpression Exports == with sexpr : X -> IF ++ Convert to InputForm occursIn : (IF,IF) -> Boolean ++ Return true if ELT occurs in EXP at any level cons : (IF,IF) -> IF ++ Cons subst1 : (IF,IF,IF) -> IF ++ Substitute A for each occurrence of B in LST. doSubst : (IF,IF) -> IF ++ Perform all substitutions in L on EXP in reverse order. unify : (IF,IF) -> IF Implementation == IF add notuf:String := "not-unifiable" sexpr(x:X):IF == convert(x)@IF occursIn(elt,exp) == elt=exp => true atom? exp => false occursIn(elt,car exp) or occursIn(elt,cdr exp) cons(a:IF,b:IF):IF == s:SExpression:=CONS(a,b)$Lisp
convert(s)$IF subst1(a:IF,b:IF,lst:IF):IF == null? lst => lst lst=b => a atom? lst => lst b=car lst => cons(a,subst1(a,b,cdr lst)) atom? car lst => cons(car lst, subst1(a,b,cdr lst)) cons(subst1(a,b,car lst),subst1(a,b,cdr lst)) doSubst(exp:IF,l:IF):IF == null? l => exp a:=car l subst1(car a, car cdr a, doSubst(exp,cdr l)) variable?(x:IF):Boolean == not atom? x => false symbol? x => true false addPair(term:IF,variable:IF,u:IF):IF == occursIn(variable,term) => error notuf cons(convert [term,variable],subst1(term,variable,u)) unify1(termlist1:IF,termlist2:IF,u:IF):IF == termlist1=termlist2 => u null? termlist1 or null? termlist2 => error notuf variable? termlist1 => addPair(termlist2,termlist1,u) variable? termlist2 => addPair(termlist1,termlist2,u) atom? termlist1 or atom? termlist2 => error notuf u:=unify1(doSubst(car termlist1,u),doSubst(car termlist2,u),u) unify1(cdr termlist1,cdr termlist2,u) unify(literal1:IF,literal2:IF):IF == u:=convert([])$IF
if car literal1 = car literal2 then
unify1(cdr literal1,cdr literal2,u)
else
error notuf
-- s:=convert(s)$InputForm -- t:=convert(t)$InputForm
-- st:=cons(s,t)$SEXPM(EXPR INT) spad Compiling FriCAS source code from file /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/6012102641383544618-25px001.spad using old system compiler. SEXPM abbreviates package SExprPatternMatch ------------------------------------------------------------------------ initializing NRLIB SEXPM for SExprPatternMatch compiling into NRLIB SEXPM ****** Domain: X already in scope compiling exported sexpr : X -> InputForm Time: 0 SEC. compiling exported occursIn : (InputForm,InputForm) -> Boolean Time: 0 SEC. compiling exported cons : (InputForm,InputForm) -> InputForm Time: 0 SEC. compiling exported subst1 : (InputForm,InputForm,InputForm) -> InputForm Time: 0 SEC. compiling exported doSubst : (InputForm,InputForm) -> InputForm Time: 0 SEC. compiling local variable? : InputForm -> Boolean Time: 0 SEC. compiling local addPair : (InputForm,InputForm,InputForm) -> InputForm Time: 0.02 SEC. compiling local unify1 : (InputForm,InputForm,InputForm) -> InputForm Time: 0 SEC. compiling exported unify : (InputForm,InputForm) -> InputForm Time: 0 SEC. (time taken in buildFunctor: 0) ;;; *** |SExprPatternMatch| REDEFINED ;;; *** |SExprPatternMatch| REDEFINED Time: 0 SEC. Cumulative Statistics for Constructor SExprPatternMatch Time: 0.02 seconds --------------non extending category---------------------- .. SExprPatternMatch(#1) of cat (CATEGORY |package| (SIGNATURE |sexpr| ((|InputForm|) |#1|)) (SIGNATURE |occursIn| ((|Boolean|) (|InputForm|) (|InputForm|))) (SIGNATURE |cons| ((|InputForm|) (|InputForm|) (|InputForm|))) (SIGNATURE |subst1| ((|InputForm|) (|InputForm|) (|InputForm|) (|InputForm|))) (SIGNATURE |doSubst| ((|InputForm|) (|InputForm|) (|InputForm|))) (SIGNATURE |unify| ((|InputForm|) (|InputForm|) (|InputForm|)))) has no (|SExpressionCategory| (|String|) (|Symbol|) (|Integer|) (|DoubleFloat|)) finalizing NRLIB SEXPM Processing SExprPatternMatch for Browser database: --------constructor--------- --------(sexpr ((InputForm) X))--------- --->-->SExprPatternMatch((sexpr ((InputForm) X))): Improper first word in comments: Convert "Convert to InputForm" --------(occursIn ((Boolean) (InputForm) (InputForm)))--------- --->-->SExprPatternMatch((occursIn ((Boolean) (InputForm) (InputForm)))): Improper first word in comments: Return "Return \\spad{true} if ELT occurs in EXP at any level" --------(cons ((InputForm) (InputForm) (InputForm)))--------- --------(subst1 ((InputForm) (InputForm) (InputForm) (InputForm)))--------- --->-->SExprPatternMatch((subst1 ((InputForm) (InputForm) (InputForm) (InputForm)))): Improper first word in comments: Substitute "Substitute A for each occurrence of \\spad{B} in \\spad{LST}." --------(doSubst ((InputForm) (InputForm) (InputForm)))--------- --->-->SExprPatternMatch((doSubst ((InputForm) (InputForm) (InputForm)))): Improper first word in comments: Perform "Perform all substitutions in \\spad{L} on EXP in reverse order." --->-->SExprPatternMatch((unify ((InputForm) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/SEXPM.NRLIB/SEXPM.lsp" (written 16 JUL 2018 08:56:26 PM): ; /var/aw/var/LatexWiki/SEXPM.NRLIB/SEXPM.fasl written ; compilation finished in 0:00:00.049 ------------------------------------------------------------------------ SExprPatternMatch is now explicitly exposed in frame initial SExprPatternMatch will be automatically loaded when needed from /var/aw/var/LatexWiki/SEXPM.NRLIB/SEXPM Test flavours fricas--)co sexpm fricas)set break resume X ==> Expression Integer Type: Void fricasIF ==> InputForm Type: Void fricasSPM ==> SEXPM(X) Type: Void fricasp:=convert(p)$InputForm
\begin{equation}
\label{eq1}p\end{equation}
Type: InputForm?
fricasx:=x::IF
\begin{equation}
\label{eq2}x\end{equation}
Type: InputForm?
fricasf:=f::IF
\begin{equation}
\label{eq3}f\end{equation}
Type: InputForm?
fricasg:=g::IF
\begin{equation}
\label{eq4}g\end{equation}
Type: InputForm?
fricash:=h::IF
\begin{equation}
\label{eq5}h\end{equation}
Type: InputForm?
fricasa:=a::IF
\begin{equation}
\label{eq6}a\end{equation}
Type: InputForm?
fricasb:=b::IF
\begin{equation}
\label{eq7}b\end{equation}
Type: InputForm?
fricasy:=y::IF
\begin{equation}
\label{eq8}y\end{equation}
Type: InputForm?
fricasz:=z::IF
\begin{equation}
\label{eq9}z\end{equation}
Type: InputForm?
fricasl1:=convert([p,x,convert [f,a]])$IF \begin{equation} \label{eq10}\left(p \ x \ {\left(f \ a \right)}\right)\end{equation} Type: InputForm? fricasl2:=convert([p,b,y])$IF
\begin{equation}
\label{eq11}\left(p \  b \  y \right)\end{equation}
Type: InputForm?
fricasl3:=convert([p,convert [f,x],convert [g,a,y]])$IF \begin{equation} \label{eq12}\left(p \ {\left(f \ x \right)}\ {\left(g \ a \ y \right)}\right)\end{equation} Type: InputForm? fricasl4:=convert([p,convert [f,convert [h,b]],convert [g,x,y]])$IF
\begin{equation}
\label{eq13}\left(p \ {\left(f \ {\left(h \  b \right)}\right)}\ {\left(g \  x \  y \right)}\right)\end{equation}
Type: InputForm?
fricasl5:=convert([p,x])$IF \begin{equation} \label{eq14}\left(p \ x \right)\end{equation} Type: InputForm? fricasl6:=convert([p,convert [f,x]])$IF
\begin{equation}
\label{eq15}\left(p \ {\left(f \  x \right)}\right)\end{equation}
Type: InputForm?
fricasl7:=convert([p,x,convert [f,y],x])$IF \begin{equation} \label{eq16}\left(p \ x \ {\left(f \ y \right)}\ x \right)\end{equation} Type: InputForm? fricasl8:=convert([p,z,convert [f,z],a])$IF
\begin{equation}
\label{eq17}\left(p \  z \ {\left(f \  z \right)}\  a \right)\end{equation}
Type: InputForm?
fricasr1:=unify(l1,l2)$SPM -- (((f a) y) (b x)) \begin{equation} \label{eq18}\left({\left({\left(f \ a \right)}\ y \right)}\ {\left(b \ x \right)}\right)\end{equation} Type: InputForm? fricasr2:=unify(l3,l4)$SPM  -- (((h b) a) ((h b) x)) , only if variable? a
\begin{equation}
\label{eq19}\left({\left({\left(h \  b \right)}\  a \right)}\ {\left({\left(h \  b \right)}\  x \right)}\right)\end{equation}
Type: InputForm?
fricasr3:=unify(l5,l6)$SPM -- not-unifiable >> Error detected within library code: not-unifiable Continuing to read the file... r4:=unify(l7,l8)$SPM  --  ((a z) (a y) (a x))
\begin{equation}
\label{eq20}\left({\left(a \  z \right)}\ {\left(a \  y \right)}\ {\left(a \  x \right)}\right)\end{equation}
Type: InputForm?
fricass11:=doSubst(l1,r1)$SPM \begin{equation} \label{eq21}\left(p \ b \ {\left(f \ a \right)}\right)\end{equation} Type: InputForm? fricass21:=doSubst(l2,r1)$SPM
\begin{equation}
\label{eq22}\left(p \  b \ {\left(f \  a \right)}\right)\end{equation}
Type: InputForm?
fricass74:=doSubst(l7,r4)$SPM \begin{equation} \label{eq23}\left(p \ a \ {\left(f \ a \right)}\ a \right)\end{equation} Type: InputForm? fricass84:=doSubst(l8,r4)$SPM
\begin{equation}
\label{eq24}\left(p \  a \ {\left(f \  a \right)}\  a \right)\end{equation}
Type: InputForm?
fricasL1:=exp(-r^2+s)::IF
\begin{equation}
\label{eq25}\left(exp \ {\left(+ \  s \ {\left( \  - 1 \ {\left(^\  r \  2 \right)}\right)}\right)}\right)\end{equation*}
Type: InputForm?
fricasL2:=exp(-r^2+q)::IF
\begin{equation}
\label{eq26}\left(exp \ {\left(+ \ {\left( \  - 1 \ {\left(^\  r \  2 \right)}\right)}\  q \right)}\right)\end{equation*}
Type: InputForm?
fricasunify(L1,L2)$SPM -- oweeh \begin{equation} \label{eq27}\left({\left({\left( \ - 1 \ {\left(^\ r \ 2 \right)}\right)}\ q \right)}\ {\left({\left( \ - 1 \ {\left(^\ r \ 2 \right)}\right)}\ s \right)}\right)\end{equation} Type: InputForm? fricasunify(x+y,y+x)$SPM
\begin{equation}
\label{eq28}\left({\left(y \  x \right)}\right)\end{equation}
Type: InputForm?
What's the matter with TeX? for InputForm? ???


Some or all expressions may not have rendered properly, because Latex returned the following error:
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
\write18 enabled.
%&-line parsing enabled.
entering extended mode
(./7941444861566870036-16.0px.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, arabic, farsi, croatian, ukrainian, russian, bulgarian, czech, slov
ak, danish, dutch, finnish, basque, french, german, ngerman, ibycus, greek, mon
ogreek, ancientgreek, hungarian, italian, latin, mongolian, norsk, icelandic, i
nterlingua, turkish, coptic, romanian, welsh, serbian, slovenian, estonian, esp
eranto, uppersorbian, indonesian, polish, portuguese, spanish, catalan, galicia
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size12.clo))
(/usr/share/texmf-texlive/tex/latex/ucs/ucs.sty
(/usr/share/texmf-texlive/tex/latex/ucs/data/uni-global.def))
(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
(/usr/share/texmf-texlive/tex/latex/ucs/utf8x.def))
(/usr/share/texmf-texlive/tex/latex/bbm/bbm.sty)
(/usr/share/texmf-texlive/tex/latex/jknapltx/mathrsfs.sty)
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
(/usr/share/texmf-texlive/tex/latex/base/t1enc.def))
(/usr/share/texmf-texlive/tex/latex/pstricks/pstricks.sty
(/usr/share/texmf-texlive/tex/generic/pstricks/pstricks.tex
PSTricks' v1.15  <2006/12/22> (tvz)
(/usr/share/texmf-texlive/tex/generic/pstricks/pstricks.con))
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
(/etc/texmf/tex/latex/config/color.cfg)
(/usr/share/texmf-texlive/tex/latex/graphics/dvips.def)
(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)))
(/usr/share/texmf-texlive/tex/latex/graphics/epsfig.sty
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty)
(/etc/texmf/tex/latex/config/graphics.cfg))))
(/usr/share/texmf-texlive/tex/latex/xkeyval/pst-xkey.tex
(/usr/share/texmf-texlive/tex/latex/xkeyval/xkeyval.sty
(/usr/share/texmf-texlive/tex/latex/xkeyval/xkeyval.tex)))
pst-plot' v1.05, 2006/11/04 (tvz,dg,hv)))
(/usr/share/texmf-texlive/tex/latex/pstricks/pst-plot.sty
(/usr/share/texmf-texlive/tex/generic/pstricks/pst-plot.tex
v97 patch 2, 1999/12/12
(/usr/share/texmf-texlive/tex/generic/multido/multido.tex
v1.41, 2004/05/18 <tvz>)))
(/usr/share/texmf-texlive/tex/latex/geometry/geometry.sty
(/usr/share/texmf-texlive/tex/xelatex/xetexconfig/geometry.cfg)
Package geometry Warning: lmargin' and rmargin' result in NEGATIVE (-108.405p
t).
width' should be shortened in length.
) (/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the ? option.
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty
(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty))
(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty))
(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty)
(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty)
(/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty)
(/usr/share/texmf-texlive/tex/latex/setspace/setspace.sty
Package: setspace 6.7 <2000/12/01>
) (/usr/share/texmf-texlive/tex/generic/xypic/xy.sty
(/usr/share/texmf-texlive/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes,
docmode, (/usr/share/texmf-texlive/tex/generic/xypic/xyrecat.tex)
(/usr/share/texmf-texlive/tex/generic/xypic/xyidioms.tex) Xy-pic version 3.7 <1999/02/16>
Copyright (c) 1991-1998 by Kristoffer H. Rose <krisrose@ens-lyon.fr>
Xy-pic is free software: see the User's Guide for details.

utility macros; pictures: \xy, positions, objects, decorations;
kernel objects: directionals, circles, text; options; algorithms: directions,
(/usr/share/texmf-texlive/tex/generic/xypic/xyall.tex
Xy-pic option: All features v.3.3
(/usr/share/texmf-texlive/tex/generic/xypic/xycurve.tex
Xy-pic option: Curve and Spline extension v.3.7 curve, circles, loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xyframe.tex
Xy-pic option: Frame and Bracket extension v.3.7 loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xycmtip.tex
Xy-pic option: Computer Modern tip extension v.3.3
(/usr/share/texmf-texlive/tex/generic/xypic/xytips.tex
(/usr/share/texmf-texlive/tex/generic/xypic/xyline.tex
Xy-pic option: Line styles extension v.3.6 loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xyrotate.tex
Xy-pic option: Rotate and Scale extension v.3.3 loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xycolor.tex
Xy-pic option: Colour extension v.3.3 loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xymatrix.tex
Xy-pic option: Matrix feature v.3.4 loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xyarrow.tex
Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded)
(/usr/share/texmf-texlive/tex/generic/xypic/xygraph.tex
(/usr/share/texmf-texlive/tex/latex/tools/verbatim.sty)
(/usr/share/texmf/tex/latex/graphviz/graphviz.sty
(/usr/share/texmf-texlive/tex/latex/psfrag/psfrag.sty))
(/usr/share/texmf/tex/latex/sagetex.sty
Writing sage input file 7941444861566870036-16.0px.sage
) (/usr/share/texmf-texlive/tex/latex/gnuplottex/gnuplottex.sty
(/usr/share/texmf-texlive/tex/latex/base/latexsym.sty)
(/usr/share/texmf-texlive/tex/latex/moreverb/moreverb.sty)
(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty))
(./7941444861566870036-16.0px.aux)
(/usr/share/texmf-texlive/tex/latex/ucs/ucsencs.def)
(/usr/share/texmf-texlive/tex/latex/jknapltx/ursfs.fd)
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd)
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd)
(/usr/share/texmf-texlive/tex/latex/base/ulasy.fd) [1] [2] [3] [4] [5] [6]
[7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]
[22] [23] [24]
Missing { inserted.
\
l.170 ...eft(+ \  s \ {\left(* \  - 1 \ {\left(^\
r \  2 \right)}\right)}\r... Missing } inserted.
<inserted text>
}
l.170 ...\left(* \  - 1 \ {\left(^\  r \  2 \right
)}\right)}\right)}\right)\...

[25]
Missing { inserted.
\
l.172 ...\ {\left(+ \ {\left(* \  - 1 \ {\left(^\
r \  2 \right)}\right)}\ ... Missing } inserted.
<inserted text>
}
l.172 ...\left(* \  - 1 \ {\left(^\  r \  2 \right
)}\right)}\  q \right)}\ri...

[26]
Missing { inserted.
\
l.174 ...\left({\left({\left(* \  - 1 \ {\left(^\
r \  2 \right)}\right)}\ ... Missing } inserted.
<inserted text>
}
l.174 ...\left(* \  - 1 \ {\left(^\  r \  2 \right
)}\right)}\  q \right)}\ {...
Missing { inserted.
\
l.174 ...ht)}\ {\left({\left(* \  - 1 \ {\left(^\
r \  2 \right)}\right)}\ ...
Missing } inserted.
<inserted text>
}
l.174 ...\left(* \  - 1 \ {\left(^\  r \  2 \right
)}\right)}\  s \right)}\ri...

[27] [28] (./7941444861566870036-16.0px.aux) )
(see the transcript file for additional information)
Output written on 7941444861566870036-16.0px.dvi (28 pages, 6780 bytes).
Transcript written on 7941444861566870036-16.0px.log.
`