Definition sieve_union (S₁ S₂ : sieve) : sieve. Proof. use make_sieve. - exact (λ x, S₁ x ∨ S₂ x). - abstract (intros x y p ; use factor_through_squash_hProp ; intros q ; induction q as [ q | q ] ; use hinhpr ; [ exact (inl (sieve_downwards_closed S₁ p q)) | exact (inr (sieve_downwards_closed S₂ p q)) ]). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.OrderTheory.Lattice.Lattice. Require Import UniMath.OrderTheory.Lattice.Bounded. Require Import UniMath.OrderTheory.Lattice.Distributive. Require Import UniMath.OrderTheory.Lattice.Heyting. Require Import UniMath.OrderTheory.Lattice.CompleteHeyting. Require Import UniMath.OrderTheory.Lattice.Examples.FromPartialOrder.