Firm, hard, solid are comparable chiefly as meaning having a texture or consistency that markedly resists deformation by external force.
Firm (opposed to loose, flabby ) suggests such closeness or compactness of texture or a consistency so heavy or substantial that the substance or material quickly returns to shape or is difficult to pull, distort, cut, or displace.
Hard (opposed to soft; (see also HARD 2 ) implies impenetrability or relatively complete resistance to pressure or tension but, unlike firm, hard rarely implies elasticity.
Solid (opposed to fluid ) implies such density and coherence in the mass as enable a thing to maintain a fixed form in spite of external deforming forces. As opposed to flimsy, the term implies a structure or construction that makes a thing sound, strong, or stable.
As opposed to hollow, it implies the absence of empty spaces within the structure or mass and, usually, the same or similar density and hardness of material throughout. In extended use firm implies stability, fixedness, or resolution.
Hard implies obduracy or lack of feeling.
Solid usually implies substantiality or genuineness, but it may imply absolute reliability or seriousness of purpose or unbroken continuity (as in time, group feeling, or opinion).