What's New in Step-by-Step Mathematics

This is a transcript of a WolframAlpha team presentation ("What's New in Step-by-Step Mathematics", Dec 20, 2022) describing recent expansions to WolframAlpha's step-by-step solution capabilities. The team contrasts two implementation approaches—procedural (direct algorithms for tasks like dot products, long arithmetic, arc length) and rule-based (transformation-rule application to reach fixed points, used for algebraic and trigonometric simplifications). Major covered areas: long arithmetic (aligned to Common Core; whole numbers, negatives, decimals, division formats, polynomial arithmetic, alternative methods), trigonometric simplifications (identities, expansions/reductions, currently sines/cosines and polynomial support with future plans for rational functions, exponentials/logs), statistics (two-sample t-tests and F-tests demo), vector calculus (step-by-step gradient in Cartesian coordinates), and discrete mathematics/number theory (recurrence relations via characteristic polynomial and generating functions; arithmetic functions like Möbius and Liouville). The presenters emphasize pedagogical hints, configurable detail levels, and ongoing expansion across math, physics, and chemistry.
Chapters
Hi everyone. Sorry for the transition here. We just had to get laptops and everything switched over. But for those of you who were here before, it's me again. I'm Jeremy Stratton Smith and I will just sort of be introducing and guiding our talk today as we go through the new developments in step by step mathematics. We have a whole range of content that has come out in the past few years and, and we're really excited to be able to share it with you. So, sort of as an overview of the WolframAlpha step by step functionalities, we really have broken our approaches into two different procedures. Whoops.
Okay, I think we're good.
So the first and sort of easiest to write step by step code is for procedural processes. So this is anything like taking a dot product, figuring out linear independence, computing an arc length, you know, something where there's essentially one or more procedures that are wrote and you, you do those and you get an answer. The second method is rule based, which is essentially making use of the Wolfram language's great ability to do transformation rules and applying a set of transformation rules to an expression until we reach some sort of fixed point. So this is great for things like doing expansions, doing simplifications, doing algebraic manipulations and so on. Through both of these approaches to our step by step code, we have a sort of unified structure, which is that a single step in a step by step program is broken up into a hint, which is sort of guiding the user along a textual description, which is sort of stating what is happening in this particular step, and then some sort of printed out, transformed expression. So because we have a lot of content to go over today, I'm going to. I guess I'll show one of these, just so you know, you get the idea. But you're going to be seeing lots of steps today, so I'm not going to spend a long time working with these examples right now. Oh, there it goes. Okay, so you can see here, this is our introduction. And as we go on through the steps here, we get a hint. Oh, I'm sorry, I hit evaluate twice. We get our hint, which in this case is just sort of giving you the beginning process and describing what linear independence looks like. And as we go along, we get our textual description and the printed out math expression here. So with that, I believe I'm going to be handing it over to Ann Marie, who's been working on our long, long arithmetic.
Good morning, My name is Annemarie, also a member of the WolframAlpha math content team. And one of the projects we've been putting a lot of time into over the past year is expanding our steps for long arithmetic. So when we start thinking about what long arithmetic is, one place we can start are the Common Core Standards for math up on the screen. I have selected a few of the Common Core standards related to long arithmetic throughout several grades. And if it looks like a lot of words, that's how a lot of teachers feel too. So we're trying to sort of distill some of the main points that students and teachers are going to need to use in the classroom and make sure that those are woven into the steps that, that we're providing online. So by reading closely all of the standards, there are three things that recur throughout the grade levels. And long arithmetic involves strategies based on Place value base 10, having a written method to express that strategy for arithmetic and then using a standard algorithm for each of the arithmetic operations. So many of us will be familiar with some variation of a state standard way of doing arithmetic. On paper, we have notions of, in common core words, composing and decomposing. I learned it as carrying and borrowing and sort of referencing all of that with this conceptual understanding of place value and how digits are arranged. So that's part of what we've tried to implement in the steps. And also of course, there's a written method which is kind of a trademark of this long arithmetic is that we have for each operation a specific type of grid or arrangement of the digits that we use to keep track of the procedure as we write it down. So those are what we've built for our steps in long arithmetic. Now for this audience, I don't think I'm going to go through in detail all of the arithmetic steps one by one. But I want to show some of the experiments, expansions to the scope that we've supported. So we already have had for a long time. It's a great place to start if you're doing step by step programs, arithmetic with whole numbers. So you can ask for the step by step solution to here's a subtraction of two integers and you will get all of the steps in that hint. Textual description print out of the, in this case, the written grid for the long arithmetic procedure. Long subtraction. So we've got the written method described. How do we align the digits? Thinking about probably a potentially younger student or a teacher of younger students that has to not lead too many details and working through one at a time to explain the borrowing, using the place value language and so on, and so forth, until we arrive at an answer. And there we have a long arithmetic of whole numbers. All right, well, we also have negative numbers introduced at some point in that sequence, around fourth grade, in that Common Core sequence or whatever set of standards your elementary school is using. So we've also added a little bit of extra support just to make sure that we can provide steps for arithmetic with negative numbers in different operations. For subtraction, we have sort of just an intro step to address that. We can express subtraction of a negative from a negative as addition and then interpret that as a negative number. We do something similar for multiplication, where in this case negative times a negative is a positive. Something that my students can just like recite. That's something they know. Negative times negative is a positive. And so we've just implemented that which expands all the different steps we can provide without adding too much more of the code. It's just this extra explanation to allow negatives. Another expansion that we've done a little bit more involved is to do step by step for decimal long arithmetic. Here we have to make sure that we're being careful about that place value reasoning so that we have decimal points lining up. In the case of addition, making sure we're padding all of the extra place value places and then referring to the different place values as we go through the written method for multiplication. For example, if we're doing multiplication with decimal numbers, the extra content that we added comes at the end. And this sort of procedural trick of counting up the decimal, the digits after the decimal and each of the factors, and then having that be the number of digits after the decimal in the product. And then one other consideration that we've taken into account is that for division in particular, there are different. Well, for all the operations are different contexts in which they're used for division. You can report your answer in a few ways. So we have some different methods. You can see the step by step long division algorithm with the division grid. So we have our written method and then we can make a conclusion that we come to a quotient with a remainder, or a teacher might ask for that answer to be reported as a mixed fraction instead. And so we've built out just a little bit around those division steps to. This is the same steps, but now with an extra step at the end of how to format your answer in the desired form. Okay, and then another thing that we're working on also in the Common Core standards, you can do arithmetic with polynomials. So we've also been building out our long Arithmetic steps for division with polynomials and multiplication with polynomials. So I won't go through all those. We've got lots of steps to go to, but those are available online and we also have a lot more to work with. So I showed you multiplication and subtraction, and we have addition with decimals. We're working on adding the support for division with decimals. We also are thinking about work showing long arithmetic for bases other than base 10. And then something that I really enjoy working on are alternative methods for long arithmetic or various types of mathematical procedures, things that may have visualizations or different arrangements of that written method. There's some room for interpretation when it comes to the standard algorithm, geographically based on different teachers. So working to expand our content to match those things too. Okay, so now I will pass off to Jordan, who's talking about trigonometric simplifications.
Thank you, Ann Marie. So today we're going to be talking about trigonometric simplifications. So with regards to Wolfram Alpha, we had to first be able to evaluate various expressions and simplify arithmetic, and integers and rational arithmetic combine like terms and be able to multiply expressions using the binomial theorem and distributive properties before we could get into simplifying trigonometric expressions. So what I'm going to do today is going to be talking about what are called identities. So you may have seen an identity such as sine squared plus cosine squared of X equals one. And we've had this functionality since 2012. So what we're adding this new now is what are going to be simplifications. So we're going to either have an expansion or we're going to have reduction. And so we have different types of simplifications that we're talking about. So for instance, what's called a power reduction is this last formula above this. Cosine squared of x minus sine squared of x. The essentially the reverse of that would be when you take the double angle formula for cosine and make that into cosine of 2x. And so we have both of these simplifications that have been in production. So right now the functionality is working with sines and cosines, and this will be expanded in the future. And then we're also going to be able to support specific types of expansion. So if you, if you're expanding out your cosine of 2x, sometimes that's written in terms of only sines, and sometimes that's written in terms of only cosines. And then there's also in the future we're going to have factoring. But one idea that you can think about here, if you're trying to understand this from a conceptual programming viewpoint here, is that you can think of these trigonometric simplifications as sequential applications of rules. So as Jeremy was mentioning at the beginning of the hour, there are rule based methods and simplifications are one example of a rule based method. So you could take a look at an expression such as sine of 2x plus cosine of 2x. And you want to apply various rules here to build a expand that out in terms of powers. So we have the sine of 2x. We recall that we have this double angle formula for sine and so we can apply that. And then we can also after that apply a double angle rule for cosine. And so we'll see that if we expand this out, we would get two sine of x cosine of x plus cosine of x squared minus sine of x quantity squared. And so what is going to be the tough part here? Well, the tough part is that there's a wide variety of different rules that could be applied at any given step. And you want this to be in a readable format that a student can understand. So for instance, there are some rules that take on a paramount importance in your trigonometry class, such as a Pythagorean identity. There's the equivalent sine squared x plus cosine squared x equals 1. And then you can derive further identities from that. But what happens is you can think about this from the viewpoint of there being looking at the entire expression and working inwards and then also a viewpoint of building up and thinking about this. One way of thinking about this would be as an expression tree. So for instance, when you're applying rules here, you could start for instance from these leaf nodes here. And then as you're looking up this tree, you'll encounter a cosine and that will have cosine of 2x and you'll want to apply a rule there. Then we could be next step applying a sine rule and then after that we could be computing out a power of that cosine. So that's a little bit of the idea behind this rule based simplification of trigonometry. Sometimes scanning the entire expression can be computationally expensive. That isn't always going to be the case. So for instance, you could save a lot of effort intercepts if you were looking at something such as a sine of 2x quantity squared plus cosine of quantity 2x squared and recognizing that as one, instead of expanding things out and then simplifying that further there. So right now we have. So I put polynomial in quotes, because right now we're supporting polynomial functions. So we haven't gotten to rational functions for the simplification jet, but that is in the planning stages and pre planning stages. And then after this, we plan to be further expanding to exponentials and logarithms and then converting between exponentials and logarithms and converting between trigonometric expressions and exponentials. So now I'm just going to go over an example of this here. So in WolframAlpha Notebook Edition, you can type in step by step, simplify of sine of 2x plus cosine of 2x. We can simplify this out. We see that we can apply the double angle identity, and again, the double angle Identity is sine of 2x equals 2 times cosine of x times sine of x. We can apply that. Then we can apply a cosine double angle identity formula, which is again cosine of x quantity squared minus sine of x quantity squared. And then we can combine all that. So for an example here, these can become more complicated, such as the following. So we now have cosine of x squared minus sine of x squared plus 2 sine of x cosine of x plus cosine of x squared plus sine of x squared. And we want to reduce the following. So think of taking what we had done before and reversing that. So now we're trying to simplify this into a formula with a multiple argument here. So we have the double angle formula can be applied here. In particular, we could start by looking at the double angle formula for cosine, which is our cosine of x quantity squared minus sine of x quantity squared equals cosine of 2x. We can apply this. Then we can denote the Pythagorean identity here. And then we can also apply the double angle formula for sine. And after simplification here, we return this formula cosine of 2x plus sine of 2x.
Plus 1.
I want to point out that there's been a lot of effort towards the Common Core standards here. So in the Wolfram Alpha Notebook Edition, as Anne Marie was demonstrating, we had the ability to work with Common Core standards and we can obtain information on the trigonometry standards, for instance. So in particular, there are two trigonometric function and then we can also get that definition as well. So we can get information on the Pythagorean identity of sine of sine of theta squared plus cosine of theta squared equals 1. And then as mentioned we can earlier, we can use that to find various other Pythagorean identities. And then we also have another standard.
Here for.
The Common Core. So now I'm going to play a short video here developed by our intern Judy Zhang for Statistics.
Hi everyone, this is Judy. I am an intern at Warframe for the summer of 2022. The goal of my internship is to develop step by step solutions in the statistics domain. So here is an example of the step by step solution for performing a two sample Wiltshire's t test. So when a user inputs a query for conducting a two sample Wiltshire's t test and clicks the step by step solution button, she will see a detailed step by step instruction on how to perform a two sample wilt cheese t test using the data she has entered. So this step by step solution first introduces the problem including the testing hypothesis. The user input data are shown here in this table. Following the instruction, there is a list of steps required to perform this two sample t test. The next few steps contain instructions on how to calculate the t score, the degrees of freedom, the tail probabilities, and the p value of the test. For each of these steps there is a hint that discusses the significance of the step and an explanation on how a value is derived by using appropriate steps formula and performing the calculation. The user can see the detail of these calculations by clicking the value inside the yellow box. For example, this shows the step by step detail for performing the calculation of the integral. The last step in the solution is to give a conclusion about the test Based on the calculations done above, a decision on whether the null hypothesis is rejected is given based on the input data. The user also has control over the directionality of the t test. The user can choose the direction of the t test from a drop down menu containing options to perform a two tailed t test, a left tailed t test or a right tailed t test. And here is an example of a right tailed t test. The structure of the test is very much like the two tailed test. Besides these two sample t test project, I have also worked on developing a step by step solution for the F test of equal variances which is another popular hypothesis test with similar steps, but it's used in a different scenario.
I'm going to play a video by our developer Carlo Andres who is going to be Talking about vector calculus in regards to the gradient function.
Hello everyone, I'm Carlo Ballisteos and I joined Wolf Alpha Mic team six months ago and since then I have been working on the step by step solution for Petronesis part. Today I'm happy to show the new future of this topic. So let's go for better analysis. Now there is a step by step solution for gradient in Cartesian chordinates. But what is the gradient? I will try to explain this in a way. The gradient is a vector constructed from the partial derivative of a scalar function. For example, if we have a function of three variables, then we will get a three dimensional vector with this form. Let me use this example to show how the gradient works. And if we have this function here, then we can calculate the gradient and plug the vectors along the domain and we will get this. Something useful using Mathematica is that we can project those arrows along the surface and then we will get this function. Something interesting about gradient is that the gradient is the maximum value abstraction of the directional derivative. That means that if you need to move along this surface you choose your gradient. I mean you choose one of these paths because they are optimal paths. Something interesting. I mean I have one curiosity about cogs and here when I was at the university, my teachers say that when the cogs spend a lot of time going up and down the hill at the end, they use one optimal path. That means that the coast use the graph. I don't know if this is true, but if you know something about it, please let me know. Great. Now let's see how the step by step grading works for it. Let me go to the website. And then. Yeah, great. For this query, this is the function from the sample. We can see the step by step solution and essentially the first step is the introduction. But the second step I think is the main step for the solution because here we give the definition for gradient and then you only need to calculate partial derivatives to construct the vector solution. As you can see here we can use. We can see the intermediate state using this button and we can see how calculate the partial derivative. This function works for queries like this. Let me change the function. We have one more coordinate.
Great.
You can see here, one second. Yeah, we can see the step by step solution. Again we have the step by step we have the definition for gradient in three cartesian coordinates and then we only need to calculate the partial library first with X, then with Y and C. Yeah, that's all from this function. And in the future the idea is.
Have.
The Step by step solution for divergence and for coral and at alternative coordinate system. So yeah, that's all from vector analysis. Part I would like to show in the next World Context Conference more a step by step solution for this topic for this subject. So thank you for hearing me. That's a bye bye.
So now Jack Heinrath will be talking about discrete mathematics and number three.
Thank you, Jordan. Yes. So we have also continued working on step by step solutions to discrete mathematics problems. This year, particularly in two areas we introduced a lot of new step by step functions. The first area is solutions to recurrence relations. And so recurrence relations are the discrete analog of differential equations. And we have had step by step solutions for these kinds of problems for many years, I believe since least 2015. And a first course in discrete mathematics will typically cover three to four techniques for solving linear finite order constant coefficient recurrences. We have so far implemented two, which I will talk about below, and these, these methods are typically or these recurrence relations are typically subdivided into two classes, homogeneous ones where the it can be written in the form of an equation equal to zero and non homogeneous equations where our recurrence relation is equal to some function independent of our unknown function F, where P is typically a constant polynomial or exponential function. And the currently implemented methods that we have are the characteristic polynomial and generating function solutions for homogeneous recurrences and the generating function solution for non homogeneous recurrences. Additional techniques that we're thinking of are for now probably just the eigenvalue method. There are more advanced techniques, but they aren't typically in the scope of a first course in discrete math. I say here that specifying boundary conditions for these problems will also be an option soon, but actually it's already working. Okay, so some examples, probably the most famous recurrence relation and the first one that students are introduced to is the Fibonacci equation. And we can now show how to find a solution to the Fibonacci equation using let's say the characteristic polynomial method, which is, I mean, I don't want to go into the details of this method. It basically uses techniques from operator theory. But a student doesn't need to know that they're just given a formula for a polynomial which they can construct given the recurrence relation. And then it's enough to find the zeros of this polynomial to jit. Here are the zeros with their multiplicity and then there's a sort of inversion formula where from these, from the zeros of this polynomial we can construct the fundamental solutions of our recurrence relation and then combining those in a linear fashion, we get the general solution to our recurrence relation, which in this case is this. But also WolframAlpha is clever enough to know that this can be further simplified to the sum of the Fibonacci equation, Fibonacci numbers and the Lucas numbers. This would be further reduced if we introduce boundary conditions. So let's look at an example with boundary conditions involved. And this is also an example of a non homogeneous recurrence relation. The number of steps required to solve the Tower of Hanoi problem. I don't. I think everybody here should be familiar with the Tower of Hanoi problem. It's basically a simple game. And yes, here we have this solution where this, the, this technique is a little bit more involved because it requires us to use generating functions, formal generating functions. The student would need to be able to manipulate those correctly and then also use a little bit of Taylor expansion, or at least differentiation to find a Taylor expansion for the closed form of the generating function. And this finally gives us, after substituting our boundary value, this gives us a solution to the Tower of Hanoi problem. Another area that we've been working on is elementary number theory. Here the steps that we implemented are somewhat simpler. We just implemented step by step solutions, step by step evaluations, I'm sorry, to various number theoretic functions which are typically introduced in a first course in analytic number theory or general number theory. I don't think these are evaluated, so I'll just evaluate them here. And these all follow a very similar structure. So to compute the Mobius function mu for a given input, we first remind the student that the definition of the Mobius mu function, which all of these functions are basically functions which tell us something about the prime numbered factorization of our number. And then so we remind the student of the definition of our function, we find the prime factorization of our number and then we just apply the definition to the prime factorization to find our solution. And the same goes for the Louisville lambda function. I will just quickly evaluate these and show these, but I won't go through them in details. Again, we have the definition, the prime factorization. Apply the definition and it's the same for the remaining three.
Yeah.
Here you can see we have again, definition, factorization, solution, definition, factorization, solution, and finally definition, factorization and solution. And we're thinking of adding more. We already had some. We had the Euler Totian function and sigma summatory functions implemented. We're thinking of expanding this to cover more and more of an analytic number theory curriculum. That's it for me. Thank you very much. And I believe I hand it over back to Jeremy.
Awesome. Thanks, Jack. So, as you can see, we have a lot of projects going on and this is not only the only domain in which we have step by step content being developed, we have physics and chemistry steps that are also being worked on presently and in an ongoing way. So it's an exciting thing to have so many folks on our team who can really be developing and putting out such, such a breadth of step by step content. So at this point I think it would be great to. We can take any questions if you'd like. I will also point you all to the, to the WolframAlpha website where you can see more examples and really sort of dive into the existing areas of step by step content that we have. This has really been one of the prime features of WolframAlpha. And as you can see, there's always more work to do as it goes in math and we're excited to be able to continue. So if there are particular things that you want to see that we do not yet have, it's always great to get recommendations and requests from folks as well so that we can prioritize that and get them in.
So, yeah, yeah.
Thank you all so much for coming. And if there are questions, we can, we can take those now. Yes, and I think that's a good question. So, yeah, the question of providing the justification for why you're doing things, is that sort of what you're getting at? So I think, and I would encourage anybody else on the team to also jump in if you'd like. I think the general approaches that we've been taking is that the hints. And I would encourage you, and we can look through some more examples if you'd like. But the hints are oftentimes really trying to get at that. Why. And prompting students with a, you know, is this a situation where you might apply this particular thing that you know about or is it getting. And I don't know, there's so many different areas. It's. It's hard to generalize a little bit. But I think that. And maybe what you're talking about would be addressed by having at the very outset of a problem, this is the strategy that we're doing, which is the approach that the chemistry developers have taken that at the beginning of the problem, instead of really having hints throughout, they say this is how we're going to approach this overarching problem. Yeah, And I think part of the reason we haven't done that for math is, you know, as you're going through a problem, maybe there is a general principle at the beginning, but oftentimes as you go through the process of solving a math problem, the general principles that you're using might change. Right. So if we just list that, if we just have a list of things at the beginning, it's not paired with where is that actually being applied and how does that fit into the overarching process? Yeah. Does that address things, feel like that interaction? Right. Yeah. Right. And I would also put in there that, when I would also put out there that as we have been fleshing out the breadth of content that we have covered in step by step functionalities, we're really also putting in the effort to, where applicable and where it fits, be able to do that, those intermediate steps as well. Right. So for somebody who's doing a calculus problem, you know, maybe some students who are doing calculus don't need to remember how to do a polynomial expansion, but some students might. So if that fits into the problem, we will put details around that so that if the student wants to see that, they can, they can open the details and see, oh, okay, right. This is how I do this polynomial expansion and then be able to continue on with the rest of the calculus problem. Right. So that we're trying to be able to provide content that meets students where they're at in terms of the difficulty of the problem at hand. That's, that's a good question. So the question is, I don't know if everyone could hear it. Essentially how do we determine the number of steps that we're going to be showing? Are the, are the steps that we're showing considered optimal by some metric? And I would say for the procedural sets of steps, like things like computing an arc length or, I don't know, to a certain extent, you know, some of, like the arithmetic that Anne Marie was showing, those essentially we know how many steps. Well, I guess the arithmetic we don't entirely know, but like, you know, there's a set procedure and you're going to go through until you're done. Right. And then we know that we're done. Yeah. On the flip side of things, when it go, when we get to looking at the rule based app, when we looked at the rule based steps programs, those, it does become a little bit more tricky to know, you know, because at that point essentially you would, you can either do just the procedure, sort of finding a fixed point by applying rules over and over and over again. But in order to really optimize it, we'd sort of be getting into Stephen multicomputation world of seeing where exactly in this large expression can we apply rules, which rules apply the best. And you end up with this big multi graph thing. And we have not implemented, you know, doing that. And I would also point out for the, particularly for the trigonometric simplications and expansions that Jordan was talking about. It's not always, you know, we have to delineate what is an expansion versus a reduction in trigonometry. In trigonometry. Right. And that's something that students deal with and oftentimes, I mean, I remember being in high school and college and doing trigonometric expansions or simplifications and finding myself going in a loop. Right. Because if you apply the wrong rule, you end up. You end up doing something that you undo again. Right. And we can take steps to try and avoid that happening. But yeah, for the most part, we do try to avoid that. If there are no other questions, I would encourage you to, you know, come talk to us. If you want to talk to it, talk to us about it more. And otherwise there are a few. There are some past talks as well. But there's also an office hour that all of math team are going to be at where the office hours for Wolfram Alpha Notebook Edition specifically. But we're happy to talk about any of the things that we've been talking about this week. So thank you all again so much for coming and hope you enjoy the rest of the conference.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






