Skip to content

feat(CombinatoryLogic): SKI terms for Nat.sqrt, Nat.pair, and Nat.unpair#445

Draft
jessealama wants to merge 3 commits intoleanprover:mainfrom
jessealama:ski-nat-operations
Draft

feat(CombinatoryLogic): SKI terms for Nat.sqrt, Nat.pair, and Nat.unpair#445
jessealama wants to merge 3 commits intoleanprover:mainfrom
jessealama:ski-nat-operations

Conversation

@jessealama
Copy link
Contributor

Implement SKI combinator terms for Nat.sqrt, Nat.pair, and Nat.unpair with correctness proofs against Mathlib definitions.

Split out from #403 to make review easier.

Implement SKI combinator terms for three Mathlib numeric operations and
prove they compute the correct values on Church numerals:

- Sqrt / sqrt_correct: integer square root via root-finding
- NatPair / natPair_correct: Nat.pair via case split on a < b
- NatUnpairLeft / natUnpairLeft_correct: left projection of Nat.unpair
- NatUnpairRight / natUnpairRight_correct: right projection of Nat.unpair
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.

1 participant