Commit 4057f22
proof(SafeColor): DISCHARGE WCAG-AA + WCAG-AAA threshold anchors via Refl (proven#90) (#105)
Ninth "overly cautious OWED" discharge of today's [proven#90 Phase
3](#90) campaign.
## What it does
\`\`\`idris
public export
wcagAAThreshold : (c1, c2 : RGB) -> meetsWCAG_AA c1 c2 = (contrastRatio
c1 c2 >= 4.5)
wcagAAThreshold _ _ = Refl
public export
wcagAAAThreshold : (c1, c2 : RGB) -> meetsWCAG_AAA c1 c2 =
(contrastRatio c1 c2 >= 7.0)
wcagAAAThreshold _ _ = Refl
\`\`\`
## Why it works
\`meetsWCAG_AA\` and \`meetsWCAG_AAA\` are \`public export\` with these
exact expressions as their bodies (SafeColor.idr L188-194). The LHS
unfolds directly to the RHS for \`Refl\` — no Double-comparison
reduction needed.
The OWED comments cited "Double-comparison opacity" — that blocker only
applies if you tried to REDUCE \`contrastRatio c1 c2 >= 4.5\` to a
concrete \`True\`/\`False\`. Here we don't reduce; we just state the
definitional equality between the wrapper and its body.
Refs #90
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent a6700dc commit 4057f22
1 file changed
Lines changed: 12 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
89 | 93 | | |
90 | | - | |
| 94 | + | |
91 | 95 | | |
| 96 | + | |
92 | 97 | | |
93 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
94 | 101 | | |
95 | | - | |
| 102 | + | |
96 | 103 | | |
| 104 | + | |
0 commit comments