theorem add01 (a: nat): $ 0 + a = a $;
    
      
        | Step | Hyp | Ref | Expression | 
|---|
        
          | 1 |  | addeq2 | x = a -> 0 + x = 0 + a | 
        
          | 2 |  | id | x = a -> x = a | 
        
          | 3 | 1, 2 | eqeqd | x = a -> (0 + x = x <-> 0 + a = a) | 
        
          | 4 |  | addeq2 | x = 0 -> 0 + x = 0 + 0 | 
        
          | 5 |  | id | x = 0 -> x = 0 | 
        
          | 6 | 4, 5 | eqeqd | x = 0 -> (0 + x = x <-> 0 + 0 = 0) | 
        
          | 7 |  | addeq2 | x = y -> 0 + x = 0 + y | 
        
          | 8 |  | id | x = y -> x = y | 
        
          | 9 | 7, 8 | eqeqd | x = y -> (0 + x = x <-> 0 + y = y) | 
        
          | 10 |  | addeq2 | x = suc y -> 0 + x = 0 + suc y | 
        
          | 11 |  | id | x = suc y -> x = suc y | 
        
          | 12 | 10, 11 | eqeqd | x = suc y -> (0 + x = x <-> 0 + suc y = suc y) | 
        
          | 13 |  | add0 | 0 + 0 = 0 | 
        
          | 14 |  | addS | 0 + suc y = suc (0 + y) | 
        
          | 15 |  | suceq | 0 + y = y -> suc (0 + y) = suc y | 
        
          | 16 | 14, 15 | syl5eq | 0 + y = y -> 0 + suc y = suc y | 
        
          | 17 | 3, 6, 9, 12, 13, 16 | ind | 0 + a = a | 
      
    
    Axiom use
    axs_prop_calc
     (ax_1,
      ax_2,
      ax_3,
      ax_mp,
      itru),
    
axs_pred_calc
     (ax_gen,
      ax_4,
      ax_5,
      ax_6,
      ax_7,
      ax_10,
      ax_11,
      ax_12),
    
axs_peano
     (peano2,
      peano5,
      addeq,
      add0,
      addS)