\begin{patch}{MagmaXmpPagePatch1} \begin{paste}{MagmaXmpPageFull1}{MagmaXmpPageEmpty1} \pastebutton{MagmaXmpPageFull1}{\hidepaste} \tab{5}\spadcommand{x:Symbol :='x\bound{x }} \indentrel{3}\begin{verbatim} (1) x Type: Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty1} \begin{paste}{MagmaXmpPageEmpty1}{MagmaXmpPagePatch1} \pastebutton{MagmaXmpPageEmpty1}{\showpaste} \tab{5}\spadcommand{x:Symbol :='x\bound{x }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch2} \begin{paste}{MagmaXmpPageFull2}{MagmaXmpPageEmpty2} \pastebutton{MagmaXmpPageFull2}{\hidepaste} \tab{5}\spadcommand{y:Symbol :='y\bound{y }} \indentrel{3}\begin{verbatim} (2) y Type: Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty2} \begin{paste}{MagmaXmpPageEmpty2}{MagmaXmpPagePatch2} \pastebutton{MagmaXmpPageEmpty2}{\showpaste} \tab{5}\spadcommand{y:Symbol :='y\bound{y }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch3} \begin{paste}{MagmaXmpPageFull3}{MagmaXmpPageEmpty3} \pastebutton{MagmaXmpPageFull3}{\hidepaste} \tab{5}\spadcommand{z:Symbol :='z\bound{z }} \indentrel{3}\begin{verbatim} (3) z Type: Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty3} \begin{paste}{MagmaXmpPageEmpty3}{MagmaXmpPagePatch3} \pastebutton{MagmaXmpPageEmpty3}{\showpaste} \tab{5}\spadcommand{z:Symbol :='z\bound{z }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch4} \begin{paste}{MagmaXmpPageFull4}{MagmaXmpPageEmpty4} \pastebutton{MagmaXmpPageFull4}{\hidepaste} \tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} \indentrel{3}\begin{verbatim} (4) OrderedFreeMonoid Symbol Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty4} \begin{paste}{MagmaXmpPageEmpty4}{MagmaXmpPagePatch4} \pastebutton{MagmaXmpPageEmpty4}{\showpaste} \tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch5} \begin{paste}{MagmaXmpPageFull5}{MagmaXmpPageEmpty5} \pastebutton{MagmaXmpPageFull5}{\hidepaste} \tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} \indentrel{3}\begin{verbatim} (5) Magma Symbol Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty5} \begin{paste}{MagmaXmpPageEmpty5}{MagmaXmpPagePatch5} \pastebutton{MagmaXmpPageEmpty5}{\showpaste} \tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch6} \begin{paste}{MagmaXmpPageFull6}{MagmaXmpPageEmpty6} \pastebutton{MagmaXmpPageFull6}{\hidepaste} \tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} \indentrel{3}\begin{verbatim} (6) [x,x] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty6} \begin{paste}{MagmaXmpPageEmpty6}{MagmaXmpPagePatch6} \pastebutton{MagmaXmpPageEmpty6}{\showpaste} \tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch7} \begin{paste}{MagmaXmpPageFull7}{MagmaXmpPageEmpty7} \pastebutton{MagmaXmpPageFull7}{\hidepaste} \tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} \indentrel{3}\begin{verbatim} (7) [y,y] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty7} \begin{paste}{MagmaXmpPageEmpty7}{MagmaXmpPagePatch7} \pastebutton{MagmaXmpPageEmpty7}{\showpaste} \tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch8} \begin{paste}{MagmaXmpPageFull8}{MagmaXmpPageEmpty8} \pastebutton{MagmaXmpPageFull8}{\hidepaste} \tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} \indentrel{3}\begin{verbatim} (8) [[x,x],[y,y]] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty8} \begin{paste}{MagmaXmpPageEmpty8}{MagmaXmpPagePatch8} \pastebutton{MagmaXmpPageEmpty8}{\showpaste} \tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch9} \begin{paste}{MagmaXmpPageFull9}{MagmaXmpPageEmpty9} \pastebutton{MagmaXmpPageFull9}{\hidepaste} \tab{5}\spadcommand{left c\free{c }} \indentrel{3}\begin{verbatim} (9) [x,x] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty9} \begin{paste}{MagmaXmpPageEmpty9}{MagmaXmpPagePatch9} \pastebutton{MagmaXmpPageEmpty9}{\showpaste} \tab{5}\spadcommand{left c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch10} \begin{paste}{MagmaXmpPageFull10}{MagmaXmpPageEmpty10} \pastebutton{MagmaXmpPageFull10}{\hidepaste} \tab{5}\spadcommand{right c\free{c }} \indentrel{3}\begin{verbatim} (10) [y,y] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty10} \begin{paste}{MagmaXmpPageEmpty10}{MagmaXmpPagePatch10} \pastebutton{MagmaXmpPageEmpty10}{\showpaste} \tab{5}\spadcommand{right c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch11} \begin{paste}{MagmaXmpPageFull11}{MagmaXmpPageEmpty11} \pastebutton{MagmaXmpPageFull11}{\hidepaste} \tab{5}\spadcommand{length c\free{c }} \indentrel{3}\begin{verbatim} (11) 4 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty11} \begin{paste}{MagmaXmpPageEmpty11}{MagmaXmpPagePatch11} \pastebutton{MagmaXmpPageEmpty11}{\showpaste} \tab{5}\spadcommand{length c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch12} \begin{paste}{MagmaXmpPageFull12}{MagmaXmpPageEmpty12} \pastebutton{MagmaXmpPageFull12}{\hidepaste} \tab{5}\spadcommand{c::word\free{c word }} \indentrel{3}\begin{verbatim} 2 2 (12) x y Type: OrderedFreeMonoid Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty12} \begin{paste}{MagmaXmpPageEmpty12}{MagmaXmpPagePatch12} \pastebutton{MagmaXmpPageEmpty12}{\showpaste} \tab{5}\spadcommand{c::word\free{c word }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch13} \begin{paste}{MagmaXmpPageFull13}{MagmaXmpPageEmpty13} \pastebutton{MagmaXmpPageFull13}{\hidepaste} \tab{5}\spadcommand{a < b\free{a b }} \indentrel{3}\begin{verbatim} (13) true Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty13} \begin{paste}{MagmaXmpPageEmpty13}{MagmaXmpPagePatch13} \pastebutton{MagmaXmpPageEmpty13}{\showpaste} \tab{5}\spadcommand{a < b\free{a b }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch14} \begin{paste}{MagmaXmpPageFull14}{MagmaXmpPageEmpty14} \pastebutton{MagmaXmpPageFull14}{\hidepaste} \tab{5}\spadcommand{a < c\free{a c }} \indentrel{3}\begin{verbatim} (14) true Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty14} \begin{paste}{MagmaXmpPageEmpty14}{MagmaXmpPagePatch14} \pastebutton{MagmaXmpPageEmpty14}{\showpaste} \tab{5}\spadcommand{a < c\free{a c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch15} \begin{paste}{MagmaXmpPageFull15}{MagmaXmpPageEmpty15} \pastebutton{MagmaXmpPageFull15}{\hidepaste} \tab{5}\spadcommand{b < c\free{b c }} \indentrel{3}\begin{verbatim} (15) true Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty15} \begin{paste}{MagmaXmpPageEmpty15}{MagmaXmpPagePatch15} \pastebutton{MagmaXmpPageEmpty15}{\showpaste} \tab{5}\spadcommand{b < c\free{b c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch16} \begin{paste}{MagmaXmpPageFull16}{MagmaXmpPageEmpty16} \pastebutton{MagmaXmpPageFull16}{\hidepaste} \tab{5}\spadcommand{first c\free{c }} \indentrel{3}\begin{verbatim} (16) x Type: Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty16} \begin{paste}{MagmaXmpPageEmpty16}{MagmaXmpPagePatch16} \pastebutton{MagmaXmpPageEmpty16}{\showpaste} \tab{5}\spadcommand{first c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch17} \begin{paste}{MagmaXmpPageFull17}{MagmaXmpPageEmpty17} \pastebutton{MagmaXmpPageFull17}{\hidepaste} \tab{5}\spadcommand{rest c\free{c }} \indentrel{3}\begin{verbatim} (17) [x,[y,y]] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty17} \begin{paste}{MagmaXmpPageEmpty17}{MagmaXmpPagePatch17} \pastebutton{MagmaXmpPageEmpty17}{\showpaste} \tab{5}\spadcommand{rest c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch18} \begin{paste}{MagmaXmpPageFull18}{MagmaXmpPageEmpty18} \pastebutton{MagmaXmpPageFull18}{\hidepaste} \tab{5}\spadcommand{rest rest c\free{c }} \indentrel{3}\begin{verbatim} (18) [y,y] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty18} \begin{paste}{MagmaXmpPageEmpty18}{MagmaXmpPagePatch18} \pastebutton{MagmaXmpPageEmpty18}{\showpaste} \tab{5}\spadcommand{rest rest c\free{c }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch19} \begin{paste}{MagmaXmpPageFull19}{MagmaXmpPageEmpty19} \pastebutton{MagmaXmpPageFull19}{\hidepaste} \tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} \indentrel{3}\begin{verbatim} (19) [[x,x],x] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty19} \begin{paste}{MagmaXmpPageEmpty19}{MagmaXmpPagePatch19} \pastebutton{MagmaXmpPageEmpty19}{\showpaste} \tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch20} \begin{paste}{MagmaXmpPageFull20}{MagmaXmpPageEmpty20} \pastebutton{MagmaXmpPageFull20}{\hidepaste} \tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} \indentrel{3}\begin{verbatim} (20) [x,[x,x]] Type: Magma Symbol \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty20} \begin{paste}{MagmaXmpPageEmpty20}{MagmaXmpPagePatch20} \pastebutton{MagmaXmpPageEmpty20}{\showpaste} \tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch21} \begin{paste}{MagmaXmpPageFull21}{MagmaXmpPageEmpty21} \pastebutton{MagmaXmpPageFull21}{\hidepaste} \tab{5}\spadcommand{xa < ax\free{ax xa }} \indentrel{3}\begin{verbatim} (21) true Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty21} \begin{paste}{MagmaXmpPageEmpty21}{MagmaXmpPagePatch21} \pastebutton{MagmaXmpPageEmpty21}{\showpaste} \tab{5}\spadcommand{xa < ax\free{ax xa }} \end{paste}\end{patch} \begin{patch}{MagmaXmpPagePatch22} \begin{paste}{MagmaXmpPageFull22}{MagmaXmpPageEmpty22} \pastebutton{MagmaXmpPageFull22}{\hidepaste} \tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} \indentrel{3}\begin{verbatim} (22) false Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MagmaXmpPageEmpty22} \begin{paste}{MagmaXmpPageEmpty22}{MagmaXmpPagePatch22} \pastebutton{MagmaXmpPageEmpty22}{\showpaste} \tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} \end{paste}\end{patch}