\begin{patch}{TableXmpPagePatch1} \begin{paste}{TableXmpPageFull1}{TableXmpPageEmpty1} \pastebutton{TableXmpPageFull1}{\hidepaste} \tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} \indentrel{3}\begin{verbatim} (1) table() Type: Table(Polynomial Integer,String) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty1} \begin{paste}{TableXmpPageEmpty1}{TableXmpPagePatch1} \pastebutton{TableXmpPageEmpty1}{\showpaste} \tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch2} \begin{paste}{TableXmpPageFull2}{TableXmpPageEmpty2} \pastebutton{TableXmpPageFull2}{\hidepaste} \tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} \indentrel{3}\begin{verbatim} (2) "Easy to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty2} \begin{paste}{TableXmpPageEmpty2}{TableXmpPagePatch2} \pastebutton{TableXmpPageEmpty2}{\showpaste} \tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch3} \begin{paste}{TableXmpPageFull3}{TableXmpPageEmpty3} \pastebutton{TableXmpPageFull3}{\hidepaste} \tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} \indentrel{3}\begin{verbatim} (3) "Harder to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty3} \begin{paste}{TableXmpPageEmpty3}{TableXmpPagePatch3} \pastebutton{TableXmpPageEmpty3}{\showpaste} \tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch4} \begin{paste}{TableXmpPageFull4}{TableXmpPageEmpty4} \pastebutton{TableXmpPageFull4}{\hidepaste} \tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} \indentrel{3}\begin{verbatim} (4) "The easiest to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty4} \begin{paste}{TableXmpPageEmpty4}{TableXmpPagePatch4} \pastebutton{TableXmpPageEmpty4}{\showpaste} \tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch5} \begin{paste}{TableXmpPageFull5}{TableXmpPageEmpty5} \pastebutton{TableXmpPageFull5}{\hidepaste} \tab{5}\spadcommand{elt(t, x)\free{p3 }} \indentrel{3}\begin{verbatim} (5) "The easiest to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty5} \begin{paste}{TableXmpPageEmpty5}{TableXmpPagePatch5} \pastebutton{TableXmpPageEmpty5}{\showpaste} \tab{5}\spadcommand{elt(t, x)\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch6} \begin{paste}{TableXmpPageFull6}{TableXmpPageEmpty6} \pastebutton{TableXmpPageFull6}{\hidepaste} \tab{5}\spadcommand{t.x\free{p3 }} \indentrel{3}\begin{verbatim} (6) "The easiest to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty6} \begin{paste}{TableXmpPageEmpty6}{TableXmpPagePatch6} \pastebutton{TableXmpPageEmpty6}{\showpaste} \tab{5}\spadcommand{t.x\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch7} \begin{paste}{TableXmpPageFull7}{TableXmpPageEmpty7} \pastebutton{TableXmpPageFull7}{\hidepaste} \tab{5}\spadcommand{t x\free{p3 }} \indentrel{3}\begin{verbatim} (7) "The easiest to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty7} \begin{paste}{TableXmpPageEmpty7}{TableXmpPagePatch7} \pastebutton{TableXmpPageEmpty7}{\showpaste} \tab{5}\spadcommand{t x\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch8} \begin{paste}{TableXmpPageFull8}{TableXmpPageEmpty8} \pastebutton{TableXmpPageFull8}{\hidepaste} \tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} \indentrel{3}\begin{verbatim} (8) "Easy to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty8} \begin{paste}{TableXmpPageEmpty8}{TableXmpPagePatch8} \pastebutton{TableXmpPageEmpty8}{\showpaste} \tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch9} \begin{paste}{TableXmpPageFull9}{TableXmpPageEmpty9} \pastebutton{TableXmpPageFull9}{\hidepaste} \tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} \indentrel{3}\begin{verbatim} (9) "Harder to factor" Type: String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty9} \begin{paste}{TableXmpPageEmpty9}{TableXmpPagePatch9} \pastebutton{TableXmpPageEmpty9}{\showpaste} \tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch10} \begin{paste}{TableXmpPageFull10}{TableXmpPageEmpty10} \pastebutton{TableXmpPageFull10}{\hidepaste} \tab{5}\spadcommand{keys t\free{p3 }} \indentrel{3}\begin{verbatim} 3 2 (10) [x,x + 1,x - 1] Type: List Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty10} \begin{paste}{TableXmpPageEmpty10}{TableXmpPagePatch10} \pastebutton{TableXmpPageEmpty10}{\showpaste} \tab{5}\spadcommand{keys t\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch11} \begin{paste}{TableXmpPageFull11}{TableXmpPageEmpty11} \pastebutton{TableXmpPageFull11}{\hidepaste} \tab{5}\spadcommand{search(x, t)\free{p3 }} \indentrel{3}\begin{verbatim} (11) "The easiest to factor" Type: Union(String,...) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty11} \begin{paste}{TableXmpPageEmpty11}{TableXmpPagePatch11} \pastebutton{TableXmpPageEmpty11}{\showpaste} \tab{5}\spadcommand{search(x, t)\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch12} \begin{paste}{TableXmpPageFull12}{TableXmpPageEmpty12} \pastebutton{TableXmpPageFull12}{\hidepaste} \tab{5}\spadcommand{search(x**2, t)\free{p3 }} \indentrel{3}\begin{verbatim} (12) "failed" Type: Union("failed",...) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty12} \begin{paste}{TableXmpPageEmpty12}{TableXmpPagePatch12} \pastebutton{TableXmpPageEmpty12}{\showpaste} \tab{5}\spadcommand{search(x**2, t)\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch13} \begin{paste}{TableXmpPageFull13}{TableXmpPageEmpty13} \pastebutton{TableXmpPageFull13}{\hidepaste} \tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} \indentrel{3}\begin{verbatim} (13) true Type: Boolean \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty13} \begin{paste}{TableXmpPageEmpty13}{TableXmpPagePatch13} \pastebutton{TableXmpPageEmpty13}{\showpaste} \tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch14} \begin{paste}{TableXmpPageFull14}{TableXmpPageEmpty14} \pastebutton{TableXmpPageFull14}{\hidepaste} \tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} \indentrel{3}\begin{verbatim} (14) "Easy to factor" Type: Union(String,...) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty14} \begin{paste}{TableXmpPageEmpty14}{TableXmpPagePatch14} \pastebutton{TableXmpPageEmpty14}{\showpaste} \tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch15} \begin{paste}{TableXmpPageFull15}{TableXmpPageEmpty15} \pastebutton{TableXmpPageFull15}{\hidepaste} \tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} \indentrel{3}\begin{verbatim} (15) "failed" Type: Union("failed",...) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty15} \begin{paste}{TableXmpPageEmpty15}{TableXmpPagePatch15} \pastebutton{TableXmpPageEmpty15}{\showpaste} \tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch16} \begin{paste}{TableXmpPageFull16}{TableXmpPageEmpty16} \pastebutton{TableXmpPageFull16}{\hidepaste} \tab{5}\spadcommand{\#t\free{p5 }} \indentrel{3}\begin{verbatim} (16) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty16} \begin{paste}{TableXmpPageEmpty16}{TableXmpPagePatch16} \pastebutton{TableXmpPageEmpty16}{\showpaste} \tab{5}\spadcommand{\#t\free{p5 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch17} \begin{paste}{TableXmpPageFull17}{TableXmpPageEmpty17} \pastebutton{TableXmpPageFull17}{\hidepaste} \tab{5}\spadcommand{members t\free{p5 }} \indentrel{3}\begin{verbatim} (17) ["The easiest to factor","Harder to factor"] Type: List String \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty17} \begin{paste}{TableXmpPageEmpty17}{TableXmpPagePatch17} \pastebutton{TableXmpPageEmpty17}{\showpaste} \tab{5}\spadcommand{members t\free{p5 }} \end{paste}\end{patch} \begin{patch}{TableXmpPagePatch18} \begin{paste}{TableXmpPageFull18}{TableXmpPageEmpty18} \pastebutton{TableXmpPageFull18}{\hidepaste} \tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} \indentrel{3}\begin{verbatim} (18) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{TableXmpPageEmpty18} \begin{paste}{TableXmpPageEmpty18}{TableXmpPagePatch18} \pastebutton{TableXmpPageEmpty18}{\showpaste} \tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} \end{paste}\end{patch}