Hello,
1 small product in the cart = 4.00
2 small products in the cart = 4.00 + 0.50
3 small products in the cart = 4.00 + 0.50 + 0.50
A solution can be to set the price to 3.50 ans set the "price per product" to 0.50
1 medium and 1 small product product = 6.00 + 0.50
1 medium product = 6.00
1 large product = 7.50
each product added to any category + 0.50
To do what you want, you can use the "Price per product" option of your shipping method, and then set different shipping prices per product through the "Shipping prices" tab of your product configuration page.