proposition: Lemma oppreserving_first_isomorphism {w : SymbolType σ} (α : Operation A w) (β : Operation B w) (γ : Operation (A / cong_ker f) w) (C : ClosedUnderOp B (in_image_hom f) β) (P : OpPreserving f α β) (G : ComputeOpQuotient A (cong_ker f) α γ) : OpPreserving def_first_isomorphism γ (op_subalgebra B (in_image_hom f) β C).
proof: Proof. induction w. - apply path_sigma_hprop. generalize dependent γ. refine (Quotient_ind_hprop (cong_ker f t) _ _). intros x G. destruct P. apply (related_quotient_paths (cong_ker f t) _ _ (G tt)). - refine (Quotient_ind_hprop (cong_ker f t) _ _). intro x. apply (IHw (α x) (β (f t x)) (γ (class_of _ x))). + exact (P x). + intro a. exact (G (x,a)). Qed.
imports: HSet Colimits.Quotient Modalities.ReflectiveSubuniverse Classes.interfaces.canonical_names Classes.theory.ua_isomorphic Classes.theory.ua_subalgebra Classes.theory.ua_quotient_algebra