Skip to content

feat(Boole): add choose function declaration operator#4

Open
kondylidou wants to merge 1 commit into
strata-org:mainfrom
kondylidou:pr/choose-operator
Open

feat(Boole): add choose function declaration operator#4
kondylidou wants to merge 1 commit into
strata-org:mainfrom
kondylidou:pr/choose-operator

Conversation

@kondylidou

Copy link
Copy Markdown
Contributor

Summary

  • Adds command_choosefndef: function f(params) : R := ε z . pred(z, params) declares an uninterpreted function plus a 3-forall axiom ∀ params, ∀ z, z = f(params) → pred(z, params)
  • Normalises choose-assign syntax to use ε with dot separator (both . and :: accepted)
  • Updates choose_operator.lean tests to use the new syntax and adds choose-function test cases

Dependencies

Requires strata-org/Strata#pr/choose-elab to land first (DDM elaborator support).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Introduces `command_choosefndef` — `function f(params) : R := ε z . pred(z, params)` —
which emits an uninterpreted function declaration plus a 3-forall axiom
∀ params, ∀ z, z = f(params) → pred(z, params). Also normalises choose-assign
syntax to use ε with dot separator.

Depends on: strata-org/Strata#pr/choose-elab

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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