-
Notifications
You must be signed in to change notification settings - Fork 46
Core Expression metadata #1066
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
Draft
MikaelMayer
wants to merge
127
commits into
main2
Choose a base branch
from
issue-1065-extract-core-expression-metadata-from-pr
base: main2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Core Expression metadata #1066
Changes from all commits
Commits
Show all changes
127 commits
Select commit
Hold shift + click to select a range
d562e6f
feat(core): Change Core.ExpressionMetadata from Unit to SourceRange (…
MikaelMayer 75554c5
fix: Replace fragile repr string matching with AST pattern matching i…
MikaelMayer df191e1
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 2214b98
fix: Use DDM formatter for axiom extraction guard_msgs test
MikaelMayer cdc5568
fix: Propagate source range metadata instead of using SourceRange.none
MikaelMayer a5bae51
style: Remove stray blank line in match block
MikaelMayer faa5bfc
refactor: Address PR review nits — remove extra blank lines, extract …
MikaelMayer 35b7bdd
fix: Make SourceRange equality trivial to prevent metadata-sensitive …
MikaelMayer 1d366a5
merge: Resolve conflict with main after Laurel metadata removal
MikaelMayer 679c9cd
fix: Document or propagate SourceRange for all SourceRange.none occur…
MikaelMayer 262de85
style: Add group comment for semantic typeclass instances using Sourc…
MikaelMayer 877e5fc
fix: Update pyInterpret golden-file expectations for SourceRange meta…
MikaelMayer 199002a
feat: Add CI check for unsuppressed SourceRange.none usage
MikaelMayer 315d1d7
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer c2c2b02
style: Rename suppression markers to nosourcerange: with required exp…
MikaelMayer 229e024
fix: Use SourceRange.isNone instead of == default for source location…
MikaelMayer 23b0657
fix: Restore test_unsupported_config.expected golden file
MikaelMayer e1285c0
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 5587774
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 1c5cfab
ci: Retrigger CI after transient label-conflicts bot failure
MikaelMayer 21acdf1
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer d5d5e0d
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer cdda793
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer dbd7340
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer d7f9c91
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 1521c69
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer ce09d71
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer fad8a91
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 43a46d0
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 780972f
Fix SMTEncoderTests: use Strata.SourceRange.none instead of () for me…
MikaelMayer 31618de
Add Uri to ExpressionMetadata via ExprSourceLoc struct
MikaelMayer 933dea8
Address review: unify URI helpers, fix missing URI propagation
MikaelMayer db0bdf6
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 640527d
Fix guard_msgs: update SourceRange.eq_trivial to ExprSourceLoc.eq_tri…
MikaelMayer 5778a48
Preserve source location in Traceable.combine during expression evalu…
MikaelMayer 1cf5e73
Store all source locations in ExprSourceLoc.relatedLocs during combine
MikaelMayer 026c021
Fix dedup check in combine and ToExpr for ExprSourceLoc.relatedLocs
MikaelMayer 9a87891
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 91b2659
Extend check script to detect ExprSourceLoc.none and guard against re…
MikaelMayer dc8e381
Add wget retry flags to CI to handle transient GitHub 500 errors
MikaelMayer e63aa2b
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer b1dd19d
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer fdeb26e
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer ca1f082
Remove unsound axiom SourceRange.eq_trivial, use BEq + sound DecidableEq
MikaelMayer 100d56c
Remove unsound axioms, use standard BEq/DecidableEq for metadata
MikaelMayer a9abb8e
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 15b6e55
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 83da0e1
Add wget retry flags to ion-java download for CI resilience
MikaelMayer 42d0d3d
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 01598df
Fix CI: save lake cache before tests to prevent cascading cache-miss …
MikaelMayer b4c8ac1
Retry CI: trigger fresh cache generation after transient cache-miss f…
MikaelMayer afa4139
Replace ExprSourceLoc.none with provenance-carrying alternatives in t…
MikaelMayer 3dab19c
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer dcf8c3d
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 1c15802
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 96633bb
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer 2fcf38d
Propagate Python AST source positions to Core expressions via pyLoc h…
MikaelMayer b6e6b7d
Add nosourcerange suppression markers for legitimate ExprSourceLoc.no…
MikaelMayer 787ac54
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 8e9f72d
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer 3eec371
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 53b81c5
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer f3e9d26
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 63b20c4
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer 37255e2
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer b1e472a
Remove ExprSourceLoc.none: require explicit provenance for all synthe…
MikaelMayer 4ddfe14
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer a0f2855
Retry CI: trigger fresh run after transient cache-miss failure
MikaelMayer cb1b1bf
Add nosourcerange suppression comments to fix lint check
MikaelMayer 72d03c8
Make lint script comment stateless (remove historical reference)
MikaelMayer 6a8ded0
feat: introduce Provenance type to track AST node origins (#1139)
MikaelMayer 0d39d74
refactor: deduplicate metadata creation with shared MetaData.ofSource…
MikaelMayer beb77de
Merge remote-tracking branch 'origin/main' into issue-1139-sourcerang…
MikaelMayer 9a60e78
feat: complete Provenance migration — SMT translator, metadata, and F…
MikaelMayer 5e72a7e
refactor: deduplicate getFileRange via getProvenance, migrate remaini…
MikaelMayer 8197406
fix: erase existing provenance before setting call site file range
MikaelMayer 702c393
refactor: remove MetaDataElem.Value.fileRange variant, use .provenanc…
MikaelMayer 9f8c8e2
fix: handle missing file range in getNameFromMd without dbg_trace
MikaelMayer 67e77c1
fix: restore assert label format for synthesized provenance in getNam…
MikaelMayer c2f9fe1
refactor: address PR review - remove dead code, fix naming consistenc…
MikaelMayer 0571c6a
merge: resolve conflict with issue-1065-extract-core-expression-metad…
MikaelMayer a6d5001
refactor: address PR review - restore doc comment, refactor synthesiz…
MikaelMayer 7c438f6
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 192a43a
refactor: add canonical provenance constants, rename ann to smtProv
MikaelMayer 2755d9d
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer d292bfc
ci: retrigger CI after transient cache miss
MikaelMayer 336314e
refactor: replace synthesized origin strings with SynthesizedOrigin i…
MikaelMayer d59267e
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 297d61a
Merge remote-tracking branch 'origin/main' into issue-1139-sourcerang…
MikaelMayer 9801a67
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 0e8a827
fix: use ExprSourceLoc metadata in TerminationCheck instead of Unit
MikaelMayer c084fbf
refactor: address PR review - restore doc comment, refactor synthesiz…
MikaelMayer 7e0c150
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 034053a
Merge remote-tracking branch 'origin/main' into issue-1139-sourcerang…
MikaelMayer b1c4e47
Merge branch 'main' into issue-1065-extract-core-expression-metadata-…
MikaelMayer 5c28c0c
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer a71ad55
CI: add comment explaining cache save ordering
MikaelMayer fe66bcd
CI: remove if: always() from cache save (now before tests, broken cac…
MikaelMayer 4f128e4
CI: add explicit permissions to build_and_test_lean job
MikaelMayer 0fcdc25
Add PR template warning about repository split (#1166)
atomb 127b40b
Merge remote-tracking branch 'origin/main' into issue-1139-sourcerang…
MikaelMayer f43acb8
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 99b84e5
lake: build Strata lib as a test-driver dependency (#1138)
tautschnig c9210e8
Merge remote-tracking branch 'origin/main' into issue-1139-sourcerang…
MikaelMayer f42d2dd
Merge remote-tracking branch 'origin/issue-1139-sourcerange-none-and-…
MikaelMayer 8acaa4b
The small-step semantics of Imperative must have scoped var init, rem…
aqjune-aws a5d36ed
Support SMT string literals and common string ops in translateTerm (#…
tautschnig e669711
CI: grant actions:write to build_and_test_lean for cache save
MikaelMayer 50b0e12
feat: introduce Provenance type and migrate metadata from FileRange (…
MikaelMayer f7b1a82
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 97cfec2
ci: retrigger CI after transient cache miss
MikaelMayer 1d47569
Fix bug: ADT constructors do not change `Map` to `Array` when using u…
thanhnguyen-aws 75e806e
Core.formatProgram to produce round-trip-parseable output for all con…
MikaelMayer a66e9c9
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer 192b780
Abstract Solver Interface: Decouple Term Construction from SMT-LIB En…
MikaelMayer 6835d65
Fix #1146: require command_datatypes to be non-empty (#1155)
tautschnig 64e4c1f
ci: retrigger CI after transient cache miss
MikaelMayer e446a5b
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer d7a390d
ci: retrigger CI after transient cache miss
MikaelMayer f6d195a
Split StrataMain.lean into importable library and thin executable roo…
MikaelMayer 09c2e63
Merge remote-tracking branch 'origin/main' into issue-1065-extract-co…
MikaelMayer a424e47
Merge remote-tracking branch 'origin/main2' into issue-1065-extract-c…
MikaelMayer adefdac
Merge remote-tracking branch 'origin/main2' into issue-1065-extract-c…
MikaelMayer c1061d0
Merge remote-tracking branch 'origin/main2' into issue-1065-extract-c…
MikaelMayer 8defae4
Merge remote-tracking branch 'origin/main2' into issue-1065-extract-c…
MikaelMayer cbcde3e
Remove checkNoSourceRangeNone CI check (SourceRange.none removed upst…
MikaelMayer 2115df1
Merge remote-tracking branch 'origin/main2' into issue-1065-extract-c…
MikaelMayer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖🔍 This uses
beqIgnoringMetadatawhile the ANF encoder useseqModuloMeta(which callseraseMetadatathen==). Having two different metadata-ignoring comparison functions with slightly different semantics is a maintenance risk.beqIgnoringMetadatais O(n) structural recursion;eqModuloMetaallocates a new tree then compares. They should produce the same result, but having both invites divergence.Consider consolidating to one approach (preferably
beqIgnoringMetadatasince it avoids allocation).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖 Agreed that consolidating would be ideal.
eqModuloMetaexists because it has formal proofs about it (eqModuloMeta_true_implies_denote_eqinLExprDenoteEq.lean).beqIgnoringMetadatawas introduced in this PR for theScopes.leanuse case where allocation-free comparison matters (it is called in a hot loop during scope merging) and no proof obligations exist. Unifying them (e.g., provingbeqIgnoringMetadataequivalent toeqModuloMetaand switching the ANF encoder) is a valid follow-up but would touch the proof infrastructure and is out of scope here.