Skip to content

Conversation

@mattam82
Copy link
Member

@mattam82 mattam82 commented Jul 8, 2022

This includes the invariant that fixpoint bodies start with a lambda in the well-formedness predicate on lambda-box terms. This is ensured by typing and maintained by erasure by adding a dummy lambda if the body naturally erases to tBox. Both malfunction and certicoq need this (recursive bindings must be values).

@mattam82 mattam82 merged commit 314186f into coq-8.14 Jul 8, 2022
mattam82 added a commit that referenced this pull request Sep 12, 2022
* Constructors as blocks improvement: they always have the right arity

* Include "isLambda" for fixpoint bodies in the ewellformed predicate.

* Derive an eliminator to reason on the evaluation relation when cstrs_as_blocks = true, preserving well-formedness
mattam82 added a commit that referenced this pull request Sep 13, 2022
* Constructors as blocks improvement: they always have the right arity

* Include "isLambda" for fixpoint bodies in the ewellformed predicate.

* Derive an eliminator to reason on the evaluation relation when cstrs_as_blocks = true, preserving well-formedness
@mattam82 mattam82 deleted the ewellformed-islambda branch March 24, 2023 15:19
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