| Step | Hyp | Ref | Expression | 
        
          | 1 | 
           | 
          peano2 | 
          suc (shl (upto n) a + upto a) = suc (upto (n + a)) <-> shl (upto n) a + upto a = upto (n + a)  | 
        
        
          | 2 | 
           | 
          eqtr3 | 
          shl (upto n) a + suc (upto a) = suc (shl (upto n) a + upto a) ->
  shl (upto n) a + suc (upto a) = suc (upto (n + a)) ->
  suc (shl (upto n) a + upto a) = suc (upto (n + a))  | 
        
        
          | 3 | 
           | 
          addS2 | 
          shl (upto n) a + suc (upto a) = suc (shl (upto n) a + upto a)  | 
        
        
          | 4 | 
          2, 3 | 
          ax_mp | 
          shl (upto n) a + suc (upto a) = suc (upto (n + a)) -> suc (shl (upto n) a + upto a) = suc (upto (n + a))  | 
        
        
          | 5 | 
           | 
          eqtr4 | 
          shl (upto n) a + suc (upto a) = shl (upto n) a + 2 ^ a -> suc (upto (n + a)) = shl (upto n) a + 2 ^ a -> shl (upto n) a + suc (upto a) = suc (upto (n + a))  | 
        
        
          | 6 | 
           | 
          addeq2 | 
          suc (upto a) = 2 ^ a -> shl (upto n) a + suc (upto a) = shl (upto n) a + 2 ^ a  | 
        
        
          | 7 | 
           | 
          sucupto | 
          suc (upto a) = 2 ^ a  | 
        
        
          | 8 | 
          6, 7 | 
          ax_mp | 
          shl (upto n) a + suc (upto a) = shl (upto n) a + 2 ^ a  | 
        
        
          | 9 | 
          5, 8 | 
          ax_mp | 
          suc (upto (n + a)) = shl (upto n) a + 2 ^ a -> shl (upto n) a + suc (upto a) = suc (upto (n + a))  | 
        
        
          | 10 | 
           | 
          eqtr4 | 
          suc (upto (n + a)) = 2 ^ (n + a) -> shl (upto n) a + 2 ^ a = 2 ^ (n + a) -> suc (upto (n + a)) = shl (upto n) a + 2 ^ a  | 
        
        
          | 11 | 
           | 
          sucupto | 
          suc (upto (n + a)) = 2 ^ (n + a)  | 
        
        
          | 12 | 
          10, 11 | 
          ax_mp | 
          shl (upto n) a + 2 ^ a = 2 ^ (n + a) -> suc (upto (n + a)) = shl (upto n) a + 2 ^ a  | 
        
        
          | 13 | 
           | 
          eqtr3 | 
          suc (upto n) * 2 ^ a = shl (upto n) a + 2 ^ a -> suc (upto n) * 2 ^ a = 2 ^ (n + a) -> shl (upto n) a + 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 14 | 
           | 
          mulS1 | 
          suc (upto n) * 2 ^ a = upto n * 2 ^ a + 2 ^ a  | 
        
        
          | 15 | 
          14 | 
          conv shl | 
          suc (upto n) * 2 ^ a = shl (upto n) a + 2 ^ a  | 
        
        
          | 16 | 
          13, 15 | 
          ax_mp | 
          suc (upto n) * 2 ^ a = 2 ^ (n + a) -> shl (upto n) a + 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 17 | 
           | 
          eqtr4 | 
          suc (upto n) * 2 ^ a = 2 ^ n * 2 ^ a -> 2 ^ (n + a) = 2 ^ n * 2 ^ a -> suc (upto n) * 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 18 | 
           | 
          muleq1 | 
          suc (upto n) = 2 ^ n -> suc (upto n) * 2 ^ a = 2 ^ n * 2 ^ a  | 
        
        
          | 19 | 
           | 
          sucupto | 
          suc (upto n) = 2 ^ n  | 
        
        
          | 20 | 
          18, 19 | 
          ax_mp | 
          suc (upto n) * 2 ^ a = 2 ^ n * 2 ^ a  | 
        
        
          | 21 | 
          17, 20 | 
          ax_mp | 
          2 ^ (n + a) = 2 ^ n * 2 ^ a -> suc (upto n) * 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 22 | 
           | 
          powadd | 
          2 ^ (n + a) = 2 ^ n * 2 ^ a  | 
        
        
          | 23 | 
          21, 22 | 
          ax_mp | 
          suc (upto n) * 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 24 | 
          16, 23 | 
          ax_mp | 
          shl (upto n) a + 2 ^ a = 2 ^ (n + a)  | 
        
        
          | 25 | 
          12, 24 | 
          ax_mp | 
          suc (upto (n + a)) = shl (upto n) a + 2 ^ a  | 
        
        
          | 26 | 
          9, 25 | 
          ax_mp | 
          shl (upto n) a + suc (upto a) = suc (upto (n + a))  | 
        
        
          | 27 | 
          4, 26 | 
          ax_mp | 
          suc (shl (upto n) a + upto a) = suc (upto (n + a))  | 
        
        
          | 28 | 
          1, 27 | 
          mpbi | 
          shl (upto n) a + upto a = upto (n + a)  |