Skip to content
Snippets Groups Projects
Commit 64843223 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Add lemmas `disjoint_filter_complement` and `filter_union_complement` (analogous to maps).

parent ebcab097
No related branches found
No related tags found
No related merge requests found
...@@ -328,6 +328,10 @@ Section filter. ...@@ -328,6 +328,10 @@ Section filter.
Proof. set_solver. Qed. Proof. set_solver. Qed.
Lemma filter_union X Y : filter P (X Y) filter P X filter P Y. Lemma filter_union X Y : filter P (X Y) filter P X filter P Y.
Proof. set_solver. Qed. Proof. set_solver. Qed.
Lemma disjoint_filter_complement X : filter P X ## filter (λ x, ¬P x) X.
Proof. set_solver. Qed.
Lemma filter_union_complement X : filter P X filter (λ x, ¬P x) X X.
Proof. intros x. destruct (decide (P x)); set_solver. Qed.
Section leibniz_equiv. Section leibniz_equiv.
Context `{!LeibnizEquiv C}. Context `{!LeibnizEquiv C}.
...@@ -340,6 +344,8 @@ Section filter. ...@@ -340,6 +344,8 @@ Section filter.
Lemma filter_union_L X Y : filter P (X Y) = filter P X filter P Y. Lemma filter_union_L X Y : filter P (X Y) = filter P X filter P Y.
Proof. unfold_leibniz. apply filter_union. Qed. Proof. unfold_leibniz. apply filter_union. Qed.
Lemma filter_union_complement_L X Y : filter P X filter (λ x, ¬P x) X = X.
Proof. unfold_leibniz. apply filter_union_complement. Qed.
End leibniz_equiv. End leibniz_equiv.
End filter. End filter.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment