In France we barely have intro-to-proof courses, but we ask for proofs in other courses.
Usually, each proof has little granularity in the grading, and I tend to avoid giving half the points which sends a mixed signal, so most of the time small proofs get either zero, one-third, two-third or full credit.
Basically I try to give one-third credit when the core argument is not present in a reasonable form, but some good idea is, without major issues; and two-third credit when the core argument is well written but there are minor, significant issues. Full credit is for clean, proper and correct reasoning with a level of details suited to the level of the course, and zero credit for everything else.
My most constant guidelines are :
- zero credit when there is a clear bluff (e.g. student cites a dozen properties and conclude one can apply some theorem: even if all hypotheses of the theorem belong to the cited properties, but not more prominently than irrelevant ones, I call a bluff),
- no more than one-third credit, and in some cases zero credit when a huge misconception or mistake, central to the course or previous courses, is present (e.g. "$A$ is not closed, therefore it is an open set" or "the function $f$ is not non-decreasing, thus it is non-increasing" -- here the English wording for monotonicity shows all its badness, and the same sentence looks far more egregious in French),
- no more than two-third credit if the writing is insufficient (e.g. computations not introduced by any word or assertions not clearly indicated whether they are being claimed, denied, or assumed),
- no more than two-third credit if there are insufficient justifications, that could be present in the student's mind but is not recalled in the paper (the flexibility depend on the course's level, e.g. failing to mention why a quantity that is used as denominator does not vanish); no more than one-third credit if they are clearly absent from the student's mind (e.g. divides by something that can vanish, without distinguishing cases).