As far as I understand, you don’t actually modify the objective function to minimize, but rather change the update rule (the lower rule basically is SGD for b, the upper now has the prox instead of “just updating” W as in SGD). Thus you would not need the gradient of prox.
I think they have code up, too, though I didn’t look at it in detail, but it seems vaguely consistent with the above interpretation:

  
      
      GitHub
  
  
    

Dejiao2018/GrOWL 51

GrOWL - Learning to share: simultaneous parameter tying and sparsification in deep learning


  
  
    
    
  
  


Best regards
Thomas