DISTINCT_SAMPLE_FLOOR

const val DISTINCT_SAMPLE_FLOOR: Int = 3

The least number of pairwise-distinct QuiltedConformanceSuite.samples the four laws need before any of them is a claim about the type rather than about one value.

Three, not two, because associativity is the law that pays for the third. A two-value list cannot spell an ordered triple of three different operands, and that triple is the whole content of (a ⊔ b) ⊔ c == a ⊔ (b ⊔ c): with only a and b available, every triple repeats an operand, and a bracketing that drops a contribution as soon as a third one arrives between the brackets is unreachable. Three-different-operands is the shape QuiltedConformanceSuite.samplesReAssertAfterRetirement exists to insist on, and its KDoc carries the measurement of what a list missing it costs.

Three is a floor, not a target. Clearing it says the laws compared something; it does not say they compared anything interesting, and every live binding returns more. Read QuiltedConformanceSuite.samplesMeetTheEvidenceFloor for the list of what clearing it does not buy.