Definition subobject_classifier_partial_setoid : subobject_classifier (terminal_partial_setoid H). Proof. use make_subobject_classifier_cat. - exact omega_partial_setoid. - exact omega_partial_setoid_true. - intros X Y m. use make_iscontr. + simple refine (_ ,, _ ,, _). * exact (subobject_classifier_partial_setoid_map m). * exact (subobject_classifier_partial_setoid_comm m). * exact (is_pullback_subobject_classifier_partial_setoid m). + abstract (intros χ ; use subtypePath ; [ intro ; use isaproptotal2 ; [ intro ; apply isaprop_isPullback | intros ; apply homset_property ] | ] ; induction χ as [ χ [ p Hχ ] ] ; cbn ; exact (subobject_classifier_partial_setoid_map_unique m χ p Hχ)). Defined.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Monics. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.SubobjectClassifier.SubobjectClassifier. Require Import UniMath.CategoryTheory.Hyperdoctrines.Hyperdoctrine. Require Import UniMath.CategoryTheory.Hyperdoctrines.FirstOrderHyperdoctrine. Require Import UniMath.CategoryTheory.Hyperdoctrines.Tripos. Require Import UniMath.CategoryTheory.Hyperdoctrines.GenericPredicate. Require Import UniMath.CategoryTheory.Hyperdoctrines.PartialEqRels.PERs. Require Import UniMath.CategoryTheory.Hyperdoctrines.PartialEqRels.PERMorphisms. Require Import UniMath.CategoryTheory.Hyperdoctrines.PartialEqRels.PERCategory. Require Import UniMath.CategoryTheory.Hyperdoctrines.PartialEqRels.PERTerminal. Require Import UniMath.CategoryTheory.Hyperdoctrines.PartialEqRels.PERMonomorphisms.