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
1 merge request!274Make filter lemmas for maps and sets consistent + add cross split property for maps
......@@ -328,6 +328,10 @@ Section filter.
Proof. set_solver. Qed.
Lemma filter_union X Y : filter P (X Y) filter P X filter P Y.
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.
Context `{!LeibnizEquiv C}.
......@@ -340,6 +344,8 @@ Section filter.
Lemma filter_union_L X Y : filter P (X Y) = filter P X filter P Y.
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 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