now we can use this fact in proving the equality of our original formula here we gon ii= - ( ( ( + + = if you look at the left side and all the way over at the right side of this formula you can see the two things that we set out to prove were equal are indeed equal this concludes our proof by induction the meta-proof is in the formula above it is template that we could use to prove that the equality holds for to prove the equality holds for we needed to use the fact that the equality holds for this was our base case once we have proved that it holds for we could use that same formula to prove that the equality holds for mathematical induction doesn' require us to go through all the steps as long as we've created this meta-proof we have proved that the equality holds for all that' the power of induction making the pylist append efficient nowgoing back to our original problemwe wanted to find out how much time it takes to append items to pylist it turns outusing the append method in sect it will perform in ( time this is because the first time we called append we had to copy one element of the list the second time we needed to copy two elements the third time append was called we needed to copy three elements our proof in sect is that equals *( )/ the highest powered term in this formula is the term thereforethe append method in sect exhibits ( complexity this is not really good result the red curve in the graph of fig shows the actual results of how much time it takes to append , elements to pylist the line looks somewhat like the graph of (nn what this tells us is that if we were to draw complex program with say , graphics commands in itto add one more command to the sequence it would take around this is unacceptablewe may never draw anything that complexbut computer should be able to add one more graphic command quicker than thatin terms of big-oh notation we say that the append method is ( when gets largeprograms or functions with ( complexity are not very good you typically want to stay away from writing code that has this kind of computational complexity associated with it unless you are absolutely sure it will never be called on large data sizes one real-world example of this occurred few years ago tester was testing some code and placed cd in cd drive on this computer all the directories and file names on the cd were read into memory and sorted alphabetically the sorting algorithm that was used in that case had ( complexity this was ok because most cds put in this computer had relatively small number of directories and files on them howeveralong came one cd with literally hundreds of thousands of files this copy belongs to 'acha