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
2 files
+ 3
13
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 2
12
@@ -185,21 +185,11 @@ Proof.
@@ -185,21 +185,11 @@ Proof.
+ iRight. iFrame. iPureIntro. by apply lft_dead_in_insert_false.
+ iRight. iFrame. iPureIntro. by apply lft_dead_in_insert_false.
Qed.
Qed.
(* TODO: remove once stdpp!562 is merged *)
Lemma lft_fresh κ κ' :
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 κ κ' :
i : positive, m : positive, (i < m)%positive (positive_to_lft m) κ' κ.
i : positive, m : positive, (i < m)%positive (positive_to_lft m) κ' κ.
Proof.
Proof.
unfold meet, lft_intersect.
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.
exists (i + 1)%positive.
intros k Hik Heq. subst κ.
intros k Hik Heq. subst κ.
ospecialize (Ha k _ _); simpl in *; [ | lia..].
ospecialize (Ha k _ _); simpl in *; [ | lia..].
Loading