From 590f19bb5a9a8b74726771f82df5f65c0702b10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lennard=20G=C3=A4her?= <l.gaeher@posteo.de> Date: Fri, 30 Aug 2024 16:22:38 +0200 Subject: [PATCH] adjust name + use new stdpp lemma --- lifetime/lifetime_sig.v | 2 +- lifetime/model/creation.v | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/lifetime/lifetime_sig.v b/lifetime/lifetime_sig.v index 241b2b4b..343976ac 100644 --- a/lifetime/lifetime_sig.v +++ b/lifetime/lifetime_sig.v @@ -122,7 +122,7 @@ Module Type lifetime_sig. such that [m ⊓ κ'] is syntactically different from [κ]. This is useful in conjunction with [lft_create_strong] to generate fresh lifetimes when using lifetimes as keys to index into a map. *) - Parameter lft_fresh_strong : ∀ κ κ', ∃ i : positive, + Parameter lft_fresh : ∀ κ κ', ∃ i : positive, ∀ m : positive, (i < m)%positive → (positive_to_lft m) ⊓ κ' ≠ κ. Parameter bor_create : ∀ E κ P, diff --git a/lifetime/model/creation.v b/lifetime/model/creation.v index 46c32bbd..5eccf4b9 100644 --- a/lifetime/model/creation.v +++ b/lifetime/model/creation.v @@ -185,21 +185,11 @@ Proof. + iRight. iFrame. iPureIntro. by apply lft_dead_in_insert_false. Qed. -(* TODO: remove once stdpp!562 is merged *) -Lemma lower_bound_exists `{FinSet A C} R `{!Transitive R, - ∀ x y, Decision (R x y)} `{!Inhabited A} (X : C) : - ∃ x, minimal R x X. -Proof. - destruct (set_choose_or_empty X) as [ (y & Ha) | Hne]. - - edestruct (minimal_exists R X) as (x & Hel & Hmin); first set_solver. - exists x. done. - - exists inhabitant. intros y Hel. set_solver. -Qed. -Lemma lft_fresh_strong κ κ' : +Lemma lft_fresh κ κ' : ∃ i : positive, ∀ m : positive, (i < m)%positive → (positive_to_lft m) ⊓ κ' ≠ κ. Proof. unfold meet, lft_intersect. - destruct (lower_bound_exists (flip Pos.le) (dom κ)) as (i & Ha). + destruct (minimal_exists (flip Pos.le) (dom κ)) as (i & Ha). exists (i + 1)%positive. intros k Hik Heq. subst κ. ospecialize (Ha k _ _); simpl in *; [ | lia..]. -- GitLab