Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Primitive evaluation #1026

Closed
wants to merge 108 commits into from
Closed

Primitive evaluation #1026

wants to merge 108 commits into from

Conversation

mattam82
Copy link
Member

@mattam82 mattam82 commented Dec 4, 2023

This adds evaluation of primitive terms to all the evaluation relations and proves correctness of erasure and all the compilation phases, i.e. they preserve evaluation of primitives. We still do not give semantics to primitive operations though, only explicit values are handled. An array is evaluated when its default value and list of values are evaluated, cbv-style.

mrhaandi and others added 30 commits April 4, 2023 05:41
Close computational obligations with defined in erase_global_decls
improve strengthening to get cumul info on type
mattam82 and others added 29 commits November 15, 2023 13:47
Compile pipeline app: applications of eta-expanded terms are preserved by the erasure pipeline.
This introduces a judgment for normal forms (and neutrals), and a proof that the PCUICExpandLets transformation preserves normal forms. Also introduces a more positive `nisErasable` notion that characterizes non-erasable/relevant terms.
@mattam82 mattam82 closed this Dec 4, 2023
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.

5 participants