Melt the butter in a saucepan over medium heat. Add the onion, celery, carrot, and garlic; cook until the onion and garlic are translucent. Stir in the chicken broth, artichoke hearts, salt, and pepper and simmer 10 minutes. Transfer mixture to a blender and puree until smooth; return the mixture to the saucepan. Squeeze one lemon half into the pan. Place the other lemon half into the saucepan. Bring to a boil. Reduce heat to low and simmer another 10 minutes. Remove the lemon half from the pan and pour in the half and half; stir. Continue to simmer until thoroughly heated, about 10 minutes.