n ت0      !"#$%&'()*+,-./0123 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 { | } ~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                !!!!""""""""""""""""""""""""""################$$$$$$$$$$$$$$$$$$$$$$$ $ $ $ $ $ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ%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&{&|&}&~&&&&&&&&&&&&&&&&&&&&'''''''''''((((((((((())))***************++++++++++++++++++++,,,,,,,,-------..............///////00000 0 0 0 0 0000000000000000001 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z4{4|4}4~44444444444444455555555555555555555566666677777777788888888888888888888888899999999999999999999999999::::::::::::::::::;;;;;;;;;;;;;;;;;;;; ; ; ; ; ;;;;;<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(=)=*=+=,=-=.=/=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@VAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjBkBlBmBnBoCpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJKKL L!L"L#L$L%L&L'L(L)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;M<M=M>M?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUVWXYZ[\]^_`abcdNeNfNgNhNiNjNkOlOmOnOoOpPqPrPsPtPuPvPwPxPyQzR{R|R}R~SSTTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVVVVVVVWWWWWWWXYYYYZZZZZZZZZZZZZZZZ[\\]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^_______````````aaaaaaaaaaaaaaaaaaaa a a a a aaaaaaaaaaaaaaaaabc d!e"f#f$f%f&f'f(f)f*f+f,g-g.h/hk portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-InferredW3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~012345678N3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~N}~z|{xypqrstuvwkonmlfghijecd\ba`_^]W[ZYXPVUTSRQEONMLKJIHGF@DCBA?>=<9;:857643!3457689;:<=>?@DCBAE ONMLKJIHGFPVUTSRQW[ZYX\ba`_^]cdefghijkonmlpqrstuvwxyz|{}~012345678 portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneEncode a string to UTF8 format /Decode an UTF8 format string to unicode points )Encode a string to UTF8 format (monadic) 9Decode an UTF8 format string to unicode points (monadic) 2Test whether the argument is a proper UTF8 string 3Test whether all characters are in the range 0-255 QuickCheck internal encoding/decoding functions 9:;<= 9:;<= portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None>?@ABCDEFGHIJ >@?ABCDEFGHIJportable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ K portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneU     U      portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None  Safe-Inferredportable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred Safe-Inferred0List of symbols defined in calculus1 dictionary CThis symbol is used to express ordinary differentiation of a unary 6function. The single argument is the unary function. IThis symbol is used to express the nth-iterated ordinary differentiation Gof a unary function. The first argument is n, and the second the unary  function. HThis symbol is used to express partial differentiation of a function of Nmore than one variable. It has two arguments, the first is a list of integers Hwhich index the variables of the function, the second is the function. AThis symbol is used to represent indefinite integration of unary 0functions. The argument is the unary function. JThis symbol is used to represent definite integration of unary functions. OIt takes two arguments; the first being the range (e.g. a set) of integration, and the second the function.  Safe-Inferred.List of symbols defined in linalg2 dictionary IThis symbol represents an n-ary function used to construct (or describe) Fvectors. Vectors in this CD are considered to be row vectors and must =therefore be transposed to be considered as column vectors. HThis symbol is an n-ary constructor used to represent rows of matrices. ,Its arguments should be members of a ring. CThis symbol is an n-ary matrix constructor which requires matrixrow's as .arguments. It is used to represent matrices.  Safe-Inferred -List of symbols defined in logic1 dictionary GThis symbol is used to show that two boolean expressions are logically Aequivalent, that is have the same boolean value for any inputs. HThis symbol represents the logical not function which takes one boolean 3argument, and returns the opposite boolean value. KThis symbol represents the logical and function which is an n-ary function Jtaking boolean arguments and returning a boolean value. It is true if all (arguments are true or false otherwise. KThis symbol represents the logical xor function which is an n-ary function Ltaking boolean arguments and returning a boolean value. It is true if there 9are an odd number of true arguments or false otherwise. JThis symbol represents the logical or function which is an n-ary function Mtaking boolean arguments and returning a boolean value. It is true if any of ,the arguments are true or false otherwise. DThis symbol represents the logical implies function which takes two Nboolean expressions as arguments. It evaluates to false if the first argument Kis true and the second argument is false, otherwise it evaluates to true. 0This symbol represents the boolean value true. 1This symbol represents the boolean value false.  Safe-Inferred ,List of symbols defined in nums1 dictionary IThis symbol represents the constructor function for integers, specifying Lthe base. It takes two arguments, the first is a positive integer to denote Mthe base to which the number is represented, the second argument is a string Lwhich contains an optional sign and the digits of the integer, using 0-9a-z N(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. IThis symbol represents the constructor function for rational numbers. It Otakes two arguments, the first is an integer p to denote the numerator and the Fsecond a nonzero integer q to denote the denominator of the rational p/q. /A symbol to represent the notion of infinity. HThis symbol represents the base of the natural logarithm, approximately N2.718. See Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1. /This symbol represents the square root of -1. KA symbol to convey the notion of pi, approximately 3.142. The ratio of the ,circumference of a circle to its diameter. BA symbol to convey the notion of the gamma constant as defined in MAbramowitz and Stegun, Handbook of Mathematical Functions, section 6.1.3. It is the limit of 1 + 12 + 1 3 + ... + 1/&m - ln m as m tends to infinity, this  is approximately 0.5772 15664. JA symbol to convey the notion of not-a-number. The result of an ill-posed Mfloating computation. See IEEE standard for floating point representations.  Safe-Inferred-List of symbols defined in quant1 dictionary &This symbol represents the universal (for all) quantifier which takes Ntwo arguments. It must be placed within an OMBIND element. The first argument Ois the bound variables (placed within an OMBVAR element), and the second is an  expression. (This symbol represents the existential ( there exists) quantifier which Ktakes two arguments. It must be placed within an OMBIND element. The first Kargument is the bound variables (placed within an OMBVAR element), and the second is an expression.  Safe-Inferred0List of symbols defined in relation1 dictionary 6This symbol represents the binary equality function. KThis symbol represents the binary less than function which returns true if Ithe first argument is less than the second, it returns false otherwise. KThis symbol represents the binary greater than function which returns true Nif the first argument is greater than the second, it returns false otherwise. 8This symbol represents the binary inequality function. GThis symbol represents the binary less than or equal to function which Kreturns true if the first argument is less than or equal to the second, it returns false otherwise. JThis symbol represents the binary greater than or equal to function which Nreturns true if the first argument is greater than or equal to the second, it returns false otherwise. BThis symbol is used to denote the approximate equality of its two  arguments.  Safe-Inferred.List of symbols defined in transc1 dictionary HThis 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 9Stegun, Handbook of Mathematical Functions, section 4.1 KThis symbol represents the ln function (natural logarithm) as described in DAbramowitz and Stegun, section 4.1. It takes one argument. Note the description in the CMP/7FMP of the branch cut. If signed zeros are in use, the $inequality needs to be non-strict. CThis symbol represents the exponentiation function as described in <Abramowitz and Stegun, section 4.2. It takes one argument. GThis symbol represents the sin function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. GThis symbol represents the cos function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. GThis symbol represents the tan function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. GThis symbol represents the sec function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. GThis symbol represents the csc function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. GThis symbol represents the cot function as described in Abramowitz and -Stegun, section 4.3. It takes one argument. HThis symbol represents the sinh function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. HThis symbol represents the cosh function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. HThis symbol represents the tanh function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. HThis symbol represents the sech function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. HThis symbol represents the csch function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. HThis symbol represents the coth function as described in Abramowitz and -Stegun, section 4.5. It takes one argument. KThis symbol represents the arcsin function. This is the inverse of the sin Jfunction as described in Abramowitz and Stegun, section 4.4. It takes one  argument. KThis symbol represents the arccos function. This is the inverse of the cos Jfunction as described in Abramowitz and Stegun, section 4.4. It takes one  argument. KThis symbol represents the arctan function. This is the inverse of the tan Jfunction as described in Abramowitz and Stegun, section 4.4. It takes one  argument. JThis symbol represents the arcsec function as described in Abramowitz and Stegun, section 4.4. JThis symbol represents the arccsc function as described in Abramowitz and Stegun, section 4.4. JThis symbol represents the arccot function as described in Abramowitz and Stegun, section 4.4. KThis symbol represents the arcsinh function as described in Abramowitz and Stegun, section 4.6. KThis symbol represents the arccosh function as described in Abramowitz and Stegun, section 4.6. KThis symbol represents the arctanh function as described in Abramowitz and Stegun, section 4.6. KThis symbol represents the arcsech function as described in Abramowitz and Stegun, section 4.6. KThis symbol represents the arccsch function as described in Abramowitz and Stegun, section 4.6. KThis symbol represents the arccoth function as described in Abramowitz and Stegun, section 4.6.  Safe-Inferred,List of symbols defined in list1 dictionary IThis symbol represents a mapping function which may be used to construct Nlists, it takes as arguments a function from X to Y and a list over X in that Norder. The value that is returned is a list of values in Y. The argument list &may be a set or an integer_interval. BThis symbol represents the suchthat function which may be used to Nconstruct lists, it takes two arguments. The first argument should be the set Iwhich contains the elements of the list, the second argument should be a Npredicate, that is a function from the set to the booleans which describes if +an element is to be in the list returned. GThis symbol denotes the list construct which is an n-ary function. The (list entries must be given explicitly.  Safe-Inferred +List of symbols defined in fns1 dictionary FThe domainofapplication element denotes the domain over which a given Ifunction is being applied. It is intended in MathML to be a more general Nalternative to specification of this domain using such quantifier elements as bvar, lowlimit or condition. HThis symbol denotes the domain of a given function, which is the set of values it is defined over. DThis symbol denotes the range of a function, that is a set that the Ofunction will map to. The single argument should be the function whos range is Lbeing queried. It should be noted that this is not necessarily equal to the 4image, it is merely required to contain the image. GThis symbol denotes the image of a given function, which is the set of 2values the domain of the given function maps to. IThe identity function, it takes one argument and returns the same value. DThis symbol is used to describe the left inverse of its argument (a Ofunction). This inverse may only be partially defined because the function may Mnot have been surjective. If the function is not surjective the left inverse Ofunction is ill-defined without further stipulations. No other assumptions are -made on the semantics of this left inverse. EThis symbol is used to describe the right inverse of its argument (a Ofunction). This inverse may only be partially defined because the function may Nnot have been surjective. If the function is not surjective the right inverse Ofunction is ill-defined without further stipulations. No other assumptions are .made on the semantics of this right inverse. JThis symbol is used to describe the inverse of its argument (a function). MThis inverse may only be partially defined because the function may not have Kbeen surjective. If the function is not surjective the inverse function is Iill-defined without further stipulations. No assumptions are made on the semantics of this inverse. HThis symbol represents the function which forms the left-composition of its two (function) arguments.  KThis symbol is used to represent anonymous functions as lambda expansions. OIt is used in a binder that takes two further arguments, the first of which is La list of variables, and the second of which is an expression, and it forms ?the function which is the lambda extraction of the expression      Safe-Inferred  -List of symbols defined in arith1 dictionary  FThe symbol to represent the n-ary function to return the least common multiple of its arguments.  GThe symbol to represent the n-ary function to return the gcd (greatest #common divisor) of its arguments.  =The symbol representing an n-ary commutative function plus. =This symbol denotes unary minus, i.e. the additive inverse. GThe symbol representing a binary minus function. This is equivalent to adding the additive inverse. ;The symbol representing an n-ary multiplication function. GThis symbol represents a (binary) division function denoting the first Oargument right-divided by the second, i.e. divide(a,b)=a*inverse(b). It is the Oinverse of the multiplication function defined by the symbol times in this CD. IThis symbol represents a power function. The first argument is raised to Nthe power of the second argument. When the second argument is not an integer, Lpowering is defined in terms of exponentials and logarithms for the complex Aand real numbers. This operator can represent general powering. JA unary operator which represents the absolute value of its argument. The Iargument should be numerically valued. In the complex case this is often referred to as the modulus. 6A binary operator which represents its first argument lowered to its n'Mth root where n is the second argument. This is the inverse of the operation Orepresented by the power symbol defined in this CD. Care should be taken as to Othe 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 Oinferred by the signature relevant to this symbol, the function represented by Mthis symbol is the single valued function, the specific root returned is the None indicated by the first CMP. Note also that the converse of the second CMP is not valid in general. JAn operator taking two arguments, the first being the range of summation, Le.g. an integral interval, the second being the function to be summed. Note 0that the sum may be over an infinite interval. ?An operator taking two arguments, the first being the range of Nmultiplication e.g. an integral interval, the second being the function to be Emultiplied. Note that the product may be over an infinite interval.                    portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None" !"#$%&'()*+,-./A !"#$%&'()*+,-./01234567 !"#$%&'()*+,-./$('&!"#$%,)*+/ .- !"#$%&'()*+,-./portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneD?First argument indicates whether the table has a header or not Q.Renders as teletype or monospaced Ideas.Text. RRenders as italic text style. SRenders as bold text style. ,089:;<123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU=E !"#$%&'()*+,-./012345670123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU(0134256789:;<>CDEIGFL=B@A?HJKMNOPQRSTU'089:;<123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU=portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneVWXYZ[\]^_>?@A VWXYZ[\]^_ V\[ZYXW]^_V\[ZYXW]^_>?@Aportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneiARepresents a common misconception. In certain (most) situations, # the two objects are not the same. `abcdefghi `abcdefghi `abcdefghi`abcdefghiportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneBjjjBjportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None;kCDEFGHIJKLlmnopqrstuvwxyz{|M}NO~PQRSTUVWXYZ[\]^_`abcdefklmnopqrstuvwxyz{|}~u{zyxwvtqsrlmnop~|}k'kCDEFGHIJKLlmnopqsrtu{zyxwv|M}NO~PQRSTUVWXYZ[\]^_`abcdef portable (depends on ghc)  provisional bastiaan.heeren@ou.nl Noneghijklmnopqrstuvwxyz{|}~ghij!portable (depends on ghc)  provisional bastiaan.heeren@ou.nl Noneportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneAConstruct a (named) test suite containing tests and other suites CAdd a QuickCheck property to the test suite. The first argument is  a label for the property CAdd a QuickCheck property to the test suite, also providing a test  configuration (Args) 9      !! +     portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None"#$%&'()*+,-./012210/-(0/'&*),+1.#$"%"portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-InferredUse a fixed standard random% number generator. This generator is / accessible by calling System.Random.getStdGen portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred#portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None  $portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred&Type class for bi-directional arrows.  - should be used instead of  arr8 from the arrow interface. Minimal complete definition:  -. ,Instances should satisfy the following law:  getSingleton . singleton == Just JA type class for functors that can be applied to a value. Transformation, : Rule, and Strategy are all instances of this type class. Returns zero or one results  ?Checks whether the functor is applicable (at least one result)  9If not applicable, return the current value (as default)  NSame as apply, except that the result (at most one) is returned in some monad !Returns zero or more results     ! "#$%              ! "#$%portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None,&'()*+,- !./0123456789:;<= ! !#&'()*+,- !./0123456789:;<=portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None+Minimal complete definition: toView or both match and build. 2generalized monadic variant of match D$Specialized version of traverseView G"#$%&'>?()*@ABCDE+,-.FG/0123456789:;<=>?@ABCDEFHIJGHIKLMNOPQRSTUVWXYZ[\9 "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI;   /012345.6+,-<=>789:;*A?@'()()B$%&CDEF"#GHI4"#$%&'>?()*EDCBA@+,-.FG/0123456789:;<=>?@ABCDEFHIJGHIKLMNOPQRSTUVWXYZ[\%portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneDJKLMNOPQRSTUVWXYZ[\]^_]`^abcdefghijklmnopqrstuvwx_`abcdefghijklmnopq/JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx0_`a`bX^]\[ZYUVWcdePQRSTfghijkMNOlmnopqrsJKLtuvwx1JKLMNOPQRSTUVWX^]\[ZY_]`^abcdefghijklmnopqrstuvwx_`abcdefghijklmnopq&portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None%A type class for types as references -A data type for references (without a value) r Identifier sA pretty-printer t A parser u Conversion to/ from term 1yz{|}~vwxyrstuz{|}~yz{|}~}~yz{|yz{|}~vwxyrstuz{|}~'portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    (portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None%Abstract data type for substitutions Returns the empty substitution !Returns a singleton substitution !Turns a list into a substitution PCombines two substitutions. The left-hand side substitution is first applied to 3 the co-domain of the right-hand side substitution MLookups a variable in a substitution. Nothing indicates that the variable is ' not in the domain of the substitution 0Returns the domain of a substitution (as a set) Apply the substitution   )portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None6This function returns the difference, except that the H returned terms should be logically equivalent. Nothing can signal that M there is no difference, or that the terms to start with are not equivalent. *portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred&Tests whether the derivation is empty ,Returns the number of steps in a derivation All terms in a derivation All steps in a derivation @The triples of a derivation, consisting of the before term, the  step, and the after term. 8Apply a monadic function to each term, and to each step +portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-InferredThe root of the tree Is this node an endpoint?  All branches FConstructs a node without branches; the boolean indicates whether the  node is an endpoint or not >Branches are attached after the existing ones (order matters) (Returns the annotations at a given node %Returns all subtrees at a given node BReturns all leafs, i.e., final results in derivation. Be careful: $ the returned list may be very long HThe argument supplied is the maximum number of steps; if more steps are  needed, Nothing is returned NRestrict the height of the tree (by cutting off branches at a certain depth). : Nodes at this particular depth are turned into endpoints :Restrict the width of the tree (by cutting off branches). GCommit 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) 3Return a random derivation (if any exists at all) ,portable (depends on ghc)  provisional bastiaan.heeren@ou.nl  Safe-Inferred  -portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None  .portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None"iportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None=JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx/portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None6Minimal complete definition: inverse or appendInverse 0portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None 4Not all monoids are idempotent (see: idempotentFor)                     1portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None< !"#$%&'()*+,-./0123456789:;<=>  !"#$%&'()*+,-./0123456789:;<=> 789:;<=456123./0+,-*>%&'()"#$ !$ !"#$%&'()*+,-./0123456789:;<=>2portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None?@ABCDEFGHIJKLM?@ABCDEFGHIJKLM?@ABCDEFGHIJKLM?@ABCDEFGHIJKLM3portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneTHFor a minimal complete definition, provide an implemention for downs or J allDowns. All other functions need an implementation as well, except for N change. Note that a constructor (a -> f a) is not included in the type class 7 to allow additional type class constraints on type a. dNOPQ R  S  TUVWXYZ[\ ]^_`abcdefghijklmnopqrst uvwxy                     ! " # $ % & ' ( ),NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy-\]^]TUVWXYZ[_`abcdefghimnopqrjklstSuRvQwPxOyNJNOPQ R  S  TUVWXYZ[\ ]^_`abcdefghijklmnopqrst uvwxy                     ! " # $ % & ' ( )4portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None{AAbstract data type for a context: a context stores an envrionent  (key-value pairs) and a value *Returns the environment +Value with focus Construct a context .Lift a rule to operate on a term in a context CApply a function at top-level. Afterwards, try to return the focus  to the old position $z , - .{ / * +|}~ 0 1 2 3 4 5 6 7 8 9 :[\z{|}~{|}~\[zz . - ,{ / * +|}~ 0 1 2 3 4 5 6 7 8 9 :5portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None=A type class for constructing a transformation. If possible,  makeTrans K should be used. Use specialized constructor functions for disambiguation. Overloaded variant of transLiftContext Overloaded variant of transLiftContext; ignores result , ; < = > ? @ A B C D E F G H I J K L M N O P Q  E D C B A @ ? > = < ; F G H I J K L M N O P Q6portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None R R7portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None S T U V W X    S T U V W X8portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None*Abstract data type for representing rules YUnique identifier of the rule Z3Inspect whether or not the rule is buggy (unsound) [vReturns whether or not the rule is minor (i.e., an administrative step that is automatically performed by the system) OA special (minor) rule that is never applicable (i.e., this rule always fails) 8A special (minor) rule that always returns the identity IA special (minor) rule that checks a predicate (and returns the identity  if the predicate holds) 3Perform the function after the rule has been fired ) \ Y ] ^ Z [ _ ` a b c d e f g h i" \ Y ] ^ Z [ _ ` a b c d e f g h ijportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneG9portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneIA generalized Core expression, not restricted to rules. This makes GCore ' a (traversable and foldable) functor. 2Generalized constructor (not restricted to rules) Core expression, with rules " j k l m n o p q j k l m n o p q:portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None5 r s t u v w x y z { | } ~  & r s t u v w x y z { | } ~  ;portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None *A strategy which is labeled with a string /Returns information associated with this label "Removes the label from a strategy *Type class to turn values into strategies "Abstract data type for strategies  Labels a strategy with a string EReturns the derivation tree for a strategy and a term, including all  minor rules LReturns the derivation tree for a strategy and a term with only major rules  FReturns a list of all major rules that are part of a labeled strategy  BApply a function to all the rules that make up a labeled strategy  IUse a function as do-after hook for all rules in a labeled strategy, but " also use the function beforehand  DUse a function as do-after hook for all rules in a labeled strategy 4              "     (         <portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    ! "#$%&'  !"#$%&'! "#$%&'   ! "#$%&' =portable (depends on ghc)  provisional bastiaan.heeren@ou.nl 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 strategies +;The strategy that always succeeds (without doing anything) ,The strategy that always fails -6Makes a strategy atomic (w.r.t. parallel composition) .*Puts a list of strategies into a sequence /*Combines a list of alternative strategies 0*Merges a list of strategies (in parallel) 1$Allows all permutations of the list 22Repeat a strategy zero or more times (non-greedy) 34Apply a certain strategy at least once (non-greedy) 4+Apply a strategy a certain number of times 54Apply a certain strategy or do nothing (non-greedy) 6;Checks whether a predicate holds for the current term. The + check is considered to be a minor step. 7ICheck whether or not the argument strategy cannot be applied: the result H strategy only succeeds if this is not the case (otherwise it fails). 88Repeat a strategy zero or more times (greedy version of 2) 9:Apply a certain strategy at least once (greedy version of 3) :@Apply a certain strategy if this is possible (greedy version of 5) ;SLeft-biased choice: if the left-operand strategy can be applied, do so. Otherwise, " try the right-operand strategy <3Repeat the strategy as long as the predicate holds =.Repeat the strategy until the predicate holds >@Apply a strategy at least once, but collapse into a single step ?SApply the strategies from the list exhaustively (until this is no longer possible) @DA fix-point combinator on strategies (to model recursion). Powerful  (but dangerous) combinator ()*+,-./0123456789:;<=>?@()*+,-./0123456789:;<=>?@()*+,-./0123456789:;<=>?@()*+,-./0123456789:;<=>?@>portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneCBReturns a list of all strategy locations, paired with the labeled  substrategy at that location D@Returns the substrategy or rule at a strategy location. Nothing ( indicates that the location is invalid ABCD ABCDABCDABCD ?portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneEIAbstract data type for a (labeled) strategy with a prefix (a sequence of $ executed rules). A prefix is still aware" of the labels that appear in the O strategy. A prefix is encoded as a list of integers (and can be reconstructed  from such a list: see  makePrefix)). The list is stored in reversed order. F2Construct the empty prefix for a labeled strategy GHConstruct a prefix for a given list of integers and a labeled strategy. H Create a derivation tree with a prefix as annotation. J)Retrieves the rules from a list of steps K:Returns the last rule of a prefix (if such a rule exists) LCalculate the active labels E FGHIJKL EFGHIJKLEFGIHJKL E FGHIJKL @portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneM NOP Q RSTU MNOPQRSTU RSTQMNOPUNOPM NOP Q RSTUAportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None3V W X YZ[\]^_` abcdefghi VWXYZ[\]^_`abcdefghiWXVYZ[\]^_`abcdefghi#V    W X YZ[\]^_` abcdefghi kportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneX    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKVWXYZ[\abcdefghi2()*+,-./01@23456789:;?<=>CDABEFGHIJK   Bportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None jk l mn jklmnjklnm  jk l mn Cportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None o    oo    o    Dportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None/pqrstuvwxyz{|}~             pqrstuvwxyz{|}~}~yz{|vwxstupqrpqrstuvwxyz{|}~             Eportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None          Fportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None&     ! " # $ % & ' ( ) * + , - .     ! " # $ % & ' ( ) * + , - .Gportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None / 0 1 2 3 4 5 6 7 8 9}~}~ 5 4 3 2 1 0 / 6 7 8 9Hportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None .An exercise for experimentation purposes only &An exercise that is under development 5A released exercise, possibly with some deficiencies =A released exercise that has undergone some thorough testing &Put a value into an empty environment An exercise with the status Stable or  Provisional An exercise that is not public ?Function for defining equivalence or similarity without taking  the context into account. &Similarity on terms without a context 'Equivalence on terms without a context GShows a derivation for a given start term. The specified rule ordering  is used for selection. X : ; < = > ? @ A B C D E F G H I JGY8 : ; < = > ? @ A B C D E F G H I JIportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneAlias for strategy combinator fail Alias for strategy combinator not Alias for strategy combinator repeat Alias for strategy combinator  replicate Alias for strategy combinator sequence Alias for strategy combinator until        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~[\]^elz{|}~    !"#$%&'()*+-/0123569:;<>?@ABCDEFGHIJKVWXYZ[\abcdefghi}~Jportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None)      K L M N O P Q R S T U V                K L M N O P Q R S T U VKportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k W X Y Z [ \ ] ^ _ ` a b c d e f g h i j kLportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None l !"#$%&'( m n o  !"#$%&'(  !"%&'( !"#$  l !"#$%&'( m n oMportable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneV)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO p qPQRST r s t u v w x y z { | } ~  ,)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST.OPQRSPQAIHGFEDCB/@?>=<;:9876543210JKL)*+,MN-.T3)*+,-./@?>=<;:9876543210AIHGFEDCBJKLMNO p qPQRST r s t u v w x y z { | } ~  portable (depends on ghc)  provisional bastiaan.heeren@ou.nl NoneUVW XYZ[\]^_`ab c 0 !"#$%&'()*+,-./01234567UVWXYZ[\]^_`abcW[\]^_aZ`bXYUVcUVW XYZ[\]^_`ab c Nportable (depends on ghc)  provisional bastiaan.heeren@ou.nl Nonedefghij defghijidefghj defghij Oportable (depends on ghc)  provisional bastiaan.heeren@ou.nl Noneklmno klmnoklomnklmno Pportable (depends on ghc)  provisional bastiaan.heeren@ou.nl Nonepqrstuvwx pqrstuvwx wpqrstuvx pqrstuvwx Qportable (depends on ghc)  provisional bastiaan.heeren@ou.nl Noney yyy Rportable (depends on ghc)  provisional bastiaan.heeren@ou.nl Nonez{|}z{|}{|}zz{|}Sportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None ~  ~~ ~  Tportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    Uportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    Vportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    Wportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None     Xportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None    Yportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None RContinue with a prefix until a certain strategy location is reached. At least one & major rule should have been executed       Zportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None[portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None  \portable (depends on ghc) provisionalalex.gerdes@ou.nlNone]portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None       ^portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None                _portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None      `portable (depends on ghc)  provisional bastiaan.heeren@ou.nl None                        aportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None3              ! ")     )                    ! "bportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None- # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N* # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M Ncportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None O Odportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None  P Q R S T U V W X   P Q R S T U V W Xeportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None! Y Z [!!! Y Z [fportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None "#$%&'()*+ \ "#$%&'()*+ )*+"('&%$#"('&%$#)*+ \gportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None, ] ^ _-,-,-, ] ^ _-hportable (depends on ghc)  provisional bastiaan.heeren@ou.nl None./ ` 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 { | }lmnlmolmplqrlqslqtlqulqvlqwlmxlmylmzlm{lm|lm}lm~lmlmlmlmlmlllllllllll                                                                                              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                !!!!     """""""""""""""""" "!"""#"$"%"&"'"()*+,-./0123456789:;<=>?@AB#C#D#E#F#o#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$mnopqrstuvwxyz{|}~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''((((((((((())))** * * * * *********+++++++++++ +!+"+#+$+%+&+'+(+),*,+,,,-,.,/,0,1-2-3-4--5-6-7.8.9.:.;.<.=.>.?.@.A.B.C.D.E/F/G/H/I/J/K/LMNOPQR STUVWXYZ[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v1w1x1y1z1{1|1}1~1111111111111111`11~111v11122222222222222233333333333333333333333333333333333333333333444444444444444444455555555555555555555566666677777777788888888 8 8 8 8 88888888888899999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192:3:4:3: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=v=w=x=y=z={=|=}=~================>>>>????????@@@@@@@@@AAAAAAAAAAAAAAAAAAAABBBBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFF+FFFGGGGHHHHHHHHHHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHHH H!H"H#HHH$H%H&H'H(H)H*H+H,HAH-H.H/H0H1H2H3H4H5H6H7H8H9I:I;I<I=I>I?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJJRJSJTJUJVJWJXJYJZJ[K\K]L5L^L_L`LaLbL>LcLdLeMfMgMhMiMjMkMlMMmMnMoMpMEMMqMTMMvMMM5MNMMrMsMlMtM'MuMvMwMxMyMzM{M|M}M~MrMMMMMNNNNNNNOOOOOPPPPPPPPPQRRRRSSTTTT(TTTiTThT TTTUUUUUUUWUUUVVVVVVVVVVVVVVVVW3WWWWWWWXYYYYZZZZZZZZZZZZZZZZ[\\]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^_______````````aaa a a a a aaaaaaaaaaaaaaaaaaa a!a"a#a$a%a&a'a(a)a*a+a,a-a.ab/c0d1e2ff3f4f5f6f7f8f9f:f;g<g=h>h? @ A B C D E F G H I J K L M N O P Q  R S T U V W X YZ[\][\^[\_[\`[\a[\b[\c[de[df[d[dg[dh[di[j[jk[jl[mn[mo[mp[mq[rs[rt[ru[rv[rw[rx[ry[rz[r{[r|[r}[r~[rs[r[[[[[[[[[[[[[[[[[[[[[[L[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[S[w[[[[[[5[5[[[[[[[[[[[[[[                                                                                G !l"l#l#l$l%l%l&l'l'l(lll)l*l*l+l,l,l-l.l.l/l0l0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ [ \ ] ^_`a_`b_`c_`d_`e_`f_`g_`h_`i_`j_`k_`l_`m_`C_`n_`n_`o_`_`p_`q_`r_`s_`t_`u_`v_`w_`x_`y_`3_z{_z_z|_z_z}_z~_z_z_z_z_z_z_zS_z_z_z_z_z_z_z_z_z_z_z_z_z______________________________________________________________________!!!!!!!!!!!!!")#######$$$$$v      !"#$%&'()S*+,-./0123456789:;%%<%=%>%?%@%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+{+|+}+~,,-----....................////H//////1111111111111111111111111111333333333333333333333333333333333333333333333333333333334444Q444 4 4 4 4 4 4 4 4 4 4 5 5f5 5 5 5 555 5v5e5 5 5 5 5 5 5 5 5 5 5 5 6 77 7 7 7 !7 "88 #8 $88 %8 &8 '8 (8 )8 *8 +8 ,8 -8 .8 /8 08 19 29 39 49 59 69 79 89 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? {? |? }? ~? @@ @u@ @ @ @ @ @ @ @ A A A [A [A A A A A A AA AA A A A A A A A A A A A A A A A A A B B B B B B B B B B B C C CCCCC C C C C C C C C C C C C D D D D D D D D D D D D D D D D D D E E E E E F F F F F F F F F F F F F F F F F F F G$G G G G G%GlG G G G H HH H H H HH H H H H H H H H H JJ JJ J J J J J J J J K K K K K K K K KK K K K KPKK K K K KK L5L L L MM M M M M M M M !M "M #M $M %M &M 'M (M )M *M +M ,M -M .M /M 0M 1M 2M 3M 4M 5M 6M 7M 8M 9M :M ;M <M =M >M ?M @M AM B C D E F G H I J K L M N O PN QN RN SN TN UN VN WN XNN YO ZO [O \P SP TP UP ]P XP WP ^P _P `Q aQ bQQ cQ dQ eS fS gS hSS iS jS kS lS mS nS oT pU qU rV sV tV uW vW wX xX yX zXX {X |X }X ~X X X X Y Y Y Y Y Y Y Y Y [ [ [ [ [ ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _&_ ` ` ` {` ` z` ` |` }` ` ` ` ` ` ` ` ` a a a a a a a a a a b b b bb b b b b b b b b b b b b b b b b b b b b |b b b b bb b b b b b b b b b b b b b c d d d d d d d d d e e e fg g g h h h h h h h h h h h h h h h h h h h h h h h h h h h h h ideas-1.1Ideas.Common.ViewIdeas.Encoding.EvaluatorIdeas.Text.ParsingIdeas.Common.Algebra.GroupIdeas.Common.IdIdeas.Common.Traversal.UtilsIdeas.Common.Utils.TestSuiteIdeas.Common.Utils.UniplateIdeas.Text.XML.DocumentIdeas.Text.UTF8Ideas.Text.XML.UnicodeIdeas.Text.XML.ParserIdeas.Text.XML.InterfaceIdeas.Main.RevisionIdeas.Text.OpenMath.Symbol(Ideas.Text.OpenMath.Dictionary.Calculus1&Ideas.Text.OpenMath.Dictionary.Linalg2%Ideas.Text.OpenMath.Dictionary.Logic1$Ideas.Text.OpenMath.Dictionary.Nums1%Ideas.Text.OpenMath.Dictionary.Quant1(Ideas.Text.OpenMath.Dictionary.Relation1&Ideas.Text.OpenMath.Dictionary.Transc1$Ideas.Text.OpenMath.Dictionary.List1#Ideas.Text.OpenMath.Dictionary.Fns1%Ideas.Text.OpenMath.Dictionary.Arith1Ideas.Text.XMLIdeas.Text.HTMLIdeas.Text.OpenMath.ObjectIdeas.Text.OpenMath.FMPIdeas.Text.OpenMath.TestsIdeas.Text.JSONIdeas.Common.Utils.QuickCheckIdeas.Common.Utils.StringRefIdeas.Common.UtilsIdeas.Common.Traversal.IteratorIdeas.Common.ClassesIdeas.Common.Rewriting.TermIdeas.Common.Environment"Ideas.Common.Rule.EnvironmentMonad#Ideas.Common.Rewriting.Substitution!Ideas.Common.Rewriting.DifferenceIdeas.Common.DerivationIdeas.Common.DerivationTreeIdeas.Common.Rewriting.AC"Ideas.Common.Rewriting.Unification"Ideas.Common.Rewriting.RewriteRuleIdeas.Common.Algebra.LawIdeas.Common.Algebra.GroupLawsIdeas.Common.Algebra.FieldIdeas.Common.Algebra.FieldLaws Ideas.Common.Traversal.NavigatorIdeas.Common.Context Ideas.Common.Rule.TransformationIdeas.Common.Rule.ParameterIdeas.Common.Rule.RecognizerIdeas.Common.Rule.AbstractIdeas.Common.Strategy.CoreIdeas.Common.Strategy.ParsingIdeas.Common.Strategy.Abstract#Ideas.Common.Strategy.Configuration!Ideas.Common.Strategy.CombinatorsIdeas.Common.Strategy.LocationIdeas.Common.Strategy.Prefix!Ideas.Common.Rewriting.ConfluenceIdeas.Common.Strategy.TraversalIdeas.Common.Traversal.TestsIdeas.Common.Strategy.TestsIdeas.Common.Algebra.Boolean Ideas.Common.Algebra.BooleanLawsIdeas.Common.Algebra.SmartGroupIdeas.Common.PredicateIdeas.Common.ExerciseIdeas.Common.Library#Ideas.Service.FeedbackScript.Syntax#Ideas.Service.FeedbackScript.ParserIdeas.Service.StateIdeas.Service.TypesIdeas.Encoding.DecoderJSONIdeas.Encoding.OpenMathSupportIdeas.Encoding.DecoderXMLIdeas.Encoding.RulePresenterIdeas.Encoding.RulesInfoIdeas.Encoding.StrategyInfoIdeas.Service.BasicServicesIdeas.Service.DiagnoseIdeas.Service.DomainReasonerIdeas.Service.SubmitIdeas.Encoding.EncoderJSON"Ideas.Service.ProblemDecompositionIdeas.Service.RequestIdeas.Encoding.ModeJSONIdeas.Main.LoggingDatabaseIdeas.Main.Options Ideas.Service.FeedbackScript.RunIdeas.Service.FeedbackTextIdeas.Encoding.EncoderXMLIdeas.Encoding.LinkManagerIdeas.Encoding.EncoderHTMLIdeas.Main.DocumentationIdeas.Encoding.ModeXMLIdeas.Main.BlackBoxTests%Ideas.Service.FeedbackScript.AnalysisIdeas.Main.DefaultIdeas.Service.ServiceListIdeas.Common.RewritingIdeas.Common.RuleIdeas.Common.Strategybase Control.Arrowarrfirst|||Control.ApplicativeliftA2<**><**><*>pure&&&***secondArrow zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice Data.Functor<$>Control.Category>>><<< Data.Monoid<>mconcatmappendmemptyMonoid Control.Monad>=>mplusGHC.Base<$transformers-0.3.0.0Control.Monad.IO.ClassliftIOMonadIOuniplate-1.6.10Data.Generics.Uniplate.Direct||*|-|*plate!Data.Generics.Uniplate.OperationsparaholescontextsrewriteMrewrite transformM transformchildrenuniversedescendMdescenduniplateUniplateExternalTextDecl ConditionalIgnoreIncludePublicID ExternalIDPublicSystem EntityValueAttValue EntityDefAttDef DefaultDeclFixedValueImpliedRequiredAttType NotationTypeEnumerationType StringType NmTokensType NmTokenType EntitiesType EntityType IdRefsType IdRefTypeIdTypeCPCPNamePlusStar QuestionMarkSequenceChoice ContentSpecChildrenMixedAnyEmpty DocTypeDeclDTDConditional DTDParameter NotationDecl EntityDecl AttListDecl ElementDeclDTDContentElementname attributescontentXML ReferenceCDATACharDataTaggedXMLDoc versionInfoencoding standalonedtd externalsroot Parameter EntityRefCharRef Attribute:= AttributesNameencodedecodeencodeMdecodeMisUTF8allBytes propEncodingisLetter isExtenderisDigitisCombiningChar letterMapcombiningCharMapdigitMap extenderMapdecodingUnbalancedError NotOpened NotClosed parseSimplecompleteskipnaturalOrFloatfloat<..>rangesstopOnbalanceddocument extSubset extParsedEnt normalizeparseXML findAttribute findChildgetData ideasVersion ideasRevisionideasLastChangedSymbol makeSymbol extraSymbol dictionary symbolName showSymbol calculus1List diffSymbol nthdiffSymbolpartialdiffSymbol intSymbol defintSymbol linalg2List vectorSymbolmatrixrowSymbol matrixSymbol logic1ListequivalentSymbol notSymbol andSymbol xorSymbolorSymbol impliesSymbol trueSymbol falseSymbol nums1ListbasedIntegerSymbolrationalSymbolinfinitySymboleSymboliSymbolpiSymbol gammaSymbol naNSymbol quant1List forallSymbol existsSymbol relation1ListeqSymbolltSymbolgtSymbol neqSymbol leqSymbol geqSymbol approxSymbol 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 list1List mapSymbolsuchthatSymbol listSymbolfns1ListdomainofapplicationSymbol domainSymbol rangeSymbol imageSymbolidentitySymbolleftInverseSymbolrightInverseSymbol inverseSymbolleftComposeSymbol lambdaSymbol arith1List lcmSymbol gcdSymbol plusSymbolunaryMinusSymbol minusSymbol timesSymbol divideSymbol powerSymbol absSymbol rootSymbol sumSymbol productSymbol XMLBuilderBuildXML.=. unescapedbuildertagstringtextelementemptyTagInXMLtoXML listToXMLfromXML listFromXMLAttrListAttrshowXML compactXMLmakeXMLmwhenmunless fromBuilderHTMLPage HTMLBuildershowHTMLaddCSS addScripthtmlPagelinkh1h2h3h4h5h6preTextprehrbrttTextultable keyValueTablespacesspacebulletimagedivClass spanClass highlightXMLidAclassAstyleAtitleAttitalicboldbigsmallOMOBJOMBINDOMAOMSOMVOMFOMIgetOMVs xml2omobj omobj2xmlFMPquantor metaVariables leftHandSiderelation rightHandSidetoObjecteqFMPbuggyFMP RPCHandlerInJSONtoJSON listToJSONfromJSON listFromJSONNumberDIKeyJSONNullObjectArrayBooleanString showCompact showPretty parseJSONlookupMjsonRPCArbGen generator generatorsarbGenconstGen constGensunaryGen unaryArbGen unaryGens binaryGen binaryGenstoArbGencommonuncommonrarechangeFrequency StringRef stringReftoString tableStatusMessageisError messageLabelTestSuiteResult numberOfTests TestSuitesuite addPropertyaddPropertyWith assertTrue assertNull assertEqualsassertIOwarn runTestSuiterunTestSuiteResult subResults topMessagesmessages newMessagewarning findSubResult printSummary makeSummary ShowStringfromShowStringSomereadIntreadMsubsets isSubsetOf cartesiandistinctallsamefixpoint splitAtElemsplitsWithElemuseFixedStdGen timedSecondsfst3snd3thd3headM findIndexM elementAtchangeAt replaceAtlistMirrorWrapperwrapunwrapFocusUnfocusfocusfocusMunfocusUpdateupdatecurrentchangereplacechangeMchangeG liftFocus unliftFocus liftWrapper unliftWrapper mapWrapper makeMirror>|<safefixpfixpl ListIteratorIteratornextpreviousfinalpositionisFirstisFinalhasNext hasPrevious searchForwardsearchBackward searchNextsearchPrevious searchWithMinorminorsetMinorisMinorisMajorBuggybuggysetBuggyisBuggy BiFunctorbiMapmapFirst mapSecondBiArrow<->!-><-! Container singleton getSingletonApplyapplyAllapply applicableapplyDapplyM applyListmapBothIdentify@>HasIdgetIdchangeIdIsIdnewIdconcatIdId#sameId unqualified qualifiers qualification descriptionshowId compareId isEmptyIddescribe listQualify ViewPackageLiftViewliftView liftViewIn IsomorphismfromtoViewIsViewbuildtoViewMatcher IsMatchermatchmatchermatchM belongsToviewEquivalentviewEquivalentWith makeMatcher canonical canonicalWithcanonicalWithM isCanonicalisCanonicalWithsimplify simplifyWith simplifyWithMmakeView matcherViewidentityinverseswapViewlistView traverseView$<propIdempotence propSoundnesspropNormalForm WithMetaVarsmetaVar getMetaVarWithVarsvariable getVariable WithFunctionssymbolfunction getSymbol getFunctionIsTermtoTermfromTermTermTMetaTFloatTNumTListTConTVar isAssociative newSymbolmakeAssociativetermView fromTermM fromTermWithisSymbol isFunctionunarybinaryisUnaryisBinary isVariablevarsvarSethasVar withoutVar hasSomeVarhasNoVar variableView isMetaVarmetaVars metaVarSet hasMetaVar nextMetaVarHasRefsgetRefsallRefs getRefIdsHasEnvironment environmentsetEnvironment deleteRef insertRef changeRef EnvironmentBindingmakeRef makeRefListRef makeBinding fromBinding showValue getTermValuemakeEnvironment singleBindingbindings noBindings?EnvMonad:?:~getRef updateRefs runEnvMonad execEnvMonad evalEnvMonad envMonadRefsenvMonadFunctionRefs Substitution emptySubstsingletonSubst listToSubst@@ composable lookupVardom|->@+@testsdifferenceWithdifferenceEqualWith differencedifferenceEqual DerivationemptyDerivationprependextendisEmptyderivationLengthtermsstepstriples firstTermlastTermlastStep withoutLast updateSteps derivationMDerivationTreeendpointbranches singleNode addBranchesmakeTreesubtreesleafs lengthMaxupdateAnnotationsrestrictHeight restrictWidthsortTreemergeMaybeSteps cutOnStep cutOnTerm derivations derivationrandomDerivation PairingsPair PairingsListPairings pairingsNone pairingsC pairingsApairingsMatchA pairingsAC SymbolMatchMatchunify matchExtended matchListunificationTests RuleBuilder buildRuleSpec Different different RewriteRule ruleSpecTermRuleSpec:~>makeRewriteRule symbolMatcher symbolBuildershowRewriteRulemetaInRewriteRulerenumberRewriteRuleLawSpec:==:LawlawmapLaw propertyLaw rewriteLaw CoMonoidZero isMonoidZeroCoGroup isInverse isAppendInvCoMonoidisAppendWithZero fromWithZero MonoidZeromzeroGroup appendInv<>-associativeList associative leftIdentity rightIdentity identityLaws monoidLawscommutativeMonoidLaws idempotent leftInverse rightInverse doubleInverseinverseIdentityinverseDistrFlipped inverseLaws groupLawsappendInverseLaws commutative inverseDistrabelianGroupLawsleftZero rightZerozeroLawsmonoidZeroLawsassociativeForcommutativeFor idempotentForleftDistributiveForrightDistributiveForCoFieldisRecip isDivisionCoRingisNegateisMinus CoSemiRingisPlusisZeroisTimesisOneSafeNumMultiplicativefromMultiplicativeAdditive fromAdditiveField timesInverseRing plusInverseSemiRingzerosumoneproductsafeNumleftDistributiverightDistributivedistributiveLaws semiRingLawsleftNegateTimesrightNegateTimesnegateTimesLawsringLawscommutativeRingLawsdistributiveSubtractionLawsexchangeInverses fieldLawsfromAdditiveLawfromMultiplicativeLaw propsFieldUniplateNavigatorLeafs Horizontal LevelOrder PostOrderPreOrder NavigatorupdowndownLastchildnrlocationLocation fromLocation toLocationisTopisLeafhasLefthasRighthasUphasDowntopleftMost rightMost leftMostLeaf rightMostLeafdownsdownToaritydepthlevel levelNext levelPrevious leftMostAt rightMostAt navigateTonavigateTowards makePreOrder makePostOrdermakeLevelOrdermakeHorizontal makeLeafsContextNavigatorContext fromContextfromContextWithfromContextWith2 newContext noNavigator navigator termNavigator contextView liftToContextapplyTopuseuseC currentTerm changeTermcurrentInContextchangeInContextreplaceInContext MakeTrans makeTransTransformationTrans transPure transMaybe transList transEnvMonad transRewritetransReftransUseEnvironment transLiftViewtransLiftViewIntransLiftContexttransLiftContextInmakeTransLiftContextmakeTransLiftContext_ transApplytransApplyWithgetRewriteRules isZeroTrans ParamTranssupplyParameterssupplyContextParameters parameter1 parameter2 parameter3 Recognizer Recognizable recognizer recognizeAll recognizerecognizeTransmakeRecognizermakeRecognizerEnvMonadmakeRecognizerTransRule ruleSiblingstransformationcheckReferencesmakeRule ruleMayberuleList ruleTrans ruleRewrite rewriteRule rewriteRules buggyRule minorRule emptyRuleidRule checkRule isRewriteRule isRecognizer siblingOfdoAfter addRecognizeraddRecognizerBooladdRecognizerEnvMonadaddTransRecognizerGCoreRecVarFailSucceedAtomicLabelNotRepeatMany:!%::%::|>::|::*:Core.|..*..%.coreMany coreRepeat coreOrElsecoreFix substCoreVarnoLabelsResultReadyStatestackchoicestracevalueStepRuleStepExitEnter makeStateparseDerivationTreefirstsisReadyrunCorereplay IsLabeled toLabeledLabeledStrategyunlabel IsStrategy toStrategy LabelInforemoved collapsedhiddenStrategytoCoremakeInfomakeLabeledStrategytoLabeledStrategylabel changeInfoprocessLabelInfofullDerivationTreederivationTreerulesInStrategymapRules mapRulesScleanUpStrategycleanUpStrategyAfternoInterleavingfromCoreliftCore liftCore2 ConfigActionRevealHideExpandCollapseReinsertRemoveConfigLocation ConfigItemStrategyConfigurationmakeStrategyConfiguration configActionsbyNamebyGroup configureNow configureremovereinsertcollapseexpandhidereveal<|><%>succeedfailatomicsequence alternatives interleavepermutemanymany1 replicateoptionchecknotrepeatrepeat1try|>whileuntilmulti exhaustivefixsubTaskLocationnextTaskLocationstrategyLocations subStrategyPrefix emptyPrefix makePrefix prefixTree prefixToSteps stepsToRuleslastStepInPrefix activeLabelsConfigshowTerm complexity termEquality somewhereM isConfluentcheckConfluencecheckConfluenceWith defaultConfigOptionlayertraversetopdownbottomup leftToRight rightToLeftfullspinestoponcetraversalFilter parentFilterfulltdfullbuoncetdoncebu somewhere innermost outermost testIterator testNavigatorlistGenuniGenOrfromOrAndfromAnd DualMonoid>< dualCompl CoBooleanisAndisOr isComplement<&&><||> complement BoolValuetruefalsefromBoolisTrueisFalseandsorsimplies equivalent conjunctions disjunctions andOverOrLaws orOverAndLawscomplementAndLawscomplementOrLawsabsorptionAndLawsabsorptionOrLaws deMorganAnd deMorganOrdoubleComplementcomplementTruecomplementFalse booleanLaws fromAndLaw fromOrLaw propsBoolean SmartFieldfromSmartField SmartGroupfromSmartGroup SmartZero fromSmartZeroSmart fromSmart.+..-.neg./..&&..||. Predicate predicate predicateView evalPredicateExerciseDerivationStatus ExperimentalAlpha ProvisionalStable Difficulty VeryDifficult DifficultMediumEasyVeryEasyExamplesExercise exerciseIdstatusparser prettyPrinter equivalence similarityreadysuitable hasTermView hasTypeablestrategy navigationcanBeRestarted extraRules ruleOrdering testGeneratorrandomExerciseexamples makeExercise emptyExercise makeContext inContext mapExamplesexamplesContextreadDifficultyrulesetsimpleGenerator useGeneratorrestrictGenerator randomTermrandomTermWith recognizeRuleruleOrderingWithruleOrderingWithId useTypeablecastFromcastToisPublic isPrivatewithoutContext isSuitablesimpleSimilaritysimpleEquivalenceprettyPrinterContextgetRuleshowDerivationdefaultDerivationderivationDiffEnvprintDerivation checkExerciseexerciseTestSuitecheckParserPretty checkExamplesfailSnotSrepeatS replicateS sequenceSuntilS ConditionCondRef CondConstCondNot RecognizedIsText:<>: TextEmptyTextRefTextTerm TextStringDeclTypeFeedback StringDecl TextForIdDeclGuardedSimpleSupports NameSpaceScript scriptDecls makeScriptmakeText feedbackDecl textForIdDeclincludes textItemsparseScriptSafe parseScriptexercise statePrefixes stateContext stateTerm stateLabels makeNoStateemptyStateContext emptyStateTypedtypeOftyped typedListShowFshowFConstIntBool SomeExerciseStdGenStratCfgServiceTypeRepUnitPairListTag:->IsoType TypedValue:::EqualequalserviceDeprecatedserviceFunction makeService deprecateequalM Evaluator EncoderStategetState withStaterunEncoderState simpleEncoder maybeEncoder eitherEncoder encoderForencoderStateForrunEncoderStateM encodeTyped// evalServiceJSONDecoderState getExercise getScript getStdGen JSONDecoder jsonDecoder toOpenMath fromOpenMathtoOMOBJ fromOMOBJnoMixedFractionsXMLDecoderState isOpenMath decodeTerm XMLDecoder xmlDecoder ruleToHTML ExampleMap rulesInfoXMLrewriteRuleToFMPcollectExamples strategyToXML xmlToStrategyStepInfogenerate generateWith allfirstsonefirstallapplicationsstepsremainingfindbuggyrulesexampleDerivations DiagnosisCorrectDetourExpectedSimilar NotEquivalentnewStatediagnoserestartIfNeededDomainReasonerDR reasonerId exercisesservicesviewsaliasesscripts testSuiteversion fullVersionexercisesSortedservicesSorted findExercise findService defaultScriptUnknownOksubmit jsonEncoderReply IncorrectproblemDecompositionEncoding HTMLEncodingStringEncodingOpenMath DataFormatRequestservicesource dataformatdiscoverDataFormat readEncoding processJSON logMessage logEnabledFlag AnalyzeScript MakeScriptForTest MakePages InputFileHelpVersion versionTexthelpText shortVersiongetFlagsEnvoldReadyexpected recognizedactivesdiffPairbeforeafter afterTextnewEnvironment ruleToStringevalfeedbackDiagnosis feedbackHint feedbackHints feedbackIds attributeIds conditionIdsacceptderivationtext onefirsttext submittext feedbacktextXMLEncoderState encodeTerm XMLEncoder xmlEncoder encodeState LinkManagerurlForResource urlForRequestisStatic urlForIndexurlForExercisesurlForServices urlForServiceurlForExerciseurlForStrategy urlForRulesurlForExamplesurlForDerivations urlForRuleurlForRandomExample urlForState urlForFirstsurlForApplicationsurlForDerivation linkToIndexlinkToExerciseslinkToServices linkToServicelinkToExerciselinkToStrategy linkToRuleslinkToExampleslinkToDerivations linkToRulelinkToRandomExample linkToState linkToFirstslinkToApplicationslinkToDerivation dynamicLinks stateToXML staticLinkslinksUp pathLevel htmlEncodermakeDocumentation processXML blackBoxTestsUnknownCondAttrUnknownAttribute NoTextForRuleFeedbackUndefinedUnknownFeedbackUnknownExercise makeScriptForparseAndAnalyzeScript analyzeScript defaultMainnewDomainReasoner serviceListmetaServiceList showOpenTag showCloseTag showAttValue doubleQuote$fShowParameter$fShowReference $fShowXML $fShowElement$fShowAttributetoUTF8fromUTF8isHighbetweenvalidTreeLeafNode checkTreefmergeextraMap controlMap baseCharMapideographicMapdecode16 decode16X$fShowUnbalancedError parsec-3.1.3Text.Parsec.Language mondrianDefmondrian haskellDefhaskellemptyDef javaStyle haskellStyle"Text.ParserCombinators.Parsec.ExprbuildExpressionParserInfixPostfixOperator OperatorTable"Text.ParserCombinators.Parsec.Prim runParserpzeroText.Parsec.Expr AssocNone AssocLeft AssocRightAssocText.Parsec.Token LanguageDef caseSensitivereservedOpNames reservedNamesopLetteropStart identLetter identStartnestedComments commentLine commentEnd commentStartGenLanguageDef"Text.ParserCombinators.Parsec.Char CharParserText.Parsec.String parseFromFileParser GenParserText.Parsec.CombinatormanyTill notFollowedByeofanyTokenchainr1chainl1chainlchainrcountendByendBy1sepEndBy sepEndBy1sepBy1sepBy skipMany1optional optionMaybechoiceText.Parsec.CharsatisfyanyCharcharoctDigithexDigitdigitletteralphaNumloweruppertabnewlinenoneOfoneOfText.Parsec.Prim updateStatesetStatesetParserStategetParserStatesetInput setPositiongetInput getPosition parseTestparseskipMany tokenPrimEx tokenPrimtoken lookAheadtokenslabels unexpected stateUserstatePos stateInputText.Parsec.ErrorerrorPos ParseErrorText.Parsec.PossetSourceColumn setSourceLine setSourceNameincSourceColumn incSourceLine sourceColumn sourceLine sourceName SourceNameLineColumn SourcePosXMLDecl combiningCharextenderparensbrackets singleQuoted doubleQuotedmspacenameChar spacedNamenmtoken entityValueattValue systemLiteral pubidLiteral pubidCharcharDatacommentpInstrpiTargetcdSectprologxmlDecleq versionNummiscmiscs doctypedecldeclSep intSubset markupdecl extSubsetDeclsdDeclsTag attributeeTag elementdecl contentspeccpcpChoicecpSeqmixed attlistDeclattDefattType stringType tokenizedTypeenumeratedType notationType enumeration defaultDeclconditionalSect includeSect ignoreSectignoreSectContentsignorecharRefhexa reference entityRef peReference entityDeclgeDeclpeDecl entityDefpeDef externalID nDataDecltextDecl encodingDeclencName notationDeclpublicIDBS ignoreLayout indentXMLfromBS escapeAttrescapetrim$fBuildXMLXMLBuilder$fMonoidXMLBuildergetDualDualappEndoEndogetAllAllgetAnygetSumSum getProductProductgetFirstFirstgetLastLasttitle styleSheets htmlContent$fInXMLHTMLPage readDouble$fUniplateOMOBJ $fInXMLOMOBJarbOMOBJ RPCResponseResponseresponseResult responseError responseId RPCRequest requestMethod requestParams requestIdsquareBrackets curlyBrackets okResponse errorResponseindentarbJSON myStringGen$fArbitraryNumber$fArbitraryJSON$fInJSONRPCResponse$fInJSONRPCRequest$fShowRPCResponse$fShowRPCRequest$fInJSONIOException $fInJSON(,,,) $fInJSON(,,) $fInJSON(,) $fInJSON[] $fInJSONBool $fInJSONChar$fInJSONDouble$fInJSONInteger $fInJSONInt $fShowNumber $fShowJSONAGpureGennewGen$fMonoidArbGenQuickCheck-2.6Test.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgschattymaxSizemaxDiscardRatio maxSuccessArgsoutputnumTestsSuccessGaveUp interruptedreasonusedSizeusedSeed numShrinksFailureNoExpectedFailureTest.QuickCheck.Propertydisjoinconjoin.&. forAllShrinkforAllwithin==>coverclassifycollect expectFailureverbose whenFail'whenFail printTestCase shrinkingmapSizePropertypropertyTestablePropTest.QuickCheck.ModifiersBlind getOrderedOrdered OrderedList getNonEmptyNonEmpty NonEmptyList getPositivePositive getNonZeroNonZerogetNonNegative NonNegativeShrink2 Shrinking shrinkState shrinkInit ShrinkStateTest.QuickCheck.Arbitrary orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegralshrinkRealFracshrinkIntegral shrinkNothingarbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedIntegralshrink arbitrary Arbitrary coarbitrary CoArbitraryTest.QuickCheck.GenvectorOflistOf1listOfgrowingElementselements frequencyoneof suchThatMaybesuchThatsamplesample'promotechooseresizesizedvariantGenTest.QuickCheck.TextMkStrStrTest.QuickCheck.Exceptiondiscard HashTableStableRefencodeIndexZero extractHash extractIndex hashStringmaxHashatIndexcombineintErrmessageTSR messageSeqsuiteSeqdiffTimeCcolumnresult TestSuiteMTSMunTSM addAssertion withEmptyTree newlineIndentdot addResultresetokResult messageResult suiteResultsetLabel toTestResultupdateDiffTime getDiffTime $fShowMessage$fShowTestSuiteResult$fMonoidTestSuiteResult$fMonoidTestSuiteM$fMonadIOTestSuiteM$fMonadTestSuiteM$fShowShowString fromMirror$fWrapperMirrorLI$fArbitraryListIterator$fUpdateListIterator$fFocusListIterator$fIteratorListIterator$fShowListIterator$fIteratorMirror errBiArrow$fBiFunctor(,)$fBiFunctorEither$fContainerSet $fContainer[]idList idDescriptionidRefappendIdstringIdisIdCharemptyId $fHasIdEither $fHasIdId $fIsIdEither $fIsIdMaybe $fIsId(,,) $fIsId(,)$fIsId()$fIsId[] $fIsIdChar$fIsIdId $fArbitraryId $fMonoidId$fOrdId$fEqId$fReadId$fShowIdEPpidTraverse:+++::***::>>>::@PrimMunMswapcopy$fHasIdViewPackage$fIdentifyIsomorphism$fHasIdIsomorphism$fIsViewIsomorphism$fIsMatcherIsomorphism$fArrowChoiceIsomorphism$fBiArrowIsomorphism$fArrowIsomorphism$fCategoryIsomorphism$fIdentifyView $fHasIdView $fIsViewView$fIsMatcherView$fArrowChoiceView $fBiArrowView $fArrowView$fCategoryView$fIsMatcherMatchersymbolId$fArbitraryTerm$fWithMetaVarsTerm$fWithVarsTerm$fWithFunctionsTerm $fIsTerm[] $fIsTermChar$fIsTermDouble$fIsTermInteger $fIsTermInt$fIsTermEither $fIsTerm(,)$fIsTermShowString $fIsTermTerm$fUniplateTerm $fHasIdSymbol $fReadSymbol $fShowSymbol $fOrdSymbol $fEqSymbol identifierprinterrefViewenvMap changeEnv$fHasEnvironmentEnvironment$fHasRefsEnvironment$fMonoidEnvironment$fShowEnvironment$fHasIdBinding $fEqBinding $fShowBinding$fReference(,) $fReference[]$fReferenceChar$fReferenceTerm$fReferenceInt $fHasIdRef$fEqRef $fShowRefGetRefZeroThenBindReturnenvMonadRefsIOenvMonadFunctionRefsIOsafeIO$fMonadPlusEnvMonad$fMonadEnvMonadunS$fArbitrarySubstitution$fShowSubstitution$fMonoidSubstitution collectSymdiffdiffTerm$fBiFunctorDerivation$fFunctorDerivation$fShowDerivation annotationscommit mergeStepsDTshuffle$fBiFunctorDerivationTree$fFunctorDerivationTreedividesplitsmatchA defaultMatch safeZipWithproductsassociativeMatchRruleIdruleShow ruleTermView ruleMatchers ruleBuilders buildFunctionfill buildSpecapplyRewriteRuletoTermRR fromTermRR$fApplyRewriteRule$fRuleBuilder(->)b$fRuleBuilderRuleSpeca$fDifferentChar $fDifferent[]$fHasIdRewriteRule$fShowRewriteRule$fFunctorRuleSpec LawBuilderlawSpecAbs getLawSpec$fRuleBuilderLawSpeca $fTestableLaw$fLawBuilder(->)a$fLawBuilderLawSpeca $fShowLawWZ fromSemiGroup$fCoMonoidZeroWithZero$fCoMonoidWithZero $fCoMonoidSet $fCoMonoid[]$fMonoidZeroWithZero$fMonoidWithZero Exception safeDivisor$fCoMonoidZeroMultiplicative$fCoGroupMultiplicative$fCoMonoidMultiplicative$fCoGroupAdditive$fCoMonoidAdditive$fFieldSafeNum $fRingSafeNum$fSemiRingSafeNum$fFractionalSafeNum $fNumSafeNum$fMonadSafeNum$fFunctorSafeNum $fShowSafeNum $fOrdSafeNum $fEqSafeNum$fArbitrarySafeNum$fMonoidZeroMultiplicative$fGroupMultiplicative$fMonoidMultiplicative$fApplicativeMultiplicative$fFunctorMultiplicative$fGroupAdditive$fMonoidAdditive$fApplicativeAdditive$fFunctorAdditiveU StrIteratorSIposSIfromSI StrNavigatorSN currentStr strContext fromLeafsHorfromHorLevel fromLevelPostfromPostPrefromPreLsizeStrNavigatorcountStrfirstStrIteratorlastStrIteratorfinalSIokdownWith$fArbitraryUniplateNavigator$fFocusUniplateNavigator$fUpdateUniplateNavigator$fNavigatorUniplateNavigator$fEqUniplateNavigator$fShowUniplateNavigator$fUpdateStrIterator$fFocusStrIterator$fIteratorStrIterator$fFocusStrNavigator$fNavigatorStrNavigator$fIteratorLeafs $fUpdateLeafs$fWrapperLeafs$fIteratorHorizontal$fUpdateHorizontal$fWrapperHorizontal$fIteratorLevelOrder$fUpdateLevelOrder$fWrapperLevelOrder$fUpdatePostOrder$fWrapperPostOrder$fIteratorPreOrder$fUpdatePreOrder$fWrapperPreOrder$fNavigatorMirror$fMonoidLocation$fShowLocationgetEnvironment getNavigatorNoNavTermNavliftCN navLocationcurrentNavigatorchangeNavigatorcurrentTchangeTcastT$fHasEnvironmentContext$fNavigatorContext $fShowContext $fEqContextAppend:++::**::>>:UseEnvRewrite descendTrans$fHasRefsTrans$fMakeTransEnvMonad $fMakeTrans[]$fMakeTransMaybe $fMonoidTrans$fArrowApplyTrans$fArrowChoiceTrans$fArrowPlusTrans$fArrowZeroTrans $fArrowTrans$fCategoryTrans bindValueunR$fHasRefsRecognizer$fRecognizableRecognizer$fMonoidRecognizer$fLiftViewRecognizer isBuggyRule isMinorRulegetTrans getRecognizer $fHasRefsRule$fArbitraryRule $fMinorRule $fBuggyRule$fRecognizableRule$fLiftViewRule $fHasIdRule $fApplyRule $fOrdRule$fEqRule $fShowRulenextVarcoreVars$fArbitraryGCore$fFoldableGCore$fTraversableGCore$fBiFunctorGCore$fUniplateGCore$fFunctorGCoreStackactive suspended remaindertimeoutStepCorerunState coreLabelcoreInterleavepushsuspend useAtomicpop makeChoicecheckNotuseRule traceStep freeCoreVar incrTimer resetTimerinterleaveAfter changeStack emptyStack pushStack suspendStackpopStackinterleaveStack combineStack$fFunctorResult $fMinorStep $fApplyStep labelInfoLSInfolabelId$fLiftViewStrategy$fLiftViewLabeledStrategy$fIsLabeledRewriteRule$fIsLabeledRule$fIsLabeledLabeledStrategy$fHasIdLabeledStrategy$fApplyLabeledStrategy$fShowLabeledStrategy$fIsStrategyRewriteRule$fIsStrategyRule$fIsStrategyLabeledStrategy$fIsStrategyStrategy$fArbitraryLabelInfo$fHasIdLabelInfo$fShowLabelInfo$fArbitraryStrategy$fApplyStrategy$fShowStrategyByGroupByNameSC configItems configureCore getActionsdoAction setRemoved setCollapsed setHiddenfromLoctoLocP prefixPair prefixIntList $fEqPrefix $fShowPrefixTriple normalForm rewriteTerm uniplateNav superImpose criticalPairsnoDiamondPairsnoDiamondPairsWith reportPairsOunOgetVisit getCombinator getFilters getTopDown getReversed CombinatorOrElseVisit VisitManyVisitAll VisitSomeVisitOne VisitFirstvisit layerWith traverseWith fromOptionssetVisit setCombinatorruleUpruleDown ruleDownLastruleLeft ruleRight$fMonoidOptionT locationList_go=====!==>>prop changeLast $fArbitraryT $fUniplateT InterleaveidSmyFirsts$fSemiRingInterleave$fSemiRingSequence$fMonoidZeroInterleave$fMonoidInterleave$fMonoidZeroSequence$fMonoidSequence$fMonoidChoice$fEqInterleave $fEqSequence $fEqChoice$fDualMonoidOr$fMonoidZeroOr $fMonoidOr$fApplicativeOr $fFunctorOr$fDualMonoidAnd$fMonoidZeroAnd $fMonoidAnd$fApplicativeAnd $fFunctorAnd$fCoMonoidZeroOr $fCoMonoidOr$fCoMonoidZeroAnd $fCoMonoidAnd $fBoolean(->) $fBooleanBool$fBoolValue(->)$fBoolValueBooldualDistributivedualAbsorptiondualComplement dualTrueFalsedeMorgan GroupMatch matchGroup$fBooleanSmart$fBoolValueSmart$fFieldSmartField$fRingSmartField$fSemiRingSmartField$fApplicativeSmartField$fFunctorSmartField$fGroupSmartGroup$fMonoidSmartGroup$fApplicativeSmartGroup$fFunctorSmartGroup$fMonoidSmartZero$fApplicativeSmartZero$fFunctorSmartZero $fMonoidSmart$fApplicativeSmart$fFunctorSmart:||::&&:ComplPView$fIdentifyPredicate$fHasIdPredicate$fBooleanPredicate$fBoolValuePredicateShowAsshowSfromS IsTypeableITshowAscheckParserPrettyEx checksForTermchecksForDerivation $fShowShowAs$fShowDifficulty$fHasIdExercise$fApplyExercise $fOrdExercise $fEqExercise combineList$fUniplateText$fUniplateCondition $fMonoidText$fMonoidScript $fShowText$fShowCondition$fShowDeclType $fShowDecl $fShowScriptparseOneScriptFilescriptdeclsdecl simpleDecl guardedDecldeclType conditionsingleLineText multiLineTexttextItem identifiers filenamesfilenamelexChar lexStringlexeme$fHasEnvironmentState $fHasIdState $fShowState serviceId showAsList showTuple $fTypedaSome $fTypedaTree $fTypeda[]$fTypedaDerivation$fTypedaEither $fTypedaMaybe $fTypeda(->) $fTypeda(,,,) $fTypeda(,,) $fTypeda(,) $fTypedaText$fTypedaScript$fTypedaStrategyConfiguration$fTypedaContext$fTypedaExercise $fTypedaState$fTypedaService$fTypedaDifficulty$fTypedaStdGen$fTypedaEnvironment$fTypedaLocation $fTypedaId$fTypedaStrategy $fTypedaRule $fTypedaChar $fTypeda() $fTypedaBool $fTypedaInt $fShowFConst $fShowConst$fShowTypedValue$fShowTypedValue0 $fShowTypeRep$fShowFTypeRep $fEqualConst$fEqualTypeRep$fHasIdService $fShowServiceEnc fromTyped$fBuildXMLEncoderState$fMonadPlusEncoderState$fMonadEncoderState$fMonoidEncoderState$fApplicativeEncoderState$fFunctorEncoderState$fArrowApplyEncoderState$fArrowChoiceEncoderState$fArrowPlusEncoderState$fArrowZeroEncoderState$fArrowEncoderState$fCategoryEncoderState decodeType decodeConst decodeRuledecodeLocation decodeStatedecodePrefixesdecodeEnvironment decodeContext deintercalate idToSymbol hasTermViewMmfSymbol decodePrefixdecodeConfigurationdecodeArgEnvironment decodeBindingrewriteRuleToHTML showLeadsTo specialSymbol sameSymbolshowMeta infoToXML coreToXML coreBuilder isSequenceisChoiceisOrElse isInterleave xmlToInfofindBool readStrategy setLocation$fTypedaDiagnosis$fShowDiagnosis$fTypedaDomainReasoner$fHasIdDomainReasoner$fMonoidDomainReasoner fromDiagnose$fTypedaResult JSONEncoderjsonEncodeConstencodeEnvironment encodeContextencodeDerivationencodeDerivationText encodeResultencodeDiagnosis jsonTuple ruleShortInfo exerciseInforunPrefixLocationAnswer fromAnswerfirstMajorInPrefixnextMajorForPrefixrunPrefixMajor $fTypedaReply$fTypedaAnswerextractExerciseId addVersion jsonRequest myHandler jsonConverterheaderoptionsfileArgtestArgpagesArg makeScrArg analyzeScrArgnewEnvironmentFortoText defaultHintmake expectedId recognizedId diffbeforeId diffafterIdbeforeIdafterId afterTextId oldreadyId hasexpectedId$fTypedaMessagexmlEncoderConstencodePrefixesencodeLocationencodeTypedBindingencodeDifficulty encodeText encodeMessageencodeDecompositionReply encodeAsListshowBool simpleRequest makeRequestexerciseRequestexerciseRequestWith stateRequestlinkWith escapeInURLpathUp idToFilePathidToFilePathWithHTMLEncoderStategetLinkManager HTMLEncoder encodeType encodeConst encodeIndexencodeServiceListencodeExerciseList groupById groupsWithorderedGroupsWith encodeServiceinputOutputTypes productTypeencodeExerciseexerciseHeader exerciseMenuencodeStrategyboolencodeRuleList encodeRuleencodeExampleListencodeDerivationListhtmlDerivation htmlState stateLink isRuleStephtmlStephtmlDerivationWith htmlAllFirstshtmlAllApplications htmlDiagnosishtmlDescription submitFormsubmitStateInfosubmitDiagnose submitRequestquote submitURL safeWrite xmlRequestxmlReplyresultOk resultErrorstringFormatConverter htmlConverteropenMathConverterdoBlackBoxTestsimplerDirectorystripDirectoryPart defaultCGIdefaultCommandLineprocess derivationS allfirstsS onefirstSreadySstepsremainingS applicableSallapplicationsSapplyS generateS examplesSfindbuggyrulesSsubmitS diagnoseSproblemdecompositionS onefirsttextSderivationtextS submittextS feedbacktextSindexS exerciselistS servicelistS serviceinfoS rulelistS ruleinfoS rulesinfoS strategyinfoS exerciseinfoS stateinfoSexamplederivationsS