Skip to content
Snippets Groups Projects

Add lemmas used by RefinedRust

Merged Lennard Gäher requested to merge ci/lennard/refinedrust into master
2 unresolved threads

This MR adds lemmas that RefinedRust uses in its model of lifetime contexts.

Since the lifetime logic is now a separate opam package, this would allow us to use that package instead of maintaining a fork of lambda-rust.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • 117 118 lft_ctx ={E}=∗
    118 119 p : positive, let κ := positive_to_lft p in P p
    119 120 (1).[κ] ((1).[κ] ={lftN userE}[userE]▷=∗ [κ]).
    121 Parameter lft_fresh_strong : κ κ', i : positive, m : positive, (i < m)%positive (positive_to_lft m) κ' κ.
  • Ralf Jung
  • added 1 commit

    Compare with previous version

  • Lennard Gäher mentioned in merge request stdpp!562 (merged)

    mentioned in merge request stdpp!562 (merged)

  • added 1 commit

    Compare with previous version

  • Ralf Jung
    Ralf Jung @jung started a thread on the diff
  • 118 118 lft_ctx ={E}=∗
    119 119 p : positive, let κ := positive_to_lft p in P p
    120 120 (1).[κ] ((1).[κ] ={lftN userE}[userE]▷=∗ [κ]).
    121 Parameter lft_fresh_strong : κ κ', i : positive, m : positive, (i < m)%positive (positive_to_lft m) κ' κ.
    121 (** Given two lifetimes [κ] and [κ'], find a lower bound on atomic lifetimes [m]
    122 such that [m ⊓ κ'] is syntactically different from [κ].
    123 This is useful in conjunction with [lft_create_strong] to generate
    124 fresh lifetimes when using lifetimes as keys to index into a map. *)
    125 Parameter lft_fresh_strong : κ κ', i : positive,
    126 m : positive, (i < m)%positive (positive_to_lft m) κ' κ.
    • Why is this called "strong"? Usually the "strong" lemmas also have a "weak" variant (e.g. lft_create, which doesn't have a P parameter).

    • I named it like that to create an association with lft_create_strong, since it's mostly useful in conjunction with that, but I agree it breaks the usual naming scheme. I've renamed it to lft_fresh.

    • Please register or sign in to reply
  • Lennard Gäher added 8 commits

    added 8 commits

    Compare with previous version

  • Ralf Jung mentioned in commit 72a1c9c3

    mentioned in commit 72a1c9c3

  • merged

  • Great, thank you!

  • Lennard Gäher mentioned in merge request !39 (merged)

    mentioned in merge request !39 (merged)

  • Please register or sign in to reply
    Loading