theorem mulne0 (a b: nat): $ a * b != 0 <-> a != 0 /\ b != 0 $;
    
      
        | Step | Hyp | Ref | Expression | 
|---|
        
          | 1 |  | bitr3 | (0 < a * b <-> a * b != 0) -> (0 < a * b <-> a != 0 /\ b != 0) -> (a * b != 0 <-> a != 0 /\ b != 0) | 
        
          | 2 |  | lt01 | 0 < a * b <-> a * b != 0 | 
        
          | 3 | 1, 2 | ax_mp | (0 < a * b <-> a != 0 /\ b != 0) -> (a * b != 0 <-> a != 0 /\ b != 0) | 
        
          | 4 |  | bitr | (0 < a * b <-> 0 < a /\ 0 < b) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0) -> (0 < a * b <-> a != 0 /\ b != 0) | 
        
          | 5 |  | mulpos | 0 < a * b <-> 0 < a /\ 0 < b | 
        
          | 6 | 4, 5 | ax_mp | (0 < a /\ 0 < b <-> a != 0 /\ b != 0) -> (0 < a * b <-> a != 0 /\ b != 0) | 
        
          | 7 |  | aneq | (0 < a <-> a != 0) -> (0 < b <-> b != 0) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0) | 
        
          | 8 |  | lt01 | 0 < a <-> a != 0 | 
        
          | 9 | 7, 8 | ax_mp | (0 < b <-> b != 0) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0) | 
        
          | 10 |  | lt01 | 0 < b <-> b != 0 | 
        
          | 11 | 9, 10 | ax_mp | 0 < a /\ 0 < b <-> a != 0 /\ b != 0 | 
        
          | 12 | 6, 11 | ax_mp | 0 < a * b <-> a != 0 /\ b != 0 | 
        
          | 13 | 3, 12 | ax_mp | a * b != 0 <-> a != 0 /\ b != 0 | 
      
    
    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
     (peano1,
      peano2,
      peano5,
      addeq,
      muleq,
      add0,
      addS,
      mul0,
      mulS)