C7       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                            !!!!!!!!!! !!!"!#!$"%#&#'#(#)#*#+#,#-#.#/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % %%%%%%%%%%%&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y)z){)|)})~)))))))))))))******++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,, , , , , ,,,,,,--------..... .!.".#.$.%.&.'.(.).*.+.,.-.../.0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n0o0p1q1r1s1t1u1v1w1x1y1z1{2|2}2~2222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333344444444455555555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K6L6M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z8{8|8}8~8888888888889999999:::::::::::::::::::::::::::::::::;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<====================================>>>>>>>>>>>>>?????? ? ? ? ? ??????????????????? ?!?"?#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;A<A=A>A?A@AAABACADAEAFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFGGGGGGGGGGGGGGGGGGGGGGGHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*K+K,K-K.K/K0L1L2L3L4L5L6L7L8L9L:L;L<L=L>L?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LMMMMMMNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP P P P P PPPPPPPPPPPPPPPPPPP P!Q"Q#Q$Q%Q&Q'Q(R)R*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;S<S=S>S?T@TATBTCTDTETFTGTHTITJTKTLTMTNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^V_V`VaVbVcVdVeVfVgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzX{X|X}X~XXXXYYYYYYYYYYYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]^^^^^^^^^^^^^_____````aaaa a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a !a "a #a $a %a &a 'a (a )a *a +a ,a -a .a /a 0a 1a 2a 3a 4a 5a 6a 7b 8b 9b :c ;c <c =d >d ?d @d Ad Bd Cd Dd Ed Fd Gd Hd Id Jd Kd Ld Md Nd Od Pd Qd Rd Sd Td Ud Vd Wd Xd Yd Zd [d \d ]d ^d _d `d ad bd cd dd ed fd gd he if jg kg lh mi ni oj pk qk rk sk tk uk vk wk xk yk zk {k |k }k ~l l m m mpbastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafehD&Type class for bi-directional arrows.  - should be used instead of arr8 from the arrow interface. Minimal complete definition:  -.H,Instances should satisfy the following law:  getSingleton . singleton == JustKA type class for functors that can be applied to a value. Transformation, Rule, and Strategy are all instances of this type class.MReturns zero or one resultsN>Checks whether the functor is applicable (at least one result)O8If not applicable, return the current value (as default)PMSame as apply, except that the result (at most one) is returned in some monadLReturns zero or more results,+,-./012347658;9:<=>?@ABCDEFGHIJKLMNOPQRSTUV,KLMNOPQHIJDEFG@ABCR>?89:;<=4567STUV0123+,-./ +,-./0123456789:;<=>?@ABCDEFGHIJKLE1bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safec%Tests whether the derivation is emptyd+Returns the number of steps in a derivationeAll terms in a derivationfAll steps in a derivationgZThe triples of a derivation, consisting of the before term, the step, and the after term.m7Apply a monadic function to each term, and to each step_`abcdefghijklm_`abcdefghijklm_ bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SaferThe root of the treesIs this node an endpoint?t All branchesuaConstructs a node without branches; the boolean indicates whether the node is an endpoint or notv=Branches are attached after the existing ones (order matters) 'Returns the annotations at a given nodex$Returns all subtrees at a given nodeyeReturns all leafs, i.e., final results in derivation. Be careful: the returned list may be very longzdThe argument supplied is the maximum number of steps; if more steps are needed, Nothing is returned|Restrict the height of the tree (by cutting off branches at a certain depth). Nodes at this particular depth are turned into endpoints}9Restrict the width of the tree (by cutting off branches). FCommit to the left-most derivation (even if this path is unsuccessful) kFilter out intermediate steps, and merge its branches (and endpoints) with the rest of the derivation tree-All possible derivations (returned in a list)The first derivation (if any)2Return a random derivation (if any exists at all)qtsruvwxyz{|}~qrstuvwrstxyz|}{~q rst bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe|A menu offers choices and preferences. It stores singleton bindings (thus acting as a finite map) and one special element (). It is an instance of the   and   type classes.Laws: ,   are all associative, and have  as their unit element.Nothing to choose from.Normal (unbiased) choice.Left-preference.Left-biased choice.-One of the alternatives in a list (unbiased).Singleton binding$Special element for denoting success4Equality with a comparison function for the elements*Returns all elements that are in the menu.YReturns only the best elements that are in the menu with respect to left-biased choices.KReturns only the best elements that are in the menu, with a given ordering.Is the menu empty?*Get an element from the menu by its index.(Only keep the best elements in the menu.5Generalized monadic bind, with the arguments flipped.DMaps a function over a menu that also takes the index of an element.  5 3 3 33335 bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeFT1The type associated with a step in the first set."The ready predicate (we are done).The firsts set.The empty sequence.Prepend a symbol to a sequence.Append two sequences.Singleton sequence.Sequential composition. 55 bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeFTU6Process data type with efficient support for sequencesUGeneralized equality of processes, which takes an equality function for the symbols. bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeFT 0 bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeFTO NoneNRun an application using CGI. A generic CGI helper, which allows other backends (FastCGI and SCGI) to use the same code as CGI. Most users will not need this function, and can stick with  or  runSendfile.  all variablesresponseBody of inputdestination for output.does the server support the X-Sendfile header?SafeƎbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe   bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safez  Safe:-List of symbols defined in transc1 dictionaryThis symbol represents a binary log function; the first argument is the base, to which the second argument is log'ed. It is defined in Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1 This symbol represents the ln function (natural logarithm) as described in Abramowitz and Stegun, section 4.1. It takes one argument. Note the description in the CMP/FMP of the branch cut. If signed zeros are in use, the inequality needs to be non-strict. ~This symbol represents the exponentiation function as described in Abramowitz and Stegun, section 4.2. It takes one argument. sThis symbol represents the sin function as described in Abramowitz and Stegun, section 4.3. It takes one argument. sThis symbol represents the cos function as described in Abramowitz and Stegun, section 4.3. It takes one argument. sThis symbol represents the tan function as described in Abramowitz and Stegun, section 4.3. It takes one argument. sThis symbol represents the sec function as described in Abramowitz and Stegun, section 4.3. It takes one argument. sThis symbol represents the csc function as described in Abramowitz and Stegun, section 4.3. It takes one argument. sThis symbol represents the cot function as described in Abramowitz and Stegun, section 4.3. It takes one argument. tThis symbol represents the sinh function as described in Abramowitz and Stegun, section 4.5. It takes one argument. tThis symbol represents the cosh function as described in Abramowitz and Stegun, section 4.5. It takes one argument. tThis symbol represents the tanh function as described in Abramowitz and Stegun, section 4.5. It takes one argument.  tThis symbol represents the sech function as described in Abramowitz and Stegun, section 4.5. It takes one argument. !tThis symbol represents the csch function as described in Abramowitz and Stegun, section 4.5. It takes one argument. "tThis symbol represents the coth function as described in Abramowitz and Stegun, section 4.5. It takes one argument. #This symbol represents the arcsin function. This is the inverse of the sin function as described in Abramowitz and Stegun, section 4.4. It takes one argument. $This symbol represents the arccos function. This is the inverse of the cos function as described in Abramowitz and Stegun, section 4.4. It takes one argument. %This symbol represents the arctan function. This is the inverse of the tan function as described in Abramowitz and Stegun, section 4.4. It takes one argument. &_This symbol represents the arcsec function as described in Abramowitz and Stegun, section 4.4. '_This symbol represents the arccsc function as described in Abramowitz and Stegun, section 4.4. (_This symbol represents the arccot function as described in Abramowitz and Stegun, section 4.4. )`This symbol represents the arcsinh function as described in Abramowitz and Stegun, section 4.6. *`This symbol represents the arccosh function as described in Abramowitz and Stegun, section 4.6. +`This symbol represents the arctanh function as described in Abramowitz and Stegun, section 4.6. ,`This symbol represents the arcsech function as described in Abramowitz and Stegun, section 4.6. -`This symbol represents the arccsch function as described in Abramowitz and Stegun, section 4.6. .`This symbol represents the arccoth function as described in Abramowitz and Stegun, section 4.6.  !"#$%&'()*+,-. !"#$%&'()*+,-.SafeN//List of symbols defined in relation1 dictionary05This symbol represents the binary equality function. 1This symbol represents the binary less than function which returns true if the first argument is less than the second, it returns false otherwise. 2This symbol represents the binary greater than function which returns true if the first argument is greater than the second, it returns false otherwise.37This symbol represents the binary inequality function. 4This symbol represents the binary less than or equal to function which returns true if the first argument is less than or equal to the second, it returns false otherwise. 5This symbol represents the binary greater than or equal to function which returns true if the first argument is greater than or equal to the second, it returns false otherwise. 6MThis symbol is used to denote the approximate equality of its two arguments. /0123456/0123456Safe27,List of symbols defined in quant1 dictionary8This symbol represents the universal ("for all") quantifier which takes two arguments. It must be placed within an OMBIND element. The first argument is the bound variables (placed within an OMBVAR element), and the second is an expression. 9This symbol represents the existential ("there exists") quantifier which takes two arguments. It must be placed within an OMBIND element. The first argument is the bound variables (placed within an OMBVAR element), and the second is an expression. 789789Safe. :+List of symbols defined in nums1 dictionary;This symbol represents the constructor function for integers, specifying the base. It takes two arguments, the first is a positive integer to denote the base to which the number is represented, the second argument is a string which contains an optional sign and the digits of the integer, using 0-9a-z (as a consequence of this no radix greater than 35 is supported). Base 16 and base 10 are already covered in the encodings of integers. <This symbol represents the constructor function for rational numbers. It takes two arguments, the first is an integer p to denote the numerator and the second a nonzero integer q to denote the denominator of the rational p/q. =.A symbol to represent the notion of infinity. >This symbol represents the base of the natural logarithm, approximately 2.718. See Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1. ?.This symbol represents the square root of -1. @vA symbol to convey the notion of pi, approximately 3.142. The ratio of the circumference of a circle to its diameter. AA symbol to convey the notion of the gamma constant as defined in Abramowitz and Stegun, Handbook of Mathematical Functions, section 6.1.3. It is the limit of 1 + 12 + 1Q3 + ... + 1/m - ln m as m tends to infinity, this is approximately 0.5772 15664. BA symbol to convey the notion of not-a-number. The result of an ill-posed floating computation. See IEEE standard for floating point representations. :;<=>?@AB :;<=>?@ABSafeBq C,List of symbols defined in logic1 dictionaryDThis symbol is used to show that two boolean expressions are logically equivalent, that is have the same boolean value for any inputs. EzThis symbol represents the logical not function which takes one boolean argument, and returns the opposite boolean value. FThis symbol represents the logical and function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if all arguments are true or false otherwise. GThis symbol represents the logical xor function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if there are an odd number of true arguments or false otherwise. HThis symbol represents the logical or function which is an n-ary function taking boolean arguments and returning a boolean value. It is true if any of the arguments are true or false otherwise. IThis symbol represents the logical implies function which takes two boolean expressions as arguments. It evaluates to false if the first argument is true and the second argument is false, otherwise it evaluates to true. J/This symbol represents the boolean value true. K0This symbol represents the boolean value false. CDEFGHIJK CDEFGHIJKSafeNL+List of symbols defined in list1 dictionaryM This symbol represents a mapping function which may be used to construct lists, it takes as arguments a function from X to Y and a list over X in that order. The value that is returned is a list of values in Y. The argument list may be a set or an integer_interval. NQThis symbol represents the suchthat function which may be used to construct lists, it takes two arguments. The first argument should be the set which contains the elements of the list, the second argument should be a predicate, that is a function from the set to the booleans which describes if an element is to be in the list returned. OnThis symbol denotes the list construct which is an n-ary function. The list entries must be given explicitly. LMNOLMNOSafeVP-List of symbols defined in linalg2 dictionaryQThis symbol represents an n-ary function used to construct (or describe) vectors. Vectors in this CD are considered to be row vectors and must therefore be transposed to be considered as column vectors. RsThis symbol is an n-ary constructor used to represent rows of matrices. Its arguments should be members of a ring. SvThis symbol is an n-ary matrix constructor which requires matrixrow's as arguments. It is used to represent matrices. PQRSPQRSSafe{1 T*List of symbols defined in fns1 dictionaryUThe domainofapplication element denotes the domain over which a given function is being applied. It is intended in MathML to be a more general alternative to specification of this domain using such quantifier elements as bvar, lowlimit or condition. VcThis symbol denotes the domain of a given function, which is the set of values it is defined over. WThis symbol denotes the range of a function, that is a set that the function will map to. The single argument should be the function whos range is being queried. It should be noted that this is not necessarily equal to the image, it is merely required to contain the image. XxThis symbol denotes the image of a given function, which is the set of values the domain of the given function maps to. YHThe identity function, it takes one argument and returns the same value.Z[This symbol is used to describe the left inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the left inverse function is ill-defined without further stipulations. No other assumptions are made on the semantics of this left inverse. [^This symbol is used to describe the right inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the right inverse function is ill-defined without further stipulations. No other assumptions are made on the semantics of this right inverse. \FThis symbol is used to describe the inverse of its argument (a function). This inverse may only be partially defined because the function may not have been surjective. If the function is not surjective the inverse function is ill-defined without further stipulations. No assumptions are made on the semantics of this inverse. ]fThis symbol represents the function which forms the left-composition of its two (function) arguments. ^$This symbol is used to represent anonymous functions as lambda expansions. It is used in a binder that takes two further arguments, the first of which is a list of variables, and the second of which is an expression, and it forms the function which is the lambda extraction of the expression TUVWXYZ[\]^ TUVWXYZ[\]^Safe_/List of symbols defined in calculus1 dictionary`xThis symbol is used to express ordinary differentiation of a unary function. The single argument is the unary function. aThis symbol is used to express the nth-iterated ordinary differentiation of a unary function. The first argument is n, and the second the unary function. bThis symbol is used to express partial differentiation of a function of more than one variable. It has two arguments, the first is a list of integers which index the variables of the function, the second is the function. cpThis symbol is used to represent indefinite integration of unary functions. The argument is the unary function. dThis symbol is used to represent definite integration of unary functions. It takes two arguments; the first being the range (e.g. a set) of integration, and the second the function. _`abcd_`abcdSafeE e,List of symbols defined in arith1 dictionaryfaThe symbol to represent the n-ary function to return the least common multiple of its arguments. giThe symbol to represent the n-ary function to return the gcd (greatest common divisor) of its arguments. h<The symbol representing an n-ary commutative function plus. i<This symbol denotes unary minus, i.e. the additive inverse. jdThe symbol representing a binary minus function. This is equivalent to adding the additive inverse. k:The symbol representing an n-ary multiplication function. lThis symbol represents a (binary) division function denoting the first argument right-divided by the second, i.e. divide(a,b)=a*inverse(b). It is the inverse of the multiplication function defined by the symbol times in this CD.m#This symbol represents a power function. The first argument is raised to the power of the second argument. When the second argument is not an integer, powering is defined in terms of exponentials and logarithms for the complex and real numbers. This operator can represent general powering. nA unary operator which represents the absolute value of its argument. The argument should be numerically valued. In the complex case this is often referred to as the modulus. oA binary operator which represents its first argument "lowered" to its n'th root where n is the second argument. This is the inverse of the operation represented by the power symbol defined in this CD. Care should be taken as to the precise meaning of this operator, in particular which root is represented, however it is here to represent the general notion of taking n'th roots. As inferred by the signature relevant to this symbol, the function represented by this symbol is the single valued function, the specific root returned is the one indicated by the first CMP. Note also that the converse of the second CMP is not valid in general. pAn operator taking two arguments, the first being the range of summation, e.g. an integral interval, the second being the function to be summed. Note that the sum may be over an infinite interval. qAn operator taking two arguments, the first being the range of multiplication e.g. an integral interval, the second being the function to be multiplied. Note that the product may be over an infinite interval. efghijklmnopq efghijklmnopqbastiaan.heeren@ou.nl  provisional portable (depends on ghc) SaferEncode a string to UTF8 formats.Decode an UTF8 format string to unicode pointst(Encode a string to UTF8 format (monadic)u8Decode an UTF8 format string to unicode points (monadic)v1Test whether the argument is a proper UTF8 stringw2Test whether all characters are in the range 0-255x/QuickCheck internal encoding/decoding functionsrstuvwxrtsuvwxbastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafekPyz{}|~P~{|}zy{|} bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe4bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe         6bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe<Fbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeZE                   ! " # $ % & ' ( ) * + ,     &      -7!bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneŇ  "bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None$$#bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None.cRepresents a common misconception. In certain (most) situations, the two objects are not the same. %&+*)(',-. %&'()*+,-.%&'()*+$bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe*D>First argument indicates whether the table has a header or notQ-Renders as teletype or monospaced Ideas.Text.RRenders as italic text style.SRenders as bold text style.H                   ! " # $ % & ' ( ) * + ,/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU)/0234156789:;<>CDEIGFL=B@A?HJKMNOPQRSTU/ . / 0 1 2 3%bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safeo/HTML container with 16px left and right paddingNHTML container with 16px left and right padding and 16px top and bottom marginCircular badgeRectangular tagUnordered listUnordered listCode container)Inline code container (for code snippets)Container for an HTML tableAll properties set Striped tableBordered linesCentered tableHoverable tableCreates a responsive tableSame as w3-card-24Container for any HTML content (2px bordered shadow)4Container for any HTML content (4px bordered shadow)1Container for one row of fluid responsive content,Row where all columns have a default padding)Container for fixed size centered content"Half (1/2) screen column container#Third (1/3) screen column container'Two third (2/3) screen column container%Quarter (1/4) screen column container,Three quarters (3/4) screen column container%Column container for any HTML content%Occupies the rest of the column width/Hide content on small screens (less than 601px)Hide content on medium screens1Hide content on large screens (larger than 992px)Responsive imagegAdds mobile-first responsiveness to any element. Displays elements as block elements on mobile devices.%Container for layout columns (cells).Layout column (cell).-Aligns content at the top of a column (cell).9Aligns content at the vertical middle of a column (cell).0Aligns content at the bottom of a column (cell).Horizontal bar Vertical bar#Provides common style for bar itemsSide barUsed together with w3-sidebar to create a fully automatic responsive side navigation. For this class to work, the page content must be within a "w3-main" class[Container for page content when using the w3-collapse class for responsive side navigationsClickable dropdown elementHoverable dropdown element6Rectangular button with grey background color on hover(Rectangular button with shadows on hover%Rectangular button with ripple effectInput elementsCheckbox input typeRadio input typeInput select elementModal containerModal pop-up elementTooltip element Tooltip text&Animates an element from -300px to 0px)Animates an element's opacity from 0 to 1*Animates an element from 0 to 100% in sizeGAnimates an element's opacity from 0 to 1 and 1 to 0 (fades in AND out)Spin an icon 360 degrees,Animates the width of an input field to 100%nSpecifies a font size: tiny 10px, small 12px, large 18px, xlarge 24px, xxlarge 32px, xxxlarge 48px, jumbo 64pxSpecifies a wider textChanges the font to serifCentered content+Floats an element to the left (float: left)-Floats an element to the right (float: right)Left aligned textRight aligned textRight and left aligned textCircled contentHidden content (display:none) Alias of w3-show (display:block)3Show content as inline-block (display:inline-block)"Fixed content at the top of a page%Fixed content at the bottom of a page5Container for w3-display-classes (position: relative)9Displays content on hover inside the w3-display-container6Adds opacity/transparency to an element (opacity: 0.6)+Turns off opacity/transparency (opacity: 1)7Adds opacity/transparency to an element (opacity: 0.75)7Adds opacity/transparency to an element (opacity: 0.25)6Adds a grayscale effect to an element (grayscale: 50%)6Adds a grayscale effect to an element (grayscale: 75%)7Adds a grayscale effect to an element (grayscale: 100%).Adds a sepia effect to an element (sepia: 50%).Adds a sepia effect to an element (sepia: 75%)/Adds a sepia effect to an element (sepia: 100%)Creates an overlay effectBackground colorTransparent background-color Hover color Text colorHover text color7Adds transparency to an element on hover (opacity: 0.6)<Removes transparency from an element on hover (100% opacity)"Adds shadow to an element on hover<Adds a black and white (100% grayscale) effect to an element*Adds a sepia effect to an element on hover%Removes hover effects from an element\Element rounded (border-radius): small 2px, medium 4px, large 8px, xlarge 16px, xxlarge 32pxSmall: Padding 4px top and bottom, and 8px left and right, Medium: Padding 8px top and bottom, and 16px left and right, Large: Padding 12px top and bottom, and 24px left and right.YPadding top and bottom: medium 16px, large 24px, xlarge 32px, xxlarge 48px, xxxlarge 64px!Adds an 16px margin to an element0Adds an 16px top and bottom margin to an element"Borders (top, right, bottom, left) Removes all borders  Border color 'Adds a thick border (bar) to an elementWa`_^\[ZYX]bkjihgfedcltsrqmopnu~}|{zyxwv     uvwxyz{|}~lmnopqrstbcdefghijk    WXYZ[\]^_`a W XYZ[\]^_`ab cdefghijklmnopqrstuvwxyz{|}~&bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe) !"#$%&'(*+,-- !"#$%&'()*+,  !"#$%&'()*+'bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe"&./0123456789;:<=?A>C@BDEFGH=>?@ABC<9:;45678FEDG./0123H/0123 4 5 6 7 8456789:;=>?@ABC(bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeCV$\]^_`abcdefghijklmnopqrst_`\]^abcdefghijklmnopqrst\]^_`)bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Safe& 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  yz{|}~yz{|}~y *bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None+o +bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None< CType classfor accessing (and changing) the identifier of an entity.3Type class for labeling entities with an identifier Type class - for constructing identifiers. Examples are newId "algebra.equation", newId ("a", "b", "c"), and newId () for the empty identifier.Abstract data type for identifiers with a hierarchical name, carrying a description. The data type provides a fast comparison implementation.8Appends two identifiers. Both parameters are overloaded.?Get the unqualified part of the identifier (i.e., last string).UGet the list of qualifiers of the identifier (i.e., everything but the last string).Get the qualified part of the identifier. If the identifier consists of more than one part, the parts are separated by a period ( ).Get the current description.iGive a description for the current entity. If there already is a description, both strings are combined.Show the identifier.2Compare two identifiers based on their names. Use compare+ for a fast ordering based on hash values.1                   ! " # $ % & ' ( ) * + ,   8bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'KAMinimal complete definition: toView or both match and build.generalized monadic variant of match#Specialized version of traverseView9    ;           ,bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneE        -bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneCVGd47658;9:<=STUV89:;<=4567STUV       .bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneJ#Satisfaction condition$Satisfaction condition%#Turn errors into irrelevant results  !"#$%  !"#$ %   /bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeP>EConstruct a (named) test suite containing test cases and other suites?_Turn a QuickCheck property into the test suite. The first argument is a label for the property@[Turn a QuickCheck property into the test suite, also providing a test configuration (Args)G#All errors are turned into warningsH                   ! " # $ % & ' ( ) * + ,0123456789;<:=>?@ABCDEFGHIJKLMNOPQRSTUVW-=>?@ABCEDFGHIJ9:;<KNOML:<;PRQ78ST8645WVU30120123  456  !7 " # $89 % & ' (:;< ) * + ,= -0bastiaan.heeren@ou.nl  provisional portable (depends on ghc) SafeThnoon1bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFSTVU5 . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W Xpqrstuvwxy rspqtuvwxypqr Ybastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneX !"#$%&*)'(*)('% ('"!$#)&2bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneY{|}~{|}~{|}~3bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFKT`For a minimal complete definition, provide an implemention for downs or allDowns. All other functions need an implementation as well, except for change. Note that a constructor (a -> f a) is not included in the type class to allow additional type class constraints on type a.,-  Z [ \ ] ^ _ ` a b c d e f g h i j k l m4bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noned n o p0 q0 r05bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonee5      !"#$%&'()*+,-./6      !"#$%&'()*+,-./      s t6bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NonehKLKL7bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneCVkY$A type class for types as references\,A data type for references (without a value)MONPQSRTUVWXYZ[\]^_`abcdef\YZ[]X^_`aWbcQRSTUVMNOPdefMNOPQRSTUVW u vX wYZ[\ x y z { | }8bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneuz$Abstract data type for substitutions{Returns the empty substitution| Returns a singleton substitution} Turns a list into a substitution~Combines two substitutions. The left-hand side substitution is first applied to the co-domain of the right-hand side substitutionsLookups a variable in a substitution. Nothing indicates that the variable is not in the domain of the substitution/Returns the domain of a substitution (as a set)Apply the substitution z{|}~ z{|~}z ~ ~6569bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonev:bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None;=>?ACVx  1nbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NonezxD      !"#$%&'()*+,-./;bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None|   <bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'QVBAbstract data type for a context: a context stores an environment.Construct a context-Lift a rule to operate on a term in a contextWApply a function at top-level. Afterwards, try to return the focus to the old position  =bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'QVS=A type class for constructing a transformation. If possible,  makeTransK should be used. Use specialized constructor functions for disambiguation. >bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonel ?bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None>?])Abstract data type for representing rules Unique identifier of the rule 2Inspect whether or not the rule is buggy (unsound) uReturns whether or not the rule is minor (i.e., an administrative step that is automatically performed by the system)NA special (minor) rule that is never applicable (i.e., this rule always fails)7A special (minor) rule that always returns the identityaA special (minor) rule that checks a predicate (and returns the identity if the predicate holds)2Perform the function after the rule has been fired           @bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonee#$%&'()*+,-./0123456789:$%&'()*+,-./012435#6789:obastiaan.heeren@ou.nl  provisional portable (depends on ghc) NonePM     #$%&'()*+,-./0123456789:Abastiaan.heeren@ou.nl  provisional portable (depends on ghc) None ;<=>?@ABC =>?;<@ABC;<=>?Bbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None<L#Allows all permutations of the listR3Apply a certain strategy or do nothing (non-greedy)S@Apply a certain strategy if this is possible (greedy version of R)T8Repeat a strategy zero or more times (greedy version of O)U:Apply a certain strategy at least once (greedy version of P)VRApply the strategies from the list exhaustively (until this is no longer possible)FGHIJKLMNOPQRSTUVLOPQRSTUVIKJMFNGHCbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneCQV"WXYZ[\]^_`abcdefghijkmlnopqrstuvwx&qnoprsghijxihwtklmulvmcdef`ab]^_Z[\WXYWXYZ[\]^_`abcdefg hik lmnopw1Dbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFTA path encodes a location in a strategy. Paths are represented as a list of integers and terms (the latter act as input for the dynamic strategies).<The error prefix (i.e., without a location in the strategy).4Make a prefix from a core strategy and a start term.cConstruct a prefix by replaying a path in a core strategy: the third argument is the current term.UTransforms the prefix such that only major steps are kept in the remaining strategy.The searchModePrefix transformation changes the process in such a way that all intermediate states can only be reached by one path. A prerequisite is that symbols are unique (or only used once).Returns the current Path.The empty path.      Ebastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFQTVC .A strategy which is labeled with an identifier)Type class to turn values into strategies!Abstract data type for strategiesLabels a strategy with an identifier. Labels are used to identify substrategies and to specialize feedback messages. The first argument of  can be of type  K, in which case the string is used as identifier (and not as description).!Removes the label from a strategy1Construct the empty prefix for a labeled strategy^Construct a prefix for a path and a labeled strategy. The third argument is the current term.gConstruct a prefix for a list of paths and a labeled strategy. The third argument is the current term.^Construct a prefix for a path and a labeled strategy. The third argument is the initial term.EReturns a list of all major rules that are part of a labeled strategyAApply a function to all the rules that make up a labeled strategyjUse a function as do-after hook for all rules in a labeled strategy, but also use the function beforehandCUse a function as do-after hook for all rules in a labeled strategy  Fbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonea?Returns a list of all strategy locations, paired with the labelGbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFT?Apply a strategy at least once, but collapse into a single step   Hbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneɪIbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None<Put two strategies in sequence (first do this, then do that)=Choose between the two strategies (either do this or do that)Interleave two strategiesAlternate two strategies/Prefixing a basic rule to a strategy atomicallyFInitial prefixes (allows the strategy to stop succesfully at any time):The strategy that always succeeds (without doing anything)The strategy that always fails5Makes a strategy atomic (w.r.t. parallel composition))Puts a list of strategies into a sequence)Combines a list of alternative strategies2Combines a list of strategies with left-preference5Combines a list of strategies with left-biased choice)Merges a list of strategies (in parallel)#Allows all permutations of the list1Repeat a strategy zero or more times (non-greedy)3Apply a certain strategy at least once (non-greedy)*Apply a strategy a certain number of times3Apply a certain strategy or do nothing (non-greedy)eChecks whether a predicate holds for the current term. The check is considered to be a minor step.Check whether or not the argument strategy cannot be applied: the result strategy only succeeds if this is not the case (otherwise it fails).8Repeat a strategy zero or more times (greedy version of ):Apply a certain strategy at least once (greedy version of )@Apply a certain strategy if this is possible (greedy version of )aChoose between the two strategies, with a preference for steps from the left hand-side strategy.tLeft-biased choice: if the left-operand strategy can be applied, do so. Otherwise, try the right-operand strategy2Repeat the strategy as long as the predicate holds-Repeat the strategy until the predicate holdsRApply the strategies from the list exhaustively (until this is no longer possible)?The structure of a dynamic strategy depends on the current term]Create a strategy from a dependency graph with strategies as nodes Does not check for cycles""5322544Jbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None!left-most innermost traversal."left-most outermost traversal.       !"#$%&'       !"#$%&'    Kbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None+*+,-./*+,-./*2+2,3-4.5pbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneg      !"#$%&'/;/Lbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneCQVG9 HValues with a dynamic type that is parameterized over the exercise term.7 The status of an exercise class.8<A released exercise that has undergone some thorough testing94A released exercise, possibly with some deficiencies:%An exercise that is under development;-An exercise for experimentation purposes only<1For constructing an empty exercise, use function R or S.>6Identifier that uniquely determines the exercise: see ) for how to use values with identifiers.?The status of the exercise.@QParser for expressions of the exercise class, which either results in an error ( ) or a result ( ).AhPretty-printer for expressions of the exercise class. Pretty-printing should be the inverse of parsing.BUTests wether two expressions (with their contexts) are semantically equivalent. Use bF for defining the equivalence check when the context is not relevant.CTests wether two expressions (with their contexts) are syntactically the same, or nearly so. Expressions that are similar must also be equivalent. Use b: if the context is not relevant for the similarity check.DPredicate suitable identifies which expressions can be solved by the strategy of the exercise class. It acts as the pre-condition of the strategy.EPredicate ready checks if an expression is in a solved form (accepted as a final solution). It acts as the post-condition of the strategy.F=The rewrite strategy that specifies how to solve an exercise.GIs it possible to restart the rewrite strategy at any point in time? Restarting the strategy is needed when a student deviates from the strategy (detour). By default, restarting is assumed to be possible.HPAre there extra rules, possibly buggy, that do not appear in the strategy? Use W to get all rules.IThe rule ordering is a tiebreaker in situations where more than one rule can be used (e.g. feedback services onefirst and derivation; other feedback services return all possible rules).JsConstraints for constraint-based tutors. A constraint contains a relevance condition and a satisfaction condition.KA navigator is needed for traversing the expression and for using the traversal strategy combinators. By default, an exercise has no navigator.L<A finite list of examples, each with an assigned difficulty.M9A generator for random exercises of a certain difficulty.NDAn exercise generator for testing purposes (including corner cases).O%Conversion to and from the (generic)  L datatype. Needed for representing the expression in the OpenMath standard.PiRepresentation of the type of expression: this provides a back door for exercise-specific functionality.QOExtra exercise-specific properties, not used by the default feedback services.RThe RH constructor function provides sensible defaults for all fields of the < record.SIn addition to the defaults of R$, this constructor sets the fields A, C, and O.T$Pretty print a value in its context.U,Checks if an expression is in a solved form.VGChecks if the expression is suitable and can be solved by the strategy.W3Returns a sorted list of rules, without duplicates.X4Finds a rule of an exercise based on its identifier.YMakes a rule ordering based on a list of values with identifiers (e.g., a list of rules). Rules with identifiers that are not in the list are considered after the rules in the list, and are sorted based on their identifier.ZGet all constraint violations[An exercise with the status 8 or 9\An exercise that is not public]uParser for difficulty levels, which ignores non-alpha charactes (including spaces) and upper/lower case distinction.^4Assigns a difficulty level to a list of expressions.`>Returns the examples of an exercise class lifted to a context.a6Puts a value into a context with an empty environment.bYFunction for defining equivalence or similarity without taking the context into account.c,Encapsulates a type representation (use for P field).d7Set an exercise-specific property (with a dynamic type)efSet an exercise-specific property (with a dynamic type) that is parameterized over the exercise term.f5Get an exercise-specific property (of a dynamic type)gdGet an exercise-specific property (of a dynamic type) that is parameterized over the exercise term.h}Makes a random exercise generator from a QuickCheck generator; the exercise generator ignores the difficulty level. See the M field.inMakes a random exercise generator based on a QuickCheck generator for a particular difficulty level. See the M field.j`Returns a random exercise of a certain difficulty with some random number generator. The field MW is used; if this is not defined (i.e., Nothing), one of the examples is used instead.kCReturns a list of randomly generated terms of a certain difficulty.lhShows the default derivation for a given start term. The specified rule ordering is used for selection.mVShows all derivations for a given start term. Warning: there can be many derivations.niPrints the default derivation for a given start term. The specified rule ordering is used for selection.oWPrints all derivations for a given start term. Warning: there can be many derivations.p`Adds the difference of the environments in a derivation to the steps. Bindings with identifier locationH are ignored. This utility function is useful for printing derivations.Etu03124567;89:<=E>D?FK@ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrE<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ789:;[\6012345]^_`abctudfeghijklmnopqr   012345789:;<=>?@ABCDEFGHIJKLMNOPQMbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneOAAlias for strategy combinator failAlias for strategy combinator notAlias for strategy combinator repeatAlias for strategy combinator  replicateAlias for strategy combinator sequenceAlias for strategy combinator until#                       ! " # $ % & ' ( ) * + ,+,-./012347658;9:<=>?@ABCDEFGHIJKLMNOPQRSTUV_`abcdefghijklm_`b !"#$%tu      !"#$%&'()*+,-./MONPQSRTUVWXYZ[\]^_`abcdef     #$%&'()*+,-./0123456789:      !"#$%&'/03124567;89:<=E>D?FK@ABCGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr_`Nbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneFTZX EProduces a 80 bit random number, represented as 20 hexadecimal digits Obastiaan.heeren@ou.nl  provisional portable (depends on ghc) None\\ Pbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&';<=QV_$R     T       3525Qbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None;=>?FTe= DContinue with a prefix until a certain strategy location is reached.!"#$%&'%!"#$&'!"#$ Rbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonef())(Sbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneg*+341,-./0256789:;*+,-./0123456789:;* +,-./01234Tbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonei?@ABCDEFGHIJKLMJKDBEFGHI@A?CMLUbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None;=>?kNWPOQRSTUVXYZ[\NOPQRSTUVW[ZXY\N OPQRSTUVWVbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None;=>?m ^ac_`bdef e^_`abcfd^_`abcWbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneo ghnojiklmpqrstuvwxyghijklmnopqtuvrwxysg hijklmnopXbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None;=>?q<z|{}~ z{|}{|~z {|Ybastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noner  Zbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NonetX[bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneu#& \bastiaan.heeren@ou.nl provisionalportable (depends on ghc)None<{RKThe Record datatype is based on the Ideas Request Logging Schema version 2.0Add record information from the Request datatypeAAdd record information from the state (userid, sessionid, taskid) ]bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None}  ^bastiaan.heeren@ou.nl  provisional portable (depends on ghc) None  _bastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneQVS`bastiaan.heeren@ou.nl  provisional portable (depends on ghc) Noneabastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneQV  ?Uses exercise pretty-printer in case latex encoding is missing. ?Uses exercise pretty-printer in case latex encoding is missing.a                                    &                                       5bbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'QV 7 8 9 7 8 9   7 8cbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'I : ; < : ; <dbastiaan.heeren@ou.nl  provisional portable (depends on ghc) NoneQV+ = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g+ = > ? @ A B C D E F G H I J K L M N O P Q R S e f T U V W X Y Z [ \ ] _ ^ ` a c d b g = > ? @ A B C D E F G H I J K L M N O P Q R Sebastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&' h hfbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&' i igbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&'2 j k j khbastiaan.heeren@ou.nl  provisional portable (depends on ghc) Nonem l libastiaan.heeren@ou.nl  provisional portable (depends on ghc) None&' m n m njbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None o okbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None& p q r s t u v w x y z { | t u p q r s } v w x y z { | p q r slbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None ~  ~ mbastiaan.heeren@ou.nl  provisional portable (depends on ghc) None *+341,-./0256789:; ~   ~  qrsqrtqruqvwqxyqxzq{|qr}qr~qrqrqrqrqrqrqrqrqrqrqqqqxqxqxqx                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z [ \ ] t ^ _ ` a b c d e f g h i j k l m n opqrstuvwxyz{|}~      (  !""#$%&'()*++,-./011*23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX456!""#$%YZ[\]^_B ` a b c d e f g h i j k l m n o p & q [ r s t u v w x y!z!{!|!}!~!!!!!!!!!"##########$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%e%%%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%%%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q&r&r&s&t&u&v&w&w&x&y&z&{&|&}&~&&&%&&&&''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((())))))))))))))))))******++++++++++++++++++++++++++++++++++      !"#$%&'()*+,-./0123456789:;<=>?@AB,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,6,W,X,Y,Z,[,\,],^,_,`,a,b-c-d-e-f-g-h-i-j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~.//////////k////////////////////////////////////////////////////00111111111112222222222222222222222222222222223333333333333333333R33333B33333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<4=4>4?4@4A4B4C4D4E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\55]5^5_5`555a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~55555555555555555555667777777777777*7777777777777777777777777777777788888888888?888889999999:::::::::::::::::::::::::::::::::;;;;;;;;;<<<<<<<<<<< < < < < <<<<<<<<=========== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9>:>;><>=>>>?>@>A>B>C>D>E>F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f@g@)@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}A~AAAAAAAAAABBB?BBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCC]CCCCCCCCCCCCCCbCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEPEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFG G G G G GGGGGGGGG"G?GGGGGGGGHII,II I!I"II#I$II.IIIII%I&IIIIII*I'IIIIII(I)II*I+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMKKKNKOKyKPLQLRLSLLTLULVLLWLXLYLZL[L\L]L^L_L`LaLbLcL&LdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{LL|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMNNNNNNNNNNNNNNNNNcNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPP[PPPGPoPPPPPPPVPPPkPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP P P P P PPPPPPPPPPPPPPPPPPP P!P"P#P$P%P&P'Q(QnQ)Q*Q+Q,Q-R.R/S0S1S2S3S4S5S6S7S8S9S:S;S<S=S>S?S@SASBSCSDTETFTGTHTITJTKTLTTMTTNTOTPTQURUSUUTUUUVUWUXUYUZU[U\U]U^UU_VkVVTVnVXVZV[V`VaWWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsXXtXgXuXvXwXxXyYYzY{Y|Y}Y~YYYYYZ[[[[[[[[[&[[[[[[[[[][[[[[[[[-[[[[[[[[[[[[[[[[\\\\\\\\\\-\\\\\\\g\9\\\\)\o\\\\\\\\\]]]]]]]]]]]:]]]^^^^^^^^^^^^^_____````aaaaaaaapaaaaaaaaaaaaaaaaaaaaaaa a a aMa a a a a a a a a a a a a a a a a a a a a a a a a b b b c c c d !d !d "d #d $d %d &d 'd (d )d *d +d ,d -d .d /d 0d 1d 2d 3d 4d 5d 6d 7d 8d 9d :d ;d <d =d >d ?d @d Ad Bd Cd Dd Ed Fd Gd Hd Id Je Kf Lg Mg Nh Oi Pi Qj Rk Sk Tk Uk Vk Wk Xk Yk Zk [k \k ]k ^k _k `l al bm cm dm e f g h iqx jqx k   l    m  n  o= p  q r s t u v w u v x u v u v y u v z u v { u | u | } u | ~ u  u u u u u u u u  u  u  u u u u u u u u u u u u u  u  u f u u u u u u u u u u u u u  u  u u u  u  u  u  u u u u u u u u u u u u u u u u  u u u u u  u  u u u [ u u u  u u u u u u u  u u u u u u u P u N u u u  u  u u u  u u  u u u u u u u u u  u  u  u  qx qx qx qx q  q  q q  q  q q  q  q q q q q  q  q q  q  q q  q  q q  q  q q  q  q  $$x$ $7$ $ ' '' ' '                                                     k           !   "   #  $  %  o  &  '  (  )  *  +  , -  , .  , /  , 0  , 1  , 2  , 3  , 4  , 5  , 6  , 7  , 8  , 9  , :  ,P  , ;  , <  ,6  , =  , >  , ?  , @  , A  , B  , C  , D  , E  , F  , G  , H  , I  , J  , J  K L  K M  K N  K O  K P  K Q  K R  K S  KN  K T  U V  U V  U W  U  U  U X  U Y  U Z  U [  U \  U ]  U ^  U _  U _  U `  U a  U a  U b  U c  U c  U d  U  U  U e  U  U  U f  U g  U g  U h  U i  U i  U j  U j  U k  U l  U m  U n  U n  U o  U p  U p  U q  U r  U r  U s  t u  t v  t w  t x  t y  t z  t {  t |  t }  t ~  t   t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t  t                 F          ) * Tqx ++ + +           , , ,, , , -- - - - - - . . // /n/ /m/ / / /k/ / / / // / / q   q q q q q q q q q q q q q q q q q q q q q q q q  q  q  q  q  q  q  q q q q q q  q  q  q  q  q  1 3 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 s4 4 4 .4 !4 "5 T5 #7b7 $777 %7 &7_7 '7 (8 T8 ): *: +: ,: -: .: /;< 0<< 1< < 2< 3= 4== 5= 6= 7= 8= 9= := ;= <> *> =? +? >? ??G? @? AC C BC CC DD ED FD GDDD HD IqxE JE TE )G KG LG MJ NJ OJ PJ PJ QJ RJ SJ TJ UJ VJ(J WJ J XJ YJ ZJ [J \J ]J ^Lq _ `q _ aL bL bL cL CL dN eNO TP TPQ fQ*Q gX \ s\ h^qx iqx jqx kq l q l mq l nq l oq l pq l qq l rq l sq l sq l tqr uqr vqr wqr xqr yqr zqr {qr {qr |qr }qr ~qr qr qr qr q qx qx qx qx qxNqx qxamama a a a a a a a b b b b b ideas-1.7-JSp3Fm1mmds3b1rB0lCXBSIdeas.Common.ViewIdeas.Text.LatexIdeas.Utils.ParsingIdeas.Common.Traversal.UtilsIdeas.Utils.UniplateIdeas.Common.ClassesIdeas.Common.DerivationIdeas.Common.DerivationTreeIdeas.Common.Rewriting.ACIdeas.Common.Strategy.ChoiceIdeas.Common.Strategy.SequenceIdeas.Common.Strategy.ProcessIdeas.Common.Traversal.IteratorIdeas.Main.CGIIdeas.Main.RevisionIdeas.Text.OpenMath.Symbol&Ideas.Text.OpenMath.Dictionary.Transc1(Ideas.Text.OpenMath.Dictionary.Relation1%Ideas.Text.OpenMath.Dictionary.Quant1$Ideas.Text.OpenMath.Dictionary.Nums1%Ideas.Text.OpenMath.Dictionary.Logic1$Ideas.Text.OpenMath.Dictionary.List1&Ideas.Text.OpenMath.Dictionary.Linalg2#Ideas.Text.OpenMath.Dictionary.Fns1(Ideas.Text.OpenMath.Dictionary.Calculus1%Ideas.Text.OpenMath.Dictionary.Arith1Ideas.Text.UTF8Ideas.Text.XML.DocumentIdeas.Text.XML.UnicodeIdeas.Text.XML.ParserIdeas.Text.XML.InterfaceIdeas.Text.XMLIdeas.Text.OpenMath.ObjectIdeas.Text.OpenMath.TestsIdeas.Text.OpenMath.FMPIdeas.Text.HTMLIdeas.Text.HTML.W3CSSIdeas.Text.HTML.TemplatesIdeas.Text.JSONIdeas.Utils.PreludeIdeas.Utils.QuickCheckIdeas.Utils.StringRefIdeas.Common.Id Ideas.Common.Strategy.CyclicTreeIdeas.Common.PredicateIdeas.Common.ConstraintIdeas.Utils.TestSuiteIdeas.Utils.BlackBoxTestsIdeas.Utils.TypeableIdeas.Text.MathML Ideas.Common.Traversal.NavigatorIdeas.Common.Traversal.TestsIdeas.Common.Rewriting.Term!Ideas.Common.Rewriting.DifferenceIdeas.Common.Environment#Ideas.Common.Rewriting.Substitution"Ideas.Common.Rewriting.Unification"Ideas.Common.Rewriting.RewriteRule!Ideas.Common.Rewriting.ConfluenceIdeas.Common.Context Ideas.Common.Rule.TransformationIdeas.Common.Rule.RecognizerIdeas.Common.Rule.AbstractIdeas.Common.Rule.ParameterIdeas.Common.Strategy.SymbolIdeas.Common.Strategy.Derived"Ideas.Common.Strategy.StrategyTreeIdeas.Common.Strategy.PrefixIdeas.Common.Strategy.AbstractIdeas.Common.Strategy.Location#Ideas.Common.Strategy.ConfigurationIdeas.Encoding.StrategyInfo!Ideas.Common.Strategy.CombinatorsIdeas.Common.Strategy.TraversalIdeas.Common.Strategy.LegacyIdeas.Common.ExerciseIdeas.Common.LibraryIdeas.Service.State#Ideas.Service.FeedbackScript.SyntaxIdeas.Service.Types"Ideas.Service.ProblemDecomposition#Ideas.Service.FeedbackScript.ParserIdeas.Service.DomainReasonerIdeas.Service.BasicServicesIdeas.Service.DiagnoseIdeas.Service.Submit Ideas.Service.FeedbackScript.RunIdeas.Service.FeedbackText%Ideas.Service.FeedbackScript.AnalysisIdeas.Encoding.RulePresenterIdeas.Encoding.RequestIdeas.Encoding.LoggingIdeas.Main.CmdLineOptionsIdeas.Encoding.OptionsIdeas.Encoding.OpenMathSupportIdeas.Encoding.RulesInfoIdeas.Encoding.EncoderIdeas.Encoding.EvaluatorIdeas.Encoding.EncoderXMLIdeas.Encoding.LinkManagerIdeas.Encoding.EncoderJSONIdeas.Encoding.EncoderHTMLIdeas.Encoding.DecoderXMLIdeas.Encoding.ModeXMLIdeas.Encoding.DecoderJSONIdeas.Encoding.ModeJSONIdeas.Common.ExerciseTestsIdeas.Service.ServiceListIdeas.Main.DefaultIdeas.Common.RewritingIdeas.Common.RuleIdeas.Common.Strategybase Control.Arrowarrfirst|||Data.Semigroup<>GHC.Base<*>*> Control.Monad>=>&&&***secondArrow zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoiceControl.Category>>><<< Data.Functor<$><**><$<*mplus&uniplate-1.6.12-C6JaHrnzBFgAzOZz1tdrCMData.Generics.Uniplate.Direct||*|-|*plate!Data.Generics.Uniplate.OperationsparaholescontextsrewriteMrewrite transformM transformchildrenuniversedescendMdescenduniplateUniplateMinorminorsetMinorisMinorisMajorBuggybuggysetBuggyisBuggyBoolean<&&><||> complement BoolValuetruefalsefromBoolisTrueisFalseFixfix BiFunctorbiMapmapFirst mapSecondBiArrow<->!-><-! Container singleton getSingletonApplyapplyAllapply applicableapplyDapplyM applyListmapBothandsorsimplies equivalent$fContainerSet $fContainer[]$fBiFunctor(,)$fBiFunctorEither$fBoolValue(->)$fBoolValueBool $fBoolean(->) $fBooleanBool DerivationemptyDerivationprependextendisEmptyderivationLengthtermsstepstriples firstTermlastTermlastStep withoutLast updateSteps derivationM$fBiFunctorDerivation$fFunctorDerivation$fShowDerivationDerivationTreerootendpointbranches singleNode addBranchesmakeTreesubtreesleafs lengthMaxupdateAnnotationsrestrictHeight restrictWidthsortTreemergeMaybeSteps cutOnStep cutOnTerm derivations derivationrandomDerivation$fBiFunctorDerivationTree$fFunctorDerivationTree$fShowDerivationTree PairingsPair PairingsListPairings pairingsNone pairingsC pairingsApairingsMatchA pairingsACMenuChoiceempty.|../.|>choice preferenceorelse|->doneMenuhasDoneeqMenuByelemsbests bestsOrdered getByIndexcutonMenuonMenuWithIndex $fChoice(->) $fChoice[] $fFunctorMenu $fChoiceMenu$fEqMenuFirstsElemreadyfirstsSequenceSymdone~>.*.singlesequence firstsTree$fSequence(->)Process runProcessmenuwithMenu eqProcessByfold$fFirstsProcess $fFixProcess$fSequenceProcess$fChoiceProcess$fFunctorProcess $fEqProcessMirrorWrapperwrapunwrapFocusUnfocusfocusfocusMunfocusUpdateupdatecurrentchangereplacechangeMchangeG liftFocus unliftFocus liftWrapper unliftWrapper mapWrapper makeMirror>|<safefixpfixpl$fWrapperMirror $fShowMirror $fEqMirror ListIteratorIteratornextpreviousfinalpositionisFirstisFinalhasNext hasPrevious searchForwardsearchBackward searchNextsearchPrevious searchWith$fIteratorMirror$fArbitraryListIterator$fUpdateListIterator$fFocusListIterator$fIteratorListIterator$fShowListIterator$fEqListIteratorrun ideasVersion ideasRevisionideasLastChangedToLatextoLatex toLatexPrec toLatexListLatexcommasbracketsparensarraycommand $fMonoidLatex$fSemigroupLatex$fIsStringLatex $fShowLatex $fToLatexInt $fToLatexChar$fToLatexMaybe $fToLatex[]Symbol makeSymbol extraSymbol dictionary symbolName showSymbol transc1List logSymbollnSymbol expSymbol sinSymbol cosSymbol tanSymbol secSymbol cscSymbol cotSymbol sinhSymbol coshSymbol tanhSymbol sechSymbol cschSymbol cothSymbol arcsinSymbol arccosSymbol arctanSymbol arcsecSymbol arccscSymbol arccotSymbol arcsinhSymbol arccoshSymbol arctanhSymbol arcsechSymbol arccschSymbol arccothSymbol relation1ListeqSymbolltSymbolgtSymbol neqSymbol leqSymbol geqSymbol approxSymbol quant1List forallSymbol existsSymbol nums1ListbasedIntegerSymbolrationalSymbolinfinitySymboleSymboliSymbolpiSymbol gammaSymbol naNSymbol logic1ListequivalentSymbol notSymbol andSymbol xorSymbolorSymbol impliesSymbol trueSymbol falseSymbol list1List mapSymbolsuchthatSymbol listSymbol linalg2List vectorSymbolmatrixrowSymbol matrixSymbolfns1ListdomainofapplicationSymbol domainSymbol rangeSymbol imageSymbolidentitySymbolleftInverseSymbolrightInverseSymbol inverseSymbolleftComposeSymbol lambdaSymbol calculus1List diffSymbol nthdiffSymbolpartialdiffSymbol intSymbol defintSymbol arith1List lcmSymbol gcdSymbol plusSymbolunaryMinusSymbol minusSymbol timesSymbol divideSymbol powerSymbol absSymbol rootSymbol sumSymbol productSymbolencodedecodeencodeMdecodeMisUTF8allBytes propEncodingExternalTextDecl ConditionalIncludeIgnorePublicID ExternalIDSystemPublic EntityValueAttValue EntityDefAttDef DefaultDeclRequiredImpliedValueFixedAttTypeIdType IdRefType IdRefsType EntityType EntitiesType NmTokenType NmTokensType StringTypeEnumerationType NotationTypeCP QuestionMarkStarPlusCPName ContentSpecEmptyAnyMixedChildren DocTypeDecl ElementDecl AttListDecl EntityDecl NotationDecl DTDParameterDTDConditionalDTDContentElementname attributescontentXMLTaggedCharDataCDATA ReferenceXMLDoc versionInfoencoding standalonedtd externals ParameterCharRef EntityRef Attribute:= AttributesName prettyXML prettyElement$fPrettyReference$fShowReference$fPrettyParameter$fShowParameter$fPrettyAttribute$fShowAttribute$fPrettyElement $fPrettyXML $fShowElement $fShowXMLisLetter isExtenderisDigitisCombiningChardecodingUnbalancedError NotClosed NotOpened parseSimplecompleteskipnaturalOrFloatfloat<..>rangesstopOnbalanced$fShowUnbalancedErrordocument extSubset extParsedEnt compactXML normalizeparseXML findAttribute findChildren findChildgetData XMLBuilderBuildXML.=. unescapedbuildertagstringtextelementemptyTagInXMLtoXML listToXMLfromXML listFromXMLAttrListAttr parseXMLFilemakeXMLmwhenmunless fromBuilder$fIsStringXMLBuilder$fBuildXMLXMLBuilder$fMonoidXMLBuilder$fSemigroupXMLBuilderOMOBJOMIOMFOMVOMSOMAOMBINDgetOMVs xml2omobj omobj2xml$fUniplateOMOBJ $fInXMLOMOBJ $fShowOMOBJ $fEqOMOBJFMPquantor metaVariables leftHandSiderelation rightHandSidetoObjecteqFMPbuggyFMPHTMLPage HTMLBuildershowHTMLaddCSS addScriptaddStylehtmlPagelinkh1h2h3h4h5h6preTextprehrbrttTextultable keyValueTablespacesspacebulletimagedivClass spanClass highlightXMLidAclassAstyleAtitleAttitalicboldbigsmall$fInXMLHTMLPage ColorThemeL1L2L3L4L5D1D2D3D4D5PositionTopLeftTopTopRight CenterLeftCenter CenterRight BottomLeftBottom BottomRightSizeTinySmallMediumLargeXLXXLXXXLJumboColorRedPinkPurple DeepPurpleIndigoBlue LightBlueCyanAquaTealGreen LightGreenLimeSandKhakiYellowAmberOrange DeepOrangeBlueGrayBrown LightGrayGrayDarkGrayBlackPaleRed PaleYellow PaleGreenPaleBlueWhitew3cssw3class w3classIfonToponLeftonRightonBottomuncamel containerpanelbadgeulWithcodecodespantableAllstripedborderedcentered hoverable responsivecardcard2card4row rowPaddinghalfthirdtwothirdquarter threequartercolrest hideSmall hideMedium hideLargemobilecellRowcellcellTop cellMiddle cellBottombarbarBlockbarItemsidebarcollapsemainPage dropdownClick dropdownHoverbuttonbtnrippleinputcheckradioselectmodal modalContenttooltip tooltipTextanimateanimateOpacity animateZoom animateFadingspin animateInputfontSizewideserifcenter leftAlign rightAlignjustifycirclehide showBlockshowInlineBlocktopbottomdisplay displayHoveropacity opacityOff opacityMin opacityMax grayscaleMin grayscale grayscaleMaxsepiaMinsepiasepiaMaxoverlay background transparenthover textColor hoverColor hoverOpacityhoverOpacityOff hoverShadowhoverGrayscale hoverSepia hoverNoneroundedpaddingvpaddingmargin marginPossectionborder borderPosnoBorder borderColorbarPostheme_ textTheme borderThemetheme $fShowSize $fShowColor$fEqSize $fOrdSize$fShowPosition $fEqPosition$fShowColorThemeButton buttonUrl buttonStyle buttonTextStyleWebPagetitle menuButtons menuStyle iconBarsStyle sideWidth sideHeader sideButtons sideStyleiconCloseStylefooter footerStyle fontAwesomewebpage RPCHandler RPCResponseResponseresponseResult responseError responseIdInJSONtoJSON listToJSONfromJSON listFromJSONNumberIDKeyJSONStringArrayObjectNull compactJSON parseJSONlookupMjsonRPC$fArbitraryNumber $fShowNumber$fArbitraryJSON $fShowJSON $fInJSON(,,,) $fInJSON(,,) $fInJSON(,) $fInJSON[] $fInJSONBool $fInJSONChar$fInJSONDouble$fInJSONInteger $fInJSONInt$fInJSONRPCRequest$fShowRPCRequest$fInJSONRPCResponse$fShowRPCResponse $fEqNumber$fEqJSON ShowStringfromShowStringSomereadIntreadMsubsets isSubsetOf cartesiandistinctallsamefixpoint splitAtElemsplitsWithElem timedSecondsfst3snd3thd3headM findIndexM elementAtchangeAt replaceAtlist$fReadShowString$fShowShowString$fEqShowString$fOrdShowStringArbGen generator generatorsarbGenconstGen constGensunaryGen unaryArbGen unaryGens binaryGen binaryGenstoArbGencommonuncommonrarechangeFrequency$fMonoidArbGen$fSemigroupArbGen StringRef stringReftoString tableStatus $fEqStringRef$fOrdStringRefHasIdgetIdchangeIdIdentify@>IsIdnewIdconcatIdId# unqualified qualifiers qualification descriptiondescribeshowId compareId $fMonoidId $fSemigroupId$fOrdId$fEqId$fReadId$fShowId $fIsIdEither $fIsIdMaybe $fIsId(,,) $fIsId(,)$fIsId()$fIsId[] $fIsIdChar$fIsIdId $fArbitraryId $fHasIdEither $fHasIdId ViewPackageLiftViewliftView liftViewIn IsomorphismfromtoViewIsViewbuildtoViewMatcher IsMatchermatchmatchermatchM belongsToviewEquivalentviewEquivalentWith makeMatcher canonical canonicalWithcanonicalWithM isCanonicalisCanonicalWithsimplify simplifyWith simplifyWithMmakeView matcherViewidentityinverseswapViewlistView traverseView$<propIdempotence propSoundnesspropNormalForm$fIsMatcherMatcher$fIdentifyView $fHasIdView$fIsMatcherView$fArrowChoiceView $fBiArrowView $fArrowView$fCategoryTYPEView $fIsViewView$fIdentifyIsomorphism$fHasIdIsomorphism$fIsViewIsomorphism$fIsMatcherIsomorphism$fArrowChoiceIsomorphism$fBiArrowIsomorphism$fArrowIsomorphism$fCategoryTYPEIsomorphism$fHasIdViewPackage$fCategoryMatcher$fArrowMatcher$fArrowZeroMatcher$fArrowPlusMatcher$fArrowChoiceMatcher CyclicTreeAlgfNodefLeaffLabelfRecfVar CyclicTree shrinkTreenodenode0node1node2leaflabelisNodeisLeafisLabel replaceNode replaceLabel replaceLeaf foldUnwindemptyAlg monoidAlg$fArbitraryCyclicTree$fFixCyclicTree$fMonadCyclicTree$fFunctorCyclicTree$fTraversableCyclicTree$fFoldableCyclicTree$fApplicativeCyclicTree$fBiFunctorCyclicTree$fShowCyclicTree Predicate predicate predicateView evalPredicate$fIdentifyPredicate$fHasIdPredicate$fBooleanPredicate$fBoolValuePredicateResult IrrelevantErrorOk Constraint getResultmakeConstraint isRelevant isSatisfied isViolated relevance$fMonadPlusResult $fMonadResult$fAlternativeResult$fApplicativeResult$fFunctorResult$fLiftViewConstraint$fHasIdConstraint$fOrdConstraint$fEqConstraint$fShowConstraint HasRatingratingrateRating HasStatus getStatusStatusMessage messageLines nrOfTests nrOfWarnings nrOfErrors TestSuitesuite usePropertyusePropertyWith assertTrue assertNull assertEquals assertMessageassertIOassertMessageIO onlyWarnings rateOnError runTestSuiterunTestSuiteResult subResults topMessages allMessages findSubResult justOneSuite timeInterval printSummary makeSummarymessagewarningisOk isWarningisError$fMonoidStatus$fSemigroupStatus$fMonoidRating$fSemigroupRating$fHasStatusMessage$fMonoidMessage$fSemigroupMessage $fShowMessage$fMonoidTestSuite$fSemigroupTestSuite$fHasStatusResult$fMonoidResult$fSemigroupResult $fShowResult$fHasRatingRating$fHasRatingMessage$fHasRatingResult $fEqStatus $fOrdStatus $fEqRating $fOrdRating $fEqMessage TestRunner blackBoxTests HasTypeable getTypeable IsTypeabletypeablecastFromcastTo castBetween gcastFromgcastTo gcastBetween$fHasTypeableIsTypeableMathMLMRowMIdMNumber MOperatorMStringMTextMSqrtMRootMSupMSubMSubSupMFracMFencedMSpaceMStyleMPaddedMPhantomMErrorMEncloseMUnderMOver MUnderOverMTable MTableRowMLabeledTableRow MTableData xml2mathml mathml2xml$fUniplateMathML $fInXMLMathML $fShowMathML $fEqMathMLUniplateNavigatorLeafs Horizontal LevelOrder PostOrderPreOrder NavigatorupdowndownLastchildnrlocationLocation fromLocation toLocationisTophasLefthasRighthasUphasDownleftMost rightMost leftMostLeaf rightMostLeafdownsdownToaritydepthlevel levelNext levelPrevious leftMostAt rightMostAt navigateTonavigateTowards makePreOrder makePostOrdermakeLevelOrdermakeHorizontal makeLeafs$fMonoidLocation$fSemigroupLocation$fShowLocation$fNavigatorMirror$fIteratorPreOrder$fUpdatePreOrder$fWrapperPreOrder$fUpdatePostOrder$fWrapperPostOrder$fIteratorLevelOrder$fUpdateLevelOrder$fWrapperLevelOrder$fIteratorHorizontal$fUpdateHorizontal$fWrapperHorizontal$fIteratorLeafs $fUpdateLeafs$fWrapperLeafs$fFocusStrNavigator$fNavigatorStrNavigator$fUpdateStrIterator$fFocusStrIterator$fIteratorStrIterator$fArbitraryUniplateNavigator$fFocusUniplateNavigator$fUpdateUniplateNavigator$fNavigatorUniplateNavigator$fEqUniplateNavigator$fShowUniplateNavigator $fEqLocation $fOrdLocation$fShowPreOrder $fEqPreOrder$fShowPostOrder $fEqPostOrder$fIteratorPostOrder$fShowLevelOrder$fEqLevelOrder$fShowHorizontal$fEqHorizontal $fShowLeafs $fEqLeafs testIterator testNavigatortestslistGenuniGen $fArbitraryT $fUniplateT$fShowT$fEqT WithMetaVarsmetaVar getMetaVarWithVarsvariable getVariable WithFunctionssymbolfunction getSymbol getFunctionIsTermtoTerm toTermListfromTerm fromTermListTermTVarTConTListTNumTFloatTMeta isAssociative newSymbolmakeAssociativetermView nothingSymbol fromTermM fromTermWithisSymbol isFunctionunarybinaryternaryisUnaryisBinary isVariablevarsvarSethasVar withoutVar hasSomeVarhasNoVar variableView isMetaVarmetaVars metaVarSet hasMetaVar nextMetaVar $fHasIdSymbol $fReadSymbol $fShowSymbol $fOrdSymbol $fEqSymbol $fIsTermMap $fIsTermSet $fIsTerm[] $fIsTermChar$fIsTermDouble$fIsTermInteger $fIsTermInt$fIsTermEither $fIsTerm(,)$fIsTermShowString $fIsTermTerm$fArbitraryTerm$fWithFunctionsTerm $fIsTermMaybe $fIsTermBool$fUniplateTerm$fWithVarsTerm$fWithMetaVarsTerm $fShowTerm $fReadTerm$fEqTerm $fOrdTerm differencedifferenceWithHasRefsgetRefsallRefs getRefIdsHasEnvironment environmentsetEnvironment deleteRef insertRef changeRef EnvironmentBindingmakeRef makeRefListRefmapRef makeBinding fromBinding showValue getTermValuemakeEnvironment singleBindingbindings noBindings?$fHasTypeableRef $fHasIdRef$fEqRef $fShowRef$fReference(,) $fReference[]$fReferenceShowString$fReferenceChar$fReferenceTerm$fReferenceInt$fHasIdBinding $fEqBinding $fShowBinding$fMonoidEnvironment$fSemigroupEnvironment$fShowEnvironment$fHasEnvironmentEnvironment$fHasRefsEnvironment$fEqEnvironment Substitution emptySubstsingletonSubst listToSubst@@ composable lookupVardom@+@$fArbitrarySubstitution$fShowSubstitution$fMonoidSubstitution$fSemigroupSubstitution$fEqSubstitution SymbolMatchMatchunify matchExtended matchListunificationTests RuleBuilder buildRuleSpec Different different RewriteRule ruleSpecTermRuleSpec:~>makeRewriteRuletermRewriteRule symbolMatcher symbolBuildershowRewriteRulemetaInRewriteRulerenumberRewriteRule$fFunctorRuleSpec$fApplyRewriteRule$fHasIdRewriteRule$fShowRewriteRule$fDifferent(,,)$fDifferent(,)$fDifferentTerm$fDifferentChar$fDifferentBool$fDifferentRatio$fDifferentFloat$fDifferentDouble$fDifferentInteger$fDifferentInt $fDifferent[]$fRuleBuilder(->)b$fRuleBuilderRuleSpeca$fShowRuleSpecConfigshowTerm complexity termEquality somewhereM isConfluentcheckConfluencecheckConfluenceWith defaultConfigContextNavigatorContext fromContextfromContextWithfromContextWith2 newContext noNavigator navigator termNavigator contextView liftToContextapplyTopuseuseC currentTerm changeTermcurrentInContextchangeInContextreplaceInContext$fHasEnvironmentContext$fNavigatorContext $fShowContext $fEqContext MakeTrans makeTransTransTransformation transPure transMaybe transList transGuard transRewritereadRefreadRefDefault readRefMaybewriteRef writeRef_ writeRefMaybetransUseEnvironment transLiftViewtransLiftViewIntransLiftContexttransLiftContextIn transApplytransApplyWithgetRewriteRules$fHasRefsTrans$fAlternativeTrans$fApplicativeTrans$fFunctorTrans $fMonoidTrans$fSemigroupTrans$fArrowChoiceTrans$fArrowPlusTrans$fArrowZeroTrans $fArrowTrans$fCategoryTYPETrans $fMakeTrans[]$fMakeTransMaybe Recognizer Recognizable recognizer recognizeAll recognizerecognizeTransmakeRecognizermakeRecognizerTrans$fHasRefsRecognizer$fMonoidRecognizer$fSemigroupRecognizer$fLiftViewRecognizer$fRecognizableRecognizerRule ruleSiblingstransformationcheckReferencesmakeRule ruleMayberuleList ruleTrans ruleRewrite rewriteRule rewriteRules buggyRule minorRule emptyRuleidRule checkRule isRewriteRule siblingOfdoAfter addRecognizeraddRecognizerBooladdTransRecognizer $fHasRefsRule $fMinorRule $fBuggyRule$fRecognizableRule$fLiftViewRule $fHasIdRule $fApplyRule $fOrdRule$fEqRule $fShowRule ParamTrans inputWith transInput1 transInput2 transInput3transInputWithreadRef2readRef3output outputWith outputOnly outputOnly2 outputOnly3outputOnlyWith writeRef2 writeRef2_ writeRef3 writeRef3_ parameter1 parameter2 parameter3transRefsupplyParameters LabelSymbol isEnterSymbol AtomicSymbol atomicOpen atomicClose enterRuleexitRule isEnterRule isExitRule$fAtomicSymbolRule$fLabelSymbolRule!*>filterPatomic interleave<%>permute<@>initsmanymany1 replicateoptiontryrepeatrepeat1 exhaustiveNaryfromNaryBinary fromBinaryUnary fromUnaryNullary fromNullaryAritylistifytoArityliftIsoDecl combinator CombinatorDynamic dynamicToTermdynamicFromTermLeafLeafRuleLeafDyn StrategyTree treeToProcessmapRulesInTree applyDecl makeDynamic dynamicTree associative$fArityNullary $fArityUnary $fArityBinary $fArityNary $fHasIdDecl$fEqDecl $fShowDecl$fLiftViewDynamic$fApplyDynamic$fHasIdDynamic$fLiftViewLeaf $fApplyLeaf $fMinorLeaf$fLabelSymbolLeaf$fAtomicSymbolLeaf $fHasIdLeaf$fEqLeaf $fShowLeafPathPrefix firstsOrderednoPrefix makePrefix replayProcess isEmptyPrefix majorPrefixsearchModePrefix prefixPaths emptyPathreadPath readPaths$fReadPathItem$fShowPathItem $fShowPath$fFirstsPrefix$fMonoidPrefix$fSemigroupPrefix $fShowPrefix $fEqPathItem$fEqPathLabeledStrategy IsStrategy toStrategyStrategyliftSliftS2liftSnunlabel emptyPrefix replayPath replayPathsreplayStrategyderivationListrulesInStrategymapRules mapRulesScleanUpStrategycleanUpStrategyAftertoStrategyTreeonStrategyTreedecl0decl1decl2declNuseDecl$fLiftViewStrategy $fFixStrategy$fChoiceStrategy$fApplyStrategy$fShowStrategy$fIsStrategyDynamic$fIsStrategyRewriteRule$fIsStrategyRule$fIsStrategyStrategy$fSequenceStrategy$fLiftViewLabeledStrategy$fHasIdLabeledStrategy$fApplyLabeledStrategy$fShowLabeledStrategy$fIsStrategyLabeledStrategy checkLocationsubTaskLocationnextTaskLocationstrategyLocations ConfigActionRemoveReinsertCollapseExpandHideReveal StrategyCfgbyName configure configureS isConfigIdremovemulti$fShowConfigLocation$fReadConfigAction$fMonoidStrategyCfg$fSemigroupStrategyCfg$fShowStrategyCfg$fShowConfigAction$fEqConfigAction strategyToXMLDependencyGraph.%..@.!~>succeedfailnoInterleaving interleaveIdnotwhileuntildynamicdependencyGraphOptionlayertraversetopdownbottomup leftToRight rightToLeftfullspinestoponceleftmost rightmosttraversalFilter parentFilterfulltdfullbuoncetd oncetdPrefoncebu oncebuPref leftmostbu leftmosttd somewhere somewhereWhen innermost outermostruleUpruleDown ruleDownLastruleLeft ruleRight$fMonoidOption$fSemigroupOption<|>>|> alternatives DifficultyVeryEasyEasy Difficult VeryDifficultExamplesStable ProvisionalAlpha ExperimentalExercise NewExercise exerciseIdstatusparser prettyPrinter equivalence similaritysuitablestrategycanBeRestarted extraRules ruleOrdering constraints navigationexamplesrandomExercise testGenerator hasTermView hasTypeable properties emptyExercise makeExerciseprettyPrinterContextisReady isSuitablerulesetgetRuleruleOrderingWith violationsisPublic isPrivatereadDifficulty mapExamplesexamplesContext inContextwithoutContext useTypeable setProperty setPropertyF getProperty getPropertyFsimpleGenerator useGenerator randomTerm randomTermsshowDerivationshowDerivationsprintDerivationprintDerivationsdiffEnvironmentdefaultDerivationallDerivations$fReadDifficulty$fShowDifficulty$fHasTypeableExercise$fHasIdExercise$fApplyExercise $fOrdExercise $fEqExercise $fShowStatus$fEqDifficulty$fOrdDifficulty$fEnumDifficultyfailSnotSrepeatS replicateS sequenceSuntilSStateexercise statePrefix stateContext stateUser stateSessionstateStartTerm microsteps stateTerm makeState makeNoStateemptyStateContext emptyState startStaterestart withoutPrefixfinished stateLabels $fFirstsState$fHasEnvironmentState $fHasIdState $fShowState Condition RecognizedIs MotivationIsCondNot CondConstCondRefText TextStringTextTermTextRef TextEmpty:<>:DeclType TextForId StringDeclFeedback NameSpaceSupportsSimpleGuardedScript scriptDecls makeScriptmakeText feedbackDecl textForIdDeclincludes textItems$fShowDeclType$fUniplateText $fMonoidText$fSemigroupText $fShowText$fUniplateCondition$fShowCondition$fMonoidScript$fSemigroupScript $fShowScriptShowFshowFConstServiceStratCfgQCGen SomeExerciseBoolIntTypeRepIso:->IOTagListPair:|:UnitType TypedValue:::EqualequalserviceDeprecatedserviceFunction makeService deprecateequalMtError tDerivationtIOtText.->tStatetMaybe tStrategyCfgtListtUnittPairtString tExercisetContexttMathMLtBooltInttRule tConstraint tLocationtTuple3tTuple4tTuple5 tEnvironmenttTerm tDifficultytUserIdtQCGen tExamplestIdtScript tSomeExercisetService tStrategytTreetTestSuiteResultfindValuesOfType$fShowTypedValue$fEqualTypeRep$fShowTypedValue0 $fEqualConst$fHasIdService $fShowService $fShowFConst $fShowConst $fShowTypeRep$fShowFTypeRepReply IncorrectAnswerproblemDecompositiontAnswertReplyparseScriptSafe parseScriptDomainReasonerDR reasonerId exercisesservicesviewsaliasesscripts testSuiteversion fullVersiontDomainReasonernewDomainReasonerexercisesSortedservicesSorted findExercise findService defaultScript$fHasIdDomainReasoner$fMonoidDomainReasoner$fSemigroupDomainReasonerStepInfogeneratecreatesolution tStepInfo allfirstsonefirstonefinalallapplicationsstepsremainingfindbuggyrules recognizeRuleexampleDerivations Diagnosis SyntaxError NotEquivalentSimilar WrongRuleExpectedDetourCorrectUnknowngetStategetStateAndReadydiagnose tDiagnosis$fShowDiagnosissubmittResultEnvoldReadyexpected recognized motivationdiffPairbeforeafter afterTextnewEnvironment ruleToStringevalfeedbackDiagnosis feedbackHint feedbackHints feedbackIds attributeIds conditionIdsaccepttMessagederivationtext onefirsttext submittext feedbacktextUnknownExerciseUnknownFeedbackFeedbackUndefined NoTextForRuleUnknownAttributeUnknownCondAttr makeScriptForparseAndAnalyzeScript analyzeScript ruleToHTMLEncodingEncHTML EncOpenMath EncString EncCompact EncPrettyEncJSON DataFormatSchemaV1V2 NoLoggingRequest serviceIdsourcefeedbackScript requestInfo cgiBinary logSchema randomSeed dataformat getSchema readSchema htmlOutput compactOutput useOpenMath useJSONTerm useLoggingdiscoverDataFormat readEncoding$fShowEncoding$fMonoidRequest$fSemigroupRequest $fShowSchema $fEqSchema$fShowDataFormat $fEqEncodingLogRefRecordservice exerciseidscript requestinfouserid sessionidtaskidtime responsetime ipaddresserrormsg serviceinforuleid addRequestaddStatenoLogRef newLogRef changeLogprintLog logEnabled logRecord $fShowRecord CmdLineOptionVersionHelpPrintLog InputFileTest MakeScriptFor AnalyzeScript versionTexthelpText shortVersiongetCmdLineOptions$fEqCmdLineOptionOptionsrequestqcGenbaseUrlmaxTimecgiBin optionCgiBin optionHtml optionBaseUrl makeOptions$fMonoidOptions$fSemigroupOptions toOpenMath fromOpenMathtoOMOBJ fromOMOBJnoMixedFractions ExampleMap rulesInfoXMLrewriteRuleToFMPcollectExamples TypedDecoderDecoder TypedEncoderEncoder Converter fromExercise fromOptions getExercise getBaseUrlgetQCGen getScript getRequest withExercise withOpenMath withJSONTerm// hasJSONView addJSONView jsonEncoding termToJSON jsonToTermhasLatexEncoding latexPrinterlatexPrinterContext latexEncodinglatexEncodingWith makeEncoder encoderForexerciseEncoder encodeTypedsplitsetInput makeDecoder decoderFor$fMonadPlusError $fMonadError$fAlternativeError$fApplicativeError$fFunctorError$fConverterDecoder$fMonadPlusDecoder$fMonadDecoder$fAlternativeDecoder$fApplicativeDecoder$fFunctorDecoder$fBuildXMLEncoder$fMonoidEncoder$fSemigroupEncoder$fConverterEncoder$fMonadPlusEncoder$fMonadEncoder$fAlternativeEncoder$fApplicativeEncoder$fFunctorEncoder$fArrowEncoder$fCategoryTYPEEncoder Evaluator evalService XMLEncoder xmlEncoder encodeState LinkManager urlForCSS urlForImage urlForRequest urlForIndexurlForExercisesurlForServices urlForServiceurlForExerciseurlForStrategy urlForRulesurlForConstraintsurlForExamplesurlForDerivations urlForRuleurlForTestReporturlForRandomExample urlForState urlForFirstsurlForApplicationsurlForDerivationurlForMicrosteps linkToIndexlinkToExerciseslinkToServices linkToServicelinkToExerciselinkToStrategy linkToRuleslinkToExampleslinkToDerivations linkToRulelinkToTestReportlinkToRandomExample linkToState linkToFirstslinkToMicrostepslinkToApplicationslinkToDerivationmakeLinkManager stateToXML escapeInURL jsonEncoder htmlEncoder XMLDecoder xmlDecoder processXML JSONDecoder jsonDecoder processJSONShowAsSshowSfromS checkExerciseexerciseTestSuiteshowAscheckParserPrettycheckParserPrettyExpropRule checkExamples checksForTermchecksForDerivation $fShowShowAs serviceListmetaServiceList defaultMaindefaultMainWith defaultCGI annotationscommit mergeStepsDTFunctorMonadDone:/::|>P fromMirrorLI runGenericL showLatex$parsec-3.1.11-Jx0X6lpzdHgC5NMoYR1Rc5"Text.ParserCombinators.Parsec.ExprbuildExpressionParserOperatorInfixPostfix OperatorTable"Text.ParserCombinators.Parsec.Prim runParserpzero"Text.ParserCombinators.Parsec.Char CharParserText.Parsec.Language mondrianDefmondrian haskellDefhaskellemptyDef javaStyle haskellStyleText.Parsec.Token LanguageDefGenLanguageDef commentStart commentEnd commentLinenestedComments identStart identLetteropStartopLetter reservedNamesreservedOpNames caseSensitiveText.Parsec.String parseFromFileParser GenParserText.Parsec.CharsatisfyanyCharcharoctDigithexDigitdigitletteralphaNumloweruppertabnewlinenoneOfoneOfText.Parsec.ExprAssoc AssocNone AssocLeft AssocRightText.Parsec.CombinatormanyTill notFollowedByeofanyTokenchainr1chainl1chainlchainrcountendByendBy1sepEndBy sepEndBy1sepBy1sepBy skipMany1betweenoptional optionMaybeText.Parsec.Prim updateStatesetStatesetParserStategetParserState setPositiongetInput getPosition parseTestparseskipMany tokenPrimEx tokenPrimtoken lookAheadtokenslabels unexpected stateInputstatePosText.Parsec.ErrorerrorPos ParseErrorText.Parsec.PossetSourceColumn setSourceLine setSourceNameincSourceColumn incSourceLine sourceColumn sourceLine sourceName SourceNameLineColumn SourcePosMonoidmemptymappendmconcat Data.MonoidDualgetDualEndoappEndoAllgetAllgetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltBS styleSheets styleTxts htmlContent RPCRequest requestMethod requestParams requestId(QuickCheck-2.10.1-BUFYQzp5Pjm7JbQeTzW89lTest.QuickCheck.AllverboseCheckAll quickCheckAllforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgsArgsreplay maxSuccessmaxDiscardRatiomaxSizechatty maxShrinksSuccessGaveUpFailureNoExpectedFailureInsufficientCoveragereason theExceptionnumTests numShrinksnumShrinkTriesnumShrinkFinalusedSeedusedSizefailingTestCaseTest.QuickCheck.Propertytotal===disjoin.||.conjoin.&&..&. forAllShrinkforAllwithin==>coverclassifycollectwithMaxSuccessagain expectFailureverbose whenFail'whenFail printTestCasecounterexample noShrinking shrinkingmapSize ioPropertyPropertyTestablepropertyDiscardTest.QuickCheck.Function applyFun3 applyFun2applyFun functionMapFnFn2Fn3FunctionFunTest.QuickCheck.ModifiersBlindgetBlindgetFixed OrderedListOrdered getOrdered NonEmptyListNonEmpty getNonEmptyPositive getPositiveNonZero getNonZero NonNegativegetNonNegativegetLargegetSmallShrink2 getShrink2Smart Shrinking ShrinkState shrinkInit shrinkState ASCIIStringgetASCIIString UnicodeStringgetUnicodeStringPrintableStringgetPrintableStringTest.QuickCheck.Arbitrary infiniteList orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegral><genericCoarbitraryshrinkRealFracshrinkIntegral shrinkMapBy shrinkMap shrinkNothingarbitraryPrintableChararbitraryASCIIChararbitraryUnicodeChararbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedNaturalarbitrarySizedIntegral shrinkListsubtermsrecursivelyShrink genericShrinkshrink2 arbitrary2shrink1 arbitrary1 Arbitrary arbitraryshrink Arbitrary1 liftArbitrary liftShrink Arbitrary2liftArbitrary2 liftShrink2 CoArbitrary coarbitraryTest.QuickCheck.GeninfiniteListOfvectorOflistOf1listOfgrowingElementsshuffle sublistOfelements frequencyoneof suchThatMaybe suchThatMapsuchThatsamplesample'choosescaleresizegetSizesizedvariantGenTest.QuickCheck.ExceptiondiscardAG.idList idDescriptionidRefEPpidPrim:@:>>>::***::+++:TraverseMunMAlgNodeLabelRecVarPViewCompl:&&::||:C constraintId MaxRatingWarning messageStatus messageRatingsuitescasesdiffTime resultRatingCaseSuiteTSData.Typeable.InternalTypeableghc-prim GHC.TypesTyCon Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOf Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7rnfTyContyConFingerprint tyConName tyConModule tyConPackage Data.ProxyProxyData.Type.Equality:~:Refl:~~:HReflITU StrIteratorSIposSIfromSI StrNavigatorSN currentStr strContext fromLeafsHorfromHorLevel fromLevelPostfromPostPrefromPreT==!==>>symbolIdenvMap identifierprinterrefViewrefTypeunSRruleIdruleShow ruleTermView ruleMatchers ruleBuildersTermNavNoNavgetEnvironment getNavigatorZeroRewriteUseEnv:>>::**::++:AppendReadRefM WriteRefMunR isBuggyRule isMinorRulegetTrans getRecognizerdeclIdDyn dynamicIdPathItemIndexInputgetPaths remainderLSConfigLocationByNameCfgOunOInfogetVisitgetOp getFilters getTopDown getReversedOpOrElsePreferVisit VisitFirstVisitOne VisitSomeVisitAll VisitMany Data.EitherLeftRightIdentity fromIdentityDynF newSessionIdrunPrefixLocation fromAnswermref ApplicativepureliftA2Control.Applicative WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListleftApp^<<<<^>>^^>>returnAKleisli runKleisli ArrowApplyapp ArrowMonad ArrowLooploopData.Functor.ConstgetConstliftA3liftA AlternativesomerunErrorDecrunDecEncrunEncFunF EvalResult inputValues outputValue evalResult