Skip to content

Prove some remaining admitted lemmas in a slightly silly way#28

Merged
voiestad merged 1 commit into
mainfrom
rfc3339-proof-for-real
Mar 10, 2026
Merged

Prove some remaining admitted lemmas in a slightly silly way#28
voiestad merged 1 commit into
mainfrom
rfc3339-proof-for-real

Conversation

@aria-eide
Copy link
Copy Markdown
Collaborator

This more or less proves the remaining lemmas in Grammar.v, so that e.g. ISODateTimeToString is basically proven to be RFC3339 compliant. Yay!

The remaining lemmas were basically just of the form "an integer between 0 and 99 is a most two digits long." The proof is by exhaustion, which leads to a caveat: string_of_int_length_4, which is for integers between 0 and 9999, is still admitted. That's because the generated ten-thousand line proof took longer to compile than the rest of the project combined. But it does check, so the lemma is in fact correct (if you trust me). I can add this proof back if it is desirable to have.

@aria-eide aria-eide requested a review from voiestad March 10, 2026 09:51
Copy link
Copy Markdown
Member

@voiestad voiestad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me🐔
I think it's best to keep the string_of_int_length_4 admitted. No need to add 10k lines to the code base.

@voiestad voiestad merged commit e1bdde6 into main Mar 10, 2026
1 check passed
@voiestad voiestad deleted the rfc3339-proof-for-real branch March 10, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants