#[tag:trait-validity]

**A "trait" is a characteristic or proof that your output/submission must follow.**  Example traits include:

- Your output must be palindromic
- Your submission must be bijective: (there is one output for each input, and vice versa)

"Validity" means that **the check for whether a submission is acceptable is completely based on these traits.  There should be multiple ways for people to fulfill these traits.**

This does *not* include output that is based on random values.  For example, "You must output a number from 1 to N with a uniform distribution".  This technically allows a variety of answers, but *if there's only 1 output if the RNG was an input into the function*, then the tag doesn't apply.

`Trait` isn't really a common word around here.  I understand that.  However, I don't think we've ever really talked about these things before, so we need a new term.