Trim the artichokes, stripping them of all the tough inedible portions of their leaves. If you are working with baby artichokes, which I recommend, cut them lengthwise in half. If you are using the full-size ones, cut them into 4 pieces. As you trim each piece, drop it into a bowl of water acidulated with the juice of the lemon half. (You can prepare the artichokes up to this point several hours in advance. When ready to proceed with the cooking, drain the artichokes and rinse them in cold water to wash off the lemon from their soak.)
Choose a skillet wide enough to contain the artichokes in a single uncrowded layer. Put in the olive oil and garlic cloves and turn the heat on to medium-high. Cook the garlic to a light brown color, stirring from time to time. Remove the garlic from the pan, discard it, and put in the artichokes.
Cook the artichokes for 25 minutes or more, always at lively heat, until they are completely tender. Turn them over frequently, letting them brown all over. If they stick to the pan, as it is likely and even desirable for them to do, add 2–3 tbsp. of water and loosen them from the bottom using a wooden spoon or spatula. When done, add salt and pepper, turn them over once or twice, and take them off the heat.
Turn on the oven to 400°.
Use 1 tbsp. of the butter to smear the bottom of an oven-to-table baking dish, about 7" x 11" if rectangular, or its equivalent in other shapes. Spread the artichokes in the dish with any juices from the skillet. Sprinkle half the grated parmesan over them. Cover with the sliced mozzarella. Top with the remaining grated cheese and dot with the remaining 1 tbsp. butter, cut into small pieces.
When ready to eat, put the dish into the preheated oven and bake just until the mozzarella melts and becomes partly colored a light brown. Serve at once with crusty bread to sop up the delicious juices. Do not let the dish sit after baking, because as the mozzarella cools it contracts and becomes "stiff."