I'm not sure if this is the right site, but it seems appropriate.

I'm writing an example of constructing logic, and I need to differentiate between an adult female dog, an adult male dog and a puppy and am searching for polite terms.

Unfortunately, the word "bitch" has impolite connotations, so I'd rather not use it, but I'm not sure of any other terms for a female dog. Likewise, I don't know of a gendered term for a a male dog, apart from 'dog'.

For context - in the logic I'm describing, using is if the dog is young it is a puppy, otherwise if its female its an *term X*, or if its male is a *term Y*.