(O : Modality) (X : Type) : HasOChoice O X -> IsOProjective O X. Proof. intros chX A ? B ? f p S. assert (g : merely (forall x:X, hfiber p (f x))). - rapply chX. intro x. exact (center _). - strip_truncations; apply tr. exists (fun x:X => pr1 (g x)). intro x. exact (g x).2. Defined.
Require Import Basics Types. Require Import Truncations.Core Truncations.SeparatedTrunc. Require Import Modalities.Modality Modalities.Identity. Require Import Limits.Pullback.