SimplifyFeedback - Maple Help

 SimplifyFeedback
 generate feedback for a step-by-step simplifications of an expression

 Calling Sequence SimplifyFeedback(steps,options)

Parameters

 steps - solution steps {canvas-string,table,rtable,list} options - (optional) equation(s) of the form option = value

Options

 • given = list of step expressions prepending the solution
 • group = integer or set of integers, restrict the elements to inspect to the specified group(s)
 • filter = set(equation), input element filters passed to GetMath
 • output = default, list or canvaslist, specify an output format
 • cursorgroup = truefalse, when true consider only elements in the group containing the cursor (Maple Learn only)
 • stepcheck = procedure or list of procedures, procedure for custom analysis
 • stepdata = anything or list(anything), non-NULL user-defined data passed to stepcheck

Description

 • The SimplifyFeedback command analyzes a step-by-step progression of an expression into different forms and reports feedback for each step of the solution.
 • The given argument is a list of expressions that will be prepended to the steps input. When part of an interactive canvas-based application this parameter can used behind the scenes to ensure the correct expression is listed first.
 • The step analysis can be customized for a particular problem type by providing one or more stepcheck procedure. The stepcheck procedure takes arguments: proc( allsteps:list, expr, inert_expr, data ).   It will be called once per expression in the given set of steps, passing in the full list of steps, the individual current steps[i], the inert-form of steps[i] (if available), and the provided stepdata.
 For example, the FactorSteps command is built on top of SimplifyFeedback, by providing a stepcheck procedure that can identify special steps like synthetic division, and provide feedback about the end goal of arriving at a fully factored form.
 • When the optional argument, group=1, or group={2,3} is specified in conjunction with a canvas-based solution input, only the specified elements in the given group or groups will be considered when generating feedback.
 • The output option can be set to default, list, or canvaslist.  When solution is a canvas, the default action is to generate a Script, which will be applied to the active Canvas.  Otherwise, when solution is an Array or list, the default output is a list of strings.
 Use output = list to force list-of-strings output even when solution is a canvas.
 Use output = canvaslist to return a list of [string,record] pairs, when solution is a canvas. This returns a list of lists, where the [i,1] element is a feedback comment string, and the [i,2] element is the canvas record-object that identifies the expression for which the feedback applies.  The record-object can be inspected as per any object returned by GetMath, or it can be passed as an argument to some Script commands like Annotate.
 • The filter option applies to canvas-based input, and will cause the canvas elements to be pruned if they match the given specified properties.  For example, 'filter'={'readonly'=true} will prune out all math containers that have their readonly property set to true.

Examples

 > $\mathrm{with}\left(\mathrm{Grading}\right):$
 > $\mathrm{SimplifyFeedback}\left(\left[{\left(x+2\right)}^{2},{x}^{2}+{2}^{2},{x}^{2}+4\right]\right)$
 $\left[{""}{,}{"Check this step"}{,}{"Ok"}{,}{""}\right]$ (1)

Compatibility

 • The Grading:-SimplifyFeedback command was introduced in Maple 2024.