Skip to content

Conversation

@aqjune-aws
Copy link
Contributor

This patch

  • Avoids recursive traversal of body of LFuncs in Factory during type checking. Instead, the bodys are typechecked separately.
  • Proves termination of LExpr.resolveAux. The above refactoring enabled this :)
  • And adds tiny well-formedness statements about type variables of LFunc. This includes a statement "concreteEval and body cannot coexist", which was briefly discussed in a closed space. Also, well-formedness related data structures are factored out to FactoryWF because it was getting larger.

The axioms clause is not removed yet in this pull request, since it seems to require quite a few updates to translation of Map related functions.

Issue #, if available:

Description of changes:

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

…on of LExpr.resolveAux

This patch

- Avoids recursive traversal of body of LFuncs in Factory during type checking. Instead, the bodys are typechecked separately.
- Proves termination of LExpr.resolveAux. The above refactoring enabled this :)
- And adds tiny well-formedness statements about type variables of LFunc.
@aqjune-aws aqjune-aws changed the title Reduce time complexity of type checking with Factory, prove termination of LExpr.resolveAux Reduce time complexity of type checking ops in Factory, prove termination of LExpr.resolveAux Feb 5, 2026
@aqjune-aws aqjune-aws marked this pull request as ready for review February 5, 2026 21:26
@aqjune-aws aqjune-aws requested a review from a team as a code owner February 5, 2026 21:27
@joscoh
Copy link
Contributor

joscoh commented Feb 6, 2026

I simplified a few of the Decidable instances for the WF proofs.

@aqjune-aws
Copy link
Contributor Author

Thanks, I should learn how to find appropriate Decidable instances too. :)

joscoh
joscoh previously approved these changes Feb 6, 2026
@aqjune-aws aqjune-aws added this pull request to the merge queue Feb 9, 2026
Merged via the queue into main with commit 3908b76 Feb 9, 2026
15 checks passed
@aqjune-aws aqjune-aws deleted the jlee/typechk branch February 9, 2026 22:29
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.

4 participants