Integración de razonamiento equivalente
Cuando los estudiantes ya han interiorizado los pasos de una demostración y practicado lo suficiente, suelen adquirir confianza en sí mismos y sus conocimientos. Por lo regular, es en esta etapa en la que pueden comenzar a realizar los desarrollos correspondientes por su cuenta y con mayor facilidad. Es entonces cuando convendría incorporar el uso del razonamiento equivalente de STACK en las partes procedimentales de una demostración, como lo es el paso 3 de una prueba por inducción (verificar que la proposición se cumple para \(n+1\)).
Supongamos que deseamos que el alumno pruebe que \[\sum_{k=1}^{n}(k-1)\cdot k=\frac{(n-1)(n)(n+1)}{3}.\]
Ahora en Variables de la pregunta, definiremos la respuesta modelo para nuestro razonamiento equivalente:
Habilitaremos enseguida el Editor HTML del Enunciado de la pregunta y capturaremos el siguiente código que puedes descargar al final de esta sección:
Como puede observarse, tenemos solo cuatro entradas. Las entradas ans1 y ans2 son entradas numéricas que quedarán configuradas del siguiente modo:
Al igual que en el ejemplo anterior, prohibiremos para esta primeras dos entradas el uso de flotantes:
La entrada ans3 será de tipo algebraico, pues en ella el alumno debe descomponer \(\sum_{k=1}^{n+1}(k-1)\cdot k\) en la suma \(\sum_{k=1}^{n}(k-1)\cdot k + n\cdot(n+1)\). Por ello, nuestra respuesta modelo será sum((k-1)*k,k,1,n)+n*(n+1). Además, al igual que en ejemplo previo, le brindaremos al estudiante sum(?,k,1,n)+? como sugerencia de sintaxis para facilitarle esta tarea y haremos las siguientes capturas:
La entrada ans4 será de tipo Equivalence reasoning y empleará como respuesta modelo aquella almacenada en la variable sol, que definimos al principio en Variables de la pregunta:
Hecho esto, configuraremos los árboles de respuestas potenciales. Los árboles correspondientes a las entradas ans1 y ans2 comparten la configuración de sus nodos:
El árbol de la entrada ans3 nos permitirá asegurarnos de que la respuesta brindada por el estudiante esté dada en función de \(n+1\) (en el Nodo 1) y de brindar alertas en caso de presentarse equivalencia algebraica (en el Nodo 2):
Para el árbol de la entrada ans4, como se trata de una lista de respuestas brindadas por el alumno - que en su conjunto constituyen al desarrollo- en el Nodo 1 se verifica la equivalencia algebraica entre cada una de ellas (last(ans4)) y la solución stackeq(soln). Aquí stackeq() se emplea debido a que cada línea del desarrollo del alumno comenzará con un =, pero la respuesta modelo no cuenta con ese símbolo, de manera que el comando se encarga de que ello no cause errores. En el Nodo 2 se revisa además que la respuesta esté escrita en términos de \(n+1\):
Al finalizar, luego de guardar los cambios, obtendremos un resultado como este: