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'.

**Given the linguistic baggage that the term *'bitch'* has in non-specialist areas, is there an alternative, polite term for a *'female dog'*?**

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